summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/boot/z_std_dma.c18
-rw-r--r--src/code/graph.c2
-rw-r--r--src/code/z_DLF.c4
-rw-r--r--src/code/z_actor.c4
-rw-r--r--src/code/z_actor_dlftbls.c27
-rw-r--r--src/code/z_effect_soft_sprite.c4
-rw-r--r--src/code/z_effect_soft_sprite_dlftbls.c12
-rw-r--r--src/code/z_fbdemo_dlftbls.c3
-rw-r--r--src/code/z_game_dlftbls.c32
-rw-r--r--src/code/z_kaleido_manager.c9
-rw-r--r--src/code/z_overlay.c12
-rw-r--r--src/dmadata/dmadata.c6
12 files changed, 64 insertions, 69 deletions
diff --git a/src/boot/z_std_dma.c b/src/boot/z_std_dma.c
index d15da6518..71e64ad69 100644
--- a/src/boot/z_std_dma.c
+++ b/src/boot/z_std_dma.c
@@ -114,8 +114,8 @@ s32 DmaMgr_AudioDmaHandler(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction) {
DmaEntry* DmaMgr_FindDmaEntry(uintptr_t vrom) {
DmaEntry* entry;
- for (entry = gDmaDataTable; entry->vromEnd != 0; entry++) {
- if ((vrom >= entry->vromStart) && (vrom < entry->vromEnd)) {
+ for (entry = gDmaDataTable; entry->file.vromEnd != 0; entry++) {
+ if ((vrom >= entry->file.vromStart) && (vrom < entry->file.vromEnd)) {
return entry;
}
}
@@ -128,10 +128,10 @@ s32 DmaMgr_TranslateVromToRom(uintptr_t vrom) {
if (entry != NULL) {
if (entry->romEnd == 0) {
- return vrom + entry->romStart - entry->vromStart;
+ return vrom + entry->romStart - entry->file.vromStart;
}
- if (vrom == entry->vromStart) {
+ if (vrom == entry->file.vromStart) {
return entry->romStart;
}
@@ -169,23 +169,23 @@ void DmaMgr_ProcessRequest(DmaRequest* req) {
if (entry->romEnd == 0) {
// romEnd of 0 indicates that the file is uncompressed. Files that are stored uncompressed can have
// only part of their content loaded into RAM, so DMA only the requested region.
- if (entry->vromEnd < (vrom + size)) {
+ if (entry->file.vromEnd < (vrom + size)) {
// Error, vrom + size ends up in a different file than it started in
Fault_AddHungupAndCrash("../z_std_dma.c", 499);
}
- DmaMgr_DmaRomToRam((entry->romStart + vrom) - entry->vromStart, ram, size);
+ DmaMgr_DmaRomToRam((entry->romStart + vrom) - entry->file.vromStart, ram, size);
} else {
// File is compressed. Files that are stored compressed must be loaded into RAM all at once.
romSize = entry->romEnd - entry->romStart;
romStart = entry->romStart;
- if (vrom != entry->vromStart) {
+ if (vrom != entry->file.vromStart) {
// Error, requested vrom is not the start of a file
Fault_AddHungupAndCrash("../z_std_dma.c", 518);
}
- if (size != (entry->vromEnd - entry->vromStart)) {
+ if (size != (entry->file.vromEnd - entry->file.vromStart)) {
// Error, only part of the file was requested
Fault_AddHungupAndCrash("../z_std_dma.c", 525);
}
@@ -290,7 +290,7 @@ void DmaMgr_Init(void) {
DmaEntry* entry = gDmaDataTable;
s32 index = 0;
- while (entry->vromEnd != 0) {
+ while (entry->file.vromEnd != 0) {
entry++;
index++;
}
diff --git a/src/code/graph.c b/src/code/graph.c
index ee0f5671e..191ea1960 100644
--- a/src/code/graph.c
+++ b/src/code/graph.c
@@ -362,7 +362,7 @@ void Graph_ThreadEntry(void* arg) {
size = ovl->instanceSize;
- func_800809F4(ovl->vromStart);
+ func_800809F4(ovl->file.vromStart);
gameState = malloc(size);
diff --git a/src/code/z_DLF.c b/src/code/z_DLF.c
index 14031d3d3..e1091e593 100644
--- a/src/code/z_DLF.c
+++ b/src/code/z_DLF.c
@@ -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)
diff --git a/src/code/z_actor.c b/src/code/z_actor.c
index bd4457671..6b5d79ecd 100644
--- a/src/code/z_actor.c
+++ b/src/code/z_actor.c
@@ -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;
}
diff --git a/src/code/z_actor_dlftbls.c b/src/code/z_actor_dlftbls.c
index d3d925fbc..f884de2df 100644
--- a/src/code/z_actor_dlftbls.c
+++ b/src/code/z_actor_dlftbls.c
@@ -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 },
-
-#define DEFINE_ACTOR_INTERNAL(name, _enumValue, allocType, _debugName) \
- { 0, 0, NULL, NULL, 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) \
+ { \
+ ROM_FILE_UNSET, NULL, NULL, NULL, &name##_InitVars, NULL, allocType, 0, \
+ },
#define DEFINE_ACTOR_UNSET(_enumValue) { 0 },
diff --git a/src/code/z_effect_soft_sprite.c b/src/code/z_effect_soft_sprite.c
index 3b340a15c..abe0f5d97 100644
--- a/src/code/z_effect_soft_sprite.c
+++ b/src/code/z_effect_soft_sprite.c
@@ -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)
diff --git a/src/code/z_effect_soft_sprite_dlftbls.c b/src/code/z_effect_soft_sprite_dlftbls.c
index 6f561dd05..69dab2885 100644
--- a/src/code/z_effect_soft_sprite_dlftbls.c
+++ b/src/code/z_effect_soft_sprite_dlftbls.c
@@ -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 },
diff --git a/src/code/z_fbdemo_dlftbls.c b/src/code/z_fbdemo_dlftbls.c
index df73ed1b3..091d02ed6 100644
--- a/src/code/z_fbdemo_dlftbls.c
+++ b/src/code/z_fbdemo_dlftbls.c
@@ -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), \
},
diff --git a/src/code/z_game_dlftbls.c b/src/code/z_game_dlftbls.c
index cb3aee317..36ffa0e60 100644
--- a/src/code/z_game_dlftbls.c
+++ b/src/code/z_game_dlftbls.c
@@ -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"
diff --git a/src/code/z_kaleido_manager.c b/src/code/z_kaleido_manager.c
index 83256b816..5ec22b1d3 100644
--- a/src/code/z_kaleido_manager.c
+++ b/src/code/z_kaleido_manager.c
@@ -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;
}
diff --git a/src/code/z_overlay.c b/src/code/z_overlay.c
index c994ba9ec..dd20a6b3c 100644
--- a/src/code/z_overlay.c
+++ b/src/code/z_overlay.c
@@ -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;
}
diff --git a/src/dmadata/dmadata.c b/src/dmadata/dmadata.c
index faeb5f338..42cb8fcf3 100644
--- a/src/dmadata/dmadata.c
+++ b/src/dmadata/dmadata.c
@@ -11,10 +11,8 @@
#undef DEFINE_DMA_ENTRY_SYMS
// dmadata Table definition
-#define DEFINE_DMA_ENTRY(name, _nameString) \
- { SEGMENT_ROM_START(name), SEGMENT_ROM_END(name), SEGMENT_ROM_START(name), 0 },
-#define DEFINE_DMA_ENTRY_SYMS(name, _nameString) \
- { SEGMENT_ROM_START(name), SEGMENT_ROM_END(name), 0xFFFFFFFF, 0xFFFFFFFF },
+#define DEFINE_DMA_ENTRY(name, _nameString) { ROM_FILE(name), SEGMENT_ROM_START(name), 0 },
+#define DEFINE_DMA_ENTRY_SYMS(name, _nameString) { ROM_FILE(name), 0xFFFFFFFF, 0xFFFFFFFF },
DmaEntry gDmaDataTable[] = {
#include "tables/dmadata_table.h"