diff options
author | Treeki <treeki@gmail.com> | 2012-09-27 00:51:43 +0200 |
---|---|---|
committer | Treeki <treeki@gmail.com> | 2012-09-27 00:51:43 +0200 |
commit | 014f3668eb47b1576bdc182b1db00417f9938cf1 (patch) | |
tree | cf7ade143858d17eb9d7c8114a67b82d60523a59 /src/koopatlas/mapdata.h | |
parent | 46b65dfd76411bec6f8356c581f337f8a1944013 (diff) | |
download | kamek-014f3668eb47b1576bdc182b1db00417f9938cf1.tar.gz kamek-014f3668eb47b1576bdc182b1db00417f9938cf1.zip |
added untested support for world change nodes
Diffstat (limited to 'src/koopatlas/mapdata.h')
-rw-r--r-- | src/koopatlas/mapdata.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/koopatlas/mapdata.h b/src/koopatlas/mapdata.h index bc0c599..f7194ef 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,15 @@ struct dKPLayer_s { int findNodeID(dKPNode_s *node); }; +struct dKPWorldDef_s { + const char *name; + GXColor fsTextColours[2]; + GXColor fsHintColours[2]; + GXColor hudTextColours[2]; + s16 hudHintH, hudHintS, hudHintL; + u8 key, trackID; +}; + struct dKPMapFile_s { u32 magic; int version; @@ -202,6 +212,9 @@ struct dKPMapFile_s { dKPLayer_s::sector_s *sectors; const char *backgroundName; + + dKPWorldDef_s *worlds; + int worldCount; }; class dKPMapData_c { @@ -253,6 +266,8 @@ class dKPMapData_c { dKPNodeExtra_c *levelNodeExtraArray; + const dKPWorldDef_s *findWorldDef(int id) const; + dKPMapData_c(); bool load(const char *filename); ~dKPMapData_c(); |