diff options
author | Treeki <treeki@gmail.com> | 2012-01-15 21:31:34 +0100 |
---|---|---|
committer | Treeki <treeki@gmail.com> | 2012-01-15 21:31:34 +0100 |
commit | 83729d2427ebb9a8563dce8ca3c8c19fb9f71c4a (patch) | |
tree | 5d48147b1f8e23992fe4a921adcec83da45969cd /src/koopatlas/core.h | |
parent | 0dabea30d98d175e5d7e0655c10757db99ac8295 (diff) | |
download | kamek-83729d2427ebb9a8563dce8ca3c8c19fb9f71c4a.tar.gz kamek-83729d2427ebb9a8563dce8ca3c8c19fb9f71c4a.zip |
initial commit of the Koopatlas engine
Diffstat (limited to '')
-rw-r--r-- | src/koopatlas/core.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/src/koopatlas/core.h b/src/koopatlas/core.h new file mode 100644 index 0000000..cfe5bde --- /dev/null +++ b/src/koopatlas/core.h @@ -0,0 +1,99 @@ +/* KoopAtlas Map Engine + * Created by Treeki + */ + +#ifndef __KOOPATLAS_H +#define __KOOPATLAS_H + +#include <common.h> +#include <game.h> +#include <g3dhax.h> + +#include "koopatlas/mapdata.h" + +#define WM_DEBUGGING +//#define WM_SPAMMY_DEBUGGING + +#ifdef WM_DEBUGGING +#define MapReport OSReport +#else +inline void MapReport(const char *str, ...) { } +#endif + +#ifdef WM_SPAMMY_DEBUGGING +#define SpammyReport OSReport +#else +inline void SpammyReport(const char *str, ...) { } +#endif + +void NewerMapDrawFunc(); + +#define WM_HUD WM_ANTLION + +class daWMPlayer_c; +class dWMHud_c; +class dWMMap_c; +class dWorldCamera_c; + +class dScKoopatlas_c : public dScene_c { + public: + dScKoopatlas_c(); + + FunctionChain initChain; + + dStateWrapper_c<dScKoopatlas_c> state; + + USING_STATES(dScKoopatlas_c); + DECLARE_STATE(Limbo); + DECLARE_STATE(ContinueWait); + DECLARE_STATE(Normal); + DECLARE_STATE(CSMenu); + DECLARE_STATE(TitleConfirmOpenWait); + DECLARE_STATE(TitleConfirmSelect); + DECLARE_STATE(TitleConfirmHitWait); + DECLARE_STATE(PlayerChangeWait); + DECLARE_STATE(EasyPairingWait); + DECLARE_STATE(PowerupsWait); + DECLARE_STATE(SaveOpen); + DECLARE_STATE(SaveSelect); + DECLARE_STATE(SaveWindowClose); + DECLARE_STATE(SaveDo); + DECLARE_STATE(SaveEndWindow); + DECLARE_STATE(SaveEndCloseWait); + DECLARE_STATE(QuickSaveOpen); + DECLARE_STATE(QuickSaveSelect); + DECLARE_STATE(QuickSaveWindowClose); + DECLARE_STATE(QuickSaveDo); + DECLARE_STATE(QuickSaveEndWindow); + DECLARE_STATE(QuickSaveEndCloseWait); + DECLARE_STATE(SaveError); + + void *csMenu; + void *selectCursor; + void *numPeopleChange; + void *yesNoWindow; + void *continueObj; + void *stockItem; + void *stockItemShadow; + void *easyPairing; + + + int onCreate(); + int onDelete(); + int onExecute(); + + static dScKoopatlas_c *build(); + static dScKoopatlas_c *instance; + + + daWMPlayer_c *player; + dWMHud_c *hud; + dWMMap_c *map; + dKPMapData_c mapData; + + + bool canDoStuff(); +}; + +#endif + |