through ScrCmd_release; propose names for remaining funcs

This commit is contained in:
scnorton
2019-01-06 13:06:56 -05:00
parent b16831e97b
commit 96e1b19dc1
22 changed files with 510 additions and 982 deletions
+6 -6
View File
@@ -1512,7 +1512,7 @@ battle_80801F0: @ 80801F0
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
bl GetFieldObjectIdByLocalIdAndMap
ldr r1, _08080224 @ =gUnknown_3005074
ldr r1, _08080224 @ =gSelectedEventObject
strb r0, [r1]
_08080212:
pop {r0}
@@ -1521,7 +1521,7 @@ _08080212:
_08080218: .4byte gUnknown_20386B0
_0808021C: .4byte gSpecialVar_LastTalked
_08080220: .4byte gSaveBlock1Ptr
_08080224: .4byte gUnknown_3005074
_08080224: .4byte gSelectedEventObject
thumb_func_end battle_80801F0
thumb_func_start sub_8080228
@@ -1647,7 +1647,7 @@ TrainerWantsBattle: @ 8080334
push {r4,lr}
lsls r0, 24
lsrs r0, 24
ldr r2, _08080368 @ =gUnknown_3005074
ldr r2, _08080368 @ =gSelectedEventObject
strb r0, [r2]
ldr r4, _0808036C @ =gSpecialVar_LastTalked
ldr r3, _08080370 @ =gMapObjects
@@ -1667,7 +1667,7 @@ TrainerWantsBattle: @ 8080334
pop {r0}
bx r0
.align 2, 0
_08080368: .4byte gUnknown_3005074
_08080368: .4byte gSelectedEventObject
_0808036C: .4byte gSpecialVar_LastTalked
_08080370: .4byte gMapObjects
_08080374: .4byte gUnknown_81A4EB4
@@ -1693,7 +1693,7 @@ GetTrainerFlagFromScriptPointer: @ 8080378
thumb_func_start sub_8080398
sub_8080398: @ 8080398
push {r4,lr}
ldr r0, _080803C4 @ =gUnknown_3005074
ldr r0, _080803C4 @ =gSelectedEventObject
ldrb r0, [r0]
lsls r4, r0, 3
adds r4, r0
@@ -1713,7 +1713,7 @@ sub_8080398: @ 8080398
pop {r0}
bx r0
.align 2, 0
_080803C4: .4byte gUnknown_3005074
_080803C4: .4byte gSelectedEventObject
_080803C8: .4byte gMapObjects
thumb_func_end sub_8080398
+4 -4
View File
@@ -936,7 +936,7 @@ _0806CFBC:
adds r4, 0x1
cmp r4, 0x3
ble _0806CFB0
ldr r0, _0806CFE8 @ =gUnknown_3005074
ldr r0, _0806CFE8 @ =gSelectedEventObject
strb r3, [r0]
ldr r1, _0806CFEC @ =gSpecialVar_LastTalked
adds r0, r2, r3
@@ -954,7 +954,7 @@ _0806CFDE:
bx r1
.align 2, 0
_0806CFE4: .4byte gUnknown_2031DEC
_0806CFE8: .4byte gUnknown_3005074
_0806CFE8: .4byte gSelectedEventObject
_0806CFEC: .4byte gSpecialVar_LastTalked
_0806CFF0: .4byte gSpecialVar_Facing
thumb_func_end sub_806CF38
@@ -1044,7 +1044,7 @@ _0806D092:
_0806D098: .4byte gMapObjects
_0806D09C: .4byte gUnknown_826D2D8
_0806D0A0:
ldr r0, _0806D0D4 @ =gUnknown_3005074
ldr r0, _0806D0D4 @ =gSelectedEventObject
strb r5, [r0]
ldr r4, _0806D0D8 @ =gSpecialVar_LastTalked
ldr r1, _0806D0DC @ =gMapObjects
@@ -1069,7 +1069,7 @@ _0806D0C8:
pop {r1}
bx r1
.align 2, 0
_0806D0D4: .4byte gUnknown_3005074
_0806D0D4: .4byte gSelectedEventObject
_0806D0D8: .4byte gSpecialVar_LastTalked
_0806D0DC: .4byte gMapObjects
_0806D0E0: .4byte gSpecialVar_Facing
+3 -3
View File
@@ -1614,8 +1614,8 @@ _0805E9F0: .4byte 0x0000ffff
_0805E9F4: .4byte gSprites
thumb_func_end AddPseudoFieldObject
thumb_func_start sub_805E9F8
sub_805E9F8: @ 805E9F8
thumb_func_start sprite_new
sprite_new: @ 805E9F8
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -1772,7 +1772,7 @@ _0805EB24:
_0805EB38: .4byte sub_8068FA8
_0805EB3C: .4byte 0x0000ffff
_0805EB40: .4byte gSprites
thumb_func_end sub_805E9F8
thumb_func_end sprite_new
thumb_func_start sub_805EB44
sub_805EB44: @ 805EB44
+4 -4
View File
@@ -3138,7 +3138,7 @@ _080CBDE4: .4byte gSpecialVar_0x8004
thumb_func_start sub_80CBDE8
sub_80CBDE8: @ 80CBDE8
ldr r1, _080CBDF8 @ =gUnknown_3005074
ldr r1, _080CBDF8 @ =gSelectedEventObject
movs r0, 0
strb r0, [r1]
ldr r1, _080CBDFC @ =gUnknown_20370DA
@@ -3146,7 +3146,7 @@ sub_80CBDE8: @ 80CBDE8
strh r0, [r1]
bx lr
.align 2, 0
_080CBDF8: .4byte gUnknown_3005074
_080CBDF8: .4byte gSelectedEventObject
_080CBDFC: .4byte gUnknown_20370DA
thumb_func_end sub_80CBDE8
@@ -3157,7 +3157,7 @@ sub_80CBE00: @ 80CBE00
ldrh r0, [r0]
cmp r0, 0xFF
bne _080CBE44
ldr r1, _080CBE1C @ =gUnknown_3005074
ldr r1, _080CBE1C @ =gSelectedEventObject
ldrb r0, [r1]
cmp r0, 0
bne _080CBE20
@@ -3165,7 +3165,7 @@ sub_80CBE00: @ 80CBE00
b _080CBE48
.align 2, 0
_080CBE18: .4byte gUnknown_20370DA
_080CBE1C: .4byte gUnknown_3005074
_080CBE1C: .4byte gSelectedEventObject
_080CBE20:
ldr r2, _080CBE4C @ =gMapObjects
ldrb r1, [r1]
+1 -1
View File
@@ -3259,7 +3259,7 @@ sub_80FEC54: @ 80FEC54
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
bl sub_805642C
bl is_c1_link_related_active
cmp r0, 0
bne _080FEC70
_080FEC62:
+1 -1
View File
@@ -11969,7 +11969,7 @@ _0811BADA:
str r0, [sp, 0x4]
movs r0, 0x19
adds r1, r4, 0
bl sub_805E9F8
bl sprite_new
ldr r1, [sp, 0x8]
adds r5, r1, r5
strb r0, [r5]
+10 -10
View File
@@ -101,7 +101,7 @@ _080695F6:
cmp r0, 0
bne _0806961E
ldr r2, _08069640 @ =gMapObjects
ldr r0, _08069644 @ =gUnknown_3005074
ldr r0, _08069644 @ =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -133,7 +133,7 @@ _08069634:
.align 2, 0
_0806963C: .4byte gTasks
_08069640: .4byte gMapObjects
_08069644: .4byte gUnknown_3005074
_08069644: .4byte gSelectedEventObject
thumb_func_end sub_80695CC
thumb_func_start sub_8069648
@@ -159,7 +159,7 @@ _08069666:
thumb_func_start LockSelectedMapObject
LockSelectedMapObject: @ 806966C
push {r4,r5,lr}
ldr r4, _080696B0 @ =gUnknown_3005074
ldr r4, _080696B0 @ =gSelectedEventObject
ldrb r0, [r4]
bl FreezeMapObjectsExceptOne
ldr r0, _080696B4 @ =sub_80695CC
@@ -191,7 +191,7 @@ _080696AA:
pop {r0}
bx r0
.align 2, 0
_080696B0: .4byte gUnknown_3005074
_080696B0: .4byte gSelectedEventObject
_080696B4: .4byte sub_80695CC
_080696B8: .4byte gMapObjects
_080696BC: .4byte gTasks
@@ -225,7 +225,7 @@ _080696EC: .4byte gMapObjects
sub_80696F0: @ 80696F0
push {r4,lr}
ldr r4, _08069738 @ =gMapObjects
ldr r0, _0806973C @ =gUnknown_3005074
ldr r0, _0806973C @ =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -257,13 +257,13 @@ _0806970E:
bx r0
.align 2, 0
_08069738: .4byte gMapObjects
_0806973C: .4byte gUnknown_3005074
_0806973C: .4byte gSelectedEventObject
thumb_func_end sub_80696F0
thumb_func_start sub_8069740
sub_8069740: @ 8069740
push {lr}
ldr r0, _0806975C @ =gUnknown_3005074
ldr r0, _0806975C @ =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -276,7 +276,7 @@ sub_8069740: @ 8069740
pop {r0}
bx r0
.align 2, 0
_0806975C: .4byte gUnknown_3005074
_0806975C: .4byte gSelectedEventObject
_08069760: .4byte gMapObjects
_08069764: .4byte gSpecialVar_Facing
thumb_func_end sub_8069740
@@ -284,7 +284,7 @@ _08069764: .4byte gSpecialVar_Facing
thumb_func_start sub_8069768
sub_8069768: @ 8069768
push {lr}
ldr r0, _08069780 @ =gUnknown_3005074
ldr r0, _08069780 @ =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -295,7 +295,7 @@ sub_8069768: @ 8069768
pop {r0}
bx r0
.align 2, 0
_08069780: .4byte gUnknown_3005074
_08069780: .4byte gSelectedEventObject
_08069784: .4byte gMapObjects
thumb_func_end sub_8069768
+2 -2
View File
@@ -334,7 +334,7 @@ itemid_80BF6D8_mail_related: @ 80BF6D8
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
bl sub_805642C
bl is_c1_link_related_active
cmp r0, 0x1
beq _080BF6EE
bl InUnionRoom
@@ -360,7 +360,7 @@ _080BF702:
thumb_func_start sub_80BF708
sub_80BF708: @ 80BF708
push {lr}
bl sub_805642C
bl is_c1_link_related_active
cmp r0, 0x1
beq _080BF71A
ldr r0, _080BF720 @ =gReceivedRemoteLinkPlayers
+8 -8
View File
@@ -3225,8 +3225,8 @@ sub_8056420: @ 8056420
bx r0
thumb_func_end sub_8056420
thumb_func_start sub_805642C
sub_805642C: @ 805642C
thumb_func_start is_c1_link_related_active
is_c1_link_related_active: @ 805642C
push {lr}
ldr r0, _0805643C @ =gMain
ldr r1, [r0]
@@ -3243,7 +3243,7 @@ _08056444:
_08056446:
pop {r1}
bx r1
thumb_func_end sub_805642C
thumb_func_end is_c1_link_related_active
thumb_func_start sub_805644C
sub_805644C: @ 805644C
@@ -3662,7 +3662,7 @@ _080567D8: .4byte sub_80565B4
thumb_func_start c2_exit_to_overworld_2_switch
c2_exit_to_overworld_2_switch: @ 80567DC
push {lr}
bl sub_805642C
bl is_c1_link_related_active
cmp r0, 0x1
bne _080567F4
ldr r0, _080567F0 @ =c2_exit_to_overworld_2_link
@@ -6144,7 +6144,7 @@ _08057C72:
bl sub_805833C
cmp r0, 0x1
bls _08057CA8
bl sub_805642C
bl is_c1_link_related_active
cmp r0, 0x1
bne _08057CA8
bl sub_800A00C
@@ -6976,7 +6976,7 @@ _08058240: .4byte gUnknown_81BB9F0
thumb_func_start sub_8058244
sub_8058244: @ 8058244
push {lr}
bl sub_805642C
bl is_c1_link_related_active
cmp r0, 0
bne _08058252
movs r0, 0
@@ -7009,7 +7009,7 @@ sub_8058274: @ 8058274
bl sub_800B248
cmp r0, 0x1
bls _080582D8
bl sub_805642C
bl is_c1_link_related_active
cmp r0, 0x1
bne _080582D8
bl sub_800A00C
@@ -7062,7 +7062,7 @@ sub_80582E0: @ 80582E0
bl sub_805833C
cmp r0, 0x1
bls _08058304
bl sub_805642C
bl is_c1_link_related_active
cmp r0, 0x1
bne _08058304
bl sub_800A00C
+2 -2
View File
@@ -8431,7 +8431,7 @@ _08138B48: .4byte 0x00003208
thumb_func_start sub_8138B4C
sub_8138B4C: @ 8138B4C
push {lr}
bl sub_805642C
bl is_c1_link_related_active
cmp r0, 0
bne _08138B84
bl sub_811FA20
@@ -13239,7 +13239,7 @@ _0813B16C:
_0813B190: .4byte 0x000032f4
_0813B194: .4byte 0x00003210
_0813B198:
bl sub_805642C
bl is_c1_link_related_active
cmp r0, 0
bne _0813B1C4
ldr r0, _0813B1C0 @ =gReceivedRemoteLinkPlayers
+120 -874
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -11,7 +11,7 @@ sub_806ED54: @ 806ED54
ldr r0, _0806ED6C @ =gUnknown_20370F5
movs r1, 0
strb r1, [r0]
bl sub_805642C
bl is_c1_link_related_active
cmp r0, 0x1
bne _0806ED70
bl sub_806EE34
@@ -634,7 +634,7 @@ _0806F254: .4byte gUnknown_20370F0
thumb_func_start ShowStartMenu
ShowStartMenu: @ 806F258
push {lr}
bl sub_805642C
bl is_c1_link_related_active
cmp r0, 0
bne _0806F26E
bl player_bitmagic
+5 -2
View File
@@ -660,10 +660,13 @@ gUnknown_83A7240:: @ 83A7240
.section .rodata.83A72A0
gUnknown_83A72A0:: @ 83A72A0
.incbin "baserom.gba", 0x3A72A0, 0x2
.string "S$"
gUnknown_83A72A2:: @ 83A72A2
.incbin "baserom.gba", 0x3A72A2, 0x6
.string "IES$"
gUnknown_83A72A6:: @ 83A72A6
.string " "
gUnknown_83A72A8:: @ 83A72A8
.incbin "baserom.gba", 0x3A72A8, 0x68
+1 -1
View File
@@ -785,7 +785,7 @@ gUnknown_84162B9:: @ 84162B9
.incbin "baserom.gba", 0x4162B9, 0x4
gUnknown_84162BD:: @ 84162BD
.incbin "baserom.gba", 0x4162BD, 0x7
.string " BERRY$"
gText_Coins:: @ 84162C4
.incbin "baserom.gba", 0x4162C4, 0x24
+44 -44
View File
@@ -94,7 +94,7 @@ gScriptCmdTable:: @ 815F9B4
.4byte ScrCmd_faceplayer
.4byte ScrCmd_turnobject
.4byte ScrCmd_trainerbattle
.4byte sub_806C2D8
.4byte ScrCmd_dotrainerbattle
.4byte ScrCmd_ontrainerbattleend
.4byte ScrCmd_ontrainerbattleendgoto
.4byte ScrCmd_checktrainerflag
@@ -103,25 +103,25 @@ gScriptCmdTable:: @ 815F9B4
.4byte ScrCmd_setobjectxyperm
.4byte ScrCmd_moveobjectoffscreen
.4byte ScrCmd_setobjectmovementtype
.4byte sub_806B878
.4byte sub_806B80C
.4byte sub_806B88C
.4byte ScrCmd_waitmessage
.4byte ScrCmd_message
.4byte ScrCmd_closemessage
.4byte ScrCmd_lockall
.4byte ScrCmd_lock
.4byte ScrCmd_releaseall
.4byte ScrCmd_release
.4byte sub_806BA3C
.4byte ScrCmd_waitbuttonpress
.4byte ScrCmd_yesnobox
.4byte ScrCmd_multichoice
.4byte ScrCmd_multichoicedefault
.4byte ScrCmd_multichoicegrid
.4byte sub_806BB38
.4byte sub_806BB8C
.4byte sub_806BB98
.4byte sub_806BB9C
.4byte sub_806BBD8
.4byte sub_806BBF8
.4byte sub_806BC04
.4byte ScrCmd_drawbox
.4byte ScrCmd_erasebox
.4byte ScrCmd_drawboxtext
.4byte ScrCmd_showmonpic
.4byte ScrCmd_hidemonpic
.4byte ScrCmd_showcontestwinner
.4byte ScrCmd_braillemessage
.4byte ScrCmd_givemon
.4byte ScrCmd_giveegg
.4byte ScrCmd_setmonmove
@@ -130,33 +130,33 @@ gScriptCmdTable:: @ 815F9B4
.4byte ScrCmd_bufferleadmonspeciesname
.4byte ScrCmd_bufferpartymonnick
.4byte ScrCmd_bufferitemname
.4byte sub_806BE34
.4byte ScrCmd_bufferdecorationname
.4byte ScrCmd_buffermovename
.4byte ScrCmd_buffernumberstring
.4byte ScrCmd_bufferstdstring
.4byte ScrCmd_bufferstring
.4byte sub_806C3AC
.4byte sub_806C3C0
.4byte sub_806C3D4
.4byte ScrCmd_pokemart
.4byte ScrCmd_pokemartdecoration
.4byte ScrCmd_pokemartdecoration2
.4byte ScrCmd_playslotmachine
.4byte sub_806C410
.4byte sub_806C418
.4byte sub_806C424
.4byte sub_806C428
.4byte sub_806C42C
.4byte ScrCmd_setberrytree
.4byte ScrCmd_choosecontestmon
.4byte ScrCmd_startcontest
.4byte ScrCmd_showcontestresults
.4byte ScrCmd_contestlinktransfer
.4byte ScrCmd_random
.4byte ScrCmd_givemoney
.4byte ScrCmd_takemoney
.4byte ScrCmd_checkmoney
.4byte sub_806C1CC
.4byte sub_806C21C
.4byte sub_806C228
.4byte sub_806C414
.4byte ScrCmd_showmoneybox
.4byte ScrCmd_hidemoneybox
.4byte ScrCmd_updatemoneybox
.4byte ScrCmd_getpricereduction
.4byte ScrCmd_fadescreen
.4byte ScrCmd_fadescreenspeed
.4byte ScrCmd_setflashradius
.4byte ScrCmd_animateflash
.4byte sub_806B85C
.4byte ScrCmd_messageautoscroll
.4byte ScrCmd_dofieldeffect
.4byte ScrCmd_setfieldeffectarg
.4byte ScrCmd_waitfieldeffect
@@ -175,16 +175,16 @@ gScriptCmdTable:: @ 815F9B4
.4byte ScrCmd_turnvobject
.4byte ScrCmd_opendoor
.4byte ScrCmd_closedoor
.4byte sub_806C688
.4byte ScrCmd_waitdoranim
.4byte ScrCmd_setdooropen
.4byte ScrCmd_setdoorclosed
.4byte sub_806C724
.4byte sub_806C728
.4byte ScrCmd_addelevmenuitem
.4byte ScrCmd_showelevmenu
.4byte ScrCmd_checkcoins
.4byte ScrCmd_givecoins
.4byte ScrCmd_takecoins
.4byte ScrCmd_setwildbattle
.4byte sub_806C39C
.4byte ScrCmd_dowildbattle
.4byte ScrCmd_setvaddress
.4byte ScrCmd_vgoto
.4byte ScrCmd_vcall
@@ -193,27 +193,27 @@ gScriptCmdTable:: @ 815F9B4
.4byte ScrCmd_vmessage
.4byte ScrCmd_vloadword
.4byte ScrCmd_vbufferstring
.4byte sub_806C258
.4byte ScrCmd_showcoinsbox
.4byte ScrCmd_hidecoinsbox
.4byte ScrCmd_updatecoinsbox
.4byte ScrCmd_incrementgamestat
.4byte ScrCmd_setescapewarp
.4byte sub_806C540
.4byte ScrCmd_waitmoncry
.4byte ScrCmd_bufferboxname
.4byte sub_806B7EC
.4byte sub_806B828
.4byte sub_806B850
.4byte sub_806C7BC
.4byte sub_806C7C8
.4byte sub_806A888
.4byte ScrCmd_cmdC7
.4byte ScrCmd_cmdC8
.4byte ScrCmd_cmdC9
.4byte ScrCmd_cmdCA
.4byte ScrCmd_cmdCB
.4byte ScrCmd_comparestattoword
.4byte ScrCmd_setmonobedient
.4byte ScrCmd_checkmonobedience
.4byte sub_806A28C
.4byte sub_806A8C0
.4byte ScrCmd_warpD7
.4byte sub_806C844
.4byte sub_806BC40
.4byte sub_806BD90
.4byte ScrCmd_cmdCF
.4byte ScrCmd_cmdD0
.4byte ScrCmd_warpD1
.4byte ScrCmd_setmonmetlocation
.4byte ScrCmd_getstringwidth
.4byte ScrCmd_cmdDA
gScriptCmdTableEnd:: @ 815FD08
.4byte ScrCmd_nop
+4 -4
View File
@@ -35,7 +35,7 @@ u8 sub_808D4F4(void);
void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8);
void npc_load_two_palettes__no_record(u16, u8);
void npc_load_two_palettes__and_record(u16, u8);
void sub_808EBA8(u8, u8, u8, s16, s16);
void sub_805F7C4(u8, u8, u8, s16, s16);
void pal_patch_for_npc(u16, u8);
void sub_808E16C(s16, s16);
void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
@@ -59,13 +59,13 @@ const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8);
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
void gpu_pal_allocator_reset__manage_upper_four(void);
void sub_808E82C(u8, u8, u8, s16, s16);
void sub_808E7E4(u8, u8, u8);
void sub_808E78C(u8, u8, u8, u8);
void sub_805F400(u8, u8, u8);
void sub_805F3A8(u8, u8, u8, u8);
void sub_808E75C(s16, s16);
void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *);
void npc_coords_shift(struct MapObject *, s16, s16);
void sub_808EB08(struct MapObject *, s16, s16);
void sub_808F254(u8, u8, u8);
void sub_805FE94(u8, u8, u8);
void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *));
u8 FieldObjectFaceOppositeDirection(struct MapObject *, u8);
u8 GetOppositeDirection(u8);
+1 -1
View File
@@ -4,6 +4,6 @@
#include "global.h"
void UnfreezeMapObjects(void);
void sub_8097B78(u8, u8);
void sub_8069058(u8, u8);
#endif
+2 -2
View File
@@ -3,9 +3,9 @@
#include "global.h"
bool8 sub_80983C4(void);
bool8 sub_8069590(void);
void ScriptFreezeMapObjects(void);
bool8 sub_809847C(void);
bool8 sub_8069648(void);
void LockSelectedMapObject(void);
void sub_8098630(void);
bool8 sub_8098734(void);
+1 -1
View File
@@ -5,6 +5,6 @@
bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *);
bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8);
void sub_80D338C(void);
void sub_80974D8(void);
#endif // GUARD_SCRIPT_MOVEMENT_H
+286 -7
View File
@@ -15,6 +15,11 @@
#include "field_fadetransition.h"
#include "field_player_avatar.h"
#include "sound.h"
#include "script_movement.h"
#include "field_map_obj.h"
#include "field_map_obj_helpers.h"
#include "map_obj_lock.h"
#include "field_message_box.h"
extern u16 (*const gSpecials[])(void);
extern u16 (*const gSpecialsEnd[])(void);
@@ -24,11 +29,13 @@ extern const u8 *const gStdScriptsEnd[];
EWRAM_DATA ptrdiff_t gVScriptOffset = 0;
EWRAM_DATA u8 gUnknown_20370AC = 0;
EWRAM_DATA u16 sPauseCounter = 0;
EWRAM_DATA u16 gUnknown_20370B0 = 0;
EWRAM_DATA u16 gUnknown_20370B2 = 0;
EWRAM_DATA u16 gUnknown_20370B4 = 0;
EWRAM_DATA u16 sMovingNpcId = 0;
EWRAM_DATA u16 sMovingNpcMapBank = 0;
EWRAM_DATA u16 sMovingNpcMapId = 0;
EWRAM_DATA u16 gUnknown_20370B6 = 0;
extern u8 gSelectedEventObject;
// This is defined in here so the optimizer can't see its value when compiling
// script.c.
void * const gNullScriptPtr = NULL;
@@ -247,7 +254,7 @@ SCRCMD_DEF(ScrCmd_setmysteryeventstatus)
return FALSE;
}
SCRCMD_DEF(sub_806A28C)
SCRCMD_DEF(ScrCmd_cmdCF)
{
const u8 * script = sub_8069E48();
if (script != NULL)
@@ -562,7 +569,7 @@ SCRCMD_DEF(ScrCmd_incrementgamestat)
return FALSE;
}
SCRCMD_DEF(sub_806A888)
SCRCMD_DEF(ScrCmd_comparestattoword)
{
u8 statIdx = ScriptReadByte(ctx);
u32 value = ScriptReadWord(ctx);
@@ -577,7 +584,7 @@ SCRCMD_DEF(sub_806A888)
return FALSE;
}
SCRCMD_DEF(sub_806A8C0)
SCRCMD_DEF(ScrCmd_cmdD0)
{
u16 value = ScriptReadHalfword(ctx);
sub_8115748(value);
@@ -776,7 +783,7 @@ SCRCMD_DEF(ScrCmd_warpteleport)
return TRUE;
}
SCRCMD_DEF(ScrCmd_warpD7)
SCRCMD_DEF(ScrCmd_warpD1)
{
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
@@ -966,3 +973,275 @@ SCRCMD_DEF(ScrCmd_fadeinbgm)
FadeInBGM(4);
return FALSE;
}
SCRCMD_DEF(ScrCmd_applymovement)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
const void *movementScript = (const void *)ScriptReadWord(ctx);
ScriptMovement_StartObjectMovementScript(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript);
sMovingNpcId = localId;
return FALSE;
}
SCRCMD_DEF(ScrCmd_applymovement_at)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
const void *movementScript = (const void *)ScriptReadWord(ctx);
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
ScriptMovement_StartObjectMovementScript(localId, mapNum, mapGroup, movementScript);
sMovingNpcId = localId;
return FALSE;
}
static bool8 WaitForMovementFinish(void)
{
return ScriptMovement_IsObjectMovementFinished(sMovingNpcId, sMovingNpcMapId, sMovingNpcMapBank);
}
SCRCMD_DEF(ScrCmd_waitmovement)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
if (localId != 0)
sMovingNpcId = localId;
sMovingNpcMapBank = gSaveBlock1Ptr->location.mapGroup;
sMovingNpcMapId = gSaveBlock1Ptr->location.mapNum;
SetupNativeScript(ctx, WaitForMovementFinish);
return TRUE;
}
SCRCMD_DEF(ScrCmd_waitmovement_at)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 mapBank;
u8 mapId;
if (localId != 0)
sMovingNpcId = localId;
mapBank = ScriptReadByte(ctx);
mapId = ScriptReadByte(ctx);
sMovingNpcMapBank = mapBank;
sMovingNpcMapId = mapId;
SetupNativeScript(ctx, WaitForMovementFinish);
return TRUE;
}
SCRCMD_DEF(ScrCmd_removeobject)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
RemoveFieldObjectByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
return FALSE;
}
SCRCMD_DEF(ScrCmd_removeobject_at)
{
u16 objectId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
RemoveFieldObjectByLocalIdAndMap(objectId, mapNum, mapGroup);
return FALSE;
}
SCRCMD_DEF(ScrCmd_addobject)
{
u16 objectId = VarGet(ScriptReadHalfword(ctx));
show_sprite(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
return FALSE;
}
SCRCMD_DEF(ScrCmd_addobject_at)
{
u16 objectId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
show_sprite(objectId, mapNum, mapGroup);
return FALSE;
}
SCRCMD_DEF(ScrCmd_setobjectxy)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u16 x = VarGet(ScriptReadHalfword(ctx));
u16 y = VarGet(ScriptReadHalfword(ctx));
sub_805F7C4(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, x, y);
return FALSE;
}
SCRCMD_DEF(ScrCmd_setobjectxyperm)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u16 x = VarGet(ScriptReadHalfword(ctx));
u16 y = VarGet(ScriptReadHalfword(ctx));
Overworld_SetMapObjTemplateCoords(localId, x, y);
return FALSE;
}
SCRCMD_DEF(ScrCmd_moveobjectoffscreen)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
sub_805FE94(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
return FALSE;
}
SCRCMD_DEF(ScrCmd_showobject_at)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
npc_by_local_id_and_map_set_field_1_bit_x20(localId, mapNum, mapGroup, 0);
return FALSE;
}
SCRCMD_DEF(ScrCmd_hideobject_at)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
npc_by_local_id_and_map_set_field_1_bit_x20(localId, mapNum, mapGroup, 1);
return FALSE;
}
SCRCMD_DEF(ScrCmd_setobjectpriority)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
u8 priority = ScriptReadByte(ctx);
sub_805F3A8(localId, mapNum, mapGroup, priority + 83);
return FALSE;
}
SCRCMD_DEF(ScrCmd_resetobjectpriority)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
sub_805F400(localId, mapNum, mapGroup);
return FALSE;
}
SCRCMD_DEF(ScrCmd_faceplayer)
{
if (gMapObjects[gSelectedEventObject].active)
{
FieldObjectFaceOppositeDirection(&gMapObjects[gSelectedEventObject],
player_get_direction_lower_nybble());
}
return FALSE;
}
SCRCMD_DEF(ScrCmd_turnobject)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 direction = ScriptReadByte(ctx);
FieldObjectTurnByLocalIdAndMap(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, direction);
return FALSE;
}
SCRCMD_DEF(ScrCmd_setobjectmovementtype)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 movementType = ScriptReadByte(ctx);
Overworld_SetMapObjTemplateMovementType(localId, movementType);
return FALSE;
}
SCRCMD_DEF(ScrCmd_createvobject)
{
u8 graphicsId = ScriptReadByte(ctx);
u8 v2 = ScriptReadByte(ctx);
u16 x = VarGet(ScriptReadHalfword(ctx));
u32 y = VarGet(ScriptReadHalfword(ctx));
u8 elevation = ScriptReadByte(ctx);
u8 direction = ScriptReadByte(ctx);
sprite_new(graphicsId, v2, x, y, elevation, direction);
return FALSE;
}
SCRCMD_DEF(ScrCmd_turnvobject)
{
u8 v1 = ScriptReadByte(ctx);
u8 direction = ScriptReadByte(ctx);
sub_8069058(v1, direction);
return FALSE;
}
SCRCMD_DEF(ScrCmd_lockall)
{
if (is_c1_link_related_active())
{
return FALSE;
}
else
{
ScriptFreezeMapObjects();
SetupNativeScript(ctx, sub_8069590);
return TRUE;
}
}
SCRCMD_DEF(ScrCmd_lock)
{
if (is_c1_link_related_active())
{
return FALSE;
}
else
{
if (gMapObjects[gSelectedEventObject].active)
{
LockSelectedMapObject();
SetupNativeScript(ctx, sub_8069648);
}
else
{
ScriptFreezeMapObjects();
SetupNativeScript(ctx, sub_8069590);
}
return TRUE;
}
}
SCRCMD_DEF(ScrCmd_releaseall)
{
u8 playerObjectId;
HideFieldMessageBox();
playerObjectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[playerObjectId]);
sub_80974D8();
UnfreezeMapObjects();
return FALSE;
}
SCRCMD_DEF(ScrCmd_release)
{
u8 playerObjectId;
HideFieldMessageBox();
if (gMapObjects[gSelectedEventObject].active)
FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gSelectedEventObject]);
playerObjectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[playerObjectId]);
sub_80974D8();
UnfreezeMapObjects();
return FALSE;
}
+2 -2
View File
@@ -65,7 +65,7 @@ struct VsSeekerStruct
extern u16 gSpecialVar_LastTalked;
extern struct MapObject gMapObjects[MAP_OBJECTS_COUNT];
extern u8 gUnknown_3005074;
extern u8 gSelectedEventObject;
// static declarations
static EWRAM_DATA struct VsSeekerStruct *sVsSeeker = NULL;
@@ -1012,7 +1012,7 @@ void sub_810CB90(void)
sub_810CF54(&r4[r8]); // You are using this function incorrectly. Please consult the manual.
sub_805FE7C(r4_2, gUnknown_8453F67[r4_2->mapobj_unk_18]);
gSaveBlock1Ptr->trainerRematches[r4[r8].localId] = 0;
if (gUnknown_3005074 == sp0)
if (gSelectedEventObject == sp0)
r4_2->animPattern = gUnknown_8453F67[r4_2->mapobj_unk_18];
else
r4_2->animPattern = 0x08;
+1 -1
View File
@@ -175,7 +175,7 @@ gUnknown_300506C: @ 300506C
gUnknown_3005070: @ 3005070
.space 0x4
gUnknown_3005074: @ 3005074
gSelectedEventObject: @ 3005074
.space 0x4
gUnknown_3005078: @ 3005078