Kolja Strohm 6 лет назад
Родитель
Сommit
299dd45c35

BIN
Test/Framework.dll


+ 7 - 7
Test/Main.cpp

@@ -19,13 +19,9 @@
 #include <DateiSystem.h>
 #include "DLLDateien.h"
 #include <Network.h>
+#include <Globals.h>
 
 struct HINSTANCE__;
-namespace Framework
-{
-    void initFramework( HINSTANCE__ * = 0 );
-    void releaseFramework();
-}
 
 using namespace Framework;
 
@@ -58,7 +54,9 @@ void doStuff()
     Schrift *schrift = sd.ladeSchrift();
     DLLDateien dlls;
 
-    MiniGames *mGames = new MiniGames( schrift, dlls.getThis(), b );
+    API *api = new API( f );
+
+    MiniGames *mGames = new MiniGames( schrift, dlls.getThis(), b, api );
     b->addMember( mGames );
 
     b->update();
@@ -67,7 +65,8 @@ void doStuff()
     r->setMaxFps( 60 );
     r->setTickFunktion( []( void*p, void*o, double t )
     {
-        std::cout << t << "\n";
+        if( getTastenStand( T_F1 ) )
+            std::cout << t << "\n";
     } );
     r->beginn();
     StartNachrichtenSchleife();
@@ -78,6 +77,7 @@ void doStuff()
     b->release();
     f->release();
     schrift->release();
+    delete api;
     Network::Exit();
 }
 

+ 12 - 4
Test/Minigames.cpp

@@ -32,6 +32,11 @@ public:
     {
         return new Text( "Test" );
     }
+    // Gibt eine geheime zeichenkette die nur der client kennt zurück (ist bei spielstart)
+    Text *getSecret()
+    {
+        return new Text( "ec6e2d97b2a32423082c6385699ace1067c3a3719debe6f761b5aff1159c9342b6eeba932b2ea3db8d48c0e53e0e8dcefa56723de7488d49e9bccd197d334276" );
+    }
     // Ermittelt die liste mit allen Optionen zu einem Minigame zurück, zu denen es Welt beste Scores gibt
     //  mName: Der Name des Minigames
     //  zOptionList: Enthält nach erfolgreichem Aufruf eine Liste mit Optionen
@@ -162,8 +167,9 @@ void MGSuchen::thread()
 
 // Inhalt der MGLaden Klasse aus MiniGameV.h
 // Konstruktor
-MGLaden::MGLaden( char *name, DLLDateien *zDLLs )
+MGLaden::MGLaden( char *name, DLLDateien *zDLLs, API *api )
 {
+    this->api = api;
     this->name = new Text( name );
     game = 0;
     ref = 1;
@@ -247,6 +253,7 @@ void MGLaden::thread()
         return;
     }
     game->setMinigameClientZ( new MSCWrapper() );
+    game->setMinigameAPI( api );
     if( !game->laden() )
     {
         game = game->release();
@@ -284,9 +291,10 @@ MGLaden *MGLaden::release()
 
 // Inhalt der MiniGames Klasse aus MiniGames.h
 // Konstruktor
-MiniGames::MiniGames( Schrift *zSchrift, DLLDateien *zDLLs, Bildschirm *screen )
+MiniGames::MiniGames( Schrift *zSchrift, DLLDateien *zDLLs, Bildschirm *screen, API *api )
     : Zeichnung()
 {
+    this->api = api;
     this->screen = screen->getThis();
     dLLs = zDLLs->getThis();
     schrift = zSchrift->getThis();
@@ -359,7 +367,7 @@ void MiniGames::doMausEreignis( MausEreignis &me )
             { // spiel starten
                 if( mgl )
                     mgl = mgl->release();
-                mgl = new MGLaden( games->z( i )->zName()->getText(), dLLs );
+                mgl = new MGLaden( games->z( i )->zName()->getText(), dLLs, api );
             }
         }
     }
@@ -442,9 +450,9 @@ void MiniGames::render( Bild &zRObj )
     for( int i = 0; i < anz; i++ )
         games->z( i )->render( zRObj );
     zRObj.releaseAlpha();
+    zRObj.releaseDrawOptions();
     if( mgl && mgl->fertig() && mgl->zGame() )
         mgl->zGame()->render( zRObj );
-    zRObj.releaseDrawOptions();
 }
 
 // Reference Counting

+ 34 - 2
Test/Minigames.h

@@ -12,6 +12,7 @@
 using namespace Framework;
 
 class MiniGames; // aus dieser Datei
+class API;
 
 class MGSuchen : private Thread
 {
@@ -32,11 +33,12 @@ private:
     Text * name;
     MiniGameV *game;
     DLLDateien *dLLs;
+    API *api;
     int ref;
 
 public:
     // Konstruktor
-    MGLaden( char *name, DLLDateien *zDLLs );
+    MGLaden( char *name, DLLDateien *zDLLs, API *api );
     // Destruktor
     ~MGLaden();
     // nicht constant
@@ -59,13 +61,14 @@ private:
     Schrift *schrift;
     DLLDateien *dLLs;
     Bildschirm *screen;
+    API *api;
     double tickVal;
     int alpha2;
     int ref;
 
 public:
     // Konstruktor
-    MiniGames( Schrift *zSchrift, DLLDateien *zDLLs, Bildschirm *zScreen );
+    MiniGames( Schrift *zSchrift, DLLDateien *zDLLs, Bildschirm *zScreen, API *api );
     // Destruktor
     ~MiniGames();
     // nicht constant
@@ -79,4 +82,33 @@ public:
     MiniGames *release();
 };
 
+class API : public MinigameAPI
+{
+private:
+    WFenster *f;
+public:
+    API( WFenster *wf )
+    {
+        f = wf;
+    }
+    // legt fest ob das spiel im Vollbildmodus ausgeführt werden soll
+    void setFullScreenMode( bool enabled )
+    {
+        if( enabled )
+        {
+            Punkt bildschirmGröße = BildschirmGröße();
+            bildschirmGröße.x++;
+            bildschirmGröße.y++;
+            f->setSize( bildschirmGröße );
+            f->setPosition( Punkt( 0, 0 ) );
+        }
+        else
+        {
+            f->setSize( 800, 500 );
+        }
+        f->zBildschirm()->setBackBufferSize( f->getGröße() );
+        f->zBildschirm()->update();
+    }
+};
+
 #endif

+ 1 - 1
Test/Test.vcxproj

@@ -23,7 +23,7 @@
     <ProjectGuid>{84C1FC9D-25BD-4100-BE76-6CF501A231BB}</ProjectGuid>
     <Keyword>Win32Proj</Keyword>
     <RootNamespace>Test</RootNamespace>
-    <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
+    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

BIN
Test/data/Minigames/DungeonGame/bilder/hintergrund.ltdb


BIN
Test/data/Minigames/DungeonGame/schriften/gravur.ltds


BIN
Test/network.dll