diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/emerald.s | 592 | ||||
-rw-r--r-- | asm/gpu_obj.s | 4 | ||||
-rw-r--r-- | asm/string_util.s | 18 |
3 files changed, 322 insertions, 292 deletions
diff --git a/asm/emerald.s b/asm/emerald.s index a987c77e9..74e5c5630 100644 --- a/asm/emerald.s +++ b/asm/emerald.s @@ -9838,7 +9838,7 @@ sub_800E084: ; 800E084 movs r0, 0x84 lsls r0, 3 adds r3, r0 - ldr r0, =gUnknown_082EC690 + ldr r0, =gDefaultOamAttributes ldr r1, [r0] ldr r2, [r0, 0x4] str r1, [r3] @@ -45574,7 +45574,7 @@ sub_80201A4: ; 80201A4 adds r0, r6, 0 adds r1, r5, 0 adds r2, r4, 0 - bl StringCopy_LimitN_Multibyte + bl CopyString_LimitN_Multibyte movs r0, 0 adds r1, r6, 0 movs r2, 0 @@ -242281,7 +242281,7 @@ sub_8086988: ; 8086988 movs r0, 0x1 bl npc_paltag_set_load @080869BA: - bl oe_active_list_clear + bl FieldEffectActiveListClear bl sub_80AAFA4 bl sub_80AEE84 cmp r4, 0 @@ -253249,7 +253249,7 @@ get_on_surf_blob: ; 808B4D8 ldrb r0, [r0, 0x5] str r0, [r1, 0x8] movs r0, 0x8 - bl oe_exec + bl FieldEffectStart lsls r0, 24 lsrs r0, 24 strb r0, [r4, 0x1A] @@ -255266,7 +255266,7 @@ do_jump_landing_dust: ; 808C3C4 lsrs r0, 30 str r0, [r2, 0xC] movs r0, 0xA - bl oe_exec + bl FieldEffectStart movs r0, 0xD6 bl audio_play ldrh r0, [r6, 0x8] @@ -257281,7 +257281,7 @@ sub_808D450: ; 808D450 mov r5, r9 mov r4, r8 push {r4-r6} - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x54] mov r9, r0 movs r1, 0 @@ -263118,7 +263118,7 @@ do_berry_tree_growth_sparkle_1: ; 808FE90 lsrs r0, 30 str r0, [r1, 0xC] movs r0, 0x17 - bl oe_exec + bl FieldEffectStart strb r7, [r6] @0808FEF6: movs r0, 0 @@ -263216,7 +263216,7 @@ do_berry_tree_growth_sparkle_2: ; 808FF68 lsrs r0, 30 str r0, [r3, 0xC] movs r0, 0x17 - bl oe_exec + bl FieldEffectStart movs r0, 0x1 pop {r4} pop {r1} @@ -268361,7 +268361,7 @@ do_ninja_boy_tree_disguise: ; 809253C adds r0, r4, 0 bl npc_get_local_id_and_mapnumbers movs r0, 0x1C - bl oe_exec + bl FieldEffectStart strb r0, [r4, 0x1A] movs r0, 0x1 strb r0, [r6] @@ -268425,7 +268425,7 @@ do_ninja_boy_mountain_disguise: ; 80925B8 adds r0, r4, 0 bl npc_get_local_id_and_mapnumbers movs r0, 0x1D - bl oe_exec + bl FieldEffectStart strb r0, [r4, 0x1A] movs r0, 0x1 strb r0, [r6] @@ -275181,7 +275181,7 @@ do_exclamation_mark_bubble_1: ; 80954DC adds r3, 0x8 bl npc_get_local_id_and_mapnumbers movs r0, 0 - bl oe_exec + bl FieldEffectStart movs r0, 0x1 strh r0, [r4, 0x32] pop {r4} @@ -275201,7 +275201,7 @@ do_exclamation_mark_bubble_2: ; 8095500 adds r3, 0x8 bl npc_get_local_id_and_mapnumbers movs r0, 0x21 - bl oe_exec + bl FieldEffectStart movs r0, 0x1 strh r0, [r4, 0x32] pop {r4} @@ -275221,7 +275221,7 @@ do_heart_bubble: ; 8095524 adds r3, 0x8 bl npc_get_local_id_and_mapnumbers movs r0, 0x2E - bl oe_exec + bl FieldEffectStart movs r0, 0x1 strh r0, [r4, 0x32] pop {r4} @@ -278840,7 +278840,7 @@ dp03_step_grass_normal: ; 8096E90 movs r0, 0x1 str r0, [r3, 0x1C] movs r0, 0x4 - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 .align 2, 0 @@ -278879,7 +278879,7 @@ dp03_step_grass_elastic: ; 8096EDC movs r0, 0 str r0, [r3, 0x1C] movs r0, 0x4 - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 .align 2, 0 @@ -278918,7 +278918,7 @@ dp03_step_grass_tall_1: ; 8096F28 movs r0, 0x1 str r0, [r3, 0x1C] movs r0, 0x11 - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 .align 2, 0 @@ -278957,7 +278957,7 @@ dp03_step_grass_tall_0: ; 8096F74 movs r0, 0 str r0, [r3, 0x1C] movs r0, 0x11 - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 .align 2, 0 @@ -279073,7 +279073,7 @@ do_sand_step_footprint_effect: ; 8097044 mov r1, sp adds r0, r1, r4 ldrb r0, [r0] - bl oe_exec + bl FieldEffectStart add sp, 0x4 pop {r4,r5} pop {r0} @@ -279115,7 +279115,7 @@ do_sand_step_bike_tire_tracks_effect: ; 8097094 ldrb r0, [r1] str r0, [r2, 0x10] movs r0, 0x23 - bl oe_exec + bl FieldEffectStart @080970D6: pop {r4} pop {r0} @@ -279171,7 +279171,7 @@ dp03_step_grass_thin: ; 8097110 movs r0, 0x2 str r0, [r1, 0xC] movs r0, 0xC - bl oe_exec + bl FieldEffectStart ldrb r0, [r5, 0x8] ldrb r1, [r5, 0x9] ldrb r2, [r5, 0xA] @@ -279213,7 +279213,7 @@ dp03_step_grass_heavy: ; 8097168 movs r0, 0x2 str r0, [r2, 0xC] movs r0, 0x12 - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 .align 2, 0 @@ -279238,7 +279238,7 @@ dp03_step_bike_splash_probably: ; 8097190 lsrs r0, 30 str r0, [r3, 0xC] movs r0, 0x10 - bl oe_exec + bl FieldEffectStart pop {r4} pop {r0} bx r0 @@ -279264,7 +279264,7 @@ dp03_step_drop_water: ; 80971C0 lsrs r0, 30 str r0, [r3, 0xC] movs r0, 0xE - bl oe_exec + bl FieldEffectStart pop {r4} pop {r0} bx r0 @@ -279290,7 +279290,7 @@ dp03_step_dust: ; 80971F0 lsrs r0, 30 str r0, [r3, 0xC] movs r0, 0xA - bl oe_exec + bl FieldEffectStart pop {r4} pop {r0} bx r0 @@ -279329,7 +279329,7 @@ dp03_step_bubbles: ; 8097240 ldrsh r0, [r0, r1] str r0, [r2, 0x4] movs r0, 0x35 - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 .align 2, 0 @@ -280974,7 +280974,7 @@ oe_exec_and_other_stuff: ; 8097DD0 adds r3, 0x8 bl npc_get_local_id_and_mapnumbers adds r0, r4, 0 - bl oe_exec + bl FieldEffectStart pop {r4} pop {r1} bx r1 @@ -281023,7 +281023,7 @@ do_puddle_step_effect: ; 8097E14 movs r0, 0x3 str r0, [r2, 0xC] movs r0, 0x5 - bl oe_exec + bl FieldEffectStart pop {r4} pop {r0} bx r0 @@ -288776,7 +288776,7 @@ s9C_execute_HM: ; 809B7CC strh r0, [r1] lsls r0, 24 lsrs r0, 24 - bl oe_exec + bl FieldEffectStart movs r0, 0 pop {r1} bx r1 @@ -288814,7 +288814,7 @@ sub_809B824: ; 809B824 push {lr} ldr r0, =0x020375d0 ldrb r0, [r0] - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 beq @0809B83C @@ -304061,6 +304061,7 @@ sub_80A303C: ; 80A303C thumb_func_end sub_80A303C thumb_func_start pause_music_for_sound_maybe +; void pause_music_for_sound_maybe(u8 a1) pause_music_for_sound_maybe: ; 80A3060 push {r4,lr} adds r4, r0, 0 @@ -304132,6 +304133,7 @@ sub_80A30CC: ; 80A30CC thumb_func_end sub_80A30CC thumb_func_start fanfare_play +; void fanfare_play(u16 a1) fanfare_play: ; 80A30E4 push {lr} lsls r0, 16 @@ -304210,6 +304212,7 @@ task50_overworld_fanfare: ; 80A3140 thumb_func_end task50_overworld_fanfare thumb_func_start task_add_50_overworld_fanfare_if_not_running +; void task_add_50_overworld_fanfare_if_not_running() task_add_50_overworld_fanfare_if_not_running: ; 80A3170 push {r4,lr} ldr r4, =task50_overworld_fanfare @@ -321359,6 +321362,7 @@ sub_80ABDFC: ; 80ABDFC thumb_func_end sub_80ABDFC thumb_func_start sub_80ABE18 +; void sub_80ABE18(u8 a1) sub_80ABE18: ; 80ABE18 push {r4-r6,lr} lsls r0, 24 @@ -337704,7 +337708,7 @@ sub_80B417C: ; 80B417C adds r0, r4, 0 bl npc_get_local_id_and_mapnumbers movs r0, 0 - bl oe_exec + bl FieldEffectStart ldrb r0, [r4, 0x18] lsls r0, 28 lsrs r0, 28 @@ -337731,7 +337735,7 @@ sub_80B41C0: ; 80B41C0 adds r4, r1, 0 adds r5, r2, 0 movs r0, 0 - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 beq @080B41D6 @@ -338036,7 +338040,7 @@ sub_80B43E0: ; 80B43E0 movs r0, 0x2 str r0, [r2, 0xC] movs r0, 0x31 - bl oe_exec + bl FieldEffectStart strh r0, [r5, 0x10] ldrh r0, [r5, 0x8] adds r0, 0x1 @@ -338115,7 +338119,7 @@ sub_80B44AC: ; 80B44AC push {r4,lr} adds r4, r1, 0 movs r0, 0x31 - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 bne @080B44C0 @@ -338169,7 +338173,7 @@ sub_80B44C8: ; 80B44C8 cmp r0, 0x3 bne @080B4564 movs r0, 0x31 - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 bne @080B4564 @@ -338458,7 +338462,7 @@ objc_exclamation_mark_probably: ; 80B4724 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl oe_stop + bl FieldEffectStop b @080B47B2 @080B4764: ldr r2, =0x02037350 @@ -341014,16 +341018,17 @@ ApplyCleanseTagWildEncounterRateReduction: ; 80B5AF0 .pool thumb_func_end ApplyCleanseTagWildEncounterRateReduction - thumb_func_start oe_exec -oe_exec: ; 80B5B18 + thumb_func_start FieldEffectStart +; u8 FieldEffectStart(u8 id) +FieldEffectStart: ; 80B5B18 push {r4,r5,lr} sub sp, 0x8 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 - bl oe_active_list_add - ldr r0, =gUnknown_082DB9D4 + bl FieldEffectActiveListAdd + ldr r0, =gFieldEffectScriptPointers lsls r4, 2 adds r4, r0 ldr r0, [r4] @@ -341049,64 +341054,70 @@ oe_exec: ; 80B5B18 bx r1 .align 2, 0 .pool - thumb_func_end oe_exec + thumb_func_end FieldEffectStart - thumb_func_start oec00_load_gfx -oec00_load_gfx: ; 80B5B60 + thumb_func_start FieldEffectCmd00_loadtiles +; BOOL FieldEffectCmd00_loadtiles(u8 **script, u8 *returnValue) +FieldEffectCmd00_loadtiles: ; 80B5B60 push {lr} ldr r1, [r0] adds r1, 0x1 str r1, [r0] - bl oec00_load_gfx_impl + bl FieldEffectScript_LoadTiles movs r0, 0x1 pop {r1} bx r1 - thumb_func_end oec00_load_gfx + thumb_func_end FieldEffectCmd00_loadtiles - thumb_func_start sub_80B5B74 -sub_80B5B74: ; 80B5B74 + thumb_func_start FieldEffectCmd01_loadfadedpal +; BOOL FieldEffectCmd01_loadfadedpal(u8 **script, u8 *returnValue) +FieldEffectCmd01_loadfadedpal: ; 80B5B74 push {lr} ldr r1, [r0] adds r1, 0x1 str r1, [r0] - bl sub_80B5C6C + bl FieldEffectScript_LoadFadedPalette movs r0, 0x1 pop {r1} bx r1 - thumb_func_end sub_80B5B74 + thumb_func_end FieldEffectCmd01_loadfadedpal - thumb_func_start sub_80B5B88 -sub_80B5B88: ; 80B5B88 + thumb_func_start FieldEffectCmd02_loadpal +; BOOL FieldEffectCmd02_loadpal(u8 **script, u8 *returnValue) +FieldEffectCmd02_loadpal: ; 80B5B88 push {lr} ldr r1, [r0] adds r1, 0x1 str r1, [r0] - bl sub_80B5C94 + bl FieldEffectScript_LoadPalette movs r0, 0x1 pop {r1} bx r1 - thumb_func_end sub_80B5B88 + thumb_func_end FieldEffectCmd02_loadpal - thumb_func_start sub_80B5B9C -sub_80B5B9C: ; 80B5B9C + thumb_func_start FieldEffectCmd03_callnative +; BOOL FieldEffectCmd03_callnative(u8 **script, u8 *returnValue) +FieldEffectCmd03_callnative: ; 80B5B9C push {lr} ldr r2, [r0] adds r2, 0x1 str r2, [r0] - bl oec03_call_asm_impl + bl FieldEffectScript_CallNative movs r0, 0x1 pop {r1} bx r1 - thumb_func_end sub_80B5B9C + thumb_func_end FieldEffectCmd03_callnative - thumb_func_start sub_80B5BB0 -sub_80B5BB0: ; 80B5BB0 + thumb_func_start FieldEffectCmd04_end +; BOOL FieldEffectCmd04_end(u8 **script, u8 *returnValue) +FieldEffectCmd04_end: ; 80B5BB0 movs r0, 0 bx lr - thumb_func_end sub_80B5BB0 + thumb_func_end FieldEffectCmd04_end - thumb_func_start sub_80B5BB4 -sub_80B5BB4: ; 80B5BB4 + thumb_func_start FieldEffectCmd05_loadgfx_callnative +; BOOL FieldEffectCmd05_loadgfx_callnative(u8 **script, u8 *returnValue) +FieldEffectCmd05_loadgfx_callnative: ; 80B5BB4 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 @@ -341114,20 +341125,21 @@ sub_80B5BB4: ; 80B5BB4 adds r0, 0x1 str r0, [r4] adds r0, r4, 0 - bl oec00_load_gfx_impl + bl FieldEffectScript_LoadTiles adds r0, r4, 0 - bl sub_80B5C6C + bl FieldEffectScript_LoadFadedPalette adds r0, r4, 0 adds r1, r5, 0 - bl oec03_call_asm_impl + bl FieldEffectScript_CallNative movs r0, 0x1 pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_80B5BB4 + thumb_func_end FieldEffectCmd05_loadgfx_callnative - thumb_func_start sub_80B5BDC -sub_80B5BDC: ; 80B5BDC + thumb_func_start FieldEffectCmd06_loadtiles_callnative +; BOOL FieldEffectCmd06_loadtiles_callnative(u8 **script, u8 *returnValue) +FieldEffectCmd06_loadtiles_callnative: ; 80B5BDC push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 @@ -341135,18 +341147,19 @@ sub_80B5BDC: ; 80B5BDC adds r0, 0x1 str r0, [r4] adds r0, r4, 0 - bl oec00_load_gfx_impl + bl FieldEffectScript_LoadTiles adds r0, r4, 0 adds r1, r5, 0 - bl oec03_call_asm_impl + bl FieldEffectScript_CallNative movs r0, 0x1 pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_80B5BDC + thumb_func_end FieldEffectCmd06_loadtiles_callnative - thumb_func_start sub_80B5C00 -sub_80B5C00: ; 80B5C00 + thumb_func_start FieldEffectCmd07_loadfadedpal_callnative +; BOOL FieldEffectCmd07_loadfadedpal_callnative(u8 **script, u8 *returnValue) +FieldEffectCmd07_loadfadedpal_callnative: ; 80B5C00 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 @@ -341154,18 +341167,19 @@ sub_80B5C00: ; 80B5C00 adds r0, 0x1 str r0, [r4] adds r0, r4, 0 - bl sub_80B5C6C + bl FieldEffectScript_LoadFadedPalette adds r0, r4, 0 adds r1, r5, 0 - bl oec03_call_asm_impl + bl FieldEffectScript_CallNative movs r0, 0x1 pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_80B5C00 + thumb_func_end FieldEffectCmd07_loadfadedpal_callnative - thumb_func_start oe_read_word -oe_read_word: ; 80B5C24 + thumb_func_start FieldEffectScript_ReadWord +; u32 FieldEffectScript_ReadWord(u8 **script) +FieldEffectScript_ReadWord: ; 80B5C24 ldr r2, [r0] ldrb r0, [r2] ldrb r1, [r2, 0x1] @@ -341178,13 +341192,14 @@ oe_read_word: ; 80B5C24 lsls r1, 24 adds r0, r1 bx lr - thumb_func_end oe_read_word + thumb_func_end FieldEffectScript_ReadWord - thumb_func_start oec00_load_gfx_impl -oec00_load_gfx_impl: ; 80B5C3C + thumb_func_start FieldEffectScript_LoadTiles +; void FieldEffectScript_LoadTiles(u8 **script) +FieldEffectScript_LoadTiles: ; 80B5C3C push {r4,r5,lr} adds r4, r0, 0 - bl oe_read_word + bl FieldEffectScript_ReadWord adds r5, r0, 0 ldrh r0, [r5, 0x6] bl gpu_tile_obj_tag_get_range_start @@ -341203,13 +341218,14 @@ oec00_load_gfx_impl: ; 80B5C3C bx r0 .align 2, 0 .pool - thumb_func_end oec00_load_gfx_impl + thumb_func_end FieldEffectScript_LoadTiles - thumb_func_start sub_80B5C6C -sub_80B5C6C: ; 80B5C6C + thumb_func_start FieldEffectScript_LoadFadedPalette +; void FieldEffectScript_LoadFadedPalette(u8 **script) +FieldEffectScript_LoadFadedPalette: ; 80B5C6C push {r4,r5,lr} adds r5, r0, 0 - bl oe_read_word + bl FieldEffectScript_ReadWord adds r4, r0, 0 bl gpu_pal_obj_alloc_tag_and_apply ldrh r0, [r4, 0x4] @@ -341223,13 +341239,14 @@ sub_80B5C6C: ; 80B5C6C pop {r4,r5} pop {r0} bx r0 - thumb_func_end sub_80B5C6C + thumb_func_end FieldEffectScript_LoadFadedPalette - thumb_func_start sub_80B5C94 -sub_80B5C94: ; 80B5C94 + thumb_func_start FieldEffectScript_LoadPalette +; void FieldEffectScript_LoadPalette(u8 **script) +FieldEffectScript_LoadPalette: ; 80B5C94 push {r4,lr} adds r4, r0, 0 - bl oe_read_word + bl FieldEffectScript_ReadWord bl gpu_pal_obj_alloc_tag_and_apply ldr r0, [r4] adds r0, 0x4 @@ -341237,14 +341254,15 @@ sub_80B5C94: ; 80B5C94 pop {r4} pop {r0} bx r0 - thumb_func_end sub_80B5C94 + thumb_func_end FieldEffectScript_LoadPalette - thumb_func_start oec03_call_asm_impl -oec03_call_asm_impl: ; 80B5CAC + thumb_func_start FieldEffectScript_CallNative +; void FieldEffectScript_CallNative(u8 **script, u8 *returnValue) +FieldEffectScript_CallNative: ; 80B5CAC push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 - bl oe_read_word + bl FieldEffectScript_ReadWord bl _call_via_r0 str r0, [r5] ldr r0, [r4] @@ -341253,10 +341271,11 @@ oec03_call_asm_impl: ; 80B5CAC pop {r4,r5} pop {r0} bx r0 - thumb_func_end oec03_call_asm_impl + thumb_func_end FieldEffectScript_CallNative - thumb_func_start oe_stop_ -oe_stop_: ; 80B5CC8 + thumb_func_start FieldEffectFreeGraphicsResources +; void FieldEffectFreeGraphicsResources(struct obj *object) +FieldEffectFreeGraphicsResources: ; 80B5CC8 push {r4,r5,lr} adds r1, r0, 0 adds r1, 0x40 @@ -341265,29 +341284,31 @@ oe_stop_: ; 80B5CC8 lsrs r4, 4 bl obj_delete_and_free_tiles adds r0, r5, 0 - bl gpu_tile_obj_free_by_ado_when_unused_maybe + bl FieldEffectFreeTilesIfUnused adds r0, r4, 0 - bl gpu_pal_free_by_index_when_unused + bl FieldEffectFreePaletteIfUnused pop {r4,r5} pop {r0} bx r0 - thumb_func_end oe_stop_ + thumb_func_end FieldEffectFreeGraphicsResources - thumb_func_start oe_stop -oe_stop: ; 80B5CEC + thumb_func_start FieldEffectStop +; void FieldEffectStop(struct obj *object, u8 id) +FieldEffectStop: ; 80B5CEC push {r4,lr} lsls r4, r1, 24 lsrs r4, 24 - bl oe_stop_ + bl FieldEffectFreeGraphicsResources adds r0, r4, 0 - bl oe_active_list_remove + bl FieldEffectActiveListRemove pop {r4} pop {r0} bx r0 - thumb_func_end oe_stop + thumb_func_end FieldEffectStop - thumb_func_start gpu_tile_obj_free_by_ado_when_unused_maybe -gpu_tile_obj_free_by_ado_when_unused_maybe: ; 80B5D04 + thumb_func_start FieldEffectFreeTilesIfUnused +; void FieldEffectFreeTilesIfUnused(u16 tileRangeStart) +FieldEffectFreeTilesIfUnused: ; 80B5D04 push {r4,r5,lr} lsls r0, 16 lsrs r4, r0, 16 @@ -341336,10 +341357,11 @@ gpu_tile_obj_free_by_ado_when_unused_maybe: ; 80B5D04 bx r0 .align 2, 0 .pool - thumb_func_end gpu_tile_obj_free_by_ado_when_unused_maybe + thumb_func_end FieldEffectFreeTilesIfUnused - thumb_func_start gpu_pal_free_by_index_when_unused -gpu_pal_free_by_index_when_unused: ; 80B5D68 + thumb_func_start FieldEffectFreePaletteIfUnused +; void FieldEffectFreePaletteIfUnused(u8 paletteSlot) +FieldEffectFreePaletteIfUnused: ; 80B5D68 push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 @@ -341382,10 +341404,11 @@ gpu_pal_free_by_index_when_unused: ; 80B5D68 bx r0 .align 2, 0 .pool - thumb_func_end gpu_pal_free_by_index_when_unused + thumb_func_end FieldEffectFreePaletteIfUnused - thumb_func_start oe_active_list_clear -oe_active_list_clear: ; 80B5DC0 + thumb_func_start FieldEffectActiveListClear +; void FieldEffectActiveListClear() +FieldEffectActiveListClear: ; 80B5DC0 push {r4,lr} movs r2, 0 ldr r4, =0x03000f58 @@ -341405,10 +341428,11 @@ oe_active_list_clear: ; 80B5DC0 bx r0 .align 2, 0 .pool - thumb_func_end oe_active_list_clear + thumb_func_end FieldEffectActiveListClear - thumb_func_start oe_active_list_add -oe_active_list_add: ; 80B5DE4 + thumb_func_start FieldEffectActiveListAdd +; void FieldEffectActiveListAdd(u8 id) +FieldEffectActiveListAdd: ; 80B5DE4 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 @@ -341433,10 +341457,11 @@ oe_active_list_add: ; 80B5DE4 pop {r4} pop {r0} bx r0 - thumb_func_end oe_active_list_add + thumb_func_end FieldEffectActiveListAdd - thumb_func_start oe_active_list_remove -oe_active_list_remove: ; 80B5E10 + thumb_func_start FieldEffectActiveListRemove +; void FieldEffectActiveListRemove(u8 id) +FieldEffectActiveListRemove: ; 80B5E10 push {r4,r5,lr} lsls r0, 24 lsrs r3, r0, 24 @@ -341463,10 +341488,11 @@ oe_active_list_remove: ; 80B5E10 pop {r4,r5} pop {r0} bx r0 - thumb_func_end oe_active_list_remove + thumb_func_end FieldEffectActiveListRemove - thumb_func_start oe_active_list_contains -oe_active_list_contains: ; 80B5E40 + thumb_func_start FieldEffectActiveListContains +; void FieldEffectActiveListContains(u8 id) +FieldEffectActiveListContains: ; 80B5E40 push {lr} lsls r0, 24 lsrs r2, r0, 24 @@ -341491,7 +341517,7 @@ oe_active_list_contains: ; 80B5E40 @080B5E68: pop {r1} bx r1 - thumb_func_end oe_active_list_contains + thumb_func_end FieldEffectActiveListContains thumb_func_start sub_80B5E6C sub_80B5E6C: ; 80B5E6C @@ -342062,7 +342088,7 @@ sub_80B62B4: ; 80B62B4 adds r0, r1, 0 bl obj_delete_and_free_tiles movs r0, 0x19 - bl oe_active_list_remove + bl FieldEffectActiveListRemove ldr r0, =sub_80B61E4 bl get_task_id_by_function lsls r0, 24 @@ -342254,7 +342280,7 @@ sub_80B642C: ; 80B642C adds r0, r1, 0 bl obj_delete_and_free_tiles movs r0, 0x3E - bl oe_active_list_remove + bl FieldEffectActiveListRemove ldr r0, =sub_80B6330 bl get_task_id_by_function lsls r0, 24 @@ -342754,7 +342780,7 @@ sub_80B6828: ; 80B6828 cmp r0, 0x4 ble @080B6848 adds r0, r3, 0 - bl oe_stop_ + bl FieldEffectFreeGraphicsResources @080B6848: pop {r0} bx r0 @@ -342834,7 +342860,7 @@ sub_80B68AC: ; 80B68AC cmp r0, 0 beq @080B68E4 adds r0, r4, 0 - bl oe_stop_ + bl FieldEffectFreeGraphicsResources @080B68E4: pop {r4} pop {r0} @@ -342955,7 +342981,7 @@ sub_80B6970: ; 80B6970 cmp r0, 0x7F ble @080B69D4 adds r0, r3, 0 - bl oe_stop_ + bl FieldEffectFreeGraphicsResources @080B69D4: pop {r0} bx r0 @@ -343023,13 +343049,13 @@ task00_8084310: ; 80B6A24 str r6, [r1] @080B6A58: movs r0, 0x1F - bl oe_exec + bl FieldEffectStart ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @080B6A64: movs r0, 0x1F - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 bne @080B6A8A @@ -343116,13 +343142,13 @@ c3_080843F8: ; 80B6B0C cmp r0, 0 bne @080B6B58 movs r0, 0x20 - bl oe_exec + bl FieldEffectStart ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @080B6B3E: movs r0, 0x20 - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 bne @080B6B58 @@ -344244,7 +344270,7 @@ waterfall_1_do_anim_probably: ; 80B73F0 ldrsh r0, [r4, r2] str r0, [r1] movs r0, 0x3B - bl oe_exec + bl FieldEffectStart ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -344262,7 +344288,7 @@ waterfall_2_wait_anim_finish_probably: ; 80B742C push {r4,lr} adds r4, r0, 0 movs r0, 0x6 - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 bne @080B7446 @@ -344328,7 +344354,7 @@ sub_80B7478: ; 80B7478 lsrs r0, 24 bl remove_task movs r0, 0x2B - bl oe_active_list_remove + bl FieldEffectActiveListRemove movs r0, 0 b @080B74CA .align 2, 0 @@ -344424,7 +344450,7 @@ dive_2_unknown: ; 80B7558 ldrsh r0, [r4, r2] str r0, [r1] movs r0, 0x3B - bl oe_exec + bl FieldEffectStart ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -344445,7 +344471,7 @@ dive_3_unknown: ; 80B7580 mov r0, sp bl player_get_pos_to movs r0, 0x6 - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 bne @080B75C4 @@ -344465,7 +344491,7 @@ dive_3_unknown: ; 80B7580 lsrs r0, 24 bl remove_task movs r0, 0x2C - bl oe_active_list_remove + bl FieldEffectActiveListRemove @080B75C4: movs r0, 0 add sp, 0x8 @@ -344614,7 +344640,7 @@ sub_80B76B8: ; 80B76B8 lsrs r0, 30 str r0, [r3, 0xC] movs r0, 0x32 - bl oe_exec + bl FieldEffectStart movs r0, 0xB2 bl audio_play ldrh r0, [r4, 0x8] @@ -344919,7 +344945,7 @@ sub_80B791C: ; 80B791C lsrs r0, 30 str r0, [r1, 0xC] movs r0, 0x31 - bl oe_exec + bl FieldEffectStart strh r0, [r4, 0xA] ldrh r0, [r4, 0x8] adds r0, 0x1 @@ -345011,7 +345037,7 @@ sub_80B79F4: ; 80B79F4 movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers adds r0, 0x84 ldr r0, [r0] movs r2, 0 @@ -345061,7 +345087,7 @@ sub_80B7A58: ; 80B7A58 beq @080B7A70 adds r0, r2, 0 movs r1, 0x32 - bl oe_stop + bl FieldEffectStop @080B7A70: pop {r0} bx r0 @@ -345181,7 +345207,7 @@ sub_80B7B18: ; 80B7B18 lsrs r0, 30 str r0, [r1, 0xC] movs r0, 0x31 - bl oe_exec + bl FieldEffectStart strh r0, [r5, 0xA] ldrh r0, [r5, 0x8] adds r0, 0x1 @@ -345247,7 +345273,7 @@ sub_80B7BCC: ; 80B7BCC push {r4,lr} adds r4, r0, 0 movs r0, 0x31 - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 bne @080B7BEA @@ -345305,7 +345331,7 @@ sub_80B7C48: ; 80B7C48 movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers adds r0, 0x80 ldr r0, [r0] movs r2, 0 @@ -345355,7 +345381,7 @@ sub_80B7CAC: ; 80B7CAC beq @080B7CC4 adds r0, r2, 0 movs r1, 0x31 - bl oe_stop + bl FieldEffectStop @080B7CC4: pop {r0} bx r0 @@ -346376,9 +346402,9 @@ sub_80B84F8: ; 80B84F8 orrs r0, r6 str r0, [r5] movs r0, 0x6 - bl oe_exec + bl FieldEffectStart movs r0, 0x3B - bl oe_active_list_remove + bl FieldEffectActiveListRemove movs r0, 0 pop {r4-r6} pop {r1} @@ -346714,7 +346740,7 @@ overworld_bg_setup_2: ; 80B87B8 lsrs r1, 24 bl sub_80B6070 movs r0, 0x6 - bl oe_active_list_remove + bl FieldEffectActiveListRemove ldr r0, =sub_80B8554 bl get_task_id_by_function lsls r0, 24 @@ -347053,7 +347079,7 @@ sub_80B8A64: ; 80B8A64 lsrs r1, 24 bl sub_80B6070 movs r0, 0x6 - bl oe_active_list_remove + bl FieldEffectActiveListRemove ldr r0, =sub_80B88B4 bl get_task_id_by_function lsls r0, 24 @@ -347552,7 +347578,7 @@ sub_80B8E60: ; 80B8E60 orrs r0, r1 str r0, [r2] movs r0, 0x3B - bl oe_exec + bl FieldEffectStart ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -347569,7 +347595,7 @@ sub_80B8EA8: ; 80B8EA8 push {r4-r6,lr} adds r6, r0, 0 movs r0, 0x6 - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 bne @080B8F12 @@ -347607,7 +347633,7 @@ sub_80B8EA8: ; 80B8EA8 ldrb r0, [r5, 0x5] str r0, [r1, 0x8] movs r0, 0x8 - bl oe_exec + bl FieldEffectStart strb r0, [r4, 0x1A] ldrh r0, [r6, 0x8] adds r0, 0x1 @@ -347655,7 +347681,7 @@ sub_80B8F24: ; 80B8F24 bl sub_809757C bl script_env_2_disable movs r0, 0x9 - bl oe_active_list_remove + bl FieldEffectActiveListRemove ldr r0, =sub_80B8D84 bl get_task_id_by_function lsls r0, 24 @@ -347674,7 +347700,7 @@ sub_80B8F98: ; 80B8F98 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers adds r0, 0x90 ldr r0, [r0] movs r2, 0x18 @@ -347806,7 +347832,7 @@ sub_80B8F98: ; 80B8F98 thumb_func_start sub_80B90CC sub_80B90CC: ; 80B90CC push {r4,lr} - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x68] movs r1, 0x78 movs r2, 0 @@ -347900,7 +347926,7 @@ sub_80B9128: ; 80B9128 ble @080B919A adds r0, r4, 0 movs r1, 0x1E - bl oe_stop + bl FieldEffectStop @080B919A: pop {r4,r5} pop {r0} @@ -348021,7 +348047,7 @@ sub_80B925C: ; 80B925C ldrsh r0, [r4, r2] str r0, [r1] movs r0, 0x3B - bl oe_exec + bl FieldEffectStart @080B928C: pop {r4} pop {r0} @@ -348035,7 +348061,7 @@ sub_80B92A0: ; 80B92A0 push {r4,r5,lr} adds r4, r0, 0 movs r0, 0x6 - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 bne @080B92E8 @@ -348287,7 +348313,7 @@ sub_80B9494: ; 80B9494 cmp r0, 0 bne @080B94B6 movs r0, 0x1F - bl oe_active_list_remove + bl FieldEffectActiveListRemove ldr r0, =sub_80B91D4 bl get_task_id_by_function lsls r0, 24 @@ -348303,7 +348329,7 @@ sub_80B9494: ; 80B9494 thumb_func_start sub_80B94C4 sub_80B94C4: ; 80B94C4 push {lr} - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x68] movs r1, 0xFF movs r2, 0xB4 @@ -349060,7 +349086,7 @@ fishE: ; 80B9A60 movs r0, 0 strb r0, [r6, 0x6] movs r0, 0x20 - bl oe_active_list_remove + bl FieldEffectActiveListRemove ldr r0, =sub_80B97D4 bl get_task_id_by_function lsls r0, 24 @@ -349111,7 +349137,7 @@ sub_80B9ADC: ; 80B9ADC .pool @080B9B2C: movs r0, 0x41 - bl oe_active_list_remove + bl FieldEffectActiveListRemove @080B9B32: movs r0, 0 add sp, 0x4 @@ -349352,7 +349378,7 @@ sub_80B9CDC: ; 80B9CDC ldrb r2, [r4, 0x10] bl npc_hide_by_local_id_and_map movs r0, 0x41 - bl oe_active_list_remove + bl FieldEffectActiveListRemove adds r0, r5, 0 bl remove_task @080B9D16: @@ -349686,7 +349712,7 @@ sub_80B9EDC: ; 80B9EDC orrs r0, r1 strb r0, [r4] movs r0, 0x42 - bl oe_active_list_remove + bl FieldEffectActiveListRemove adds r0, r7, 0 bl remove_task @080B9FAC: @@ -399527,7 +399553,7 @@ sub_80D3718: ; 80D3718 hm2_ruin_valley: ; 80D3A50 push {lr} movs r0, 0x1 - bl oe_exec + bl FieldEffectStart bl brm_get_pokemon_selection ldr r1, =0x02038c08 lsls r0, 24 @@ -399607,9 +399633,9 @@ sub_80D3ABC: ; 80D3ABC sub_80D3AEC: ; 80D3AEC push {lr} movs r0, 0x1 - bl oe_active_list_remove + bl FieldEffectActiveListRemove movs r0, 0x3A - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 thumb_func_end sub_80D3AEC @@ -400486,7 +400512,7 @@ sub_80D41D0: ; 80D41D0 lsls r0, 2 adds r0, r5 movs r1, 0x3A - bl oe_stop + bl FieldEffectStop ldr r0, [r6] bl free movs r0, 0 @@ -400661,7 +400687,7 @@ sub_80D4354: ; 80D4354 movs r0, 0x80 bl audio_play movs r0, 0x2 - bl oe_active_list_remove + bl FieldEffectActiveListRemove bl script_env_2_enable_and_set_ctx_running pop {r0} bx r0 @@ -445151,7 +445177,7 @@ sub_80EA3E4: ; 80EA3E4 .pool @080EA810: ldrb r0, [r5, 0x8] - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 bne @080EA820 @@ -474119,9 +474145,9 @@ oei_sweet_scent: ; 80FA0FC sub_80FA128: ; 80FA128 push {lr} movs r0, 0xB - bl oe_active_list_remove + bl FieldEffectActiveListRemove movs r0, 0x37 - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 thumb_func_end sub_80FA128 @@ -474211,7 +474237,7 @@ sub_80FA1A8: ; 80FA1A8 sub_80FA1D8: ; 80FA1D8 push {lr} movs r1, 0x37 - bl oe_stop + bl FieldEffectStop bl script_env_2_enable_and_set_ctx_running pop {r0} bx r0 @@ -474259,9 +474285,9 @@ sub_80FA208: ; 80FA208 sub_80FA234: ; 80FA234 push {lr} movs r0, 0x1A - bl oe_active_list_remove + bl FieldEffectActiveListRemove movs r0, 0x38 - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 thumb_func_end sub_80FA234 @@ -474389,7 +474415,7 @@ sub_80FA304: ; 80FA304 sub_80FA33C: ; 80FA33C push {lr} movs r1, 0x38 - bl oe_stop + bl FieldEffectStop bl script_env_2_enable_and_set_ctx_running pop {r0} bx r0 @@ -474437,9 +474463,9 @@ sub_80FA36C: ; 80FA36C sub_80FA398: ; 80FA398 push {lr} movs r0, 0x1B - bl oe_active_list_remove + bl FieldEffectActiveListRemove movs r0, 0x39 - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 thumb_func_end sub_80FA398 @@ -474529,7 +474555,7 @@ sub_80FA418: ; 80FA418 sub_80FA448: ; 80FA448 push {lr} movs r1, 0x39 - bl oe_stop + bl FieldEffectStop bl script_env_2_enable_and_set_ctx_running pop {r0} bx r0 @@ -474649,7 +474675,7 @@ sub_80FA4A0: ; 80FA4A0 ldrsh r1, [r4, r2] bl cur_mapdata_draw_block_at movs r0, 0x3D - bl oe_active_list_remove + bl FieldEffectActiveListRemove bl script_env_2_enable_and_set_ctx_running adds r0, r5, 0 bl remove_task @@ -475210,7 +475236,7 @@ sub_80FA9D0: ; 80FA9D0 movs r2, 0x8 movs r3, 0x4 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x58] mov r1, sp movs r2, 0 @@ -475484,7 +475510,7 @@ sub_80FAC24: ; 80FAC24 sub_80FAC68: ; 80FAC68 push {lr} movs r1, 0x34 - bl oe_stop + bl FieldEffectStop bl script_env_2_enable_and_set_ctx_running pop {r0} bx r0 @@ -594110,7 +594136,7 @@ task08_080C9820: ; 813549C cmp r0, 0x5 bne @08135504 movs r0, 0x3B - bl oe_exec + bl FieldEffectStart ldr r0, =0x03005e00 lsls r1, r5, 2 adds r1, r5 @@ -594159,7 +594185,7 @@ sub_813552C: ; 813552C cmp r0, 0x1 bne @08135560 movs r0, 0x3B - bl oe_exec + bl FieldEffectStart ldr r0, =0x03005e00 lsls r1, r4, 2 adds r1, r4 @@ -594181,7 +594207,7 @@ sub_8135578: ; 8135578 lsls r0, 24 lsrs r7, r0, 24 movs r0, 0x6 - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 @@ -594233,7 +594259,7 @@ sub_8135578: ; 8135578 ldrb r1, [r6, 0x8] bl obj_anim_image_start movs r0, 0x6 - bl oe_active_list_remove + bl FieldEffectActiveListRemove ldr r1, =0x03005e00 lsls r0, r7, 2 adds r0, r7 @@ -594369,7 +594395,7 @@ sub_8135714: ; 8135714 movs r0, 0x83 bl audio_play movs r0, 0x25 - bl oe_active_list_remove + bl FieldEffectActiveListRemove bl script_env_2_enable_and_set_ctx_running pop {r0} bx r0 @@ -594405,7 +594431,7 @@ hm2_dig: ; 8135760 push {lr} bl flagmods_08054D70 movs r0, 0x26 - bl oe_exec + bl FieldEffectStart bl brm_get_pokemon_selection ldr r1, =0x02038c08 lsls r0, 24 @@ -594450,7 +594476,7 @@ sub_8135780: ; 8135780 sub_81357BC: ; 81357BC push {r4,lr} movs r0, 0x26 - bl oe_active_list_remove + bl FieldEffectActiveListRemove bl sub_81795E8 lsls r0, 24 lsrs r4, r0, 24 @@ -605476,7 +605502,7 @@ sub_813B0B4: ; 813B0B4 @0813B13A: str r0, [r3, 0x14] movs r0, 0x42 - bl oe_exec + bl FieldEffectStart ldr r0, =gUnknown_085B33E0 adds r1, r5, r0 ldrb r1, [r1] @@ -605499,7 +605525,7 @@ sub_813B160: ; 813B160 lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x42 - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 bne @0813B17C @@ -607325,7 +607351,7 @@ sub_813C008: ; 813C008 adds r0, r4, 0 adds r1, r7, 0 movs r2, 0x7 - bl StringCompare_LimitN + bl CompareString_LimitN cmp r0, 0 bne @0813C02C ldrh r0, [r4, 0x8] @@ -625970,7 +625996,7 @@ sub_8145E2C: ; 8145E2C sub_8145E74: ; 8145E74 push {lr} movs r0, 0x28 - bl oe_active_list_remove + bl FieldEffectActiveListRemove bl script_env_2_enable_and_set_ctx_running pop {r0} bx r0 @@ -627186,7 +627212,7 @@ sub_8146800: ; 8146800 movs r2, 0xB0 lsls r2, 2 bl CpuSet - ldr r0, =gUnknown_085C8ED4 + ldr r0, =gFieldEffectObjectPalette10 movs r1, 0xF0 movs r2, 0x20 bl gpu_pal_apply @@ -628146,7 +628172,7 @@ sub_8146FCC: ; 8146FCC ldr r2, =0x05000200 mov r0, sp bl CpuSet - ldr r0, =gUnknown_085C8ED4 + ldr r0, =gFieldEffectObjectPalette10 movs r1, 0xF0 movs r2, 0x20 bl gpu_pal_apply @@ -628204,7 +628230,7 @@ sub_8147018: ; 8147018 ldrsh r0, [r0, r1] str r0, [r6, 0xC] movs r0, 0x2D - bl oe_exec + bl FieldEffectStart adds r4, 0x1 lsls r4, 16 movs r0, 0x1 @@ -628233,7 +628259,7 @@ sub_8147018: ; 8147018 sub_81470A4: ; 81470A4 push {lr} movs r0, 0x2D - bl oe_active_list_contains + bl FieldEffectActiveListContains lsls r0, 24 cmp r0, 0 bne @081470C4 @@ -628392,7 +628418,7 @@ sub_814713C: ; 814713C bls @081471F2 adds r0, r4, 0 movs r1, 0x2D - bl oe_stop + bl FieldEffectStop @081471F2: add sp, 0x4 pop {r4-r6} @@ -631983,7 +632009,7 @@ sub_8148E8C: ; 8148E8C ldr r2, =0x01000400 mov r0, sp bl CpuSet - ldr r0, =gUnknown_085C8ED4 + ldr r0, =gFieldEffectObjectPalette10 movs r1, 0xF0 movs r2, 0x20 bl gpu_pal_apply @@ -633344,7 +633370,7 @@ sub_8149994: ; 8149994 ldr r2, =0x01000400 mov r0, sp bl CpuSet - ldr r0, =gUnknown_085C8ED4 + ldr r0, =gFieldEffectObjectPalette10 movs r1, 0xF0 movs r2, 0x20 bl gpu_pal_apply @@ -649815,7 +649841,7 @@ sub_81521C0: ; 81521C0 cmp r5, r4 bcs @08152242 adds r3, r6, 0 - ldr r0, =gUnknown_082EC690 + ldr r0, =gDefaultOamAttributes mov r12, r0 movs r2, 0x4 mov r8, r2 @@ -649872,7 +649898,7 @@ sub_8152254: ; 8152254 bcs @08152292 ldr r0, =0x030024f8 mov r12, r0 - ldr r4, =gUnknown_082EC690 + ldr r4, =gDefaultOamAttributes adds r2, r5, 0 @0815227A: lsls r1, r3, 3 @@ -649972,7 +649998,7 @@ sub_81522D4: ; 81522D4 lsls r0, r6, 3 ldr r1, =0x030024f8 adds r0, r1 - ldr r1, =gUnknown_082EC690 + ldr r1, =gDefaultOamAttributes ldm r1!, {r2,r3} stm r0!, {r2,r3} b @081523C0 @@ -650375,7 +650401,7 @@ sub_81525D0: ; 81525D0 lsls r1, r5, 3 ldr r0, =0x030024f8 adds r1, r0 - ldr r0, =gUnknown_082EC690 + ldr r0, =gDefaultOamAttributes ldm r0!, {r2,r3} stm r1!, {r2,r3} adds r0, r5, 0 @@ -653805,7 +653831,7 @@ objc_80DAF50: ; 81540A8 thumb_func_start sub_8154228 sub_8154228: ; 8154228 push {r4,lr} - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x20] movs r1, 0 movs r2, 0 @@ -653967,7 +653993,7 @@ oei_shadow: ; 8154340 ldrb r0, [r1, 0x5] bl GetFieldObjectGraphicsInfo adds r4, r0, 0 - ldr r2, =gUnknown_085059F8 + ldr r2, =gFieldEffectObjectTemplatePointers ldr r1, =gUnknown_085CDC3E ldrb r0, [r4, 0xC] lsls r0, 26 @@ -654044,7 +654070,7 @@ oamc_shadow: ; 81543E4 beq @08154412 adds r0, r5, 0 movs r1, 0x3 - bl oe_stop + bl FieldEffectStop b @08154498 @08154412: mov r0, sp @@ -654108,7 +654134,7 @@ oamc_shadow: ; 81543E4 @08154490: adds r0, r5, 0 movs r1, 0x3 - bl oe_stop + bl FieldEffectStop @08154498: add sp, 0x4 pop {r4,r5} @@ -654135,7 +654161,7 @@ oei_grass_normal: ; 81544AC movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x10] mov r1, sp movs r2, 0 @@ -654281,7 +654307,7 @@ unc_grass_normal: ; 8154550 @081545F0: adds r0, r5, 0 movs r1, 0x4 - bl oe_stop + bl FieldEffectStop b @08154648 .align 2, 0 .pool @@ -654340,7 +654366,7 @@ sub_8154658: ; 8154658 movs r2, 0x8 movs r3, 0xC bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x28] movs r2, 0 ldrsh r1, [r4, r2] @@ -654478,7 +654504,7 @@ sub_8154758: ; 8154758 movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x3C] mov r1, sp movs r2, 0 @@ -654625,7 +654651,7 @@ unc_grass_tall: ; 8154800 @081548A0: adds r0, r5, 0 movs r1, 0x11 - bl oe_stop + bl FieldEffectStop b @081548EA .align 2, 0 .pool @@ -654676,7 +654702,7 @@ sub_81548FC: ; 81548FC movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x40] movs r2, 0 ldrsh r1, [r4, r2] @@ -654737,7 +654763,7 @@ sub_815496C: ; 815496C lsls r1, 2 ldr r0, =0x02037350 adds r5, r1, r0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x78] movs r1, 0 movs r2, 0 @@ -654836,7 +654862,7 @@ sub_8154A10: ; 8154A10 @08154A4E: adds r0, r4, 0 movs r1, 0x29 - bl oe_stop + bl FieldEffectStop b @08154AF2 .align 2, 0 .pool @@ -654935,7 +654961,7 @@ sub_8154B04: ; 8154B04 movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x2C] movs r2, 0 ldrsh r1, [r4, r2] @@ -654990,7 +655016,7 @@ sub_8154B78: ; 8154B78 movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x5C] movs r2, 0 ldrsh r1, [r4, r2] @@ -655046,7 +655072,7 @@ sub_8154BEC: ; 8154BEC movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x6C] movs r2, 0 ldrsh r1, [r4, r2] @@ -655163,7 +655189,7 @@ sub_8154CA0: ; 8154CA0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl oe_stop + bl FieldEffectStop @08154CE4: pop {r4} pop {r0} @@ -655185,7 +655211,7 @@ sub_8154CEC: ; 8154CEC lsls r1, 2 ldr r0, =0x02037350 adds r5, r1, r0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x34] movs r1, 0 movs r2, 0 @@ -655274,7 +655300,7 @@ sub_8154D90: ; 8154D90 @08154DC0: adds r0, r4, 0 movs r1, 0xF - bl oe_stop + bl FieldEffectStop b @08154E0A @08154DCA: ldr r3, =0x02020630 @@ -655326,7 +655352,7 @@ sub_8154E1C: ; 8154E1C movs r2, 0x8 movs r3, 0xC bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x38] movs r2, 0 ldrsh r1, [r4, r2] @@ -655381,7 +655407,7 @@ oei_water_drop_tall: ; 8154E8C movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x30] movs r2, 0 ldrsh r1, [r4, r2] @@ -655442,7 +655468,7 @@ sub_8154EFC: ; 8154EFC lsls r1, 2 ldr r0, =0x02037350 adds r6, r1, r0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x34] movs r1, 0 movs r2, 0 @@ -655542,7 +655568,7 @@ sub_8154FB4: ; 8154FB4 @08154FEE: adds r0, r4, 0 movs r1, 0x22 - bl oe_stop + bl FieldEffectStop b @08155046 .align 2, 0 .pool @@ -655594,7 +655620,7 @@ sub_8154FB4: ; 8154FB4 thumb_func_start oei_ripples oei_ripples: ; 8155054 push {r4,lr} - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x14] ldr r4, =0x02038c08 movs r2, 0 @@ -655654,7 +655680,7 @@ sub_81550B4: ; 81550B4 lsls r1, 2 ldr r0, =0x02037350 adds r5, r1, r0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x7C] movs r1, 0 movs r2, 0 @@ -655751,7 +655777,7 @@ sub_8155158: ; 8155158 @08155192: adds r0, r4, 0 movs r1, 0x2A - bl oe_stop + bl FieldEffectStop b @081551E4 .align 2, 0 .pool @@ -655806,7 +655832,7 @@ sub_81551F0: ; 81551F0 movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x44] movs r2, 0 ldrsh r1, [r4, r2] @@ -655859,7 +655885,7 @@ sub_815525C: ; 815525C movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x48] movs r2, 0 ldrsh r1, [r4, r2] @@ -655912,7 +655938,7 @@ sub_81552C8: ; 81552C8 movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x4C] movs r2, 0 ldrsh r1, [r4, r2] @@ -655965,7 +655991,7 @@ sub_8155334: ; 8155334 movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x50] movs r2, 0 ldrsh r1, [r4, r2] @@ -656030,7 +656056,7 @@ ash: ; 81553A0 asrs r3, 16 str r3, [r4, 0x14] movs r0, 0x7 - bl oe_exec + bl FieldEffectStart pop {r4} pop {r0} bx r0 @@ -656055,7 +656081,7 @@ oei_ash: ; 81553D4 movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x18] mov r1, sp movs r2, 0 @@ -656214,7 +656240,7 @@ sub_815550C: ; 815550C beq @0815552C adds r0, r4, 0 movs r1, 0x7 - bl oe_stop + bl FieldEffectStop @0815552C: pop {r4} pop {r0} @@ -656230,7 +656256,7 @@ sub_8155534: ; 8155534 movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x1C] movs r2, 0 ldrsh r1, [r4, r2] @@ -656268,7 +656294,7 @@ sub_8155534: ; 8155534 strh r0, [r1, 0x3C] @0815558E: movs r0, 0x8 - bl oe_active_list_remove + bl FieldEffectActiveListRemove adds r0, r5, 0 pop {r4,r5} pop {r1} @@ -656691,7 +656717,7 @@ sub_8155890: ; 8155890 movs r2, 0x8 movs r3, 0xC bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x24] movs r2, 0 ldrsh r1, [r4, r2] @@ -656752,7 +656778,7 @@ sub_8155900: ; 8155900 lsls r1, 2 ldr r0, =0x02037350 adds r6, r1, r0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x74] movs r1, 0 movs r2, 0 @@ -656859,7 +656885,7 @@ sub_81559BC: ; 81559BC @081559F6: adds r0, r4, 0 movs r1, 0x27 - bl oe_stop + bl FieldEffectStop b @08155A76 .align 2, 0 .pool @@ -656939,7 +656965,7 @@ sub_8155A88: ; 8155A88 movs r2, 0x8 movs r3, 0 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers adds r0, 0x88 ldr r0, [r0] movs r2, 0 @@ -657004,7 +657030,7 @@ sub_8155AEC: ; 8155AEC beq @08155B20 adds r0, r4, 0 movs r1, 0x35 - bl oe_stop + bl FieldEffectStop @08155B20: pop {r4} pop {r0} @@ -657022,7 +657048,7 @@ sub_8155B2C: ; 8155B2C movs r2, 0x8 movs r3, 0x4 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x58] movs r2, 0 ldrsh r1, [r4, r2] @@ -657070,41 +657096,45 @@ sub_8155B2C: ; 8155B2C .pool thumb_func_end sub_8155B2C - thumb_func_start sub_8155BA0 -sub_8155BA0: ; 8155BA0 + thumb_func_start ShowTreeDisguiseFieldEffect +; u8 ShowTreeDisguiseFieldEffect() +ShowTreeDisguiseFieldEffect: ; 8155BA0 push {lr} movs r0, 0x1C movs r1, 0x18 movs r2, 0x4 - bl sub_8155BD0 + bl ShowDisguiseFieldEffect pop {r1} bx r1 - thumb_func_end sub_8155BA0 + thumb_func_end ShowTreeDisguiseFieldEffect - thumb_func_start sub_8155BB0 -sub_8155BB0: ; 8155BB0 + thumb_func_start ShowMountainDisguiseFieldEffect +; u8 ShowMountainDisguiseFieldEffect() +ShowMountainDisguiseFieldEffect: ; 8155BB0 push {lr} movs r0, 0x1D movs r1, 0x19 movs r2, 0x3 - bl sub_8155BD0 + bl ShowDisguiseFieldEffect pop {r1} bx r1 - thumb_func_end sub_8155BB0 + thumb_func_end ShowMountainDisguiseFieldEffect - thumb_func_start sub_8155BC0 -sub_8155BC0: ; 8155BC0 + thumb_func_start ShowSandDisguiseFieldEffect +; u8 ShowSandDisguiseFieldEffect() +ShowSandDisguiseFieldEffect: ; 8155BC0 push {lr} movs r0, 0x24 movs r1, 0x1C movs r2, 0x2 - bl sub_8155BD0 + bl ShowDisguiseFieldEffect pop {r1} bx r1 - thumb_func_end sub_8155BC0 + thumb_func_end ShowSandDisguiseFieldEffect - thumb_func_start sub_8155BD0 -sub_8155BD0: ; 8155BD0 + thumb_func_start ShowDisguiseFieldEffect +; u8 ShowDisguiseFieldEffect(u8 fieldEffectId, u8 fieldEffectObjectId, u8 paletteSlot) +ShowDisguiseFieldEffect: ; 8155BD0 push {r4-r7,lr} mov r7, r8 push {r7} @@ -657126,13 +657156,13 @@ sub_8155BD0: ; 8155BD0 cmp r0, 0 beq @08155C08 adds r0, r4, 0 - bl oe_active_list_remove + bl FieldEffectActiveListRemove movs r0, 0x40 b @08155C74 .align 2, 0 .pool @08155C08: - ldr r1, =gUnknown_085059F8 + ldr r1, =gFieldEffectObjectTemplatePointers lsls r0, r6, 2 adds r0, r1 ldr r0, [r0] @@ -657195,7 +657225,7 @@ sub_8155BD0: ; 8155BD0 bx r1 .align 2, 0 .pool - thumb_func_end sub_8155BD0 + thumb_func_end ShowDisguiseFieldEffect thumb_func_start sub_8155C88 sub_8155C88: ; 8155C88 @@ -657220,7 +657250,7 @@ sub_8155C88: ; 8155C88 lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 - bl oe_stop + bl FieldEffectStop @08155CB8: ldr r4, =0x02037350 mov r0, sp @@ -657308,7 +657338,7 @@ sub_8155C88: ; 8155C88 lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 - bl oe_stop + bl FieldEffectStop @08155D68: add sp, 0x4 pop {r4,r5} @@ -657394,7 +657424,7 @@ sub_8155DDC: ; 8155DDC movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers adds r0, 0x8C ldr r0, [r0] movs r2, 0 @@ -657475,7 +657505,7 @@ sub_8155E50: ; 8155E50 ble @08155E9A adds r0, r2, 0 movs r1, 0x36 - bl oe_stop + bl FieldEffectStop @08155E9A: pop {r0} bx r0 @@ -657840,7 +657870,7 @@ sub_8155F80: ; 8155F80 bl lcd_io_set adds r0, r5, 0 movs r1, 0x40 - bl oe_stop + bl FieldEffectStop @08156156: movs r3, 0x32 ldrsh r0, [r5, r3] @@ -657892,7 +657922,7 @@ sub_8156194: ; 8156194 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl oe_stop + bl FieldEffectStop b @081561C8 @081561B2: adds r0, r4, 0 @@ -657924,7 +657954,7 @@ sub_81561D0: ; 81561D0 lsls r1, 24 lsrs r1, 24 adds r0, r2, 0 - bl oe_stop + bl FieldEffectStop b @081561F6 @081561EE: adds r0, r2, 0 @@ -665964,7 +665994,7 @@ sub_8159EF0: ; 8159EF0 hm2_sweet_scent: ; 8159F10 push {lr} movs r0, 0x33 - bl oe_exec + bl FieldEffectStart bl brm_get_pokemon_selection ldr r1, =0x02038c08 lsls r0, 24 @@ -666049,7 +666079,7 @@ sub_8159F5C: ; 8159F5C movs r0, 0 strh r0, [r1, 0x8] movs r0, 0x33 - bl oe_active_list_remove + bl FieldEffectActiveListRemove add sp, 0x4 pop {r4,r5} pop {r0} @@ -726656,7 +726686,7 @@ sub_8179834: ; 8179834 lsrs r0, 24 str r0, [r1] movs r0, 0x3C - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 .align 2, 0 @@ -726667,7 +726697,7 @@ sub_8179834: ; 8179834 sub_8179850: ; 8179850 push {lr} movs r0, 0x3C - bl oe_active_list_remove + bl FieldEffectActiveListRemove bl sub_8179860 pop {r0} bx r0 @@ -726755,7 +726785,7 @@ sub_8179918: ; 8179918 lsrs r0, 24 str r0, [r1] movs r0, 0x3C - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 .align 2, 0 @@ -726766,7 +726796,7 @@ sub_8179918: ; 8179918 sub_8179934: ; 8179934 push {lr} movs r0, 0x3C - bl oe_active_list_remove + bl FieldEffectActiveListRemove bl sub_8179944 pop {r0} bx r0 @@ -732385,7 +732415,7 @@ hm_teleport_run_dp02scr: ; 817C8FC push {lr} bl new_game movs r0, 0x3F - bl oe_exec + bl FieldEffectStart bl brm_get_pokemon_selection ldr r1, =0x02038c08 lsls r0, 24 @@ -732425,7 +732455,7 @@ sub_817C91C: ; 817C91C sub_817C94C: ; 817C94C push {lr} movs r0, 0x3F - bl oe_active_list_remove + bl FieldEffectActiveListRemove bl sub_80B7FC8 pop {r0} bx r0 @@ -844138,7 +844168,7 @@ hm_surf_run_dp02scr: ; 81B5804 lsrs r0, 24 str r0, [r1] movs r0, 0x9 - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 .align 2, 0 @@ -844246,7 +844276,7 @@ hm2_waterfall: ; 81B58D4 lsrs r0, 24 str r0, [r1] movs r0, 0x2B - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 .align 2, 0 @@ -844308,7 +844338,7 @@ sub_81B5958: ; 81B5958 lsrs r0, 24 str r0, [r1] movs r0, 0x2C - bl oe_exec + bl FieldEffectStart pop {r0} bx r0 .align 2, 0 @@ -905956,7 +905986,7 @@ sub_81D4A90: ; 81D4A90 movs r0, 0x1 strb r0, [r1] @081D4B3A: - ldr r4, =gUnknown_0850C9C8 + ldr r4, =gFieldEffectObjectPaletteInfo1 adds r0, r4, 0 bl gpu_pal_obj_alloc_tag_and_apply ldrh r0, [r4, 0x4] @@ -905976,7 +906006,7 @@ sub_81D4A90: ; 81D4A90 movs r2, 0x8 movs r3, 0x8 bl sub_80930E0 - ldr r0, =gUnknown_085059F8 + ldr r0, =gFieldEffectObjectTemplatePointers ldr r0, [r0, 0x3C] mov r1, sp movs r2, 0 diff --git a/asm/gpu_obj.s b/asm/gpu_obj.s index c1051759f..bddfe5b4e 100644 --- a/asm/gpu_obj.s +++ b/asm/gpu_obj.s @@ -554,7 +554,7 @@ super_sprites_fill: ; 8006D68 bcs @08006DD8 mov r1, sp ldr r5, =0x030022f8 - ldr r0, =gUnknown_082EC690 + ldr r0, =gDefaultOamAttributes ldr r2, [r0] ldr r3, [r0, 0x4] @08006DBE: @@ -1044,7 +1044,7 @@ reset_super_sprites: ; 8007150 cmp r3, r4 bcs @08007178 ldr r6, =0x030022f8 - ldr r5, =gUnknown_082EC690 + ldr r5, =gDefaultOamAttributes @08007162: lsls r0, r3, 3 adds r0, r6 diff --git a/asm/string_util.s b/asm/string_util.s index dbc64ca8a..482c14b81 100644 --- a/asm/string_util.s +++ b/asm/string_util.s @@ -231,9 +231,9 @@ CompareString: ; 8008C44 bx r1 thumb_func_end CompareString - thumb_func_start StringCompare_LimitN -; u8 StringCompare_LimitN(u8 *s1, u8 *s2, u32 n) -StringCompare_LimitN: ; 8008C68 + thumb_func_start CompareString_LimitN +; u8 CompareString_LimitN(u8 *s1, u8 *s2, u32 n) +CompareString_LimitN: ; 8008C68 push {r4,lr} adds r3, r0, 0 b @08008C80 @@ -260,7 +260,7 @@ StringCompare_LimitN: ; 8008C68 pop {r4} pop {r1} bx r1 - thumb_func_end StringCompare_LimitN + thumb_func_end CompareString_LimitN thumb_func_start IsStringLengthLessThanN ; BOOL IsStringLengthLessThanN(u8 *s, s32 n) @@ -1027,9 +1027,9 @@ RepeatStringTerminator: ; 800917C bx r1 thumb_func_end RepeatStringTerminator - thumb_func_start StringCopy_LimitN_Multibyte -; u8 *StringCopy_LimitN_Multibyte(u8 *dest, u8 *src, u32 n) -StringCopy_LimitN_Multibyte: ; 800918C + thumb_func_start CopyString_LimitN_Multibyte +; u8 *CopyString_LimitN_Multibyte(u8 *dest, u8 *src, u32 n) +CopyString_LimitN_Multibyte: ; 800918C push {r4,r5,lr} adds r4, r0, 0 adds r3, r1, 0 @@ -1065,7 +1065,7 @@ StringCopy_LimitN_Multibyte: ; 800918C pop {r4,r5} pop {r1} bx r1 - thumb_func_end StringCopy_LimitN_Multibyte + thumb_func_end CopyString_LimitN_Multibyte thumb_func_start GetStringLength_Multibyte ; u32 GetStringLength_Multibyte(u8 *s) @@ -1192,7 +1192,7 @@ sub_800924C: ; 800924C thumb_func_end sub_800924C thumb_func_start GetExtendedControlCodeLength -; u8 GetExtendedControlCodeLength(u8 command) +; u8 GetExtendedControlCodeLength(u8 code) GetExtendedControlCodeLength: ; 800927C push {lr} lsls r0, 24 |