diff options
Diffstat (limited to 'gob/gob.h')
-rw-r--r-- | gob/gob.h | 51 |
1 files changed, 46 insertions, 5 deletions
@@ -29,15 +29,39 @@ #include "base/engine.h" -#define VAR_OFFSET(offs) (*(uint32 *)(inter_variables + (offs))) +#include "gob/dataio.h" +#include "gob/video.h" +#include "common/file.h" + +namespace Gob { + +class Game; +class Snd; +class Video; +class Global; +class Draw; +class Anim; +class CDROM; +class DataIO; +class Goblin; +class Init; +class Inter; +class Map; +class Mult; +class Pack; +class PalAnim; +class Parse; +class Scenery; +class GTimer; +class Util; + +#define VAR_OFFSET(offs) (*(uint32 *)(_vm->_global->inter_variables + (offs))) #define VAR(var) VAR_OFFSET((var) << 2) #define VAR_ADDRESS(var) (&VAR(var)) #define WRITE_VAR_OFFSET(offs, val) (VAR_OFFSET(offs) = (val)) #define WRITE_VAR(var, val) WRITE_VAR_OFFSET((var) << 2, (val)) -// TODO: Should be in the Gob namespace, I guess - enum { GF_GOB1 = 1 << 0, GF_GOB2 = 1 << 1, @@ -46,8 +70,6 @@ enum { GF_CD = 1 << 4 }; -namespace Gob { - class GobEngine : public Engine { void errorString(const char *buf_input, char *buf_output); @@ -64,6 +86,25 @@ public: Common::RandomSource _rnd; int32 _features; + Game *_game; + Snd *_snd; + Video *_video; + Global *_global; + Draw *_draw; + Anim *_anim; + CDROM *_cdrom; + DataIO *_dataio; + Goblin *_goblin; + Init *_init; + Inter *_inter; + Map *_map; + Mult *_mult; + Pack *_pack; + PalAnim *_palanim; + Parse *_parse; + Scenery *_scenery; + GTimer *_gtimer; + Util *_util; }; extern GobEngine *_vm; |