mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-25 19:24:16 +01:00
Merge branch 'master' of https://github.com/pret/pokeemerald into intro
This commit is contained in:
commit
ebd88b3606
@ -13,7 +13,7 @@ cache:
|
||||
apt: true
|
||||
install:
|
||||
- pushd $HOME
|
||||
- travis_retry wget http://download.sourceforge.net/devkitpro/devkitARM_r46-x86_64-linux.tar.bz2
|
||||
- travis_retry wget http://download.sourceforge.net/devkitpro/devkitARM_r47-x86_64-linux.tar.bz2
|
||||
- tar xf devkitARM*.tar.bz2
|
||||
- travis_retry git clone https://github.com/pret/agbcc.git
|
||||
- cd agbcc && ./build.sh && ./install.sh $TRAVIS_BUILD_DIR
|
||||
|
@ -6481,7 +6481,7 @@ _0819218E:
|
||||
mov r0, r9
|
||||
cmp r0, 0
|
||||
bne _081921C4
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl SetMainCallback2
|
||||
b _081921FC
|
||||
.pool
|
||||
@ -9539,7 +9539,7 @@ _08193B84:
|
||||
ldr r0, [r4]
|
||||
bl Free
|
||||
str r6, [r4]
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl SetMainCallback2
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r5, 2
|
||||
@ -11320,7 +11320,7 @@ _08194B24:
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _08194B3C
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl SetMainCallback2
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
@ -14665,7 +14665,7 @@ sub_819672C: @ 819672C
|
||||
ldrh r2, [r0, 0xA]
|
||||
ldrh r1, [r0, 0xC]
|
||||
adds r0, r2, 0
|
||||
bl get_mapheader_by_bank_and_number
|
||||
bl Overworld_GetMapHeaderByGroupAndId
|
||||
ldrb r0, [r0, 0x14]
|
||||
pop {r1}
|
||||
bx r1
|
||||
@ -15923,11 +15923,11 @@ sub_8197080: @ 8197080
|
||||
b _0819715C
|
||||
_081970A2:
|
||||
movs r0, 0
|
||||
bl sub_80C0844
|
||||
bl GetHoennPokedexCount
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
movs r0, 0x1
|
||||
bl sub_80C0844
|
||||
bl GetHoennPokedexCount
|
||||
lsls r0, 16
|
||||
lsrs r6, r0, 16
|
||||
ldr r0, =gStringVar1
|
||||
@ -15977,11 +15977,11 @@ _081970A2:
|
||||
strb r6, [r5]
|
||||
adds r5, 0x1
|
||||
movs r0, 0
|
||||
bl pokedex_count
|
||||
bl GetNationalPokedexCount
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
movs r0, 0x1
|
||||
bl pokedex_count
|
||||
bl GetNationalPokedexCount
|
||||
lsls r0, 16
|
||||
lsrs r6, r0, 16
|
||||
mov r0, r10
|
||||
|
@ -18683,7 +18683,7 @@ _081A4294:
|
||||
adds r0, r3, r4
|
||||
ldrh r1, [r0]
|
||||
movs r0, 0x20
|
||||
bl sav12_xor_set
|
||||
bl SetGameStat
|
||||
ldr r1, [r7]
|
||||
adds r0, r1, r6
|
||||
adds r0, r4
|
||||
@ -31002,7 +31002,7 @@ sub_81AA810: @ 81AA810
|
||||
ldrb r1, [r3]
|
||||
adds r1, 0x2C
|
||||
movs r0, 0x19
|
||||
bl get_mapheader_by_bank_and_number
|
||||
bl Overworld_GetMapHeaderByGroupAndId
|
||||
adds r5, r0, 0
|
||||
movs r7, 0
|
||||
ldr r1, [r5, 0x4]
|
||||
|
@ -45,13 +45,13 @@ _0813BFCA:
|
||||
bge _0813BFCA
|
||||
movs r0, 0x17
|
||||
movs r1, 0
|
||||
bl sav12_xor_set
|
||||
bl SetGameStat
|
||||
movs r0, 0x18
|
||||
movs r1, 0
|
||||
bl sav12_xor_set
|
||||
bl SetGameStat
|
||||
movs r0, 0x19
|
||||
movs r1, 0
|
||||
bl sav12_xor_set
|
||||
bl SetGameStat
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -855,7 +855,7 @@ sub_813C664: @ 813C664
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _0813C694
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl SetMainCallback2
|
||||
ldr r0, =gUnknown_0203AB78
|
||||
ldr r0, [r0]
|
||||
|
@ -3172,7 +3172,7 @@ _08163A3C:
|
||||
_08163A74:
|
||||
bl sub_816537C
|
||||
_08163A78:
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl SetMainCallback2
|
||||
add sp, 0x4
|
||||
pop {r4-r6}
|
||||
|
234
asm/birch_pc.s
234
asm/birch_pc.s
@ -1,234 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ScriptGetPokedexInfo
|
||||
ScriptGetPokedexInfo: @ 8137A4C
|
||||
push {lr}
|
||||
ldr r0, =gSpecialVar_0x8004
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _08137A70
|
||||
movs r0, 0
|
||||
bl sub_80C0844
|
||||
ldr r1, =gSpecialVar_0x8005
|
||||
strh r0, [r1]
|
||||
movs r0, 0x1
|
||||
bl sub_80C0844
|
||||
b _08137A80
|
||||
.pool
|
||||
_08137A70:
|
||||
movs r0, 0
|
||||
bl pokedex_count
|
||||
ldr r1, =gSpecialVar_0x8005
|
||||
strh r0, [r1]
|
||||
movs r0, 0x1
|
||||
bl pokedex_count
|
||||
_08137A80:
|
||||
ldr r1, =gSpecialVar_0x8006
|
||||
strh r0, [r1]
|
||||
bl IsNationalPokedexEnabled
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end ScriptGetPokedexInfo
|
||||
|
||||
thumb_func_start GetPokedexRatingText
|
||||
GetPokedexRatingText: @ 8137A98
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x9
|
||||
bhi _08137AA4
|
||||
b _08137BFC
|
||||
_08137AA4:
|
||||
cmp r0, 0x13
|
||||
bhi _08137AB0
|
||||
ldr r0, =gUnknown_082A5DAB
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137AB0:
|
||||
cmp r0, 0x1D
|
||||
bhi _08137ABC
|
||||
ldr r0, =gUnknown_082A5DF1
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137ABC:
|
||||
cmp r0, 0x27
|
||||
bhi _08137AC8
|
||||
ldr r0, =gUnknown_082A5E34
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137AC8:
|
||||
cmp r0, 0x31
|
||||
bhi _08137AD4
|
||||
ldr r0, =gUnknown_082A5E83
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137AD4:
|
||||
cmp r0, 0x3B
|
||||
bhi _08137AE0
|
||||
ldr r0, =gUnknown_082A5EB9
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137AE0:
|
||||
cmp r0, 0x45
|
||||
bhi _08137AEC
|
||||
ldr r0, =gUnknown_082A5EF4
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137AEC:
|
||||
cmp r0, 0x4F
|
||||
bhi _08137AF8
|
||||
ldr r0, =gUnknown_082A5F39
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137AF8:
|
||||
cmp r0, 0x59
|
||||
bhi _08137B04
|
||||
ldr r0, =gUnknown_082A5F82
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137B04:
|
||||
cmp r0, 0x63
|
||||
bhi _08137B10
|
||||
ldr r0, =gUnknown_082A5FB9
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137B10:
|
||||
cmp r0, 0x6D
|
||||
bhi _08137B1C
|
||||
ldr r0, =gUnknown_082A6018
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137B1C:
|
||||
cmp r0, 0x77
|
||||
bhi _08137B28
|
||||
ldr r0, =gUnknown_082A6061
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137B28:
|
||||
cmp r0, 0x81
|
||||
bhi _08137B34
|
||||
ldr r0, =gUnknown_082A609C
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137B34:
|
||||
cmp r0, 0x8B
|
||||
bhi _08137B40
|
||||
ldr r0, =gUnknown_082A60D5
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137B40:
|
||||
cmp r0, 0x95
|
||||
bhi _08137B4C
|
||||
ldr r0, =gUnknown_082A6124
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137B4C:
|
||||
cmp r0, 0x9F
|
||||
bhi _08137B58
|
||||
ldr r0, =gUnknown_082A616F
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137B58:
|
||||
cmp r0, 0xA9
|
||||
bhi _08137B64
|
||||
ldr r0, =gUnknown_082A61D6
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137B64:
|
||||
cmp r0, 0xB3
|
||||
bhi _08137B70
|
||||
ldr r0, =gUnknown_082A623A
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137B70:
|
||||
cmp r0, 0xBD
|
||||
bhi _08137B7C
|
||||
ldr r0, =gUnknown_082A6287
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137B7C:
|
||||
cmp r0, 0xC7
|
||||
bls _08137BEA
|
||||
cmp r0, 0xC8
|
||||
bne _08137BB8
|
||||
ldr r0, =0x00000199
|
||||
bl SpeciesToNationalPokedexNum
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
movs r1, 0x1
|
||||
bl GetSetPokedexFlag
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08137BEA
|
||||
movs r0, 0xCD
|
||||
lsls r0, 1
|
||||
bl SpeciesToNationalPokedexNum
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
movs r1, 0x1
|
||||
bl GetSetPokedexFlag
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08137BEA
|
||||
b _08137C04
|
||||
.pool
|
||||
_08137BB8:
|
||||
cmp r0, 0xC9
|
||||
bne _08137BF8
|
||||
ldr r0, =0x00000199
|
||||
bl SpeciesToNationalPokedexNum
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
movs r1, 0x1
|
||||
bl GetSetPokedexFlag
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08137C04
|
||||
movs r0, 0xCD
|
||||
lsls r0, 1
|
||||
bl SpeciesToNationalPokedexNum
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
movs r1, 0x1
|
||||
bl GetSetPokedexFlag
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08137C04
|
||||
_08137BEA:
|
||||
ldr r0, =gUnknown_082A62C9
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137BF8:
|
||||
cmp r0, 0xCA
|
||||
beq _08137C04
|
||||
_08137BFC:
|
||||
ldr r0, =gUnknown_082A5D6C
|
||||
b _08137C06
|
||||
.pool
|
||||
_08137C04:
|
||||
ldr r0, =gUnknown_082A6312
|
||||
_08137C06:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end GetPokedexRatingText
|
||||
|
||||
thumb_func_start ShowPokedexRatingMessage
|
||||
ShowPokedexRatingMessage: @ 8137C10
|
||||
push {lr}
|
||||
ldr r0, =gSpecialVar_0x8004
|
||||
ldrh r0, [r0]
|
||||
bl GetPokedexRatingText
|
||||
bl ShowFieldMessage
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end ShowPokedexRatingMessage
|
@ -777,7 +777,7 @@ _08150340:
|
||||
bl warp_in
|
||||
ldr r0, =gFieldCallback
|
||||
str r4, [r0]
|
||||
ldr r0, =c2_load_new_map
|
||||
ldr r0, =CB2_LoadMap
|
||||
bl SetMainCallback2
|
||||
add sp, 0x8
|
||||
pop {r3}
|
||||
|
@ -736,7 +736,7 @@ _080B2984:
|
||||
.pool
|
||||
_080B2994:
|
||||
bl GetLinkPlayerCount_2
|
||||
ldr r4, =gUnknown_03005DB8
|
||||
ldr r4, =gFieldLinkPlayerCount
|
||||
strb r0, [r4]
|
||||
bl GetMultiplayerId
|
||||
ldr r1, =gUnknown_03005DB4
|
||||
@ -826,7 +826,7 @@ _080B2A4E:
|
||||
.pool
|
||||
_080B2A6C:
|
||||
bl GetLinkPlayerCount_2
|
||||
ldr r4, =gUnknown_03005DB8
|
||||
ldr r4, =gFieldLinkPlayerCount
|
||||
strb r0, [r4]
|
||||
bl GetMultiplayerId
|
||||
ldr r1, =gUnknown_03005DB4
|
||||
@ -2132,12 +2132,12 @@ _080B35E0:
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _080B35FE
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
b _080B35FE
|
||||
.pool
|
||||
_080B35F8:
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
_080B35FE:
|
||||
bl RunTasks
|
||||
@ -2156,7 +2156,7 @@ sub_80B360C: @ 80B360C
|
||||
negs r1, r1
|
||||
ands r0, r1
|
||||
str r0, [r2]
|
||||
bl call_ResetMapMusic
|
||||
bl Overworld_ResetMapMusic
|
||||
bl copy_player_party_from_sav1
|
||||
bl copy_bags_and_unk_data_to_save_blocks
|
||||
bl sub_813BF10
|
||||
@ -2586,7 +2586,7 @@ sp02A_crash_sound: @ 80B39BC
|
||||
push {lr}
|
||||
ldr r0, =gSpecialVar_0x8006
|
||||
ldrb r0, [r0]
|
||||
ldr r1, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r1, =CB2_ReturnToFieldContinueScript
|
||||
bl sub_80C4E74
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
@ -5588,7 +5588,7 @@ sub_80DA830: @ 80DA830
|
||||
bl FreeAllWindowBuffers
|
||||
bl sub_80D7A5C
|
||||
bl FreeMonSpritesGfx
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
_080DA860:
|
||||
pop {r0}
|
||||
|
@ -1825,7 +1825,7 @@ _080F6884:
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
bl FreeAllWindowBuffers
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl SetMainCallback2
|
||||
bl sub_80F7E64
|
||||
_080F68A8:
|
||||
|
@ -9252,7 +9252,7 @@ start_menu_is_selected_item_valid: @ 811EA6C
|
||||
cmp r0, 0
|
||||
bne _0811EA84
|
||||
movs r0, 0
|
||||
bl pokedex_count
|
||||
bl GetNationalPokedexCount
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
b _0811EA9A
|
||||
@ -10369,7 +10369,7 @@ sub_811F2D4: @ 811F2D4
|
||||
movs r5, 0
|
||||
strh r5, [r0]
|
||||
movs r0, 0
|
||||
bl pokedex_count
|
||||
bl GetNationalPokedexCount
|
||||
lsls r0, 16
|
||||
cmp r0, 0
|
||||
beq _0811F2FC
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_809BEDC
|
||||
sub_809BEDC: @ 809BEDC
|
||||
thumb_func_start FieldClearPlayerInput
|
||||
FieldClearPlayerInput: @ 809BEDC
|
||||
push {r4,r5,lr}
|
||||
movs r1, 0x2
|
||||
negs r1, r1
|
||||
@ -29,11 +29,11 @@ sub_809BEDC: @ 809BEDC
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_809BEDC
|
||||
thumb_func_end FieldClearPlayerInput
|
||||
|
||||
thumb_func_start process_overworld_input
|
||||
@ void process_overworld_input(overworld_input_data *input_data, char buttons_new, char buttons_held)
|
||||
process_overworld_input: @ 809BF08
|
||||
thumb_func_start FieldGetPlayerInput
|
||||
@ void FieldGetPlayerInput(overworld_input_data *input_data, char buttons_new, char buttons_held)
|
||||
FieldGetPlayerInput: @ 809BF08
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
@ -176,7 +176,7 @@ _0809C006:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end process_overworld_input
|
||||
thumb_func_end FieldGetPlayerInput
|
||||
|
||||
thumb_func_start sub_809C014
|
||||
@ int sub_809C014(overworld_input_data *input_data)
|
||||
@ -2006,7 +2006,7 @@ _0809CF20:
|
||||
bl sub_8084D5C
|
||||
ldrb r0, [r5, 0x7]
|
||||
ldrb r1, [r5, 0x6]
|
||||
bl get_mapheader_by_bank_and_number
|
||||
bl Overworld_GetMapHeaderByGroupAndId
|
||||
ldr r1, [r0, 0x4]
|
||||
ldrb r0, [r5, 0x5]
|
||||
ldr r1, [r1, 0x8]
|
||||
|
@ -1943,7 +1943,7 @@ _080B69D4:
|
||||
thumb_func_start sub_80B69DC
|
||||
sub_80B69DC: @ 80B69DC
|
||||
push {lr}
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
ldr r1, =gFieldCallback
|
||||
ldr r0, =mapldr_080842E8
|
||||
@ -2008,9 +2008,9 @@ _080B6A64:
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080B6A8A
|
||||
bl flag_var_implications_of_teleport_
|
||||
bl Overworld_ResetStateAfterFly
|
||||
bl warp_in
|
||||
ldr r0, =c2_load_new_map
|
||||
ldr r0, =CB2_LoadMap
|
||||
bl SetMainCallback2
|
||||
ldr r1, =gFieldCallback
|
||||
ldr r0, =mapldr_08084390
|
||||
@ -2764,7 +2764,7 @@ sub_80B7060: @ 80B7060
|
||||
ldr r1, =gFieldCallback
|
||||
ldr r0, =sub_80B70B4
|
||||
str r0, [r1]
|
||||
ldr r0, =c2_load_new_map
|
||||
ldr r0, =CB2_LoadMap
|
||||
bl SetMainCallback2
|
||||
ldr r0, =sub_80B6E88
|
||||
bl FindTaskIdByFunc
|
||||
@ -3730,7 +3730,7 @@ sub_80B7814: @ 80B7814
|
||||
ldr r1, =gFieldCallback
|
||||
ldr r0, =mapldr_080851BC
|
||||
str r0, [r1]
|
||||
ldr r0, =c2_load_new_map
|
||||
ldr r0, =CB2_LoadMap
|
||||
bl SetMainCallback2
|
||||
ldr r0, =sub_80B75F0
|
||||
bl FindTaskIdByFunc
|
||||
@ -4205,7 +4205,7 @@ sub_80B7BF4: @ 80B7BF4
|
||||
ldr r1, =gFieldCallback
|
||||
ldr r0, =sub_80B6B68
|
||||
str r0, [r1]
|
||||
ldr r0, =c2_load_new_map
|
||||
ldr r0, =CB2_LoadMap
|
||||
bl SetMainCallback2
|
||||
ldr r0, =sub_80B7A8C
|
||||
bl FindTaskIdByFunc
|
||||
@ -4402,7 +4402,7 @@ _080B7D86:
|
||||
ldr r1, =gFieldCallback
|
||||
ldr r0, =mapldr_080859D4
|
||||
str r0, [r1]
|
||||
ldr r0, =c2_load_new_map
|
||||
ldr r0, =CB2_LoadMap
|
||||
bl SetMainCallback2
|
||||
ldr r0, =sub_80B7CE4
|
||||
bl FindTaskIdByFunc
|
||||
@ -4881,9 +4881,9 @@ _080B81B8:
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _080B81E6
|
||||
bl copy_saved_warp3_bank_and_enter_x_to_warp1
|
||||
bl Overworld_SetWarpDestToLastHealLoc
|
||||
bl warp_in
|
||||
ldr r0, =c2_load_new_map
|
||||
ldr r0, =CB2_LoadMap
|
||||
bl SetMainCallback2
|
||||
ldr r1, =gFieldCallback
|
||||
ldr r0, =mapldr_08085D88
|
||||
@ -5211,7 +5211,7 @@ _080B8484:
|
||||
thumb_func_start sub_80B849C
|
||||
sub_80B849C: @ 80B849C
|
||||
push {r4,lr}
|
||||
bl sav1_map_get_light_level
|
||||
bl Overworld_GetMapTypeOfSaveblockLocation
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl is_light_level_1_2_3_5_or_6
|
||||
|
@ -1884,8 +1884,8 @@ _080ABEF4:
|
||||
.pool
|
||||
thumb_func_end sub_80ABE18
|
||||
|
||||
thumb_func_start sub_80ABF00
|
||||
sub_80ABF00: @ 80ABF00
|
||||
thumb_func_start ApplyWeatherGammaShiftToPal
|
||||
ApplyWeatherGammaShiftToPal: @ 80ABF00
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -1900,7 +1900,7 @@ sub_80ABF00: @ 80ABF00
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80ABF00
|
||||
thumb_func_end ApplyWeatherGammaShiftToPal
|
||||
|
||||
thumb_func_start sub_80ABF20
|
||||
sub_80ABF20: @ 80ABF20
|
||||
@ -7855,7 +7855,7 @@ pal_fill_for_maplights: @ 80AF040
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl sav1_map_get_light_level
|
||||
bl Overworld_GetMapTypeOfSaveblockLocation
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@ -7910,7 +7910,7 @@ pal_fill_black: @ 80AF0A0
|
||||
thumb_func_start sub_80AF0B4
|
||||
sub_80AF0B4: @ 80AF0B4
|
||||
push {r4,lr}
|
||||
bl sav1_map_get_light_level
|
||||
bl Overworld_GetMapTypeOfSaveblockLocation
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
@ -9015,7 +9015,7 @@ _080AF9D0:
|
||||
cmp r0, 0
|
||||
bne _080AF9E8
|
||||
bl warp_in
|
||||
ldr r0, =c2_load_new_map
|
||||
ldr r0, =CB2_LoadMap
|
||||
bl SetMainCallback2
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
@ -9087,7 +9087,7 @@ _080AFA64:
|
||||
b _080AFA7C
|
||||
_080AFA6C:
|
||||
bl warp_in
|
||||
ldr r0, =c2_load_new_map
|
||||
ldr r0, =CB2_LoadMap
|
||||
bl SetMainCallback2
|
||||
adds r0, r6, 0
|
||||
bl DestroyTask
|
||||
@ -10060,7 +10060,7 @@ _080B0222:
|
||||
b _080B023A
|
||||
_080B022A:
|
||||
bl warp_in
|
||||
ldr r0, =c2_load_new_map
|
||||
ldr r0, =CB2_LoadMap
|
||||
bl SetMainCallback2
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
@ -10478,7 +10478,7 @@ sub_80B058C: @ 80B058C
|
||||
thumb_func_start sub_80B05B4
|
||||
sub_80B05B4: @ 80B05B4
|
||||
push {lr}
|
||||
bl sub_80859B0
|
||||
bl Overworld_FadeOutMapMusic
|
||||
ldr r0, =task50_0807F0C8
|
||||
movs r1, 0x50
|
||||
bl CreateTask
|
||||
|
@ -20,7 +20,7 @@ Special_ShowDiploma: @ 8137CB4
|
||||
Special_ViewWallClock: @ 8137CC8
|
||||
push {lr}
|
||||
ldr r0, =gMain
|
||||
ldr r1, =c2_exit_to_overworld_2_switch
|
||||
ldr r1, =CB2_ReturnToField
|
||||
str r1, [r0, 0x8]
|
||||
ldr r0, =Cb2_ViewWallClock
|
||||
bl SetMainCallback2
|
||||
@ -1906,7 +1906,7 @@ _08138C7E:
|
||||
thumb_func_start CB2_FieldShowRegionMap
|
||||
CB2_FieldShowRegionMap: @ 8138C84
|
||||
push {lr}
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl sub_817018C
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -7153,14 +7153,14 @@ sub_813B7D8: @ 813B7D8
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _0813B7F8
|
||||
ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r2, =CB2_ReturnToFieldContinueScript
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
bl DoRayquazaScene
|
||||
b _0813B802
|
||||
.pool
|
||||
_0813B7F8:
|
||||
ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r2, =CB2_ReturnToFieldContinueScript
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
bl DoRayquazaScene
|
||||
|
@ -88,7 +88,7 @@ sub_809D908: @ 809D908
|
||||
bl sub_809D8B8
|
||||
adds r0, r4, 0x2
|
||||
adds r1, r4, 0x4
|
||||
bl wild_encounter_related
|
||||
bl UpdateAmbientCry
|
||||
_0809D930:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
@ -96,8 +96,8 @@ _0809D930:
|
||||
.pool
|
||||
thumb_func_end sub_809D908
|
||||
|
||||
thumb_func_start overworld_ensure_per_step_coros_running
|
||||
overworld_ensure_per_step_coros_running: @ 809D93C
|
||||
thumb_func_start SetUpFieldTasks
|
||||
SetUpFieldTasks: @ 809D93C
|
||||
push {r4,r5,lr}
|
||||
ldr r5, =task_per_step_callback_manager
|
||||
adds r0, r5, 0
|
||||
@ -142,7 +142,7 @@ _0809D992:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end overworld_ensure_per_step_coros_running
|
||||
thumb_func_end SetUpFieldTasks
|
||||
|
||||
thumb_func_start ActivatePerStepCallback
|
||||
ActivatePerStepCallback: @ 809D9A8
|
||||
@ -182,8 +182,8 @@ _0809D9EA:
|
||||
bx r0
|
||||
thumb_func_end ActivatePerStepCallback
|
||||
|
||||
thumb_func_start wild_encounter_reset_coro_args
|
||||
wild_encounter_reset_coro_args: @ 809D9F0
|
||||
thumb_func_start ResetFieldTasksArgs
|
||||
ResetFieldTasksArgs: @ 809D9F0
|
||||
push {lr}
|
||||
ldr r0, =task_per_step_callback_manager
|
||||
bl FindTaskIdByFunc
|
||||
@ -207,7 +207,7 @@ _0809DA1A:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end wild_encounter_reset_coro_args
|
||||
thumb_func_end ResetFieldTasksArgs
|
||||
|
||||
thumb_func_start nullsub_34
|
||||
nullsub_34: @ 809DA2C
|
||||
|
@ -11,7 +11,7 @@ mapconnection_get_mapheader: @ 8087D44
|
||||
ldrb r2, [r0, 0x8]
|
||||
ldrb r1, [r0, 0x9]
|
||||
adds r0, r2, 0
|
||||
bl get_mapheader_by_bank_and_number
|
||||
bl Overworld_GetMapHeaderByGroupAndId
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end mapconnection_get_mapheader
|
||||
|
@ -217,7 +217,7 @@ sub_8137304: @ 8137304
|
||||
bl get_map_light_from_warp0
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
bl sav1_map_get_light_level
|
||||
bl Overworld_GetMapTypeOfSaveblockLocation
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
movs r3, 0
|
||||
|
@ -1,339 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start hm_prepare_dive_probably
|
||||
hm_prepare_dive_probably: @ 8161508
|
||||
push {r4-r6,lr}
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r6, 0x64
|
||||
muls r0, r6
|
||||
ldr r4, =gPlayerParty
|
||||
adds r0, r4
|
||||
movs r1, 0x3A
|
||||
bl GetMonData
|
||||
adds r5, r0, 0
|
||||
lsls r5, 16
|
||||
lsrs r5, 16
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
muls r0, r6
|
||||
adds r0, r4
|
||||
movs r1, 0x39
|
||||
bl GetMonData
|
||||
adds r4, r0, 0
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x5
|
||||
bl __udivsi3
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r4, r0
|
||||
bhi _08161558
|
||||
movs r0, 0
|
||||
b _0816155A
|
||||
.pool
|
||||
_08161558:
|
||||
movs r0, 0x1
|
||||
_0816155A:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end hm_prepare_dive_probably
|
||||
|
||||
thumb_func_start sub_8161560
|
||||
sub_8161560: @ 8161560
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
ldr r0, =gUnknown_0203CEC8
|
||||
movs r1, 0xA
|
||||
strb r1, [r0, 0xB]
|
||||
ldrb r1, [r0, 0x9]
|
||||
strb r1, [r0, 0xA]
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
bl sub_81B0FCC
|
||||
movs r0, 0x5
|
||||
bl display_pokemon_menu_message
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, =sub_81B1370
|
||||
str r1, [r0]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8161560
|
||||
|
||||
thumb_func_start sub_81615A8
|
||||
sub_81615A8: @ 81615A8
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x8
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
str r4, [sp, 0x4]
|
||||
ldr r1, =gUnknown_0203CEC8
|
||||
ldrb r7, [r1, 0x9]
|
||||
mov r8, r7
|
||||
ldrb r0, [r1, 0xA]
|
||||
adds r5, r0, 0
|
||||
cmp r5, 0x6
|
||||
bls _081615EC
|
||||
movs r0, 0
|
||||
strb r0, [r1, 0xB]
|
||||
bl display_pokemon_menu_message
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, =sub_81B1370
|
||||
str r1, [r0]
|
||||
b _08161658
|
||||
.pool
|
||||
_081615EC:
|
||||
movs r0, 0x64
|
||||
mov r10, r0
|
||||
mov r0, r10
|
||||
muls r0, r5
|
||||
ldr r1, =gPlayerParty
|
||||
mov r9, r1
|
||||
adds r6, r0, r1
|
||||
adds r0, r6, 0
|
||||
movs r1, 0x39
|
||||
bl GetMonData
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
cmp r4, 0
|
||||
beq _0816161A
|
||||
cmp r7, r5
|
||||
beq _0816161A
|
||||
adds r0, r6, 0
|
||||
movs r1, 0x3A
|
||||
bl GetMonData
|
||||
cmp r0, r4
|
||||
bne _08161628
|
||||
_0816161A:
|
||||
ldr r0, [sp, 0x4]
|
||||
bl sub_81617B8
|
||||
b _08161658
|
||||
.pool
|
||||
_08161628:
|
||||
movs r0, 0x1
|
||||
bl PlaySE
|
||||
mov r1, r10
|
||||
mov r0, r8
|
||||
muls r0, r1
|
||||
add r0, r9
|
||||
movs r1, 0x3A
|
||||
bl GetMonData
|
||||
movs r1, 0x5
|
||||
bl __udivsi3
|
||||
adds r3, r0, 0
|
||||
lsls r3, 16
|
||||
asrs r3, 16
|
||||
movs r2, 0x1
|
||||
negs r2, r2
|
||||
ldr r0, =sub_816166C
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, 0x4]
|
||||
mov r1, r8
|
||||
bl sub_81B1F18
|
||||
_08161658:
|
||||
add sp, 0x8
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81615A8
|
||||
|
||||
thumb_func_start sub_816166C
|
||||
sub_816166C: @ 816166C
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0x1
|
||||
bl PlaySE
|
||||
ldr r5, =gUnknown_0203CEC8
|
||||
movs r1, 0x9
|
||||
ldrsb r1, [r5, r1]
|
||||
movs r0, 0x64
|
||||
muls r0, r1
|
||||
ldr r1, =gPlayerParty
|
||||
adds r0, r1
|
||||
movs r1, 0x3A
|
||||
bl GetMonData
|
||||
movs r1, 0x5
|
||||
bl __udivsi3
|
||||
adds r3, r0, 0
|
||||
lsls r3, 16
|
||||
asrs r3, 16
|
||||
ldrb r1, [r5, 0xA]
|
||||
ldr r0, =sub_81616C0
|
||||
str r0, [sp]
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x1
|
||||
bl sub_81B1F18
|
||||
add sp, 0x4
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_816166C
|
||||
|
||||
thumb_func_start sub_81616C0
|
||||
sub_81616C0: @ 81616C0
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
ldr r0, =gUnknown_0203CEC8
|
||||
movs r1, 0xA
|
||||
ldrsb r1, [r0, r1]
|
||||
movs r0, 0x64
|
||||
muls r0, r1
|
||||
ldr r1, =gPlayerParty
|
||||
adds r0, r1
|
||||
ldr r1, =gStringVar1
|
||||
bl GetMonNickname
|
||||
ldr r4, =gStringVar4
|
||||
ldr r1, =gText_PkmnHPRestoredByVar2
|
||||
adds r0, r4, 0
|
||||
bl StringExpandPlaceholders
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_81B1B5C
|
||||
movs r0, 0x2
|
||||
bl schedule_bg_copy_tilemap_to_vram
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, =sub_8161724
|
||||
str r1, [r0]
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81616C0
|
||||
|
||||
thumb_func_start sub_8161724
|
||||
sub_8161724: @ 8161724
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
bl sub_81B1BD4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _08161772
|
||||
ldr r4, =gUnknown_0203CEC8
|
||||
movs r0, 0
|
||||
strb r0, [r4, 0xB]
|
||||
ldrb r0, [r4, 0x9]
|
||||
movs r1, 0
|
||||
bl sub_81B0FCC
|
||||
ldrb r0, [r4, 0xA]
|
||||
strb r0, [r4, 0x9]
|
||||
ldrb r0, [r4, 0xA]
|
||||
movs r1, 0x1
|
||||
bl sub_81B0FCC
|
||||
movs r0, 0x6
|
||||
movs r1, 0
|
||||
bl sub_8198070
|
||||
movs r0, 0x6
|
||||
bl ClearWindowTilemap
|
||||
movs r0, 0
|
||||
bl display_pokemon_menu_message
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, =sub_81B1370
|
||||
str r1, [r0]
|
||||
_08161772:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8161724
|
||||
|
||||
thumb_func_start sub_8161784
|
||||
sub_8161784: @ 8161784
|
||||
push {r4,lr}
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
bl sub_81B1BD4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _081617AA
|
||||
movs r0, 0x5
|
||||
bl display_pokemon_menu_message
|
||||
ldr r0, =gTasks
|
||||
lsls r1, r4, 2
|
||||
adds r1, r4
|
||||
lsls r1, 3
|
||||
adds r1, r0
|
||||
ldr r0, =sub_81B1370
|
||||
str r0, [r1]
|
||||
_081617AA:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8161784
|
||||
|
||||
thumb_func_start sub_81617B8
|
||||
sub_81617B8: @ 81617B8
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
ldr r0, =gText_CantBeUsedOnPkmn
|
||||
movs r1, 0
|
||||
bl sub_81B1B5C
|
||||
movs r0, 0x2
|
||||
bl schedule_bg_copy_tilemap_to_vram
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, =sub_8161784
|
||||
str r1, [r0]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81617B8
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
@ -1,93 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start hm_prepare_rocksmash
|
||||
hm_prepare_rocksmash: @ 8145DC4
|
||||
push {r4,lr}
|
||||
movs r0, 0x57
|
||||
bl npc_before_player_of_type
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _08145DD8
|
||||
movs r0, 0
|
||||
b _08145DF2
|
||||
_08145DD8:
|
||||
ldr r4, =gSpecialVar_Result
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4]
|
||||
ldr r1, =gUnknown_03005DB0
|
||||
ldr r0, =FieldCallback_Teleport
|
||||
str r0, [r1]
|
||||
ldr r1, =gUnknown_0203CEEC
|
||||
ldr r0, =sub_8145E0C
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
_08145DF2:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end hm_prepare_rocksmash
|
||||
|
||||
thumb_func_start sub_8145E0C
|
||||
sub_8145E0C: @ 8145E0C
|
||||
push {lr}
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
ldr r0, =FieryPath_EventScript_2908FD
|
||||
bl ScriptContext1_SetupScript
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8145E0C
|
||||
|
||||
thumb_func_start sub_8145E2C
|
||||
sub_8145E2C: @ 8145E2C
|
||||
push {lr}
|
||||
bl oei_task_add
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r2, =sub_8145E74
|
||||
lsrs r0, r2, 16
|
||||
strh r0, [r1, 0x18]
|
||||
strh r2, [r1, 0x1A]
|
||||
ldr r0, =gFieldEffectArguments
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x64
|
||||
muls r0, r1
|
||||
ldr r1, =gPlayerParty
|
||||
adds r0, r1
|
||||
ldr r1, =gStringVar1
|
||||
bl GetMonNickname
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end sub_8145E2C
|
||||
|
||||
thumb_func_start sub_8145E74
|
||||
sub_8145E74: @ 8145E74
|
||||
push {lr}
|
||||
movs r0, 0x28
|
||||
bl FieldEffectActiveListRemove
|
||||
bl EnableBothScriptContexts
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8145E74
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
@ -1,220 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start SetUpFieldMove_SweetScent
|
||||
SetUpFieldMove_SweetScent: @ 8159EF0
|
||||
ldr r1, =gUnknown_03005DB0
|
||||
ldr r0, =FieldCallback_Teleport
|
||||
str r0, [r1]
|
||||
ldr r1, =gUnknown_0203CEEC
|
||||
ldr r0, =hm2_sweet_scent
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end SetUpFieldMove_SweetScent
|
||||
|
||||
thumb_func_start hm2_sweet_scent
|
||||
hm2_sweet_scent: @ 8159F10
|
||||
push {lr}
|
||||
movs r0, 0x33
|
||||
bl FieldEffectStart
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end hm2_sweet_scent
|
||||
|
||||
thumb_func_start FldEff_SweetScent
|
||||
FldEff_SweetScent: @ 8159F2C
|
||||
push {lr}
|
||||
bl sub_80AC3D0
|
||||
bl oei_task_add
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r2, =sub_8159F5C
|
||||
lsrs r0, r2, 16
|
||||
strh r0, [r1, 0x18]
|
||||
strh r2, [r1, 0x1A]
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end FldEff_SweetScent
|
||||
|
||||
thumb_func_start sub_8159F5C
|
||||
sub_8159F5C: @ 8159F5C
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
movs r0, 0xEC
|
||||
bl PlaySE
|
||||
ldr r5, =gPlttBufferUnfaded
|
||||
ldr r1, =gPaletteDecompressionBuffer
|
||||
movs r4, 0x80
|
||||
lsls r4, 1
|
||||
adds r0, r5, 0
|
||||
adds r2, r4, 0
|
||||
bl CpuFastSet
|
||||
ldr r0, =gPlttBufferFaded
|
||||
adds r1, r5, 0
|
||||
adds r2, r4, 0
|
||||
bl CpuFastSet
|
||||
bl GetPlayerAvatarObjectId
|
||||
ldr r2, =gSprites
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r2
|
||||
ldrb r1, [r1, 0x5]
|
||||
lsrs r1, 4
|
||||
adds r1, 0x10
|
||||
movs r0, 0x1
|
||||
lsls r0, r1
|
||||
mvns r0, r0
|
||||
movs r1, 0x1F
|
||||
str r1, [sp]
|
||||
movs r1, 0x4
|
||||
movs r2, 0
|
||||
movs r3, 0x8
|
||||
bl BeginNormalPaletteFade
|
||||
ldr r0, =sub_8159FEC
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
movs r0, 0
|
||||
strh r0, [r1, 0x8]
|
||||
movs r0, 0x33
|
||||
bl FieldEffectActiveListRemove
|
||||
add sp, 0x4
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8159F5C
|
||||
|
||||
thumb_func_start sub_8159FEC
|
||||
sub_8159FEC: @ 8159FEC
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
ldr r0, =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
cmp r6, 0
|
||||
bne _0815A088
|
||||
bl sub_81BE72C
|
||||
movs r0, 0x40
|
||||
movs r1, 0x8
|
||||
movs r2, 0x1F
|
||||
bl BlendPalettes
|
||||
ldr r0, =gTasks
|
||||
lsls r1, r5, 2
|
||||
adds r1, r5
|
||||
lsls r1, 3
|
||||
adds r4, r1, r0
|
||||
ldrh r1, [r4, 0x8]
|
||||
movs r2, 0x8
|
||||
ldrsh r0, [r4, r2]
|
||||
cmp r0, 0x40
|
||||
bne _0815A084
|
||||
strh r6, [r4, 0x8]
|
||||
bl SweetScentWildEncounter
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0815A044
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
b _0815A088
|
||||
.pool
|
||||
_0815A044:
|
||||
ldr r0, =sub_815A090
|
||||
str r0, [r4]
|
||||
bl GetPlayerAvatarObjectId
|
||||
ldr r2, =gSprites
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r2
|
||||
ldrb r1, [r1, 0x5]
|
||||
lsrs r1, 4
|
||||
adds r1, 0x10
|
||||
movs r0, 0x1
|
||||
lsls r0, r1
|
||||
mvns r0, r0
|
||||
movs r1, 0x1F
|
||||
str r1, [sp]
|
||||
movs r1, 0x4
|
||||
movs r2, 0x8
|
||||
movs r3, 0
|
||||
bl BeginNormalPaletteFade
|
||||
bl sub_81BE6B8
|
||||
b _0815A088
|
||||
.pool
|
||||
_0815A084:
|
||||
adds r0, r1, 0x1
|
||||
strh r0, [r4, 0x8]
|
||||
_0815A088:
|
||||
add sp, 0x4
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8159FEC
|
||||
|
||||
thumb_func_start sub_815A090
|
||||
sub_815A090: @ 815A090
|
||||
push {r4,lr}
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
ldr r0, =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _0815A0BE
|
||||
ldr r0, =gPaletteDecompressionBuffer
|
||||
ldr r1, =gPlttBufferUnfaded
|
||||
movs r2, 0x80
|
||||
lsls r2, 1
|
||||
bl CpuFastSet
|
||||
bl sub_80AC3E4
|
||||
ldr r0, =EventScript_290CAE
|
||||
bl ScriptContext1_SetupScript
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
_0815A0BE:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_815A090
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
|
@ -713,7 +713,7 @@ _08160CD8:
|
||||
b _08160E8A
|
||||
_08160CE6:
|
||||
bl sub_8160EA0
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
b _08160E8A
|
||||
.pool
|
||||
|
5477
asm/main_menu.s
5477
asm/main_menu.s
File diff suppressed because it is too large
Load Diff
@ -9,14 +9,14 @@
|
||||
sub_80D47D4: @ 80D47D4
|
||||
push {lr}
|
||||
bl sub_80A0934
|
||||
bl AddMapNamePopUpWindowTask
|
||||
bl ShowMapNamePopup
|
||||
movs r0, 0x1
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80D47D4
|
||||
|
||||
thumb_func_start AddMapNamePopUpWindowTask
|
||||
AddMapNamePopUpWindowTask: @ 80D47E4
|
||||
thumb_func_start ShowMapNamePopup
|
||||
ShowMapNamePopup: @ 80D47E4
|
||||
push {r4,lr}
|
||||
movs r0, 0x80
|
||||
lsls r0, 7
|
||||
@ -83,7 +83,7 @@ _080D486C:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end AddMapNamePopUpWindowTask
|
||||
thumb_func_end ShowMapNamePopup
|
||||
|
||||
thumb_func_start Task_MapNamePopUpWindow
|
||||
Task_MapNamePopUpWindow: @ 80D487C
|
||||
|
6825
asm/overworld.s
6825
asm/overworld.s
File diff suppressed because it is too large
Load Diff
@ -10032,7 +10032,7 @@ _081B557C:
|
||||
asrs r1, 24
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
bl get_mapheader_by_bank_and_number
|
||||
bl Overworld_GetMapHeaderByGroupAndId
|
||||
adds r1, r0, 0
|
||||
ldr r0, =gStringVar1
|
||||
ldrb r1, [r1, 0x14]
|
||||
@ -10057,7 +10057,7 @@ _081B55B8:
|
||||
asrs r1, 24
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
bl get_mapheader_by_bank_and_number
|
||||
bl Overworld_GetMapHeaderByGroupAndId
|
||||
adds r1, r0, 0
|
||||
ldr r0, =gStringVar1
|
||||
ldrb r1, [r1, 0x14]
|
||||
@ -10083,7 +10083,7 @@ _081B5614:
|
||||
.pool
|
||||
_081B5624:
|
||||
ldr r1, =gUnknown_0203CEC8
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
_081B5628:
|
||||
str r0, [r1]
|
||||
adds r0, r6, 0
|
||||
@ -10189,7 +10189,7 @@ _081B56F8:
|
||||
b _081B572A
|
||||
_081B56FE:
|
||||
ldr r1, =gUnknown_0203CEC8
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
str r0, [r1]
|
||||
adds r0, r4, 0
|
||||
bl sub_81B12C0
|
||||
@ -10408,7 +10408,7 @@ sub_81B58A8: @ 81B58A8
|
||||
str r0, [sp]
|
||||
ldr r0, =sub_81B1370
|
||||
str r0, [sp, 0x4]
|
||||
ldr r0, =sub_8086194
|
||||
ldr r0, =CB2_ReturnToFieldWithOpenMenu
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
@ -14836,7 +14836,7 @@ CB2_PartyMenuFromStartMenu: @ 81B7F34
|
||||
str r0, [sp]
|
||||
ldr r0, =sub_81B1370
|
||||
str r0, [sp, 0x4]
|
||||
ldr r0, =sub_8086194
|
||||
ldr r0, =CB2_ReturnToFieldWithOpenMenu
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
@ -16021,7 +16021,7 @@ sub_81B892C: @ 81B892C
|
||||
str r0, [sp]
|
||||
ldr r0, =sub_81B1370
|
||||
str r0, [sp, 0x4]
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
@ -16042,7 +16042,7 @@ sub_81B8958: @ 81B8958
|
||||
str r0, [sp]
|
||||
ldr r0, =sub_81B1370
|
||||
str r0, [sp, 0x4]
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0xB
|
||||
movs r1, 0
|
||||
@ -17283,7 +17283,7 @@ sub_81B9354: @ 81B9354
|
||||
str r1, [sp]
|
||||
ldr r1, =sub_81B1370
|
||||
str r1, [sp, 0x4]
|
||||
ldr r1, =c2_exit_to_overworld_2_switch
|
||||
ldr r1, =CB2_ReturnToField
|
||||
str r1, [sp, 0x8]
|
||||
movs r1, 0
|
||||
movs r2, 0xB
|
||||
@ -17311,7 +17311,7 @@ _081B93A6:
|
||||
ldr r0, =gUnknown_03005DB0
|
||||
ldr r1, =hm_add_c3_without_phase_2
|
||||
str r1, [r0]
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
@ -17420,7 +17420,7 @@ _081B9486:
|
||||
ldr r1, =gUnknown_03005DB0
|
||||
ldr r0, =hm_add_c3_without_phase_2
|
||||
str r0, [r1]
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -17556,7 +17556,7 @@ _081B95BA:
|
||||
ldr r0, =gUnknown_03005DB0
|
||||
ldr r1, =hm_add_c3_without_phase_2
|
||||
str r1, [r0]
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
@ -17660,7 +17660,7 @@ sub_81B968C: @ 81B968C
|
||||
subs r3, 0x1
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
str r0, [sp]
|
||||
movs r0, 0x3
|
||||
bl sub_81BF8EC
|
||||
|
@ -586,7 +586,7 @@ sub_816B31C: @ 816B31C
|
||||
ldr r0, =gFieldCallback
|
||||
ldr r1, =mapldr_080EBC0C
|
||||
str r1, [r0]
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -1279,7 +1279,7 @@ sub_816B900: @ 816B900
|
||||
ldr r0, =gFieldCallback
|
||||
ldr r1, =pal_fill_for_maplights_or_black
|
||||
str r1, [r0]
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -1538,7 +1538,7 @@ sub_816BB28: @ 816BB28
|
||||
ldr r0, =gFieldCallback
|
||||
ldr r1, =sub_816BB48
|
||||
str r1, [r0]
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
@ -443,24 +443,24 @@ _080BB65E:
|
||||
cmp r0, 0
|
||||
bne _080BB6D0
|
||||
movs r0, 0
|
||||
bl sub_80C0844
|
||||
bl GetHoennPokedexCount
|
||||
ldr r1, [r4]
|
||||
ldr r2, =0x0000061a
|
||||
adds r1, r2
|
||||
strh r0, [r1]
|
||||
movs r0, 0x1
|
||||
bl sub_80C0844
|
||||
bl GetHoennPokedexCount
|
||||
b _080BB6E4
|
||||
.pool
|
||||
_080BB6D0:
|
||||
movs r0, 0
|
||||
bl pokedex_count
|
||||
bl GetNationalPokedexCount
|
||||
ldr r1, [r4]
|
||||
ldr r2, =0x0000061a
|
||||
adds r1, r2
|
||||
strh r0, [r1]
|
||||
movs r0, 0x1
|
||||
bl pokedex_count
|
||||
bl GetNationalPokedexCount
|
||||
_080BB6E4:
|
||||
ldr r1, [r4]
|
||||
ldr r3, =0x0000061c
|
||||
@ -1244,7 +1244,7 @@ _080BBE18:
|
||||
bl sub_80BC890
|
||||
adds r0, r6, 0
|
||||
bl DestroyTask
|
||||
ldr r0, =sub_8086194
|
||||
ldr r0, =CB2_ReturnToFieldWithOpenMenu
|
||||
bl SetMainCallback2
|
||||
ldr r0, =gMPlayInfo_BGM
|
||||
ldr r1, =0x0000ffff
|
||||
@ -5058,7 +5058,7 @@ _080BDF4C:
|
||||
movs r1, 0x1
|
||||
bl StartSpriteAnim
|
||||
movs r0, 0
|
||||
bl sub_80C0844
|
||||
bl GetHoennPokedexCount
|
||||
lsls r0, 16
|
||||
lsrs r6, r0, 16
|
||||
movs r0, 0
|
||||
@ -5283,7 +5283,7 @@ _080BE198:
|
||||
lsrs r1, 24
|
||||
bl StartSpriteAnim
|
||||
movs r0, 0x1
|
||||
bl sub_80C0844
|
||||
bl GetHoennPokedexCount
|
||||
lsls r0, 16
|
||||
lsrs r6, r0, 16
|
||||
movs r0, 0
|
||||
@ -9597,8 +9597,8 @@ _080C07E8:
|
||||
.pool
|
||||
thumb_func_end GetSetPokedexFlag
|
||||
|
||||
thumb_func_start pokedex_count
|
||||
pokedex_count: @ 80C07F4
|
||||
thumb_func_start GetNationalPokedexCount
|
||||
GetNationalPokedexCount: @ 80C07F4
|
||||
push {r4-r7,lr}
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
@ -9641,10 +9641,10 @@ _080C0832:
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end pokedex_count
|
||||
thumb_func_end GetNationalPokedexCount
|
||||
|
||||
thumb_func_start sub_80C0844
|
||||
sub_80C0844: @ 80C0844
|
||||
thumb_func_start GetHoennPokedexCount
|
||||
GetHoennPokedexCount: @ 80C0844
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
@ -9691,7 +9691,7 @@ _080C088C:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80C0844
|
||||
thumb_func_end GetHoennPokedexCount
|
||||
|
||||
thumb_func_start sub_80C089C
|
||||
sub_80C089C: @ 80C089C
|
||||
|
@ -308,7 +308,7 @@ _0813CCB8:
|
||||
ldr r1, [r5]
|
||||
ldrb r0, [r1, 0x10]
|
||||
ldrb r1, [r1, 0x11]
|
||||
bl get_mapheader_by_bank_and_number
|
||||
bl Overworld_GetMapHeaderByGroupAndId
|
||||
ldr r1, [r5]
|
||||
ldrb r0, [r0, 0x14]
|
||||
strh r0, [r1, 0x12]
|
||||
@ -360,7 +360,7 @@ sub_813CD04: @ 813CD04
|
||||
strb r3, [r1, 0x11]
|
||||
adds r0, r5, 0
|
||||
adds r1, r3, 0
|
||||
bl get_mapheader_by_bank_and_number
|
||||
bl Overworld_GetMapHeaderByGroupAndId
|
||||
ldrb r0, [r0, 0x14]
|
||||
bl CorrectSpecialMapSecId
|
||||
ldr r2, [r4]
|
||||
@ -496,7 +496,7 @@ sub_813CE34: @ 813CE34
|
||||
lsrs r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
bl get_mapheader_by_bank_and_number
|
||||
bl Overworld_GetMapHeaderByGroupAndId
|
||||
ldrb r0, [r0, 0x14]
|
||||
pop {r1}
|
||||
bx r1
|
||||
|
@ -657,7 +657,7 @@ sub_80C7678: @ 80C7678
|
||||
ldr r1, =gFieldCallback
|
||||
ldr r0, =mapldr_0808C6D8
|
||||
str r0, [r1]
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
@ -2024,7 +2024,7 @@ sub_81C4EEC: @ 81C4EEC
|
||||
thumb_func_start sub_81C4EFC
|
||||
sub_81C4EFC: @ 81C4EFC
|
||||
push {lr}
|
||||
ldr r1, =sub_8086194
|
||||
ldr r1, =CB2_ReturnToFieldWithOpenMenu
|
||||
movs r0, 0
|
||||
bl sub_81C4F98
|
||||
pop {r0}
|
||||
@ -2073,7 +2073,7 @@ sub_81C4F44: @ 81C4F44
|
||||
ldr r0, =gUnknown_03005DB0
|
||||
ldr r1, =hm_add_c3_without_phase_2
|
||||
str r1, [r0]
|
||||
ldr r1, =c2_exit_to_overworld_2_switch
|
||||
ldr r1, =CB2_ReturnToField
|
||||
movs r0, 0x3
|
||||
bl sub_81C4F98
|
||||
adds r0, r4, 0
|
||||
|
@ -14,7 +14,7 @@ CB2_PokeNav: @ 81C7250
|
||||
str r0, [r4]
|
||||
cmp r0, 0
|
||||
bne _081C7270
|
||||
ldr r0, =sub_8086194
|
||||
ldr r0, =CB2_ReturnToFieldWithOpenMenu
|
||||
bl SetMainCallback2
|
||||
b _081C7292
|
||||
.pool
|
||||
@ -66,7 +66,7 @@ sub_81C72BC: @ 81C72BC
|
||||
str r0, [r4]
|
||||
cmp r0, 0
|
||||
bne _081C72F0
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl SetMainCallback2
|
||||
b _081C7320
|
||||
.pool
|
||||
@ -351,12 +351,12 @@ _081C752C:
|
||||
bl sub_81C7334
|
||||
cmp r4, 0
|
||||
beq _081C755C
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl SetMainCallback2
|
||||
b _081C7562
|
||||
.pool
|
||||
_081C755C:
|
||||
ldr r0, =sub_8086194
|
||||
ldr r0, =CB2_ReturnToFieldWithOpenMenu
|
||||
bl SetMainCallback2
|
||||
_081C7562:
|
||||
pop {r4-r7}
|
||||
@ -8095,7 +8095,7 @@ sub_81CB0C8: @ 81CB0C8
|
||||
ldrh r2, [r0, 0xA]
|
||||
ldrh r1, [r0, 0xC]
|
||||
adds r0, r2, 0
|
||||
bl get_mapheader_by_bank_and_number
|
||||
bl Overworld_GetMapHeaderByGroupAndId
|
||||
ldrb r0, [r0, 0x14]
|
||||
pop {r1}
|
||||
bx r1
|
||||
@ -30295,7 +30295,7 @@ sub_81D6120: @ 81D6120
|
||||
push {lr}
|
||||
movs r0, 0x1A
|
||||
movs r1, 0x40
|
||||
bl get_mapheader_by_bank_and_number
|
||||
bl Overworld_GetMapHeaderByGroupAndId
|
||||
ldr r0, [r0, 0x4]
|
||||
ldr r0, [r0, 0x8]
|
||||
adds r0, 0x8
|
||||
@ -30334,7 +30334,7 @@ _081D6162:
|
||||
adds r0, r1
|
||||
ldrh r1, [r0]
|
||||
movs r0, 0x1A
|
||||
bl get_mapheader_by_bank_and_number
|
||||
bl Overworld_GetMapHeaderByGroupAndId
|
||||
ldr r0, [r0, 0x4]
|
||||
ldr r0, [r0, 0x8]
|
||||
_081D6176:
|
||||
|
@ -44,7 +44,7 @@ _0813776C:
|
||||
ldrb r0, [r2, 0x11]
|
||||
orrs r1, r0
|
||||
movs r0, 0x1
|
||||
bl sav12_xor_set
|
||||
bl SetGameStat
|
||||
_0813778E:
|
||||
bl sub_8076D48
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
|
@ -376,7 +376,7 @@ _0813574C:
|
||||
thumb_func_start hm2_dig
|
||||
hm2_dig: @ 8135760
|
||||
push {lr}
|
||||
bl flagmods_08054D70
|
||||
bl Overworld_ResetStateAfterDigEscRope
|
||||
movs r0, 0x26
|
||||
bl FieldEffectStart
|
||||
bl GetCursorSelectionMonId
|
||||
|
@ -3116,7 +3116,7 @@ _08014070:
|
||||
movs r0, 0x6
|
||||
strb r0, [r1, 0x1]
|
||||
ldr r1, =gMain
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, =sub_807AE50
|
||||
bl SetMainCallback2
|
||||
@ -3258,7 +3258,7 @@ _080141D4:
|
||||
eors r0, r1
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r1, =c2_exit_to_overworld_2_switch
|
||||
ldr r1, =CB2_ReturnToField
|
||||
bl sub_80C4E74
|
||||
_080141F2:
|
||||
bl RunTasks
|
||||
@ -3399,7 +3399,7 @@ sub_8014304: @ 8014304
|
||||
ldr r0, =0x00004087
|
||||
bl VarSet
|
||||
bl GetLinkPlayerCount
|
||||
ldr r1, =gUnknown_03005DB8
|
||||
ldr r1, =gFieldLinkPlayerCount
|
||||
strb r0, [r1]
|
||||
bl GetMultiplayerId
|
||||
ldr r1, =gUnknown_03005DB4
|
||||
@ -3757,7 +3757,7 @@ _08014714:
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r1, =c2_load_new_map
|
||||
ldr r1, =CB2_LoadMap
|
||||
bl sub_802A9A8
|
||||
b _08014764
|
||||
.pool
|
||||
@ -3766,7 +3766,7 @@ _08014734:
|
||||
movs r1, 0x9
|
||||
movs r2, 0x1
|
||||
bl sub_8014290
|
||||
ldr r0, =c2_load_new_map
|
||||
ldr r0, =CB2_LoadMap
|
||||
bl sub_8020C70
|
||||
b _08014764
|
||||
.pool
|
||||
@ -3778,7 +3778,7 @@ _0801474C:
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r1, =c2_load_new_map
|
||||
ldr r1, =CB2_LoadMap
|
||||
bl sub_802493C
|
||||
_08014764:
|
||||
adds r0, r4, 0
|
||||
@ -6931,7 +6931,7 @@ _08016502:
|
||||
ldr r1, =gFieldCallback
|
||||
ldr r0, =sub_80AF128
|
||||
str r0, [r1]
|
||||
ldr r1, =c2_exit_to_overworld_2_switch
|
||||
ldr r1, =CB2_ReturnToField
|
||||
movs r0, 0x8
|
||||
bl sub_81B8904
|
||||
b _08016878
|
||||
@ -7229,7 +7229,7 @@ _0801677E:
|
||||
ldr r1, =gFieldCallback
|
||||
ldr r0, =sub_80AF128
|
||||
str r0, [r1]
|
||||
ldr r1, =c2_exit_to_overworld_2_switch
|
||||
ldr r1, =CB2_ReturnToField
|
||||
movs r0, 0x9
|
||||
bl sub_81B8904
|
||||
adds r0, r6, 0
|
||||
@ -14941,7 +14941,7 @@ _0801A58C:
|
||||
ldr r0, =gUnknown_03000DAC
|
||||
ldr r0, [r0]
|
||||
bl Free
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl SetMainCallback2
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
@ -16076,7 +16076,7 @@ _0801AF58:
|
||||
bl sub_801ABDC
|
||||
cmp r0, 0
|
||||
beq _0801AFAE
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
b _0801AFAE
|
||||
.pool
|
||||
@ -16102,7 +16102,7 @@ _0801AF98:
|
||||
bl sub_801ABDC
|
||||
cmp r0, 0
|
||||
beq _0801AFAE
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
_0801AFAE:
|
||||
bl RunTasks
|
||||
@ -23568,7 +23568,7 @@ _0801EBA8:
|
||||
bne _0801EBC2
|
||||
bl sub_801F544
|
||||
bl sub_801DE30
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
_0801EBC2:
|
||||
add sp, 0x4
|
||||
@ -27694,7 +27694,7 @@ _08020C26:
|
||||
str r0, [r5]
|
||||
adds r0, r4, 0
|
||||
bl SetMainCallback2
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
cmp r4, r0
|
||||
bne _08020C5A
|
||||
ldr r2, =gTextFlags
|
||||
@ -27705,8 +27705,8 @@ _08020C26:
|
||||
movs r0, 0xC8
|
||||
lsls r0, 1
|
||||
bl PlayNewMapMusic
|
||||
ldr r0, =c1_overworld
|
||||
bl set_callback1
|
||||
ldr r0, =CB1_Overworld
|
||||
bl SetMainCallback1
|
||||
_08020C5A:
|
||||
movs r0, 0
|
||||
_08020C5C:
|
||||
|
@ -915,8 +915,8 @@ _080FBECA:
|
||||
bx r0
|
||||
thumb_func_end RotatingGatePuzzleCameraUpdate
|
||||
|
||||
thumb_func_start sub_80FBED0
|
||||
sub_80FBED0: @ 80FBED0
|
||||
thumb_func_start RotatingGate_InitPuzzleAndGraphics
|
||||
RotatingGate_InitPuzzleAndGraphics: @ 80FBED0
|
||||
push {lr}
|
||||
bl GetCurrentMapRotatingGatePuzzleType
|
||||
cmp r0, 0
|
||||
@ -929,7 +929,7 @@ sub_80FBED0: @ 80FBED0
|
||||
_080FBEEA:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80FBED0
|
||||
thumb_func_end RotatingGate_InitPuzzleAndGraphics
|
||||
|
||||
thumb_func_start CheckForRotatingGatePuzzleCollision
|
||||
CheckForRotatingGatePuzzleCollision: @ 80FBEF0
|
||||
|
@ -2570,7 +2570,7 @@ sub_8141800: @ 8141800
|
||||
movs r0, 0x1E
|
||||
ldrsh r1, [r4, r0]
|
||||
movs r0, 0x1D
|
||||
bl sav12_xor_set
|
||||
bl SetGameStat
|
||||
_08141848:
|
||||
ldr r1, =sub_8141A18
|
||||
ldr r2, =0x0000ffff
|
||||
@ -3276,7 +3276,7 @@ sub_8141E7C: @ 8141E7C
|
||||
ldr r1, =gFieldCallback
|
||||
ldr r0, =sub_80AF168
|
||||
str r0, [r1]
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
|
@ -390,7 +390,7 @@ _080F8AB6:
|
||||
thumb_func_start sub_80F8ACC
|
||||
sub_80F8ACC: @ 80F8ACC
|
||||
push {lr}
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -1559,7 +1559,7 @@ _080F9478:
|
||||
movs r0, 0x1
|
||||
strh r0, [r1]
|
||||
_080F947E:
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -1599,7 +1599,7 @@ _080F94D0:
|
||||
movs r0, 0x1
|
||||
strh r0, [r1]
|
||||
_080F94D6:
|
||||
ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
ldr r0, =CB2_ReturnToFieldContinueScript
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
@ -230,7 +230,7 @@ CB2_ExitSellMenu: @ 80DFC48
|
||||
ldr r0, =gFieldCallback
|
||||
ldr r1, =MapPostLoadHook_ExitBuyOrSellMenu
|
||||
str r1, [r0]
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -2706,7 +2706,7 @@ Task_ExitBuyMenu: @ 80E11B0
|
||||
bne _080E11D6
|
||||
bl RemoveMoneyLabelObject
|
||||
bl BuyMenuFreeMemory
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
|
@ -1,214 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_807521C
|
||||
sub_807521C: @ 807521C
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
lsls r0, 16
|
||||
lsrs r6, r0, 16
|
||||
lsls r1, 16
|
||||
lsrs r7, r1, 16
|
||||
lsls r2, 24
|
||||
lsrs r4, r2, 24
|
||||
ldr r5, =gUnknown_0831C620
|
||||
ldrh r0, [r5, 0x6]
|
||||
bl GetSpriteTileStartByTag
|
||||
lsls r0, 16
|
||||
ldr r1, =0xffff0000
|
||||
cmp r0, r1
|
||||
bne _0807524E
|
||||
adds r0, r5, 0
|
||||
bl LoadCompressedObjectPicUsingHeap
|
||||
ldr r0, =gUnknown_0831C628
|
||||
bl LoadCompressedObjectPaletteUsingHeap
|
||||
_0807524E:
|
||||
ldr r0, =sub_8075370
|
||||
bl CreateInvisibleSpriteWithCallback
|
||||
mov r8, r0
|
||||
mov r0, r8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r8, r0
|
||||
lsls r5, r0, 4
|
||||
add r5, r8
|
||||
lsls r5, 2
|
||||
ldr r0, =gSprites
|
||||
adds r5, r0
|
||||
strh r4, [r5, 0x30]
|
||||
ldr r0, =gUnknown_0831C688
|
||||
mov r9, r0
|
||||
lsls r6, 16
|
||||
asrs r0, r6, 16
|
||||
mov r10, r0
|
||||
ldr r0, =0xfff00000
|
||||
adds r6, r0
|
||||
asrs r6, 16
|
||||
lsls r4, r7, 16
|
||||
asrs r7, r4, 16
|
||||
adds r4, r0
|
||||
asrs r4, 16
|
||||
mov r0, r9
|
||||
adds r1, r6, 0
|
||||
adds r2, r4, 0
|
||||
movs r3, 0x2
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
ldr r0, =gSprites
|
||||
adds r1, r0
|
||||
mov r0, r8
|
||||
strh r0, [r1, 0x2E]
|
||||
ldrh r0, [r5, 0x2E]
|
||||
adds r0, 0x1
|
||||
strh r0, [r5, 0x2E]
|
||||
adds r0, r1, 0
|
||||
bl AnimateSprite
|
||||
mov r0, r9
|
||||
mov r1, r10
|
||||
adds r2, r4, 0
|
||||
movs r3, 0x2
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r4, r0, 4
|
||||
adds r4, r0
|
||||
lsls r4, 2
|
||||
ldr r0, =gSprites
|
||||
adds r4, r0
|
||||
mov r0, r8
|
||||
strh r0, [r4, 0x2E]
|
||||
ldrh r0, [r5, 0x2E]
|
||||
adds r0, 0x1
|
||||
strh r0, [r5, 0x2E]
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl StartSpriteAnim
|
||||
adds r0, r4, 0
|
||||
bl AnimateSprite
|
||||
mov r0, r9
|
||||
adds r1, r6, 0
|
||||
adds r2, r7, 0
|
||||
movs r3, 0x2
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r4, r0, 4
|
||||
adds r4, r0
|
||||
lsls r4, 2
|
||||
ldr r0, =gSprites
|
||||
adds r4, r0
|
||||
mov r0, r8
|
||||
strh r0, [r4, 0x2E]
|
||||
ldrh r0, [r5, 0x2E]
|
||||
adds r0, 0x1
|
||||
strh r0, [r5, 0x2E]
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x2
|
||||
bl StartSpriteAnim
|
||||
adds r0, r4, 0
|
||||
bl AnimateSprite
|
||||
mov r0, r9
|
||||
mov r1, r10
|
||||
adds r2, r7, 0
|
||||
movs r3, 0x2
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r4, r0, 4
|
||||
adds r4, r0
|
||||
lsls r4, 2
|
||||
ldr r0, =gSprites
|
||||
adds r4, r0
|
||||
mov r0, r8
|
||||
strh r0, [r4, 0x2E]
|
||||
ldrh r0, [r5, 0x2E]
|
||||
adds r0, 0x1
|
||||
strh r0, [r5, 0x2E]
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x3
|
||||
bl StartSpriteAnim
|
||||
adds r0, r4, 0
|
||||
bl AnimateSprite
|
||||
mov r0, r8
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end sub_807521C
|
||||
|
||||
thumb_func_start sub_8075370
|
||||
sub_8075370: @ 8075370
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0x2E
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0
|
||||
bne _080753A8
|
||||
ldr r0, =gUnknown_0831C620
|
||||
ldrh r0, [r0, 0x6]
|
||||
bl FreeSpriteTilesByTag
|
||||
ldr r0, =gUnknown_0831C628
|
||||
ldrh r0, [r0, 0x4]
|
||||
bl FreeSpritePaletteByTag
|
||||
movs r1, 0x30
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0
|
||||
bne _080753A4
|
||||
adds r0, r4, 0
|
||||
bl DestroySprite
|
||||
b _080753A8
|
||||
.pool
|
||||
_080753A4:
|
||||
ldr r0, =SpriteCallbackDummy
|
||||
str r0, [r4, 0x1C]
|
||||
_080753A8:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8075370
|
||||
|
||||
thumb_func_start sub_80753B4
|
||||
sub_80753B4: @ 80753B4
|
||||
push {lr}
|
||||
adds r3, r0, 0
|
||||
adds r0, 0x3F
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0x10
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080753DE
|
||||
ldr r2, =gSprites
|
||||
movs r0, 0x2E
|
||||
ldrsh r1, [r3, r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
ldrh r1, [r0, 0x2E]
|
||||
subs r1, 0x1
|
||||
strh r1, [r0, 0x2E]
|
||||
adds r0, r3, 0
|
||||
bl DestroySprite
|
||||
_080753DE:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80753B4
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
@ -418,7 +418,7 @@ _0809FAFE:
|
||||
cmp r1, r0
|
||||
bne _0809FB34
|
||||
movs r0, 0
|
||||
bl pokedex_count
|
||||
bl GetNationalPokedexCount
|
||||
lsls r0, 16
|
||||
cmp r0, 0
|
||||
beq _0809FBA0
|
||||
@ -591,7 +591,7 @@ StartMenu_PlayerName: @ 809FC8C
|
||||
cmp r0, 0
|
||||
beq _0809FCC8
|
||||
_0809FCB6:
|
||||
ldr r0, =sub_8086194
|
||||
ldr r0, =CB2_ReturnToFieldWithOpenMenu
|
||||
bl sub_80C4DDC
|
||||
b _0809FCEA
|
||||
.pool
|
||||
@ -601,12 +601,12 @@ _0809FCC8:
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0809FCE4
|
||||
ldr r0, =sub_8086194
|
||||
ldr r0, =CB2_ReturnToFieldWithOpenMenu
|
||||
bl sub_80C51C4
|
||||
b _0809FCEA
|
||||
.pool
|
||||
_0809FCE4:
|
||||
ldr r0, =sub_8086194
|
||||
ldr r0, =CB2_ReturnToFieldWithOpenMenu
|
||||
bl sub_80C4DDC
|
||||
_0809FCEA:
|
||||
movs r0, 0x1
|
||||
@ -656,7 +656,7 @@ _0809FD38:
|
||||
ldr r0, =CB2_InitOptionMenu
|
||||
bl SetMainCallback2
|
||||
ldr r1, =gMain
|
||||
ldr r0, =sub_8086194
|
||||
ldr r0, =CB2_ReturnToFieldWithOpenMenu
|
||||
str r0, [r1, 0x8]
|
||||
movs r0, 0x1
|
||||
_0809FD52:
|
||||
@ -703,7 +703,7 @@ _0809FDA0:
|
||||
bl overworld_free_bg_tilemaps
|
||||
ldr r0, =gUnknown_03005DB4
|
||||
ldrb r0, [r0]
|
||||
ldr r1, =sub_8086194
|
||||
ldr r1, =CB2_ReturnToFieldWithOpenMenu
|
||||
bl sub_80C4E74
|
||||
movs r0, 0x1
|
||||
_0809FDB4:
|
||||
|
@ -10669,7 +10669,7 @@ _0807CF5C:
|
||||
bl Free
|
||||
str r4, [r7]
|
||||
_0807CFAA:
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
bl sub_807E784
|
||||
_0807CFB4:
|
||||
@ -12774,7 +12774,7 @@ _0807E3A8:
|
||||
bl Free
|
||||
str r4, [r7]
|
||||
_0807E3F6:
|
||||
ldr r0, =c2_exit_to_overworld_2_switch
|
||||
ldr r0, =CB2_ReturnToField
|
||||
bl SetMainCallback2
|
||||
bl sub_807E784
|
||||
_0807E400:
|
||||
|
@ -1925,11 +1925,11 @@ sub_80C376C: @ 80C376C
|
||||
cmp r0, 0
|
||||
bne _080C377E
|
||||
movs r0, 0x1
|
||||
bl sub_80C0844
|
||||
bl GetHoennPokedexCount
|
||||
b _080C3784
|
||||
_080C377E:
|
||||
movs r0, 0x1
|
||||
bl pokedex_count
|
||||
bl GetNationalPokedexCount
|
||||
_080C3784:
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
|
@ -1872,24 +1872,24 @@ gUnknown_0860F010:: @ 860F010
|
||||
.2byte FLAG_BADGE08_GET
|
||||
|
||||
gUnknown_0860F020:: @ 860F020
|
||||
.4byte gUnknown_082A5D6C
|
||||
.4byte gUnknown_082A5DAB
|
||||
.4byte gUnknown_082A5DF1
|
||||
.4byte gUnknown_082A5E34
|
||||
.4byte gUnknown_082A5E83
|
||||
.4byte gUnknown_082A5EB9
|
||||
.4byte gUnknown_082A5EF4
|
||||
.4byte gUnknown_082A5F39
|
||||
.4byte gUnknown_082A5F82
|
||||
.4byte gUnknown_082A5FB9
|
||||
.4byte gUnknown_082A6018
|
||||
.4byte gUnknown_082A6061
|
||||
.4byte gUnknown_082A609C
|
||||
.4byte gUnknown_082A60D5
|
||||
.4byte gUnknown_082A6124
|
||||
.4byte gUnknown_082A616F
|
||||
.4byte gUnknown_082A61D6
|
||||
.4byte gUnknown_082A623A
|
||||
.4byte gUnknown_082A6287
|
||||
.4byte gUnknown_082A62C9
|
||||
.4byte gUnknown_082A6312
|
||||
.4byte gBirchDexRatingText_LessThan10
|
||||
.4byte gBirchDexRatingText_LessThan20
|
||||
.4byte gBirchDexRatingText_LessThan30
|
||||
.4byte gBirchDexRatingText_LessThan40
|
||||
.4byte gBirchDexRatingText_LessThan50
|
||||
.4byte gBirchDexRatingText_LessThan60
|
||||
.4byte gBirchDexRatingText_LessThan70
|
||||
.4byte gBirchDexRatingText_LessThan80
|
||||
.4byte gBirchDexRatingText_LessThan90
|
||||
.4byte gBirchDexRatingText_LessThan100
|
||||
.4byte gBirchDexRatingText_LessThan110
|
||||
.4byte gBirchDexRatingText_LessThan120
|
||||
.4byte gBirchDexRatingText_LessThan130
|
||||
.4byte gBirchDexRatingText_LessThan140
|
||||
.4byte gBirchDexRatingText_LessThan150
|
||||
.4byte gBirchDexRatingText_LessThan160
|
||||
.4byte gBirchDexRatingText_LessThan170
|
||||
.4byte gBirchDexRatingText_LessThan180
|
||||
.4byte gBirchDexRatingText_LessThan190
|
||||
.4byte gBirchDexRatingText_LessThan200
|
||||
.4byte gBirchDexRatingText_DexCompleted
|
||||
|
@ -8,7 +8,6 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "asm/macros/event.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
|
||||
.section script_data, "aw", %progbits
|
||||
|
||||
@ -1287,12 +1286,12 @@ EverGrandeCity_HallOfFame_EventScript_271851:: @ 8271851
|
||||
setvar VAR_0x40D3, 1
|
||||
return
|
||||
|
||||
EverGrandeCity_HallOfFame_EventScript_271857:: @ 8271857
|
||||
EventScript_WhiteOut:: @ 8271857
|
||||
call EverGrandeCity_HallOfFame_EventScript_2718CC
|
||||
goto EverGrandeCity_HallOfFame_EventScript_271862
|
||||
goto EventScript_271862
|
||||
end
|
||||
|
||||
EverGrandeCity_HallOfFame_EventScript_271862:: @ 8271862
|
||||
EventScript_271862:: @ 8271862
|
||||
compare VAR_0x4096, 1
|
||||
goto_eq EverGrandeCity_HallOfFame_EventScript_271884
|
||||
compare VAR_0x4096, 2
|
||||
|
@ -483,7 +483,7 @@ gUnknown_0854FE64:: @ 854FE64
|
||||
.2byte 0x00c8, 0x0048, 0x0040, 0x0038, 0x0030, 0x0028, 0x0020, 0x0018, 0x0000, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_0854FE78:: @ 854FE78
|
||||
gMaxFlashLevel:: @ 854FE78
|
||||
.4byte 0x00000008
|
||||
|
||||
.align 2
|
||||
|
@ -8,7 +8,7 @@
|
||||
.align 2
|
||||
gUnknown_085920D8:: @ 85920D8
|
||||
.4byte sub_81B617C
|
||||
.4byte c2_exit_to_overworld_2_switch
|
||||
.4byte CB2_ReturnToField
|
||||
.4byte NULL
|
||||
|
||||
.align 2
|
||||
|
141
data/main_menu.s
141
data/main_menu.s
@ -1,141 +0,0 @@
|
||||
@ the second big chunk of data
|
||||
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
.align 2
|
||||
gUnknown_082FECFC:: @ 82FECFC
|
||||
.incbin "graphics/birch_speech/bg0.gbapal"
|
||||
.incbin "graphics/birch_speech/bg1.gbapal"
|
||||
|
||||
.align 2
|
||||
gBirchIntroShadowGfx:: @ 82FED3C
|
||||
.incbin "graphics/birch_speech/shadow.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_082FEEF0:: @ 82FEEF0
|
||||
.incbin "graphics/birch_speech/map.bin.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF018:: @ 82FF018
|
||||
.incbin "graphics/birch_speech/bg2.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF028:: @ 82FF028
|
||||
.space 16
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF038:: @ 82FF038
|
||||
window_template 0x00, 0x02, 0x01, 0x1a, 0x02, 0x0f, 0x0001
|
||||
window_template 0x00, 0x02, 0x05, 0x1a, 0x02, 0x0f, 0x0035
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF048:: @ 82FF048
|
||||
window_template 0x00, 0x02, 0x01, 0x1a, 0x06, 0x0f, 0x0001
|
||||
window_template 0x00, 0x02, 0x09, 0x1a, 0x02, 0x0f, 0x009d
|
||||
window_template 0x00, 0x02, 0x0d, 0x1a, 0x02, 0x0f, 0x00d1
|
||||
window_template 0x00, 0x02, 0x11, 0x1a, 0x02, 0x0f, 0x0105
|
||||
window_template 0x00, 0x02, 0x15, 0x1a, 0x02, 0x0f, 0x0139
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF070:: @ 82FF070
|
||||
window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x0f, 0x016d
|
||||
null_window_template
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF080:: @ 82FF080
|
||||
window_template 0x00, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0001
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF088:: @ 82FF088
|
||||
window_template 0x00, 0x03, 0x05, 0x06, 0x04, 0x0f, 0x006d
|
||||
window_template 0x00, 0x03, 0x02, 0x09, 0x0a, 0x0f, 0x0085
|
||||
null_window_template
|
||||
|
||||
.align 2
|
||||
gMainMenuBgPal:: @ 82FF0A0
|
||||
.incbin "graphics/misc/main_menu_bg.gbapal"
|
||||
|
||||
.align 2
|
||||
gMainMenuTextPal:: @ 82FF0C0
|
||||
.incbin "graphics/misc/main_menu_text.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF0E0:: @ 82FF0E0
|
||||
.byte 0x0a, 0x0b, 0x0c
|
||||
|
||||
gUnknown_082FF0E3:: @ 82FF0E3
|
||||
.byte 0x0a, 0x01, 0x0c
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF0E8:: @ 82FF0E8
|
||||
.4byte 0x000001e8, 0x00003071
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF0F0:: @ 82FF0F0
|
||||
.4byte 0x000001ec
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF0F4:: @ 82FF0F4
|
||||
.byte 0x02, 0x78, 0x08, 0x03, 0x78, 0x98, 0x03, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF104:: @ 82FF104
|
||||
.2byte 0xfffe, 0xfffe, 0x3000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF114:: @ 82FF114
|
||||
.4byte gUnknown_082FF104
|
||||
|
||||
.align 2
|
||||
gUnknown_082FF118:: @ 82FF118
|
||||
.4byte gText_BirchBoy, 0x00000000
|
||||
.4byte gText_BirchGirl, 0x00000000
|
||||
|
||||
.align 2
|
||||
gMalePresetNames:: @ 82FF128
|
||||
.4byte gText_DefaultNameStu
|
||||
.4byte gText_DefaultNameMilton
|
||||
.4byte gText_DefaultNameTom
|
||||
.4byte gText_DefaultNameKenny
|
||||
.4byte gText_DefaultNameReid
|
||||
.4byte gText_DefaultNameJude
|
||||
.4byte gText_DefaultNameJaxson
|
||||
.4byte gText_DefaultNameEaston
|
||||
.4byte gText_DefaultNameWalker
|
||||
.4byte gText_DefaultNameTeru
|
||||
.4byte gText_DefaultNameJohnny
|
||||
.4byte gText_DefaultNameBrett
|
||||
.4byte gText_DefaultNameSeth
|
||||
.4byte gText_DefaultNameTerry
|
||||
.4byte gText_DefaultNameCasey
|
||||
.4byte gText_DefaultNameDarren
|
||||
.4byte gText_DefaultNameLandon
|
||||
.4byte gText_DefaultNameCollin
|
||||
.4byte gText_DefaultNameStanley
|
||||
.4byte gText_DefaultNameQuincy
|
||||
|
||||
.align 2
|
||||
gFemalePresetNames:: @ 82FF178
|
||||
.4byte gText_DefaultNameKimmy
|
||||
.4byte gText_DefaultNameTiara
|
||||
.4byte gText_DefaultNameBella
|
||||
.4byte gText_DefaultNameJayla
|
||||
.4byte gText_DefaultNameAllie
|
||||
.4byte gText_DefaultNameLianna
|
||||
.4byte gText_DefaultNameSara
|
||||
.4byte gText_DefaultNameMonica
|
||||
.4byte gText_DefaultNameCamila
|
||||
.4byte gText_DefaultNameAubree
|
||||
.4byte gText_DefaultNameRuthie
|
||||
.4byte gText_DefaultNameHazel
|
||||
.4byte gText_DefaultNameNadine
|
||||
.4byte gText_DefaultNameTanja
|
||||
.4byte gText_DefaultNameYasmin
|
||||
.4byte gText_DefaultNameNicola
|
||||
.4byte gText_DefaultNameLillie
|
||||
.4byte gText_DefaultNameTerra
|
||||
.4byte gText_DefaultNameLucy
|
||||
.4byte gText_DefaultNameHalie
|
@ -1,52 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2, 0
|
||||
gUnknown_08339D3C:: @ 8339D3C
|
||||
.4byte 0xFFFFFF, 0xFFFFFFFF, 0x4B0, 0xE10, 0x4B0, 0x960, 0x32, 0x50, 0xFFFFFFD4, 0x2C
|
||||
|
||||
gUnknown_08339D64:: @ 8339D64
|
||||
.4byte 0, 0
|
||||
.4byte 0, 1
|
||||
.4byte 0, -1
|
||||
.4byte -1, 0
|
||||
.4byte 1, 0
|
||||
.4byte -1, 1
|
||||
.4byte 1, 1
|
||||
.4byte -1, -1
|
||||
.4byte 1, -1
|
||||
|
||||
gUnknown_08339DAC:: @ 8339DAC
|
||||
.4byte 0x1F8
|
||||
.4byte 0x11D1
|
||||
.4byte 0x21C2
|
||||
.4byte 0x31E3
|
||||
|
||||
gUnknown_08339DBC:: @ 8339DBC
|
||||
.4byte REG_WIN0H
|
||||
.4byte 0xa2600001
|
||||
.byte 1, 0
|
||||
|
||||
.align 2
|
||||
gUnknown_08339DC8:: @ 8339DC8
|
||||
.4byte sub_80879D8
|
||||
.4byte sub_80879F8
|
||||
.4byte sub_80879FC
|
||||
|
||||
gUnknown_08339DD4:: @ 8339DD4
|
||||
.4byte sub_8087A1C
|
||||
.4byte sub_8087A20
|
||||
.4byte sub_8087A20
|
||||
.4byte sub_8087A20
|
||||
.4byte sub_8087A20
|
||||
.4byte sub_8087A1C
|
||||
.4byte sub_8087A1C
|
||||
.4byte sub_8087A88
|
||||
.4byte sub_8087A88
|
||||
.4byte sub_8087A88
|
||||
.4byte sub_8087A88
|
||||
|
||||
gUnknown_08339E00:: @ 8339E00
|
||||
.4byte sub_8087AA0
|
||||
.4byte sub_8087AA8
|
@ -434,7 +434,7 @@ gUnknown_08615D9C:: @ 8615D9C
|
||||
.4byte sub_80D3718, 0x00000007
|
||||
.4byte SetUpFieldMove_Flash, 0x0000000d
|
||||
.4byte sub_8135654, 0x0000000d
|
||||
.4byte hm_prepare_rocksmash, 0x0000000d
|
||||
.4byte SetUpFieldMove_Strength, 0x0000000d
|
||||
.4byte sub_81B5820, 0x00000008
|
||||
.4byte sub_81B5884, 0x0000000d
|
||||
.4byte sub_81B5974, 0x0000000d
|
||||
@ -442,8 +442,8 @@ gUnknown_08615D9C:: @ 8615D9C
|
||||
.4byte SetUpFieldMove_Teleport, 0x0000000d
|
||||
.4byte sub_813572C, 0x0000000d
|
||||
.4byte sub_80FA004, 0x0000000d
|
||||
.4byte hm_prepare_dive_probably, 0x00000010
|
||||
.4byte hm_prepare_dive_probably, 0x00000010
|
||||
.4byte SetUpFieldMove_SoftBoiled, 0x00000010
|
||||
.4byte SetUpFieldMove_SoftBoiled, 0x00000010
|
||||
.4byte SetUpFieldMove_SweetScent, 0x0000000d
|
||||
|
||||
.align 2
|
||||
|
@ -916,21 +916,21 @@ RecordCorner_EventScript_277471:: @ 8277471
|
||||
releaseall
|
||||
end
|
||||
|
||||
gUnknown_0827747E:: @ 827747E
|
||||
EventScript_TradeRoom_ReadTrainerCard1:: @ 827747E
|
||||
msgbox Text_278452, 4
|
||||
fadescreen 1
|
||||
special sp02A_crash_sound
|
||||
waitstate
|
||||
end
|
||||
|
||||
gUnknown_0827748D:: @ 827748D
|
||||
EventScript_TradeRoom_ReadTrainerCard2:: @ 827748D
|
||||
msgbox Text_27847B, 4
|
||||
fadescreen 1
|
||||
special sp02A_crash_sound
|
||||
waitstate
|
||||
end
|
||||
|
||||
gUnknown_0827749C:: @ 827749C
|
||||
EventScript_TradeRoom_TooBusyToNotice:: @ 827749C
|
||||
msgbox Text_27842E, 4
|
||||
closemessage
|
||||
end
|
||||
@ -983,7 +983,7 @@ gUnknown_08277509:: @ 8277509
|
||||
special sub_80B371C
|
||||
end
|
||||
|
||||
gUnknown_08277513:: @ 8277513
|
||||
EventScript_277513:: @ 8277513
|
||||
special sub_80B36EC
|
||||
special sub_80AF9F8
|
||||
waitstate
|
||||
|
@ -28,7 +28,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77:: @ 8252A77
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePyramidEmptySquare_EventScript_252A8F:: @ 8252A8F
|
||||
special AddMapNamePopUpWindowTask
|
||||
special ShowMapNamePopup
|
||||
setvar VAR_0x400F, 0
|
||||
end
|
||||
|
||||
|
@ -64,7 +64,7 @@ BattleFrontier_BattlePyramidTop_EventScript_255180:: @ 8255180
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePyramidTop_EventScript_25518A:: @ 825518A
|
||||
special AddMapNamePopUpWindowTask
|
||||
special ShowMapNamePopup
|
||||
setvar VAR_0x400F, 0
|
||||
end
|
||||
|
||||
|
@ -12,7 +12,7 @@ FortreeCity_Gym_MapScript2_2165BA: @ 82165BA
|
||||
.2byte 0
|
||||
|
||||
FortreeCity_Gym_EventScript_2165C4:: @ 82165C4
|
||||
special sub_80FBED0
|
||||
special RotatingGate_InitPuzzleAndGraphics
|
||||
end
|
||||
|
||||
FortreeCity_Gym_EventScript_2165C8:: @ 82165C8
|
||||
|
@ -12,7 +12,7 @@ Route110_TrickHousePuzzle6_MapScript2_26DDB6: @ 826DDB6
|
||||
.2byte 0
|
||||
|
||||
Route110_TrickHousePuzzle6_EventScript_26DDC0:: @ 826DDC0
|
||||
special sub_80FBED0
|
||||
special RotatingGate_InitPuzzleAndGraphics
|
||||
end
|
||||
|
||||
Route110_TrickHousePuzzle6_EventScript_26DDC4:: @ 826DDC4
|
||||
|
@ -18,7 +18,7 @@ Route119_EventScript_1F4439:: @ 81F4439
|
||||
Route119_MapScript1_1F444D: @ 81F444D
|
||||
call Route119_EventScript_271ED7
|
||||
call Route119_EventScript_271EFB
|
||||
compare VAR_0x40B3, 1
|
||||
compare VAR_WEATHER_INSTITUTE_STATE, 1
|
||||
call_if 1, Route119_EventScript_1F4466
|
||||
special SetRoute119Weather
|
||||
end
|
||||
@ -26,7 +26,7 @@ Route119_MapScript1_1F444D: @ 81F444D
|
||||
Route119_EventScript_1F4466:: @ 81F4466
|
||||
setflag FLAG_0x37D
|
||||
clearflag FLAG_0x37C
|
||||
setvar VAR_0x40B3, 2
|
||||
setvar VAR_WEATHER_INSTITUTE_STATE, 2
|
||||
return
|
||||
|
||||
Route119_EventScript_1F4472:: @ 81F4472
|
||||
|
@ -3,7 +3,7 @@ Route119_WeatherInstitute_1F_MapScripts:: @ 826FA86
|
||||
.byte 0
|
||||
|
||||
Route119_WeatherInstitute_1F_MapScript1_26FA8C: @ 826FA8C
|
||||
compare VAR_0x40B3, 0
|
||||
compare VAR_WEATHER_INSTITUTE_STATE, 0
|
||||
call_if 1, Route119_WeatherInstitute_1F_EventScript_26FA98
|
||||
end
|
||||
|
||||
@ -16,7 +16,7 @@ Route119_WeatherInstitute_1F_EventScript_26FAA4:: @ 826FAA4
|
||||
lock
|
||||
faceplayer
|
||||
special GetPlayerBigGuyGirlString
|
||||
compare VAR_0x40B3, 0
|
||||
compare VAR_WEATHER_INSTITUTE_STATE, 0
|
||||
goto_eq Route119_WeatherInstitute_1F_EventScript_26FABE
|
||||
msgbox Route119_WeatherInstitute_1F_Text_26FCE5, 4
|
||||
release
|
||||
|
@ -3,9 +3,9 @@ Route119_WeatherInstitute_2F_MapScripts:: @ 826FF1E
|
||||
.byte 0
|
||||
|
||||
Route119_WeatherInstitute_2F_MapScript1_26FF24: @ 826FF24
|
||||
compare VAR_0x40B3, 0
|
||||
compare VAR_WEATHER_INSTITUTE_STATE, 0
|
||||
call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF44
|
||||
compare VAR_0x40B3, 1
|
||||
compare VAR_WEATHER_INSTITUTE_STATE, 1
|
||||
call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF50
|
||||
checkflag FLAG_SYS_GAME_CLEAR
|
||||
call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF5C
|
||||
@ -62,7 +62,7 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8
|
||||
waitmovement 0
|
||||
msgbox Route119_WeatherInstitute_2F_Text_2705DD, 4
|
||||
closemessage
|
||||
setvar VAR_0x40B3, 1
|
||||
setvar VAR_WEATHER_INSTITUTE_STATE, 1
|
||||
clearflag FLAG_0x37D
|
||||
fadedefaultbgm
|
||||
fadescreen 1
|
||||
|
@ -213,7 +213,7 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_80F972C
|
||||
def_special sp0C8_whiteout_maybe
|
||||
def_special sub_80FBE90
|
||||
def_special sub_80FBED0
|
||||
def_special RotatingGate_InitPuzzleAndGraphics
|
||||
def_special SetSSTidalFlag
|
||||
def_special ResetSSTidalFlag
|
||||
def_special EnterSafariMode
|
||||
@ -417,8 +417,8 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_813B880
|
||||
def_special sub_81A085C
|
||||
def_special ShouldTryGetTrainerScript
|
||||
def_special AddMapNamePopUpWindowTask
|
||||
def_special AddMapNamePopUpWindowTask
|
||||
def_special ShowMapNamePopup
|
||||
def_special ShowMapNamePopup
|
||||
def_special sub_81BE994
|
||||
def_special sub_81BE79C
|
||||
def_special sub_81BE7F4
|
||||
|
@ -1,4 +1,4 @@
|
||||
gUnknown_082C897B:: @ 82C897B
|
||||
gText_Birch_Welcome:: @ 82C897B
|
||||
.string "Hi! Sorry to keep you waiting!\p"
|
||||
.string "Welcome to the world of POKéMON!\p"
|
||||
.string "My name is BIRCH.\p"
|
||||
@ -6,12 +6,12 @@ gUnknown_082C897B:: @ 82C897B
|
||||
.string "PROFESSOR.\p"
|
||||
.string "$"
|
||||
|
||||
gUnknown_082C89FB:: @ 82C89FB
|
||||
gText_Birch_Pokemon:: @ 82C89FB
|
||||
.string "This is what we call a “POKéMON.”\p"
|
||||
.string "\n"
|
||||
.string "$"
|
||||
|
||||
gUnknown_082C8A1F:: @ 82C8A1F
|
||||
gText_Birch_MainSpeech:: @ 82C8A1F
|
||||
.string "This world is widely inhabited by\n"
|
||||
.string "creatures known as POKéMON.\p"
|
||||
.string "We humans live alongside POKéMON,\n"
|
||||
@ -28,28 +28,28 @@ gUnknown_082C8A1F:: @ 82C8A1F
|
||||
.string "That’s what I do.\p"
|
||||
.string "$"
|
||||
|
||||
gUnknown_082C8BD0:: @ 82C8BD0
|
||||
gText_Birch_AndYouAre:: @ 82C8BD0
|
||||
.string "And you are?$"
|
||||
|
||||
gUnknown_082C8BDD:: @ 82C8BDD
|
||||
gText_Birch_BoyOrGirl:: @ 82C8BDD
|
||||
.string "Are you a boy?\n"
|
||||
.string "Or are you a girl?$"
|
||||
|
||||
gUnknown_082C8BFF:: @ 82C8BFF
|
||||
gText_Birch_WhatsYourName:: @ 82C8BFF
|
||||
.string "All right.\n"
|
||||
.string "What’s your name?$"
|
||||
|
||||
gUnknown_082C8C1C:: @ 82C8C1C
|
||||
gText_Birch_SoItsPlayer:: @ 82C8C1C
|
||||
.string "So it’s {PLAYER}{KUN}?$"
|
||||
|
||||
gUnknown_082C8C2A:: @ 82C8C2A
|
||||
gText_Birch_YourePlayer:: @ 82C8C2A
|
||||
.string "Ah, okay!\p"
|
||||
.string "You’re {PLAYER}{KUN} who’s moving to my\n"
|
||||
.string "hometown of LITTLEROOT.\l"
|
||||
.string "I get it now!\p"
|
||||
.string "$"
|
||||
|
||||
gUnknown_082C8C7A:: @ 82C8C7A
|
||||
gText_Birch_AreYouReady:: @ 82C8C7A
|
||||
.string "All right, are you ready?\p"
|
||||
.string "Your very own adventure is about\n"
|
||||
.string "to unfold.\p"
|
||||
|
@ -12,99 +12,99 @@ gUnknown_082A5D2C:: @ 82A5D2C
|
||||
.string "So, you’ve seen {STR_VAR_1} POKéMON,\n"
|
||||
.string "and you’ve caught {STR_VAR_2} POKéMON…$"
|
||||
|
||||
gUnknown_082A5D6C:: @ 82A5D6C
|
||||
gBirchDexRatingText_LessThan10:: @ 82A5D6C
|
||||
.string "Go into grassy areas more and look\n"
|
||||
.string "for POKéMON more carefully.$"
|
||||
|
||||
gUnknown_082A5DAB:: @ 82A5DAB
|
||||
gBirchDexRatingText_LessThan20:: @ 82A5DAB
|
||||
.string "I guess you’re getting the hang\n"
|
||||
.string "of it. But, it gets harder from here.$"
|
||||
|
||||
gUnknown_082A5DF1:: @ 82A5DF1
|
||||
gBirchDexRatingText_LessThan30:: @ 82A5DF1
|
||||
.string "Some POKéMON only appear in\n"
|
||||
.string "certain areas.\l"
|
||||
.string "You must be persistent.$"
|
||||
|
||||
gUnknown_082A5E34:: @ 82A5E34
|
||||
gBirchDexRatingText_LessThan40:: @ 82A5E34
|
||||
.string "Well, it could use more quantity,\n"
|
||||
.string "but this is looking more like\l"
|
||||
.string "a POKéDEX now.$"
|
||||
|
||||
gUnknown_082A5E83:: @ 82A5E83
|
||||
gBirchDexRatingText_LessThan50:: @ 82A5E83
|
||||
.string "This is coming along pretty good.\n"
|
||||
.string "Keep up the effort.$"
|
||||
|
||||
gUnknown_082A5EB9:: @ 82A5EB9
|
||||
gBirchDexRatingText_LessThan60:: @ 82A5EB9
|
||||
.string "Are you using any RODS?\n"
|
||||
.string "There are many POKéMON in the sea.$"
|
||||
|
||||
gUnknown_082A5EF4:: @ 82A5EF4
|
||||
gBirchDexRatingText_LessThan70:: @ 82A5EF4
|
||||
.string "Instead of just catching POKéMON,\n"
|
||||
.string "how about making them evolve, too?$"
|
||||
|
||||
gUnknown_082A5F39:: @ 82A5F39
|
||||
gBirchDexRatingText_LessThan80:: @ 82A5F39
|
||||
.string "This is going to be a fantastic\n"
|
||||
.string "POKéDEX.\l"
|
||||
.string "That’s the feeling I’m getting.$"
|
||||
|
||||
gUnknown_082A5F82:: @ 82A5F82
|
||||
gBirchDexRatingText_LessThan90:: @ 82A5F82
|
||||
.string "You’ve collected this many…\n"
|
||||
.string "Your talent is remarkable!$"
|
||||
|
||||
gUnknown_082A5FB9:: @ 82A5FB9
|
||||
gBirchDexRatingText_LessThan100:: @ 82A5FB9
|
||||
.string "Have you visited the SAFARI ZONE?\p"
|
||||
.string "I hear there are some POKéMON that\n"
|
||||
.string "can only be caught there.$"
|
||||
|
||||
gUnknown_082A6018:: @ 82A6018
|
||||
gBirchDexRatingText_LessThan110:: @ 82A6018
|
||||
.string "You’ve finally reached\n"
|
||||
.string "the 100-kind mark.\p"
|
||||
.string "This is an impressive POKéDEX!$"
|
||||
|
||||
gUnknown_082A6061:: @ 82A6061
|
||||
gBirchDexRatingText_LessThan120:: @ 82A6061
|
||||
.string "There might be POKéMON that can be\n"
|
||||
.string "found using ROCK SMASH.$"
|
||||
|
||||
gUnknown_082A609C:: @ 82A609C
|
||||
gBirchDexRatingText_LessThan130:: @ 82A609C
|
||||
.string "You should get some more POKéMON\n"
|
||||
.string "by trading with others.$"
|
||||
|
||||
gUnknown_082A60D5:: @ 82A60D5
|
||||
gBirchDexRatingText_LessThan140:: @ 82A60D5
|
||||
.string "I’ve heard of POKéMON that evolve\n"
|
||||
.string "when they come to fully love their\l"
|
||||
.string "TRAINERS.$"
|
||||
|
||||
gUnknown_082A6124:: @ 82A6124
|
||||
gBirchDexRatingText_LessThan150:: @ 82A6124
|
||||
.string "I had no idea that there were so\n"
|
||||
.string "many POKéMON species in the HOENN\l"
|
||||
.string "region.$"
|
||||
|
||||
gUnknown_082A616F:: @ 82A616F
|
||||
gBirchDexRatingText_LessThan160:: @ 82A616F
|
||||
.string "On occasion, some POKéMON appear\n"
|
||||
.string "in large numbers like outbreaks.\p"
|
||||
.string "Don’t miss opportunities like\n"
|
||||
.string "those.$"
|
||||
|
||||
gUnknown_082A61D6:: @ 82A61D6
|
||||
gBirchDexRatingText_LessThan170:: @ 82A61D6
|
||||
.string "One can get a very good idea about\n"
|
||||
.string "the POKéMON of the HOENN region\l"
|
||||
.string "by looking through your POKéDEX.$"
|
||||
|
||||
gUnknown_082A623A:: @ 82A623A
|
||||
gBirchDexRatingText_LessThan180:: @ 82A623A
|
||||
.string "I would say you already qualify as\n"
|
||||
.string "a POKéMON PROFESSOR, and a good\l"
|
||||
.string "one, too!$"
|
||||
|
||||
gUnknown_082A6287:: @ 82A6287
|
||||
gBirchDexRatingText_LessThan190:: @ 82A6287
|
||||
.string "With a POKéDEX this complete,\n"
|
||||
.string "you’re a real professional at this!$"
|
||||
|
||||
gUnknown_082A62C9:: @ 82A62C9
|
||||
gBirchDexRatingText_LessThan200:: @ 82A62C9
|
||||
.string "You’re very close to completing\n"
|
||||
.string "this POKéDEX.\l"
|
||||
.string "I can feel it in my bones!$"
|
||||
|
||||
gUnknown_082A6312:: @ 82A6312
|
||||
gBirchDexRatingText_DexCompleted:: @ 82A6312
|
||||
.string "Congratulations!\n"
|
||||
.string "Your POKéDEX is complete!$"
|
||||
|
||||
|
@ -51,9 +51,10 @@
|
||||
#define GAME_STAT_USED_DAYCARE 47
|
||||
#define GAME_STAT_RODE_CABLE_CAR 48
|
||||
#define GAME_STAT_ENTERED_HOT_SPRINGS 49
|
||||
#define GAME_STAT_50 50
|
||||
#define GAME_STAT_51 51
|
||||
|
||||
/*TODO: add new stats added in Emerald*/
|
||||
|
||||
#define NUM_USED_GAME_STATS 52
|
||||
#define NUM_GAME_STATS 64
|
||||
|
||||
#endif // GUARD_CONSTANTS_GAME_STAT_H
|
||||
|
@ -184,7 +184,7 @@
|
||||
#define VAR_0x40B0 0x40B0
|
||||
#define VAR_0x40B1 0x40B1
|
||||
#define VAR_0x40B2 0x40B2
|
||||
#define VAR_0x40B3 0x40B3
|
||||
#define VAR_WEATHER_INSTITUTE_STATE 0x40B3
|
||||
#define VAR_PORTHOLE 0x40B4
|
||||
#define VAR_0x40B5 0x40B5
|
||||
#define VAR_0x40B6 0x40B6
|
||||
|
@ -16,5 +16,9 @@ extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
|
||||
extern const u8 gMoveNames[][13];
|
||||
extern const u8 gAbilityNames[][13];
|
||||
extern const u8 gTypeNames[][7];
|
||||
extern struct CompressedSpriteSheet gUnknown_0831C620;
|
||||
extern struct CompressedSpritePalette gUnknown_0831C628;
|
||||
extern const struct SpriteTemplate gUnknown_0831C688;
|
||||
|
||||
|
||||
#endif // GUARD_DATA2_H
|
||||
|
@ -380,4 +380,7 @@ extern const u8 SecretBase_RedCave1_Text_274E75[];
|
||||
extern const u8 SecretBase_RedCave1_Text_2751E1[];
|
||||
extern const u8 SecretBase_RedCave1_Text_2754F6[];
|
||||
extern const u8 SecretBase_RedCave1_Text_2758CC[];
|
||||
|
||||
extern const u8 FieryPath_EventScript_2908FD[];
|
||||
extern const u8 EventScript_290CAE[];
|
||||
#endif //GUARD_EVENT_SCRIPTS_H
|
||||
|
@ -26,5 +26,14 @@ void DrawWholeMapView(void);
|
||||
void CurrentMapDrawMetatileAt(int x, int y);
|
||||
void sub_8089C08(s16 *a0, s16 *a1);
|
||||
void DrawDoorMetatileAt(int x, int y, u16 *arr);
|
||||
void move_tilemap_camera_to_upper_left_corner(void);
|
||||
void sub_8057A58(void);
|
||||
void ResetCameraUpdateInfo(void);
|
||||
u32 InitCameraUpdateCallback(u8 a);
|
||||
void CameraUpdate(void);
|
||||
void SetCameraPanningCallback(void (*a)(void));
|
||||
void SetCameraPanning(s16 a, s16 b);
|
||||
void InstallCameraPanAheadCallback(void);
|
||||
void UpdateCameraPanning(void);
|
||||
|
||||
#endif //GUARD_FIELD_CAMERA_H
|
||||
|
41
include/field_control_avatar.h
Normal file
41
include/field_control_avatar.h
Normal file
@ -0,0 +1,41 @@
|
||||
#ifndef GUARD_FIELDCONTROLAVATAR_H
|
||||
#define GUARD_FIELDCONTROLAVATAR_H
|
||||
|
||||
struct FieldInput
|
||||
{
|
||||
u8 pressedAButton:1;
|
||||
u8 input_field_0_1:1;
|
||||
u8 pressedStartButton:1;
|
||||
u8 pressedSelectButton:1;
|
||||
u8 input_field_0_4:1;
|
||||
u8 input_field_0_5:1;
|
||||
u8 input_field_0_6:1;
|
||||
u8 pressedBButton:1;
|
||||
u8 input_field_1_0:1;
|
||||
u8 input_field_1_1:1;
|
||||
u8 input_field_1_2:1;
|
||||
u8 input_field_1_3:1;
|
||||
u8 input_field_1_4:1;
|
||||
u8 input_field_1_5:1;
|
||||
u8 input_field_1_6:1;
|
||||
u8 input_field_1_7:1;
|
||||
u8 dpadDirection;
|
||||
u8 input_field_3;
|
||||
};
|
||||
|
||||
void FieldClearPlayerInput(struct FieldInput *pStruct);
|
||||
void FieldGetPlayerInput(struct FieldInput *pStruct, u16 keys, u16 heldKeys);
|
||||
int sub_809C014(struct FieldInput *pStruct);
|
||||
u8 *sub_80682A8(struct MapPosition *, u8, u8);
|
||||
void overworld_poison_timer_set(void);
|
||||
void prev_quest_postbuffer_cursor_backup_reset(void);
|
||||
u8 *sub_8068E24(struct MapPosition *);
|
||||
u8 *GetFieldObjectScriptPointerPlayerFacing(void);
|
||||
bool8 mapheader_trigger_activate_at__run_now(struct MapPosition *);
|
||||
bool8 sub_8068870(u16 a);
|
||||
bool8 sub_8068894(void);
|
||||
bool8 sub_8068A64(struct MapPosition *, u16);
|
||||
u8 sub_8068F18(void);
|
||||
bool8 dive_warp(struct MapPosition *position, u16 b);
|
||||
|
||||
#endif // GUARD_FIELDCONTROLAVATAR_H
|
@ -74,10 +74,13 @@ extern u32 gFieldEffectArguments[8];
|
||||
u32 FieldEffectStart(u8);
|
||||
bool8 FieldEffectActiveListContains(u8 id);
|
||||
void sub_80B69DC(void);
|
||||
u8 AddNewGameBirchObject(s16, s16, u8);
|
||||
void FieldEffectStop(struct Sprite *sprite, u8 id);
|
||||
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
|
||||
void sub_80B7FC8(void);
|
||||
void FieldEffectActiveListRemove(u8 id);
|
||||
void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8);
|
||||
extern void (*gUnknown_0203CEEC)(void);
|
||||
extern bool8 (*gUnknown_03005DB0)(void);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECTS_H
|
||||
|
@ -10,6 +10,8 @@
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
u8 ZCoordToPriority(u8);
|
||||
void FieldObjectUpdateZCoord(struct MapObject *pObject);
|
||||
void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
|
||||
void InitObjectPriorityByZCoord(struct Sprite *, u8);
|
||||
bool8 IsZCoordMismatchAt(u8, s16, s16);
|
||||
|
@ -25,6 +25,7 @@ enum SpinnerRunnerFollowPatterns {
|
||||
// Exported ROM declarations
|
||||
|
||||
void sub_808D438(void);
|
||||
u8 get_go_image_anim_num(u8);
|
||||
u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8);
|
||||
bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *);
|
||||
u8 GetFieldObjectIdByXY(s16, s16);
|
||||
@ -88,6 +89,8 @@ bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *ma
|
||||
u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject);
|
||||
void sub_808F23C(const struct MapObject *mapObject, u8 movementType);
|
||||
void sub_808F208(const struct MapObject *mapObject);
|
||||
void npc_coords_shift_still(struct MapObject *pObject);
|
||||
void FieldObjectMoveDestCoords(struct MapObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1);
|
||||
|
||||
// Exported data declarations
|
||||
|
||||
|
@ -1,10 +1,12 @@
|
||||
#ifndef GUARD_FIELD_PLAYER_AVATAR_H
|
||||
#define GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
||||
void player_step(u8 a, u16 b, u16 c);
|
||||
void ClearPlayerAvatarInfo(void);
|
||||
void SetPlayerAvatarExtraStateTransition(u8, u8);
|
||||
u8 GetPlayerAvatarGenderByGraphicsId(u8);
|
||||
bool8 TestPlayerAvatarFlags(u8);
|
||||
u8 GetPlayerAvatarObjectId(void);
|
||||
void PlayerGetDestCoords(s16 *, s16 *);
|
||||
u8 player_get_direction_lower_nybble(void);
|
||||
u8 player_get_direction_upper_nybble(void);
|
||||
@ -31,11 +33,11 @@ u8 CheckForFieldObjectCollision(struct MapObject *a, s16 b, s16 c, u8 d, u8 e);
|
||||
u8 PlayerGetZCoord(void);
|
||||
void SetPlayerAvatarTransitionFlags(u16 a);
|
||||
void sub_808BCE8(void);
|
||||
void InitPlayerAvatar(s16 a, s16 b, u8 c, u8 d);
|
||||
void sub_808B864(void);
|
||||
void sub_808BCF4(void);
|
||||
|
||||
void sub_808D074(u8);
|
||||
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
|
||||
u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8);
|
||||
|
||||
#endif //GUARD_FIELD_PLAYER_AVATAR_H
|
||||
#endif // GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
@ -10,5 +10,7 @@ void pal_fill_black(void);
|
||||
bool8 sub_80ABDFC(void);
|
||||
void sub_80AF168(void);
|
||||
void UpdateWeatherPerDay(u16 days);
|
||||
void sub_80AC3D0(void);
|
||||
void sub_80AC3E4(void);
|
||||
|
||||
#endif //GUARD_FIELD_SCREEN_H
|
||||
|
@ -15,5 +15,6 @@ bool8 MapGridIsImpassableAt(s16, s16);
|
||||
s32 GetMapBorderIdAt(s16, s16);
|
||||
bool32 CanCameraMoveInDirection(u8);
|
||||
u16 GetBehaviorByMetatileId(u16 metatileId);
|
||||
void sav1_camera_get_focus_coords(u16 *x, u16 *y);
|
||||
|
||||
#endif //GUARD_FIELDMAP_H
|
||||
|
7
include/fldeff_groundshake.h
Normal file
7
include/fldeff_groundshake.h
Normal file
@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_FLDEFF_GROUNDSHAKE_H
|
||||
#define GUARD_FLDEFF_GROUNDSHAKE_H
|
||||
|
||||
void sub_81BE6B8(void);
|
||||
void sub_81BE72C(void);
|
||||
|
||||
#endif // GUARD_FLDEFF_GROUNDSHAKE_H
|
@ -501,23 +501,24 @@
|
||||
// I/O register fields
|
||||
|
||||
// DISPCNT
|
||||
#define DISPCNT_MODE_0 0x0000 // BG0: text, BG1: text, BG2: text, BG3: text
|
||||
#define DISPCNT_MODE_1 0x0001 // BG0: text, BG1: text, BG2: affine, BG3: off
|
||||
#define DISPCNT_MODE_2 0x0002 // BG0: off, BG1: off, BG2: affine, BG3: affine
|
||||
#define DISPCNT_MODE_3 0x0003 // Bitmap mode, 240x160, BGR555 color
|
||||
#define DISPCNT_MODE_4 0x0004 // Bitmap mode, 240x160, 256 color palette
|
||||
#define DISPCNT_MODE_5 0x0005 // Bitmap mode, 160x128, BGR555 color
|
||||
#define DISPCNT_OBJ_1D_MAP 0x0040
|
||||
#define DISPCNT_FORCED_BLANK 0x0080
|
||||
#define DISPCNT_BG0_ON 0x0100
|
||||
#define DISPCNT_BG1_ON 0x0200
|
||||
#define DISPCNT_BG2_ON 0x0400
|
||||
#define DISPCNT_BG3_ON 0x0800
|
||||
#define DISPCNT_BG_ALL_ON 0x0F00
|
||||
#define DISPCNT_OBJ_ON 0x1000
|
||||
#define DISPCNT_WIN0_ON 0x2000
|
||||
#define DISPCNT_WIN1_ON 0x4000
|
||||
#define DISPCNT_OBJWIN_ON 0x8000
|
||||
#define DISPCNT_MODE_0 0x0000 // BG0: text, BG1: text, BG2: text, BG3: text
|
||||
#define DISPCNT_MODE_1 0x0001 // BG0: text, BG1: text, BG2: affine, BG3: off
|
||||
#define DISPCNT_MODE_2 0x0002 // BG0: off, BG1: off, BG2: affine, BG3: affine
|
||||
#define DISPCNT_MODE_3 0x0003 // Bitmap mode, 240x160, BGR555 color
|
||||
#define DISPCNT_MODE_4 0x0004 // Bitmap mode, 240x160, 256 color palette
|
||||
#define DISPCNT_MODE_5 0x0005 // Bitmap mode, 160x128, BGR555 color
|
||||
#define DISPCNT_HBLANK_INTERVAL 0x0020 // Allow access to OAM during H-Blank
|
||||
#define DISPCNT_OBJ_1D_MAP 0x0040
|
||||
#define DISPCNT_FORCED_BLANK 0x0080
|
||||
#define DISPCNT_BG0_ON 0x0100
|
||||
#define DISPCNT_BG1_ON 0x0200
|
||||
#define DISPCNT_BG2_ON 0x0400
|
||||
#define DISPCNT_BG3_ON 0x0800
|
||||
#define DISPCNT_BG_ALL_ON 0x0F00
|
||||
#define DISPCNT_OBJ_ON 0x1000
|
||||
#define DISPCNT_WIN0_ON 0x2000
|
||||
#define DISPCNT_WIN1_ON 0x4000
|
||||
#define DISPCNT_OBJWIN_ON 0x8000
|
||||
|
||||
// DISPSTAT
|
||||
#define DISPSTAT_VBLANK 0x0001 // in V-Blank
|
||||
|
@ -162,10 +162,10 @@ struct MapConnections
|
||||
|
||||
struct MapHeader
|
||||
{
|
||||
/* 0x00 */ struct MapData *mapData;
|
||||
/* 0x04 */ struct MapEvents *events;
|
||||
/* 0x08 */ u8 *mapScripts;
|
||||
/* 0x0C */ struct MapConnections *connections;
|
||||
/* 0x00 */ const struct MapData *mapData;
|
||||
/* 0x04 */ const struct MapEvents *events;
|
||||
/* 0x08 */ const u8 *mapScripts;
|
||||
/* 0x0C */ const struct MapConnections *connections;
|
||||
/* 0x10 */ u16 music;
|
||||
/* 0x12 */ u16 mapDataId;
|
||||
/* 0x14 */ u8 regionMapSectionId;
|
||||
|
@ -150,6 +150,18 @@ struct UCoords16
|
||||
u16 y;
|
||||
};
|
||||
|
||||
struct Coords32
|
||||
{
|
||||
s32 x;
|
||||
s32 y;
|
||||
};
|
||||
|
||||
struct UCoords32
|
||||
{
|
||||
u32 x;
|
||||
u32 y;
|
||||
};
|
||||
|
||||
struct Time
|
||||
{
|
||||
/*0x00*/ s16 days;
|
||||
@ -624,12 +636,12 @@ struct SaveBlock1
|
||||
/*0x04*/ struct WarpData location;
|
||||
/*0x0C*/ struct WarpData warp1;
|
||||
/*0x14*/ struct WarpData warp2;
|
||||
/*0x1C*/ struct WarpData warp3;
|
||||
/*0x1C*/ struct WarpData lastHealLocation;
|
||||
/*0x24*/ struct WarpData warp4;
|
||||
/*0x2C*/ u16 battleMusic;
|
||||
/*0x2C*/ u16 savedMusic;
|
||||
/*0x2E*/ u8 weather;
|
||||
/*0x2F*/ u8 filler_2F;
|
||||
/*0x30*/ u8 flashUsed;
|
||||
/*0x30*/ u8 flashLevel;
|
||||
/*0x32*/ u16 mapDataId;
|
||||
/*0x34*/ u16 mapView[0x100];
|
||||
/*0x234*/ u8 playerPartyCount;
|
||||
@ -711,6 +723,23 @@ struct SaveBlock1
|
||||
|
||||
extern struct SaveBlock1* gSaveBlock1Ptr;
|
||||
|
||||
struct MapPosition
|
||||
{
|
||||
s16 x;
|
||||
s16 y;
|
||||
u8 height;
|
||||
};
|
||||
|
||||
struct UnkStruct_8054FF8
|
||||
{
|
||||
u8 a;
|
||||
u8 b;
|
||||
u8 c;
|
||||
u8 d;
|
||||
struct MapPosition sub;
|
||||
u16 field_C;
|
||||
};
|
||||
|
||||
struct Bitmap // TODO: Find a better spot for this
|
||||
{
|
||||
u8* pixels;
|
||||
|
@ -12,7 +12,7 @@ void ItemUseOutOfBattle_Itemfinder(u8);
|
||||
void ItemUseOnFieldCB_Itemfinder(u8);
|
||||
void RunItemfinderResults(u8);
|
||||
void ExitItemfinder(u8);
|
||||
bool8 ItemfinderCheckForHiddenItems(struct MapEvents *, u8);
|
||||
bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *, u8);
|
||||
void sub_80C9720(u8);
|
||||
void sub_80C9838(u8, s16, s16);
|
||||
u8 GetPlayerDirectionTowardsHiddenItem(s16, s16);
|
||||
|
@ -198,6 +198,10 @@ extern u32 gUnknown_020223C0;
|
||||
extern bool8 gLinkVSyncDisabled;
|
||||
extern u32 gLinkStatus;
|
||||
|
||||
|
||||
void c2_mystery_gift(void);
|
||||
void sub_801867C(void);
|
||||
bool8 sub_80093CC(void);
|
||||
void Task_DestroySelf(u8 taskId);
|
||||
void OpenLink(void);
|
||||
void CloseLink(void);
|
||||
|
@ -34,6 +34,7 @@ void sub_8197930(void);
|
||||
u8 GetPlayerTextSpeed(void);
|
||||
void sub_81978B0(u16 arg0);
|
||||
|
||||
void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextSubPrinter *, u16));
|
||||
void box_print(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str);
|
||||
void sub_8198070(u8 windowId, bool8 copyToVram);
|
||||
void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock);
|
||||
|
@ -6,9 +6,17 @@
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
struct ArrowStruct {
|
||||
u8 unk0[6];
|
||||
u16 unk6[4];
|
||||
u8 unkE;
|
||||
};
|
||||
|
||||
void Task_ScrollIndicatorArrowPairOnMainMenu(u8);
|
||||
u8 AddScrollIndicatorArrowPairParametrized(u8, u8, u8, u8, s32, u16, u16, u16 *);
|
||||
void RemoveScrollIndicatorArrowPair(u8);
|
||||
u8 AddScrollIndicatorArrowPair(void*, void*);
|
||||
u8 AddScrollIndicatorArrowPair(const struct ArrowStruct*, void*);
|
||||
void sub_81AF15C(u8, u8, u8);
|
||||
|
||||
#endif //GUARD_MENU_INDICATORS_H
|
||||
|
@ -1,7 +1,5 @@
|
||||
#ifndef GUARD_ROM4_H
|
||||
#define GUARD_ROM4_H
|
||||
|
||||
#include "main.h"
|
||||
#ifndef GUARD_OVERWORLD_H
|
||||
#define GUARD_OVERWORLD_H
|
||||
|
||||
struct UnkPlayerStruct
|
||||
{
|
||||
@ -17,69 +15,124 @@ struct LinkPlayerMapObject
|
||||
u8 mode;
|
||||
};
|
||||
|
||||
struct UCoords32
|
||||
{
|
||||
u32 x, y;
|
||||
};
|
||||
|
||||
extern struct WarpData gUnknown_020322DC;
|
||||
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
|
||||
extern MainCallback gFieldCallback;
|
||||
|
||||
void Overworld_SetMapObjTemplateCoords(u8, s16, s16);
|
||||
void Overworld_SetMapObjTemplateMovementType(u8, u8);
|
||||
extern const struct UCoords32 gUnknown_08339D64[];
|
||||
|
||||
void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
|
||||
void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId);
|
||||
void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void Overworld_SetHealLocationWarp(u8);
|
||||
void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void sub_8084E2C(s8, s8, s8, s8, s8);
|
||||
void sub_8084E80(s8, s8, s8, s8, s8);
|
||||
void sub_8084EBC(s16, s16);
|
||||
|
||||
void player_avatar_init_params_reset(void);
|
||||
|
||||
bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType);
|
||||
void DoWhiteOut(void);
|
||||
void Overworld_ResetStateAfterFly(void);
|
||||
void Overworld_ResetStateAfterTeleport(void);
|
||||
|
||||
void Overworld_SetFlashLevel(s32 a1);
|
||||
//u8 Overworld_GetFlashLevel(void);
|
||||
void sub_8085524(u16);
|
||||
|
||||
void Overworld_SetSavedMusic(u16);
|
||||
void Overworld_ChangeMusicToDefault(void);
|
||||
void Overworld_ChangeMusicTo(u16);
|
||||
|
||||
bool32 is_c1_link_related_active(void);
|
||||
extern u16 gUnknown_03005DA8;
|
||||
|
||||
void strange_npc_table_clear(void);
|
||||
const struct MapHeader *get_mapheader_by_bank_and_number(u16, u16);
|
||||
void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *);
|
||||
void sub_8086230(void);
|
||||
void c2_exit_to_overworld_2_switch(void);
|
||||
bool32 sub_8087598(void);
|
||||
void c2_exit_to_overworld_1_continue_scripts_restart_music(void);
|
||||
void Overworld_ResetStateAfterDigEscRope(void);
|
||||
void ResetGameStats(void);
|
||||
void IncrementGameStat(u8 index);
|
||||
u32 GetGameStat(u8 index);
|
||||
void SetGameStat(u8 index, u32 value);
|
||||
void ApplyNewEncryptionKeyToGameStats(u32 newKey);
|
||||
void LoadMapObjTemplatesFromHeader(void);
|
||||
void LoadSaveblockMapObjScripts(void);
|
||||
void Overworld_SetMapObjTemplateCoords(u8 localId, s16 x, s16 y);
|
||||
void Overworld_SetMapObjTemplateMovementType(u8 localId, u8 movementType);
|
||||
const struct MapData *get_mapdata_header(void);
|
||||
void ApplyCurrentWarp(void);
|
||||
void set_warp2_warp3_to_neg_1(void);
|
||||
void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
bool32 warp_data_is_not_neg_1(struct WarpData *warp);
|
||||
const struct MapHeader *Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum);
|
||||
const struct MapHeader *warp1_get_mapheader(void);
|
||||
void set_current_map_header_from_sav1_save_old_name(void);
|
||||
void LoadSaveblockMapHeader(void);
|
||||
void update_camera_pos_from_warpid(void);
|
||||
void warp_in(void);
|
||||
u8 get_map_light_level_by_bank_and_number(s8 mapGroup, s8 mapNum);
|
||||
void sub_8086194(void);
|
||||
void sub_8084CCC(u8 spawn);
|
||||
void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpNum);
|
||||
void c2_load_new_map(void);
|
||||
void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId);
|
||||
void saved_warp2_set(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId);
|
||||
void saved_warp2_set_2(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused);
|
||||
void mapldr_default(void);
|
||||
void sub_8084CCC(u8 a1);
|
||||
void Overworld_SetWarpDestToLastHealLoc(void);
|
||||
void Overworld_SetHealLocationWarp(u8 healLocationId);
|
||||
void sub_8084D5C(s16 a1, s16 a2);
|
||||
void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void sub_8084E14(void);
|
||||
void sub_8084E2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void warp1_set_to_warp2(void);
|
||||
void sub_8084E80(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void sub_8084EBC(s16 x, s16 y);
|
||||
void warp1_set_to_sav1w(void);
|
||||
void sub_8084F2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void sub_8084F6C(u8 a1);
|
||||
void sub_8084FAC(void);
|
||||
const struct MapConnection *GetMapConnection(u8 dir);
|
||||
bool8 sub_8084FF8(u8 dir, u16 x, u16 y);
|
||||
bool8 sub_8085058(u16 x, u16 y);
|
||||
bool8 sub_8085078(u16 x, u16 y);
|
||||
void mliX_load_map(u8 mapGroup, u8 mapNum);
|
||||
void player_avatar_init_params_reset(void);
|
||||
void walkrun_find_lowest_active_bit_in_bitfield(void);
|
||||
bool32 Overworld_IsBikingAllowed(void);
|
||||
void SetDefaultFlashLevel(void);
|
||||
void Overworld_SetFlashLevel(s32 flashLevel);
|
||||
u8 Overworld_GetFlashLevel(void);
|
||||
void sub_8085524(u16 mapDataId);
|
||||
void sub_8085540(u8 var);
|
||||
u8 sub_808554C(void);
|
||||
u16 GetLocationMusic(struct WarpData *warp);
|
||||
u16 GetCurrLocationDefaultMusic(void);
|
||||
u16 GetWarpDestinationMusic(void);
|
||||
void Overworld_ResetMapMusic(void);
|
||||
void Overworld_PlaySpecialMapMusic(void);
|
||||
void Overworld_SetSavedMusic(u16 songNum);
|
||||
void Overworld_ClearSavedMusic(void);
|
||||
void Overworld_ChangeMusicToDefault(void);
|
||||
void Overworld_ChangeMusicTo(u16 newMusic);
|
||||
u8 GetMapMusicFadeoutSpeed(void);
|
||||
void music_something(void);
|
||||
bool8 sub_80859A0(void);
|
||||
void Overworld_FadeOutMapMusic(void);
|
||||
void UpdateAmbientCry(s16 *state, u16 *delayCounter);
|
||||
u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum);
|
||||
u8 GetMapTypeByWarpData(struct WarpData *warp);
|
||||
u8 Overworld_GetMapTypeOfSaveblockLocation(void);
|
||||
u8 get_map_light_from_warp0(void);
|
||||
bool8 is_light_level_1_2_3_5_or_6(u8 a1);
|
||||
void sub_8086194(void);
|
||||
bool8 is_light_level_1_2_3_5_or_6(u8 mapType);
|
||||
bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType);
|
||||
bool8 Overworld_MapTypeIsIndoors(u8 mapType);
|
||||
u8 sav1_saved_warp2_map_get_name(void);
|
||||
u8 sav1_map_get_name(void);
|
||||
u8 GetCurrentMapBattleScene(void);
|
||||
void overworld_free_bg_tilemaps(void);
|
||||
bool32 is_c1_link_related_active(void);
|
||||
void CB1_Overworld(void);
|
||||
void CB2_OverworldBasic(void);
|
||||
void CB2_Overworld(void);
|
||||
void SetMainCallback1(void (*cb)(void));
|
||||
void sub_8085E94(void *a0);
|
||||
void CB2_NewGame(void);
|
||||
void CB2_WhiteOut(void);
|
||||
void CB2_LoadMap(void);
|
||||
void sub_8086024(void);
|
||||
void sub_8086074(void);
|
||||
void CB2_ReturnToField(void);
|
||||
void CB2_ReturnToFieldLocal(void);
|
||||
void CB2_ReturnToFieldLink(void);
|
||||
void c2_8056854(void);
|
||||
void CB2_ReturnToFieldWithOpenMenu(void);
|
||||
void sub_80861B0(void);
|
||||
|
||||
void CB2_ReturnToFieldContinueScript(void);
|
||||
void sub_80861E8(void);
|
||||
void CB2_ContinueSavedGame(void);
|
||||
void sub_8086C2C(void);
|
||||
u32 sub_8087214(void);
|
||||
bool32 sub_808727C(void);
|
||||
u16 sub_8087288(void);
|
||||
u16 sub_808729C(void);
|
||||
u16 sub_80872B0(void);
|
||||
u16 sub_80872C4(void);
|
||||
bool32 sub_8087598(void);
|
||||
bool32 sub_80875C8(void);
|
||||
bool32 sub_8087634(void);
|
||||
bool32 sub_808766C(void);
|
||||
void IncrementGameStat(u8);
|
||||
u32 GetGameStat(u8);
|
||||
void ZeroAllLinkPlayerMapObjects(void);
|
||||
|
||||
void CB2_OverworldBasic(void);
|
||||
|
||||
#endif //GUARD_ROM4_H
|
||||
#endif // GUARD_OVERWORLD_H
|
||||
|
@ -1,6 +1,6 @@
|
||||
#ifndef GUARD_PARTY_MENU_H
|
||||
#define GUARD_PARTY_MENU_H
|
||||
|
||||
#include "task.h"
|
||||
enum
|
||||
{
|
||||
AILMENT_NONE,
|
||||
@ -11,6 +11,17 @@ enum
|
||||
AILMENT_BRN
|
||||
};
|
||||
|
||||
struct Struct203CEC8
|
||||
{
|
||||
u8 filler[0x9];
|
||||
s8 unk9;
|
||||
s8 unkA;
|
||||
u8 unkB;
|
||||
u8 filler2[0x2];
|
||||
};
|
||||
|
||||
extern struct Struct203CEC8 gUnknown_0203CEC8;
|
||||
|
||||
bool8 pokemon_has_move(struct Pokemon *, u16);
|
||||
void sub_81B58A8(void);
|
||||
void DoWallyTutorialBagMenu(void);
|
||||
@ -20,4 +31,11 @@ u8 GetCursorSelectionMonId(void);
|
||||
bool8 FieldCallback_Teleport(void);
|
||||
void sub_81B7F60(void);
|
||||
|
||||
void sub_81B0FCC(u8 partyIdx, u8 a);
|
||||
void sub_81B1370(u8 taskId);
|
||||
void display_pokemon_menu_message(u8 windowId);
|
||||
void sub_81B1F18(u8 taskId, u8 pokemonIdx, s8 a, s16 hp, TaskFunc func);
|
||||
void sub_81B1B5C(void *a, u8 b);
|
||||
u8 sub_81B1BD4();
|
||||
|
||||
#endif // GUARD_PARTY_MENU_H
|
||||
|
@ -17,8 +17,6 @@ enum
|
||||
};
|
||||
|
||||
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
|
||||
u16 pokedex_count(u8);
|
||||
u16 sub_80C0844(u8);
|
||||
u16 sub_80C0E9C(u16, s16, s16, u16);
|
||||
|
||||
#endif // GUARD_POKEDEX_H
|
||||
|
10
include/pokemon_3.h
Normal file
10
include/pokemon_3.h
Normal file
@ -0,0 +1,10 @@
|
||||
#ifndef GUARD_POKEMON_3_H
|
||||
#define GUARD_POKEMON_3_H
|
||||
|
||||
u16 sub_806EFF0(u16);
|
||||
const u8* GetTrainerClassNameFromId(u16 trainerId);
|
||||
const u8* GetTrainerNameFromId(u16 trainerId);
|
||||
void PlayMapChosenOrBattleBGM(u16 song);
|
||||
u8 GetTrainerEncounterMusicId(u16 trainerOpponentId);
|
||||
|
||||
#endif // GUARD_POKEMON_3_H
|
@ -11,6 +11,8 @@ void UpdateBirchState(u16 days);
|
||||
void UpdateFrontierManiac(u16 days);
|
||||
void UpdateFrontierGambler(u16 days);
|
||||
void SetShoalItemFlag(u16 days);
|
||||
|
||||
bool8 npc_before_player_of_type(u8);
|
||||
u8 oei_task_add(void);
|
||||
|
||||
#endif //GUARD_ROM6_H
|
||||
|
@ -231,6 +231,76 @@ extern const u8 gText_FemaleSymbol[];
|
||||
extern const u8 gText_SelectorArrow3[];
|
||||
extern const u8 gText_YesNo[];
|
||||
|
||||
// main menu/birch speech text
|
||||
extern const u8 gText_SaveFileErased[];
|
||||
extern const u8 gText_SaveFileCorrupted[];
|
||||
extern const u8 gJPText_No1MSubCircuit[];
|
||||
extern const u8 gText_BatteryRunDry[];
|
||||
extern const u8 gText_MainMenuNewGame[];
|
||||
extern const u8 gText_MainMenuOption[];
|
||||
extern const u8 gText_MainMenuContinue[];
|
||||
extern const u8 gText_MainMenuMysteryGift2[];
|
||||
extern const u8 gText_MainMenuMysteryEvents[];
|
||||
extern const u8 gText_MainMenuMysteryGift[];
|
||||
extern const u8 gText_WirelessNotConnected[];
|
||||
extern const u8 gText_MysteryGiftCantUse[];
|
||||
extern const u8 gText_MysteryEventsCantUse[];
|
||||
extern const u8 gText_Birch_Welcome[];
|
||||
extern const u8 gText_ThisIsAPokemon[];
|
||||
extern const u8 gText_Birch_MainSpeech[];
|
||||
extern const u8 gText_Birch_AndYouAre[];
|
||||
extern const u8 gText_Birch_BoyOrGirl[];
|
||||
extern const u8 gText_Birch_WhatsYourName[];
|
||||
extern const u8 gText_Birch_SoItsPlayer[];
|
||||
extern const u8 gText_Birch_YourePlayer[];
|
||||
extern const u8 gText_Birch_AreYouReady[];
|
||||
extern const u8 gText_ContinueMenuPlayer[];
|
||||
extern const u8 gText_ContinueMenuTime[];
|
||||
extern const u8 gText_ContinueMenuPokedex[];
|
||||
extern const u8 gText_ContinueMenuBadges[];
|
||||
extern const u8 gText_BirchBoy[];
|
||||
extern const u8 gText_BirchGirl[];
|
||||
extern const u8 gText_DefaultNameStu[];
|
||||
extern const u8 gText_DefaultNameMilton[];
|
||||
extern const u8 gText_DefaultNameTom[];
|
||||
extern const u8 gText_DefaultNameKenny[];
|
||||
extern const u8 gText_DefaultNameReid[];
|
||||
extern const u8 gText_DefaultNameJude[];
|
||||
extern const u8 gText_DefaultNameJaxson[];
|
||||
extern const u8 gText_DefaultNameEaston[];
|
||||
extern const u8 gText_DefaultNameWalker[];
|
||||
extern const u8 gText_DefaultNameTeru[];
|
||||
extern const u8 gText_DefaultNameJohnny[];
|
||||
extern const u8 gText_DefaultNameBrett[];
|
||||
extern const u8 gText_DefaultNameSeth[];
|
||||
extern const u8 gText_DefaultNameTerry[];
|
||||
extern const u8 gText_DefaultNameCasey[];
|
||||
extern const u8 gText_DefaultNameDarren[];
|
||||
extern const u8 gText_DefaultNameLandon[];
|
||||
extern const u8 gText_DefaultNameCollin[];
|
||||
extern const u8 gText_DefaultNameStanley[];
|
||||
extern const u8 gText_DefaultNameQuincy[];
|
||||
extern const u8 gText_DefaultNameKimmy[];
|
||||
extern const u8 gText_DefaultNameTiara[];
|
||||
extern const u8 gText_DefaultNameBella[];
|
||||
extern const u8 gText_DefaultNameJayla[];
|
||||
extern const u8 gText_DefaultNameAllie[];
|
||||
extern const u8 gText_DefaultNameLianna[];
|
||||
extern const u8 gText_DefaultNameSara[];
|
||||
extern const u8 gText_DefaultNameMonica[];
|
||||
extern const u8 gText_DefaultNameCamila[];
|
||||
extern const u8 gText_DefaultNameAubree[];
|
||||
extern const u8 gText_DefaultNameRuthie[];
|
||||
extern const u8 gText_DefaultNameHazel[];
|
||||
extern const u8 gText_DefaultNameNadine[];
|
||||
extern const u8 gText_DefaultNameTanja[];
|
||||
extern const u8 gText_DefaultNameYasmin[];
|
||||
extern const u8 gText_DefaultNameNicola[];
|
||||
extern const u8 gText_DefaultNameLillie[];
|
||||
extern const u8 gText_DefaultNameTerra[];
|
||||
extern const u8 gText_DefaultNameLucy[];
|
||||
extern const u8 gText_DefaultNameHalie[];
|
||||
|
||||
// mystery event menu text
|
||||
extern const u8 gText_EventSafelyLoaded[];
|
||||
extern const u8 gText_LoadErrorEndingSession[];
|
||||
@ -278,4 +348,31 @@ extern const u8 gText_DepositedVar2Var1s[];
|
||||
extern const u8 gText_NoRoomForItems[];
|
||||
extern const u8 gText_ThreeDashes[];
|
||||
|
||||
//party menu text
|
||||
extern const u8 gText_PkmnHPRestoredByVar2[];
|
||||
extern const u8 gText_CantBeUsedOnPkmn[];
|
||||
|
||||
//birch dex rating text
|
||||
extern const u8 gBirchDexRatingText_LessThan10[];
|
||||
extern const u8 gBirchDexRatingText_LessThan20[];
|
||||
extern const u8 gBirchDexRatingText_LessThan30[];
|
||||
extern const u8 gBirchDexRatingText_LessThan40[];
|
||||
extern const u8 gBirchDexRatingText_LessThan50[];
|
||||
extern const u8 gBirchDexRatingText_LessThan60[];
|
||||
extern const u8 gBirchDexRatingText_LessThan70[];
|
||||
extern const u8 gBirchDexRatingText_LessThan80[];
|
||||
extern const u8 gBirchDexRatingText_LessThan90[];
|
||||
extern const u8 gBirchDexRatingText_LessThan100[];
|
||||
extern const u8 gBirchDexRatingText_LessThan110[];
|
||||
extern const u8 gBirchDexRatingText_LessThan120[];
|
||||
extern const u8 gBirchDexRatingText_LessThan130[];
|
||||
extern const u8 gBirchDexRatingText_LessThan140[];
|
||||
extern const u8 gBirchDexRatingText_LessThan150[];
|
||||
extern const u8 gBirchDexRatingText_LessThan160[];
|
||||
extern const u8 gBirchDexRatingText_LessThan170[];
|
||||
extern const u8 gBirchDexRatingText_LessThan180[];
|
||||
extern const u8 gBirchDexRatingText_LessThan190[];
|
||||
extern const u8 gBirchDexRatingText_LessThan200[];
|
||||
extern const u8 gBirchDexRatingText_DexCompleted[];
|
||||
|
||||
#endif //GUARD_STRINGS_H
|
||||
|
@ -57,7 +57,7 @@ SECTIONS {
|
||||
asm/link_rfu.o(.text);
|
||||
asm/rom_8011DC0.o(.text);
|
||||
src/rtc.o(.text);
|
||||
asm/main_menu.o(.text);
|
||||
src/main_menu.o(.text);
|
||||
src/battle_controllers.o(.text);
|
||||
src/decompress.o(.text);
|
||||
asm/rom_8034C54.o(.text);
|
||||
@ -79,14 +79,14 @@ SECTIONS {
|
||||
src/daycare.o(.text);
|
||||
src/egg_hatch.o(.text);
|
||||
src/battle_interface.o(.text);
|
||||
asm/smokescreen.o(.text);
|
||||
src/smokescreen.o(.text);
|
||||
src/pokeball.o(.text);
|
||||
src/load_save.o(.text);
|
||||
asm/trade.o(.text);
|
||||
src/berry_blender.o(.text);
|
||||
src/play_time.o(.text);
|
||||
src/new_game.o(.text);
|
||||
asm/overworld.o(.text);
|
||||
src/overworld.o(.text);
|
||||
asm/fieldmap.o(.text);
|
||||
src/metatile_behavior.o(.text);
|
||||
asm/field_camera.o(.text);
|
||||
@ -183,7 +183,7 @@ SECTIONS {
|
||||
asm/fldeff_flash.o(.text);
|
||||
asm/post_battle_event_funcs.o(.text);
|
||||
src/time_events.o(.text);
|
||||
asm/birch_pc.o(.text);
|
||||
src/birch_pc.o(.text);
|
||||
src/hof_pc.o(.text);
|
||||
asm/field_specials.o(.text);
|
||||
asm/battle_records.o(.text);
|
||||
@ -193,7 +193,7 @@ SECTIONS {
|
||||
asm/pokedex_cry_screen.o(.text);
|
||||
src/coins.o(.text);
|
||||
src/landmark.o(.text);
|
||||
asm/fldeff_strength.o(.text);
|
||||
src/fldeff_strength.o(.text);
|
||||
src/battle_transition.o(.text);
|
||||
src/battle_controller_link_partner.o(.text);
|
||||
src/battle_message.o(.text);
|
||||
@ -207,10 +207,10 @@ SECTIONS {
|
||||
asm/contest_ai.o(.text);
|
||||
asm/battle_anim_sound_tasks.o(.text);
|
||||
src/battle_controller_safari.o(.text);
|
||||
asm/fldeff_sweetscent.o(.text);
|
||||
src/fldeff_sweetscent.o(.text);
|
||||
asm/battle_anim_815A0D4.o(.text);
|
||||
asm/learn_move.o(.text);
|
||||
asm/fldeff_softboiled.o(.text);
|
||||
src/fldeff_softboiled.o(.text);
|
||||
src/decoration_inventory.o(.text);
|
||||
src/roamer.o(.text);
|
||||
asm/battle_tower.o(.text);
|
||||
@ -371,7 +371,7 @@ SECTIONS {
|
||||
src/link_rfu.o(.rodata);
|
||||
data/rom_8011DC0.o(.rodata);
|
||||
src/rtc.o(.rodata);
|
||||
data/main_menu.o(.rodata);
|
||||
src/main_menu.o(.rodata);
|
||||
data/battle_1.o(.rodata);
|
||||
data/data2b.o(.rodata);
|
||||
src/battle_main.o(.rodata);
|
||||
@ -393,7 +393,7 @@ SECTIONS {
|
||||
data/trade.o(.rodata);
|
||||
src/berry_blender.o(.rodata);
|
||||
src/new_game.o(.rodata);
|
||||
data/overworld.o(.rodata);
|
||||
src/overworld.o(.rodata);
|
||||
data/tilesets.o(.rodata);
|
||||
data/maps.o(.rodata);
|
||||
data/fieldmap.o(.rodata);
|
||||
|
@ -76,7 +76,7 @@ extern bool8 sub_81B1250(void); // ?
|
||||
extern bool8 InBattlePike(void);
|
||||
extern bool8 InBattlePyramid(void);
|
||||
extern u16 GetBattlePyramidPickupItemId(void);
|
||||
extern u8 sav1_map_get_light_level(void);
|
||||
extern u8 Overworld_GetMapTypeOfSaveblockLocation(void);
|
||||
extern u8 sub_813B21C(void);
|
||||
extern u16 get_unknown_box_id(void);
|
||||
|
||||
@ -10578,7 +10578,7 @@ static void atkEF_handleballthrow(void)
|
||||
ballMultiplier = 10;
|
||||
break;
|
||||
case ITEM_DIVE_BALL:
|
||||
if (sav1_map_get_light_level() == 5)
|
||||
if (Overworld_GetMapTypeOfSaveblockLocation() == 5)
|
||||
ballMultiplier = 35;
|
||||
else
|
||||
ballMultiplier = 10;
|
||||
|
@ -49,6 +49,8 @@ struct TrainerBattleParameter
|
||||
u8 ptrType;
|
||||
};
|
||||
|
||||
extern void (*gFieldCallback)(void);
|
||||
|
||||
extern bool8 InBattlePyramid(void);
|
||||
extern bool8 InBattlePike(void);
|
||||
extern bool32 InTrainerHill(void);
|
||||
@ -472,7 +474,7 @@ void StartWallyTutorialBattle(void)
|
||||
{
|
||||
CreateMaleMon(&gEnemyParty[0], SPECIES_RALTS, 5);
|
||||
ScriptContext2_Enable();
|
||||
gMain.savedCallback = c2_exit_to_overworld_1_continue_scripts_restart_music;
|
||||
gMain.savedCallback = CB2_ReturnToFieldContinueScript;
|
||||
gBattleTypeFlags = BATTLE_TYPE_WALLY_TUTORIAL;
|
||||
CreateBattleStartTask(B_TRANSITION_SLICE, 0);
|
||||
}
|
||||
@ -601,7 +603,7 @@ static void CB2_EndWildBattle(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
gFieldCallback = sub_80AF6F0;
|
||||
}
|
||||
}
|
||||
@ -614,13 +616,13 @@ static void CB2_EndScriptedWildBattle(void)
|
||||
if (IsPlayerDefeated(gBattleOutcome) == TRUE)
|
||||
{
|
||||
if (InBattlePyramid())
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
else
|
||||
SetMainCallback2(CB2_WhiteOut);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
}
|
||||
|
||||
@ -937,7 +939,7 @@ static void CB2_StartFirstBattle(void)
|
||||
static void CB2_EndFirstBattle(void)
|
||||
{
|
||||
Overworld_ClearSavedMusic();
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
|
||||
static void sub_80B1218(void)
|
||||
@ -1313,18 +1315,18 @@ static void CB2_EndTrainerBattle(void)
|
||||
{
|
||||
if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT)
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
else if (IsPlayerDefeated(gBattleOutcome) == TRUE)
|
||||
{
|
||||
if (InBattlePyramid() || sub_81D5C18())
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
else
|
||||
SetMainCallback2(CB2_WhiteOut);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
if (!InBattlePyramid() && !sub_81D5C18())
|
||||
{
|
||||
RegisterTrainerInMatchCall();
|
||||
@ -1337,7 +1339,7 @@ static void CB2_EndRematchBattle(void)
|
||||
{
|
||||
if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT)
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
else if (IsPlayerDefeated(gBattleOutcome) == TRUE)
|
||||
{
|
||||
@ -1345,7 +1347,7 @@ static void CB2_EndRematchBattle(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
RegisterTrainerInMatchCall();
|
||||
SetBattledTrainersFlags();
|
||||
HandleRematchVarsOnBattleEnd();
|
||||
|
@ -919,7 +919,7 @@ static void CB2_TestBattleTransition(void)
|
||||
if (IsBattleTransitionDone())
|
||||
{
|
||||
sTestingTransitionState = 0;
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -161,7 +161,7 @@ extern void copy_textbox_border_tile_patterns_to_vram(u8, u16, u8);
|
||||
extern void sub_81AABF0(void (*callback)(void));
|
||||
extern void sub_800B4C0(void);
|
||||
extern void ClearLinkCallback(void);
|
||||
extern void c2_exit_to_overworld_1_continue_scripts_restart_music(void);
|
||||
extern void CB2_ReturnToFieldContinueScript(void);
|
||||
extern void sub_8153430(void);
|
||||
extern bool8 sub_8153474(void);
|
||||
extern void sub_80EECEC(void);
|
||||
@ -2692,7 +2692,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void)
|
||||
if (gReceivedRemoteLinkPlayers == 0)
|
||||
{
|
||||
FREE_AND_SET_NULL(sBerryBlenderData);
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -2742,7 +2742,7 @@ static void CB2_HandlePlayerPlayAgainChoice(void)
|
||||
if (sBerryBlenderData->playAgainState == PLAY_AGAIN_OK)
|
||||
SetMainCallback2(DoBerryBlending);
|
||||
else
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
|
||||
FreeAllWindowBuffers();
|
||||
UnsetBgTilemapBuffer(2);
|
||||
|
93
src/birch_pc.c
Normal file
93
src/birch_pc.c
Normal file
@ -0,0 +1,93 @@
|
||||
#include "global.h"
|
||||
#include "event_data.h"
|
||||
#include "field_message_box.h"
|
||||
#include "pokedex.h"
|
||||
#include "constants/species.h"
|
||||
#include "strings.h"
|
||||
|
||||
extern u16 gSpecialVar_0x8004;
|
||||
extern u16 gSpecialVar_0x8005;
|
||||
extern u16 gSpecialVar_0x8006;
|
||||
|
||||
bool16 ScriptGetPokedexInfo(void)
|
||||
{
|
||||
if (gSpecialVar_0x8004 == 0) // is national dex not present?
|
||||
{
|
||||
gSpecialVar_0x8005 = GetHoennPokedexCount(0);
|
||||
gSpecialVar_0x8006 = GetHoennPokedexCount(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
gSpecialVar_0x8005 = GetNationalPokedexCount(0);
|
||||
gSpecialVar_0x8006 = GetNationalPokedexCount(1);
|
||||
}
|
||||
|
||||
return IsNationalPokedexEnabled();
|
||||
}
|
||||
|
||||
// This shows your Hoenn Pokedex rating and not your National Dex.
|
||||
const u8 *GetPokedexRatingText(u16 count)
|
||||
{
|
||||
if (count < 10)
|
||||
return gBirchDexRatingText_LessThan10;
|
||||
if (count < 20)
|
||||
return gBirchDexRatingText_LessThan20;
|
||||
if (count < 30)
|
||||
return gBirchDexRatingText_LessThan30;
|
||||
if (count < 40)
|
||||
return gBirchDexRatingText_LessThan40;
|
||||
if (count < 50)
|
||||
return gBirchDexRatingText_LessThan50;
|
||||
if (count < 60)
|
||||
return gBirchDexRatingText_LessThan60;
|
||||
if (count < 70)
|
||||
return gBirchDexRatingText_LessThan70;
|
||||
if (count < 80)
|
||||
return gBirchDexRatingText_LessThan80;
|
||||
if (count < 90)
|
||||
return gBirchDexRatingText_LessThan90;
|
||||
if (count < 100)
|
||||
return gBirchDexRatingText_LessThan100;
|
||||
if (count < 110)
|
||||
return gBirchDexRatingText_LessThan110;
|
||||
if (count < 120)
|
||||
return gBirchDexRatingText_LessThan120;
|
||||
if (count < 130)
|
||||
return gBirchDexRatingText_LessThan130;
|
||||
if (count < 140)
|
||||
return gBirchDexRatingText_LessThan140;
|
||||
if (count < 150)
|
||||
return gBirchDexRatingText_LessThan150;
|
||||
if (count < 160)
|
||||
return gBirchDexRatingText_LessThan160;
|
||||
if (count < 170)
|
||||
return gBirchDexRatingText_LessThan170;
|
||||
if (count < 180)
|
||||
return gBirchDexRatingText_LessThan180;
|
||||
if (count < 190)
|
||||
return gBirchDexRatingText_LessThan190;
|
||||
if (count < 200)
|
||||
return gBirchDexRatingText_LessThan200;
|
||||
if (count == 200)
|
||||
{
|
||||
if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), 1)
|
||||
|| GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), 1)) // Jirachi or Deoxys is not counted towards the dex completion. If either of these flags are enabled, it means the actual count is less than 200.
|
||||
return gBirchDexRatingText_LessThan200;
|
||||
return gBirchDexRatingText_DexCompleted;
|
||||
}
|
||||
if (count == 201)
|
||||
{
|
||||
if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), 1)
|
||||
&& GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), 1)) // If both of these flags are enabled, it means the actual count is less than 200.
|
||||
return gBirchDexRatingText_LessThan200;
|
||||
return gBirchDexRatingText_DexCompleted;
|
||||
}
|
||||
if (count == 202)
|
||||
return gBirchDexRatingText_DexCompleted; // Hoenn dex is considered complete, even though the hoenn dex count is 210.
|
||||
return gBirchDexRatingText_LessThan10;
|
||||
}
|
||||
|
||||
void ShowPokedexRatingMessage(void)
|
||||
{
|
||||
ShowFieldMessage(GetPokedexRatingText(gSpecialVar_0x8004));
|
||||
}
|
@ -83,7 +83,7 @@ static void UpdatePerMinute(struct Time *localTime)
|
||||
static void ReturnFromStartWallClock(void)
|
||||
{
|
||||
InitTimeBasedEvents();
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
|
||||
void StartWallClock(void)
|
||||
|
@ -46,7 +46,7 @@ extern void sub_819746C(u8, bool8);
|
||||
extern void NewMenuHelpers_DrawStdWindowFrame(u8, bool8);
|
||||
extern void sub_81B9328(void);
|
||||
extern void sub_81AF078(u32, bool8, struct ListMenu *);
|
||||
extern void c2_exit_to_overworld_2_switch(void);
|
||||
extern void CB2_ReturnToField(void);
|
||||
|
||||
// this file's functions
|
||||
static void ClearDaycareMonMisc(struct DaycareMiscMon *misc);
|
||||
@ -1315,5 +1315,5 @@ void ShowDaycareLevelMenu(void)
|
||||
void ChooseSendDaycareMon(void)
|
||||
{
|
||||
sub_81B9328();
|
||||
gMain.savedCallback = c2_exit_to_overworld_2_switch;
|
||||
gMain.savedCallback = CB2_ReturnToField;
|
||||
}
|
||||
|
@ -38,6 +38,8 @@
|
||||
#include "decoration.h"
|
||||
#include "graphics.h"
|
||||
|
||||
extern void (*gFieldCallback)(void);
|
||||
|
||||
// Static type declarations
|
||||
|
||||
#define OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG 0xbe5
|
||||
@ -1682,7 +1684,7 @@ void c1_overworld_prev_quest(u8 taskId)
|
||||
sub_812A3C8();
|
||||
FreeSpritePaletteByTag(OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG);
|
||||
gFieldCallback = sub_8128CD4;
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
}
|
||||
@ -2673,7 +2675,7 @@ void sub_812A25C(u8 taskId)
|
||||
case 1:
|
||||
sub_812A3C8();
|
||||
gFieldCallback = sub_812A334;
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ extern void FadeScreen(u8, u8);
|
||||
extern void overworld_free_bg_tilemaps(void);
|
||||
extern void sub_80AF168(void);
|
||||
extern void ScanlineEffect_Stop(void);
|
||||
extern void c2_exit_to_overworld_2_switch(void);
|
||||
extern void CB2_ReturnToField(void);
|
||||
extern void play_some_sound(void);
|
||||
extern void DoNamingScreen(u8, const u8*, u16, u8, u32, MainCallback);
|
||||
extern u16 sub_80D22D0(void);
|
||||
@ -564,7 +564,7 @@ static void EggHatchSetMonNickname(void)
|
||||
SetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar3);
|
||||
FreeMonSpritesGfx();
|
||||
Free(sEggHatchData);
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
|
||||
static void Task_EggHatchPlayBGM(u8 taskID)
|
||||
@ -688,7 +688,7 @@ static void CB2_EggHatch_1(void)
|
||||
UnsetBgTilemapBuffer(0);
|
||||
UnsetBgTilemapBuffer(1);
|
||||
Free(sEggHatchData);
|
||||
SetMainCallback2(c2_exit_to_overworld_2_switch);
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -198,7 +198,7 @@ static void npcs_clear_ids_and_state(void)
|
||||
|
||||
void sub_808D438(void)
|
||||
{
|
||||
strange_npc_table_clear();
|
||||
ZeroAllLinkPlayerMapObjects();
|
||||
npcs_clear_ids_and_state();
|
||||
ClearPlayerAvatarInfo();
|
||||
sub_808D450();
|
||||
@ -1673,7 +1673,7 @@ struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8 localId, u8 m
|
||||
}
|
||||
else
|
||||
{
|
||||
mapHeader = get_mapheader_by_bank_and_number(mapGroup, mapNum);
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum);
|
||||
templates = mapHeader->events->mapObjects;
|
||||
count = mapHeader->events->mapObjectCount;
|
||||
}
|
||||
|
109
src/fldeff_softboiled.c
Normal file
109
src/fldeff_softboiled.c
Normal file
@ -0,0 +1,109 @@
|
||||
#include "global.h"
|
||||
#include "menu.h"
|
||||
#include "party_menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "constants/songs.h"
|
||||
#include "sound.h"
|
||||
#include "sprite.h"
|
||||
#include "string_util.h"
|
||||
#include "strings.h"
|
||||
#include "task.h"
|
||||
|
||||
void sub_816166C(u8 taskId);
|
||||
void sub_81617B8(u8 taskId);
|
||||
void sub_81616C0(u8 taskId);
|
||||
void sub_8161724(u8 taskId);
|
||||
|
||||
bool8 SetUpFieldMove_SoftBoiled(void)
|
||||
{
|
||||
u16 maxHp;
|
||||
u16 hp;
|
||||
u16 minHp;
|
||||
|
||||
maxHp = GetMonData(&gPlayerParty[GetCursorSelectionMonId()], MON_DATA_MAX_HP);
|
||||
hp = GetMonData(&gPlayerParty[GetCursorSelectionMonId()], MON_DATA_HP);
|
||||
|
||||
minHp = (maxHp / 5);
|
||||
if (hp > minHp)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_8161560(u8 taskId)
|
||||
{
|
||||
gUnknown_0203CEC8.unkB = 0xA;
|
||||
gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.unk9;
|
||||
sub_81B0FCC(GetCursorSelectionMonId(), 0x1);
|
||||
display_pokemon_menu_message(0x5);
|
||||
gTasks[taskId].func = sub_81B1370;
|
||||
}
|
||||
|
||||
void sub_81615A8(u8 taskId)
|
||||
{
|
||||
u16 hp;
|
||||
|
||||
u8 unk9 = gUnknown_0203CEC8.unk9;
|
||||
u8 pokemonIndex = gUnknown_0203CEC8.unkA;
|
||||
if(pokemonIndex > 6)
|
||||
{
|
||||
gUnknown_0203CEC8.unkB = 0;
|
||||
display_pokemon_menu_message(0x0);
|
||||
gTasks[taskId].func = sub_81B1370;
|
||||
return;
|
||||
}
|
||||
|
||||
hp = GetMonData(&gPlayerParty[pokemonIndex], MON_DATA_HP);
|
||||
if(hp == 0 || unk9 == pokemonIndex || GetMonData(&gPlayerParty[pokemonIndex], MON_DATA_MAX_HP) == hp)
|
||||
{
|
||||
sub_81617B8(taskId);
|
||||
return;
|
||||
}
|
||||
|
||||
PlaySE(SE_KAIFUKU);
|
||||
sub_81B1F18(taskId, unk9, -1, GetMonData(&gPlayerParty[unk9], MON_DATA_MAX_HP)/5, sub_816166C);
|
||||
}
|
||||
|
||||
void sub_816166C(u8 taskId)
|
||||
{
|
||||
PlaySE(SE_KAIFUKU);
|
||||
sub_81B1F18(taskId, gUnknown_0203CEC8.unkA, 1, GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_MAX_HP)/5, sub_81616C0);
|
||||
}
|
||||
|
||||
void sub_81616C0(u8 taskId)
|
||||
{
|
||||
GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unkA], gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2);
|
||||
sub_81B1B5C(gStringVar4, 0);
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
gTasks[taskId].func = sub_8161724;
|
||||
}
|
||||
|
||||
void sub_8161724(u8 taskId)
|
||||
{
|
||||
if(sub_81B1BD4() == 1)
|
||||
return;
|
||||
gUnknown_0203CEC8.unkB = 0x0;
|
||||
sub_81B0FCC(gUnknown_0203CEC8.unk9, 0);
|
||||
gUnknown_0203CEC8.unk9 = gUnknown_0203CEC8.unkA;
|
||||
sub_81B0FCC(gUnknown_0203CEC8.unkA, 1);
|
||||
sub_8198070(0x6, FALSE);
|
||||
ClearWindowTilemap(0x6);
|
||||
display_pokemon_menu_message(0);
|
||||
gTasks[taskId].func = sub_81B1370;
|
||||
}
|
||||
|
||||
void sub_8161784(u8 taskId)
|
||||
{
|
||||
if(sub_81B1BD4() == 1)
|
||||
return;
|
||||
display_pokemon_menu_message(0x5);
|
||||
gTasks[taskId].func = sub_81B1370;
|
||||
}
|
||||
|
||||
void sub_81617B8(u8 taskId)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
sub_81B1B5C(&gText_CantBeUsedOnPkmn, 0);
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
gTasks[taskId].func = sub_8161784;
|
||||
}
|
44
src/fldeff_strength.c
Normal file
44
src/fldeff_strength.c
Normal file
@ -0,0 +1,44 @@
|
||||
#include "global.h"
|
||||
#include "event_data.h"
|
||||
#include "event_scripts.h"
|
||||
#include "field_effect.h"
|
||||
#include "party_menu.h"
|
||||
#include "rom6.h"
|
||||
#include "script.h"
|
||||
#include "task.h"
|
||||
|
||||
void FldEff_UseStrength(void);
|
||||
void sub_8145E74(void);
|
||||
|
||||
bool8 SetUpFieldMove_Strength(void)
|
||||
{
|
||||
if (npc_before_player_of_type(87) == TRUE)
|
||||
{
|
||||
gSpecialVar_Result = GetCursorSelectionMonId();
|
||||
gUnknown_03005DB0 = FieldCallback_Teleport;
|
||||
gUnknown_0203CEEC = FldEff_UseStrength;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void FldEff_UseStrength(void)
|
||||
{
|
||||
gFieldEffectArguments[0] = GetCursorSelectionMonId();
|
||||
ScriptContext1_SetupScript(FieryPath_EventScript_2908FD);
|
||||
}
|
||||
|
||||
bool8 sub_8145E2C(void)
|
||||
{
|
||||
u8 taskId = oei_task_add();
|
||||
gTasks[taskId].data[8] = (u32)sub_8145E74 >> 16;
|
||||
gTasks[taskId].data[9] = (u32)sub_8145E74;
|
||||
GetMonNickname(&gPlayerParty[gFieldEffectArguments[0]], gStringVar1);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_8145E74(void)
|
||||
{
|
||||
FieldEffectActiveListRemove(FLDEFF_USE_STRENGTH);
|
||||
EnableBothScriptContexts();
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user