Variablen.cpp 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. #define variable
  2. #include "Variablen.h"
  3. #include <Punkt.h>
  4. #include <DateiSystem.h>
  5. #include "../Netzwerk/KSGServer.h"
  6. void initVariables( Schrift *zSchrift, Bildschirm *zBildschirm )
  7. {
  8. loginClient = 0;
  9. registerClient = 0;
  10. infoClient = 0;
  11. chatClient = 0;
  12. anmeldungClient = 0;
  13. spielClient = 0;
  14. shopClient = 0;
  15. newsClient = 0;
  16. editorClient = 0;
  17. minigameClient = 0;
  18. cmProcessor = 0;
  19. vorLogin = new VorLogin( zSchrift, zBildschirm );
  20. nachLogin = new NachLogin( zSchrift, zBildschirm );
  21. Animation2DData *lad = new Animation2DData();
  22. LTDBDatei *ladd = new LTDBDatei();
  23. ladd->setDatei( new Text( "data/bilder/ladeanimation.ltdb" ) );
  24. lad->ladeAnimation( ladd );
  25. lad->setFPS( 30 );
  26. lad->setWiederhohlend( 1 );
  27. ladeAnimation = new Animation2D();
  28. ladeAnimation->setPosition( BildschirmGröße() / 2 - Punkt( 25, 25 ) );
  29. ladeAnimation->setSize( 50, 50 );
  30. ladeAnimation->setAPS( 450 );
  31. ladeAnimation->setAnimationDataZ( lad );
  32. ladeAnimation->setRahmen( 1 );
  33. ladeAnimation->setRahmenBreite( 1 );
  34. ladeAnimation->setRahmenFarbe( 0xFFFFFFFF );
  35. zBildschirm->setOnTopZeichnung( ladeAnimation );
  36. hauptScreen = zBildschirm->getThis();
  37. bilder = new Bilder();
  38. updateH = new UpdateHandler();
  39. dllDateien = new DLLDateien();
  40. keepAliveTh = new KeepAliveTh();
  41. // Laden des Main Clients
  42. HINSTANCE networkDLL = dllDateien->ladeDLL( "KSGNetwork.dll", "data/bin/KSGNetwork.dll" );
  43. if( !networkDLL )
  44. {
  45. 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 );
  46. exit( 0 );
  47. }
  48. KSGClient::KSGNetworkCreateRegisterdMain getMainClient = ( KSGClient::KSGNetworkCreateRegisterdMain )GetProcAddress( networkDLL, KSGNETWORK_CREATE_REGISTERD_MAIN );
  49. if( !getMainClient )
  50. {
  51. 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 );
  52. exit( 0 );
  53. }
  54. char *ip = getMainServerIp();
  55. char *key;
  56. unsigned char keyLen = getSchlüssel( &key );
  57. mainClient = getMainClient( ip, getMainServerPort(), getKlientId(), key, keyLen );
  58. delete[] key;
  59. delete[] ip;
  60. if( !mainClient )
  61. {
  62. 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 );
  63. exit( 0 );
  64. }
  65. aktion = 2;
  66. _render = 1;
  67. }
  68. void releaseVariables()
  69. {
  70. _render = 0;
  71. keepAliveTh->doExit();
  72. keepAliveTh->warteAufThread( 1000 );
  73. if( keepAliveTh->isRunning() )
  74. keepAliveTh->ende();
  75. delete keepAliveTh;
  76. keepAliveTh = 0;
  77. if( vorLogin )
  78. vorLogin = vorLogin->release();
  79. if( nachLogin )
  80. nachLogin = nachLogin->release();
  81. if( loginClient )
  82. loginClient = loginClient->release();
  83. if( registerClient )
  84. registerClient = registerClient->release();
  85. if( infoClient )
  86. infoClient = infoClient->release();
  87. if( chatClient )
  88. chatClient = chatClient->release();
  89. if( anmeldungClient )
  90. anmeldungClient = anmeldungClient->release();
  91. if( spielClient )
  92. spielClient = spielClient->release();
  93. if( shopClient )
  94. shopClient = shopClient->release();
  95. if( newsClient )
  96. newsClient = newsClient->release();
  97. if( editorClient )
  98. editorClient = editorClient->release();
  99. if( minigameClient )
  100. minigameClient = minigameClient->release();
  101. if( ladeAnimation )
  102. ladeAnimation = ladeAnimation->release();
  103. if( hauptScreen )
  104. hauptScreen = hauptScreen->release();
  105. if( mainClient )
  106. mainClient = mainClient->release();
  107. if( cmProcessor )
  108. cmProcessor = cmProcessor->release();
  109. if( smProcessor )
  110. smProcessor = smProcessor->release();
  111. if( bilder )
  112. {
  113. bilder->release();
  114. bilder = 0;
  115. }
  116. if( updateH )
  117. updateH->release();
  118. if( dllDateien )
  119. dllDateien = dllDateien->release();
  120. }