mirror of
https://github.com/zeldaret/mm.git
synced 2026-05-23 15:01:32 -04:00
Use Romfile in place of vromStart and vromEnd in structs (#1618)
* DmaEntry * KaleidoMgrOverlay * ActorOverlay * EffectSsOverlay * GameStateOverlay * TransitionOverlay
This commit is contained in:
+1
-1
@@ -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
@@ -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
@@ -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
@@ -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 },
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 },
|
||||
|
||||
@@ -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
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user