mirror of
https://github.com/zeldaret/af.git
synced 2026-10-07 17:31:09 -04:00
submenu_ovl, 3 NON_EQUIVALENTs and 2 NON_MATCHINGs (#88)
* C file * func_8085DA28_jp, func_8085DA9C_jp * func_8085D638_jp * func_8085D358_jp, func_8085D500_jp, func_8085D674_jp * bleh * func_8085BAC0_jp * func_8085D128_jp * Rename many functions * mSM_move_menu * a * func_8085D43C_jp * mSM_set_char_matrix * mSM_cbuf_copy draft * mSM_cbuf_copy NON_EQUIVALENT * func_8085C20C_jp draft * match func_8085C20C_jp * cleanup unc_8085C20C_jp * func_8085C7A4_jp ok, func_8085C7B8_jp NON_EQUIVALENT * mSM_draw_mail NON_MATCHING * func_8085D094_jp * mSM_set_other_seg mSM_set_before_menu_proc * meh * mSM_move_Move * migrate data * move submenu overlays to the submenu folder and make headers for them * name some files based on rodata strings * name functions from known submenu overlays * mSM_move_chg_base * mSM_menu_ovl_init NON_MATCHING * migrate bss * mSM_menu_ovl_init * SubmenuProgramId * mSM_save_before_func * mSM_return_func NON_EQUIVALENT * some cleanup * rename lots of data * kinda format * more cleanup * symbolize remaining stuff * format * Kinda fix whatever is going on with Game_Play_unk_0110 * mroecleanup * name known overlays * tag_program_dlftbl, hand_program_dlftbl, haniwa_program_dlftbl * format * flag defines
This commit is contained in:
+19
-19
@@ -103,11 +103,11 @@ s32 Actor_data_bank_dma_end_check(Actor* actor, Game_Play* game_play) {
|
||||
switch (ACTOR_FGNAME_GET_F000(actor->fgName)) {
|
||||
case FGNAME_F000_D:
|
||||
case FGNAME_F000_E:
|
||||
var_v1 = common_data.unk_1004C->unk_F4(game_play->unk_0110, actor);
|
||||
var_v1 = common_data.unk_1004C->unk_F4(game_play->unk_0110.unk_0000, actor);
|
||||
break;
|
||||
|
||||
default:
|
||||
var_v1 = game_play->unk_0110[actor->unk_026].unk_00 > 0;
|
||||
var_v1 = game_play->unk_0110.unk_0000[actor->unk_026].unk_00 > 0;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -147,14 +147,14 @@ void Actor_delete(Actor* actor) {
|
||||
|
||||
void Actor_ct(Actor* actor, Game_Play* game_play) {
|
||||
s32 pad[2] UNUSED;
|
||||
Game_Play_unk_0110* temp;
|
||||
Game_Play_unk_0110_unk_0000* temp;
|
||||
Npc* npc;
|
||||
CommonData_unk_1004C_unk_14_arg0 sp34;
|
||||
Game_Play_unk_0110* temp_a0;
|
||||
|
||||
temp_a0 = game_play->unk_0110;
|
||||
temp_a0 = &game_play->unk_0110;
|
||||
|
||||
temp = temp_a0;
|
||||
temp = temp_a0->unk_0000;
|
||||
temp += actor->unk_026;
|
||||
temp->unk_50++;
|
||||
|
||||
@@ -162,8 +162,8 @@ void Actor_ct(Actor* actor, Game_Play* game_play) {
|
||||
npc = (Npc*)actor;
|
||||
|
||||
common_data.unk_1004C->unk_14(&sp34, npc->actor.fgName);
|
||||
npc->unk_708 = mSc_bank_regist_check(temp_a0, sp34.unk_02);
|
||||
temp_a0[npc->unk_708].unk_50++;
|
||||
npc->unk_708 = mSc_bank_regist_check(temp_a0->unk_0000, sp34.unk_02);
|
||||
temp_a0->unk_0000[npc->unk_708].unk_50++;
|
||||
}
|
||||
|
||||
actor->world = actor->home;
|
||||
@@ -193,7 +193,7 @@ void Actor_ct(Actor* actor, Game_Play* game_play) {
|
||||
Shape_Info_init(actor, 0.0f, NULL, 0.0f, 0.0f);
|
||||
|
||||
if (Actor_data_bank_dma_end_check(actor, game_play) == 1) {
|
||||
gSegments[6] = (uintptr_t)OS_K0_TO_PHYSICAL(temp_a0[actor->unk_026].segment);
|
||||
gSegments[6] = (uintptr_t)OS_K0_TO_PHYSICAL(temp_a0->unk_0000[actor->unk_026].segment);
|
||||
actor->ct(actor, game_play);
|
||||
actor->ct = NULL;
|
||||
}
|
||||
@@ -201,7 +201,7 @@ void Actor_ct(Actor* actor, Game_Play* game_play) {
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void Actor_dt(Actor* actor, Game_Play* game_play) {
|
||||
Game_Play_unk_0110* temp_v0_6;
|
||||
Game_Play_unk_0110_unk_0000* temp_v0_6;
|
||||
s32 new_var;
|
||||
|
||||
if (actor->save != NULL) {
|
||||
@@ -222,7 +222,7 @@ void Actor_dt(Actor* actor, Game_Play* game_play) {
|
||||
actor->parent->child = NULL;
|
||||
}
|
||||
|
||||
temp_v0_6 = game_play->unk_0110;
|
||||
temp_v0_6 = game_play->unk_0110.unk_0000;
|
||||
if (0) {}
|
||||
|
||||
switch ((actor->fgName & 0xF000) >> 0xC) {
|
||||
@@ -232,7 +232,7 @@ void Actor_dt(Actor* actor, Game_Play* game_play) {
|
||||
break;
|
||||
|
||||
default:
|
||||
new_var = game_play->unk_190C;
|
||||
new_var = game_play->unk_0110.unk_17FC;
|
||||
|
||||
if (actor->unk_026 >= new_var) {
|
||||
temp_v0_6 = &temp_v0_6[(void)0, actor->unk_026];
|
||||
@@ -272,7 +272,7 @@ void Actor_draw(Game_Play* game_play, Actor* actor) {
|
||||
Matrix_scale(actor->scale.x, actor->scale.y, actor->scale.z, MTXMODE_APPLY);
|
||||
|
||||
{
|
||||
void* segment = game_play->unk_0110[(void)0, actor->unk_026].segment;
|
||||
void* segment = game_play->unk_0110.unk_0000[(void)0, actor->unk_026].segment;
|
||||
|
||||
gSegments[6] = (uintptr_t)OS_PHYSICAL_TO_K0(segment);
|
||||
|
||||
@@ -452,7 +452,7 @@ void Actor_info_call_actor(Game_Play* game_play, ActorInfo* actorInfo) {
|
||||
|
||||
if (actor->ct != NULL) {
|
||||
if (Actor_data_bank_dma_end_check(actor, game_play) == 1) {
|
||||
gSegments[6] = (uintptr_t)OS_K0_TO_PHYSICAL(game_play->unk_0110[actor->unk_026].segment);
|
||||
gSegments[6] = (uintptr_t)OS_K0_TO_PHYSICAL(game_play->unk_0110.unk_0000[actor->unk_026].segment);
|
||||
|
||||
game_play->state.unk_9D = 0x98;
|
||||
actor->ct(actor, game_play);
|
||||
@@ -488,7 +488,7 @@ void Actor_info_call_actor(Game_Play* game_play, ActorInfo* actorInfo) {
|
||||
|
||||
actor->flags &= ~ACTOR_FLAG_1000000;
|
||||
if ((actor->flags & (ACTOR_FLAG_40 | ACTOR_FLAG_10)) || (actor->part == ACTOR_PART_NPC)) {
|
||||
gSegments[6] = (uintptr_t)OS_K0_TO_PHYSICAL(game_play->unk_0110[actor->unk_026].segment);
|
||||
gSegments[6] = (uintptr_t)OS_K0_TO_PHYSICAL(game_play->unk_0110.unk_0000[actor->unk_026].segment);
|
||||
game_play->state.unk_9D = 0xA1;
|
||||
actor->update(actor, game_play);
|
||||
game_play->state.unk_9D = 0xA2;
|
||||
@@ -692,8 +692,8 @@ s32 func_80057A8C_jp(s32* arg0, ActorProfile* profile UNUSED, ActorOverlay* over
|
||||
sp90 = sp24.unk_02;
|
||||
}
|
||||
|
||||
*arg0 = mSc_bank_regist_check(game_play->unk_0110, sp92);
|
||||
temp_v0 = mSc_bank_regist_check(game_play->unk_0110, sp90);
|
||||
*arg0 = mSc_bank_regist_check(game_play->unk_0110.unk_0000, sp92);
|
||||
temp_v0 = mSc_bank_regist_check(game_play->unk_0110.unk_0000, sp90);
|
||||
|
||||
if ((*arg0 < 0) || (temp_v0 < 0)) {
|
||||
if (*arg0 >= 0) {
|
||||
@@ -702,7 +702,7 @@ s32 func_80057A8C_jp(s32* arg0, ActorProfile* profile UNUSED, ActorOverlay* over
|
||||
if (temp_v0 >= 0) {
|
||||
sp90 = 0;
|
||||
}
|
||||
common_data.unk_1004C->unk_EC(game_play->unk_0110, sp92, sp90);
|
||||
common_data.unk_1004C->unk_EC(game_play->unk_0110.unk_0000, sp92, sp90);
|
||||
actor_free_check(overlayEntry, fgName);
|
||||
ret = 0;
|
||||
}
|
||||
@@ -713,10 +713,10 @@ s32 func_80057B70_jp(s32* arg0, ActorProfile* profile, ActorOverlay* overlayEntr
|
||||
s32 pad UNUSED;
|
||||
s32 ret = 1;
|
||||
|
||||
*arg0 = mSc_bank_regist_check(game_play->unk_0110, profile->objectId);
|
||||
*arg0 = mSc_bank_regist_check(game_play->unk_0110.unk_0000, profile->objectId);
|
||||
|
||||
if (*arg0 == -1) {
|
||||
func_800C6144_jp(game_play->unk_0110, profile->objectId);
|
||||
func_800C6144_jp(game_play->unk_0110.unk_0000, profile->objectId);
|
||||
actor_free_check(overlayEntry, fgName);
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
+41
-40
@@ -60,7 +60,7 @@ s32 SubmenuArea_IsPlayer(void) {
|
||||
#ifdef NON_MATCHING
|
||||
// regalloc
|
||||
void mSM_load_player_anime(Game_Play* game_play) {
|
||||
Game_Play_unk_0110* var_s4;
|
||||
Game_Play_unk_0110_unk_0000* var_s4;
|
||||
s32 var_s0;
|
||||
s32 var_s3;
|
||||
Player* temp_v0;
|
||||
@@ -71,7 +71,7 @@ void mSM_load_player_anime(Game_Play* game_play) {
|
||||
return;
|
||||
}
|
||||
|
||||
var_s4 = game_play->unk_0110;
|
||||
var_s4 = game_play->unk_0110.unk_0000;
|
||||
var_s4 += mSc_bank_regist_check(var_s4, 9);
|
||||
|
||||
for (var_s3 = 0; var_s3 < 2; var_s3++, var_s4++) {
|
||||
@@ -101,7 +101,7 @@ void mSM_load_player_anime(Game_Play* game_play);
|
||||
#pragma GLOBAL_ASM("asm/jp/nonmatchings/code/m_submenu/mSM_load_player_anime.s")
|
||||
#endif
|
||||
|
||||
void SubmenuArea_DoLink(SubmenuArea* area, mSM* submenu, SubmenuAreaIndex index) {
|
||||
void SubmenuArea_DoLink(SubmenuArea* area, Submenu* submenu, SubmenuAreaIndex index) {
|
||||
area->allocatedRamAddr = D_8010DCE0_jp;
|
||||
|
||||
if (index == SUBMENU_AREA_INDEX_PLAYER) {
|
||||
@@ -129,7 +129,7 @@ void SubmenuArea_DoLink(SubmenuArea* area, mSM* submenu, SubmenuAreaIndex index)
|
||||
(void*)((uintptr_t)area->allocatedRamAddr + ALIGN64((uintptr_t)area->vramEnd - (uintptr_t)area->vramStart));
|
||||
}
|
||||
|
||||
void SubmenuArea_DoUnlink(SubmenuArea* area, mSM* submenu) {
|
||||
void SubmenuArea_DoUnlink(SubmenuArea* area, Submenu* submenu) {
|
||||
if (area->allocatedRamAddr == NULL) {
|
||||
return;
|
||||
}
|
||||
@@ -142,7 +142,7 @@ void SubmenuArea_DoUnlink(SubmenuArea* area, mSM* submenu) {
|
||||
SubmenuArea_visit = NULL;
|
||||
}
|
||||
|
||||
s32 mSM_ovlptr_dllcnv_sub(void* vram, SubmenuArea* area, mSM* submenu) {
|
||||
s32 mSM_ovlptr_dllcnv_sub(void* vram, SubmenuArea* area, Submenu* submenu) {
|
||||
SubmenuAreaIndex index;
|
||||
s32 len = SUBMENU_AREA_INDEX_MAX;
|
||||
|
||||
@@ -156,7 +156,7 @@ s32 mSM_ovlptr_dllcnv_sub(void* vram, SubmenuArea* area, mSM* submenu) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void* mSM_ovlptr_dllcnv(void* vram, mSM* submenu) {
|
||||
void* mSM_ovlptr_dllcnv(void* vram, Submenu* submenu) {
|
||||
SubmenuArea* area = SubmenuArea_visit;
|
||||
|
||||
if (area == NULL) {
|
||||
@@ -248,7 +248,7 @@ void mSM_submenu_ovlptr_init(Game_Play* game_play) {
|
||||
size_t temp8 = ALIGN64(SEGMENT_VRAM_SIZE(ovl__0079E430));
|
||||
size_t temp9 = ALIGN64(SEGMENT_VRAM_SIZE(ovl__0079F810));
|
||||
size_t submenuOvlSize = ALIGN64(SEGMENT_VRAM_SIZE(submenu_ovl));
|
||||
size_t temp_a0 = ALIGN64(SEGMENT_VRAM_SIZE(ovl__00777AE0));
|
||||
size_t temp_a0 = ALIGN64(SEGMENT_VRAM_SIZE(tag_ovl));
|
||||
size_t var_t0 = temp6 + temp7;
|
||||
size_t temp10;
|
||||
size_t temp1;
|
||||
@@ -262,12 +262,12 @@ void mSM_submenu_ovlptr_init(Game_Play* game_play) {
|
||||
|
||||
var_t0 = MAX(temp8 + temp9, var_t0);
|
||||
|
||||
temp10 = ALIGN64(SEGMENT_VRAM_SIZE(ovl__007829E0));
|
||||
temp1 = ALIGN64(SEGMENT_VRAM_SIZE(ovl__00785700));
|
||||
temp2 = ALIGN64(SEGMENT_VRAM_SIZE(ovl__007908A0));
|
||||
temp10 = ALIGN64(SEGMENT_VRAM_SIZE(hand_ovl));
|
||||
temp1 = ALIGN64(SEGMENT_VRAM_SIZE(inventory_ovl));
|
||||
temp2 = ALIGN64(SEGMENT_VRAM_SIZE(board_ovl));
|
||||
temp3 = ALIGN64(SEGMENT_VRAM_SIZE(ovl__0078CB80));
|
||||
temp4 = ALIGN64(SEGMENT_VRAM_SIZE(ovl__00799580));
|
||||
temp5 = ALIGN64(SEGMENT_VRAM_SIZE(ovl__007A28F0));
|
||||
temp5 = ALIGN64(SEGMENT_VRAM_SIZE(catalog_ovl));
|
||||
|
||||
var_a3 = submenuOvlSize + temp1 + temp_a0 + temp10 + temp2 + temp3 + temp4 + var_t0;
|
||||
var_a3 = MAX(submenuOvlSize + temp_a0 + temp10 + temp5 + 0x4000, var_a3);
|
||||
@@ -294,7 +294,7 @@ dummy_label_255895:
|
||||
fault_AddressConverterAddClient(&B_80144680_jp, func_800C497C_jp, NULL);
|
||||
}
|
||||
|
||||
void mSM_submenu_ovlptr_cleanup(mSM* submenu) {
|
||||
void mSM_submenu_ovlptr_cleanup(Submenu* submenu) {
|
||||
fault_RemoveClient(&B_80144670_jp);
|
||||
fault_AddressConverterRemoveClient(&B_80144680_jp);
|
||||
if (SubmenuArea_visit != NULL) {
|
||||
@@ -307,7 +307,7 @@ void mSM_submenu_ovlptr_cleanup(mSM* submenu) {
|
||||
D_8010DCE4_jp = 0;
|
||||
}
|
||||
|
||||
void load_player(mSM* submenu) {
|
||||
void load_player(Submenu* submenu) {
|
||||
SubmenuArea* playerActorOvl = &SubmenuArea_dlftbl[SUBMENU_AREA_INDEX_PLAYER];
|
||||
|
||||
if (SubmenuArea_visit == playerActorOvl) {
|
||||
@@ -321,8 +321,8 @@ void load_player(mSM* submenu) {
|
||||
SubmenuArea_DoLink(playerActorOvl, submenu, SUBMENU_AREA_INDEX_PLAYER);
|
||||
}
|
||||
|
||||
void mSM_submenu_ct(mSM* submenu) {
|
||||
bzero(submenu, sizeof(mSM));
|
||||
void mSM_submenu_ct(Submenu* submenu) {
|
||||
bzero(submenu, sizeof(Submenu));
|
||||
|
||||
submenu->moveProcIndex = MSM_MOVE_PROC_WAIT;
|
||||
submenu->unk_20 = 0;
|
||||
@@ -332,23 +332,23 @@ void mSM_submenu_ct(mSM* submenu) {
|
||||
common_data.unk_104AD = 0;
|
||||
}
|
||||
|
||||
submenu->play = (void*)none_proc1;
|
||||
submenu->move = (void*)none_proc1;
|
||||
submenu->draw = (void*)none_proc1;
|
||||
}
|
||||
|
||||
void mSM_submenu_dt(UNUSED mSM* submenu) {
|
||||
void mSM_submenu_dt(UNUSED Submenu* submenu) {
|
||||
}
|
||||
|
||||
void mSM_open_submenu(mSM* submenu, s32 arg1, s32 arg2, s32 arg3) {
|
||||
mSM_open_submenu_new2(submenu, arg1, arg2, arg3, 0, 0);
|
||||
void mSM_open_submenu(Submenu* submenu, SubmenuProgramId programId, s32 arg2, s32 arg3) {
|
||||
mSM_open_submenu_new2(submenu, programId, arg2, arg3, 0, 0);
|
||||
}
|
||||
|
||||
void mSM_open_submenu_new(mSM* submenu, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
mSM_open_submenu_new2(submenu, arg1, arg2, arg3, arg4, 0);
|
||||
void mSM_open_submenu_new(Submenu* submenu, SubmenuProgramId programId, s32 arg2, s32 arg3, s32 arg4) {
|
||||
mSM_open_submenu_new2(submenu, programId, arg2, arg3, arg4, 0);
|
||||
}
|
||||
|
||||
void mSM_open_submenu_new2(mSM* submenu, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) {
|
||||
submenu->unk_04 = arg1;
|
||||
void mSM_open_submenu_new2(Submenu* submenu, SubmenuProgramId programId, s32 arg2, s32 arg3, s32 arg4, s32 arg5) {
|
||||
submenu->programId = programId;
|
||||
submenu->unk_10 = arg2;
|
||||
submenu->unk_14 = arg3;
|
||||
submenu->unk_18 = arg4;
|
||||
@@ -373,7 +373,7 @@ void mSM_Reset_player_btn_type2(Game_Play* game_play) {
|
||||
}
|
||||
|
||||
void mSM_submenu_ctrl(Game_Play* game_play) {
|
||||
mSM* submenu = &game_play->submenu;
|
||||
Submenu* submenu = &game_play->submenu;
|
||||
|
||||
if ((game_play->submenu.moveProcIndex != MSM_MOVE_PROC_WAIT) || (game_play->unk_1EE0 != 0) ||
|
||||
(game_play->unk_1EE3 != 0)) {
|
||||
@@ -422,14 +422,14 @@ void mSM_submenu_ctrl(Game_Play* game_play) {
|
||||
}
|
||||
}
|
||||
|
||||
if (submenu->unk_04 != 0) {
|
||||
if (submenu->programId != SUBMENU_PROGRAM_0) {
|
||||
submenu->moveProcIndex = MSM_MOVE_PROC_PREWAIT;
|
||||
submenu->unk_00 = 1;
|
||||
SetGameFrame(2);
|
||||
}
|
||||
}
|
||||
|
||||
void mSM_move_Wait(mSM* submenu) {
|
||||
void mSM_move_Wait(Submenu* submenu) {
|
||||
if (submenu->unk_20 != 0) {
|
||||
submenu->unk_20--;
|
||||
}
|
||||
@@ -439,13 +439,13 @@ void mSM_move_Wait(mSM* submenu) {
|
||||
}
|
||||
}
|
||||
|
||||
void mSM_move_PREWait(mSM* submenu) {
|
||||
void mSM_move_PREWait(Submenu* submenu) {
|
||||
if (submenu->unk_00 > 2) {
|
||||
submenu->moveProcIndex = MSM_MOVE_PROC_LINKWAIT;
|
||||
}
|
||||
}
|
||||
|
||||
void mSM_move_LINKWait(mSM* submenu) {
|
||||
void mSM_move_LINKWait(Submenu* submenu) {
|
||||
SubmenuArea* submenuOvl = &SubmenuArea_dlftbl[SUBMENU_AREA_INDEX_SUBMENU];
|
||||
|
||||
if (SubmenuArea_visit == submenuOvl) {
|
||||
@@ -457,7 +457,7 @@ void mSM_move_LINKWait(mSM* submenu) {
|
||||
}
|
||||
SubmenuArea_DoLink(submenuOvl, submenu, SUBMENU_AREA_INDEX_SUBMENU);
|
||||
|
||||
submenu->play = mSM_ovlptr_dllcnv(mSM_menu_ovl_init, submenu);
|
||||
submenu->move = mSM_ovlptr_dllcnv(mSM_menu_ovl_init, submenu);
|
||||
submenu->draw = (void*)none_proc1;
|
||||
submenu->moveProcIndex = MSM_MOVE_PROC_PLAY;
|
||||
submenu->unk_DC = 1;
|
||||
@@ -469,7 +469,8 @@ void mSM_move_LINKWait(mSM* submenu) {
|
||||
xyz_t_move(&submenu->unk_E4, &ZeroVec);
|
||||
|
||||
if (submenu->unk_00 != 4) {
|
||||
if (((submenu->unk_04 == 4) && (submenu->unk_10 == 0)) || (common_data.now_private->gender == 0)) {
|
||||
if (((submenu->programId == SUBMENU_PROGRAM_LEDIT) && (submenu->unk_10 == 0)) ||
|
||||
(common_data.now_private->gender == 0)) {
|
||||
sAdo_SpecChange(5);
|
||||
} else {
|
||||
sAdo_SpecChange(6);
|
||||
@@ -478,22 +479,22 @@ void mSM_move_LINKWait(mSM* submenu) {
|
||||
}
|
||||
}
|
||||
|
||||
void mSM_move_Play(mSM* submenu) {
|
||||
submenu->play(submenu);
|
||||
void mSM_move_Play(Submenu* submenu) {
|
||||
submenu->move(submenu);
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// likely branch instead of normal branch
|
||||
void mSM_move_End(mSM* submenu) {
|
||||
void mSM_move_End(Submenu* submenu) {
|
||||
UNUSED s32 pad;
|
||||
Game_Play* sp28;
|
||||
UNK_TYPE sp24;
|
||||
UNUSED s32 sp20[1];
|
||||
|
||||
sp28 = (Game_Play*)gamePT;
|
||||
submenu->play(submenu);
|
||||
submenu->move(submenu);
|
||||
submenu->moveProcIndex = MSM_MOVE_PROC_WAIT;
|
||||
submenu->unk_04 = 0;
|
||||
submenu->programId = SUBMENU_PROGRAM_0;
|
||||
submenu->unk_20 = 2;
|
||||
submenu->unk_DC = 0;
|
||||
|
||||
@@ -505,7 +506,7 @@ void mSM_move_End(mSM* submenu) {
|
||||
|
||||
sp24 = mMsg_Get_base_window_p();
|
||||
submenu->unk_00 = 0;
|
||||
mSc_dmacopy_all_exchange_bank(sp28->unk_0110);
|
||||
mSc_dmacopy_all_exchange_bank(sp28->unk_0110.unk_0000);
|
||||
SubmenuArea_DoUnlink(SubmenuArea_dlftbl, submenu);
|
||||
load_player(submenu);
|
||||
mSM_load_player_anime(sp28);
|
||||
@@ -522,11 +523,11 @@ void mSM_move_End(mSM* submenu) {
|
||||
mMsg_sound_spec_change_voice(sp24);
|
||||
}
|
||||
#else
|
||||
void mSM_move_End(mSM* submenu);
|
||||
void mSM_move_End(Submenu* submenu);
|
||||
#pragma GLOBAL_ASM("asm/jp/nonmatchings/code/m_submenu/mSM_move_End.s")
|
||||
#endif
|
||||
|
||||
typedef void (*MoveProcFunc)(mSM*);
|
||||
typedef void (*MoveProcFunc)(Submenu*);
|
||||
|
||||
MoveProcFunc move_proc_616[MSM_MOVE_PROC_MAX] = {
|
||||
mSM_move_Wait, // MSM_MOVE_PROC_WAIT
|
||||
@@ -536,11 +537,11 @@ MoveProcFunc move_proc_616[MSM_MOVE_PROC_MAX] = {
|
||||
mSM_move_End, // MSM_MOVE_PROC_END
|
||||
};
|
||||
|
||||
void mSM_submenu_move(mSM* submenu) {
|
||||
void mSM_submenu_move(Submenu* submenu) {
|
||||
move_proc_616[submenu->moveProcIndex](submenu);
|
||||
}
|
||||
|
||||
void mSM_submenu_draw(mSM* submenu, struct Game_Play* game_play) {
|
||||
void mSM_submenu_draw(Submenu* submenu, struct Game_Play* game_play) {
|
||||
SubmenuArea* submenuOvl = &SubmenuArea_dlftbl[SUBMENU_AREA_INDEX_SUBMENU];
|
||||
|
||||
if ((submenu->unk_00 >= 3) && (submenu->moveProcIndex == 3) && (submenuOvl == SubmenuArea_visit)) {
|
||||
|
||||
Reference in New Issue
Block a user