diff options
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(); | 
