#define variable #include "Variablen.h" #include #include #include #include #include #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; uiFactory = Framework::defaultUI( zSchrift, zBildschirm ); vorLogin = new VorLogin(); nachLogin = new NachLogin(); 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( zBildschirm->getBackBufferSize() / 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( dynamic_cast( ladeAnimation->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 *)vorLogin->release(); if( nachLogin ) nachLogin = (NachLogin *)nachLogin->release(); if( loginClient ) loginClient = (KSGClient::LoginServerClient *)loginClient->release(); if( registerClient ) registerClient = (KSGClient::RegisterServerClient *)registerClient->release(); if( infoClient ) infoClient = (KSGClient::InformationServerClient *)infoClient->release(); if( chatClient ) chatClient->trenne( 1 ); if( cmProcessor ) { cmProcessor->warteAufThread( 200 ); cmProcessor->ende(); cmProcessor = (ChatMessageProcessor *)cmProcessor->release(); } if( chatClient ) chatClient = (KSGClient::ChatServerClient *)chatClient->release(); if( anmeldungClient ) anmeldungClient = (KSGClient::AnmeldungServerClient *)anmeldungClient->release(); if( spielClient ) spielClient->trenne(); if( smProcessor ) { smProcessor->warteAufThread( 200 ); smProcessor->ende(); smProcessor = (SpielMessageProcessor *)smProcessor->release(); } if( spielClient ) spielClient = (KSGClient::SpielServerClient *)spielClient->release(); if( shopClient ) shopClient = (KSGClient::ShopServerClient *)shopClient->release(); if( newsClient ) newsClient = (KSGClient::NewsServerClient *)newsClient->release(); if( editorClient ) editorClient = (KSGClient::EditorServerClient *)editorClient->release(); if( minigameClient ) minigameClient = (KSGClient::MinigameServerClient *)minigameClient->release(); if( ladeAnimation ) ladeAnimation = (Animation2D *)ladeAnimation->release(); if( mainClient ) mainClient = (KSGClient::MainServerClient *)mainClient->release(); KartenLeser::cleanUp(); if( bilder ) { bilder->release(); bilder = 0; } if( updateH ) updateH->release(); if( userOptions ) userOptions->release(); }