123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- #define variable
- #include "Variablen.h"
- #include <Punkt.h>
- #include <DateiSystem.h>
- #include <Globals.h>
- #include "../Netzwerk/KSGServer.h"
- #include "../Leser/KartenLeser.h"
- void initVariables( Schrift *zSchrift, Bildschirm *zBildschirm )
- {
- loginClient = 0;
- registerClient = 0;
- infoClient = 0;
- chatClient = 0;
- anmeldungClient = 0;
- spielClient = 0;
- shopClient = 0;
- newsClient = 0;
- editorClient = 0;
- minigameClient = 0;
- cmProcessor = 0;
- vorLogin = new VorLogin( zSchrift, zBildschirm );
- nachLogin = new NachLogin( zSchrift, zBildschirm );
- Animation2DData *lad = new Animation2DData();
- LTDBDatei *ladd = new LTDBDatei();
- ladd->setDatei( new Text( "data/bilder/ladeanimation.ltdb" ) );
- lad->ladeAnimation( ladd );
- lad->setFPS( 30 );
- lad->setWiederhohlend( 1 );
- ladeAnimation = new Animation2D();
- ladeAnimation->setPosition( BildschirmGröße() / 2 - Punkt( 25, 25 ) );
- ladeAnimation->setSize( 50, 50 );
- ladeAnimation->setAPS( 450 );
- ladeAnimation->setAnimationDataZ( lad );
- ladeAnimation->setRahmen( 1 );
- ladeAnimation->setRahmenBreite( 1 );
- ladeAnimation->setRahmenFarbe( 0xFFFFFFFF );
- zBildschirm->setOnTopZeichnung( ladeAnimation->getThis() );
- hauptScreen = zBildschirm->getThis();
- bilder = new Bilder();
- updateH = new UpdateHandler();
- keepAliveTh = new KeepAliveTh();
- // Laden des Main Clients
- HINSTANCE networkDLL = Framework::getDLLRegister()->ladeDLL( "KSGNetwork.dll", "data/bin/KSGNetwork.dll" );
- if( !networkDLL )
- {
- WMessageBox( 0, new Text( "Fehler" ), new Text( "Die DLL Datei 'data/bin/KSGNetwork.dll' konnte nicht geladen werden. Fallst diese Datei nicht existiert muss das Spiel neu Installiert werden." ), MB_ICONERROR );
- exit( 0 );
- }
- KSGClient::KSGNetworkCreateRegisterdMain getMainClient = ( KSGClient::KSGNetworkCreateRegisterdMain )GetProcAddress( networkDLL, KSGNETWORK_CREATE_REGISTERD_MAIN );
- if( !getMainClient )
- {
- WMessageBox( 0, new Text( "Fehler" ), new Text( "Der Einstiegspunkt '" KSGNETWORK_CREATE_REGISTERD_MAIN "' wurde in der DLL Datei 'data/bin/KSGNetwork.dll' nicht gefunden. Fallst dieses Problem weiterhin auftritt muss das Spiel neu Installiert werden." ), MB_ICONERROR );
- exit( 0 );
- }
- char *ip = getMainServerIp();
- char *key;
- unsigned char keyLen = getSchlüssel( &key );
- mainClient = getMainClient( ip, getMainServerPort(), getKlientId(), key, keyLen );
- delete[] key;
- delete[] ip;
- if( !mainClient )
- {
- WMessageBox( 0, new Text( "Fehler" ), new Text( "Die DLL Datei 'data/bin/KSGNetwork.dll' scheint fehlerhaft zu sein. Fallst dieses Problem weiterhin auftritt muss das Spiel neu Installiert werden." ), MB_ICONERROR );
- exit( 0 );
- }
- aktion = 2;
- _render = 1;
- }
- void releaseVariables()
- {
- _render = 0;
- keepAliveTh->doExit();
- keepAliveTh->warteAufThread( 1000 );
- if( keepAliveTh->isRunning() )
- keepAliveTh->ende();
- delete keepAliveTh;
- keepAliveTh = 0;
- if( vorLogin )
- vorLogin = vorLogin->release();
- if( nachLogin )
- nachLogin = (NachLogin *)nachLogin->release();
- if( loginClient )
- loginClient = loginClient->release();
- if( registerClient )
- registerClient = registerClient->release();
- if( infoClient )
- infoClient = infoClient->release();
- if( chatClient )
- chatClient->trenne( 1 );
- if( cmProcessor )
- {
- cmProcessor->warteAufThread( 200 );
- cmProcessor->ende();
- cmProcessor = (ChatMessageProcessor *)cmProcessor->release();
- }
- if( chatClient )
- chatClient = chatClient->release();
- if( anmeldungClient )
- anmeldungClient = anmeldungClient->release();
- if( spielClient )
- spielClient->trenne();
- if( smProcessor )
- {
- smProcessor->warteAufThread( 200 );
- smProcessor->ende();
- smProcessor = (SpielMessageProcessor *)smProcessor->release();
- }
- if( spielClient )
- spielClient = spielClient->release();
- if( shopClient )
- shopClient = shopClient->release();
- if( newsClient )
- newsClient = newsClient->release();
- if( editorClient )
- editorClient = editorClient->release();
- if( minigameClient )
- minigameClient = minigameClient->release();
- if( ladeAnimation )
- ladeAnimation = (Animation2D *)ladeAnimation->release();
- if( hauptScreen )
- hauptScreen = hauptScreen->release();
- if( mainClient )
- mainClient = mainClient->release();
- KartenLeser::cleanUp();
- if( bilder )
- {
- bilder->release();
- bilder = 0;
- }
- if( updateH )
- updateH->release();
- }
|