mirror of https://github.com/zeldaret/mm.git
z_kaleido_manager and z_kaleido_scope_call OK (#489)
* migrated data and bss for z_kaleido_manager, renamed ovl_Player_Actor to ovl_player_actor to make it work with the data * z_kaleido_manager OK * add to functions.h variables.h and variables.txt * init * rename parameters in func_80163700 * rename func_80163700 to KaleidoManager_FaultAddrConvFunc * change u32 casts to uintptr_t casts in z_kaleido_manager. (u8 *) casts must stay, they are the only casts that match * ran format, uintptr_t * made suggested changes
This commit is contained in:
parent
27903c6286
commit
5455cbc0c8
|
@ -1645,8 +1645,8 @@ UNK_TYPE func_800F41E4(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||||
|
|
||||||
void func_800F4A10(GlobalContext* globalCtx);
|
void func_800F4A10(GlobalContext* globalCtx);
|
||||||
void func_800F4C0C(GlobalContext* globalCtx);
|
void func_800F4C0C(GlobalContext* globalCtx);
|
||||||
void func_800F4E20(GlobalContext* globalCtx);
|
void KaleidoSetup_Init(GlobalContext* globalCtx);
|
||||||
void func_800F4F28(GlobalContext* globalCtx);
|
void KaleidoSetup_Destroy(GlobalContext* globalCtx);
|
||||||
void Font_LoadChar(GlobalContext* globalCtx, u16 codePointIndex, s32 offset);
|
void Font_LoadChar(GlobalContext* globalCtx, u16 codePointIndex, s32 offset);
|
||||||
void Font_LoadCharNES(GlobalContext* globalCtx, u8 codePointIndex, s32 offset);
|
void Font_LoadCharNES(GlobalContext* globalCtx, u8 codePointIndex, s32 offset);
|
||||||
void Font_LoadMessageBoxEndIcon(Font* font, u16 icon);
|
void Font_LoadMessageBoxEndIcon(Font* font, u16 icon);
|
||||||
|
@ -2888,17 +2888,17 @@ void ShrinkWindow_Draw(GraphicsContext* gfxCtx);
|
||||||
// void func_801631DC(void);
|
// void func_801631DC(void);
|
||||||
// void func_80163334(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
// void func_80163334(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
|
||||||
// void func_80163660(void);
|
// void func_80163660(void);
|
||||||
// void func_80163700(void);
|
void* KaleidoManager_FaultAddrConvFunc(void* address, void* param);
|
||||||
// void func_80163758(void);
|
void KaleidoManager_LoadOvl(KaleidoMgrOverlay* ovl);
|
||||||
// void func_801637B4(void);
|
void KaleidoManager_ClearOvl(KaleidoMgrOverlay* ovl);
|
||||||
void func_80163804(GlobalContext* globalCtx);
|
void KaleidoManager_Init(GlobalContext* globalCtx);
|
||||||
// void func_8016388C(void);
|
void KaleidoManager_Destroy();
|
||||||
// void func_801638D8(void);
|
void* KaleidoManager_GetRamAddr(void* vram);
|
||||||
// void func_801639A0(void);
|
void KaleidoScopeCall_LoadPlayer(void);
|
||||||
void func_801639EC(GlobalContext* globalCtx);
|
void KaleidoScopeCall_Init(GlobalContext* globalCtx);
|
||||||
void func_80163A38(GlobalContext* globalCtx);
|
void KaleidoScopeCall_Destroy(GlobalContext* globalCtx);
|
||||||
// void func_80163A58(void);
|
void KaleidoScopeCall_Update(GlobalContext* globalCtx);
|
||||||
// void func_80163C0C(void);
|
void KaleidoScopeCall_Draw(GlobalContext* globalCtx);
|
||||||
// void func_80163C90(void);
|
// void func_80163C90(void);
|
||||||
// void func_80163D80(void);
|
// void func_80163D80(void);
|
||||||
// void func_80163DC0(void);
|
// void func_80163DC0(void);
|
||||||
|
|
|
@ -73,7 +73,7 @@ DECLARE_OVERLAY_SEGMENT(opening)
|
||||||
DECLARE_OVERLAY_SEGMENT(file_choose)
|
DECLARE_OVERLAY_SEGMENT(file_choose)
|
||||||
DECLARE_OVERLAY_SEGMENT(daytelop)
|
DECLARE_OVERLAY_SEGMENT(daytelop)
|
||||||
DECLARE_OVERLAY_SEGMENT(kaleido_scope)
|
DECLARE_OVERLAY_SEGMENT(kaleido_scope)
|
||||||
DECLARE_OVERLAY_SEGMENT(Player_Actor)
|
DECLARE_OVERLAY_SEGMENT(player_actor)
|
||||||
|
|
||||||
DECLARE_OVERLAY_SEGMENT(En_Test)
|
DECLARE_OVERLAY_SEGMENT(En_Test)
|
||||||
DECLARE_OVERLAY_SEGMENT(En_GirlA)
|
DECLARE_OVERLAY_SEGMENT(En_GirlA)
|
||||||
|
|
|
@ -1550,10 +1550,9 @@ extern char D_801D0714[];
|
||||||
// extern UNK_TYPE1 D_801D08E8;
|
// extern UNK_TYPE1 D_801D08E8;
|
||||||
// extern UNK_TYPE1 D_801D0900;
|
// extern UNK_TYPE1 D_801D0900;
|
||||||
extern ActorInit Player_InitVars;
|
extern ActorInit Player_InitVars;
|
||||||
// extern UNK_TYPE1 D_801D0B70;
|
extern KaleidoMgrOverlay gKaleidoMgrOverlayTable[2];
|
||||||
// extern UNK_TYPE1 D_801D0B8C;
|
// extern UNK_TYPE1 D_801D0B8C;
|
||||||
// extern UNK_TYPE4 D_801D0BA8;
|
extern KaleidoMgrOverlay* gKaleidoMgrCurOvl;
|
||||||
// extern UNK_TYPE4 D_801D0BAC;
|
|
||||||
// extern UNK_TYPE4 D_801D0BB0;
|
// extern UNK_TYPE4 D_801D0BB0;
|
||||||
// extern UNK_TYPE1 D_801D0C80;
|
// extern UNK_TYPE1 D_801D0C80;
|
||||||
// extern UNK_TYPE1 D_801D0CB0;
|
// extern UNK_TYPE1 D_801D0CB0;
|
||||||
|
@ -3332,9 +3331,9 @@ extern ShrinkWindowContext gShrinkWindowContext;
|
||||||
extern ShrinkWindowContext* gShrinkWindowContextPtr;
|
extern ShrinkWindowContext* gShrinkWindowContextPtr;
|
||||||
// extern UNK_TYPE4 D_801F6B50;
|
// extern UNK_TYPE4 D_801F6B50;
|
||||||
// extern UNK_TYPE1 D_801F6B58;
|
// extern UNK_TYPE1 D_801F6B58;
|
||||||
// extern UNK_TYPE1 D_801F6BF0;
|
extern FaultAddrConvClient sKaleidoAreaFaultClient;
|
||||||
// extern UNK_TYPE1 D_801F6C00;
|
extern void (*sKaleidoScopeUpdateFunc)(GlobalContext* globalCtx);
|
||||||
// extern UNK_TYPE1 D_801F6C04;
|
extern void (*sKaleidoScopeDrawFunc)(GlobalContext* globalCtx);
|
||||||
// extern UNK_TYPE1 D_801F6C10;
|
// extern UNK_TYPE1 D_801F6C10;
|
||||||
extern Input D_801F6C18;
|
extern Input D_801F6C18;
|
||||||
// extern UNK_TYPE1 D_801F6C30;
|
// extern UNK_TYPE1 D_801F6C30;
|
||||||
|
|
|
@ -702,6 +702,22 @@ typedef struct {
|
||||||
/* 0x344 */ u32 unk_344;
|
/* 0x344 */ u32 unk_344;
|
||||||
} InterfaceContext; // size = 0x348
|
} InterfaceContext; // size = 0x348
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/* 0x00 */ void* loadedRamAddr;
|
||||||
|
/* 0x04 */ uintptr_t vromStart;
|
||||||
|
/* 0x08 */ uintptr_t vromEnd;
|
||||||
|
/* 0x0C */ void* vramStart;
|
||||||
|
/* 0x10 */ void* vramEnd;
|
||||||
|
/* 0x14 */ uintptr_t offset; // loadedRamAddr - vramStart
|
||||||
|
/* 0x18 */ const char* name;
|
||||||
|
} KaleidoMgrOverlay; // size = 0x1C
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
/* 0x00 */ KALEIDO_OVL_KALEIDO_SCOPE,
|
||||||
|
/* 0x01 */ KALEIDO_OVL_PLAYER_ACTOR,
|
||||||
|
/* 0x02 */ KALEID_OVL_MAX
|
||||||
|
} KaleidoMgrOverlayType;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ u16 unk_0;
|
/* 0x00 */ u16 unk_0;
|
||||||
/* 0x02 */ u16 unk_2;
|
/* 0x02 */ u16 unk_2;
|
||||||
|
|
13
spec
13
spec
|
@ -565,10 +565,7 @@ beginseg
|
||||||
include "build/data/code/db_camera.bss.o"
|
include "build/data/code/db_camera.bss.o"
|
||||||
include "build/data/code/code_801D0B50.data.o"
|
include "build/data/code/code_801D0B50.data.o"
|
||||||
include "build/src/code/z_kaleido_manager.o"
|
include "build/src/code/z_kaleido_manager.o"
|
||||||
include "build/data/code/z_kaleido_manager.data.o"
|
|
||||||
include "build/data/code/z_kaleido_manager.bss.o"
|
|
||||||
include "build/src/code/z_kaleido_scope_call.o"
|
include "build/src/code/z_kaleido_scope_call.o"
|
||||||
include "build/data/code/z_kaleido_scope_call.bss.o"
|
|
||||||
include "build/src/code/z_fbdemo_dlftbls.o"
|
include "build/src/code/z_fbdemo_dlftbls.o"
|
||||||
include "build/data/code/code_801D0BB0.data.o"
|
include "build/data/code/code_801D0BB0.data.o"
|
||||||
include "build/src/code/z_fbdemo.o"
|
include "build/src/code/z_fbdemo.o"
|
||||||
|
@ -739,12 +736,12 @@ beginseg
|
||||||
endseg
|
endseg
|
||||||
|
|
||||||
beginseg
|
beginseg
|
||||||
name "ovl_Player_Actor"
|
name "ovl_player_actor"
|
||||||
compress
|
compress
|
||||||
include "build/src/overlays/actors/ovl_Player_Actor/z_player.o"
|
include "build/src/overlays/actors/ovl_player_actor/z_player.o"
|
||||||
include "build/data/ovl_Player_Actor/ovl_Player_Actor.data.o"
|
include "build/data/ovl_player_actor/ovl_player_actor.data.o"
|
||||||
include "build/data/ovl_Player_Actor/ovl_Player_Actor.bss.o"
|
include "build/data/ovl_player_actor/ovl_player_actor.bss.o"
|
||||||
include "build/data/ovl_Player_Actor/ovl_Player_Actor.reloc.o"
|
include "build/data/ovl_player_actor/ovl_player_actor.reloc.o"
|
||||||
endseg
|
endseg
|
||||||
|
|
||||||
beginseg
|
beginseg
|
||||||
|
|
|
@ -1,15 +1,104 @@
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/D_801DF9C0.s")
|
#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, \
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/func_80163700.s")
|
KaleidoMgrOverlay gKaleidoMgrOverlayTable[] = {
|
||||||
|
KALEIDO_OVERLAY(kaleido_scope),
|
||||||
|
KALEIDO_OVERLAY(player_actor),
|
||||||
|
};
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/func_80163758.s")
|
void* sKaleidoAreaPtr = NULL;
|
||||||
|
KaleidoMgrOverlay* gKaleidoMgrCurOvl = NULL;
|
||||||
|
FaultAddrConvClient sKaleidoAreaFaultClient;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/func_801637B4.s")
|
void* KaleidoManager_FaultAddrConvFunc(void* address, void* param) {
|
||||||
|
u8* ptr = address;
|
||||||
|
KaleidoMgrOverlay* ovl = &gKaleidoMgrCurOvl[0];
|
||||||
|
u8* ramStart;
|
||||||
|
u8* ramEnd;
|
||||||
|
size_t size;
|
||||||
|
uintptr_t offset;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/func_80163804.s")
|
if (ovl != NULL) {
|
||||||
|
size = (u8*)ovl->vramEnd - (u8*)ovl->vramStart;
|
||||||
|
ramStart = ovl->loadedRamAddr;
|
||||||
|
ramEnd = ramStart + size;
|
||||||
|
offset = (u8*)ovl->vramStart - ramStart;
|
||||||
|
if (ramStart != NULL) {
|
||||||
|
if (ptr >= ramStart && ptr < ramEnd) {
|
||||||
|
return ptr + offset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/func_8016388C.s")
|
void KaleidoManager_LoadOvl(KaleidoMgrOverlay* ovl) {
|
||||||
|
ovl->loadedRamAddr = sKaleidoAreaPtr;
|
||||||
|
Load2_LoadOverlay(ovl->vromStart, ovl->vromEnd, ovl->vramStart, ovl->vramEnd, ovl->loadedRamAddr);
|
||||||
|
ovl->offset = (uintptr_t)ovl->loadedRamAddr - (uintptr_t)ovl->vramStart;
|
||||||
|
gKaleidoMgrCurOvl = ovl;
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/func_801638D8.s")
|
void KaleidoManager_ClearOvl(KaleidoMgrOverlay* ovl) {
|
||||||
|
if (ovl->loadedRamAddr != NULL) {
|
||||||
|
ovl->offset = 0;
|
||||||
|
bzero(ovl->loadedRamAddr, (uintptr_t)ovl->vramEnd - (uintptr_t)ovl->vramStart);
|
||||||
|
ovl->loadedRamAddr = NULL;
|
||||||
|
gKaleidoMgrCurOvl = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void KaleidoManager_Init(GlobalContext* globalCtx) {
|
||||||
|
s32 largestSize = 0;
|
||||||
|
s32 size;
|
||||||
|
u32 i;
|
||||||
|
|
||||||
|
for (i = 0; i < ARRAY_COUNT(gKaleidoMgrOverlayTable); i++) {
|
||||||
|
size = (uintptr_t)gKaleidoMgrOverlayTable[i].vramEnd - (uintptr_t)gKaleidoMgrOverlayTable[i].vramStart;
|
||||||
|
if (size > largestSize) {
|
||||||
|
largestSize = size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sKaleidoAreaPtr = THA_AllocEndAlign16(&globalCtx->state.heap, largestSize);
|
||||||
|
gKaleidoMgrCurOvl = NULL;
|
||||||
|
Fault_AddAddrConvClient(&sKaleidoAreaFaultClient, KaleidoManager_FaultAddrConvFunc, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
void KaleidoManager_Destroy() {
|
||||||
|
Fault_RemoveAddrConvClient(&sKaleidoAreaFaultClient);
|
||||||
|
|
||||||
|
if (gKaleidoMgrCurOvl != NULL) {
|
||||||
|
KaleidoManager_ClearOvl(gKaleidoMgrCurOvl);
|
||||||
|
gKaleidoMgrCurOvl = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
sKaleidoAreaPtr = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void* KaleidoManager_GetRamAddr(void* vram) {
|
||||||
|
if (gKaleidoMgrCurOvl == NULL) {
|
||||||
|
s32 pad[2];
|
||||||
|
KaleidoMgrOverlay* ovl = &gKaleidoMgrOverlayTable[0];
|
||||||
|
|
||||||
|
do {
|
||||||
|
if (((uintptr_t)vram >= (uintptr_t)ovl->vramStart) && ((uintptr_t)ovl->vramEnd >= (uintptr_t)vram)) {
|
||||||
|
KaleidoManager_LoadOvl(ovl);
|
||||||
|
return (void*)((uintptr_t)vram + ovl->offset);
|
||||||
|
}
|
||||||
|
ovl++;
|
||||||
|
} while (ovl != (KaleidoMgrOverlay*)&sKaleidoAreaPtr);
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
} else if (((uintptr_t)vram < (uintptr_t)gKaleidoMgrCurOvl->vramStart) ||
|
||||||
|
((uintptr_t)vram >= (uintptr_t)gKaleidoMgrCurOvl->vramEnd)) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (void*)((uintptr_t)vram + gKaleidoMgrCurOvl->offset);
|
||||||
|
}
|
||||||
|
|
|
@ -1,11 +1,84 @@
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_scope_call/func_801639A0.s")
|
void (*sKaleidoScopeUpdateFunc)(GlobalContext* globalCtx);
|
||||||
|
void (*sKaleidoScopeDrawFunc)(GlobalContext* globalCtx);
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_scope_call/func_801639EC.s")
|
extern void KaleidoScope_Update(GlobalContext* globalCtx);
|
||||||
|
extern void KaleidoScope_Draw(GlobalContext* globalCtx);
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_scope_call/func_80163A38.s")
|
void KaleidoScopeCall_LoadPlayer() {
|
||||||
|
KaleidoMgrOverlay* playerActorOvl = &gKaleidoMgrOverlayTable[KALEIDO_OVL_PLAYER_ACTOR];
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_scope_call/func_80163A58.s")
|
if (gKaleidoMgrCurOvl != playerActorOvl) {
|
||||||
|
if (gKaleidoMgrCurOvl != NULL) {
|
||||||
|
KaleidoManager_ClearOvl(gKaleidoMgrCurOvl);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_scope_call/func_80163C0C.s")
|
KaleidoManager_LoadOvl(playerActorOvl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void KaleidoScopeCall_Init(GlobalContext* globalCtx) {
|
||||||
|
sKaleidoScopeUpdateFunc = KaleidoManager_GetRamAddr(KaleidoScope_Update);
|
||||||
|
sKaleidoScopeDrawFunc = KaleidoManager_GetRamAddr(KaleidoScope_Draw);
|
||||||
|
KaleidoSetup_Init(globalCtx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void KaleidoScopeCall_Destroy(GlobalContext* globalCtx) {
|
||||||
|
KaleidoSetup_Destroy(globalCtx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void KaleidoScopeCall_Update(GlobalContext* globalCtx) {
|
||||||
|
PauseContext* pauseCtx = &globalCtx->pauseCtx;
|
||||||
|
KaleidoMgrOverlay* kaleidoScopeOvl = &gKaleidoMgrOverlayTable[KALEIDO_OVL_KALEIDO_SCOPE];
|
||||||
|
|
||||||
|
if ((globalCtx->pauseCtx.state != 0) || (globalCtx->pauseCtx.debugState != 0)) {
|
||||||
|
if (pauseCtx->state == 1 || pauseCtx->state == 19) {
|
||||||
|
if (ShrinkWindow_GetLetterboxMagnitude() == 0) {
|
||||||
|
R_PAUSE_MENU_MODE = 1;
|
||||||
|
pauseCtx->unk_200 = 0;
|
||||||
|
pauseCtx->unk_208 = 0;
|
||||||
|
pauseCtx->state = (pauseCtx->state & 0xFFFF) + 1;
|
||||||
|
}
|
||||||
|
} else if (pauseCtx->state == 8) {
|
||||||
|
R_PAUSE_MENU_MODE = 1;
|
||||||
|
pauseCtx->unk_200 = 0;
|
||||||
|
pauseCtx->unk_208 = 0;
|
||||||
|
pauseCtx->state = (pauseCtx->state & 0xFFFF) + 1;
|
||||||
|
} else if ((pauseCtx->state == 2) || (pauseCtx->state == 9) || (pauseCtx->state == 20)) {
|
||||||
|
if (R_PAUSE_MENU_MODE == 3) {
|
||||||
|
pauseCtx->state++;
|
||||||
|
}
|
||||||
|
} else if (pauseCtx->state != 0) {
|
||||||
|
if (gKaleidoMgrCurOvl != kaleidoScopeOvl) {
|
||||||
|
if (gKaleidoMgrCurOvl != NULL) {
|
||||||
|
KaleidoManager_ClearOvl(gKaleidoMgrCurOvl);
|
||||||
|
}
|
||||||
|
|
||||||
|
KaleidoManager_LoadOvl(kaleidoScopeOvl);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gKaleidoMgrCurOvl == kaleidoScopeOvl) {
|
||||||
|
sKaleidoScopeUpdateFunc(globalCtx);
|
||||||
|
|
||||||
|
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0)) {
|
||||||
|
KaleidoManager_ClearOvl(kaleidoScopeOvl);
|
||||||
|
KaleidoScopeCall_LoadPlayer();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void KaleidoScopeCall_Draw(GlobalContext* globalCtx) {
|
||||||
|
KaleidoMgrOverlay* kaleidoScopeOvl = &gKaleidoMgrOverlayTable[KALEIDO_OVL_KALEIDO_SCOPE];
|
||||||
|
|
||||||
|
if (R_PAUSE_MENU_MODE == 3) {
|
||||||
|
if (((globalCtx->pauseCtx.state >= 4) && (globalCtx->pauseCtx.state <= 7)) ||
|
||||||
|
((globalCtx->pauseCtx.state >= 11) && (globalCtx->pauseCtx.state <= 26))) {
|
||||||
|
if (gKaleidoMgrCurOvl == kaleidoScopeOvl) {
|
||||||
|
sKaleidoScopeDrawFunc(globalCtx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -4,6 +4,6 @@
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/func_800F4C0C.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/func_800F4C0C.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/func_800F4E20.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/KaleidoSetup_Init.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/func_800F4F28.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/KaleidoSetup_Destroy.s")
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
ovl_Player_Actor
|
|
||||||
z_player.c
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,2 @@
|
||||||
|
ovl_player_actor
|
||||||
|
z_player.c
|
File diff suppressed because it is too large
Load Diff
|
@ -60,10 +60,10 @@ extern UNK_TYPE D_0C006C00;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80827E08.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80827E08.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808283D8.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/KaleidoScope_Draw.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808286D8.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808286D8.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80828788.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80828788.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8082895C.s")
|
#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/KaleidoScope_Update.s")
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
'ovl_file_choose',
|
'ovl_file_choose',
|
||||||
'ovl_daytelop',
|
'ovl_daytelop',
|
||||||
'ovl_kaleido_scope',
|
'ovl_kaleido_scope',
|
||||||
'ovl_Player_Actor',
|
'ovl_player_actor',
|
||||||
'ovl_En_Test',
|
'ovl_En_Test',
|
||||||
'ovl_En_GirlA',
|
'ovl_En_GirlA',
|
||||||
'ovl_En_Part',
|
'ovl_En_Part',
|
||||||
|
|
|
@ -741,7 +741,7 @@
|
||||||
['ovl_file_choose', 'baserom/', 'overlay', [], { 0x80804010 : "ovl_file_choose" }],
|
['ovl_file_choose', 'baserom/', 'overlay', [], { 0x80804010 : "ovl_file_choose" }],
|
||||||
['ovl_daytelop', 'baserom/', 'overlay', [], { 0x80814EB0 : "ovl_daytelop" }],
|
['ovl_daytelop', 'baserom/', 'overlay', [], { 0x80814EB0 : "ovl_daytelop" }],
|
||||||
['ovl_kaleido_scope', 'baserom/', 'overlay', [], { 0x808160A0 : "ovl_kaleido_scope" }],
|
['ovl_kaleido_scope', 'baserom/', 'overlay', [], { 0x808160A0 : "ovl_kaleido_scope" }],
|
||||||
['ovl_Player_Actor', 'baserom/', 'overlay', [], { 0x8082DA90 : "ovl_Player_Actor" }],
|
['ovl_player_actor', 'baserom/', 'overlay', [], { 0x8082DA90 : "ovl_player_actor" }],
|
||||||
['ovl_En_Test', 'baserom/', 'overlay', [], { 0x80862B70 : "ovl_En_Test" }],
|
['ovl_En_Test', 'baserom/', 'overlay', [], { 0x80862B70 : "ovl_En_Test" }],
|
||||||
['ovl_En_GirlA', 'baserom/', 'overlay', [], { 0x80863870 : "ovl_En_GirlA" }],
|
['ovl_En_GirlA', 'baserom/', 'overlay', [], { 0x80863870 : "ovl_En_GirlA" }],
|
||||||
['ovl_En_Part', 'baserom/', 'overlay', [], { 0x80865370 : "ovl_En_Part" }],
|
['ovl_En_Part', 'baserom/', 'overlay', [], { 0x80865370 : "ovl_En_Part" }],
|
||||||
|
|
|
@ -1700,8 +1700,8 @@
|
||||||
0x800F470C:("Jpeg_Decode",),
|
0x800F470C:("Jpeg_Decode",),
|
||||||
0x800F4A10:("func_800F4A10",),
|
0x800F4A10:("func_800F4A10",),
|
||||||
0x800F4C0C:("func_800F4C0C",),
|
0x800F4C0C:("func_800F4C0C",),
|
||||||
0x800F4E20:("func_800F4E20",),
|
0x800F4E20:("KaleidoSetup_Init",),
|
||||||
0x800F4F28:("func_800F4F28",),
|
0x800F4F28:("KaleidoSetup_Destroy",),
|
||||||
0x800F4F40:("Font_LoadChar",),
|
0x800F4F40:("Font_LoadChar",),
|
||||||
0x800F4F54:("Font_LoadCharNES",),
|
0x800F4F54:("Font_LoadCharNES",),
|
||||||
0x800F4FC0:("Font_LoadMessageBoxEndIcon",),
|
0x800F4FC0:("Font_LoadMessageBoxEndIcon",),
|
||||||
|
@ -2925,17 +2925,17 @@
|
||||||
0x801631DC:("func_801631DC",),
|
0x801631DC:("func_801631DC",),
|
||||||
0x80163334:("func_80163334",),
|
0x80163334:("func_80163334",),
|
||||||
0x80163660:("func_80163660",),
|
0x80163660:("func_80163660",),
|
||||||
0x80163700:("func_80163700",),
|
0x80163700:("KaleidoManager_FaultAddrConvFunc",),
|
||||||
0x80163758:("func_80163758",),
|
0x80163758:("KaleidoManager_LoadOvl",),
|
||||||
0x801637B4:("func_801637B4",),
|
0x801637B4:("KaleidoManager_ClearOvl",),
|
||||||
0x80163804:("func_80163804",),
|
0x80163804:("KaleidoManager_Init",),
|
||||||
0x8016388C:("func_8016388C",),
|
0x8016388C:("KaleidoManager_Destroy",),
|
||||||
0x801638D8:("func_801638D8",),
|
0x801638D8:("KaleidoManager_GetRamAddr",),
|
||||||
0x801639A0:("func_801639A0",),
|
0x801639A0:("KaleidoScopeCall_LoadPlayer",),
|
||||||
0x801639EC:("func_801639EC",),
|
0x801639EC:("KaleidoScopeCall_Init",),
|
||||||
0x80163A38:("func_80163A38",),
|
0x80163A38:("KaleidoScopeCall_Destroy",),
|
||||||
0x80163A58:("func_80163A58",),
|
0x80163A58:("KaleidoScopeCall_Update",),
|
||||||
0x80163C0C:("func_80163C0C",),
|
0x80163C0C:("KaleidoScopeCall_Draw",),
|
||||||
0x80163C90:("func_80163C90",),
|
0x80163C90:("func_80163C90",),
|
||||||
0x80163D80:("func_80163D80",),
|
0x80163D80:("func_80163D80",),
|
||||||
0x80163DC0:("func_80163DC0",),
|
0x80163DC0:("func_80163DC0",),
|
||||||
|
@ -4240,10 +4240,10 @@
|
||||||
0x808274DC:("func_808274DC",),
|
0x808274DC:("func_808274DC",),
|
||||||
0x80827A8C:("func_80827A8C",),
|
0x80827A8C:("func_80827A8C",),
|
||||||
0x80827E08:("func_80827E08",),
|
0x80827E08:("func_80827E08",),
|
||||||
0x808283D8:("func_808283D8",),
|
0x808283D8:("KaleidoScope_Draw",),
|
||||||
0x808286D8:("func_808286D8",),
|
0x808286D8:("func_808286D8",),
|
||||||
0x80828788:("func_80828788",),
|
0x80828788:("func_80828788",),
|
||||||
0x8082895C:("func_8082895C",),
|
0x8082895C:("KaleidoScope_Update",),
|
||||||
0x8082DA90:("func_8082DA90",),
|
0x8082DA90:("func_8082DA90",),
|
||||||
0x8082DABC:("func_8082DABC",),
|
0x8082DABC:("func_8082DABC",),
|
||||||
0x8082DAD4:("func_8082DAD4",),
|
0x8082DAD4:("func_8082DAD4",),
|
||||||
|
|
|
@ -2169,9 +2169,9 @@
|
||||||
0x801D08E8:("D_801D08E8","UNK_TYPE1","",0x1),
|
0x801D08E8:("D_801D08E8","UNK_TYPE1","",0x1),
|
||||||
0x801D0900:("D_801D0900","UNK_TYPE1","",0x1),
|
0x801D0900:("D_801D0900","UNK_TYPE1","",0x1),
|
||||||
0x801D0B50:("Player_InitVars","ActorInit","",0x20),
|
0x801D0B50:("Player_InitVars","ActorInit","",0x20),
|
||||||
0x801D0B70:("D_801D0B70","UNK_TYPE1","",0x38),
|
0x801D0B70:("gKaleidoMgrOverlayTable","KaleidoMgrOverlay","",0x38),
|
||||||
0x801D0BA8:("D_801D0BA8","UNK_TYPE4","",0x4),
|
0x801D0BA8:("sKaleidoAreaPtr","void*","",0x4),
|
||||||
0x801D0BAC:("D_801D0BAC","UNK_TYPE4","",0x4),
|
0x801D0BAC:("gKaleidoMgrCurOvl","KaleidoMgrOverlay*","",0x4),
|
||||||
0x801D0BB0:("D_801D0BB0","UNK_TYPE4","",0x4),
|
0x801D0BB0:("D_801D0BB0","UNK_TYPE4","",0x4),
|
||||||
0x801D0C80:("D_801D0C80","UNK_TYPE1","",0x1),
|
0x801D0C80:("D_801D0C80","UNK_TYPE1","",0x1),
|
||||||
0x801D0CB0:("D_801D0CB0","UNK_TYPE1","",0x1),
|
0x801D0CB0:("D_801D0CB0","UNK_TYPE1","",0x1),
|
||||||
|
@ -4117,9 +4117,9 @@
|
||||||
0x801F6B44:("gShrinkWindowContextPtr","ShrinkWindowContext*","",0x4),
|
0x801F6B44:("gShrinkWindowContextPtr","ShrinkWindowContext*","",0x4),
|
||||||
0x801F6B50:("D_801F6B50","UNK_TYPE4","",0x4),
|
0x801F6B50:("D_801F6B50","UNK_TYPE4","",0x4),
|
||||||
0x801F6B58:("D_801F6B58","UNK_TYPE1","",0x1),
|
0x801F6B58:("D_801F6B58","UNK_TYPE1","",0x1),
|
||||||
0x801F6BF0:("D_801F6BF0","UNK_TYPE1","",0x1),
|
0x801F6BF0:("sKaleidoAreaFaultClient","FaultAddrConvClient","",0xC),
|
||||||
0x801F6C00:("D_801F6C00","UNK_TYPE1","",0x1),
|
0x801F6C00:("sKaleidoScopeUpdateFunc","void*","",0x4),
|
||||||
0x801F6C04:("D_801F6C04","UNK_TYPE1","",0x1),
|
0x801F6C04:("sKaleidoScopeDrawFunc","void*","",0x4),
|
||||||
0x801F6C10:("D_801F6C10","UNK_TYPE1","",0x1),
|
0x801F6C10:("D_801F6C10","UNK_TYPE1","",0x1),
|
||||||
0x801F6C18:("D_801F6C18","Input","",0x18),
|
0x801F6C18:("D_801F6C18","Input","",0x18),
|
||||||
0x801F6C30:("D_801F6C30","UNK_TYPE1","",0x1),
|
0x801F6C30:("D_801F6C30","UNK_TYPE1","",0x1),
|
||||||
|
|
|
@ -44,7 +44,7 @@ FILE_NAMES = [
|
||||||
'ovl_file_choose',
|
'ovl_file_choose',
|
||||||
'ovl_daytelop',
|
'ovl_daytelop',
|
||||||
'ovl_kaleido_scope',
|
'ovl_kaleido_scope',
|
||||||
'ovl_Player_Actor',
|
'ovl_player_actor',
|
||||||
'ovl_En_Test',
|
'ovl_En_Test',
|
||||||
'ovl_En_GirlA',
|
'ovl_En_GirlA',
|
||||||
'ovl_En_Part',
|
'ovl_En_Part',
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
35,ovl_file_choose
|
35,ovl_file_choose
|
||||||
36,ovl_daytelop
|
36,ovl_daytelop
|
||||||
37,ovl_kaleido_scope
|
37,ovl_kaleido_scope
|
||||||
38,ovl_Player_Actor
|
38,ovl_player_actor
|
||||||
39,ovl_En_Test
|
39,ovl_En_Test
|
||||||
40,ovl_En_GirlA
|
40,ovl_En_GirlA
|
||||||
41,ovl_En_Part
|
41,ovl_En_Part
|
||||||
|
|
|
|
@ -4,7 +4,7 @@
|
||||||
35,ovl_file_choose
|
35,ovl_file_choose
|
||||||
36,ovl_daytelop
|
36,ovl_daytelop
|
||||||
37,ovl_kaleido_scope
|
37,ovl_kaleido_scope
|
||||||
38,ovl_Player_Actor
|
38,ovl_player_actor
|
||||||
39,ovl_En_Test
|
39,ovl_En_Test
|
||||||
40,ovl_En_GirlA
|
40,ovl_En_GirlA
|
||||||
41,ovl_En_Part
|
41,ovl_En_Part
|
||||||
|
|
|
|
@ -3,7 +3,7 @@
|
||||||
import argparse, os, struct
|
import argparse, os, struct
|
||||||
|
|
||||||
actor_names = [
|
actor_names = [
|
||||||
"ovl_Player_Actor",
|
"ovl_player_actor",
|
||||||
"ovl_En_Test",
|
"ovl_En_Test",
|
||||||
"ovl_En_GirlA",
|
"ovl_En_GirlA",
|
||||||
"ovl_En_Part",
|
"ovl_En_Part",
|
||||||
|
@ -719,7 +719,7 @@ def read_actor_ovl_tbl():
|
||||||
actortbl.append((actor_names[i], entry[0], entry[1], entry[2], entry[3]))
|
actortbl.append((actor_names[i], entry[0], entry[1], entry[2], entry[3]))
|
||||||
entry = as_word_list(codefile.read(0x20))
|
entry = as_word_list(codefile.read(0x20))
|
||||||
i += 1
|
i += 1
|
||||||
actortbl[0] = ['ovl_Player_Actor', 0xCA7F00, 0xCDCF60, 0x8082DA90, 0x80862B70 ]
|
actortbl[0] = ['ovl_player_actor', 0xCA7F00, 0xCDCF60, 0x8082DA90, 0x80862B70 ]
|
||||||
return actortbl
|
return actortbl
|
||||||
|
|
||||||
actor_tbl = read_actor_ovl_tbl()
|
actor_tbl = read_actor_ovl_tbl()
|
||||||
|
|
|
@ -4442,7 +4442,7 @@ D_060012E8 = 0x060012E8;
|
||||||
D_06000360 = 0x06000360;
|
D_06000360 = 0x06000360;
|
||||||
D_06001428 = 0x06001428;
|
D_06001428 = 0x06001428;
|
||||||
|
|
||||||
// ovl_Player_Actor
|
// ovl_player_actor
|
||||||
|
|
||||||
D_06008860 = 0x06008860;
|
D_06008860 = 0x06008860;
|
||||||
D_0600BDD8 = 0x0600BDD8;
|
D_0600BDD8 = 0x0600BDD8;
|
||||||
|
|
Loading…
Reference in New Issue