123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- #include <Bildschirm.h>
- #include <RenderThread.h>
- #include <KSGScript.h>
- #include <MausEreignis.h>
- #include <TastaturEreignis.h>
- #include <Schrift.h>
- #include <DateiSystem.h>
- #include <time.h>
- #include <Textfeld.h>
- #include <Datei.h>
- #include <M2Datei.h>
- #include <Model2D.h>
- #include <Bild.h>
- #include <Textur2D.h>
- #include <MiniGameV.h>
- #include "Minigames.h"
- #include <DateiSystem.h>
- #include "DLLDateien.h"
- #include <Network.h>
- #include <Globals.h>
- #include <iostream>
- #include <string>
- #include <XML.h>
- #include <Zeit.h>
- struct HINSTANCE__;
- using namespace Framework;
- void FClose( void *p, void *zF )
- {
- StopNachrichtenSchleife( ( (WFenster*)zF )->getFensterHandle() );
- }
- Bild *b1;
- Bild *b2;
- Bild *b3;
- class Alpha : public Zeichnung
- {
- public:
- void render( Bild &zRObj )
- {
- zRObj.setDrawOptions( getPosition(), Punkt( 1000, 1000 ) );
- Bild tmp;
- tmp.neuBild( 100, 100, 0 );
- tmp.drawBild( 0, 0, 100, 100, *b1 );
- tmp.alphaBildAssoz( 0, 0, 100, 100, *b2 );
- zRObj.drawBild( 0, 0, 100, 100, tmp );
- zRObj.drawBild( 0, 150, 100, 100, *b1 );
- zRObj.drawBild( 0, 250, 100, 100, *b2 );
- zRObj.releaseDrawOptions();
- }
- };
- class Alpha2 : public Zeichnung
- {
- public:
- void render( Bild &zRObj )
- {
- zRObj.setDrawOptions( getPosition(), Punkt( 1000, 1000 ) );
- Bild tmp;
- tmp.neuBild( 100, 100, 0 );
- tmp.drawBild( 0, 0, 100, 100, *b2 );
- tmp.alphaBildAssoz( 0, 0, 100, 100, *b1 );
- zRObj.drawBild( 0, 0, 100, 100, tmp );
- zRObj.drawBild( 0, 150, 100, 100, *b2 );
- zRObj.drawBild( 0, 250, 100, 100, *b1 );
- zRObj.releaseDrawOptions();
- }
- };
- void doStuff()
- {
- Network::Start( 1 );
- WFenster *f = new WFenster();
- WNDCLASS fc = F_Normal( 0 );
- fc.lpszClassName = "Test";
- f->erstellen( WS_OVERLAPPEDWINDOW, fc );
- f->setSize( 800, 500 );
- f->setPosition( Punkt( 100, 100 ) );
- f->setVSchließAktion( FClose );
- f->setMausAktion( _ret1ME );
- f->setTastaturAktion( _ret1TE );
- f->setAnzeigeModus( 1 );
- Punkt bildschirmGröße = BildschirmGröße();
- bildschirmGröße.x++;
- bildschirmGröße.y++;
- f->setSize( bildschirmGröße );
- f->setPosition( Punkt( 0, 20 ) );
- Bildschirm *b = new Bildschirm3D( f->getThis() );
- b->setBackBufferSize( f->getKörperGröße() );
- f->setBildschirm( b->getThis() );
- b->setFillFarbe( 0xFF000000 );
- b->setTestRend( 0 );
- LTDSDatei sd;
- sd.setPfad( new Text( "normal.ltds" ) );
- sd.leseDaten();
- Schrift *schrift = sd.ladeSchrift();
- DLLDateien dlls;
- Bild tmp;
- tmp.neuBild( 500, 1000, 0x30FFFFFF );
- Bild tmp2;
- tmp2.neuBild( 1900, 1000, 0x80355768 );
- ZeitMesser m;
- //while( true )
- //{
- // m.messungStart();
- // for( int i = 0; i < 2000; i++ )
- // {
- // tmp2.alphaRegion( 0, 0, 500, 1000, 0x40468349 );
- // }
- // m.messungEnde();
- // std::cout << "time: " << m.getSekunden() << "\n";
- //}
- API *api = new API( f );
- MiniGames *mGames = new MiniGames( schrift, dlls.getThis(), b, api );
- b->addMember( mGames->getThis() );
- //b1 = new Bild();
- //b1->neuBild( 100, 100, 0x7F0545FF );
- //b2 = new Bild();
- //b2->neuBild( 100, 100, 0x7F79FF45 );
- //b3 = new Bild();
- //b3->neuBild( 100, 100, 0x77FF2020 );
- //Alpha *a = new Alpha();
- //a->setPosition( 0, 0 );
- //a->setSize( 100, 100 );
- //b->addMember( a );
- //Alpha2 *a2 = new Alpha2();
- //a2->setPosition( 100, 0 );
- //a2->setSize( 100, 100 );
- //b->addMember( a2 );
- b->update();
- RenderTh *r = new RenderTh();
- r->setBildschirm( b->getThis() );
- r->setMaxFps( 60 );
- r->setTickFunktion( []( void*p, void*o, double t )
- {
- if( getTastenStand( T_F1 ) )
- std::cout << t << "\n";
- } );
- r->beginn();
- StartNachrichtenSchleife();
- r->beenden();
- r->release();
- mGames->release();
- f->setBildschirm( 0 );
- b->release();
- f->release();
- schrift->release();
- delete api;
- Network::Exit();
- }
- int main()
- {
- #ifdef _DEBUG
- _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
- #endif
- initFramework();
- doStuff();
- releaseFramework();
- return 0;
- }
|