mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-11-16 11:37:40 +01:00
decompile hof pc
This commit is contained in:
parent
0db23bc215
commit
f59eedb672
73
asm/hof_pc.s
73
asm/hof_pc.s
@ -1,73 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start AccessHallOfFamePC
|
|
||||||
AccessHallOfFamePC: @ 8137C28
|
|
||||||
push {lr}
|
|
||||||
ldr r0, =CB2_DoHallOfFamePC
|
|
||||||
bl SetMainCallback2
|
|
||||||
bl ScriptContext2_Enable
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end AccessHallOfFamePC
|
|
||||||
|
|
||||||
thumb_func_start ReturnFromHallOfFamePC
|
|
||||||
ReturnFromHallOfFamePC: @ 8137C3C
|
|
||||||
push {lr}
|
|
||||||
ldr r0, =c2_exit_to_overworld_2_switch
|
|
||||||
bl SetMainCallback2
|
|
||||||
ldr r1, =gFieldCallback
|
|
||||||
ldr r0, =ReshowPCMenuAfterHallOfFamePC
|
|
||||||
str r0, [r1]
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end ReturnFromHallOfFamePC
|
|
||||||
|
|
||||||
thumb_func_start ReshowPCMenuAfterHallOfFamePC
|
|
||||||
ReshowPCMenuAfterHallOfFamePC: @ 8137C5C
|
|
||||||
push {lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
bl ScriptContext2_Enable
|
|
||||||
bl Overworld_PlaySpecialMapMusic
|
|
||||||
bl sp109_CreatePCMenu
|
|
||||||
bl sub_80E2514
|
|
||||||
movs r0, 0x1
|
|
||||||
negs r0, r0
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [sp]
|
|
||||||
movs r2, 0x10
|
|
||||||
movs r3, 0
|
|
||||||
bl BeginNormalPaletteFade
|
|
||||||
ldr r0, =Task_WaitForPaletteFade
|
|
||||||
movs r1, 0xA
|
|
||||||
bl CreateTask
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end ReshowPCMenuAfterHallOfFamePC
|
|
||||||
|
|
||||||
thumb_func_start Task_WaitForPaletteFade
|
|
||||||
Task_WaitForPaletteFade: @ 8137C94
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r2, r0, 24
|
|
||||||
ldr r0, =gPaletteFade
|
|
||||||
ldrb r1, [r0, 0x7]
|
|
||||||
movs r0, 0x80
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08137CAC
|
|
||||||
adds r0, r2, 0
|
|
||||||
bl DestroyTask
|
|
||||||
_08137CAC:
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end Task_WaitForPaletteFade
|
|
@ -676,9 +676,9 @@ _080E2360:
|
|||||||
.pool
|
.pool
|
||||||
thumb_func_end sub_80E2308
|
thumb_func_end sub_80E2308
|
||||||
|
|
||||||
thumb_func_start sp109_CreatePCMenu
|
thumb_func_start ScrSpecial_CreatePCMenu
|
||||||
@ bool sp109_CreatePCMenu()
|
@ bool ScrSpecial_CreatePCMenu()
|
||||||
sp109_CreatePCMenu: @ 80E236C
|
ScrSpecial_CreatePCMenu: @ 80E236C
|
||||||
push {lr}
|
push {lr}
|
||||||
ldr r0, =sub_80E2058
|
ldr r0, =sub_80E2058
|
||||||
bl FuncIsActiveTask
|
bl FuncIsActiveTask
|
||||||
@ -698,7 +698,7 @@ _080E2394:
|
|||||||
_080E2396:
|
_080E2396:
|
||||||
pop {r1}
|
pop {r1}
|
||||||
bx r1
|
bx r1
|
||||||
thumb_func_end sp109_CreatePCMenu
|
thumb_func_end ScrSpecial_CreatePCMenu
|
||||||
|
|
||||||
thumb_func_start CreatePCMenu
|
thumb_func_start CreatePCMenu
|
||||||
CreatePCMenu: @ 80E239C
|
CreatePCMenu: @ 80E239C
|
||||||
@ -858,8 +858,8 @@ _080E24C6:
|
|||||||
.pool
|
.pool
|
||||||
thumb_func_end CreatePCMenu
|
thumb_func_end CreatePCMenu
|
||||||
|
|
||||||
thumb_func_start sub_80E2514
|
thumb_func_start ScriptMenu_DisplayPCStartupPrompt
|
||||||
sub_80E2514: @ 80E2514
|
ScriptMenu_DisplayPCStartupPrompt: @ 80E2514
|
||||||
push {lr}
|
push {lr}
|
||||||
sub sp, 0x10
|
sub sp, 0x10
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
@ -882,7 +882,7 @@ sub_80E2514: @ 80E2514
|
|||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
.pool
|
.pool
|
||||||
thumb_func_end sub_80E2514
|
thumb_func_end ScriptMenu_DisplayPCStartupPrompt
|
||||||
|
|
||||||
thumb_func_start sub_80E2548
|
thumb_func_start sub_80E2548
|
||||||
sub_80E2548: @ 80E2548
|
sub_80E2548: @ 80E2548
|
||||||
|
@ -1771,7 +1771,7 @@ EventScript_271D92:: @ 8271D92
|
|||||||
EventScript_271DAC:: @ 8271DAC
|
EventScript_271DAC:: @ 8271DAC
|
||||||
message gUnknown_0827266F
|
message gUnknown_0827266F
|
||||||
waitmessage
|
waitmessage
|
||||||
special sp109_CreatePCMenu
|
special ScrSpecial_CreatePCMenu
|
||||||
waitstate
|
waitstate
|
||||||
goto EventScript_271DBC
|
goto EventScript_271DBC
|
||||||
end
|
end
|
||||||
|
@ -273,7 +273,7 @@ gSpecials:: @ 81DBA64
|
|||||||
def_special ShowBerryBlenderRecordWindow
|
def_special ShowBerryBlenderRecordWindow
|
||||||
def_special ResetTrickHouseEndRoomFlag
|
def_special ResetTrickHouseEndRoomFlag
|
||||||
def_special SetTrickHouseEndRoomFlag
|
def_special SetTrickHouseEndRoomFlag
|
||||||
def_special sp109_CreatePCMenu
|
def_special ScrSpecial_CreatePCMenu
|
||||||
def_special AccessHallOfFamePC
|
def_special AccessHallOfFamePC
|
||||||
def_special Special_ShowDiploma
|
def_special Special_ShowDiploma
|
||||||
def_special CheckLeadMonCool
|
def_special CheckLeadMonCool
|
||||||
|
@ -187,7 +187,7 @@ SECTIONS {
|
|||||||
asm/post_battle_event_funcs.o(.text);
|
asm/post_battle_event_funcs.o(.text);
|
||||||
asm/time_events.o(.text);
|
asm/time_events.o(.text);
|
||||||
asm/birch_pc.o(.text);
|
asm/birch_pc.o(.text);
|
||||||
asm/hof_pc.o(.text);
|
src/hof_pc.o(.text);
|
||||||
asm/field_specials.o(.text);
|
asm/field_specials.o(.text);
|
||||||
asm/battle_records.o(.text);
|
asm/battle_records.o(.text);
|
||||||
asm/pokedex_area_screen.o(.text);
|
asm/pokedex_area_screen.o(.text);
|
||||||
|
46
src/hof_pc.c
Normal file
46
src/hof_pc.c
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "hall_of_fame.h"
|
||||||
|
#include "main.h"
|
||||||
|
#include "palette.h"
|
||||||
|
#include "overworld.h"
|
||||||
|
#include "script.h"
|
||||||
|
#include "script_menu.h"
|
||||||
|
#include "task.h"
|
||||||
|
|
||||||
|
extern void (*gFieldCallback)(void);
|
||||||
|
extern void (*gUnknown_0300485C)(void);
|
||||||
|
|
||||||
|
extern void Overworld_PlaySpecialMapMusic(void);
|
||||||
|
extern bool16 ScrSpecial_CreatePCMenu(void);
|
||||||
|
extern void ScriptMenu_DisplayPCStartupPrompt(void);
|
||||||
|
|
||||||
|
static void ReshowPCMenuAfterHallOfFamePC(void);
|
||||||
|
static void Task_WaitForPaletteFade(u8);
|
||||||
|
|
||||||
|
void AccessHallOfFamePC(void)
|
||||||
|
{
|
||||||
|
SetMainCallback2(CB2_DoHallOfFamePC);
|
||||||
|
ScriptContext2_Enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ReturnFromHallOfFamePC(void)
|
||||||
|
{
|
||||||
|
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||||
|
gFieldCallback = ReshowPCMenuAfterHallOfFamePC;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void ReshowPCMenuAfterHallOfFamePC(void)
|
||||||
|
{
|
||||||
|
ScriptContext2_Enable();
|
||||||
|
Overworld_PlaySpecialMapMusic();
|
||||||
|
ScrSpecial_CreatePCMenu();
|
||||||
|
ScriptMenu_DisplayPCStartupPrompt();
|
||||||
|
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
|
||||||
|
CreateTask(Task_WaitForPaletteFade, 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Task_WaitForPaletteFade(u8 taskId)
|
||||||
|
{
|
||||||
|
if (!gPaletteFade.active)
|
||||||
|
DestroyTask(taskId);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user