Add PlayerCharId type

This commit is contained in:
KeybadeBlox 2026-02-19 21:16:11 -05:00
parent be4946eb98
commit aac010eb71
4 changed files with 46 additions and 18 deletions

View file

@ -40,7 +40,7 @@
}, },
"symbol_mappings": { "symbol_mappings": {
"?finalizeGameData@@YAXXZ": "_$E2", "?finalizeGameData@@YAXXZ": "_$E2",
"?initGameData@@YGXXZ": "_$E1" "?initGameData@@YAXXZ": "_$E1"
} }
} }
] ]

View file

@ -45,18 +45,18 @@ unsigned GameData::getSpawnPosIndex() {
} }
// Address: 0x00039CB0 // Address: 0x00039CB0
void GameData::unlockCharacter(unsigned charId) {
// Status: unimplemented // Status: unimplemented
void GameData::unlockCharacter(PlayerCharId charId) {
} }
// Address: 0x00039CF0 // Address: 0x00039CF0
void GameData::lockCharacter(unsigned charId) {
// Status: unimplemented // Status: unimplemented
void GameData::lockCharacter(PlayerCharId charId) {
} }
// Address: 0x00039D10 // Address: 0x00039D10
BOOL GameData::characterUnlocked(unsigned charId) {
// Status: unimplemented // Status: unimplemented
BOOL GameData::characterUnlocked(PlayerCharId charId) {
return 0; return 0;
} }

View file

@ -8,6 +8,34 @@ Save data and closely-related runtime data.
#include "../XDK/Win32.h" #include "../XDK/Win32.h"
// Enum that should probably go somewhere else
enum PlayerCharId {
PCHARID_BEAT,
PCHARID_CORN,
PCHARID_GUM,
PCHARID_COMBO,
PCHARID_RHYTH,
PCHARID_SODA,
PCHARID_YOYO,
PCHARID_NT3000,
PCHARID_GARAM,
PCHARID_BOOGIE,
PCHARID_CUBE,
PCHARID_LOVESHOCKERS,
PCHARID_POISONJAM,
PCHARID_NOISETANK,
PCHARID_IMMORTALS,
PCHARID_DOOMRIDERS,
PCHARID_RAPID99,
PCHARID_POTTS,
PCHARID_GOUJI,
PCHARID_ROBOY,
PCHARID_CLUTCH,
PCHARID_JAZZ,
PCHARID_AKUMU,
PCHARID_ZEROBEAT
};
// Data structure actually saved to disk // Data structure actually saved to disk
struct SaveData { struct SaveData {
unsigned chapter; unsigned chapter;
@ -94,7 +122,7 @@ enum TestRunType {
// Unpacked version of TestRunScoreSaved // Unpacked version of TestRunScoreSaved
struct TestRunScore { struct TestRunScore {
unsigned score; unsigned score;
unsigned character; PlayerCharId character;
unsigned rank1; // Used by Jet Tech unsigned rank1; // Used by Jet Tech
unsigned rank2; // Used by other test runs unsigned rank2; // Used by other test runs
}; };
@ -140,9 +168,9 @@ struct GameData {
void setMissionDigits34 (unsigned val); void setMissionDigits34 (unsigned val);
void setSpawnPosIndex (unsigned val); void setSpawnPosIndex (unsigned val);
unsigned getSpawnPosIndex (); unsigned getSpawnPosIndex ();
void unlockCharacter (unsigned charId); void unlockCharacter (PlayerCharId charId);
void lockCharacter (unsigned charId); void lockCharacter (PlayerCharId charId);
BOOL characterUnlocked (unsigned charId); BOOL characterUnlocked (PlayerCharId charId);
BOOL checkFlagConditions (unsigned * conds , unsigned count); BOOL checkFlagConditions (unsigned * conds , unsigned count);
void writeStateFlags (unsigned * writes, unsigned count); void writeStateFlags (unsigned * writes, unsigned count);
BOOL checkFlagConditionUnpacked(FlagList flagList, unsigned index); BOOL checkFlagConditionUnpacked(FlagList flagList, unsigned index);

View file

@ -238,9 +238,9 @@
0x00039c80 func void __thiscall notinline nofixup GameData::setMissionDigits34 uint missionDigits34 0x00039c80 func void __thiscall notinline nofixup GameData::setMissionDigits34 uint missionDigits34
0x00039c90 func void __thiscall notinline nofixup GameData::setSpawnPosIndex uint index 0x00039c90 func void __thiscall notinline nofixup GameData::setSpawnPosIndex uint index
0x00039ca0 func uint __thiscall notinline nofixup GameData::getSpawnPosIndex 0x00039ca0 func uint __thiscall notinline nofixup GameData::getSpawnPosIndex
0x00039cb0 func void __thiscall notinline nofixup GameData::unlockCharacter PlayerCharId32 charId 0x00039cb0 func void __thiscall notinline nofixup GameData::unlockCharacter PlayerCharId charId
0x00039cf0 func void __thiscall notinline nofixup GameData::lockCharacter PlayerCharId32 charId 0x00039cf0 func void __thiscall notinline nofixup GameData::lockCharacter PlayerCharId charId
0x00039d10 func BOOL __thiscall notinline nofixup GameData::characterUnlocked PlayerCharId32 charId 0x00039d10 func BOOL __thiscall notinline nofixup GameData::characterUnlocked PlayerCharId charId
0x00039d40 func BOOL __thiscall notinline nofixup GameData::checkFlagConditions uint * conds uint count 0x00039d40 func BOOL __thiscall notinline nofixup GameData::checkFlagConditions uint * conds uint count
0x00039d80 func void __thiscall notinline nofixup GameData::writeStateFlags uint * writes uint count 0x00039d80 func void __thiscall notinline nofixup GameData::writeStateFlags uint * writes uint count
0x00039db0 func BOOL __thiscall notinline nofixup GameData::checkFlagConditionUnpacked FlagList flagList uint index 0x00039db0 func BOOL __thiscall notinline nofixup GameData::checkFlagConditionUnpacked FlagList flagList uint index
@ -343,7 +343,7 @@
0x0004c070 func void __thiscall notinline nofixup Mission::waitForSomething 0x0004c070 func void __thiscall notinline nofixup Mission::waitForSomething
0x0004c400 func void __thiscall notinline nofixup Mission::showTextForFrame 0x0004c400 func void __thiscall notinline nofixup Mission::showTextForFrame
0x0004ca20 func void __thiscall notinline nofixup Mission::setPauseOptions Call_SetPauseOptions * args 0x0004ca20 func void __thiscall notinline nofixup Mission::setPauseOptions Call_SetPauseOptions * args
0x0004d5f0 func undefined __stdcall notinline nofixup populateSomeCharIdArray PlayerCharId32 * buf 0x0004d5f0 func undefined __stdcall notinline nofixup populateSomeCharIdArray PlayerCharId * buf
0x0004d880 func void __thiscall notinline nofixup Mission::setManyPlayerStateFieldsToOne 0x0004d880 func void __thiscall notinline nofixup Mission::setManyPlayerStateFieldsToOne
0x0004db30 func void default notinline nofixup resolveMissionBinPtrs MissionBin * mssn 0x0004db30 func void default notinline nofixup resolveMissionBinPtrs MissionBin * mssn
0x0004e930 func void __stdcall notinline nofixup newMission uint chapter uint idDigits34 BOOL param_3 0x0004e930 func void __stdcall notinline nofixup newMission uint chapter uint idDigits34 BOOL param_3
@ -446,7 +446,7 @@
0x0006f600 func undefined __cdecl notinline nofixup showReconnectNAndStartMessage1 uint controllerId 0x0006f600 func undefined __cdecl notinline nofixup showReconnectNAndStartMessage1 uint controllerId
0x0006f650 func undefined __cdecl notinline nofixup showReconnectNAndStartMessage2 uint controllerId 0x0006f650 func undefined __cdecl notinline nofixup showReconnectNAndStartMessage2 uint controllerId
0x0006f6a0 func void __cdecl notinline nofixup showReconnectControllerMessage 0x0006f6a0 func void __cdecl notinline nofixup showReconnectControllerMessage
0x0006f6d0 func void default notinline nofixup showCharacterJoinMessage PlayerCharId32 character undefined4 controller 0x0006f6d0 func void default notinline nofixup showCharacterJoinMessage PlayerCharId character undefined4 controller
0x0006f730 func undefined unknown notinline nofixup showProblemWithDisc 0x0006f730 func undefined unknown notinline nofixup showProblemWithDisc
0x0006f760 func undefined unknown notinline nofixup showSaveLoadErr 0x0006f760 func undefined unknown notinline nofixup showSaveLoadErr
0x0006f9c0 func undefined4 * __thiscall notinline nofixup UnknownStatic27::~UnknownStatic27 byte param_1 0x0006f9c0 func undefined4 * __thiscall notinline nofixup UnknownStatic27::~UnknownStatic27 byte param_1
@ -1126,7 +1126,7 @@
0x001f9358 data UnknownStatic13Part g_unknownStatic13PartDefault 0x001f9358 data UnknownStatic13Part g_unknownStatic13PartDefault
0x001f93c8 data UnknownStatic13 g_unknownStatic13 0x001f93c8 data UnknownStatic13 g_unknownStatic13
0x001f9640 data UnknownStatic13Part * g_unchangingUnknownStatic3Ptr 0x001f9640 data UnknownStatic13Part * g_unchangingUnknownStatic3Ptr
0x001f9808 data PlayerCharId32[32] charIds 0x001f9808 data PlayerCharId[32] charIds
0x001f9888 data SwitcherMethod *[119] Mission::exec_1Funcs 0x001f9888 data SwitcherMethod *[119] Mission::exec_1Funcs
0x001f9a68 data SwitcherMethod *[119] Mission::exec_5Funcs 0x001f9a68 data SwitcherMethod *[119] Mission::exec_5Funcs
0x001f9c48 data SwitcherMethod *[119] Mission::exec_3Funcs 0x001f9c48 data SwitcherMethod *[119] Mission::exec_3Funcs
@ -1176,7 +1176,7 @@
0x0021c234 data uint[5] tagIdsPoisonJam 0x0021c234 data uint[5] tagIdsPoisonJam
0x0021c248 data uint[5] tagIdsImmortals 0x0021c248 data uint[5] tagIdsImmortals
0x0021c25c data uint[5] tagIdsZeroBeat 0x0021c25c data uint[5] tagIdsZeroBeat
0x0021c450 data PlayerCharId32[24] someCharIdArray 0x0021c450 data PlayerCharId[24] someCharIdArray
0x0021c510 data EvCharId[24] someCharIdMapping 0x0021c510 data EvCharId[24] someCharIdMapping
0x0021c570 data char *[5] hasJoinedYou 0x0021c570 data char *[5] hasJoinedYou
0x0021c584 data undefined * testRunRankNamesJa 0x0021c584 data undefined * testRunRankNamesJa

Can't render this file because it has a wrong number of fields in line 3.