Mercurial > hg > dmlib
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