summaryrefslogtreecommitdiff
path: root/src/koopatlas/core.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/koopatlas/core.h')
-rw-r--r--src/koopatlas/core.h99
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
+