summaryrefslogtreecommitdiff
path: root/ZAPD/Globals.h
diff options
context:
space:
mode:
authorNicholas Estelami <NEstelami@users.noreply.github.com>2021-01-23 14:23:51 -0500
committerGitHub <noreply@github.com>2021-01-23 14:23:51 -0500
commitee42172389c0aebfbc0c2d5bbabab4ec858bc8cd (patch)
tree3c6afd903bb9983602f6f79a1333106fe2306745 /ZAPD/Globals.h
parent2e1174063f3ed6bcf929bc7093cd2d1b05f8518b (diff)
WIP F3DEX Support, Bug Fixes, Game definable in XML (#75)
* WIP F3DEX support * Additional work on F3DEX support, fixed bug with actorlist * Fixed crash bug * Adds ZFile attribute "Game" to be able to change the game mode for ZAPD. * Additional changes to support F3DEX * Fixed bug with cullDL and with dlist type selection * F3DEX Opcode fix * Fixed up a few bugs * Cleaned up some code and fixed bug with directory creation. * ZAPD now supports correct bitpacking for gsSPSetOtherMode on F3DEX * Fixes syntax error in ZDisplayList.h * Updates Actor and Object Lists * Updated actor and object list * G_MTX updated for F3DEX * Fixed bug with transition actor list * Updated G_Texture for F3DEX * SW97 maps: Removes actor 0x22, and shifts actors 0x23 and above down by one to match retail enum. * Fixes issue in reuse of actorCount variable in SetActorList::GetActorListArraySize. Co-authored-by: Kenix3
Diffstat (limited to 'ZAPD/Globals.h')
-rw-r--r--ZAPD/Globals.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/ZAPD/Globals.h b/ZAPD/Globals.h
index 8b68291..7b034de 100644
--- a/ZAPD/Globals.h
+++ b/ZAPD/Globals.h
@@ -13,6 +13,8 @@ typedef enum VerbosityLevel {
VERBOSITY_DEBUG
} VerbosityLevel;
+class GameConfig;
+
class Globals
{
public:
@@ -27,6 +29,7 @@ public:
ZFileMode fileMode;
std::string baseRomPath, inputPath, outputPath, cfgPath;
TextureType texType;
+ ZGame game;
std::vector<ZFile*> files;
std::vector<int> segments;
@@ -43,6 +46,21 @@ public:
bool HasSegment(int segment);
};
+class GameConfig
+{
+public:
+ std::map<int, std::string> segmentRefs;
+ std::map<int, ZFile*> segmentRefFiles;
+ std::map<uint32_t, std::string> symbolMap;
+ std::vector<std::string> actorList;
+ std::vector<std::string> objectList;
+
+ GameConfig();
+
+private:
+
+};
+
/*
* Note: In being able to track references across files, there are a few major files that make use of segments...
* Segment 1: nintendo_rogo_static/title_static