mirror of
https://github.com/pret/pokeheartgold.git
synced 2026-05-15 23:51:16 -05:00
through ScrCmd_842
This commit is contained in:
parent
890b594af7
commit
00a8b847df
219
asm/scrcmd.s
219
asm/scrcmd.s
|
|
@ -910,225 +910,6 @@ _021D4168:
|
|||
.public sub_02041770
|
||||
.public sub_020418B4
|
||||
|
||||
thumb_func_start ScrCmd_068
|
||||
ScrCmd_068: ; 0x02041950
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
mov r1, #0
|
||||
bl FieldSysGetAttrAddr
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
mov r2, #0
|
||||
bl sub_02041770
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
thumb_func_end ScrCmd_068
|
||||
|
||||
thumb_func_start ScrCmd_069
|
||||
ScrCmd_069: ; 0x0204196C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
mov r1, #0
|
||||
bl FieldSysGetAttrAddr
|
||||
add r1, r0, #0
|
||||
ldr r2, [r4, #0x78]
|
||||
add r0, r4, #0
|
||||
bl sub_02041770
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
thumb_func_end ScrCmd_069
|
||||
|
||||
thumb_func_start ScrCmd_070
|
||||
ScrCmd_070: ; 0x02041988
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
mov r1, #0
|
||||
bl FieldSysGetAttrAddr
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl ScriptReadHalfword
|
||||
add r1, r0, #0
|
||||
add r0, r5, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
bl VarGet
|
||||
add r6, r0, #0
|
||||
add r0, r5, #0
|
||||
bl ScriptReadHalfword
|
||||
add r1, r0, #0
|
||||
add r0, r5, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
bl VarGet
|
||||
add r7, r0, #0
|
||||
add r0, r5, #0
|
||||
bl ScriptReadHalfword
|
||||
add r5, #0x80
|
||||
add r1, r0, #0
|
||||
ldr r0, [r5]
|
||||
bl VarGet
|
||||
add r3, r0, #0
|
||||
lsl r1, r6, #0x18
|
||||
lsl r2, r7, #0x18
|
||||
lsl r3, r3, #0x18
|
||||
ldr r0, [r4]
|
||||
lsr r1, r1, #0x18
|
||||
lsr r2, r2, #0x18
|
||||
lsr r3, r3, #0x18
|
||||
bl MoveTutorMenu_SetListItem
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ScrCmd_070
|
||||
|
||||
thumb_func_start ScrCmd_071
|
||||
ScrCmd_071: ; 0x020419E8
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
mov r1, #0
|
||||
bl FieldSysGetAttrAddr
|
||||
ldr r0, [r0]
|
||||
bl ov01_021EDFA4
|
||||
ldr r1, _02041A08 ; =sub_020418B4
|
||||
add r0, r4, #0
|
||||
bl SetupNativeScript
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
_02041A08: .word sub_020418B4
|
||||
thumb_func_end ScrCmd_071
|
||||
|
||||
thumb_func_start ScrCmd_695
|
||||
ScrCmd_695: ; 0x02041A0C
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
mov r1, #0
|
||||
bl FieldSysGetAttrAddr
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl ScriptReadHalfword
|
||||
add r1, r0, #0
|
||||
add r0, r5, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
bl VarGet
|
||||
add r1, r0, #0
|
||||
ldr r0, [r4]
|
||||
bl ov01_021EE014
|
||||
ldr r1, _02041A44 ; =sub_020418B4
|
||||
add r0, r5, #0
|
||||
bl SetupNativeScript
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_02041A44: .word sub_020418B4
|
||||
thumb_func_end ScrCmd_695
|
||||
|
||||
thumb_func_start ScrCmd_677
|
||||
ScrCmd_677: ; 0x02041A48
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
mov r1, #0
|
||||
bl FieldSysGetAttrAddr
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl ScriptReadHalfword
|
||||
add r1, r0, #0
|
||||
add r0, r5, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
bl GetVarPointer
|
||||
add r6, r0, #0
|
||||
add r0, r5, #0
|
||||
bl ScriptReadHalfword
|
||||
add r1, r0, #0
|
||||
add r0, r5, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
bl GetVarPointer
|
||||
add r2, r0, #0
|
||||
ldr r0, [r4]
|
||||
add r1, r6, #0
|
||||
bl ov01_021EE0EC
|
||||
ldr r1, _02041A94 ; =sub_020418B4
|
||||
add r0, r5, #0
|
||||
bl SetupNativeScript
|
||||
mov r0, #1
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
_02041A94: .word sub_020418B4
|
||||
thumb_func_end ScrCmd_677
|
||||
|
||||
thumb_func_start ScrCmd_072
|
||||
ScrCmd_072: ; 0x02041A98
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
mov r1, #0
|
||||
bl FieldSysGetAttrAddr
|
||||
ldr r2, [r4, #8]
|
||||
add r1, r2, #1
|
||||
str r1, [r4, #8]
|
||||
ldrb r1, [r2]
|
||||
ldr r0, [r0]
|
||||
bl ov01_021EE974
|
||||
ldr r1, _02041AC0 ; =sub_020418B4
|
||||
add r0, r4, #0
|
||||
bl SetupNativeScript
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
_02041AC0: .word sub_020418B4
|
||||
thumb_func_end ScrCmd_072
|
||||
|
||||
thumb_func_start ScrCmd_841
|
||||
ScrCmd_841: ; 0x02041AC4
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
mov r1, #0
|
||||
bl FieldSysGetAttrAddr
|
||||
ldr r2, [r4, #8]
|
||||
add r1, r2, #1
|
||||
str r1, [r4, #8]
|
||||
ldrb r1, [r2]
|
||||
ldr r0, [r0]
|
||||
bl ov01_021EF018
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
thumb_func_end ScrCmd_841
|
||||
|
||||
thumb_func_start ScrCmd_842
|
||||
ScrCmd_842: ; 0x02041AE4
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
mov r1, #0
|
||||
bl FieldSysGetAttrAddr
|
||||
ldr r2, [r4, #8]
|
||||
add r1, r2, #1
|
||||
str r1, [r4, #8]
|
||||
ldrb r1, [r2]
|
||||
ldr r0, [r0]
|
||||
bl ov01_021EF034
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
thumb_func_end ScrCmd_842
|
||||
|
||||
thumb_func_start ScrCmd_ApplyMovement
|
||||
ScrCmd_ApplyMovement: ; 0x02041B04
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
|
|
|
|||
|
|
@ -56,5 +56,12 @@ struct UnkStruct_ov01_021EDC28 *ov01_021EDF78(FieldSystem *fsys, u8 x, u8 y, u8
|
|||
void ov01_021EDC7C(struct UnkStruct_ov01_021EDC28 *menu, u32 msgId, u32 value);
|
||||
void ov01_021EDC84(struct UnkStruct_ov01_021EDC28 *menu);
|
||||
void ov01_021EDF38(struct UnkStruct_ov01_021EDC28 *menu);
|
||||
void ov01_021EE014(struct UnkStruct_ov01_021EDC28 *menu, u16 a1);
|
||||
void ov01_021EE0EC(struct UnkStruct_ov01_021EDC28 *menu, u16 *a1, u16 *a2);
|
||||
void ov01_021EDFA4(struct UnkStruct_ov01_021EDC28 *menu);
|
||||
void ov01_021EE974(struct UnkStruct_ov01_021EDC28 *menu, u8 a1);
|
||||
void ov01_021EF018(struct UnkStruct_ov01_021EDC28 *menu, u8 a1);
|
||||
void ov01_021EF034(struct UnkStruct_ov01_021EDC28 *menu, u8 a1);
|
||||
void MoveTutorMenu_SetListItem(struct UnkStruct_ov01_021EDC28 *menu, u8 a1, u8 a2, u8 a3);
|
||||
|
||||
#endif //POKEHEARTGOLD_OVERLAY_01_H
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ typedef struct ScriptEnvironment {
|
|||
} ScriptEnvironment;
|
||||
|
||||
enum ScriptEnvField {
|
||||
SCRIPTENV_10 = 0,
|
||||
SCRIPTENV_MENU_WINDOW = 0,
|
||||
SCRIPTENV_WINDOW = 1,
|
||||
SCRIPTENV_MENU = 2,
|
||||
SCRIPTENV_05 = 3,
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ void LoadScriptsAndMessagesForCurrentMap(FieldSystem *fsys, SCRIPTCONTEXT *ctx)
|
|||
|
||||
void *FieldSysGetAttrAddrInternal(ScriptEnvironment *unk, enum ScriptEnvField field) {
|
||||
switch (field) {
|
||||
case SCRIPTENV_10:
|
||||
case SCRIPTENV_MENU_WINDOW:
|
||||
return &unk->unk_10;
|
||||
case SCRIPTENV_WINDOW:
|
||||
return &unk->unk_14;
|
||||
|
|
|
|||
|
|
@ -888,17 +888,17 @@ void sub_02041770(SCRIPTCONTEXT *ctx, struct UnkStruct_ov01_021EDC28 **a1, MSGDA
|
|||
}
|
||||
|
||||
BOOL ScrCmd_064(SCRIPTCONTEXT *ctx) {
|
||||
sub_02041770(ctx, FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_10), NULL);
|
||||
sub_02041770(ctx, FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW), NULL);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_065(SCRIPTCONTEXT *ctx) {
|
||||
sub_02041770(ctx, FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_10), ctx->msg_data);
|
||||
sub_02041770(ctx, FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW), ctx->msg_data);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_066(SCRIPTCONTEXT *ctx) {
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_10);
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW);
|
||||
u8 msgId = ScriptReadByte(ctx);
|
||||
u8 value = ScriptReadByte(ctx);
|
||||
ov01_021EDC7C(*pp_menu, msgId, value);
|
||||
|
|
@ -906,7 +906,7 @@ BOOL ScrCmd_066(SCRIPTCONTEXT *ctx) {
|
|||
}
|
||||
|
||||
BOOL ScrCmd_559(SCRIPTCONTEXT *ctx) {
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_10);
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW);
|
||||
u16 msgId = ScriptGetVar(ctx);
|
||||
u16 value = ScriptGetVar(ctx);
|
||||
ov01_021EDC7C(*pp_menu, msgId, value);
|
||||
|
|
@ -916,7 +916,7 @@ BOOL ScrCmd_559(SCRIPTCONTEXT *ctx) {
|
|||
BOOL sub_020418B4(SCRIPTCONTEXT *ctx);
|
||||
|
||||
BOOL ScrCmd_067(SCRIPTCONTEXT *ctx) {
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_10);
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW);
|
||||
ov01_021EDC84(*pp_menu);
|
||||
SetupNativeScript(ctx, sub_020418B4);
|
||||
return TRUE;
|
||||
|
|
@ -929,7 +929,7 @@ BOOL sub_020418B4(SCRIPTCONTEXT *ctx) {
|
|||
BOOL sub_02041900(SCRIPTCONTEXT *ctx);
|
||||
|
||||
BOOL ScrCmd_585(SCRIPTCONTEXT *ctx) {
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_10);
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW);
|
||||
ov01_021EDC84(*pp_menu);
|
||||
SetupNativeScript(ctx, sub_02041900);
|
||||
return TRUE;
|
||||
|
|
@ -938,7 +938,7 @@ BOOL ScrCmd_585(SCRIPTCONTEXT *ctx) {
|
|||
BOOL sub_02041900(SCRIPTCONTEXT *ctx) {
|
||||
FieldSystem *fsys = ctx->fsys;
|
||||
u16 *p_var = GetVarPointer(fsys, ctx->data[0]);
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(fsys, SCRIPTENV_10);
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(fsys, SCRIPTENV_MENU_WINDOW);
|
||||
if (*p_var == 0xEEEE) {
|
||||
if (sub_0205A478(fsys->unk80)) {
|
||||
*p_var = 8;
|
||||
|
|
@ -951,3 +951,68 @@ BOOL sub_02041900(SCRIPTCONTEXT *ctx) {
|
|||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
BOOL ScrCmd_068(SCRIPTCONTEXT *ctx) {
|
||||
sub_02041770(ctx, FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW), NULL);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_069(SCRIPTCONTEXT *ctx) {
|
||||
sub_02041770(ctx, FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW), ctx->msg_data);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_070(SCRIPTCONTEXT *ctx) {
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW);
|
||||
u16 r6 = ScriptGetVar(ctx);
|
||||
u16 r7 = ScriptGetVar(ctx);
|
||||
u16 r3 = ScriptGetVar(ctx);
|
||||
MoveTutorMenu_SetListItem(*pp_menu, r6, r7, r3);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_071(SCRIPTCONTEXT *ctx) {
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW);
|
||||
ov01_021EDFA4(*pp_menu);
|
||||
SetupNativeScript(ctx, sub_020418B4);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_695(SCRIPTCONTEXT *ctx) {
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW);
|
||||
u16 var = ScriptGetVar(ctx);
|
||||
ov01_021EE014(*pp_menu, var);
|
||||
SetupNativeScript(ctx, sub_020418B4);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_677(SCRIPTCONTEXT *ctx) {
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW);
|
||||
u16 *var1 = ScriptGetVarPointer(ctx);
|
||||
u16 *var2 = ScriptGetVarPointer(ctx);
|
||||
ov01_021EE0EC(*pp_menu, var1, var2);
|
||||
SetupNativeScript(ctx, sub_020418B4);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_072(SCRIPTCONTEXT *ctx) {
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW);
|
||||
u8 val = ScriptReadByte(ctx);
|
||||
ov01_021EE974(*pp_menu, val);
|
||||
SetupNativeScript(ctx, sub_020418B4);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_841(SCRIPTCONTEXT *ctx) {
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW);
|
||||
u8 val = ScriptReadByte(ctx);
|
||||
ov01_021EF018(*pp_menu, val);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ScrCmd_842(SCRIPTCONTEXT *ctx) {
|
||||
struct UnkStruct_ov01_021EDC28 **pp_menu = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW);
|
||||
u8 val = ScriptReadByte(ctx);
|
||||
ov01_021EF034(*pp_menu, val);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user