Main.cpp 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586
  1. #include <iostream>
  2. #include <Fenster.h>
  3. #include <Bildschirm.h>
  4. #include <RenderThread.h>
  5. #include <KSGScript.h>
  6. #include <MausEreignis.h>
  7. #include <TastaturEreignis.h>
  8. #include <Schrift.h>
  9. #include <DateiSystem.h>
  10. #include <time.h>
  11. #include <Textfeld.h>
  12. #include <Datei.h>
  13. #include <M2Datei.h>
  14. #include <Model2D.h>
  15. #include <Bild.h>
  16. #include <Textur2D.h>
  17. #include <Globals.h>
  18. #include <DLLRegister.h>
  19. #include <RenderThread.h>
  20. using namespace Framework;
  21. using namespace KSGScript;
  22. /*
  23. class Obj : public Zeichnung
  24. {
  25. private:
  26. Model2D mdl;
  27. Model2D mdlA;
  28. Model2D mdlB;
  29. Punkt maus;
  30. Punkt mausAlt;
  31. Vertex hp;
  32. Vertex speed;
  33. Textur2D txt;
  34. float rot;
  35. public:
  36. Obj()
  37. {
  38. M2Datei d;
  39. d.setPfad( "ship.m2" );
  40. d.leseDaten();
  41. Model2DData *m = d.ladeModel( "ship" );
  42. mdl.setModel( m );
  43. mdl.setStyle( Model2D::Style::Mesh | Model2D::Style::Textur | Model2D::Style::Sichtbar );
  44. mdl.setFarbe( 0xFFFFFFFF );
  45. mdl.setPosition( 150, 150 );
  46. mdlA.setStyle( Model2D::Style::Mesh | Model2D::Style::Textur );
  47. mdlA.setFarbe( 0xFFFFFFFF );
  48. mdlA.setPosition( 50, 50 );
  49. mdlB.setStyle( Model2D::Style::Mesh | Model2D::Style::Textur );
  50. mdlB.setFarbe( 0xFFFFFFFF );
  51. mdlB.setPosition( 250, 50 );
  52. hp = Vertex( 0, 0 );
  53. mausAlt = Punkt( 0, 0 );
  54. maus = Punkt( 0, 0 );
  55. LTDBDatei td;
  56. td.setDatei( new Text( "ship.ltdb" ) );
  57. td.leseDaten( 0 );
  58. Bild *b = td.laden( 0, new Text( "a.png" ) );
  59. txt.setTexturZ( b );
  60. mdl.setTextur( txt.getThis(), "ship" );
  61. }
  62. ~Obj()
  63. {}
  64. void doPublicMausEreignis( MausEreignis &me ) override
  65. {
  66. lockZeichnung();
  67. maus.x = me.mx;
  68. maus.y = me.my;
  69. if( me.id == ME_RLinks )
  70. {
  71. mausAlt.x = me.mx;
  72. mausAlt.y = me.my;
  73. }
  74. hp = Vertex( 0, 0 );
  75. speed = Vertex( 0, 0 );
  76. if( mdl.zModel()->calcHitPoint( mausAlt - Vertex( 150, 150 ), maus - mausAlt, "ship", hp, speed, rot ) )
  77. {
  78. if( me.id == ME_RRechts )
  79. {
  80. Polygon2D a;
  81. Polygon2D b;
  82. Punkt pa;
  83. Punkt pb;
  84. mdl.zModel()->split( mausAlt - Vertex( 150, 150 ), maus - mausAlt, "ship", a, b, pa, pb, []()
  85. {
  86. return rand() / (double)RAND_MAX;
  87. } );
  88. Array< Polygon2D > *aa = new Array< Polygon2D >();
  89. aa->add( a );
  90. Model2DData *ad = new Model2DData();
  91. ad->erstelleModell( aa );
  92. Array< Polygon2D > *ba = new Array< Polygon2D >();
  93. ba->add( b );
  94. Model2DData *bd = new Model2DData();
  95. bd->erstelleModell( ba );
  96. mdlA.setModel( ad );
  97. mdlB.setModel( bd );
  98. mdlA.setTextur( txt.getThis() );
  99. mdlB.setTextur( txt.getThis() );
  100. mdlA.addStyle( Model2D::Style::Sichtbar );
  101. mdlB.addStyle( Model2D::Style::Sichtbar );
  102. }
  103. }
  104. unlockZeichnung();
  105. }
  106. bool tick( double t ) override
  107. {
  108. return 1;
  109. }
  110. void render( Bild &bild ) override
  111. {
  112. lockZeichnung();
  113. mdl.render( bild );
  114. mdlA.render( bild );
  115. mdlB.render( bild );
  116. bild.fillCircle( maus.x, maus.y, 1, 0xFFFF0000 );
  117. bild.drawLinie( mausAlt, maus, 0xFF00FF00 );
  118. bild.fillCircle( hp.x + 150, hp.y + 150, 1, 0xFF0000FF );
  119. bild.drawLinie( Punkt( 150, 150 ), speed + Punkt( 150, 150 ), 0xFF00FF00 );
  120. for( int i = 1; i < 10; i++ )
  121. {
  122. Vertex pos = hp + ( maus - mausAlt ) * i + Vertex( 150, 150 );
  123. Vertex pos2 = hp + ( maus - mausAlt ) * ( i - 1 ) + Vertex( 150, 150 );
  124. bild.drawLinie( pos, pos2, 0xFFFF0000 );
  125. bild.fillCircle( pos.x, pos.y, 1, 0xFF00FFFF );
  126. }
  127. unlockZeichnung();
  128. }
  129. };
  130. KSGScriptEditor *obj;
  131. int kamera2DTest();
  132. int rotationTest();
  133. */
  134. void FClose( void *p, void *zF )
  135. {
  136. StopNachrichtenSchleife( ( (WFenster *)zF )->getFensterHandle() );
  137. }
  138. typedef bool( *Update )( char, char, char, char, int * );
  139. int main()
  140. {
  141. initFramework();
  142. Datei d;
  143. d.setDatei( "data.map" );
  144. d.open( Datei::Style::schreiben );
  145. int i = 2000;
  146. d.schreibe( (char *)& i, 4 ); // width
  147. d.schreibe( (char *)& i, 4 ); // height
  148. //team 1
  149. i = 0;
  150. for( int j = 0; j < 3; j++ )
  151. {
  152. d.schreibe( (char *)& i, 4 );
  153. d.schreibe( (char *)& i, 4 );
  154. }
  155. // spieler
  156. for( int j = 0; j < 9; j++ )
  157. {
  158. i = j * 100 + 50;
  159. d.schreibe( (char *)& i, 4 );
  160. d.schreibe( (char *)& i, 4 );
  161. }
  162. i = 2;
  163. d.schreibe( (char *)& i, 4 ); // barieren
  164. i = 1000;
  165. d.schreibe( (char *)& i, 4 );
  166. d.schreibe( (char *)& i, 4 );
  167. i = 267;
  168. d.schreibe( (char *)& i, 4 );
  169. i = 20;
  170. d.schreibe( (char *)& i, 4 );
  171. i = 0x1 | 0x40;
  172. d.schreibe( (char *)& i, 4 );
  173. i = 0;
  174. d.schreibe( (char *)& i, 4 );
  175. i = 10;
  176. d.schreibe( (char *)& i, 4 );
  177. i = 0;
  178. d.schreibe( (char *)& i, 4 );
  179. i = 500;
  180. d.schreibe( (char *)& i, 4 );
  181. d.schreibe( (char *)& i, 4 );
  182. i = 20;
  183. d.schreibe( (char *)& i, 4 );
  184. i = 267;
  185. d.schreibe( (char *)& i, 4 );
  186. i = 0x2 | 0x40;
  187. d.schreibe( (char *)& i, 4 );
  188. i = 500;
  189. d.schreibe( (char *)& i, 4 );
  190. i = 0;
  191. d.schreibe( (char *)& i, 4 );
  192. i = -1;
  193. d.schreibe( (char *)& i, 4 );
  194. //basen
  195. i = 1;
  196. d.schreibe( (char *)& i, 4 );
  197. i = 200;
  198. d.schreibe( (char *)& i, 4 );
  199. d.schreibe( (char *)& i, 4 );
  200. i = 50;
  201. d.schreibe( (char *)& i, 4 );
  202. d.schreibe( (char *)& i, 4 );
  203. i = 10;
  204. d.schreibe( (char *)& i, 4 );
  205. i = -1;
  206. d.schreibe( (char *)& i, 4 );
  207. // drops
  208. i = 1;
  209. d.schreibe( (char *)& i, 4 );
  210. i = 300;
  211. d.schreibe( (char *)& i, 4 );
  212. d.schreibe( (char *)& i, 4 );
  213. i = 500;
  214. d.schreibe( (char *)& i, 4 );
  215. d.schreibe( (char *)& i, 4 );
  216. i = 30;
  217. d.schreibe( (char *)& i, 4 );
  218. i = 2;
  219. d.schreibe( (char *)& i, 4 );
  220. float f = 1 / 18.f;
  221. for( int j = 0; j < 18; j++ )
  222. d.schreibe( (char *)& f, 4 );
  223. char c = (char)textLength( "name" );
  224. d.schreibe( &c, 1 );
  225. d.schreibe( "name", (int)c );
  226. // schalter
  227. i = 1;
  228. d.schreibe( (char *)& i, 4 );
  229. i = 250;
  230. d.schreibe( (char *)& i, 4 );
  231. d.schreibe( (char *)& i, 4 );
  232. i = 10;
  233. d.schreibe( (char *)& i, 4 );
  234. d.schreibe( (char *)& i, 4 );
  235. c = 1;
  236. d.schreibe( &c, 1 );
  237. // schienen
  238. i = 1;
  239. d.schreibe( (char *)& i, 4 );
  240. i = 500;
  241. d.schreibe( (char *)& i, 4 );
  242. d.schreibe( (char *)& i, 4 );
  243. i = 20;
  244. d.schreibe( (char *)& i, 4 );
  245. i = 767;
  246. d.schreibe( (char *)& i, 4 );
  247. // timer
  248. i = 1;
  249. d.schreibe( (char *)& i, 4 );
  250. i = 700;
  251. d.schreibe( (char *)& i, 4 );
  252. i = 50;
  253. d.schreibe( (char *)& i, 4 );
  254. i = 600;
  255. d.schreibe( (char *)& i, 4 );
  256. c = 1;
  257. d.schreibe( &c, 1 );
  258. c = 0;
  259. d.schreibe( &c, 1 );
  260. c = 1;
  261. d.schreibe( &c, 1 );
  262. i = 0xFFFF0000;
  263. d.schreibe( (char *)& i, 4 );
  264. c = (char)textLength( "spiel ende" );
  265. d.schreibe( &c, 1 );
  266. d.schreibe( "spiel ende", (int)c );
  267. // tunnel
  268. i = 1;
  269. d.schreibe( (char *)& i, 4 );
  270. i = 500;
  271. d.schreibe( (char *)& i, 4 );
  272. i = 50;
  273. d.schreibe( (char *)& i, 4 );
  274. i = 30;
  275. d.schreibe( (char *)& i, 4 );
  276. d.schreibe( (char *)& i, 4 );
  277. i = 600;
  278. d.schreibe( (char *)& i, 4 );
  279. d.schreibe( (char *)& i, 4 );
  280. c = 1;
  281. d.schreibe( &c, 1 );
  282. // umlenkungen
  283. i = 1;
  284. d.schreibe( (char *)& i, 4 );
  285. i = 300;
  286. d.schreibe( (char *)& i, 4 );
  287. i = 50;
  288. d.schreibe( (char *)& i, 4 );
  289. i = 15;
  290. d.schreibe( (char *)& i, 4 );
  291. d.schreibe( (char *)& i, 4 );
  292. c = 2;
  293. d.schreibe( &c, 1 );
  294. i = 10;
  295. d.schreibe( (char *)& i, 4 );
  296. c = 1;
  297. d.schreibe( &c, 1 );
  298. d.schreibe( &c, 1 );
  299. // trigger
  300. i = 3;
  301. d.schreibe( (char *)& i, 4 );
  302. c = (char)textLength( "base team" );
  303. d.schreibe( &c, 1 );
  304. d.schreibe( "base team", (int)c );
  305. i = 1;
  306. d.schreibe( (char *)&i, 4 );
  307. i = 0;
  308. d.schreibe( (char *)&i, 4 );
  309. i = 1;
  310. d.schreibe( (char *)&i, 4 );
  311. i = 7; // schalter aktiviert
  312. d.schreibe( (char *)&i, 4 );
  313. // base start team change
  314. i = 10;
  315. d.schreibe( (char *)&i, 4 );
  316. c = 2;
  317. d.schreibe( &c, 1 );
  318. i = 155; // team von spieler
  319. d.schreibe( (char *)&i, 4 );
  320. c = 1;
  321. d.schreibe( &c, 1 );
  322. i = 149; // spieler zuletzt schalter aktiviert
  323. d.schreibe( (char *)&i, 4 );
  324. c = 0;
  325. d.schreibe( &c, 1 );
  326. i = 11; // zufällige base
  327. d.schreibe( (char *)&i, 4 );
  328. c = 0;
  329. d.schreibe( &c, 1 );
  330. c = (char)textLength( "spiel ende" );
  331. d.schreibe( &c, 1 );
  332. d.schreibe( "spiel ende", (int)c );
  333. i = 1;
  334. d.schreibe( (char *)&i, 4 );
  335. i = 0;
  336. d.schreibe( (char *)&i, 4 );
  337. i = 1;
  338. d.schreibe( (char *)&i, 4 );
  339. i = 19; // Timer läuft aus
  340. d.schreibe( (char *)&i, 4 );
  341. i = 123; // spiel vorbei
  342. d.schreibe( (char *)&i, 4 );
  343. c = 1;
  344. d.schreibe( &c, 1 );
  345. i = 156; // zufälliges team gewinnt :D
  346. d.schreibe( (char *)&i, 4 );
  347. c = 0;
  348. d.schreibe( &c, 1 );
  349. c = (char)textLength( "cheat" );
  350. d.schreibe( &c, 1 );
  351. d.schreibe( "cheat", (int)c );
  352. i = 1;
  353. d.schreibe( (char *)&i, 4 );
  354. i = 1;
  355. d.schreibe( (char *)&i, 4 );
  356. i = 1;
  357. d.schreibe( (char *)&i, 4 );
  358. i = 12; // key release
  359. d.schreibe( (char *)&i, 4 );
  360. i = 18; // boolean rechnung
  361. d.schreibe( (char *)&i, 4 );
  362. c = 2;
  363. d.schreibe( &c, 1 );
  364. i = 197; // konstant taste
  365. d.schreibe( (char *)&i, 4 );
  366. c = 0;
  367. d.schreibe( &c, 1 );
  368. c = 'c';
  369. d.schreibe( &c, 1 );
  370. i = 114; // konstant variable
  371. d.schreibe( (char *)&i, 4 );
  372. c = 0;
  373. d.schreibe( &c, 1 );
  374. c = (char)textLength( "Betroffene Taste" );
  375. d.schreibe( &c, 1 );
  376. d.schreibe( "Betroffene Taste", (int)c );
  377. c = 21; // ==
  378. d.schreibe( &c, 1 );
  379. i = 124; // spieler give item
  380. d.schreibe( (char *)&i, 4 );
  381. c = 3;
  382. d.schreibe( &c, 1 );
  383. i = 198; // Konstant gegenstand typ
  384. d.schreibe( (char *)&i, 4 );
  385. c = 0;
  386. d.schreibe( &c, 1 );
  387. i = 1; // pfeil
  388. d.schreibe( (char *)&i, 4 );
  389. i = 111; // konstant integer
  390. d.schreibe( (char *)&i, 4 );
  391. c = 0;
  392. d.schreibe( &c, 1 );
  393. i = 1;
  394. d.schreibe( (char *)&i, 4 );
  395. i = 114; // konstant variable
  396. d.schreibe( (char *)&i, 4 );
  397. c = 0;
  398. d.schreibe( &c, 1 );
  399. c = (char)textLength( "Ausführender Spieler" );
  400. d.schreibe( &c, 1 );
  401. d.schreibe( "Ausführender Spieler", (int)c );
  402. // variablen
  403. i = 0;
  404. d.schreibe( (char *)&i, 4 );
  405. d.close();
  406. /*int i = 0;
  407. for( int j = 0; j < 100; j++ )
  408. std::cout << i << i++ << "\n";
  409. return 0;
  410. //return rotationTest();
  411. return kamera2DTest();
  412. Datei d;
  413. Datei d2;
  414. d.setDatei( "data_old.map" );
  415. d2.setDatei( "data.map" );
  416. d2.open( Datei::Style::schreiben );
  417. d.open( Datei::Style::lesen );
  418. int ressourceAnz = 0;
  419. d.lese( (char*)&ressourceAnz, 4 );
  420. d2.schreibe( (char*)&ressourceAnz, 4 );
  421. for( int i = 0; i < ressourceAnz; i++ )
  422. {
  423. int j = 0;
  424. d.lese( (char*)&j, 4 );
  425. d2.schreibe( (char*)&j, 4 );
  426. char len = 0;
  427. d.lese( &len, 1 );
  428. d2.schreibe( (char*)&len, 1 );
  429. Text txt;
  430. txt.fillText( '0', len + 1 );
  431. d.lese( txt, len );
  432. d2.schreibe( (char*)txt, len );
  433. }
  434. d.lese( (char*)&ressourceAnz, 4 );
  435. d2.schreibe( (char*)&ressourceAnz, 4 );
  436. d.lese( (char*)&ressourceAnz, 4 );
  437. d2.schreibe( (char*)&ressourceAnz, 4 );
  438. d.lese( (char*)&ressourceAnz, 4 );
  439. d2.schreibe( (char*)&ressourceAnz, 4 );
  440. for( int i = 0; i < ressourceAnz; i++ )
  441. {
  442. int j = 0;
  443. d.lese( (char*)&j, 4 );
  444. d2.schreibe( (char*)&j, 4 );
  445. d.lese( (char*)&j, 4 );
  446. d2.schreibe( (char*)&j, 4 );
  447. d.lese( (char*)&j, 4 );
  448. d2.schreibe( (char*)&j, 4 );
  449. d.lese( (char*)&j, 4 );
  450. d2.schreibe( (char*)&j, 4 );
  451. d.lese( (char*)&j, 4 );
  452. d2.schreibe( (char*)&j, 4 );
  453. d.lese( (char*)&j, 4 );
  454. d2.schreibe( (char*)&j, 4 );
  455. d.lese( (char*)&j, 4 );
  456. d2.schreibe( (char*)&j, 4 );
  457. d.lese( (char*)&j, 4 );
  458. d2.schreibe( (char*)&j, 4 );
  459. d.lese( (char*)&j, 4 );
  460. d2.schreibe( (char*)&j, 4 );
  461. double f = 0;
  462. d.lese( (char*)&f, 8 );
  463. d2.schreibe( (char*)&f, 8 );
  464. d.lese( (char*)&f, 8 );
  465. d2.schreibe( (char*)&f, 8 );
  466. char t = 0;
  467. d.lese( &t, 1 );
  468. d2.schreibe( (char*)&t, 1 );
  469. }
  470. for( int i = 0; i < 9; i++ )
  471. {
  472. int j = 0;
  473. double f = 0;
  474. d.lese( (char*)&j, 4 );
  475. d2.schreibe( (char*)&j, 4 );
  476. d.lese( (char*)&j, 4 );
  477. d2.schreibe( (char*)&j, 4 );
  478. d.lese( (char*)&j, 4 );
  479. d2.schreibe( (char*)&j, 4 );
  480. d.lese( (char*)&f, 8 );
  481. d2.schreibe( (char*)&f, 8 );
  482. d.lese( (char*)&f, 8 );
  483. f = 5;
  484. d2.schreibe( (char*)&f, 8 );
  485. d.lese( (char*)&j, 4 );
  486. d2.schreibe( (char*)&j, 4 );
  487. d.lese( (char*)&j, 4 );
  488. d2.schreibe( (char*)&j, 4 );
  489. d.lese( (char*)&f, 8 );
  490. d2.schreibe( (char*)&f, 8 );
  491. d.lese( (char*)&f, 8 );
  492. d2.schreibe( (char*)&f, 8 );
  493. d.lese( (char*)&j, 4 );
  494. d2.schreibe( (char*)&j, 4 );
  495. d.lese( (char*)&j, 4 );
  496. d2.schreibe( (char*)&j, 4 );
  497. d.lese( (char*)&j, 4 );
  498. d2.schreibe( (char*)&j, 4 );
  499. d.lese( (char*)&f, 8 );
  500. d2.schreibe( (char*)&f, 8 );
  501. double antriebsEffizienz = 100;
  502. d.lese( (char*)&antriebsEffizienz, 8 );
  503. d2.schreibe( (char*)&antriebsEffizienz, 8 );
  504. d.lese( (char*)&j, 4 );
  505. d2.schreibe( (char*)&j, 4 );
  506. d.lese( (char*)&j, 4 );
  507. d2.schreibe( (char*)&j, 4 );
  508. d.lese( (char*)&j, 4 );
  509. d2.schreibe( (char*)&j, 4 );
  510. d.lese( (char*)&j, 4 );
  511. d2.schreibe( (char*)&j, 4 );
  512. }
  513. for( int i = 0; i < 3; i++ )
  514. {
  515. int j = 0;
  516. double f = 0;
  517. d.lese( (char*)&j, 4 );
  518. d2.schreibe( (char*)&j, 4 );
  519. d.lese( (char*)&j, 4 );
  520. d2.schreibe( (char*)&j, 4 );
  521. d.lese( (char*)&f, 8 );
  522. d2.schreibe( (char*)&f, 8 );
  523. d.lese( (char*)&j, 4 );
  524. d2.schreibe( (char*)&j, 4 );
  525. d.lese( (char*)&j, 4 );
  526. d2.schreibe( (char*)&j, 4 );
  527. d.lese( (char*)&f, 8 );
  528. d2.schreibe( (char*)&f, 8 );
  529. d.lese( (char*)&f, 8 );
  530. d2.schreibe( (char*)&f, 8 );
  531. d.lese( (char*)&j, 4 );
  532. d2.schreibe( (char*)&j, 4 );
  533. d.lese( (char*)&j, 4 );
  534. d2.schreibe( (char*)&j, 4 );
  535. d.lese( (char*)&j, 4 );
  536. d2.schreibe( (char*)&j, 4 );
  537. d.lese( (char*)&f, 8 );
  538. d2.schreibe( (char*)&f, 8 );
  539. double antriebsEffizienz = 0;
  540. d.lese( (char*)&antriebsEffizienz, 8 );
  541. d2.schreibe( (char*)&antriebsEffizienz, 8 );
  542. d.lese( (char*)&j, 4 );
  543. d2.schreibe( (char*)&j, 4 );
  544. }
  545. d.close();
  546. d2.close();
  547. getchar();
  548. return 0;
  549. #ifdef _DEBUG
  550. _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
  551. #endif
  552. initFramework();
  553. WFenster *f = new WFenster();
  554. WNDCLASS fc = F_Normal( 0 );
  555. fc.lpszClassName = "Test";
  556. f->erstellen( WS_OVERLAPPEDWINDOW, fc );
  557. f->setSize( 900, 900 );
  558. f->setPosition( Punkt( 100, 100 ) );
  559. f->setVSchließAktion( FClose );
  560. f->setMausAktion( _ret1ME );
  561. f->setTastaturAktion( _ret1TE );
  562. f->setAnzeigeModus( 1 );
  563. Bildschirm *b = new Bildschirm3D( f->getThis() );
  564. b->setBackBufferSize( 300, 300 );
  565. f->setBildschirm( b->getThis() );
  566. b->setTestRend( 0 );
  567. Obj o;
  568. b->addMember( &o );
  569. b->update();*/
  570. releaseFramework();
  571. return 0;
  572. }