z_actor_dlftbls.c OK. Rework a bunch of segment address organization. (#29)

This commit is contained in:
Rozelette
2020-09-27 20:19:06 -04:00
committed by GitHub
parent a672633c3b
commit 07efebe2ff
19 changed files with 8041 additions and 9023 deletions
-4611
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -907,10 +907,10 @@ void func_800BE5CC(void); // func_800BE5CC
void func_800BE63C(void); // func_800BE63C
void func_800BE680(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7, UNK_TYPE1 param_8); // func_800BE680
void func_800BF7CC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); // func_800BF7CC
void func_800BF9A0(s32 a0, s32 a1); // func_800BF9A0
s32 func_800BFA78(s32 param_1, s32 param_2); // func_800BFA78
void func_800BFAE8(void); // func_800BFAE8
void func_800BFB40(void); // func_800BFB40
void ActorOverlayTable_FaultPrint(void* arg0, void* arg1); // ActorOverlayTable_FaultPrint
void* ActorOverlayTable_FaultAddrConv(void* arg0, void* arg1); // ActorOverlayTable_FaultAddrConv
void ActorOverlayTable_Init(void); // ActorOverlayTable_Init
void ActorOverlayTable_Cleanup(void); // ActorOverlayTable_Cleanup
void BgCheck_PolygonLinkedListNodeInit(BgPolygonLinkedListNode* node, s16* polyIndex, u16 next); // func_800BFB80
void BgCheck_PolygonLinkedListResetHead(u16* head); // func_800BFB9C
void BgCheck_ScenePolygonListsNodeInsert(BgScenePolygonLists* list, u16* head, s16* polyIndex); // func_800BFBAC
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -2,7 +2,7 @@
#define _VARIABLES_H_
#include <z64.h>
#include <dmadata.h>
#include <segment_symbols.h>
#include <segment.h>
#include <section.h>
#include <pre_boot_variables.h>
@@ -352,11 +352,11 @@ extern DmaEntry dmadata[1568]; // D_8009F8B0
extern UNK_TYPE1 D_80186028; // D_80186028
extern UNK_TYPE1 D_801AAAB0; // D_801AAAB0
extern UNK_TYPE1 D_801AD370; // D_801AD370
extern ActorInit enAObjInitData; // D_801ADE60
extern ActorInit En_A_Obj_InitVars; // En_A_Obj_InitVars
extern ColCylinderInit enAObjCylinderInit; // D_801ADE80
extern InitChainEntry enAObjInitVar; // D_801ADEAC
extern u32 enAObjDisplayLists[2]; // D_801ADEB0
extern ActorInit enItem00InitData; // D_801ADEC0
extern ActorInit En_Item00_InitVars; // En_Item00_InitVars
extern ColCylinderInit enItem00CylinderInit; // D_801ADEE0
extern InitChainEntry enItem00InitVars[1]; // D_801ADF0C
extern UNK_TYPE1 D_801ADF10; // D_801ADF10
@@ -438,8 +438,8 @@ extern UNK_TYPE1 D_801AEFA8; // D_801AEFA8
extern UNK_TYPE1 D_801AEFB8; // D_801AEFB8
extern UNK_TYPE1 D_801AEFBC; // D_801AEFBC
extern UNK_TYPE1 D_801AEFC0; // D_801AEFC0
extern ActorOverlay actorOverlayTable[ACTOR_ID_MAX]; // D_801AEFD0
extern UNK_TYPE4 D_801B4610; // D_801B4610
extern ActorOverlay gActorOverlayTable[ACTOR_ID_MAX]; // D_801AEFD0
extern s32 gMaxActorId; // gMaxActorId
extern u32 D_801B4620[32]; // D_801B4620
extern u16 D_801B46A0[16]; // D_801B46A0
extern u8 D_801B46C0[16]; // D_801B46C0
@@ -2253,7 +2253,7 @@ extern UNK_TYPE1 D_801D08D8; // D_801D08D8
extern UNK_TYPE1 D_801D08E4; // D_801D08E4
extern UNK_TYPE1 D_801D08E8; // D_801D08E8
extern UNK_TYPE1 D_801D0900; // D_801D0900
extern ActorInit D_801D0B50; // D_801D0B50
extern ActorInit Player_InitVars; // Player_InitVars
extern UNK_TYPE1 D_801D0B70; // D_801D0B70
extern UNK_TYPE1 D_801D0B8C; // D_801D0B8C
extern UNK_TYPE4 D_801D0BA8; // D_801D0BA8
File diff suppressed because it is too large Load Diff
+6
View File
@@ -70,6 +70,12 @@ typedef struct {
/* 0x1C */ ActorFunc draw;
} ActorInit; // size = 0x20
typedef enum {
ALLOCTYPE_NORMAL,
ALLOCTYPE_ABSOLUTE,
ALLOCTYPE_PERMANENT
} AllocType;
typedef struct {
/* 0x00 */ u32 vromStart;
/* 0x04 */ u32 vromEnd;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -55,7 +55,7 @@ void Idle_InitCodeAndMemory(void) {
oldSize = sDmaMgrDmaBuffSize;
sDmaMgrDmaBuffSize = 0;
DmaMgr_SendRequestImpl(&dmaReq, (u32)&code_text_start, (u32)&code_vrom_start, (u32)&code_vrom_end - (u32)&code_vrom_start, 0, &queue, 0);
DmaMgr_SendRequestImpl(&dmaReq, (u32)&code_text_start, (u32)_codeSegmentRomStart, (u32)_codeSegmentRomEnd - (u32)_codeSegmentRomStart, 0, &queue, 0);
Idle_InitScreen();
Idle_InitMemory();
osRecvMesg(&queue, 0, 1);
+1 -1
View File
@@ -200,7 +200,7 @@ s32 DmaMgr_SendRequest0(void* vramStart, u32 vromStart, u32 size) {
void Dmamgr_Start() {
DmaEntry* v0;
u32 v1;
DmaMgr_DMARomToRam((u32)&dmadata_vrom_start, dmadata, (u32)&dmadata_vrom_end - (u32)&dmadata_vrom_start);
DmaMgr_DMARomToRam((u32)_dmadataSegmentRomStart, dmadata, (u32)_dmadataSegmentRomEnd - (u32)_dmadataSegmentRomStart);
for (v0 = dmadata, v1 = 0; v0->vromEnd != 0; v0++, v1++);
-52
View File
@@ -1,52 +0,0 @@
#include <ultra64.h>
#include <global.h>
void func_800BF9A0(s32 a0, s32 a1) {
s32 i;
ActorOverlay* s0;
s32 v1;
func_8008439C(-2, 0);
func_800847CC(D_801DCBB0, D_801B4610);
func_800847CC(D_801DCBC4);
for (i = 0, s0 = &actorOverlayTable[0]; i < D_801B4610; i++, s0++) {
v1 = (u32)s0->vramEnd - (u32)s0->vramStart;
if (s0->loadedRamAddr == NULL) continue;
func_800847CC(D_801DCBE4, i, s0->loadedRamAddr, (u32)s0->loadedRamAddr + v1, s0->nbLoaded, &D_801DCBFC);
}
}
s32 func_800BFA78(s32 a0, s32 a1) {
s32 i;
ActorOverlay* v0 = &actorOverlayTable[0];
s32 t1;
s32 a2;
s32 a0_2 = a0;
for (i = 0; i < D_801B4610; i++, v0++) {
t1 = (u32)v0->vramStart - (u32)v0->loadedRamAddr;
a2 = (u32)v0->vramEnd - (u32)v0->vramStart;
if (v0->loadedRamAddr == NULL) continue;
if (a0_2 < (u32)v0->loadedRamAddr) continue;
if (a0_2 < ((u32)v0->loadedRamAddr + a2)) {
return a0_2 + t1;
}
}
return 0;
}
void func_800BFAE8(void) {
D_801B4610 = ACTOR_ID_MAX;
func_800819F0(&D_801ED930, (u32)func_800BF9A0, 0, 0);
func_80081BCC(&D_801ED940, (u32)func_800BFA78, 0);
}
void func_800BFB40(void) {
func_80081AD4(&D_801ED930);
func_80081CA4(&D_801ED940);
D_801B4610 = 0;
}
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -6,13 +6,13 @@ void Kanfont_Nop800F4F40(GlobalContext* ctxt, UNK_TYPE param_2, UNK_TYPE param_3
void Kanfont_LoadAsciiChar(GlobalContext* ctxt, u8 character, s32 iParm3) {
// UB to convert pointer to u32
DmaMgr_SendRequest0((void*)((u32)&ctxt->msgCtx.font.unk0[(ctxt->msgCtx).unk11EF0] + iParm3),
(u32)&nes_font_static_vrom_start + character * 0x80 - 0x1000,
(u32)_nes_font_staticSegmentRomStart + character * 0x80 - 0x1000,
0x80);
}
void Kanfont_LoadMessageBoxEnd(Font* font, u16 type) {
// UB to convert pointer to u32
DmaMgr_SendRequest0(&font->unk7800[0][0], type * 0x80 + (u32)&message_static_vrom_start + 0x5000, 0x80);
DmaMgr_SendRequest0(&font->unk7800[0][0], type * 0x80 + (u32)_message_staticSegmentRomStart + 0x5000, 0x80);
}
void Kanfont_LoadOrderedFont(Font* font) {
@@ -27,7 +27,7 @@ void Kanfont_LoadOrderedFont(Font* font) {
loadOffset = 0;
}
// UB to convert pointer to u32
DmaMgr_SendRequest0(writeLocation, (u32)&nes_font_static_vrom_start + loadOffset, 0x80);
DmaMgr_SendRequest0(writeLocation, (u32)_nes_font_staticSegmentRomStart + loadOffset, 0x80);
if (kanfontOrdering[codePointIndex] == 140) break;
codePointIndex++;
}
+1 -1
View File
@@ -172,7 +172,7 @@ void Scene_HeaderCommand00(GlobalContext* ctxt, SceneCmd* entry) {
ctxt->sceneContext.spawnedObjectCount = loadedCount;
unk20 = gSaveContext.perm.unk20;
temp16 = D_801C2730[unk20];
actorOverlayTable[0].initInfo->objectId = temp16;
gActorOverlayTable[0].initInfo->objectId = temp16;
Scene_LoadObject(&ctxt->sceneContext, temp16);
ctxt->sceneContext.objects[ctxt->sceneContext.objectCount].vramAddr = objectVramAddr;
+4 -4
View File
@@ -904,10 +904,10 @@
0x800BE63C:("func_800BE63C",),
0x800BE680:("func_800BE680",),
0x800BF7CC:("func_800BF7CC",),
0x800BF9A0:("func_800BF9A0",),
0x800BFA78:("func_800BFA78",),
0x800BFAE8:("func_800BFAE8",),
0x800BFB40:("func_800BFB40",),
0x800BF9A0:("ActorOverlayTable_FaultPrint",),
0x800BFA78:("ActorOverlayTable_FaultAddrConv",),
0x800BFAE8:("ActorOverlayTable_Init",),
0x800BFB40:("ActorOverlayTable_Cleanup",),
0x800BFB80:("BgCheck_PolygonLinkedListNodeInit",),
0x800BFB9C:("BgCheck_PolygonLinkedListResetHead",),
0x800BFBAC:("BgCheck_ScenePolygonListsNodeInsert",),
+2 -2
View File
@@ -268,7 +268,7 @@
0x800B32D0:"flg_set",
0x800B3880:"z_DLF",
0x800B3AD0:"z_actor",
0x800BF9A0:"",
0x800BF9A0:"z_actor_dlftbls",
0x800BFB80:"z_bgcheck",
0x800CAAD0:"",
0x800CAE10:"",
@@ -402,7 +402,7 @@
0x801AE8F0:"code_data_flg_set_table",
0x801AEC70:"code_data_flg_set",
0x801AEC80:"code_data_z_actor",
0x801B4610:"code_data_0x800BF9A0",
0x801AEFD0:"code_data_z_actor_dlftbls",
0x801B4620:"code_data_z_bgcheck",
0x801B4710:"code_data_z_camera",
0x801B9F20:"code_data_z_collision_check",
+562 -562
View File
File diff suppressed because it is too large Load Diff
+59 -59
View File
@@ -2,67 +2,67 @@
{
# NOTE These symbols could be one of two symbols: the start of a file or the end of a file before it.
# The choice for disassembly is arbitrary but in code it should be the one that makes sense.
0x0001A500:("dmadata_vrom_start","u32","",0x4), # Start of dmadata
0x00020700:("dmadata_vrom_end","u32","",0x4), # Byte immediately after end of dmadata
0x00046AF0:("Audioseq_vrom_start","UNK_TYPE","",0x4),
0x00097F70:("Audioseq_vrom_end","UNK_TYPE","",0x4),
0x0065D000:("link_animetion_vrom_start","UNK_TYPE","",0x4),
0x0001A500:("_dmadataSegmentRomStart","u32","",0x4), # Start of dmadata
0x00020700:("_dmadataSegmentRomEnd","u32","",0x4), # Byte immediately after end of dmadata
0x00046AF0:("_AudioseqSegmentRomStart","UNK_TYPE","",0x4),
0x00097F70:("_AudioseqSegmentRomEnd","UNK_TYPE","",0x4),
0x0065D000:("_link_animetionSegmentRomStart","UNK_TYPE","",0x4),
0x00957000:("","UNK_TYPE","",0x4), # ovl_kaleido_scope uses this. It is the start of vrom for a null entry in dmadata???
0x009ECEC0:("","UNK_TYPE","",0x4), # ovl_kaleido_scope uses this. It is the end of vrom for a null entry in dmadata???
0x009ED000:("","UNK_TYPE","",0x4), # ovl_kaleido_scope uses this. It is the start of vrom for a null entry in dmadata???
0x009F4700:("","UNK_TYPE","",0x4), # ovl_kaleido_scope uses this. It is the end of vrom for a null entry in dmadata???
0x009F5000:("icon_item_field_static_vrom_start","UNK_TYPE","",0x4),
0x00A09AF0:("icon_item_field_static_vrom_end","UNK_TYPE","",0x4),
0x00A0A000:("icon_item_dungeon_static_vrom_start","UNK_TYPE","",0x4),
0x00A0EB80:("icon_item_dungeon_static_vrom_end","UNK_TYPE","",0x4),
0x00A0F000:("icon_item_gameover_static_vrom_start","UNK_TYPE","",0x4),
0x00A12300:("icon_item_gameover_static_vrom_end","UNK_TYPE","",0x4),
0x00A13000:("_013_0x00963540_vrom_start","UNK_TYPE","",0x4),
0x00A1BA00:("_013_0x00963540_vrom_end","UNK_TYPE","",0x4),
0x00A1C000:("_014_0x00967260_vrom_start","UNK_TYPE","",0x4),
0x00A1C2E0:("_014_0x00967260_vrom_end","UNK_TYPE","",0x4),
0x00A1D000:("map_i_static_vrom_start","UNK_TYPE","",0x4),
0x00A1E310:("map_grand_static_vrom_start","UNK_TYPE","",0x4),
0x00A27660:("item_name_static_vrom_start","UNK_TYPE","",0x4),
0x00A352F0:("map_name_static_vrom_start","UNK_TYPE","",0x4),
0x00A36C10:("_019_0x00980f60_vrom_start","UNK_TYPE","",0x4),
0x00A7BEE0:("_020_0x009c6230_vrom_start","UNK_TYPE","",0x4),
0x00A807A0:("_020_0x009c6230_vrom_end","UNK_TYPE","",0x4),
0x00A8C000:("_022_0x009caaf0_vrom_start","UNK_TYPE","",0x4),
0x00A92A10:("_023_0x009d1500_vrom_start","UNK_TYPE","",0x4),
0x00A990E0:("_023_0x009d1500_vrom_end","UNK_TYPE","",0x4),
0x00A9A000:("_024_0x009d3760_vrom_start","UNK_TYPE","",0x4),
0x00ABFC00:("_024_0x009d3760_vrom_end","UNK_TYPE","",0x4),
0x00AC0000:("do_action_static_vrom_start","UNK_TYPE","",0x4),
0x00AC4000:("message_static_vrom_start","UNK_TYPE","",0x4),
0x00ACA000:("message_texture_static_vrom_start","UNK_TYPE","",0x4),
0x00ACC000:("nes_font_static_vrom_start","UNK_TYPE","",0x4),
0x00AD1000:("en_message_data_static_vrom_start","UNK_TYPE","",0x4),
0x00B3B000:("staff_message_data_static_vrom_start","UNK_TYPE","",0x4),
0x00B3C000:("code_vrom_start","UNK_TYPE","",0x4),
0x00C7A4E0:("code_vrom_end","UNK_TYPE","",0x4),
0x01E85000:("nintendo_rogo_static_vrom_start","UNK_TYPE","",0x4),
0x01E87DC0:("nintendo_rogo_static_vrom_end","UNK_TYPE","",0x4),
0x01E88000:("title_static_vrom_start","UNK_TYPE","",0x4),
0x01EB9730:("title_static_vrom_end","UNK_TYPE","",0x4),
0x01EBA000:("_1124_0x0163f490_vrom_start","UNK_TYPE","",0x4),
0x01EBB280:("_1124_0x0163f490_vrom_end","UNK_TYPE","",0x4),
0x01EBC000:("_1125_0x0163fc10_vrom_start","UNK_TYPE","",0x4),
0x01EBC680:("_1125_0x0163fc10_vrom_end","UNK_TYPE","",0x4),
0x01EBD000:("_1126_0x0163ffc0_vrom_start","UNK_TYPE","",0x4),
0x01EC8B20:("_1126_0x0163ffc0_vrom_end","UNK_TYPE","",0x4),
0x01EC9000:("_1127_0x01643d50_vrom_start","UNK_TYPE","",0x4),
0x01EC9F30:("_1127_0x01643d50_vrom_end","UNK_TYPE","",0x4),
0x01ECA000:("_1128_0x01644c80_vrom_start","UNK_TYPE","",0x4),
0x01ED3B00:("_1128_0x01644c80_vrom_end","UNK_TYPE","",0x4),
0x01ED4000:("_1129_0x01646b60_vrom_start","UNK_TYPE","",0x4),
0x01EDDB00:("_1129_0x01646b60_vrom_end","UNK_TYPE","",0x4),
0x01EDE000:("_1130_0x01649020_vrom_start","UNK_TYPE","",0x4),
0x01EE7B00:("_1130_0x01649020_vrom_end","UNK_TYPE","",0x4),
0x01EE8000:("_1131_0x0164ad90_vrom_start","UNK_TYPE","",0x4),
0x01EF1B00:("_1131_0x0164ad90_vrom_end","UNK_TYPE","",0x4),
0x01EF2000:("vr_fine_static_vrom_start","UNK_TYPE","",0x4),
0x01EFE000:("vr_cloud_static_vrom_start","UNK_TYPE","",0x4),
0x01F0A000:("vr_pal_static_vrom_start","UNK_TYPE","",0x4),
0x01F0A200:("vr_pal_static_vrom_end","UNK_TYPE","",0x4),
0x009F5000:("_icon_item_field_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00A09AF0:("_icon_item_field_staticSegmentRomEnd","UNK_TYPE","",0x4),
0x00A0A000:("_icon_item_dungeon_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00A0EB80:("_icon_item_dungeon_staticSegmentRomEnd","UNK_TYPE","",0x4),
0x00A0F000:("_icon_item_gameover_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00A12300:("_icon_item_gameover_staticSegmentRomEnd","UNK_TYPE","",0x4),
0x00A13000:("__013_0x00963540SegmentRomStart","UNK_TYPE","",0x4),
0x00A1BA00:("__013_0x00963540SegmentRomEnd","UNK_TYPE","",0x4),
0x00A1C000:("__014_0x00967260SegmentRomStart","UNK_TYPE","",0x4),
0x00A1C2E0:("__014_0x00967260SegmentRomEnd","UNK_TYPE","",0x4),
0x00A1D000:("_map_i_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00A1E310:("_map_grand_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00A27660:("_item_name_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00A352F0:("_map_name_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00A36C10:("__019_0x00980f60SegmentRomStart","UNK_TYPE","",0x4),
0x00A7BEE0:("__020_0x009c6230SegmentRomStart","UNK_TYPE","",0x4),
0x00A807A0:("__020_0x009c6230SegmentRomEnd","UNK_TYPE","",0x4),
0x00A8C000:("__022_0x009caaf0SegmentRomStart","UNK_TYPE","",0x4),
0x00A92A10:("__023_0x009d1500SegmentRomStart","UNK_TYPE","",0x4),
0x00A990E0:("__023_0x009d1500SegmentRomEnd","UNK_TYPE","",0x4),
0x00A9A000:("__024_0x009d3760SegmentRomStart","UNK_TYPE","",0x4),
0x00ABFC00:("__024_0x009d3760SegmentRomEnd","UNK_TYPE","",0x4),
0x00AC0000:("_do_action_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00AC4000:("_message_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00ACA000:("_message_texture_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00ACC000:("_nes_font_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00AD1000:("_en_message_data_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00B3B000:("_staff_message_data_staticSegmentRomStart","UNK_TYPE","",0x4),
0x00B3C000:("_codeSegmentRomStart","UNK_TYPE","",0x4),
0x00C7A4E0:("_codeSegmentRomEnd","UNK_TYPE","",0x4),
0x01E85000:("_nintendo_rogo_staticSegmentRomStart","UNK_TYPE","",0x4),
0x01E87DC0:("_nintendo_rogo_staticSegmentRomEnd","UNK_TYPE","",0x4),
0x01E88000:("_title_staticSegmentRomStart","UNK_TYPE","",0x4),
0x01EB9730:("_title_staticSegmentRomEnd","UNK_TYPE","",0x4),
0x01EBA000:("__1124_0x0163f490SegmentRomStart","UNK_TYPE","",0x4),
0x01EBB280:("__1124_0x0163f490SegmentRomEnd","UNK_TYPE","",0x4),
0x01EBC000:("__1125_0x0163fc10SegmentRomStart","UNK_TYPE","",0x4),
0x01EBC680:("__1125_0x0163fc10SegmentRomEnd","UNK_TYPE","",0x4),
0x01EBD000:("__1126_0x0163ffc0SegmentRomStart","UNK_TYPE","",0x4),
0x01EC8B20:("__1126_0x0163ffc0SegmentRomEnd","UNK_TYPE","",0x4),
0x01EC9000:("__1127_0x01643d50SegmentRomStart","UNK_TYPE","",0x4),
0x01EC9F30:("__1127_0x01643d50SegmentRomEnd","UNK_TYPE","",0x4),
0x01ECA000:("__1128_0x01644c80SegmentRomStart","UNK_TYPE","",0x4),
0x01ED3B00:("__1128_0x01644c80SegmentRomEnd","UNK_TYPE","",0x4),
0x01ED4000:("__1129_0x01646b60SegmentRomStart","UNK_TYPE","",0x4),
0x01EDDB00:("__1129_0x01646b60SegmentRomEnd","UNK_TYPE","",0x4),
0x01EDE000:("__1130_0x01649020SegmentRomStart","UNK_TYPE","",0x4),
0x01EE7B00:("__1130_0x01649020SegmentRomEnd","UNK_TYPE","",0x4),
0x01EE8000:("__1131_0x0164ad90SegmentRomStart","UNK_TYPE","",0x4),
0x01EF1B00:("__1131_0x0164ad90SegmentRomEnd","UNK_TYPE","",0x4),
0x01EF2000:("_vr_fine_staticSegmentRomStart","UNK_TYPE","",0x4),
0x01EFE000:("_vr_cloud_staticSegmentRomStart","UNK_TYPE","",0x4),
0x01F0A000:("_vr_pal_staticSegmentRomStart","UNK_TYPE","",0x4),
0x01F0A200:("_vr_pal_staticSegmentRomEnd","UNK_TYPE","",0x4),
}
+2 -2
View File
@@ -89,6 +89,6 @@ if __name__ == "__main__":
with open(args.linkscript, 'w') as file:
for name, vrom_start, vrom_end in linker_info:
formatted_name = '_' + name if name[0].isdigit() else name
file.write('{}_vrom_start = 0x{:08X};\n'.format(formatted_name, vrom_start))
file.write('{}_vrom_end = 0x{:08X};\n'.format(formatted_name, vrom_end))
file.write('_{}SegmentRomStart = 0x{:08X};\n'.format(formatted_name, vrom_start))
file.write('_{}SegmentRomEnd = 0x{:08X};\n'.format(formatted_name, vrom_end))
file.write('\n')