Use Romfile in place of vromStart and vromEnd in structs (#1618)

* DmaEntry

* KaleidoMgrOverlay

* ActorOverlay

* EffectSsOverlay

* GameStateOverlay

* TransitionOverlay
This commit is contained in:
Derek Hensley
2024-05-12 10:08:52 -07:00
committed by GitHub
parent 0e8b225279
commit 6d315fa2ae
20 changed files with 97 additions and 92 deletions
+1 -1
View File
@@ -362,7 +362,7 @@ void Graph_ThreadEntry(void* arg) {
size = ovl->instanceSize;
func_800809F4(ovl->vromStart);
func_800809F4(ovl->file.vromStart);
gameState = malloc(size);
+2 -2
View File
@@ -17,8 +17,8 @@ void Overlay_LoadGameState(GameStateOverlay* overlayEntry) {
return;
}
overlayEntry->loadedRamAddr =
Overlay_AllocateAndLoad(overlayEntry->vromStart, overlayEntry->vromEnd, vramStart, overlayEntry->vramEnd);
overlayEntry->loadedRamAddr = Overlay_AllocateAndLoad(overlayEntry->file.vromStart, overlayEntry->file.vromEnd,
vramStart, overlayEntry->vramEnd);
if (overlayEntry->loadedRamAddr != NULL) {
overlayEntry->unk_14 = (void*)(uintptr_t)((overlayEntry->unk_14 != NULL)
+2 -2
View File
@@ -3299,8 +3299,8 @@ ActorInit* Actor_LoadOverlay(ActorContext* actorCtx, s16 index) {
return NULL;
}
Overlay_Load(overlayEntry->vromStart, overlayEntry->vromEnd, overlayEntry->vramStart, overlayEntry->vramEnd,
overlayEntry->loadedRamAddr);
Overlay_Load(overlayEntry->file.vromStart, overlayEntry->file.vromEnd, overlayEntry->vramStart,
overlayEntry->vramEnd, overlayEntry->loadedRamAddr);
overlayEntry->numLoaded = 0;
}
+14 -11
View File
@@ -17,18 +17,21 @@
// Actor Overlay Table definition
#define DEFINE_ACTOR(name, _enumValue, allocType, _debugName) \
{ SEGMENT_ROM_START(ovl_##name), \
SEGMENT_ROM_END(ovl_##name), \
SEGMENT_START(ovl_##name), \
SEGMENT_END(ovl_##name), \
NULL, \
&name##_InitVars, \
NULL, \
allocType, \
0 },
{ \
ROM_FILE(ovl_##name), \
SEGMENT_START(ovl_##name), \
SEGMENT_END(ovl_##name), \
NULL, \
&name##_InitVars, \
NULL, \
allocType, \
0, \
},
#define DEFINE_ACTOR_INTERNAL(name, _enumValue, allocType, _debugName) \
{ 0, 0, NULL, NULL, NULL, &name##_InitVars, NULL, allocType, 0 },
#define DEFINE_ACTOR_INTERNAL(name, _enumValue, allocType, _debugName) \
{ \
ROM_FILE_UNSET, NULL, NULL, NULL, &name##_InitVars, NULL, allocType, 0, \
},
#define DEFINE_ACTOR_UNSET(_enumValue) { 0 },
+2 -2
View File
@@ -191,8 +191,8 @@ void EffectSs_Spawn(PlayState* play, s32 type, s32 priority, void* initData) {
return;
}
Overlay_Load(overlayEntry->vromStart, overlayEntry->vromEnd, overlayEntry->vramStart, overlayEntry->vramEnd,
overlayEntry->loadedRamAddr);
Overlay_Load(overlayEntry->file.vromStart, overlayEntry->file.vromEnd, overlayEntry->vramStart,
overlayEntry->vramEnd, overlayEntry->loadedRamAddr);
}
initInfo = (void*)(uintptr_t)((overlayEntry->initInfo != NULL)
+3 -9
View File
@@ -13,15 +13,9 @@
#undef DEFINE_EFFECT_SS
#undef DEFINE_EFFECT_SS_UNSET
#define DEFINE_EFFECT_SS(name, _enumValue) \
{ \
SEGMENT_ROM_START(ovl_##name), \
SEGMENT_ROM_END(ovl_##name), \
SEGMENT_START(ovl_##name), \
SEGMENT_END(ovl_##name), \
NULL, \
&name##_InitVars, \
1, \
#define DEFINE_EFFECT_SS(name, _enumValue) \
{ \
ROM_FILE(ovl_##name), SEGMENT_START(ovl_##name), SEGMENT_END(ovl_##name), NULL, &name##_InitVars, 1, \
},
#define DEFINE_EFFECT_SS_UNSET(_enumValue) { 0 },
+1 -2
View File
@@ -20,8 +20,7 @@
{ 0, 0 }, \
SEGMENT_START(ovl_##name), \
SEGMENT_END(ovl_##name), \
SEGMENT_ROM_START(ovl_##name), \
SEGMENT_ROM_END(ovl_##name), \
ROM_FILE(ovl_##name), \
&structName##_InitVars, \
sizeof(structName), \
},
+18 -14
View File
@@ -16,22 +16,26 @@
#undef DEFINE_GAMESTATE_INTERNAL
// Gamestate Overlay Table definition
#define DEFINE_GAMESTATE_INTERNAL(typeName, _enumName) \
{ NULL, 0, 0, NULL, NULL, NULL, typeName##_Init, typeName##_Destroy, NULL, NULL, 0, sizeof(typeName##State) },
#define DEFINE_GAMESTATE_INTERNAL(typeName, _enumName) \
{ \
NULL, ROM_FILE_UNSET, NULL, NULL, NULL, typeName##_Init, typeName##_Destroy, NULL, NULL, \
0, sizeof(typeName##State), \
},
#define DEFINE_GAMESTATE(typeName, _enumName, segmentName) \
{ NULL, \
(uintptr_t)SEGMENT_ROM_START(ovl_##segmentName), \
(uintptr_t)SEGMENT_ROM_END(ovl_##segmentName), \
SEGMENT_START(ovl_##segmentName), \
SEGMENT_END(ovl_##segmentName), \
NULL, \
typeName##_Init, \
typeName##_Destroy, \
NULL, \
NULL, \
0, \
sizeof(typeName##State) },
{ \
NULL, \
ROM_FILE(ovl_##segmentName), \
SEGMENT_START(ovl_##segmentName), \
SEGMENT_END(ovl_##segmentName), \
NULL, \
typeName##_Init, \
typeName##_Destroy, \
NULL, \
NULL, \
0, \
sizeof(typeName##State), \
},
GameStateOverlay gGameStateOverlayTable[GAMESTATE_ID_MAX] = {
#include "tables/gamestate_table.h"
+3 -6
View File
@@ -4,11 +4,8 @@
#include "fault.h"
#include "loadfragment.h"
#define KALEIDO_OVERLAY(name) \
{ \
NULL, SEGMENT_ROM_START(ovl_##name), SEGMENT_ROM_END(ovl_##name), SEGMENT_START(ovl_##name), \
SEGMENT_END(ovl_##name), 0, #name, \
}
#define KALEIDO_OVERLAY(name) \
{ NULL, ROM_FILE(ovl_##name), SEGMENT_START(ovl_##name), SEGMENT_END(ovl_##name), 0, #name }
KaleidoMgrOverlay gKaleidoMgrOverlayTable[KALEIDO_OVL_MAX] = {
KALEIDO_OVERLAY(kaleido_scope),
@@ -43,7 +40,7 @@ uintptr_t KaleidoManager_FaultAddrConv(uintptr_t address, void* param) {
void KaleidoManager_LoadOvl(KaleidoMgrOverlay* ovl) {
ovl->loadedRamAddr = sKaleidoAreaPtr;
Overlay_Load(ovl->vromStart, ovl->vromEnd, ovl->vramStart, ovl->vramEnd, ovl->loadedRamAddr);
Overlay_Load(ovl->file.vromStart, ovl->file.vromEnd, ovl->vramStart, ovl->vramEnd, ovl->loadedRamAddr);
ovl->offset = (uintptr_t)ovl->loadedRamAddr - (uintptr_t)ovl->vramStart;
gKaleidoMgrCurOvl = ovl;
}
+6 -6
View File
@@ -31,7 +31,7 @@ TransitionOverlayStatus TransitionOverlay_Load(TransitionOverlay* overlayEntry)
s32 count;
void* loadedRamAddr;
if (overlayEntry->vromStart == 0) {
if (overlayEntry->file.vromStart == 0) {
return TRANSITION_OVERLAY_STATUS_INTERNAL;
}
@@ -42,8 +42,8 @@ TransitionOverlayStatus TransitionOverlay_Load(TransitionOverlay* overlayEntry)
return TRANSITION_OVERLAY_STATUS_FAILED;
}
Overlay_Load(overlayEntry->vromStart, overlayEntry->vromEnd, overlayEntry->vramStart, overlayEntry->vramEnd,
loadedRamAddr);
Overlay_Load(overlayEntry->file.vromStart, overlayEntry->file.vromEnd, overlayEntry->vramStart,
overlayEntry->vramEnd, loadedRamAddr);
overlayEntry->loadInfo.addr = Lib_VirtualToPhysical(loadedRamAddr);
overlayEntry->loadInfo.count = 1;
return TRANSITION_OVERLAY_STATUS_LOAD_FREE;
@@ -68,7 +68,7 @@ TransitionOverlayStatus TransitionOverlay_Free(TransitionOverlay* overlayEntry)
s32 count;
void* loadedRamAddr;
if (overlayEntry->vromStart == 0) {
if (overlayEntry->file.vromStart == 0) {
return TRANSITION_OVERLAY_STATUS_INTERNAL;
}
@@ -98,6 +98,6 @@ void TransitionOverlay_SetSegment(TransitionOverlay* overlayEntry, void* vramSta
uintptr_t vromEnd) {
overlayEntry->vramStart = vramStart;
overlayEntry->vramEnd = vramEnd;
overlayEntry->vromStart = vromStart;
overlayEntry->vromEnd = vromEnd;
overlayEntry->file.vromStart = vromStart;
overlayEntry->file.vromEnd = vromEnd;
}