Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Replaced a bunch of address literals with variables.
Also disabled a print in release mode.
  • Loading branch information
michael-fadely committed Feb 8, 2016
1 parent 88b14c5 commit c37a65f
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 14 deletions.
3 changes: 3 additions & 0 deletions SADXModLoader/AutoMipmap.cpp
Expand Up @@ -760,8 +760,11 @@ namespace mipmap

bool IsBlacklistedPVR(const char* name)
{
#ifdef _DEBUG
if (!strcmp(name, "abc_txt"))
PrintDebug("?!\n");
#endif

return blacklisted = find(PVRBlacklist, name);
}
bool IsBlacklistedGBIX(Uint32 gbix)
Expand Down
28 changes: 14 additions & 14 deletions SADXModLoader/dllmain.cpp
Expand Up @@ -514,22 +514,22 @@ static void RegisterStartPosition(unsigned char character, const StartPosition &
switch (character)
{
case Characters_Sonic:
origlist = (StartPosition *)0x90A5C8;
origlist = SonicStartArray;
break;
case Characters_Tails:
origlist = (StartPosition *)0x90AB68;
origlist = TailsStartArray;
break;
case Characters_Knuckles:
origlist = (StartPosition *)0x90AEA0;
origlist = KnucklesStartArray;
break;
case Characters_Amy:
origlist = (StartPosition *)0x90B470;
origlist = AmyStartArray;
break;
case Characters_Gamma:
origlist = (StartPosition *)0x90B7A8;
origlist = GammaStartArray;
break;
case Characters_Big:
origlist = (StartPosition *)0x90B1B0;
origlist = BigStartArray;
break;
default:
return;
Expand Down Expand Up @@ -574,7 +574,7 @@ static void RegisterFieldStartPosition(unsigned char character, const FieldStart
unordered_map<int, FieldStartPosition> *newlist;
if (iter == FieldStartPositions.end())
{
const FieldStartPosition *origlist = ((FieldStartPosition **)0x90BEFC)[character];
const FieldStartPosition *origlist = StartPosList_FieldReturn[character];
FieldStartPositions[character] = unordered_map<int, FieldStartPosition>();
newlist = &FieldStartPositions[character];
while (origlist->LevelID != LevelIDs_Invalid)
Expand Down Expand Up @@ -602,7 +602,7 @@ static void RegisterPathList(const PathDataPtr &paths)
{
if (!PathsInitialized)
{
const PathDataPtr *oldlist = (PathDataPtr *)0x91A858;
const PathDataPtr *oldlist = PathDataPtrs;
while (oldlist->LevelAct != 0xFFFF)
{
Paths[oldlist->LevelAct] = *oldlist;
Expand All @@ -627,7 +627,7 @@ static void RegisterCharacterPVM(unsigned char character, const PVMEntry &pvm)
vector<PVMEntry> *newlist;
if (iter == CharacterPVMs.end())
{
const PVMEntry *origlist = ((PVMEntry **)0x90ED54)[character];
const PVMEntry *origlist = TexLists_Characters[character];
CharacterPVMs[character] = vector<PVMEntry>();
newlist = &CharacterPVMs[character];
while (origlist->TexList)
Expand All @@ -650,7 +650,7 @@ static void RegisterCommonObjectPVM(const PVMEntry &pvm)
{
if (!CommonObjectPVMsInitialized)
{
const PVMEntry *oldlist = (PVMEntry *)0x90EC18;
const PVMEntry *oldlist = &CommonObjectPVMEntries[0];
while (oldlist->TexList)
CommonObjectPVMs.push_back(*oldlist++);
CommonObjectPVMsInitialized = true;
Expand Down Expand Up @@ -2312,7 +2312,7 @@ static void __cdecl InitMods(void)
for (auto j = poslist->cbegin(); j != poslist->cend(); ++j)
*cur++ = j->second;
cur->LevelID = LevelIDs_Invalid;
((FieldStartPosition **)0x90BEFC)[i->first] = newlist;
StartPosList_FieldReturn[i->first] = newlist;
}

if (PathsInitialized)
Expand All @@ -2333,7 +2333,7 @@ static void __cdecl InitMods(void)
PVMEntry *newlist = new PVMEntry[size + 1];
memcpy(newlist, pvmlist->data(), sizeof(PVMEntry) * size);
newlist[size].TexList = nullptr;
((PVMEntry **)0x90ED54)[i->first] = newlist;
TexLists_Characters[i->first] = newlist;
}

if (CommonObjectPVMsInitialized)
Expand All @@ -2343,8 +2343,8 @@ static void __cdecl InitMods(void)
//PVMEntry *cur = newlist;
memcpy(newlist, CommonObjectPVMs.data(), sizeof(PVMEntry) * size);
newlist[size].TexList = nullptr;
*((PVMEntry **)0x90EC70) = newlist;
*((PVMEntry **)0x90EC74) = newlist;
TexLists_ObjRegular[0] = newlist;
TexLists_ObjRegular[1] = newlist;
}

for (auto i = _TrialLevels.cbegin(); i != _TrialLevels.cend(); ++i)
Expand Down
10 changes: 10 additions & 0 deletions SADXModLoader/include/SADXModLoader/SADXVariables.h
Expand Up @@ -20,6 +20,8 @@ DataPointer(int, HorizontalResolution, 0x892990);
DataPointer(int, VerticalResolution, 0x892994);
DataArray(PVMEntry *, TexLists_Obj, 0x90EB68, 44);
DataArray(PVMEntry *, TexLists_ObjRegular, 0x90EC70, 3);
DataArray(PVMEntry, CommonObjectPVMEntries, 0x0090EC18, 8);
DataArray(PVMEntry, CommonObjectPVMEntries_B, 0x0090EC58, 3);
DataArray(PVMEntry *, TexLists_Characters, 0x90ED54, 9);
DataArray(LevelPVMList *, TexLists_Level, 0x90F010, 59);
DataArray(char *, CharIDStrings, 0x90F424, 9);
Expand Down Expand Up @@ -64,6 +66,14 @@ DataPointer(Angle, HorizontalFOV_BAMS, 0x03AB98EC);
DataPointer(Angle, LastHorizontalFOV_BAMS, 0x03B2CBB4);
DataPointer(NJS_SPRITE, VideoFrame, 0x03C600A4);
DataPointer(bool, LoadingFile, 0x3ABDF68);
DataArray(FieldStartPosition*, StartPosList_FieldReturn, 0x0090BEFC, 8);
DataArray(StartPosition, SonicStartArray, 0x90A5C8, 72);
DataArray(StartPosition, TailsStartArray, 0x90AB68, 41);
DataArray(StartPosition, KnucklesStartArray, 0x90AEA0, 39);
DataArray(StartPosition, AmyStartArray, 0x90B470, 41);
DataArray(StartPosition, GammaStartArray, 0x90B7A8, 43);
DataArray(StartPosition, BigStartArray, 0x90B1B0, 35);
DataArray(PathDataPtr, PathDataPtrs, 0x0091A858, 22);

// Raw input array. It's recommended you use ControllerPointers instead.
// This will prevent compatibility issues with mods that need to redirect input.
Expand Down

0 comments on commit c37a65f

Please sign in to comment.