summaryrefslogtreecommitdiff
path: root/src/koopatlas/mapdata.h
diff options
context:
space:
mode:
authorColin Noga <Tempus@chronometry.ca>2012-09-27 22:59:41 -0500
committerColin Noga <Tempus@chronometry.ca>2012-09-27 22:59:41 -0500
commit64f38f642113ac4bd5b1d96e76c9ae97965bc416 (patch)
tree99d9bbf4d577ae2d8a79fcb5f7101df1b57398fe /src/koopatlas/mapdata.h
parentf9afbf1109b30bbc6011e81109b7e11961a4361a (diff)
parentb3c37e5a9ef81250d6554fcbb8089154b4940c9f (diff)
downloadkamek-64f38f642113ac4bd5b1d96e76c9ae97965bc416.tar.gz
kamek-64f38f642113ac4bd5b1d96e76c9ae97965bc416.zip
Merge branch 'level-select' of ssh://treeki.rustedlogic.net:30000/Kamek into level-select
Diffstat (limited to '')
-rw-r--r--src/koopatlas/mapdata.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/koopatlas/mapdata.h b/src/koopatlas/mapdata.h
index bc0c599..a0beb4d 100644
--- a/src/koopatlas/mapdata.h
+++ b/src/koopatlas/mapdata.h
@@ -53,7 +53,7 @@ struct dKPPath_s;
struct dKPNode_s {
enum NodeTypes {
- PASS_THROUGH, STOP, LEVEL, CHANGE
+ PASS_THROUGH, STOP, LEVEL, CHANGE, WORLD_CHANGE
};
short x, y;
@@ -79,6 +79,7 @@ struct dKPNode_s {
union {
struct { u8 levelNumber[2]; bool hasSecret; };
struct { const char *destMap; u8 thisID, foreignID, transition, _; };
+ struct { u8 worldID, __[3]; };
};
dKPPath_s *getAnyExit() {
@@ -187,6 +188,18 @@ struct dKPLayer_s {
int findNodeID(dKPNode_s *node);
};
+struct dKPWorldDef_s {
+ const char *name;
+ GXColor fsTextColours[2];
+ GXColor fsHintColours[2];
+ GXColor hudTextColours[2];
+ u8 hudHintH;
+ s8 hudHintS, hudHintL;
+ u8 key, trackID;
+ u8 worldID;
+ u8 padding1, padding2;
+};
+
struct dKPMapFile_s {
u32 magic;
int version;
@@ -202,6 +215,9 @@ struct dKPMapFile_s {
dKPLayer_s::sector_s *sectors;
const char *backgroundName;
+
+ dKPWorldDef_s *worlds;
+ int worldCount;
};
class dKPMapData_c {
@@ -253,6 +269,8 @@ class dKPMapData_c {
dKPNodeExtra_c *levelNodeExtraArray;
+ const dKPWorldDef_s *findWorldDef(int id) const;
+
dKPMapData_c();
bool load(const char *filename);
~dKPMapData_c();