diff options
author | Colin Noga <Tempus@chronometry.ca> | 2012-09-27 22:59:41 -0500 |
---|---|---|
committer | Colin Noga <Tempus@chronometry.ca> | 2012-09-27 22:59:41 -0500 |
commit | 64f38f642113ac4bd5b1d96e76c9ae97965bc416 (patch) | |
tree | 99d9bbf4d577ae2d8a79fcb5f7101df1b57398fe /src/koopatlas/mapdata.h | |
parent | f9afbf1109b30bbc6011e81109b7e11961a4361a (diff) | |
parent | b3c37e5a9ef81250d6554fcbb8089154b4940c9f (diff) | |
download | kamek-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.h | 20 |
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(); |