diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-10-05 15:59:40 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-05 15:59:40 -0500 |
commit | 7990309f0ae8c1ba1e7d5979bc913c22a9f411cf (patch) | |
tree | 2b8537ef2909c976146fff2fbeaed2cc01536925 | |
parent | 9975ba7211cc91dc7fddec5f423ed3c42fc0d064 (diff) | |
parent | 52559f4c165f0ad4dd8bdff838c1dbdea9e93aa7 (diff) |
Merge pull request #11 from ProjectRevoTPP/script
decompile script.c
36 files changed, 791 insertions, 1352 deletions
@@ -28,7 +28,7 @@ SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR) ASFLAGS := -mcpu=arm7tdmi CC1 := tools/agbcc/bin/agbcc -override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Wunused -Werror -O2 -fhex-asm +override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef diff --git a/asm/battle_setup.s b/asm/battle_setup.s index 8fe6196f6..c8bf74c35 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -786,7 +786,7 @@ _0807FCA2: movs r0, 0x2 b _0807FD88 _0807FCB2: - ldr r0, _0807FCC8 @ =gUnknown_2036DFC + ldr r0, _0807FCC8 @ =gMapHeader ldrb r0, [r0, 0x17] subs r0, 0x1 cmp r0, 0x8 @@ -797,7 +797,7 @@ _0807FCB2: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0807FCC8: .4byte gUnknown_2036DFC +_0807FCC8: .4byte gMapHeader _0807FCCC: .4byte _0807FCD0 .align 2, 0 _0807FCD0: @@ -923,7 +923,7 @@ _0807FDC0: lsls r0, 24 cmp r0, 0 bne _0807FDE8 - ldr r0, _0807FDE0 @ =gUnknown_2036DFC + ldr r0, _0807FDE0 @ =gMapHeader ldrb r0, [r0, 0x17] cmp r0, 0x4 beq _0807FDE4 @@ -932,7 +932,7 @@ _0807FDC0: movs r0, 0 b _0807FDEA .align 2, 0 -_0807FDE0: .4byte gUnknown_2036DFC +_0807FDE0: .4byte gMapHeader _0807FDE4: movs r0, 0x1 b _0807FDEA diff --git a/asm/bike.s b/asm/bike.s index b987f96fb..2a1219968 100644 --- a/asm/bike.s +++ b/asm/bike.s @@ -521,7 +521,7 @@ sub_80BD460: @ 80BD460 lsls r0, 24 cmp r0, 0 bne _080BD478 - ldr r0, _080BD47C @ =gUnknown_2036DFC + ldr r0, _080BD47C @ =gMapHeader ldrb r0, [r0, 0x17] cmp r0, 0x8 bne _080BD480 @@ -529,7 +529,7 @@ _080BD478: movs r0, 0x1 b _080BD482 .align 2, 0 -_080BD47C: .4byte gUnknown_2036DFC +_080BD47C: .4byte gMapHeader _080BD480: movs r0, 0 _080BD482: @@ -542,7 +542,7 @@ sub_80BD488: @ 80BD488 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080BD4AC @ =gUnknown_2036DFC + ldr r0, _080BD4AC @ =gMapHeader ldrb r1, [r0, 0x19] movs r0, 0x2 ands r0, r1 @@ -558,7 +558,7 @@ _080BD4A8: movs r0, 0x1 b _080BD4B2 .align 2, 0 -_080BD4AC: .4byte gUnknown_2036DFC +_080BD4AC: .4byte gMapHeader _080BD4B0: movs r0, 0 _080BD4B2: diff --git a/asm/field_camera.s b/asm/field_camera.s index a4776d42a..6228b9435 100644 --- a/asm/field_camera.s +++ b/asm/field_camera.s @@ -136,14 +136,14 @@ DrawWholeMapView: @ 805A684 ldrsh r0, [r1, r2] movs r2, 0x2 ldrsh r1, [r1, r2] - ldr r2, _0805A6A4 @ =gUnknown_2036DFC + ldr r2, _0805A6A4 @ =gMapHeader ldr r2, [r2] bl DrawWholeMapViewInternal pop {r0} bx r0 .align 2, 0 _0805A6A0: .4byte gSaveBlock1Ptr -_0805A6A4: .4byte gUnknown_2036DFC +_0805A6A4: .4byte gMapHeader thumb_func_end DrawWholeMapView thumb_func_start DrawWholeMapViewInternal @@ -224,7 +224,7 @@ RedrawMapSlicesForCameraUpdate: @ 805A72C adds r5, r0, 0 adds r6, r1, 0 adds r7, r2, 0 - ldr r0, _0805A774 @ =gUnknown_2036DFC + ldr r0, _0805A774 @ =gMapHeader ldr r4, [r0] cmp r6, 0 ble _0805A744 @@ -256,7 +256,7 @@ _0805A768: pop {r0} bx r0 .align 2, 0 -_0805A774: .4byte gUnknown_2036DFC +_0805A774: .4byte gMapHeader thumb_func_end RedrawMapSlicesForCameraUpdate thumb_func_start RedrawMapSliceNorth @@ -474,7 +474,7 @@ CurrentMapDrawMetatileAt: @ 805A8E8 adds r1, r0, 0 cmp r1, 0 blt _0805A90E - ldr r0, _0805A918 @ =gUnknown_2036DFC + ldr r0, _0805A918 @ =gMapHeader ldr r0, [r0] lsls r1, 16 lsrs r1, 16 @@ -487,7 +487,7 @@ _0805A90E: bx r0 .align 2, 0 _0805A914: .4byte gUnknown_3000E90 -_0805A918: .4byte gUnknown_2036DFC +_0805A918: .4byte gMapHeader thumb_func_end CurrentMapDrawMetatileAt thumb_func_start sub_805A91C diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index f20b43995..6b981dea8 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -352,7 +352,7 @@ sub_806CAC8: @ 806CAC8 lsrs r0, 24 cmp r0, 0x1 beq _0806CB6C - bl sub_8069C74 + bl mapheader_run_first_tag2_script_list_match lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1082,7 +1082,7 @@ sub_806D0E4: @ 806D0E4 lsrs r7, r1, 24 lsls r2, 24 lsrs r6, r2, 24 - ldr r4, _0806D118 @ =gUnknown_2036DFC + ldr r4, _0806D118 @ =gMapHeader ldrh r1, [r0] subs r1, 0x7 lsls r1, 16 @@ -1103,7 +1103,7 @@ sub_806D0E4: @ 806D0E4 ldr r0, _0806D11C @ =gUnknown_81C555B b _0806D1E6 .align 2, 0 -_0806D118: .4byte gUnknown_2036DFC +_0806D118: .4byte gMapHeader _0806D11C: .4byte gUnknown_81C555B _0806D120: adds r0, r7, 0 @@ -1746,7 +1746,7 @@ _0806D65A: thumb_func_start sub_806D660 sub_806D660: @ 806D660 push {r4,lr} - ldr r4, _0806D688 @ =gUnknown_2036DFC + ldr r4, _0806D688 @ =gMapHeader ldrh r1, [r0] subs r1, 0x7 lsls r1, 16 @@ -1764,7 +1764,7 @@ sub_806D660: @ 806D660 movs r0, 0x1 b _0806D68E .align 2, 0 -_0806D688: .4byte gUnknown_2036DFC +_0806D688: .4byte gMapHeader _0806D68C: movs r0, 0 _0806D68E: @@ -1916,7 +1916,7 @@ _0806D798: .4byte 0x00004022 thumb_func_start overworld_poison_step overworld_poison_step: @ 806D79C push {r4,lr} - ldr r0, _0806D7D8 @ =gUnknown_2036DFC + ldr r0, _0806D7D8 @ =gMapHeader ldrb r0, [r0, 0x17] cmp r0, 0x9 beq _0806D7E0 @@ -1943,7 +1943,7 @@ overworld_poison_step: @ 806D79C movs r0, 0x1 b _0806D7E2 .align 2, 0 -_0806D7D8: .4byte gUnknown_2036DFC +_0806D7D8: .4byte gMapHeader _0806D7DC: .4byte 0x00004022 _0806D7E0: movs r0, 0 @@ -2128,7 +2128,7 @@ _0806D924: .4byte gUnknown_20370D4 thumb_func_start sub_806D928 sub_806D928: @ 806D928 push {r4,lr} - ldr r4, _0806D94C @ =gUnknown_2036DFC + ldr r4, _0806D94C @ =gMapHeader ldrh r1, [r0] subs r1, 0x7 lsls r1, 16 @@ -2145,7 +2145,7 @@ sub_806D928: @ 806D928 movs r0, 0 b _0806D958 .align 2, 0 -_0806D94C: .4byte gUnknown_2036DFC +_0806D94C: .4byte gMapHeader _0806D950: ldr r0, [r0, 0x8] cmp r0, 0 @@ -2173,7 +2173,7 @@ sub_806D964: @ 806D964 lsls r2, 24 lsrs r6, r2, 24 mov r9, r6 - ldr r0, _0806D9B8 @ =gUnknown_2036DFC + ldr r0, _0806D9B8 @ =gMapHeader mov r8, r0 adds r1, r7, 0 bl map_warp_check_packed @@ -2199,7 +2199,7 @@ sub_806D964: @ 806D964 movs r0, 0x1 b _0806DA02 .align 2, 0 -_0806D9B8: .4byte gUnknown_2036DFC +_0806D9B8: .4byte gMapHeader _0806D9BC: adds r0, r4, 0 mov r1, r9 @@ -2249,7 +2249,7 @@ sub_806DA10: @ 806DA10 adds r6, r0, 0 lsls r1, 16 lsrs r5, r1, 16 - ldr r7, _0806DA68 @ =gUnknown_2036DFC + ldr r7, _0806DA68 @ =gMapHeader adds r0, r7, 0 adds r1, r6, 0 bl map_warp_check_packed @@ -2283,7 +2283,7 @@ sub_806DA10: @ 806DA10 movs r0, 0x1 b _0806DAEE .align 2, 0 -_0806DA68: .4byte gUnknown_2036DFC +_0806DA68: .4byte gMapHeader _0806DA6C: adds r0, r4, 0 bl sub_805A158 @@ -2542,7 +2542,7 @@ map_warp_check_packed: @ 806DC30 sub_806DC54: @ 806DC54 push {r4-r7,lr} adds r5, r2, 0 - ldr r0, _0806DC74 @ =gUnknown_2036DFC + ldr r0, _0806DC74 @ =gMapHeader ldr r0, [r0, 0x4] lsls r1, 24 asrs r7, r1, 24 @@ -2556,7 +2556,7 @@ sub_806DC54: @ 806DC54 bl copy_saved_warp2_bank_and_enter_x_to_warp1 b _0806DCC4 .align 2, 0 -_0806DC74: .4byte gUnknown_2036DFC +_0806DC74: .4byte gMapHeader _0806DC78: movs r0, 0x7 ldrsb r0, [r4, r0] @@ -2617,7 +2617,7 @@ sub_806DCD0: @ 806DCD0 lsrs r0, 24 cmp r0, 0x1 bne _0806DD30 - ldr r7, _0806DD2C @ =gUnknown_2036DFC + ldr r7, _0806DD2C @ =gMapHeader adds r0, r7, 0 adds r1, r6, 0 bl map_warp_check_packed @@ -2642,7 +2642,7 @@ sub_806DCD0: @ 806DCD0 movs r0, 0x1 b _0806DD32 .align 2, 0 -_0806DD2C: .4byte gUnknown_2036DFC +_0806DD2C: .4byte gMapHeader _0806DD30: movs r0, 0 _0806DD32: @@ -2831,7 +2831,7 @@ sub_806DE70: @ 806DE70 push {r4-r7,lr} lsls r0, 16 lsls r1, 16 - ldr r2, _0806DEC0 @ =gUnknown_2036DFC + ldr r2, _0806DEC0 @ =gMapHeader ldr r2, [r2, 0x4] ldr r4, [r2, 0xC] ldrb r5, [r2, 0x2] @@ -2867,13 +2867,13 @@ _0806DEB8: pop {r0} bx r0 .align 2, 0 -_0806DEC0: .4byte gUnknown_2036DFC +_0806DEC0: .4byte gMapHeader thumb_func_end sub_806DE70 thumb_func_start sub_806DEC4 sub_806DEC4: @ 806DEC4 push {r4,lr} - ldr r4, _0806DEE8 @ =gUnknown_2036DFC + ldr r4, _0806DEE8 @ =gMapHeader ldrh r1, [r0] subs r1, 0x7 lsls r1, 16 @@ -2889,7 +2889,7 @@ sub_806DEC4: @ 806DEC4 pop {r1} bx r1 .align 2, 0 -_0806DEE8: .4byte gUnknown_2036DFC +_0806DEE8: .4byte gMapHeader thumb_func_end sub_806DEC4 thumb_func_start FindInvisibleMapObjectByPosition @@ -2946,7 +2946,7 @@ dive_warp: @ 806DF3C adds r4, r0, 0 lsls r1, 16 lsrs r5, r1, 16 - ldr r0, _0806DF70 @ =gUnknown_2036DFC + ldr r0, _0806DF70 @ =gMapHeader ldrb r0, [r0, 0x17] cmp r0, 0x5 bne _0806DF74 @@ -2967,7 +2967,7 @@ dive_warp: @ 806DF3C bl sub_8055824 b _0806DF98 .align 2, 0 -_0806DF70: .4byte gUnknown_2036DFC +_0806DF70: .4byte gMapHeader _0806DF74: lsls r0, r5, 24 lsrs r0, 24 @@ -3020,7 +3020,7 @@ sub_806DFB8: @ 806DFB8 bl sub_8058F78 lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _0806E010 @ =gUnknown_2036DFC + ldr r0, _0806E010 @ =gMapHeader ldrb r0, [r0, 0x17] cmp r0, 0x5 bne _0806E014 @@ -3046,7 +3046,7 @@ sub_806DFB8: @ 806DFB8 movs r0, 0x1 b _0806E046 .align 2, 0 -_0806E010: .4byte gUnknown_2036DFC +_0806E010: .4byte gMapHeader _0806E014: adds r0, r5, 0 bl sub_8059FB0 @@ -3122,7 +3122,7 @@ SetCableClubWarp: @ 806E08C movs r2, 0x2 ldrsh r1, [r4, r2] bl sub_8058F78 - ldr r4, _0806E0CC @ =gUnknown_2036DFC + ldr r4, _0806E0CC @ =gMapHeader adds r0, r4, 0 mov r1, sp bl map_warp_check_packed @@ -3138,7 +3138,7 @@ SetCableClubWarp: @ 806E08C pop {r1} bx r1 .align 2, 0 -_0806E0CC: .4byte gUnknown_2036DFC +_0806E0CC: .4byte gMapHeader thumb_func_end SetCableClubWarp .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s index e0a6a91a7..7b63386b2 100644 --- a/asm/field_fadetransition.s +++ b/asm/field_fadetransition.s @@ -137,7 +137,7 @@ sub_807DC18: @ 807DC18 push {r4,lr} bl warp1_get_mapheader adds r4, r0, 0 - ldr r1, _0807DC54 @ =gUnknown_2036DFC + ldr r1, _0807DC54 @ =gMapHeader ldrb r0, [r4, 0x14] ldrb r1, [r1, 0x14] cmp r0, r1 @@ -161,7 +161,7 @@ _0807DC36: beq _0807DC62 b _0807DC6A .align 2, 0 -_0807DC54: .4byte gUnknown_2036DFC +_0807DC54: .4byte gMapHeader _0807DC58: movs r0, 0x1 movs r1, 0 diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index cd7ed755a..068f9c554 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -771,13 +771,13 @@ sub_805E3A0: @ 805E3A0 lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r0, _0805E3B8 @ =gUnknown_2036DFC + ldr r0, _0805E3B8 @ =gMapHeader ldr r0, [r0, 0x4] cmp r0, 0 bne _0805E3CE b _0805E404 .align 2, 0 -_0805E3B8: .4byte gUnknown_2036DFC +_0805E3B8: .4byte gMapHeader _0805E3BC: ldr r0, [r7] ldrb r1, [r0, 0x5] @@ -1903,7 +1903,7 @@ sub_805EC30: @ 805EC30 lsls r1, 16 lsrs r1, 16 str r1, [sp, 0x8] - ldr r0, _0805ED08 @ =gUnknown_2036DFC + ldr r0, _0805ED08 @ =gMapHeader ldr r3, [r0, 0x4] cmp r3, 0 beq _0805ECF8 @@ -2001,7 +2001,7 @@ _0805ECF8: pop {r0} bx r0 .align 2, 0 -_0805ED08: .4byte gUnknown_2036DFC +_0805ED08: .4byte gMapHeader _0805ED0C: .4byte gSaveBlock1Ptr thumb_func_end sub_805EC30 @@ -4285,12 +4285,12 @@ GetFieldObjectTemplateByLocalIdAndMap: @ 805FD5C movs r0, 0x8E lsls r0, 4 adds r1, r0 - ldr r0, _0805FD90 @ =gUnknown_2036DFC + ldr r0, _0805FD90 @ =gMapHeader ldr r0, [r0, 0x4] b _0805FDA0 .align 2, 0 _0805FD8C: .4byte gSaveBlock1Ptr -_0805FD90: .4byte gUnknown_2036DFC +_0805FD90: .4byte gMapHeader _0805FD94: adds r0, r2, 0 adds r1, r3, 0 diff --git a/asm/field_weather.s b/asm/field_weather.s index af194db68..e0cb6c41d 100644 --- a/asm/field_weather.s +++ b/asm/field_weather.s @@ -2811,7 +2811,7 @@ sub_807B140: @ 807B140 ldr r0, [r4] adds r0, 0x2E ldrb r5, [r0] - ldr r0, _0807B170 @ =gUnknown_2036DFC + ldr r0, _0807B170 @ =gMapHeader ldrb r0, [r0, 0x16] bl TranslateWeatherNum ldr r1, [r4] @@ -2827,7 +2827,7 @@ sub_807B140: @ 807B140 bx r0 .align 2, 0 _0807B16C: .4byte gSaveBlock1Ptr -_0807B170: .4byte gUnknown_2036DFC +_0807B170: .4byte gMapHeader thumb_func_end sub_807B140 thumb_func_start SetWeather diff --git a/asm/fieldmap.s b/asm/fieldmap.s index 12d509904..f78a4df9b 100644 --- a/asm/fieldmap.s +++ b/asm/fieldmap.s @@ -19,26 +19,26 @@ mapconnection_get_mapheader: @ 80589C4 thumb_func_start not_trainer_hill_battle_pyramid not_trainer_hill_battle_pyramid: @ 80589D4 push {lr} - ldr r0, _080589E4 @ =gUnknown_2036DFC + ldr r0, _080589E4 @ =gMapHeader bl sub_8058A00 bl mapheader_run_script_with_tag_x1 pop {r0} bx r0 .align 2, 0 -_080589E4: .4byte gUnknown_2036DFC +_080589E4: .4byte gMapHeader thumb_func_end not_trainer_hill_battle_pyramid thumb_func_start sub_80589E8 sub_80589E8: @ 80589E8 push {lr} - ldr r0, _080589FC @ =gUnknown_2036DFC + ldr r0, _080589FC @ =gMapHeader bl sub_8058A00 bl sub_80591C4 bl mapheader_run_script_with_tag_x1 pop {r0} bx r0 .align 2, 0 -_080589FC: .4byte gUnknown_2036DFC +_080589FC: .4byte gMapHeader thumb_func_end sub_80589E8 thumb_func_start sub_8058A00 @@ -519,7 +519,7 @@ MapGridGetZCoordAt: @ 8058D44 .align 2, 0 _08058D70: .4byte gUnknown_3005040 _08058D74: - ldr r0, _08058DB4 @ =gUnknown_2036DFC + ldr r0, _08058DB4 @ =gMapHeader ldr r6, [r0] subs r0, r2, 0x7 ldrb r5, [r6, 0x18] @@ -550,7 +550,7 @@ _08058DA8: lsrs r0, r1, 12 b _08058DBE .align 2, 0 -_08058DB4: .4byte gUnknown_2036DFC +_08058DB4: .4byte gMapHeader _08058DB8: .4byte 0x000003ff _08058DBC: movs r0, 0 @@ -587,7 +587,7 @@ sub_8058DC4: @ 8058DC4 .align 2, 0 _08058DF0: .4byte gUnknown_3005040 _08058DF4: - ldr r0, _08058E38 @ =gUnknown_2036DFC + ldr r0, _08058E38 @ =gMapHeader ldr r6, [r0] subs r0, r2, 0x7 ldrb r5, [r6, 0x18] @@ -621,7 +621,7 @@ _08058E28: lsrs r0, r1, 10 b _08058E42 .align 2, 0 -_08058E38: .4byte gUnknown_2036DFC +_08058E38: .4byte gMapHeader _08058E3C: .4byte 0x000003ff _08058E40: movs r0, 0x1 @@ -662,7 +662,7 @@ sub_8058E48: @ 8058E48 .align 2, 0 _08058E7C: .4byte gUnknown_3005040 _08058E80: - ldr r0, _08058EC8 @ =gUnknown_2036DFC + ldr r0, _08058EC8 @ =gMapHeader ldr r6, [r0] mov r0, r8 subs r0, 0x7 @@ -697,10 +697,10 @@ _08058EBA: adds r0, r7, 0 b _08058F0A .align 2, 0 -_08058EC8: .4byte gUnknown_2036DFC +_08058EC8: .4byte gMapHeader _08058ECC: .4byte 0x000003ff _08058ED0: - ldr r0, _08058F18 @ =gUnknown_2036DFC + ldr r0, _08058F18 @ =gMapHeader ldr r6, [r0] mov r0, r8 subs r0, 0x7 @@ -735,7 +735,7 @@ _08058F0A: pop {r1} bx r1 .align 2, 0 -_08058F18: .4byte gUnknown_2036DFC +_08058F18: .4byte gMapHeader thumb_func_end sub_8058E48 thumb_func_start sub_8058F1C @@ -778,7 +778,7 @@ sub_8058F48: @ 8058F48 adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 - ldr r0, _08058F74 @ =gUnknown_2036DFC + ldr r0, _08058F74 @ =gMapHeader ldr r0, [r0] adds r2, r4, 0 bl sub_8059080 @@ -786,7 +786,7 @@ sub_8058F48: @ 8058F48 pop {r1} bx r1 .align 2, 0 -_08058F74: .4byte gUnknown_2036DFC +_08058F74: .4byte gMapHeader thumb_func_end sub_8058F48 thumb_func_start sub_8058F78 @@ -1346,7 +1346,7 @@ sub_8059334: @ 8059334 _0805936C: .4byte gUnknown_3005040 _08059370: .4byte 0x000003ff _08059374: - ldr r0, _080593CC @ =gUnknown_2036DFC + ldr r0, _080593CC @ =gMapHeader ldr r6, [r0] subs r0, r7, 0x7 ldrb r5, [r6, 0x18] @@ -1389,7 +1389,7 @@ _080593B0: movs r0, 0x4 b _08059432 .align 2, 0 -_080593CC: .4byte gUnknown_2036DFC +_080593CC: .4byte gMapHeader _080593D0: .4byte 0x000003ff _080593D4: .4byte gUnknown_3005040 _080593D8: .4byte gUnknown_2036E24 @@ -1696,7 +1696,7 @@ sub_8059600: @ 8059600 mov r8, r2 lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _0805963C @ =gUnknown_2036DFC + ldr r0, _0805963C @ =gMapHeader ldr r0, [r0, 0xC] ldr r7, [r0] ldr r4, [r0, 0x4] @@ -1719,7 +1719,7 @@ _0805961E: adds r0, r4, 0 b _0805964A .align 2, 0 -_0805963C: .4byte gUnknown_2036DFC +_0805963C: .4byte gMapHeader _08059640: adds r5, 0x1 adds r4, 0xC @@ -1754,7 +1754,7 @@ sub_8059658: @ 8059658 blt _080596B0 cmp r4, 0x2 bgt _08059690 - ldr r0, _0805968C @ =gUnknown_2036DFC + ldr r0, _0805968C @ =gMapHeader ldr r0, [r0] ldr r1, [r0] ldr r0, [r2] @@ -1763,11 +1763,11 @@ sub_8059658: @ 8059658 adds r0, r7, 0 b _080596A2 .align 2, 0 -_0805968C: .4byte gUnknown_2036DFC +_0805968C: .4byte gMapHeader _08059690: cmp r6, 0x4 bgt _080596B0 - ldr r0, _080596AC @ =gUnknown_2036DFC + ldr r0, _080596AC @ =gMapHeader ldr r0, [r0] ldr r1, [r0, 0x4] ldr r0, [r2] @@ -1780,7 +1780,7 @@ _080596A2: lsrs r0, 24 b _080596B2 .align 2, 0 -_080596AC: .4byte gUnknown_2036DFC +_080596AC: .4byte gMapHeader _080596B0: movs r0, 0 _080596B2: @@ -1884,13 +1884,13 @@ sub_805973C: @ 805973C mov r8, r0 lsls r1, 16 lsrs r1, 16 - ldr r2, _0805975C @ =gUnknown_2036DFC + ldr r2, _0805975C @ =gMapHeader ldr r0, [r2, 0xC] cmp r0, 0 bne _08059764 b _080597DA .align 2, 0 -_0805975C: .4byte gUnknown_2036DFC +_0805975C: .4byte gMapHeader _08059760: adds r0, r4, 0 b _080597DC diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s index 5f20daf0e..2d45b81c5 100644 --- a/asm/fldeff_flash.s +++ b/asm/fldeff_flash.s @@ -8,7 +8,7 @@ thumb_func_start sub_80C9B2C sub_80C9B2C: @ 80C9B2C push {lr} - ldr r0, _080C9B54 @ =gUnknown_2036DFC + ldr r0, _080C9B54 @ =gMapHeader ldrb r0, [r0, 0x15] cmp r0, 0x1 bne _080C9B6C @@ -26,7 +26,7 @@ sub_80C9B2C: @ 80C9B2C movs r0, 0x1 b _080C9B6E .align 2, 0 -_080C9B54: .4byte gUnknown_2036DFC +_080C9B54: .4byte gMapHeader _080C9B58: .4byte 0x00000806 _080C9B5C: .4byte gUnknown_3005024 _080C9B60: .4byte hm_add_c3_launch_phase_2 @@ -214,7 +214,7 @@ sub_80C9CE8: @ 80C9CE8 lsrs r6, r0, 24 movs r4, 0 bl sub_80561B4 - ldr r5, _080C9D24 @ =gUnknown_2036DFC + ldr r5, _080C9D24 @ =gMapHeader lsls r0, 24 lsrs r0, 24 ldrb r1, [r5, 0x14] @@ -230,7 +230,7 @@ sub_80C9CE8: @ 80C9CE8 movs r0, 0x1 b _080C9D70 .align 2, 0 -_080C9D24: .4byte gUnknown_2036DFC +_080C9D24: .4byte gMapHeader _080C9D28: adds r0, r3, 0x4 adds r0, r2, r0 diff --git a/asm/fldeff_teleport.s b/asm/fldeff_teleport.s index b258e88dc..4d3eadb81 100644 --- a/asm/fldeff_teleport.s +++ b/asm/fldeff_teleport.s @@ -8,7 +8,7 @@ thumb_func_start SetUpFieldMove_Teleport SetUpFieldMove_Teleport: @ 80F66F0 push {lr} - ldr r0, _080F6708 @ =gUnknown_2036DFC + ldr r0, _080F6708 @ =gMapHeader ldrb r0, [r0, 0x17] bl is_light_level_1_2_3_or_6 lsls r0, 24 @@ -18,7 +18,7 @@ SetUpFieldMove_Teleport: @ 80F66F0 movs r0, 0 b _080F671A .align 2, 0 -_080F6708: .4byte gUnknown_2036DFC +_080F6708: .4byte gMapHeader _080F670C: ldr r1, _080F6720 @ =gUnknown_3005024 ldr r0, _080F6724 @ =hm_add_c3_launch_phase_2 diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index 3c98ace0a..ee485cc71 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -251,7 +251,7 @@ _0812B376: bl sub_812B1F0 b _0812B406 _0812B388: - ldr r0, _0812B3B0 @ =gUnknown_2036DFC + ldr r0, _0812B3B0 @ =gMapHeader ldrb r0, [r0, 0x17] bl is_light_level_8_or_9 lsls r0, 24 @@ -271,7 +271,7 @@ _0812B3A8: bl sub_812B1F0 b _0812B406 .align 2, 0 -_0812B3B0: .4byte gUnknown_2036DFC +_0812B3B0: .4byte gMapHeader _0812B3B4: .4byte gSaveBlock1Ptr _0812B3B8: movs r0, 0xC1 diff --git a/asm/item.s b/asm/item.s index 1805be5fe..b5d30b995 100644 --- a/asm/item.s +++ b/asm/item.s @@ -1530,7 +1530,7 @@ _0809A86E: bl Alloc adds r4, r0, 0 strh r5, [r4] - ldr r0, _0809A8A0 @ =gUnknown_2036DFC + ldr r0, _0809A8A0 @ =gMapHeader ldrb r0, [r0, 0x14] strb r0, [r4, 0x2] movs r0, 0x28 @@ -1546,7 +1546,7 @@ _0809A88C: _0809A894: .4byte 0xfea30000 _0809A898: .4byte 0x00000169 _0809A89C: .4byte gSaveBlock1Ptr -_0809A8A0: .4byte gUnknown_2036DFC +_0809A8A0: .4byte gMapHeader thumb_func_end sub_809A824 thumb_func_start SanitizeItemId diff --git a/asm/item_use.s b/asm/item_use.s index 393e96f19..c8515d01d 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -1500,7 +1500,7 @@ _080A1B88: .4byte sub_810A1F8 thumb_func_start sub_80A1B8C sub_80A1B8C: @ 80A1B8C push {lr} - ldr r0, _080A1BA0 @ =gUnknown_2036DFC + ldr r0, _080A1BA0 @ =gMapHeader ldrb r1, [r0, 0x19] movs r0, 0x1 ands r0, r1 @@ -1509,7 +1509,7 @@ sub_80A1B8C: @ 80A1B8C movs r0, 0 b _080A1BA6 .align 2, 0 -_080A1BA0: .4byte gUnknown_2036DFC +_080A1BA0: .4byte gMapHeader _080A1BA4: movs r0, 0x1 _080A1BA6: @@ -1529,7 +1529,7 @@ ItemUseOutOfBattle_EscapeRope: @ 80A1BAC bne _080A1BEC ldr r0, _080A1BDC @ =gUnknown_203AD30 ldrh r2, [r0] - ldr r0, _080A1BE0 @ =gUnknown_2036DFC + ldr r0, _080A1BE0 @ =gMapHeader ldrb r3, [r0, 0x14] movs r0, 0x4 movs r1, 0 @@ -1542,7 +1542,7 @@ ItemUseOutOfBattle_EscapeRope: @ 80A1BAC b _080A1BFE .align 2, 0 _080A1BDC: .4byte gUnknown_203AD30 -_080A1BE0: .4byte gUnknown_2036DFC +_080A1BE0: .4byte gMapHeader _080A1BE4: .4byte gUnknown_2039998 _080A1BE8: .4byte sub_80A1C08 _080A1BEC: @@ -1769,7 +1769,7 @@ sub_80A1D9C: @ 80A1D9C push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080A1DE8 @ =gUnknown_2036DFC + ldr r0, _080A1DE8 @ =gMapHeader ldrb r0, [r0, 0x17] cmp r0, 0x3 beq _080A1DB2 @@ -1805,7 +1805,7 @@ _080A1DD2: bl sub_80A1110 b _080A1E00 .align 2, 0 -_080A1DE8: .4byte gUnknown_2036DFC +_080A1DE8: .4byte gMapHeader _080A1DEC: .4byte gSaveBlock1Ptr _080A1DF0: .4byte gUnknown_3005090 _080A1DF4: diff --git a/asm/itemfinder.s b/asm/itemfinder.s index 42cb10b09..5f861463e 100644 --- a/asm/itemfinder.s +++ b/asm/itemfinder.s @@ -11,7 +11,7 @@ sub_813EC8C: @ 813EC8C lsls r0, 24 lsrs r4, r0, 24 movs r2, 0 - ldr r7, _0813ECE0 @ =gUnknown_2036DFC + ldr r7, _0813ECE0 @ =gMapHeader lsls r1, r4, 2 adds r0, r1, r4 lsls r3, r0, 3 @@ -48,7 +48,7 @@ _0813ECA2: str r0, [r1] b _0813ED08 .align 2, 0 -_0813ECE0: .4byte gUnknown_2036DFC +_0813ECE0: .4byte gMapHeader _0813ECE4: .4byte gUnknown_3005098 _0813ECE8: .4byte gUnknown_3005090 _0813ECEC: .4byte sub_813EDB0 @@ -557,12 +557,12 @@ _0813F0AC: subs r0, r5, r0 lsls r0, 16 lsrs r1, r0, 16 - ldr r0, _0813F0C0 @ =gUnknown_2036DFC + ldr r0, _0813F0C0 @ =gMapHeader ldr r0, [r0] ldr r0, [r0, 0x4] b _0813F0DE .align 2, 0 -_0813F0C0: .4byte gUnknown_2036DFC +_0813F0C0: .4byte gMapHeader _0813F0C4: ldr r0, [r3] ldr r0, [r0] @@ -570,7 +570,7 @@ _0813F0C4: adds r0, r5 b _0813F0D8 _0813F0CE: - ldr r0, _0813F0E8 @ =gUnknown_2036DFC + ldr r0, _0813F0E8 @ =gMapHeader ldr r0, [r0] ldr r0, [r0] adds r0, 0x7 @@ -587,7 +587,7 @@ _0813F0E2: lsrs r2, r0, 16 b _0813F0F0 .align 2, 0 -_0813F0E8: .4byte gUnknown_2036DFC +_0813F0E8: .4byte gMapHeader _0813F0EC: movs r0, 0 b _0813F102 @@ -617,7 +617,7 @@ sub_813F108: @ 813F108 lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x4] - ldr r0, _0813F21C @ =gUnknown_2036DFC + ldr r0, _0813F21C @ =gMapHeader ldr r1, [r0] ldr r0, [r1] adds r0, 0x7 @@ -749,7 +749,7 @@ _0813F20C: pop {r0} bx r0 .align 2, 0 -_0813F21C: .4byte gUnknown_2036DFC +_0813F21C: .4byte gMapHeader thumb_func_end sub_813F108 thumb_func_start sub_813F220 diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s index ea2b2bc59..c4c0ae302 100644 --- a/asm/map_name_popup.s +++ b/asm/map_name_popup.s @@ -298,7 +298,7 @@ sub_8098340: @ 8098340 str r0, [sp] str r1, [sp, 0x4] movs r6, 0x1D - ldr r0, _0809837C @ =gUnknown_2036DFC + ldr r0, _0809837C @ =gMapHeader ldrb r0, [r0, 0x1A] lsls r0, 24 asrs r0, 24 @@ -318,7 +318,7 @@ sub_8098340: @ 8098340 b _08098396 .align 2, 0 _08098378: .4byte gUnknown_83D4164 -_0809837C: .4byte gUnknown_2036DFC +_0809837C: .4byte gMapHeader _08098380: .4byte 0x00ffffff _08098384: ldr r2, [sp] @@ -384,7 +384,7 @@ sub_8098400: @ 8098400 lsls r0, 16 lsrs r6, r0, 16 movs r5, 0x70 - ldr r4, _08098478 @ =gUnknown_2036DFC + ldr r4, _08098478 @ =gMapHeader ldrb r1, [r4, 0x14] add r0, sp, 0xC movs r2, 0 @@ -435,7 +435,7 @@ _08098434: pop {r0} bx r0 .align 2, 0 -_08098478: .4byte gUnknown_2036DFC +_08098478: .4byte gMapHeader thumb_func_end sub_8098400 thumb_func_start sub_809847C diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s index f22b818e8..18b6066d9 100644 --- a/asm/mystery_event_script.s +++ b/asm/mystery_event_script.s @@ -78,7 +78,7 @@ _080DA878: .4byte 0x081dbd34 RunMysteryEventScriptCommand: @ 80DA87C push {r4,lr} adds r4, r0, 0 - bl sub_8069804 + bl RunScriptCommand lsls r0, 24 cmp r0, 0 beq _080DA894 diff --git a/asm/overworld.s b/asm/overworld.s index 7bc1a8760..4dc2c60e0 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -445,7 +445,7 @@ sub_8054F68: @ 8054F68 movs r0, 0 mov r9, r0 mov r8, r0 - ldr r1, _08055040 @ =gUnknown_2036DFC + ldr r1, _08055040 @ =gMapHeader ldr r0, [r1, 0x4] ldrb r0, [r0] cmp r9, r0 @@ -455,7 +455,7 @@ _08054F86: ldr r2, _08055044 @ =gSaveBlock1Ptr mov r10, r2 _08054F8A: - ldr r3, _08055040 @ =gUnknown_2036DFC + ldr r3, _08055040 @ =gMapHeader ldr r0, [r3, 0x4] ldr r1, [r0, 0x4] mov r4, r9 @@ -498,7 +498,7 @@ _08054F8A: mov r6, r10 ldr r1, [r6] adds r1, r3 - ldr r2, _08055040 @ =gUnknown_2036DFC + ldr r2, _08055040 @ =gMapHeader ldr r0, [r2, 0x4] ldr r0, [r0, 0x4] adds r0, r7, r0 @@ -516,7 +516,7 @@ _08054F8A: ldr r6, _08055048 @ =0x000008e4 adds r0, r1, r6 strh r2, [r0] - ldr r2, _08055040 @ =gUnknown_2036DFC + ldr r2, _08055040 @ =gMapHeader ldr r0, [r2, 0x4] ldr r0, [r0, 0x4] adds r0, r7, r0 @@ -546,7 +546,7 @@ _08054F8A: strb r1, [r0] b _08055072 .align 2, 0 -_08055040: .4byte gUnknown_2036DFC +_08055040: .4byte gMapHeader _08055044: .4byte gSaveBlock1Ptr _08055048: .4byte 0x000008e4 _0805504C: .4byte 0x000008ec @@ -578,7 +578,7 @@ _08055072: lsls r0, 24 lsrs r0, 24 mov r9, r0 - ldr r6, _080550A4 @ =gUnknown_2036DFC + ldr r6, _080550A4 @ =gMapHeader ldr r0, [r6, 0x4] ldrb r0, [r0] cmp r9, r0 @@ -594,13 +594,13 @@ _08055092: pop {r0} bx r0 .align 2, 0 -_080550A4: .4byte gUnknown_2036DFC +_080550A4: .4byte gMapHeader thumb_func_end sub_8054F68 thumb_func_start sub_80550A8 sub_80550A8: @ 80550A8 push {lr} - ldr r0, _080550D0 @ =gUnknown_2036DFC + ldr r0, _080550D0 @ =gMapHeader ldr r1, [r0, 0x4] ldr r0, _080550D4 @ =gSaveBlock1Ptr ldr r0, [r0] @@ -620,7 +620,7 @@ _080550BC: pop {r0} bx r0 .align 2, 0 -_080550D0: .4byte gUnknown_2036DFC +_080550D0: .4byte gMapHeader _080550D4: .4byte gSaveBlock1Ptr thumb_func_end sub_80550A8 @@ -695,7 +695,7 @@ _08055140: mapdata_load_assets_to_gpu_and_full_redraw: @ 8055148 push {r4,lr} bl move_tilemap_camera_to_upper_left_corner - ldr r4, _0805516C @ =gUnknown_2036DFC + ldr r4, _0805516C @ =gMapHeader ldr r0, [r4] bl copy_map_tileset1_tileset2_to_vram ldr r0, [r4] @@ -706,7 +706,7 @@ mapdata_load_assets_to_gpu_and_full_redraw: @ 8055148 pop {r0} bx r0 .align 2, 0 -_0805516C: .4byte gUnknown_2036DFC +_0805516C: .4byte gMapHeader thumb_func_end mapdata_load_assets_to_gpu_and_full_redraw thumb_func_start get_mapdata_header @@ -860,7 +860,7 @@ _08055270: .4byte gUnknown_2031DBC thumb_func_start set_current_map_header_from_sav1_save_old_name set_current_map_header_from_sav1_save_old_name: @ 8055274 push {r4-r6,lr} - ldr r4, _080552B4 @ =gUnknown_2036DFC + ldr r4, _080552B4 @ =gMapHeader ldr r5, _080552B8 @ =gSaveBlock1Ptr ldr r1, [r5] movs r0, 0x4 @@ -889,14 +889,14 @@ set_current_map_header_from_sav1_save_old_name: @ 8055274 pop {r0} bx r0 .align 2, 0 -_080552B4: .4byte gUnknown_2036DFC +_080552B4: .4byte gMapHeader _080552B8: .4byte gSaveBlock1Ptr thumb_func_end set_current_map_header_from_sav1_save_old_name thumb_func_start set_current_map_header_from_sav1 set_current_map_header_from_sav1: @ 80552BC push {r4,r5,lr} - ldr r4, _080552F4 @ =gUnknown_2036DFC + ldr r4, _080552F4 @ =gMapHeader ldr r0, _080552F8 @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 @@ -922,7 +922,7 @@ set_current_map_header_from_sav1: @ 80552BC pop {r0} bx r0 .align 2, 0 -_080552F4: .4byte gUnknown_2036DFC +_080552F4: .4byte gMapHeader _080552F8: .4byte gSaveBlock1Ptr thumb_func_end set_current_map_header_from_sav1 @@ -936,7 +936,7 @@ update_camera_pos_from_warpid: @ 80552FC adds r4, r0, 0 cmp r1, 0 blt _08055334 - ldr r3, _08055330 @ =gUnknown_2036DFC + ldr r3, _08055330 @ =gMapHeader ldr r0, [r3, 0x4] ldrb r5, [r0, 0x1] cmp r1, r5 @@ -954,7 +954,7 @@ update_camera_pos_from_warpid: @ 80552FC b _0805536C .align 2, 0 _0805532C: .4byte gSaveBlock1Ptr -_08055330: .4byte gUnknown_2036DFC +_08055330: .4byte gMapHeader _08055334: ldr r1, [r4] ldrh r3, [r1, 0x8] @@ -972,7 +972,7 @@ _08055334: b _0805536C _08055350: ldr r3, [r4] - ldr r2, _08055374 @ =gUnknown_2036DFC + ldr r2, _08055374 @ =gMapHeader ldr r0, [r2] ldr r0, [r0] lsrs r1, r0, 31 @@ -990,7 +990,7 @@ _0805536C: pop {r0} bx r0 .align 2, 0 -_08055374: .4byte gUnknown_2036DFC +_08055374: .4byte gMapHeader thumb_func_end update_camera_pos_from_warpid thumb_func_start warp_in @@ -1569,7 +1569,7 @@ GetMapConnection: @ 805578C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080557A0 @ =gUnknown_2036DFC + ldr r0, _080557A0 @ =gMapHeader ldr r0, [r0, 0xC] ldr r3, [r0] ldr r1, [r0, 0x4] @@ -1577,7 +1577,7 @@ GetMapConnection: @ 805578C bne _080557A8 b _080557BC .align 2, 0 -_080557A0: .4byte gUnknown_2036DFC +_080557A0: .4byte gMapHeader _080557A4: adds r0, r1, 0 b _080557BE @@ -1719,7 +1719,7 @@ sub_8055864: @ 8055864 bl mapheader_run_script_with_tag_x3 bl sub_815D8F8 bl not_trainer_hill_battle_pyramid - ldr r4, _0805591C @ =gUnknown_2036DFC + ldr r4, _0805591C @ =gMapHeader ldr r0, [r4] bl copy_map_tileset2_to_vram_2 ldr r0, [r4] @@ -1740,7 +1740,7 @@ _080558D4: bl wild_encounter_reset_coro_args bl mapheader_run_script_with_tag_x5 bl sub_80561B4 - ldr r1, _0805591C @ =gUnknown_2036DFC + ldr r1, _0805591C @ =gMapHeader lsls r0, 24 lsrs r0, 24 ldrb r1, [r1, 0x14] @@ -1754,7 +1754,7 @@ _08055914: pop {r0} bx r0 .align 2, 0 -_0805591C: .4byte gUnknown_2036DFC +_0805591C: .4byte gMapHeader thumb_func_end sub_8055864 thumb_func_start sub_8055920 @@ -1762,7 +1762,7 @@ sub_8055920: @ 8055920 push {r4,lr} bl set_current_map_header_from_sav1_save_old_name bl sub_8054F68 - ldr r0, _0805599C @ =gUnknown_2036DFC + ldr r0, _0805599C @ =gMapHeader ldrb r0, [r0, 0x17] bl is_light_level_1_2_3_5_or_6 adds r4, r0, 0 @@ -1803,7 +1803,7 @@ _08055974: pop {r0} bx r0 .align 2, 0 -_0805599C: .4byte gUnknown_2036DFC +_0805599C: .4byte gMapHeader _080559A0: .4byte gSaveBlock1Ptr _080559A4: .4byte 0x00000806 thumb_func_end sub_8055920 @@ -1813,7 +1813,7 @@ sub_80559A8: @ 80559A8 push {lr} bl set_current_map_header_from_sav1_save_old_name bl sub_8054F68 - ldr r0, _080559E0 @ =gUnknown_2036DFC + ldr r0, _080559E0 @ =gMapHeader ldrb r0, [r0, 0x17] bl is_light_level_1_2_3_5_or_6 bl TrySetMapSaveWarpStatus @@ -1827,7 +1827,7 @@ sub_80559A8: @ 80559A8 pop {r0} bx r0 .align 2, 0 -_080559E0: .4byte gUnknown_2036DFC +_080559E0: .4byte gMapHeader thumb_func_end sub_80559A8 thumb_func_start sub_80559E4 @@ -2202,14 +2202,14 @@ _08055C98: .4byte gSaveBlock1Ptr thumb_func_start sub_8055C9C sub_8055C9C: @ 8055C9C push {lr} - ldr r0, _08055CAC @ =gUnknown_2036DFC + ldr r0, _08055CAC @ =gMapHeader ldrb r0, [r0, 0x18] cmp r0, 0 beq _08055CB0 movs r0, 0x1 b _08055CB2 .align 2, 0 -_08055CAC: .4byte gUnknown_2036DFC +_08055CAC: .4byte gMapHeader _08055CB0: movs r0, 0 _08055CB2: @@ -2220,7 +2220,7 @@ _08055CB2: thumb_func_start sub_8055CB8 sub_8055CB8: @ 8055CB8 push {lr} - ldr r0, _08055CC8 @ =gUnknown_2036DFC + ldr r0, _08055CC8 @ =gMapHeader ldrb r1, [r0, 0x15] cmp r1, 0 bne _08055CD0 @@ -2228,7 +2228,7 @@ sub_8055CB8: @ 8055CB8 ldr r0, [r0] b _08055CF8 .align 2, 0 -_08055CC8: .4byte gUnknown_2036DFC +_08055CC8: .4byte gMapHeader _08055CCC: .4byte gSaveBlock1Ptr _08055CD0: ldr r0, _08055CE8 @ =0x00000806 @@ -2302,13 +2302,13 @@ sub_8055D40: @ 8055D40 ldr r1, [r1] strh r0, [r1, 0x32] bl get_mapdata_header - ldr r1, _08055D58 @ =gUnknown_2036DFC + ldr r1, _08055D58 @ =gMapHeader str r0, [r1] pop {r0} bx r0 .align 2, 0 _08055D54: .4byte gSaveBlock1Ptr -_08055D58: .4byte gUnknown_2036DFC +_08055D58: .4byte gMapHeader thumb_func_end sub_8055D40 thumb_func_start sub_8055D5C @@ -2834,7 +2834,7 @@ sub_8056124: @ 8056124 cmp r1, r0 bne _08056150 _08056138: - ldr r0, _0805614C @ =gUnknown_2036DFC + ldr r0, _0805614C @ =gMapHeader ldrb r0, [r0, 0x14] cmp r0, 0x84 beq _08056148 @@ -2846,7 +2846,7 @@ _08056148: movs r0, 0 b _08056152 .align 2, 0 -_0805614C: .4byte gUnknown_2036DFC +_0805614C: .4byte gMapHeader _08056150: movs r0, 0x1 _08056152: @@ -3817,7 +3817,7 @@ _08056914: .4byte sub_807DF7C thumb_func_start sub_8056918 sub_8056918: @ 8056918 push {lr} - ldr r0, _08056934 @ =gUnknown_2036DFC + ldr r0, _08056934 @ =gMapHeader ldrb r1, [r0, 0x19] movs r0, 0xFC ands r0, r1 @@ -3830,7 +3830,7 @@ _0805692C: pop {r0} bx r0 .align 2, 0 -_08056934: .4byte gUnknown_2036DFC +_08056934: .4byte gMapHeader thumb_func_end sub_8056918 thumb_func_start sub_8056938 @@ -4022,31 +4022,31 @@ _08056AEE: bl move_tilemap_camera_to_upper_left_corner b _08056B62 _08056AF4: - ldr r0, _08056B00 @ =gUnknown_2036DFC + ldr r0, _08056B00 @ =gMapHeader ldr r0, [r0] bl sub_8059A54 b _08056B62 .align 2, 0 -_08056B00: .4byte gUnknown_2036DFC +_08056B00: .4byte gMapHeader _08056B04: - ldr r0, _08056B10 @ =gUnknown_2036DFC + ldr r0, _08056B10 @ =gMapHeader ldr r0, [r0] bl sub_8059A68 b _08056B62 .align 2, 0 -_08056B10: .4byte gUnknown_2036DFC +_08056B10: .4byte gMapHeader _08056B14: bl free_temp_tile_data_buffers_if_possible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _08056B6E - ldr r0, _08056B2C @ =gUnknown_2036DFC + ldr r0, _08056B2C @ =gMapHeader ldr r0, [r0] bl apply_map_tileset1_tileset2_palette b _08056B62 .align 2, 0 -_08056B2C: .4byte gUnknown_2036DFC +_08056B2C: .4byte gMapHeader _08056B30: bl DrawWholeMapView b _08056B62 @@ -4164,31 +4164,31 @@ _08056C2A: bl move_tilemap_camera_to_upper_left_corner b _08056CCA _08056C30: - ldr r0, _08056C3C @ =gUnknown_2036DFC + ldr r0, _08056C3C @ =gMapHeader ldr r0, [r0] bl sub_8059A54 b _08056CCA .align 2, 0 -_08056C3C: .4byte gUnknown_2036DFC +_08056C3C: .4byte gMapHeader _08056C40: - ldr r0, _08056C4C @ =gUnknown_2036DFC + ldr r0, _08056C4C @ =gMapHeader ldr r0, [r0] bl sub_8059A68 b _08056CCA .align 2, 0 -_08056C4C: .4byte gUnknown_2036DFC +_08056C4C: .4byte gMapHeader _08056C50: bl free_temp_tile_data_buffers_if_possible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _08056CD0 - ldr r0, _08056C68 @ =gUnknown_2036DFC + ldr r0, _08056C68 @ =gMapHeader ldr r0, [r0] bl apply_map_tileset1_tileset2_palette b _08056CCA .align 2, 0 -_08056C68: .4byte gUnknown_2036DFC +_08056C68: .4byte gMapHeader _08056C6C: bl DrawWholeMapView b _08056CCA @@ -4197,7 +4197,7 @@ _08056C72: b _08056CCA _08056C78: bl sub_80561B4 - ldr r5, _08056CA4 @ =gUnknown_2036DFC + ldr r5, _08056CA4 @ =gMapHeader lsls r0, 24 lsrs r0, 24 ldrb r1, [r5, 0x14] @@ -4214,9 +4214,9 @@ _08056C78: bl sub_80F8268 b _08056CCA .align 2, 0 -_08056CA4: .4byte gUnknown_2036DFC +_08056CA4: .4byte gMapHeader _08056CA8: - ldr r0, _08056CBC @ =gUnknown_2036DFC + ldr r0, _08056CBC @ =gMapHeader ldrb r1, [r0, 0x19] movs r0, 0xFC ands r0, r1 @@ -4226,7 +4226,7 @@ _08056CA8: bl sub_8098110 b _08056CCA .align 2, 0 -_08056CBC: .4byte gUnknown_2036DFC +_08056CBC: .4byte gMapHeader _08056CC0: bl map_post_load_hook_exec lsls r0, 24 @@ -4353,31 +4353,31 @@ _08056DCA: bl move_tilemap_camera_to_upper_left_corner b _08056E3E _08056DD0: - ldr r0, _08056DDC @ =gUnknown_2036DFC + ldr r0, _08056DDC @ =gMapHeader ldr r0, [r0] bl sub_8059A54 b _08056E3E .align 2, 0 -_08056DDC: .4byte gUnknown_2036DFC +_08056DDC: .4byte gMapHeader _08056DE0: - ldr r0, _08056DEC @ =gUnknown_2036DFC + ldr r0, _08056DEC @ =gMapHeader ldr r0, [r0] bl sub_8059A68 b _08056E3E .align 2, 0 -_08056DEC: .4byte gUnknown_2036DFC +_08056DEC: .4byte gMapHeader _08056DF0: bl free_temp_tile_data_buffers_if_possible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _08056E54 - ldr r0, _08056E08 @ =gUnknown_2036DFC + ldr r0, _08056E08 @ =gMapHeader ldr r0, [r0] bl apply_map_tileset1_tileset2_palette b _08056E3E .align 2, 0 -_08056E08: .4byte gUnknown_2036DFC +_08056E08: .4byte gMapHeader _08056E0C: bl DrawWholeMapView b _08056E3E @@ -5064,31 +5064,31 @@ _080573C2: bl move_tilemap_camera_to_upper_left_corner b _08057412 _080573C8: - ldr r0, _080573D4 @ =gUnknown_2036DFC + ldr r0, _080573D4 @ =gMapHeader ldr r0, [r0] bl sub_8059A54 b _08057412 .align 2, 0 -_080573D4: .4byte gUnknown_2036DFC +_080573D4: .4byte gMapHeader _080573D8: - ldr r0, _080573E4 @ =gUnknown_2036DFC + ldr r0, _080573E4 @ =gMapHeader ldr r0, [r0] bl sub_8059A68 b _08057412 .align 2, 0 -_080573E4: .4byte gUnknown_2036DFC +_080573E4: .4byte gMapHeader _080573E8: bl free_temp_tile_data_buffers_if_possible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _08057428 - ldr r0, _08057400 @ =gUnknown_2036DFC + ldr r0, _08057400 @ =gMapHeader ldr r0, [r0] bl apply_map_tileset1_tileset2_palette b _08057412 .align 2, 0 -_08057400: .4byte gUnknown_2036DFC +_08057400: .4byte gMapHeader _08057404: bl DrawWholeMapView b _08057412 @@ -5413,31 +5413,31 @@ _080576CC: bl move_tilemap_camera_to_upper_left_corner b _0805772A _080576D2: - ldr r0, _080576DC @ =gUnknown_2036DFC + ldr r0, _080576DC @ =gMapHeader ldr r0, [r0] bl sub_8059A54 b _0805772A .align 2, 0 -_080576DC: .4byte gUnknown_2036DFC +_080576DC: .4byte gMapHeader _080576E0: - ldr r0, _080576EC @ =gUnknown_2036DFC + ldr r0, _080576EC @ =gMapHeader ldr r0, [r0] bl sub_8059A68 b _0805772A .align 2, 0 -_080576EC: .4byte gUnknown_2036DFC +_080576EC: .4byte gMapHeader _080576F0: bl free_temp_tile_data_buffers_if_possible lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _08057740 - ldr r0, _08057708 @ =gUnknown_2036DFC + ldr r0, _08057708 @ =gMapHeader ldr r0, [r0] bl apply_map_tileset1_tileset2_palette b _0805772A .align 2, 0 -_08057708: .4byte gUnknown_2036DFC +_08057708: .4byte gMapHeader _0805770C: bl DrawWholeMapView b _0805772A diff --git a/asm/party_menu.s b/asm/party_menu.s index c1c1f64b3..b1942669d 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -12205,7 +12205,7 @@ _08124A82: thumb_func_start sub_8124A8C sub_8124A8C: @ 8124A8C push {lr} - ldr r0, _08124AA4 @ =gUnknown_2036DFC + ldr r0, _08124AA4 @ =gMapHeader ldrb r0, [r0, 0x17] bl is_light_level_1_2_3_or_6 lsls r0, 24 @@ -12215,7 +12215,7 @@ sub_8124A8C: @ 8124A8C movs r0, 0 b _08124AAA .align 2, 0 -_08124AA4: .4byte gUnknown_2036DFC +_08124AA4: .4byte gMapHeader _08124AA8: movs r0, 0x1 _08124AAA: @@ -12390,7 +12390,7 @@ _08124BDA: .align 2, 0 _08124BF8: .4byte gSaveBlock1Ptr _08124BFC: - ldr r0, _08124C18 @ =gUnknown_2036DFC + ldr r0, _08124C18 @ =gMapHeader _08124BFE: ldrb r0, [r0, 0x14] _08124C00: @@ -12404,7 +12404,7 @@ _08124C00: pop {r0} bx r0 .align 2, 0 -_08124C18: .4byte gUnknown_2036DFC +_08124C18: .4byte gMapHeader thumb_func_end sub_8124BB0 thumb_func_start sub_8124C1C diff --git a/asm/quest_log.s b/asm/quest_log.s index fc167d660..7526b69bd 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -3046,7 +3046,7 @@ sub_8111FCC: @ 8111FCC cmp r0, 0x40 beq _0811200E ldr r0, _08112030 @ =gStringVar1 - ldr r1, _08112034 @ =gUnknown_2036DFC + ldr r1, _08112034 @ =gMapHeader ldrb r1, [r1, 0x14] bl sub_80C4DF8 ldr r0, _08112038 @ =gStringVar4 @@ -3069,7 +3069,7 @@ _08112024: .4byte gUnknown_3005090 _08112028: .4byte gUnknown_2037AB8 _0811202C: .4byte gUnknown_203AE94 _08112030: .4byte gStringVar1 -_08112034: .4byte gUnknown_2036DFC +_08112034: .4byte gMapHeader _08112038: .4byte gStringVar4 _0811203C: .4byte gUnknown_841B073 _08112040: .4byte sub_8112044 @@ -10263,7 +10263,7 @@ sub_8115798: @ 8115798 ldrb r0, [r4] cmp r0, 0 beq _081157C6 - ldr r0, _081157D8 @ =gUnknown_2036DFC + ldr r0, _081157D8 @ =gMapHeader ldrb r1, [r0, 0x14] mov r0, sp strh r1, [r0] @@ -10280,7 +10280,7 @@ _081157C6: .align 2, 0 _081157D0: .4byte gUnknown_203ADFA _081157D4: .4byte gUnknown_203B049 -_081157D8: .4byte gUnknown_2036DFC +_081157D8: .4byte gMapHeader thumb_func_end sub_8115798 thumb_func_start sub_81157DC diff --git a/asm/region_map.s b/asm/region_map.s index 6af9eec81..83b897991 100644 --- a/asm/region_map.s +++ b/asm/region_map.s @@ -291,7 +291,7 @@ _080C0022: _080C0058: movs r7, 0 movs r1, 0 - ldr r2, _080C00B8 @ =gUnknown_2036DFC + ldr r2, _080C00B8 @ =gMapHeader ldrb r0, [r2, 0x14] ldr r3, _080C00A4 @ =gUnknown_20399D4 mov r8, r3 @@ -332,7 +332,7 @@ _080C00A8: .4byte 0x00004797 _080C00AC: .4byte gUnknown_83F1B00 _080C00B0: .4byte 0x00004796 _080C00B4: .4byte 0x00000845 -_080C00B8: .4byte gUnknown_2036DFC +_080C00B8: .4byte gMapHeader _080C00BC: .4byte gUnknown_83F1AA4 _080C00C0: adds r0, r3, 0x1 @@ -7445,7 +7445,7 @@ _080C3B60: _080C3B84: ldr r0, _080C3BA0 @ =gUnknown_20399E4 ldr r2, [r0] - ldr r1, _080C3BA4 @ =gUnknown_2036DFC + ldr r1, _080C3BA4 @ =gMapHeader ldrb r0, [r1, 0x14] strh r0, [r2, 0x14] ldr r0, [r1] @@ -7459,7 +7459,7 @@ _080C3B84: b _080C3C9A .align 2, 0 _080C3BA0: .4byte gUnknown_20399E4 -_080C3BA4: .4byte gUnknown_2036DFC +_080C3BA4: .4byte gMapHeader _080C3BA8: .4byte gSaveBlock1Ptr _080C3BAC: ldr r4, _080C3BE8 @ =gSaveBlock1Ptr @@ -7526,7 +7526,7 @@ _080C3C28: .4byte gUnknown_20399E4 _080C3C2C: ldr r4, _080C3C5C @ =gUnknown_20399E4 ldr r0, [r4] - ldr r1, _080C3C60 @ =gUnknown_2036DFC + ldr r1, _080C3C60 @ =gMapHeader ldrb r1, [r1, 0x14] strh r1, [r0, 0x14] cmp r1, 0xC4 @@ -7548,7 +7548,7 @@ _080C3C2C: b _080C3C8E .align 2, 0 _080C3C5C: .4byte gUnknown_20399E4 -_080C3C60: .4byte gUnknown_2036DFC +_080C3C60: .4byte gMapHeader _080C3C64: .4byte gSaveBlock1Ptr _080C3C68: ldr r0, _080C3D30 @ =gSaveBlock1Ptr diff --git a/asm/rom6.s b/asm/rom6.s index 18eb03946..f15c1f1d1 100644 --- a/asm/rom6.s +++ b/asm/rom6.s @@ -93,7 +93,7 @@ task08_080C9820: @ 80C9820 cmp r0, 0 beq _080C98A2 _080C9856: - ldr r0, _080C987C @ =gUnknown_2036DFC + ldr r0, _080C987C @ =gMapHeader ldrb r0, [r0, 0x17] cmp r0, 0x5 bne _080C9888 @@ -109,7 +109,7 @@ _080C9856: .align 2, 0 _080C9874: .4byte gUnknown_2037078 _080C9878: .4byte gUnknown_2036E38 -_080C987C: .4byte gUnknown_2036DFC +_080C987C: .4byte gMapHeader _080C9880: .4byte gUnknown_3005090 _080C9884: .4byte sub_80C98FC _080C9888: diff --git a/asm/save_menu_util.s b/asm/save_menu_util.s index 547a9bc05..129d08921 100644 --- a/asm/save_menu_util.s +++ b/asm/save_menu_util.s @@ -105,13 +105,13 @@ _080F8076: .align 2, 0 _080F8094: .4byte gSaveBlock2Ptr _080F8098: - ldr r0, _080F80A4 @ =gUnknown_2036DFC + ldr r0, _080F80A4 @ =gMapHeader ldrb r1, [r0, 0x14] adds r0, r5, 0 bl sub_80C4DF8 b _080F80D8 .align 2, 0 -_080F80A4: .4byte gUnknown_2036DFC +_080F80A4: .4byte gMapHeader _080F80A8: movs r4, 0x82 lsls r4, 4 diff --git a/asm/script.s b/asm/script.s deleted file mode 100644 index 65ef2028e..000000000 --- a/asm/script.s +++ /dev/null @@ -1,1092 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start InitScriptContext -InitScriptContext: @ 80697AC - push {lr} - adds r3, r0, 0 - movs r0, 0 - strb r0, [r3, 0x1] - str r0, [r3, 0x8] - strb r0, [r3] - str r0, [r3, 0x4] - str r1, [r3, 0x5C] - str r2, [r3, 0x60] - movs r2, 0 - movs r1, 0x3 - adds r0, r3, 0 - adds r0, 0x70 -_080697C6: - str r2, [r0] - subs r0, 0x4 - subs r1, 0x1 - cmp r1, 0 - bge _080697C6 - adds r1, r3, 0 - adds r1, 0xC - movs r2, 0 - adds r0, r3, 0 - adds r0, 0x58 -_080697DA: - str r2, [r0] - subs r0, 0x4 - cmp r0, r1 - bge _080697DA - pop {r0} - bx r0 - thumb_func_end InitScriptContext - - thumb_func_start SetupBytecodeScript -SetupBytecodeScript: @ 80697E8 - str r1, [r0, 0x8] - movs r1, 0x1 - strb r1, [r0, 0x1] - movs r0, 0x1 - bx lr - thumb_func_end SetupBytecodeScript - - thumb_func_start SetupNativeScript -SetupNativeScript: @ 80697F4 - movs r2, 0x2 - strb r2, [r0, 0x1] - str r1, [r0, 0x4] - bx lr - thumb_func_end SetupNativeScript - - thumb_func_start StopScript -StopScript: @ 80697FC - movs r1, 0 - strb r1, [r0, 0x1] - str r1, [r0, 0x8] - bx lr - thumb_func_end StopScript - - thumb_func_start sub_8069804 -sub_8069804: @ 8069804 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x1] - cmp r0, 0x1 - beq _08069842 - cmp r0, 0x1 - bgt _08069818 - cmp r0, 0 - beq _08069834 - b _0806987A -_08069818: - cmp r0, 0x2 - bne _0806987A - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _0806983E - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0806987A - strb r0, [r4, 0x1] - b _0806987A -_08069832: - strb r2, [r4, 0x1] -_08069834: - movs r0, 0 - b _0806987C -_08069838: - movs r0, 0 - strb r0, [r4, 0x1] - b _0806987C -_0806983E: - movs r0, 0x1 - strb r0, [r4, 0x1] -_08069842: - ldr r2, [r4, 0x8] - cmp r2, 0 - beq _08069832 - ldr r0, _08069854 @ =gUnknown_83A7244 - ldr r0, [r0] - cmp r2, r0 - bne _08069858 -_08069850: - swi 0x2 - b _08069850 - .align 2, 0 -_08069854: .4byte gUnknown_83A7244 -_08069858: - ldrb r1, [r2] - adds r0, r2, 0x1 - str r0, [r4, 0x8] - lsls r1, 2 - ldr r0, [r4, 0x5C] - adds r1, r0, r1 - ldr r0, [r4, 0x60] - cmp r1, r0 - bcs _08069838 - ldr r1, [r1] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08069842 -_0806987A: - movs r0, 0x1 -_0806987C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8069804 - - thumb_func_start ScriptPush -ScriptPush: @ 8069884 - push {lr} - adds r2, r0, 0 - adds r3, r1, 0 - ldrb r1, [r2] - adds r0, r1, 0x1 - cmp r0, 0x13 - bgt _080698A6 - lsls r0, r1, 2 - adds r1, r2, 0 - adds r1, 0xC - adds r1, r0 - str r3, [r1] - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - movs r0, 0 - b _080698A8 -_080698A6: - movs r0, 0x1 -_080698A8: - pop {r1} - bx r1 - thumb_func_end ScriptPush - - thumb_func_start ScriptPop -ScriptPop: @ 80698AC - push {lr} - adds r2, r0, 0 - ldrb r0, [r2] - cmp r0, 0 - beq _080698C8 - subs r0, 0x1 - strb r0, [r2] - ldrb r1, [r2] - lsls r1, 2 - adds r0, r2, 0 - adds r0, 0xC - adds r0, r1 - ldr r0, [r0] - b _080698CA -_080698C8: - movs r0, 0 -_080698CA: - pop {r1} - bx r1 - thumb_func_end ScriptPop - - thumb_func_start ScriptJump -ScriptJump: @ 80698D0 - str r1, [r0, 0x8] - bx lr - thumb_func_end ScriptJump - - thumb_func_start ScriptCall -ScriptCall: @ 80698D4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, [r4, 0x8] - bl ScriptPush - str r5, [r4, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ScriptCall - - thumb_func_start ScriptReturn -ScriptReturn: @ 80698E8 - push {r4,lr} - adds r4, r0, 0 - bl ScriptPop - str r0, [r4, 0x8] - pop {r4} - pop {r0} - bx r0 - thumb_func_end ScriptReturn - - thumb_func_start ScriptReadHalfword -ScriptReadHalfword: @ 80698F8 - adds r3, r0, 0 - ldr r2, [r3, 0x8] - ldrb r0, [r2] - adds r2, 0x1 - str r2, [r3, 0x8] - ldrb r1, [r2] - lsls r1, 8 - orrs r0, r1 - adds r2, 0x1 - str r2, [r3, 0x8] - bx lr - thumb_func_end ScriptReadHalfword - - thumb_func_start ScriptReadWord -ScriptReadWord: @ 8069910 - push {r4-r6,lr} - adds r3, r0, 0 - ldr r0, [r3, 0x8] - ldrb r6, [r0] - adds r0, 0x1 - str r0, [r3, 0x8] - ldrb r5, [r0] - adds r2, r0, 0x1 - str r2, [r3, 0x8] - ldrb r4, [r0, 0x1] - adds r1, r2, 0x1 - str r1, [r3, 0x8] - ldrb r0, [r2, 0x1] - adds r1, 0x1 - str r1, [r3, 0x8] - lsls r0, 8 - adds r0, r4 - lsls r0, 8 - adds r0, r5 - lsls r0, 8 - adds r0, r6 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end ScriptReadWord - - thumb_func_start ScriptContext2_Enable -ScriptContext2_Enable: @ 8069940 - ldr r1, _08069948 @ =gUnknown_3000F9C - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_08069948: .4byte gUnknown_3000F9C - thumb_func_end ScriptContext2_Enable - - thumb_func_start ScriptContext2_Disable -ScriptContext2_Disable: @ 806994C - ldr r1, _08069954 @ =gUnknown_3000F9C - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08069954: .4byte gUnknown_3000F9C - thumb_func_end ScriptContext2_Disable - - thumb_func_start ScriptContext2_IsEnabled -ScriptContext2_IsEnabled: @ 8069958 - ldr r0, _08069960 @ =gUnknown_3000F9C - ldrb r0, [r0] - bx lr - .align 2, 0 -_08069960: .4byte gUnknown_3000F9C - thumb_func_end ScriptContext2_IsEnabled - - thumb_func_start sub_8069964 -sub_8069964: @ 8069964 - ldr r1, _0806996C @ =gUnknown_3000FA0 - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_0806996C: .4byte gUnknown_3000FA0 - thumb_func_end sub_8069964 - - thumb_func_start sub_8069970 -sub_8069970: @ 8069970 - ldr r1, _08069978 @ =gUnknown_3000FA0 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08069978: .4byte gUnknown_3000FA0 - thumb_func_end sub_8069970 - - thumb_func_start sub_806997C -sub_806997C: @ 806997C - push {lr} - ldr r0, _0806998C @ =gUnknown_3000FA0 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08069990 - movs r0, 0 - b _08069992 - .align 2, 0 -_0806998C: .4byte gUnknown_3000FA0 -_08069990: - movs r0, 0x1 -_08069992: - pop {r1} - bx r1 - thumb_func_end sub_806997C - - thumb_func_start sub_8069998 -sub_8069998: @ 8069998 - ldr r1, _080699A0 @ =gUnknown_3000F9F - strb r0, [r1] - bx lr - .align 2, 0 -_080699A0: .4byte gUnknown_3000F9F - thumb_func_end sub_8069998 - - thumb_func_start sub_80699A4 -sub_80699A4: @ 80699A4 - ldr r1, _080699AC @ =gUnknown_3000F9F - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080699AC: .4byte gUnknown_3000F9F - thumb_func_end sub_80699A4 - - thumb_func_start sub_80699B0 -sub_80699B0: @ 80699B0 - ldr r0, _080699B8 @ =gUnknown_3000F9F - ldrb r0, [r0] - bx lr - .align 2, 0 -_080699B8: .4byte gUnknown_3000F9F - thumb_func_end sub_80699B0 - - thumb_func_start sub_80699BC -sub_80699BC: @ 80699BC - ldr r1, _080699C4 @ =gUnknown_3000F9D - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_080699C4: .4byte gUnknown_3000F9D - thumb_func_end sub_80699BC - - thumb_func_start sub_80699C8 -sub_80699C8: @ 80699C8 - ldr r1, _080699D0 @ =gUnknown_3000F9D - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_080699D0: .4byte gUnknown_3000F9D - thumb_func_end sub_80699C8 - - thumb_func_start sub_80699D4 -sub_80699D4: @ 80699D4 - ldr r0, _080699DC @ =gUnknown_3000F9D - ldrb r0, [r0] - bx lr - .align 2, 0 -_080699DC: .4byte gUnknown_3000F9D - thumb_func_end sub_80699D4 - - thumb_func_start sub_80699E0 -sub_80699E0: @ 80699E0 - ldr r1, _080699F0 @ =gUnknown_20370A0 - movs r0, 0x6 - strb r0, [r1] - ldr r1, _080699F4 @ =gUnknown_3000F9E - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_080699F0: .4byte gUnknown_20370A0 -_080699F4: .4byte gUnknown_3000F9E - thumb_func_end sub_80699E0 - - thumb_func_start sub_80699F8 -sub_80699F8: @ 80699F8 - ldr r1, _08069A00 @ =gUnknown_3000F9E - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08069A00: .4byte gUnknown_3000F9E - thumb_func_end sub_80699F8 - - thumb_func_start sub_8069A04 -sub_8069A04: @ 8069A04 - push {lr} - ldr r0, _08069A14 @ =gUnknown_3000F9E - ldrb r0, [r0] - cmp r0, 0x1 - beq _08069A18 - movs r0, 0 - b _08069A1A - .align 2, 0 -_08069A14: .4byte gUnknown_3000F9E -_08069A18: - movs r0, 0x1 -_08069A1A: - pop {r1} - bx r1 - thumb_func_end sub_8069A04 - - thumb_func_start sub_8069A20 -sub_8069A20: @ 8069A20 - ldr r1, _08069A28 @ =gUnknown_3000FA1 - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_08069A28: .4byte gUnknown_3000FA1 - thumb_func_end sub_8069A20 - - thumb_func_start sub_8069A2C -sub_8069A2C: @ 8069A2C - ldr r1, _08069A34 @ =gUnknown_3000FA1 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08069A34: .4byte gUnknown_3000FA1 - thumb_func_end sub_8069A2C - - thumb_func_start sub_8069A38 -sub_8069A38: @ 8069A38 - push {lr} - ldr r0, _08069A48 @ =gUnknown_3000FA1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08069A4C - movs r0, 0 - b _08069A4E - .align 2, 0 -_08069A48: .4byte gUnknown_3000FA1 -_08069A4C: - movs r0, 0x1 -_08069A4E: - pop {r1} - bx r1 - thumb_func_end sub_8069A38 - - thumb_func_start sub_8069A54 -sub_8069A54: @ 8069A54 - push {lr} - bl sub_80CBDE8 - bl sub_8069A2C - pop {r0} - bx r0 - thumb_func_end sub_8069A54 - - thumb_func_start ScriptContext1_IsScriptSetUp -ScriptContext1_IsScriptSetUp: @ 8069A64 - push {lr} - ldr r0, _08069A74 @ =gUnknown_3000EA8 - ldrb r0, [r0] - cmp r0, 0 - beq _08069A78 - movs r0, 0 - b _08069A7A - .align 2, 0 -_08069A74: .4byte gUnknown_3000EA8 -_08069A78: - movs r0, 0x1 -_08069A7A: - pop {r1} - bx r1 - thumb_func_end ScriptContext1_IsScriptSetUp - - thumb_func_start ScriptContext1_Init -ScriptContext1_Init: @ 8069A80 - push {lr} - ldr r0, _08069A98 @ =gUnknown_3000EB0 - ldr r1, _08069A9C @ =gUnknown_815F9B4 - ldr r2, _08069AA0 @ =gUnknown_815FD08 - bl InitScriptContext - ldr r1, _08069AA4 @ =gUnknown_3000EA8 - movs r0, 0x2 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08069A98: .4byte gUnknown_3000EB0 -_08069A9C: .4byte gUnknown_815F9B4 -_08069AA0: .4byte gUnknown_815FD08 -_08069AA4: .4byte gUnknown_3000EA8 - thumb_func_end ScriptContext1_Init - - thumb_func_start ScriptContext2_RunScript -ScriptContext2_RunScript: @ 8069AA8 - push {r4,lr} - ldr r4, _08069ACC @ =gUnknown_3000EA8 - ldrb r0, [r4] - cmp r0, 0x2 - beq _08069ADC - cmp r0, 0x1 - beq _08069ADC - bl ScriptContext2_Enable - ldr r0, _08069AD0 @ =gUnknown_3000EB0 - bl sub_8069804 - lsls r0, 24 - cmp r0, 0 - beq _08069AD4 - movs r0, 0x1 - b _08069ADE - .align 2, 0 -_08069ACC: .4byte gUnknown_3000EA8 -_08069AD0: .4byte gUnknown_3000EB0 -_08069AD4: - movs r0, 0x2 - strb r0, [r4] - bl ScriptContext2_Disable -_08069ADC: - movs r0, 0 -_08069ADE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end ScriptContext2_RunScript - - thumb_func_start ScriptContext1_SetupScript -ScriptContext1_SetupScript: @ 8069AE4 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_80699F8 - bl sub_80699C8 - bl sub_8069970 - ldr r4, _08069B18 @ =gUnknown_3000EB0 - ldr r1, _08069B1C @ =gUnknown_815F9B4 - ldr r2, _08069B20 @ =gUnknown_815FD08 - adds r0, r4, 0 - bl InitScriptContext - adds r0, r4, 0 - adds r1, r5, 0 - bl SetupBytecodeScript - bl ScriptContext2_Enable - ldr r1, _08069B24 @ =gUnknown_3000EA8 - movs r0, 0 - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069B18: .4byte gUnknown_3000EB0 -_08069B1C: .4byte gUnknown_815F9B4 -_08069B20: .4byte gUnknown_815FD08 -_08069B24: .4byte gUnknown_3000EA8 - thumb_func_end ScriptContext1_SetupScript - - thumb_func_start ScriptContext1_Stop -ScriptContext1_Stop: @ 8069B28 - ldr r1, _08069B30 @ =gUnknown_3000EA8 - movs r0, 0x1 - strb r0, [r1] - bx lr - .align 2, 0 -_08069B30: .4byte gUnknown_3000EA8 - thumb_func_end ScriptContext1_Stop - - thumb_func_start EnableBothScriptContexts -EnableBothScriptContexts: @ 8069B34 - push {lr} - ldr r1, _08069B44 @ =gUnknown_3000EA8 - movs r0, 0 - strb r0, [r1] - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_08069B44: .4byte gUnknown_3000EA8 - thumb_func_end EnableBothScriptContexts - - thumb_func_start ScriptContext2_RunNewScript -ScriptContext2_RunNewScript: @ 8069B48 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _08069B74 @ =gUnknown_3000F28 - ldr r1, _08069B78 @ =gUnknown_815F9B4 - ldr r2, _08069B7C @ =gUnknown_815FD08 - adds r0, r4, 0 - bl InitScriptContext - adds r0, r4, 0 - adds r1, r5, 0 - bl SetupBytecodeScript -_08069B60: - ldr r0, _08069B74 @ =gUnknown_3000F28 - bl sub_8069804 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08069B60 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069B74: .4byte gUnknown_3000F28 -_08069B78: .4byte gUnknown_815F9B4 -_08069B7C: .4byte gUnknown_815FD08 - thumb_func_end ScriptContext2_RunNewScript - - thumb_func_start mapheader_get_tagged_pointer -mapheader_get_tagged_pointer: @ 8069B80 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _08069B98 @ =gUnknown_2036DFC - ldr r2, [r0, 0x8] - cmp r2, 0 - beq _08069B94 -_08069B8E: - ldrb r0, [r2] - cmp r0, 0 - bne _08069B9C -_08069B94: - movs r0, 0 - b _08069BBA - .align 2, 0 -_08069B98: .4byte gUnknown_2036DFC -_08069B9C: - cmp r0, r1 - beq _08069BA4 - adds r2, 0x5 - b _08069B8E -_08069BA4: - adds r2, 0x1 - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - ldrb r1, [r2, 0x2] - lsls r1, 16 - adds r0, r1 - ldrb r1, [r2, 0x3] - lsls r1, 24 - adds r0, r1 -_08069BBA: - pop {r1} - bx r1 - thumb_func_end mapheader_get_tagged_pointer - - thumb_func_start mapheader_run_script_by_tag -mapheader_run_script_by_tag: @ 8069BC0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl mapheader_get_tagged_pointer - cmp r0, 0 - beq _08069BD2 - bl ScriptContext2_RunNewScript -_08069BD2: - pop {r0} - bx r0 - thumb_func_end mapheader_run_script_by_tag - - thumb_func_start mapheader_get_first_match_from_tagged_ptr_list -mapheader_get_first_match_from_tagged_ptr_list: @ 8069BD8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - bl mapheader_get_tagged_pointer - adds r6, r0, 0 - cmp r6, 0 - beq _08069BF4 -_08069BE8: - ldrb r1, [r6] - ldrb r0, [r6, 0x1] - lsls r0, 8 - orrs r1, r0 - cmp r1, 0 - bne _08069BF8 -_08069BF4: - movs r0, 0 - b _08069C32 -_08069BF8: - adds r6, 0x2 - ldrb r5, [r6] - ldrb r0, [r6, 0x1] - lsls r0, 8 - orrs r5, r0 - adds r6, 0x2 - adds r0, r1, 0 - bl VarGet - adds r4, r0, 0 - adds r0, r5, 0 - bl VarGet - lsls r4, 16 - lsls r0, 16 - cmp r4, r0 - beq _08069C1E - adds r6, 0x4 - b _08069BE8 -_08069C1E: - ldrb r0, [r6] - ldrb r1, [r6, 0x1] - lsls r1, 8 - adds r0, r1 - ldrb r1, [r6, 0x2] - lsls r1, 16 - adds r0, r1 - ldrb r1, [r6, 0x3] - lsls r1, 24 - adds r0, r1 -_08069C32: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end mapheader_get_first_match_from_tagged_ptr_list - - thumb_func_start mapheader_run_script_with_tag_x1 -mapheader_run_script_with_tag_x1: @ 8069C38 - push {lr} - movs r0, 0x1 - bl mapheader_run_script_by_tag - pop {r0} - bx r0 - thumb_func_end mapheader_run_script_with_tag_x1 - - thumb_func_start mapheader_run_script_with_tag_x3 -mapheader_run_script_with_tag_x3: @ 8069C44 - push {lr} - movs r0, 0x3 - bl mapheader_run_script_by_tag - pop {r0} - bx r0 - thumb_func_end mapheader_run_script_with_tag_x3 - - thumb_func_start mapheader_run_script_with_tag_x5 -mapheader_run_script_with_tag_x5: @ 8069C50 - push {lr} - movs r0, 0x5 - bl mapheader_run_script_by_tag - pop {r0} - bx r0 - thumb_func_end mapheader_run_script_with_tag_x5 - - thumb_func_start mapheader_run_script_with_tag_x7 -mapheader_run_script_with_tag_x7: @ 8069C5C - push {lr} - movs r0, 0x7 - bl mapheader_run_script_by_tag - pop {r0} - bx r0 - thumb_func_end mapheader_run_script_with_tag_x7 - - thumb_func_start mapheader_run_script_with_tag_x6 -mapheader_run_script_with_tag_x6: @ 8069C68 - push {lr} - movs r0, 0x6 - bl mapheader_run_script_by_tag - pop {r0} - bx r0 - thumb_func_end mapheader_run_script_with_tag_x6 - - thumb_func_start sub_8069C74 -sub_8069C74: @ 8069C74 - push {lr} - ldr r0, _08069C90 @ =gUnknown_203ADFA - ldrb r0, [r0] - cmp r0, 0x3 - beq _08069C94 - movs r0, 0x2 - bl mapheader_get_first_match_from_tagged_ptr_list - cmp r0, 0 - beq _08069C94 - bl ScriptContext1_SetupScript - movs r0, 0x1 - b _08069C96 - .align 2, 0 -_08069C90: .4byte gUnknown_203ADFA -_08069C94: - movs r0, 0 -_08069C96: - pop {r1} - bx r1 - thumb_func_end sub_8069C74 - - thumb_func_start mapheader_run_first_tag4_script_list_match -mapheader_run_first_tag4_script_list_match: @ 8069C9C - push {lr} - movs r0, 0x4 - bl mapheader_get_first_match_from_tagged_ptr_list - cmp r0, 0 - beq _08069CAC - bl ScriptContext2_RunNewScript -_08069CAC: - pop {r0} - bx r0 - thumb_func_end mapheader_run_first_tag4_script_list_match - - thumb_func_start CalculateRamScriptChecksum -CalculateRamScriptChecksum: @ 8069CB0 - push {lr} - ldr r0, _08069CCC @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08069CD0 @ =0x00003620 - adds r0, r1 - movs r1, 0xFA - lsls r1, 2 - bl CalcCRC16WithTable - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_08069CCC: .4byte gSaveBlock1Ptr -_08069CD0: .4byte 0x00003620 - thumb_func_end CalculateRamScriptChecksum - - thumb_func_start ClearRamScript -ClearRamScript: @ 8069CD4 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r0, _08069CF4 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, _08069CF8 @ =0x0000361c - adds r1, r0 - ldr r2, _08069CFC @ =0x050000fb - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08069CF4: .4byte gSaveBlock1Ptr -_08069CF8: .4byte 0x0000361c -_08069CFC: .4byte 0x050000fb - thumb_func_end ClearRamScript - - thumb_func_start InitRamScript -InitRamScript: @ 8069D00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - ldr r0, [sp, 0x24] - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08069D64 @ =gSaveBlock1Ptr - mov r10, r0 - ldr r5, [r0] - ldr r1, _08069D68 @ =0x00003620 - adds r4, r5, r1 - bl ClearRamScript - ldr r0, _08069D6C @ =0x000003e3 - cmp r8, r0 - bhi _08069D78 - movs r0, 0x33 - strb r0, [r4] - mov r2, r9 - strb r2, [r4, 0x1] - strb r7, [r4, 0x2] - strb r6, [r4, 0x3] - ldr r1, _08069D70 @ =0x00003624 - adds r0, r5, r1 - ldr r1, [sp] - mov r2, r8 - bl memcpy - bl CalculateRamScriptChecksum - mov r2, r10 - ldr r1, [r2] - ldr r2, _08069D74 @ =0x0000361c - adds r1, r2 - str r0, [r1] - movs r0, 0x1 - b _08069D7A - .align 2, 0 -_08069D64: .4byte gSaveBlock1Ptr -_08069D68: .4byte 0x00003620 -_08069D6C: .4byte 0x000003e3 -_08069D70: .4byte 0x00003624 -_08069D74: .4byte 0x0000361c -_08069D78: - movs r0, 0 -_08069D7A: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end InitRamScript - - thumb_func_start GetRamScript -GetRamScript: @ 8069D8C - push {r4-r7,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r6, _08069DDC @ =gSaveBlock1Ptr - ldr r5, [r6] - ldr r0, _08069DE0 @ =0x00003620 - adds r2, r5, r0 - ldr r7, _08069DE4 @ =gUnknown_20370A4 - movs r0, 0 - str r0, [r7] - ldrb r0, [r2] - cmp r0, 0x33 - bne _08069DF4 - ldrb r1, [r2, 0x1] - movs r0, 0x4 - ldrsb r0, [r5, r0] - cmp r1, r0 - bne _08069DF4 - ldrb r1, [r2, 0x2] - movs r0, 0x5 - ldrsb r0, [r5, r0] - cmp r1, r0 - bne _08069DF4 - ldrb r0, [r2, 0x3] - cmp r0, r3 - bne _08069DF4 - bl CalculateRamScriptChecksum - ldr r1, [r6] - ldr r2, _08069DE8 @ =0x0000361c - adds r1, r2 - ldr r1, [r1] - cmp r0, r1 - bne _08069DF0 - str r4, [r7] - ldr r1, _08069DEC @ =0x00003624 - adds r0, r5, r1 - b _08069DF6 - .align 2, 0 -_08069DDC: .4byte gSaveBlock1Ptr -_08069DE0: .4byte 0x00003620 -_08069DE4: .4byte gUnknown_20370A4 -_08069DE8: .4byte 0x0000361c -_08069DEC: .4byte 0x00003624 -_08069DF0: - bl ClearRamScript -_08069DF4: - adds r0, r4, 0 -_08069DF6: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetRamScript - - thumb_func_start sub_8069DFC -sub_8069DFC: @ 8069DFC - push {r4,lr} - ldr r4, _08069E34 @ =gSaveBlock1Ptr - ldr r0, [r4] - ldr r2, _08069E38 @ =0x00003620 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0x33 - bne _08069E40 - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - bne _08069E40 - ldrb r0, [r1, 0x2] - cmp r0, 0xFF - bne _08069E40 - ldrb r0, [r1, 0x3] - cmp r0, 0xFF - bne _08069E40 - bl CalculateRamScriptChecksum - ldr r1, [r4] - ldr r2, _08069E3C @ =0x0000361c - adds r1, r2 - ldr r1, [r1] - cmp r0, r1 - bne _08069E40 - movs r0, 0x1 - b _08069E42 - .align 2, 0 -_08069E34: .4byte gSaveBlock1Ptr -_08069E38: .4byte 0x00003620 -_08069E3C: .4byte 0x0000361c -_08069E40: - movs r0, 0 -_08069E42: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8069DFC - - thumb_func_start sub_8069E48 -sub_8069E48: @ 8069E48 - push {r4-r6,lr} - ldr r6, _08069E88 @ =gSaveBlock1Ptr - ldr r5, [r6] - ldr r0, _08069E8C @ =0x00003620 - adds r4, r5, r0 - bl sub_8143FC8 - cmp r0, 0 - beq _08069E9C - ldrb r0, [r4] - cmp r0, 0x33 - bne _08069E9C - ldrb r0, [r4, 0x1] - cmp r0, 0xFF - bne _08069E9C - ldrb r0, [r4, 0x2] - cmp r0, 0xFF - bne _08069E9C - ldrb r0, [r4, 0x3] - cmp r0, 0xFF - bne _08069E9C - bl CalculateRamScriptChecksum - ldr r1, [r6] - ldr r2, _08069E90 @ =0x0000361c - adds r1, r2 - ldr r1, [r1] - cmp r0, r1 - bne _08069E98 - ldr r1, _08069E94 @ =0x00003624 - adds r0, r5, r1 - b _08069E9E - .align 2, 0 -_08069E88: .4byte gSaveBlock1Ptr -_08069E8C: .4byte 0x00003620 -_08069E90: .4byte 0x0000361c -_08069E94: .4byte 0x00003624 -_08069E98: - bl ClearRamScript -_08069E9C: - movs r0, 0 -_08069E9E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8069E48 - - thumb_func_start sub_8069EA4 -sub_8069EA4: @ 8069EA4 - push {lr} - sub sp, 0x4 - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _08069ECC @ =0x000003e3 - cmp r1, r0 - bls _08069EB6 - adds r1, r0, 0 -_08069EB6: - movs r0, 0xFF - str r0, [sp] - adds r0, r2, 0 - movs r2, 0xFF - movs r3, 0xFF - bl InitRamScript - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08069ECC: .4byte 0x000003e3 - thumb_func_end sub_8069EA4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/shop.s b/asm/shop.s index d21b9bcbd..614094ce1 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -1598,7 +1598,7 @@ sub_809B778: @ 809B778 mov r5, r8 push {r5-r7} sub sp, 0x4 - ldr r0, _0809B804 @ =gUnknown_2036DFC + ldr r0, _0809B804 @ =gMapHeader ldr r0, [r0] mov r9, r0 mov r4, sp @@ -1661,7 +1661,7 @@ _0809B7B2: bl sub_809B850 b _0809B822 .align 2, 0 -_0809B804: .4byte gUnknown_2036DFC +_0809B804: .4byte gMapHeader _0809B808: .4byte 0x0000027f _0809B80C: mov r2, r9 @@ -2840,7 +2840,7 @@ sub_809C164: @ 809C164 movs r1, 0 movs r2, 0x18 bl memset - ldr r0, _0809C19C @ =gUnknown_2036DFC + ldr r0, _0809C19C @ =gMapHeader ldrb r0, [r0, 0x14] strb r0, [r4, 0x8] strb r0, [r4, 0x14] @@ -2850,7 +2850,7 @@ sub_809C164: @ 809C164 .align 2, 0 _0809C194: .4byte EnableBothScriptContexts _0809C198: .4byte gUnknown_203996C -_0809C19C: .4byte gUnknown_2036DFC +_0809C19C: .4byte gMapHeader thumb_func_end sub_809C164 thumb_func_start sub_809C1A0 diff --git a/asm/tileset_anims.s b/asm/tileset_anims.s index 80328c533..37280ab70 100644 --- a/asm/tileset_anims.s +++ b/asm/tileset_anims.s @@ -195,7 +195,7 @@ cur_mapheader_run_tileset1_func: @ 807002C ldr r1, _08070060 @ =gUnknown_3000FB8 movs r0, 0 str r0, [r1] - ldr r0, _08070064 @ =gUnknown_2036DFC + ldr r0, _08070064 @ =gMapHeader ldr r0, [r0] ldr r0, [r0, 0x10] cmp r0, 0 @@ -211,7 +211,7 @@ _08070052: _08070058: .4byte gUnknown_3000FAE _0807005C: .4byte gUnknown_3000FB0 _08070060: .4byte gUnknown_3000FB8 -_08070064: .4byte gUnknown_2036DFC +_08070064: .4byte gMapHeader thumb_func_end cur_mapheader_run_tileset1_func thumb_func_start cur_mapheader_run_tileset2_func @@ -225,7 +225,7 @@ cur_mapheader_run_tileset2_func: @ 8070068 ldr r1, _0807009C @ =gUnknown_3000FBC movs r0, 0 str r0, [r1] - ldr r0, _080700A0 @ =gUnknown_2036DFC + ldr r0, _080700A0 @ =gMapHeader ldr r0, [r0] ldr r0, [r0, 0x14] cmp r0, 0 @@ -241,7 +241,7 @@ _0807008E: _08070094: .4byte gUnknown_3000FB2 _08070098: .4byte gUnknown_3000FB4 _0807009C: .4byte gUnknown_3000FBC -_080700A0: .4byte gUnknown_2036DFC +_080700A0: .4byte gMapHeader thumb_func_end cur_mapheader_run_tileset2_func thumb_func_start sub_80700A4 diff --git a/asm/trainer_tower.s b/asm/trainer_tower.s index dd5ad2c0c..e9071a0dd 100644 --- a/asm/trainer_tower.s +++ b/asm/trainer_tower.s @@ -653,7 +653,7 @@ sub_815DC8C: @ 815DC8C ldr r0, _0815DCC8 @ =0x00001f0c bl AllocZeroed str r0, [r4] - ldr r1, _0815DCCC @ =gUnknown_2036DFC + ldr r1, _0815DCCC @ =gMapHeader ldrb r1, [r1, 0x12] subs r1, 0x2A strb r1, [r0] @@ -669,7 +669,7 @@ _0815DCBC: .4byte gSaveBlock1Ptr _0815DCC0: .4byte 0x00003d34 _0815DCC4: .4byte gUnknown_203F458 _0815DCC8: .4byte 0x00001f0c -_0815DCCC: .4byte gUnknown_2036DFC +_0815DCCC: .4byte gMapHeader _0815DCD0: ldr r0, [r4] ldr r1, _0815DD20 @ =gUnknown_84827AC @@ -732,7 +732,7 @@ _0815DD40: .4byte gUnknown_203F458 thumb_func_start sub_815DD44 sub_815DD44: @ 815DD44 push {r4,lr} - ldr r0, _0815DD68 @ =gUnknown_2036DFC + ldr r0, _0815DD68 @ =gMapHeader ldrh r0, [r0, 0x12] ldr r1, _0815DD6C @ =0xfffffed7 adds r0, r1 @@ -749,7 +749,7 @@ sub_815DD44: @ 815DD44 bl sub_8055D40 b _0815DDA2 .align 2, 0 -_0815DD68: .4byte gUnknown_2036DFC +_0815DD68: .4byte gMapHeader _0815DD6C: .4byte 0xfffffed7 _0815DD70: .4byte gUnknown_203F458 _0815DD74: .4byte gUnknown_20370D0 @@ -1380,7 +1380,7 @@ _0815E214: .4byte 0x00003d34 thumb_func_start sub_815E218 sub_815E218: @ 815E218 push {lr} - ldr r0, _0815E260 @ =gUnknown_2036DFC + ldr r0, _0815E260 @ =gMapHeader ldrh r0, [r0, 0x12] mov r12, r0 ldr r3, _0815E264 @ =0xfffffed6 @@ -1416,7 +1416,7 @@ sub_815E218: @ 815E218 movs r0, 0 b _0815E280 .align 2, 0 -_0815E260: .4byte gUnknown_2036DFC +_0815E260: .4byte gMapHeader _0815E264: .4byte 0xfffffed6 _0815E268: .4byte gSaveBlock1Ptr _0815E26C: .4byte 0x00003d34 @@ -2234,7 +2234,7 @@ _0815E904: .4byte gUnknown_20370D0 thumb_func_start sub_815E908 sub_815E908: @ 815E908 push {lr} - ldr r0, _0815E928 @ =gUnknown_2036DFC + ldr r0, _0815E928 @ =gMapHeader ldrh r1, [r0, 0x12] ldr r0, _0815E92C @ =0x00000129 cmp r1, r0 @@ -2249,7 +2249,7 @@ sub_815E908: @ 815E908 strh r1, [r0] b _0815E93E .align 2, 0 -_0815E928: .4byte gUnknown_2036DFC +_0815E928: .4byte gMapHeader _0815E92C: .4byte 0x00000129 _0815E930: .4byte 0x00004082 _0815E934: .4byte gUnknown_20370D0 diff --git a/asm/unk_810C3A4.s b/asm/unk_810C3A4.s index a99a6f78e..1b7288808 100644 --- a/asm/unk_810C3A4.s +++ b/asm/unk_810C3A4.s @@ -101,7 +101,7 @@ sub_810C444: @ 810C444 adds r1, r0 mov r8, r1 movs r7, 0 - ldr r0, _0810C4E4 @ =gUnknown_2036DFC + ldr r0, _0810C4E4 @ =gMapHeader ldr r1, [r0, 0x4] adds r2, r0, 0 ldrb r1, [r1] @@ -152,7 +152,7 @@ _0810C47A: bl npc_set_running_behaviour_etc _0810C4C0: strb r6, [r5, 0x9] - ldr r2, _0810C4E4 @ =gUnknown_2036DFC + ldr r2, _0810C4E4 @ =gMapHeader _0810C4C4: adds r0, r7, 0x1 lsls r0, 24 @@ -170,7 +170,7 @@ _0810C4D2: bx r0 .align 2, 0 _0810C4E0: .4byte gSaveBlock1Ptr -_0810C4E4: .4byte gUnknown_2036DFC +_0810C4E4: .4byte gMapHeader _0810C4E8: .4byte gUnknown_2036E38 thumb_func_end sub_810C444 diff --git a/asm/vs_seeker.s b/asm/vs_seeker.s index 9e9ecb341..9d77618fb 100644 --- a/asm/vs_seeker.s +++ b/asm/vs_seeker.s @@ -217,7 +217,7 @@ sub_810C808: @ 810C808 strb r1, [r0] mov r8, r1 mov r9, r1 - ldr r0, _0810C8E0 @ =gUnknown_2036DFC + ldr r0, _0810C8E0 @ =gMapHeader ldr r0, [r0, 0x4] ldrb r0, [r0] cmp r8, r0 @@ -287,7 +287,7 @@ _0810C8AC: adds r5, 0x18 movs r0, 0x1 add r9, r0 - ldr r0, _0810C8E0 @ =gUnknown_2036DFC + ldr r0, _0810C8E0 @ =gMapHeader ldr r0, [r0, 0x4] ldrb r0, [r0] cmp r9, r0 @@ -310,7 +310,7 @@ _0810C8BC: bx r0 .align 2, 0 _0810C8DC: .4byte gSaveBlock1Ptr -_0810C8E0: .4byte gUnknown_2036DFC +_0810C8E0: .4byte gMapHeader _0810C8E4: .4byte gUnknown_203ADB8 _0810C8E8: .4byte gUnknown_2036E38 thumb_func_end sub_810C808 @@ -670,7 +670,7 @@ sub_810CB90: @ 810CB90 beq _0810CC8A movs r0, 0 mov r8, r0 - ldr r0, _0810CC60 @ =gUnknown_2036DFC + ldr r0, _0810CC60 @ =gMapHeader ldr r0, [r0, 0x4] ldrb r0, [r0] cmp r8, r0 @@ -742,7 +742,7 @@ _0810CBDE: _0810CC54: .4byte gSaveBlock1Ptr _0810CC58: .4byte gUnknown_845318C _0810CC5C: .4byte gTrainerBattleOpponent_A -_0810CC60: .4byte gUnknown_2036DFC +_0810CC60: .4byte gMapHeader _0810CC64: .4byte gUnknown_2036E38 _0810CC68: .4byte gUnknown_8453F67 _0810CC6C: .4byte 0x0000063a @@ -756,7 +756,7 @@ _0810CC78: adds r6, 0x18 movs r0, 0x1 add r8, r0 - ldr r0, _0810CC9C @ =gUnknown_2036DFC + ldr r0, _0810CC9C @ =gMapHeader ldr r0, [r0, 0x4] ldrb r0, [r0] cmp r8, r0 @@ -771,7 +771,7 @@ _0810CC8A: pop {r0} bx r0 .align 2, 0 -_0810CC9C: .4byte gUnknown_2036DFC +_0810CC9C: .4byte gMapHeader thumb_func_end sub_810CB90 thumb_func_start sub_810CCA0 @@ -1129,7 +1129,7 @@ sub_810CF04: @ 810CF04 lsls r0, 31 cmp r0, 0 beq _0810CF4C - ldr r0, _0810CF44 @ =gUnknown_2036DFC + ldr r0, _0810CF44 @ =gMapHeader ldr r0, [r0, 0x4] ldrb r0, [r0] ldrb r2, [r1, 0x8] @@ -1149,7 +1149,7 @@ sub_810CF04: @ 810CF04 b _0810CF4E .align 2, 0 _0810CF40: .4byte gUnknown_2036E38 -_0810CF44: .4byte gUnknown_2036DFC +_0810CF44: .4byte gMapHeader _0810CF48: .4byte gSprites _0810CF4C: movs r0, 0 diff --git a/data/data.s b/data/data.s index 746e82819..6f5459f4f 100644 --- a/data/data.s +++ b/data/data.s @@ -1464,7 +1464,7 @@ gUnknown_83A7240:: @ 83A7240 .asciz "0" .align 2 -gUnknown_83A7244:: @ 83A7244 +gNullScriptPtr:: @ 83A7244 .incbin "baserom.gba", 0x3A7244, 0x4 gUnknown_83A7248:: @ 83A7248 diff --git a/data/event_scripts.s b/data/event_scripts.s index 1af9edab1..6bfa500cc 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1,9 +1,9 @@ .section script_data, "aw", %progbits -gUnknown_815F9B4:: @ 815F9B4 +gScriptCmdTable:: @ 815F9B4 .incbin "baserom.gba", 0x15F9B4, 0x354 -gUnknown_815FD08:: @ 815FD08 +gScriptCmdTableEnd:: @ 815FD08 .incbin "baserom.gba", 0x15FD08, 0x4 gUnknown_815FD0C:: @ 815FD0C diff --git a/include/global.h b/include/global.h index e5c463c6e..75911b9f2 100644 --- a/include/global.h +++ b/include/global.h @@ -474,7 +474,11 @@ struct RecordMixingDayCareMail struct SaveBlock1 { - /*0x0000*/ u8 filler[0x3A4C]; + /*0x0000*/ u8 filler[0x4]; + /*0x0004*/ struct WarpData location; + /*0x000C*/ u8 fillerC[0x3610]; + /*0x361C*/ struct RamScript ramScript; + /*0x3A08*/ u8 filler3A08[0x44]; /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH]; }; diff --git a/ld_script.txt b/ld_script.txt index 9996a78aa..c738889d4 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -106,7 +106,7 @@ SECTIONS { asm/field_message_box.o(.text); asm/map_obj_lock.o(.text); asm/text_window_graphics.o(.text); - asm/script.o(.text); + src/script.o(.text); asm/scrcmd.o(.text); asm/field_control_avatar.o(.text); asm/event_data.o(.text); diff --git a/src/script.c b/src/script.c new file mode 100644 index 000000000..0c74debb2 --- /dev/null +++ b/src/script.c @@ -0,0 +1,554 @@ +#include "global.h" +#include "script.h" +#include "event_data.h" + +#define RAM_SCRIPT_MAGIC 51 +#define SCRIPT_STACK_SIZE 20 + +extern u8 gUnknown_203ADFA; + +extern void sub_80CBDE8(void); // field_specials +extern u16 CalcCRC16WithTable(u8 *data, int length); // util +extern bool32 sub_8143FC8(void); // mevent + +enum +{ + SCRIPT_MODE_STOPPED, + SCRIPT_MODE_BYTECODE, + SCRIPT_MODE_NATIVE, +}; + +EWRAM_DATA u8 gUnknown_20370A0 = 0; +EWRAM_DATA u8 *gUnknown_20370A4 = NULL; + +// ewram bss +IWRAM_DATA static u8 sScriptContext1Status; +IWRAM_DATA static u32 sUnusedVariable1; +IWRAM_DATA static struct ScriptContext sScriptContext1; +IWRAM_DATA static u32 sUnusedVariable2; +IWRAM_DATA static struct ScriptContext sScriptContext2; +IWRAM_DATA static bool8 sScriptContext2Enabled; +IWRAM_DATA static u8 gUnknown_3000F9D; +IWRAM_DATA static u8 gUnknown_3000F9E; +IWRAM_DATA static u8 gUnknown_3000F9F; +IWRAM_DATA static u8 gUnknown_3000FA0; +IWRAM_DATA static u8 gUnknown_3000FA1; + +extern ScrCmdFunc gScriptCmdTable[]; +extern ScrCmdFunc gScriptCmdTableEnd[]; +extern void *gNullScriptPtr; + +void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, void *cmdTableEnd) +{ + s32 i; + + ctx->mode = SCRIPT_MODE_STOPPED; + ctx->scriptPtr = NULL; + ctx->stackDepth = 0; + ctx->nativePtr = NULL; + ctx->cmdTable = cmdTable; + ctx->cmdTableEnd = cmdTableEnd; + + for (i = 0; i < 4; i++) + ctx->data[i] = 0; + + for (i = 0; i < SCRIPT_STACK_SIZE; i++) + ctx->stack[i] = 0; +} + +u8 SetupBytecodeScript(struct ScriptContext *ctx, const u8 *ptr) +{ + ctx->scriptPtr = ptr; + ctx->mode = SCRIPT_MODE_BYTECODE; + return 1; +} + +void SetupNativeScript(struct ScriptContext *ctx, bool8 (*ptr)(void)) +{ + ctx->mode = SCRIPT_MODE_NATIVE; + ctx->nativePtr = ptr; +} + +void StopScript(struct ScriptContext *ctx) +{ + ctx->mode = SCRIPT_MODE_STOPPED; + ctx->scriptPtr = NULL; +} + +bool8 RunScriptCommand(struct ScriptContext *ctx) +{ + // FRLG disabled this check, where-as it is present + // in Ruby/Sapphire and Emerald. Why did the programmers + // bother to remove a redundant check when it still + // exists in Emerald? + //if (ctx->mode == SCRIPT_MODE_STOPPED) + // return FALSE; + + switch (ctx->mode) + { + case SCRIPT_MODE_STOPPED: + return FALSE; + case SCRIPT_MODE_NATIVE: + if (ctx->nativePtr) + { + if (ctx->nativePtr() == TRUE) + ctx->mode = SCRIPT_MODE_BYTECODE; + return TRUE; + } + ctx->mode = SCRIPT_MODE_BYTECODE; + case SCRIPT_MODE_BYTECODE: + while (1) + { + u8 cmdCode; + ScrCmdFunc *cmdFunc; + + if (ctx->scriptPtr == NULL) + { + ctx->mode = SCRIPT_MODE_STOPPED; + return FALSE; + } + + if (ctx->scriptPtr == gNullScriptPtr) + { + while (1) + asm("svc 2"); // HALT + } + + cmdCode = *(ctx->scriptPtr); + ctx->scriptPtr++; + cmdFunc = &ctx->cmdTable[cmdCode]; + + if (cmdFunc >= ctx->cmdTableEnd) + { + ctx->mode = SCRIPT_MODE_STOPPED; + return FALSE; + } + + if ((*cmdFunc)(ctx) == TRUE) + return TRUE; + } + } + + return TRUE; +} + +u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr) +{ + if (ctx->stackDepth + 1 >= SCRIPT_STACK_SIZE) + { + return 1; + } + else + { + ctx->stack[ctx->stackDepth] = ptr; + ctx->stackDepth++; + return 0; + } +} + +const u8 *ScriptPop(struct ScriptContext *ctx) +{ + if (ctx->stackDepth == 0) + return NULL; + + ctx->stackDepth--; + return ctx->stack[ctx->stackDepth]; +} + +void ScriptJump(struct ScriptContext *ctx, const u8 *ptr) +{ + ctx->scriptPtr = ptr; +} + +void ScriptCall(struct ScriptContext *ctx, const u8 *ptr) +{ + ScriptPush(ctx, ctx->scriptPtr); + ctx->scriptPtr = ptr; +} + +void ScriptReturn(struct ScriptContext *ctx) +{ + ctx->scriptPtr = ScriptPop(ctx); +} + +u16 ScriptReadHalfword(struct ScriptContext *ctx) +{ + u16 value = *(ctx->scriptPtr++); + value |= *(ctx->scriptPtr++) << 8; + return value; +} + +u32 ScriptReadWord(struct ScriptContext *ctx) +{ + u32 value0 = *(ctx->scriptPtr++); + u32 value1 = *(ctx->scriptPtr++); + u32 value2 = *(ctx->scriptPtr++); + u32 value3 = *(ctx->scriptPtr++); + return (((((value3 << 8) + value2) << 8) + value1) << 8) + value0; +} + +void ScriptContext2_Enable(void) +{ + sScriptContext2Enabled = TRUE; +} + +void ScriptContext2_Disable(void) +{ + sScriptContext2Enabled = FALSE; +} + +bool8 ScriptContext2_IsEnabled(void) +{ + return sScriptContext2Enabled; +} + +void sub_8069964(void) +{ + gUnknown_3000FA0 = 1; +} + +void sub_8069970(void) +{ + gUnknown_3000FA0 = 0; +} + +bool8 sub_806997C(void) +{ + if(gUnknown_3000FA0 == TRUE) + return TRUE; + else + return FALSE; +} + +void sub_8069998(u8 var) +{ + gUnknown_3000F9F = var; +} + +void sub_80699A4(void) +{ + gUnknown_3000F9F = 0; +} + +u8 sub_80699B0(void) +{ + return gUnknown_3000F9F; +} + +void sub_80699BC(void) +{ + gUnknown_3000F9D = 1; +} + +void sub_80699C8(void) +{ + gUnknown_3000F9D = 0; +} + +u8 sub_80699D4(void) +{ + return gUnknown_3000F9D; +} + +void sub_80699E0(void) +{ + gUnknown_20370A0 = 6; + gUnknown_3000F9E = 1; +} + +void sub_80699F8(void) +{ + gUnknown_3000F9E = 0; +} + +bool8 sub_8069A04(void) +{ + if(gUnknown_3000F9E == TRUE) + return TRUE; + else + return FALSE; +} + +void sub_8069A20(void) +{ + gUnknown_3000FA1 = 1; +} + +void sub_8069A2C(void) +{ + gUnknown_3000FA1 = 0; +} + +bool8 sub_8069A38(void) +{ + if(gUnknown_3000FA1 == TRUE) + return TRUE; + else + return FALSE; +} + +void sub_8069A54(void) +{ + sub_80CBDE8(); + sub_8069A2C(); +} + +bool8 ScriptContext1_IsScriptSetUp(void) +{ + if (sScriptContext1Status == 0) + return TRUE; + else + return FALSE; +} + +void ScriptContext1_Init(void) +{ + InitScriptContext(&sScriptContext1, gScriptCmdTable, gScriptCmdTableEnd); + sScriptContext1Status = 2; +} + +bool8 ScriptContext2_RunScript(void) +{ + if (sScriptContext1Status == 2) + return 0; + + if (sScriptContext1Status == 1) + return 0; + + ScriptContext2_Enable(); + + if (!RunScriptCommand(&sScriptContext1)) + { + sScriptContext1Status = 2; + ScriptContext2_Disable(); + return 0; + } + + return 1; +} + +void ScriptContext1_SetupScript(const u8 *ptr) +{ + sub_80699F8(); + sub_80699C8(); + sub_8069970(); + InitScriptContext(&sScriptContext1, gScriptCmdTable, gScriptCmdTableEnd); + SetupBytecodeScript(&sScriptContext1, ptr); + ScriptContext2_Enable(); + sScriptContext1Status = 0; +} + +void ScriptContext1_Stop(void) +{ + sScriptContext1Status = 1; +} + +void EnableBothScriptContexts(void) +{ + sScriptContext1Status = 0; + ScriptContext2_Enable(); +} + +void ScriptContext2_RunNewScript(const u8 *ptr) +{ + InitScriptContext(&sScriptContext2, &gScriptCmdTable, &gScriptCmdTableEnd); + SetupBytecodeScript(&sScriptContext2, ptr); + while (RunScriptCommand(&sScriptContext2) == TRUE); +} + +u8 *mapheader_get_tagged_pointer(u8 tag) +{ + u8 *mapScripts = gMapHeader.mapScripts; + + if (mapScripts == NULL) + return NULL; + + while (1) + { + if (*mapScripts == 0) + return NULL; + if (*mapScripts == tag) + { + mapScripts++; + return (u8 *)(mapScripts[0] + (mapScripts[1] << 8) + (mapScripts[2] << 16) + (mapScripts[3] << 24)); + } + mapScripts += 5; + } +} + +void mapheader_run_script_by_tag(u8 tag) +{ + u8 *ptr = mapheader_get_tagged_pointer(tag); + if (ptr) + ScriptContext2_RunNewScript(ptr); +} + +u8 *mapheader_get_first_match_from_tagged_ptr_list(u8 tag) +{ + u8 *ptr = mapheader_get_tagged_pointer(tag); + + if (!ptr) + return NULL; + + while (1) + { + u16 varIndex1; + u16 varIndex2; + varIndex1 = ptr[0] | (ptr[1] << 8); + if (!varIndex1) + return NULL; + ptr += 2; + varIndex2 = ptr[0] | (ptr[1] << 8); + ptr += 2; + if (VarGet(varIndex1) == VarGet(varIndex2)) + return (u8 *)(ptr[0] + (ptr[1] << 8) + (ptr[2] << 16) + (ptr[3] << 24)); + ptr += 4; + } +} + +void mapheader_run_script_with_tag_x1(void) +{ + mapheader_run_script_by_tag(1); +} + +void mapheader_run_script_with_tag_x3(void) +{ + mapheader_run_script_by_tag(3); +} + +void mapheader_run_script_with_tag_x5(void) +{ + mapheader_run_script_by_tag(5); +} + +void mapheader_run_script_with_tag_x7(void) +{ + mapheader_run_script_by_tag(7); +} + +void mapheader_run_script_with_tag_x6(void) +{ + mapheader_run_script_by_tag(6); +} + +bool8 mapheader_run_first_tag2_script_list_match(void) +{ + u8 *ptr; + + if(gUnknown_203ADFA == 3) + return 0; + + ptr = mapheader_get_first_match_from_tagged_ptr_list(2); + + if (!ptr) + return 0; + + ScriptContext1_SetupScript(ptr); + return 1; +} + +void mapheader_run_first_tag4_script_list_match(void) +{ + u8 *ptr = mapheader_get_first_match_from_tagged_ptr_list(4); + if (ptr) + ScriptContext2_RunNewScript(ptr); +} + +u32 CalculateRamScriptChecksum(void) +{ + return CalcCRC16WithTable((u8*)(&gSaveBlock1Ptr->ramScript.data), sizeof(gSaveBlock1Ptr->ramScript.data)); +} + +void ClearRamScript(void) +{ + CpuFill32(0, &gSaveBlock1Ptr->ramScript, sizeof(struct RamScript)); +} + +bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId) +{ + struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; + + ClearRamScript(); + + if (scriptSize > sizeof(scriptData->script)) + return FALSE; + + scriptData->magic = RAM_SCRIPT_MAGIC; + scriptData->mapGroup = mapGroup; + scriptData->mapNum = mapNum; + scriptData->objectId = objectId; + memcpy(scriptData->script, script, scriptSize); + gSaveBlock1Ptr->ramScript.checksum = CalculateRamScriptChecksum(); + return TRUE; +} + +u8 *GetRamScript(u8 objectId, u8 *script) +{ + struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; + gUnknown_20370A4 = NULL; + if (scriptData->magic != RAM_SCRIPT_MAGIC) + return script; + if (scriptData->mapGroup != gSaveBlock1Ptr->location.mapGroup) + return script; + if (scriptData->mapNum != gSaveBlock1Ptr->location.mapNum) + return script; + if (scriptData->objectId != objectId) + return script; + if (CalculateRamScriptChecksum() != gSaveBlock1Ptr->ramScript.checksum) + { + ClearRamScript(); + return script; + } + else + { + gUnknown_20370A4 = script; + return scriptData->script; + } +} + +bool32 sub_8069DFC(void) +{ + struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; + if (scriptData->magic != RAM_SCRIPT_MAGIC) + return FALSE; + if (scriptData->mapGroup != 0xFF) + return FALSE; + if (scriptData->mapNum != 0xFF) + return FALSE; + if (scriptData->objectId != 0xFF) + return FALSE; + if (CalculateRamScriptChecksum() != gSaveBlock1Ptr->ramScript.checksum) + return FALSE; + return TRUE; +} + +u8 *sub_8069E48(void) +{ + struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; + if (!sub_8143FC8()) + return NULL; + if (scriptData->magic != RAM_SCRIPT_MAGIC) + return NULL; + if (scriptData->mapGroup != 0xFF) + return NULL; + if (scriptData->mapNum != 0xFF) + return NULL; + if (scriptData->objectId != 0xFF) + return NULL; + if (CalculateRamScriptChecksum() != gSaveBlock1Ptr->ramScript.checksum) + { + ClearRamScript(); + return NULL; + } + else + { + return scriptData->script; + } +} + +void sub_8069EA4(u8 *script, u16 scriptSize) +{ + if (scriptSize > sizeof(gSaveBlock1Ptr->ramScript.data.script)) + scriptSize = sizeof(gSaveBlock1Ptr->ramScript.data.script); + InitRamScript(script, scriptSize, 0xFF, 0xFF, 0xFF); +} diff --git a/sym_bss.txt b/sym_bss.txt index 146ac9e14..ae92068d5 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -96,33 +96,9 @@ gUnknown_3000E9C: @ 3000E9C gUnknown_3000EA0: @ 3000EA0 .space 0x8 -gUnknown_3000EA8: @ 3000EA8 - .space 0x8 - -gUnknown_3000EB0: @ 3000EB0 - .space 0x78 - -gUnknown_3000F28: @ 3000F28 - .space 0x74 - -gUnknown_3000F9C: @ 3000F9C - .space 0x1 - -gUnknown_3000F9D: @ 3000F9D - .space 0x1 - -gUnknown_3000F9E: @ 3000F9E - .space 0x1 - -gUnknown_3000F9F: @ 3000F9F - .space 0x1 - -gUnknown_3000FA0: @ 3000FA0 - .space 0x1 - -gUnknown_3000FA1: @ 3000FA1 - .space 0x3 + .include "src/script.o" + .align 2 gUnknown_3000FA4: @ 3000FA4 .space 0x4 diff --git a/sym_ewram.txt b/sym_ewram.txt index deff62526..57d3f4876 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -611,7 +611,7 @@ gUnknown_2031DEC: @ 2031DEC gUnknown_2031DFC: @ 2031DFC .space 0x5000 -gUnknown_2036DFC: @ 2036DFC +gMapHeader: @ 2036DFC .space 0x1C gUnknown_2036E18: @ 2036E18 @@ -647,12 +647,9 @@ gUnknown_203709A: @ 203709A gUnknown_203709C: @ 203709C .space 0x4 -gUnknown_20370A0: @ 20370A0 - .space 0x4 - -gUnknown_20370A4: @ 20370A4 - .space 0x4 + .include "src/script.o" + .align 2 gUnknown_20370A8: @ 20370A8 .space 0x4 |