diff dmsimple.h @ 32:d1a6833a5d67

Added a simple demo engine core.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 29 Sep 2012 16:59:46 +0300
parents
children 15fdd5573344
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dmsimple.h	Sat Sep 29 16:59:46 2012 +0300
@@ -0,0 +1,64 @@
+#ifndef DMSIMPLE_H
+#define DMSIMPLE_H
+
+#include "dmlib.h"
+#include "dmargs.h"
+#include "dmres.h"
+#include "dmimage.h"
+
+#include "jss.h"
+#include "jssmod.h"
+#include "jssmix.h"
+#include "jssplr.h"
+
+
+typedef struct
+{
+    int currFrame, endTime, startTime, totalFrameTime, debugTime;
+    BOOL pauseFlag, exitFlag;
+    SDL_Surface *screen;
+    SDL_Event event;
+
+    int optScrWidth, optScrHeight, optVFlags, optBitDepth;
+
+    JSSMixer *dev;
+    JSSPlayer *plr;
+
+} DMEngineData;
+
+
+typedef struct
+{
+    int currFrame, endTime, startTime;
+} DMFrameData;
+
+
+extern DMEngineData engine;
+extern DMFrameData frame;
+
+
+#define engineGetResImage(x, name) \
+    do { \
+        if ((x = (SDL_Surface *) engineGetResource(name)) == NULL) \
+            return DMERR_INIT_FAIL; \
+    } while (0)
+
+#define engineGetResModule(x, name) \
+    do { \
+        if ((x = (JSSModule *) engineGetResource(name)) == NULL) \
+            return DMERR_INIT_FAIL; \
+    } while (0)
+
+
+void * engineGetResource(const char *name);
+int    engineGetTime(int t);
+int    engineGetTimeDTi();
+int    engineGetTick();
+float  engineGetTimeDT();
+
+int    demoGlobalInit();
+int    demoPreInit();
+int    demoMainTick();
+void   demoFinish();
+
+#endif // DMSIMPLE_H