summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2017-09-03 14:13:01 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2017-09-03 14:13:01 +0200
commita3f602f17c4a5a1c2c7d524b5abac51f35758e8d (patch)
tree311492a80944bb329a9186428e103de1b599baa6 /asm
parent907e281de6953a0d8ed59681306472939532c54f (diff)
begin save.s decomp, thanks revo!
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_4.s2
-rw-r--r--asm/battle_records.s10
-rw-r--r--asm/battle_setup.s48
-rw-r--r--asm/berry_blender.s4
-rw-r--r--asm/clear_save_data_screen.s2
-rw-r--r--asm/contest_link_80F57C4.s8
-rw-r--r--asm/evolution_scene.s4
-rw-r--r--asm/field_control_avatar.s4
-rw-r--r--asm/field_player_avatar.s2
-rw-r--r--asm/hall_of_fame.s8
-rw-r--r--asm/intro.s2
-rw-r--r--asm/item_use.s2
-rw-r--r--asm/link.s14
-rw-r--r--asm/load_save.s12
-rw-r--r--asm/mauville_old_man.s2
-rw-r--r--asm/mystery_event_menu.s2
-rw-r--r--asm/reset_rtc_screen.s2
-rw-r--r--asm/rom4.s16
-rw-r--r--asm/rom6.s10
-rw-r--r--asm/rom_80C6FA0.s4
-rw-r--r--asm/rom_8158B30.s2
-rw-r--r--asm/rom_81700F8.s2
-rw-r--r--asm/rom_8184DA4.s8
-rw-r--r--asm/rom_81BE66C.s2
-rw-r--r--asm/roulette.s2
-rw-r--r--asm/safari_zone.s2
-rw-r--r--asm/save.s1748
-rw-r--r--asm/save_failed_screen.s14
-rw-r--r--asm/scrcmd.s2
-rw-r--r--asm/secret_base.s4
-rw-r--r--asm/shop.s2
-rw-r--r--asm/slot_machine.s2
-rw-r--r--asm/start_menu.s8
-rw-r--r--asm/trade.s4
-rw-r--r--asm/trainer_card.s8
-rw-r--r--asm/tv.s6
-rw-r--r--asm/weather.s2
-rw-r--r--asm/wild_encounter.s2
38 files changed, 122 insertions, 1856 deletions
diff --git a/asm/battle_4.s b/asm/battle_4.s
index 32156cb5f..b5d15859a 100644
--- a/asm/battle_4.s
+++ b/asm/battle_4.s
@@ -15702,7 +15702,7 @@ atk60_cmd60: @ 804E868
ldr r0, =gBattlescriptCurrInstr
ldr r0, [r0]
ldrb r0, [r0, 0x1]
- bl sav12_xor_increment
+ bl IncrementGameStat
_0804E882:
ldr r1, =gBattlescriptCurrInstr
ldr r0, [r1]
diff --git a/asm/battle_records.s b/asm/battle_records.s
index 516c4259e..ae210d9d8 100644
--- a/asm/battle_records.s
+++ b/asm/battle_records.s
@@ -259,12 +259,12 @@ _0813C152:
movs r4, 0x19
_0813C154:
adds r0, r4, 0
- bl sub_80847F8
+ bl GetGameStat
ldr r1, =0x0000270e
cmp r0, r1
bhi _0813C166
adds r0, r4, 0
- bl sav12_xor_increment
+ bl IncrementGameStat
_0813C166:
pop {r4}
pop {r0}
@@ -465,7 +465,7 @@ sub_813C2F4: @ 813C2F4
sub sp, 0xC
ldr r4, =gStringVar1
movs r0, 0x17
- bl sub_80847F8
+ bl GetGameStat
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0
@@ -473,7 +473,7 @@ sub_813C2F4: @ 813C2F4
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar2
movs r0, 0x18
- bl sub_80847F8
+ bl GetGameStat
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0
@@ -481,7 +481,7 @@ sub_813C2F4: @ 813C2F4
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar3
movs r0, 0x19
- bl sub_80847F8
+ bl GetGameStat
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0
diff --git a/asm/battle_setup.s b/asm/battle_setup.s
index 287bd719d..1093fa1cb 100644
--- a/asm/battle_setup.s
+++ b/asm/battle_setup.s
@@ -136,9 +136,9 @@ _080B06F2:
movs r1, 0
bl task_add_01_battle_start
movs r0, 0x7
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0x8
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_80EECC8
bl sub_80B1218
pop {r4}
@@ -166,9 +166,9 @@ sub_80B072C: @ 80B072C
movs r1, 0
bl task_add_01_battle_start
movs r0, 0x7
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0x8
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_80EECC8
bl sub_80B1218
pop {r0}
@@ -217,9 +217,9 @@ sub_80B07B4: @ 80B07B4
movs r1, 0
bl task_add_01_battle_start
movs r0, 0x7
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0x8
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_80EECC8
bl sub_80B1218
pop {r0}
@@ -236,9 +236,9 @@ task_add_01_battle_start_with_music_and_stats: @ 80B0804
movs r1, 0
bl task_add_01_battle_start
movs r0, 0x7
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0x9
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_80B1234
pop {r0}
bx r0
@@ -267,9 +267,9 @@ _080B0846:
bl task_add_01_battle_start
_080B0856:
movs r0, 0x7
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0x9
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_80B1234
pop {r0}
bx r0
@@ -315,9 +315,9 @@ sub_80B08A8: @ 80B08A8
movs r1, 0
bl task_add_01_battle_start
movs r0, 0x7
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0x8
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_80EECC8
bl sub_80B1218
pop {r0}
@@ -342,9 +342,9 @@ sub_80B08EC: @ 80B08EC
movs r1, 0
bl task_add_01_battle_start
movs r0, 0x7
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0x8
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_80EECC8
bl sub_80B1218
pop {r0}
@@ -444,9 +444,9 @@ _080B09F4:
bl task_add_01_battle_start
_080B09FE:
movs r0, 0x7
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0x8
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_80EECC8
bl sub_80B1218
pop {r4}
@@ -482,9 +482,9 @@ _080B0A50:
bl task_add_01_battle_start
_080B0A5A:
movs r0, 0x7
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0x8
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_80EECC8
bl sub_80B1218
pop {r0}
@@ -540,9 +540,9 @@ _080B0AD6:
ldr r1, =0x000001df
bl task_add_01_battle_start
movs r0, 0x7
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0x8
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_80EECC8
bl sub_80B1218
pop {r0}
@@ -1392,9 +1392,9 @@ sub_80B11A8: @ 80B11A8
bl prev_quest_postbuffer_cursor_backup_reset
bl overworld_poison_timer_set
movs r0, 0x7
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0x8
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_80EECC8
bl sub_80B1218
_080B11F0:
@@ -1418,7 +1418,7 @@ sub_80B1204: @ 80B1204
sub_80B1218: @ 80B1218
push {lr}
movs r0, 0x8
- bl sub_80847F8
+ bl GetGameStat
movs r1, 0x3C
bl __umodsi3
cmp r0, 0
@@ -1433,7 +1433,7 @@ _080B122E:
sub_80B1234: @ 80B1234
push {lr}
movs r0, 0x9
- bl sub_80847F8
+ bl GetGameStat
movs r1, 0x14
bl __umodsi3
cmp r0, 0
diff --git a/asm/berry_blender.s b/asm/berry_blender.s
index 8b79ead6d..c63b72647 100644
--- a/asm/berry_blender.s
+++ b/asm/berry_blender.s
@@ -5050,12 +5050,12 @@ _08082292:
cmp r0, 0
bne _080822A8
movs r0, 0x22
- bl sav12_xor_increment
+ bl IncrementGameStat
b _08082458
.pool
_080822A8:
movs r0, 0x21
- bl sav12_xor_increment
+ bl IncrementGameStat
b _08082458
_080822B0:
ldr r6, =gUnknown_020322A4
diff --git a/asm/clear_save_data_screen.s b/asm/clear_save_data_screen.s
index ab0d54a03..9eff4a775 100644
--- a/asm/clear_save_data_screen.s
+++ b/asm/clear_save_data_screen.s
@@ -126,7 +126,7 @@ sub_817ADC0: @ 817ADC0
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl calls_flash_erase_block
+ bl ClearSaveData
adds r0, r4, 0
bl DestroyTask
ldr r0, =sub_817AFD4
diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s
index 28288dea5..851ec8709 100644
--- a/asm/contest_link_80F57C4.s
+++ b/asm/contest_link_80F57C4.s
@@ -543,7 +543,7 @@ _080F5D2A:
cmp r0, 0
bne _080F5D58
movs r0, 0x23
- bl sav12_xor_increment
+ bl IncrementGameStat
ldr r1, =gSpecialVar_0x8005
movs r0, 0x8
strh r0, [r1]
@@ -580,7 +580,7 @@ _080F5D58:
bl VarSet
bl sub_8076D5C
movs r0, 0x1
- bl save_game_when_memory_present
+ bl TrySavingData
bl sav2_gender2_inplace_and_xFE
adds r0, r5, 0
adds r1, r4, 0
@@ -662,7 +662,7 @@ _080F5E2E:
.pool
_080F5E78:
movs r0, 0x24
- bl sav12_xor_increment
+ bl IncrementGameStat
ldr r1, =gUnknown_02039F20
ldr r0, =gUnknown_02039F25
ldrb r0, [r0]
@@ -671,7 +671,7 @@ _080F5E78:
cmp r0, 0
bne _080F5E92
movs r0, 0x25
- bl sav12_xor_increment
+ bl IncrementGameStat
_080F5E92:
ldr r0, =gUnknown_02039F2E
ldrb r0, [r0]
diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s
index fb2ba7262..f1214c557 100644
--- a/asm/evolution_scene.s
+++ b/asm/evolution_scene.s
@@ -1661,7 +1661,7 @@ _0813E99E:
movs r1, 0x3
bl pokedex_flag_operation
movs r0, 0xE
- bl sav12_xor_increment
+ bl IncrementGameStat
b _0813F1A4
.pool
_0813EA1C:
@@ -2845,7 +2845,7 @@ _0813F4F2:
movs r1, 0x3
bl pokedex_flag_operation
movs r0, 0xE
- bl sav12_xor_increment
+ bl IncrementGameStat
b _0813FCC4
.pool
_0813F570:
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index 56b6ef940..fd55e94ad 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -228,7 +228,7 @@ _0809C070:
cmp r0, 0
beq _0809C096
movs r0, 0x5
- bl sav12_xor_increment
+ bl IncrementGameStat
bl increment_var_x4026_on_birth_island_modulo_100
mov r0, sp
adds r1, r4, 0
@@ -1395,7 +1395,7 @@ _0809CA48:
cmp r0, 0
beq _0809CA64
movs r0, 0xD
- bl sav12_xor_increment
+ bl IncrementGameStat
ldr r0, =gUnknown_08291FC0
bl script_env_1_execute_new_script
b _0809CB28
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
index 7706be947..e88eaa650 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -993,7 +993,7 @@ _0808B0E4:
cmp r0, 0
beq _0808B108
movs r0, 0x2B
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0x6
b _0808B152
_0808B108:
diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s
index 2bbb0ed4a..1f7a56418 100644
--- a/asm/hall_of_fame.s
+++ b/asm/hall_of_fame.s
@@ -519,16 +519,16 @@ sub_81739C4: @ 81739C4
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r1, =gUnknown_03006214
+ ldr r1, =gGameContinueCallback
ldr r0, =sub_81736D8
str r0, [r1]
movs r0, 0x3
- bl save_game_when_memory_present
+ bl TrySavingData
lsls r0, 24
lsrs r0, 24
cmp r0, 0xFF
bne _08173A34
- ldr r0, =gUnknown_030061FC
+ ldr r0, =gDamagedSaveSectors
ldr r0, [r0]
cmp r0, 0
beq _08173A34
@@ -1651,7 +1651,7 @@ _081743BC:
_081743C6:
strh r0, [r1, 0x8]
movs r0, 0xA
- bl sub_80847F8
+ bl GetGameStat
ldr r2, =gTasks
adds r1, r5, r6
lsls r1, 3
diff --git a/asm/intro.s b/asm/intro.s
index 71b97da03..54baf2038 100644
--- a/asm/intro.s
+++ b/asm/intro.s
@@ -309,7 +309,7 @@ c2_copyright_1: @ 816CEAC
lsrs r0, 16
bl InitSaveBlockPointersWithRandomOffset
bl sub_808447C
- bl sub_8152680
+ bl ResetSaveCounters
movs r0, 0
bl sub_81534D0
ldr r0, =gUnknown_03006210
diff --git a/asm/item_use.s b/asm/item_use.s
index 5e50e434d..4f9e9e65a 100644
--- a/asm/item_use.s
+++ b/asm/item_use.s
@@ -536,7 +536,7 @@ ItemUseOutOfBattle_Itemfinder: @ 80FD490
lsls r4, 24
lsrs r4, 24
movs r0, 0x27
- bl sav12_xor_increment
+ bl IncrementGameStat
ldr r1, =gUnknown_0203A0F4
ldr r0, =ItemUseOnFieldCB_Itemfinder
str r0, [r1]
diff --git a/asm/link.s b/asm/link.s
index 88b2f5243..17ed8d718 100644
--- a/asm/link.s
+++ b/asm/link.s
@@ -622,7 +622,7 @@ _08009956:
cmp r0, 0
beq _08009968
movs r0, 0x1
- bl save_game_when_memory_present
+ bl TrySavingData
_08009968:
ldrh r1, [r4, 0x2E]
movs r0, 0x4
@@ -20827,7 +20827,7 @@ _08013FFC:
movs r2, 0x64
bl memcpy
movs r0, 0x32
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_800A5B4
b _0801405A
.pool
@@ -29860,7 +29860,7 @@ _08018EC0:
.pool
_08018ECC:
movs r0, 0
- bl save_game_when_memory_present
+ bl TrySavingData
b _08018EEC
_08018ED4:
ldr r0, =gUnknown_085EF5E0
@@ -33410,7 +33410,7 @@ _0801AB1E:
cmp r4, r6
ble _0801AB1E
movs r0, 0x32
- bl sav12_xor_increment
+ bl IncrementGameStat
bl calc_player_party_count
ldr r0, =gUnknown_02038BCA
movs r2, 0xC0
@@ -38746,7 +38746,7 @@ _0801D6D8:
b _0801D7FE
_0801D6EA:
ldrb r0, [r2, 0x4]
- bl sub_80847F8
+ bl GetGameStat
adds r2, r0, 0
adds r0, r4, 0
movs r1, 0x12
@@ -41252,7 +41252,7 @@ _0801EB04:
bne _0801EBC2
bl sub_8076D5C
movs r0, 0
- bl save_game_when_memory_present
+ bl TrySavingData
ldr r0, =gUnknown_02022C84
ldr r1, [r0]
movs r0, 0x8
@@ -52525,7 +52525,7 @@ sub_8024578: @ 8024578
adds r4, r0, 0
movs r5, 0
movs r0, 0x33
- bl sav12_xor_increment
+ bl IncrementGameStat
strb r5, [r4, 0xD]
movs r1, 0
strh r5, [r4, 0x10]
diff --git a/asm/load_save.s b/asm/load_save.s
index 8cb8ee993..205333800 100644
--- a/asm/load_save.s
+++ b/asm/load_save.s
@@ -398,23 +398,23 @@ _08076E7A:
.pool
thumb_func_end save_deserialize_npcs
- thumb_func_start save_serialize_game
-save_serialize_game: @ 8076EAC
+ thumb_func_start SaveSerializedGame
+SaveSerializedGame: @ 8076EAC
push {lr}
bl copy_player_party_to_sav1
bl save_serialize_npcs
pop {r0}
bx r0
- thumb_func_end save_serialize_game
+ thumb_func_end SaveSerializedGame
- thumb_func_start save_deserialize_game
-save_deserialize_game: @ 8076EBC
+ thumb_func_start LoadSerializedGame
+LoadSerializedGame: @ 8076EBC
push {lr}
bl copy_player_party_from_sav1
bl save_deserialize_npcs
pop {r0}
bx r0
- thumb_func_end save_deserialize_game
+ thumb_func_end LoadSerializedGame
thumb_func_start copy_bags_and_unk_data_from_save_blocks
copy_bags_and_unk_data_from_save_blocks: @ 8076ECC
diff --git a/asm/mauville_old_man.s b/asm/mauville_old_man.s
index fb6378bcc..ef08dc65f 100644
--- a/asm/mauville_old_man.s
+++ b/asm/mauville_old_man.s
@@ -1775,7 +1775,7 @@ sub_8120E74: @ 8120E74
bne _08120E80
movs r0, 0
_08120E80:
- bl sub_80847F8
+ bl GetGameStat
pop {r1}
bx r1
thumb_func_end sub_8120E74
diff --git a/asm/mystery_event_menu.s b/asm/mystery_event_menu.s
index 125f9c71b..003fa80f5 100644
--- a/asm/mystery_event_menu.s
+++ b/asm/mystery_event_menu.s
@@ -484,7 +484,7 @@ _08178D74:
cmp r0, 0
bne _08178E34
movs r0, 0
- bl save_game_when_memory_present
+ bl TrySavingData
b _08178E34
.pool
_08178DBC:
diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s
index 06fba72d5..f4904a147 100644
--- a/asm/reset_rtc_screen.s
+++ b/asm/reset_rtc_screen.s
@@ -1269,7 +1269,7 @@ _0809F340:
.pool
_0809F398:
movs r0, 0
- bl save_game_when_memory_present
+ bl TrySavingData
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/rom4.s b/asm/rom4.s
index 9f2ac2252..498d8acac 100644
--- a/asm/rom4.s
+++ b/asm/rom4.s
@@ -155,16 +155,16 @@ _080847AC:
bx r0
thumb_func_end sub_80847A8
- thumb_func_start sav12_xor_increment
-@ void sav12_xor_increment(u8 a1)
-sav12_xor_increment: @ 80847C4
+ thumb_func_start IncrementGameStat
+@ void IncrementGameStat(u8 a1)
+IncrementGameStat: @ 80847C4
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x33
bhi _080847EC
adds r0, r4, 0
- bl sub_80847F8
+ bl GetGameStat
adds r1, r0, 0
ldr r0, =0x00fffffe
cmp r1, r0
@@ -182,10 +182,10 @@ _080847EC:
pop {r0}
bx r0
.pool
- thumb_func_end sav12_xor_increment
+ thumb_func_end IncrementGameStat
- thumb_func_start sub_80847F8
-sub_80847F8: @ 80847F8
+ thumb_func_start GetGameStat
+GetGameStat: @ 80847F8
push {lr}
lsls r0, 24
lsrs r1, r0, 24
@@ -210,7 +210,7 @@ _08084828:
_0808482A:
pop {r1}
bx r1
- thumb_func_end sub_80847F8
+ thumb_func_end GetGameStat
thumb_func_start sav12_xor_set
sav12_xor_set: @ 8084830
diff --git a/asm/rom6.s b/asm/rom6.s
index be0170dae..766aa8fba 100644
--- a/asm/rom6.s
+++ b/asm/rom6.s
@@ -330,7 +330,7 @@ oei_rocksmash: @ 81356E4
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
movs r0, 0x13
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0
pop {r1}
bx r1
@@ -4055,7 +4055,7 @@ _08137760:
bl FlagSet
_0813776C:
movs r0, 0x1
- bl sub_80847F8
+ bl GetGameStat
cmp r0, 0
bne _0813778E
ldr r0, =gSaveBlock2Ptr
@@ -4132,7 +4132,7 @@ _0813780A:
cmp r7, 0x1
bne _0813785A
movs r0, 0x2A
- bl sav12_xor_increment
+ bl IncrementGameStat
ldr r0, =0x0000089b
bl FlagSet
mov r3, sp
@@ -7336,7 +7336,7 @@ sub_8139200: @ 8139200
sub_8139228: @ 8139228
push {lr}
movs r0, 0x20
- bl sub_80847F8
+ bl GetGameStat
lsls r0, 16
lsrs r0, 16
pop {r1}
@@ -7501,7 +7501,7 @@ sub_8139370: @ 8139370
push {r4,lr}
sub sp, 0x4
movs r0, 0x2A
- bl sav12_xor_increment
+ bl IncrementGameStat
ldr r0, =0x0000089b
bl FlagSet
movs r1, 0x1
diff --git a/asm/rom_80C6FA0.s b/asm/rom_80C6FA0.s
index 8a56841e9..00433b1c6 100644
--- a/asm/rom_80C6FA0.s
+++ b/asm/rom_80C6FA0.s
@@ -24469,7 +24469,7 @@ sub_80D3A6C: @ 80D3A6C
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
movs r0, 0x12
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0
pop {r1}
bx r1
@@ -24507,7 +24507,7 @@ sub_80D3ABC: @ 80D3ABC
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
movs r0, 0x12
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0
pop {r1}
bx r1
diff --git a/asm/rom_8158B30.s b/asm/rom_8158B30.s
index bb1f1b99b..dfd4b13ee 100644
--- a/asm/rom_8158B30.s
+++ b/asm/rom_8158B30.s
@@ -23687,7 +23687,7 @@ _081650DC:
cmp r0, 0
beq _08165132
movs r0, 0x2A
- bl sav12_xor_increment
+ bl IncrementGameStat
mov r0, r8
cmp r0, 0x1
ble _08165110
diff --git a/asm/rom_81700F8.s b/asm/rom_81700F8.s
index 124d12bf3..115b9d0cb 100644
--- a/asm/rom_81700F8.s
+++ b/asm/rom_81700F8.s
@@ -31,7 +31,7 @@ sub_81700F8: @ 81700F8
lsrs r0, 16
bl InitSaveBlockPointersWithRandomOffset
bl sub_808447C
- bl sub_8152680
+ bl ResetSaveCounters
movs r0, 0
bl sub_81534D0
ldr r0, =gUnknown_03006210
diff --git a/asm/rom_8184DA4.s b/asm/rom_8184DA4.s
index ecb2d596d..3a8ad2d0b 100644
--- a/asm/rom_8184DA4.s
+++ b/asm/rom_8184DA4.s
@@ -33562,7 +33562,7 @@ sub_8196D74: @ 8196D74
bl __divsi3
mov r8, r0
movs r0, 0x9
- bl sub_80847F8
+ bl GetGameStat
eors r4, r5
eors r5, r0
adds r4, r5
@@ -60482,7 +60482,7 @@ _081A4C4E:
bl copy_player_party_from_sav1
bl sub_8076D5C
movs r0, 0x1
- bl save_game_when_memory_present
+ bl TrySavingData
bl sav2_gender2_inplace_and_xFE
strb r5, [r4]
adds r4, r7, 0
@@ -65191,7 +65191,7 @@ sub_81A7418: @ 81A7418
strb r0, [r1]
bl save_serialize_map
movs r0, 0x1
- bl save_game_when_memory_present
+ bl TrySavingData
pop {r4}
pop {r0}
bx r0
@@ -68828,7 +68828,7 @@ sub_81A9134: @ 81A9134
strb r0, [r1]
bl save_serialize_map
movs r0, 0x1
- bl save_game_when_memory_present
+ bl TrySavingData
pop {r4}
pop {r0}
bx r0
diff --git a/asm/rom_81BE66C.s b/asm/rom_81BE66C.s
index 529434c9c..808a7b661 100644
--- a/asm/rom_81BE66C.s
+++ b/asm/rom_81BE66C.s
@@ -25858,7 +25858,7 @@ sub_81CBE50: @ 81CBE50
lsls r0, 16
lsrs r4, r0, 16
movs r0, 0x9
- bl sub_80847F8
+ bl GetGameStat
adds r1, r0, 0
ldr r0, =0x0001869f
cmp r1, r0
diff --git a/asm/roulette.s b/asm/roulette.s
index a0edead88..5332c4a46 100644
--- a/asm/roulette.s
+++ b/asm/roulette.s
@@ -2559,7 +2559,7 @@ sub_8141800: @ 8141800
cmp r0, 0
beq _08141888
movs r0, 0x1D
- bl sub_80847F8
+ bl GetGameStat
ldrh r1, [r4, 0x1E]
adds r1, 0x1
strh r1, [r4, 0x1E]
diff --git a/asm/safari_zone.s b/asm/safari_zone.s
index 618ce44e2..32e80e23d 100644
--- a/asm/safari_zone.s
+++ b/asm/safari_zone.s
@@ -41,7 +41,7 @@ ResetSafariZoneFlag: @ 80FC0C4
sub_80FC0D4: @ 80FC0D4
push {lr}
movs r0, 0x11
- bl sav12_xor_increment
+ bl IncrementGameStat
bl SetSafariZoneFlag
bl sub_80FC244
ldr r1, =gUnknown_0203A04C
diff --git a/asm/save.s b/asm/save.s
index 004514594..7047c3c25 100644
--- a/asm/save.s
+++ b/asm/save.s
@@ -5,1746 +5,12 @@
.text
- thumb_func_start calls_flash_erase_block
-calls_flash_erase_block: @ 8152650
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =EraseFlashSector
-_08152656:
- ldr r1, [r5]
- adds r0, r4, 0
- bl _call_via_r1
- adds r0, r4, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [r5]
- bl _call_via_r1
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _08152656
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end calls_flash_erase_block
-
- thumb_func_start sub_8152680
-sub_8152680: @ 8152680
- ldr r0, =gUnknown_03006200
- movs r1, 0
- str r1, [r0]
- ldr r0, =gUnknown_030061F0
- strh r1, [r0]
- ldr r0, =gUnknown_030061FC
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8152680
-
- thumb_func_start sub_815269C
-sub_815269C: @ 815269C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- movs r4, 0
- cmp r0, 0x1
- beq _081526D0
- cmp r0, 0x1
- bgt _081526B6
- cmp r0, 0
- beq _081526BC
- b _081526F4
-_081526B6:
- cmp r0, 0x2
- beq _081526E4
- b _081526F4
-_081526BC:
- ldr r2, =gUnknown_030061FC
- movs r1, 0x1
- lsls r1, r3
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- b _081526F4
- .pool
-_081526D0:
- ldr r2, =gUnknown_030061FC
- adds r1, r0, 0
- lsls r1, r3
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- b _081526F4
- .pool
-_081526E4:
- ldr r0, =gUnknown_030061FC
- movs r1, 0x1
- lsls r1, r3
- ldr r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _081526F4
- movs r4, 0x1
-_081526F4:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_815269C
-
- thumb_func_start save_write_to_flash
-save_write_to_flash: @ 8152700
- push {r4-r7,lr}
- adds r7, r1, 0
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, =gUnknown_03006204
- ldr r0, =gUnknown_0203ABBC
- str r0, [r1]
- ldr r0, =0x0000ffff
- cmp r2, r0
- beq _08152730
- adds r0, r2, 0
- adds r1, r7, 0
- bl sub_81527A0
- lsls r0, 24
- lsrs r5, r0, 24
- b _08152782
- .pool
-_08152730:
- ldr r1, =gUnknown_030061F8
- ldr r5, =gUnknown_030061F0
- ldrh r0, [r5]
- strh r0, [r1]
- ldr r1, =gUnknown_030061F4
- ldr r6, =gUnknown_03006200
- ldr r4, [r6]
- str r4, [r1]
- adds r0, 0x1
- strh r0, [r5]
- ldrh r0, [r5]
- movs r1, 0xE
- bl __umodsi3
- strh r0, [r5]
- adds r4, 0x1
- str r4, [r6]
- movs r5, 0x1
- movs r4, 0
-_08152756:
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_81527A0
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xD
- bls _08152756
- ldr r0, =gUnknown_030061FC
- ldr r0, [r0]
- cmp r0, 0
- beq _08152782
- movs r5, 0xFF
- ldr r1, =gUnknown_030061F0
- ldr r0, =gUnknown_030061F8
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03006200
- ldr r0, =gUnknown_030061F4
- ldr r0, [r0]
- str r0, [r1]
-_08152782:
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end save_write_to_flash
-
- thumb_func_start sub_81527A0
-sub_81527A0: @ 81527A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gUnknown_030061F0
- ldrh r0, [r0]
- adds r0, r6, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r5, 0
- movs r1, 0xE
- bl __umodsi3
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r2, =gUnknown_03006200
- ldr r1, [r2]
- movs r0, 0x1
- ands r1, r0
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r6, 3
- adds r0, r4
- ldr r1, [r0]
- mov r10, r1
- ldrh r4, [r0, 0x4]
- movs r3, 0
- mov r9, r2
- ldr r2, =gUnknown_03006204
- mov r12, r2
- mov r8, r12
- movs r2, 0
- ldr r1, =0x00000fff
-_081527F2:
- mov r7, r8
- ldr r0, [r7]
- adds r0, r3
- strb r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r1
- bls _081527F2
- mov r0, r12
- ldr r1, [r0]
- ldr r2, =0x00000ff4
- adds r0, r1, r2
- strh r6, [r0]
- ldr r3, =0x00000ff8
- adds r2, r1, r3
- ldr r0, =0x08012025
- str r0, [r2]
- ldr r6, =0x00000ffc
- adds r1, r6
- mov r7, r9
- ldr r0, [r7]
- str r0, [r1]
- movs r3, 0
- lsls r5, 24
- cmp r3, r4
- bcs _08152840
- mov r2, r12
-_0815282A:
- ldr r1, [r2]
- adds r1, r3
- mov r6, r10
- adds r0, r6, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r4
- bcc _0815282A
-_08152840:
- mov r0, r10
- adds r1, r4, 0
- bl sub_8153164
- ldr r1, =gUnknown_03006204
- ldr r1, [r1]
- ldr r7, =0x00000ff6
- adds r2, r1, r7
- strh r0, [r2]
- lsrs r0, r5, 24
- bl sub_8152908
- lsls r0, 24
- lsrs r0, 24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81527A0
-
- thumb_func_start sub_8152890
-sub_8152890: @ 8152890
- push {r4-r7,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r2, 16
- lsrs r2, 16
- ldr r4, =gUnknown_0203ABBC
- movs r3, 0
- movs r6, 0
- ldr r1, =0x00000fff
-_081528A4:
- adds r0, r4, r3
- strb r6, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r1
- bls _081528A4
- ldr r0, =0x00000ff8
- adds r1, r4, r0
- ldr r0, =0x08012025
- str r0, [r1]
- movs r3, 0
- cmp r3, r2
- bcs _081528D2
-_081528C0:
- adds r1, r4, r3
- adds r0, r5, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r2
- bcc _081528C0
-_081528D2:
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_8153164
- ldr r2, =0x00000ff4
- adds r1, r4, r2
- strh r0, [r1]
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_8152908
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8152890
-
- thumb_func_start sub_8152908
-sub_8152908: @ 8152908
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl ProgramFlashSectorAndVerify
- cmp r0, 0
- bne _08152924
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_815269C
- movs r0, 0x1
- b _0815292E
-_08152924:
- movs r0, 0
- adds r1, r4, 0
- bl sub_815269C
- movs r0, 0xFF
-_0815292E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8152908
-
- thumb_func_start sub_8152934
-sub_8152934: @ 8152934
- push {r4-r6,lr}
- ldr r1, =gUnknown_03006204
- ldr r0, =gUnknown_0203ABBC
- str r0, [r1]
- ldr r1, =gUnknown_030061F8
- ldr r5, =gUnknown_030061F0
- ldrh r0, [r5]
- strh r0, [r1]
- ldr r1, =gUnknown_030061F4
- ldr r6, =gUnknown_03006200
- ldr r4, [r6]
- str r4, [r1]
- adds r0, 0x1
- strh r0, [r5]
- ldrh r0, [r5]
- movs r1, 0xE
- bl __umodsi3
- strh r0, [r5]
- adds r4, 0x1
- str r4, [r6]
- ldr r1, =gUnknown_03006208
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_030061FC
- movs r0, 0
- str r0, [r1]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8152934
-
- thumb_func_start sub_8152990
-sub_8152990: @ 8152990
- ldr r1, =gUnknown_03006204
- ldr r0, =gUnknown_0203ABBC
- str r0, [r1]
- ldr r1, =gUnknown_030061F8
- ldr r0, =gUnknown_030061F0
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_030061F4
- ldr r0, =gUnknown_03006200
- ldr r0, [r0]
- str r0, [r1]
- ldr r1, =gUnknown_03006208
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_030061FC
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8152990
-
- thumb_func_start sub_81529D4
-sub_81529D4: @ 81529D4
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gUnknown_03006208
- ldrh r2, [r4]
- subs r0, 0x1
- cmp r2, r0
- bge _08152A28
- movs r5, 0x1
- adds r0, r2, 0
- bl sub_81527A0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldr r0, =gUnknown_030061FC
- ldr r0, [r0]
- cmp r0, 0
- beq _08152A2A
- movs r5, 0xFF
- ldr r1, =gUnknown_030061F0
- ldr r0, =gUnknown_030061F8
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03006200
- ldr r0, =gUnknown_030061F4
- ldr r0, [r0]
- str r0, [r1]
- b _08152A2A
- .pool
-_08152A28:
- movs r5, 0xFF
-_08152A2A:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81529D4
-
- thumb_func_start sub_8152A34
-sub_8152A34: @ 8152A34
- push {r4,lr}
- lsls r0, 16
- movs r4, 0x1
- ldr r2, =0xffff0000
- adds r0, r2
- lsrs r0, 16
- bl calls_flash_erase_block_2
- ldr r0, =gUnknown_030061FC
- ldr r0, [r0]
- cmp r0, 0
- beq _08152A5E
- movs r4, 0xFF
- ldr r1, =gUnknown_030061F0
- ldr r0, =gUnknown_030061F8
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03006200
- ldr r0, =gUnknown_030061F4
- ldr r0, [r0]
- str r0, [r1]
-_08152A5E:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8152A34
-
- thumb_func_start calls_flash_erase_block_2
-calls_flash_erase_block_2: @ 8152A80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gUnknown_030061F0
- ldrh r0, [r0]
- adds r0, r6, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r5, 0
- movs r1, 0xE
- bl __umodsi3
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r2, =gUnknown_03006200
- ldr r1, [r2]
- movs r0, 0x1
- ands r1, r0
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r6, 3
- adds r0, r4
- ldr r1, [r0]
- mov r10, r1
- ldrh r3, [r0, 0x4]
- movs r4, 0
- mov r9, r2
- ldr r2, =gUnknown_03006204
- mov r12, r2
- mov r8, r12
- movs r2, 0
- ldr r1, =0x00000fff
-_08152AD2:
- mov r7, r8
- ldr r0, [r7]
- adds r0, r4
- strb r2, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r1
- bls _08152AD2
- mov r0, r12
- ldr r1, [r0]
- ldr r2, =0x00000ff4
- adds r0, r1, r2
- strh r6, [r0]
- ldr r6, =0x00000ff8
- adds r2, r1, r6
- ldr r0, =0x08012025
- str r0, [r2]
- ldr r7, =0x00000ffc
- adds r1, r7
- mov r2, r9
- ldr r0, [r2]
- str r0, [r1]
- movs r4, 0
- lsls r6, r5, 24
- mov r8, r6
- cmp r4, r3
- bcs _08152B22
- mov r2, r12
-_08152B0C:
- ldr r1, [r2]
- adds r1, r4
- mov r7, r10
- adds r0, r7, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r3
- bcc _08152B0C
-_08152B22:
- mov r0, r10
- adds r1, r3, 0
- bl sub_8153164
- ldr r1, =gUnknown_03006204
- ldr r1, [r1]
- ldr r2, =0x00000ff6
- adds r1, r2
- strh r0, [r1]
- ldr r0, =EraseFlashSector
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- movs r6, 0x1
- movs r4, 0
- ldr r7, =0x00000ff7
- mov r9, r7
- ldr r7, =ProgramFlashByte
- b _08152B82
- .pool
-_08152B7C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_08152B82:
- cmp r4, r9
- bhi _08152BA0
- ldr r0, =gUnknown_03006204
- ldr r0, [r0]
- adds r0, r4
- ldrb r2, [r0]
- ldr r3, [r7]
- adds r0, r5, 0
- adds r1, r4, 0
- bl _call_via_r3
- lsls r0, 16
- cmp r0, 0
- beq _08152B7C
- movs r6, 0xFF
-_08152BA0:
- cmp r6, 0xFF
- bne _08152BB0
- mov r0, r8
- lsrs r1, r0, 24
- b _08152C08
- .pool
-_08152BB0:
- movs r6, 0x1
- movs r4, 0
- ldr r1, =ProgramFlashByte
- mov r9, r1
- ldr r7, =0x00000ff9
- b _08152BCA
- .pool
-_08152BC4:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_08152BCA:
- cmp r4, 0x6
- bhi _08152BEC
- adds r1, r4, r7
- ldr r0, =gUnknown_03006204
- ldr r0, [r0]
- adds r0, r4, r0
- adds r0, r7
- ldrb r2, [r0]
- mov r0, r9
- ldr r3, [r0]
- adds r0, r5, 0
- bl _call_via_r3
- lsls r0, 16
- cmp r0, 0
- beq _08152BC4
- movs r6, 0xFF
-_08152BEC:
- cmp r6, 0xFF
- beq _08152C04
- mov r2, r8
- lsrs r1, r2, 24
- movs r0, 0x1
- bl sub_815269C
- movs r0, 0x1
- b _08152C10
- .pool
-_08152C04:
- mov r6, r8
- lsrs r1, r6, 24
-_08152C08:
- movs r0, 0
- bl sub_815269C
- movs r0, 0xFF
-_08152C10:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end calls_flash_erase_block_2
-
- thumb_func_start sav12_xor_get
-sav12_xor_get: @ 8152C20
- push {r4-r6,lr}
- lsls r0, 16
- ldr r6, =gUnknown_030061F0
- lsrs r0, 16
- ldrh r1, [r6]
- adds r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0xE
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r5, =gUnknown_03006200
- ldr r1, [r5]
- movs r0, 0x1
- ands r1, r0
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =ProgramFlashByte
- ldr r1, =0x00000ff8
- ldr r3, [r0]
- adds r0, r4, 0
- movs r2, 0x25
- bl _call_via_r3
- lsls r0, 16
- cmp r0, 0
- bne _08152C84
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0x1
- bl sub_815269C
- movs r0, 0x1
- b _08152C9C
- .pool
-_08152C84:
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_815269C
- ldr r0, =gUnknown_030061F8
- ldrh r0, [r0]
- strh r0, [r6]
- ldr r0, =gUnknown_030061F4
- ldr r0, [r0]
- str r0, [r5]
- movs r0, 0xFF
-_08152C9C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sav12_xor_get
-
- thumb_func_start sub_8152CAC
-sub_8152CAC: @ 8152CAC
- push {r4-r6,lr}
- lsls r0, 16
- ldr r6, =gUnknown_030061F0
- lsrs r0, 16
- ldrh r1, [r6]
- adds r0, r1
- subs r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0xE
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r5, =gUnknown_03006200
- ldr r1, [r5]
- movs r0, 0x1
- ands r1, r0
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r3, =ProgramFlashByte
- ldr r1, =0x00000ff8
- ldr r0, =gUnknown_03006204
- ldr r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 16
- cmp r0, 0
- bne _08152D1C
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0x1
- bl sub_815269C
- movs r0, 0x1
- b _08152D34
- .pool
-_08152D1C:
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_815269C
- ldr r0, =gUnknown_030061F8
- ldrh r0, [r0]
- strh r0, [r6]
- ldr r0, =gUnknown_030061F4
- ldr r0, [r0]
- str r0, [r5]
- movs r0, 0xFF
-_08152D34:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8152CAC
-
- thumb_func_start sub_8152D44
-sub_8152D44: @ 8152D44
- push {r4-r6,lr}
- lsls r0, 16
- ldr r6, =gUnknown_030061F0
- lsrs r0, 16
- ldrh r1, [r6]
- adds r0, r1
- subs r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0xE
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r5, =gUnknown_03006200
- ldr r1, [r5]
- movs r0, 0x1
- ands r1, r0
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =ProgramFlashByte
- ldr r1, =0x00000ff8
- ldr r3, [r0]
- adds r0, r4, 0
- movs r2, 0x25
- bl _call_via_r3
- lsls r0, 16
- cmp r0, 0
- bne _08152DA8
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0x1
- bl sub_815269C
- movs r0, 0x1
- b _08152DC0
- .pool
-_08152DA8:
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_815269C
- ldr r0, =gUnknown_030061F8
- ldrh r0, [r0]
- strh r0, [r6]
- ldr r0, =gUnknown_030061F4
- ldr r0, [r0]
- str r0, [r5]
- movs r0, 0xFF
-_08152DC0:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8152D44
-
- thumb_func_start sub_8152DD0
-sub_8152DD0: @ 8152DD0
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, =gUnknown_03006204
- ldr r0, =gUnknown_0203ABBC
- str r0, [r1]
- ldr r0, =0x0000ffff
- cmp r4, r0
- beq _08152DF4
- movs r5, 0xFF
- b _08152E06
- .pool
-_08152DF4:
- adds r0, r6, 0
- bl sub_8152EC8
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8152E10
-_08152E06:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8152DD0
-
- thumb_func_start sub_8152E10
-sub_8152E10: @ 8152E10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r1
- ldr r0, =gUnknown_03006200
- ldr r1, [r0]
- movs r0, 0x1
- ands r1, r0
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 17
- lsrs r7, r0, 16
- movs r5, 0
- ldr r6, =gUnknown_03006204
-_08152E2C:
- adds r0, r5, r7
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r6]
- bl sub_815314C
- ldr r0, [r6]
- ldr r1, =0x00000ff4
- adds r0, r1
- ldrh r1, [r0]
- cmp r1, 0
- bne _08152E48
- ldr r0, =gUnknown_030061F0
- strh r5, [r0]
-_08152E48:
- ldr r0, [r6]
- lsls r1, 3
- mov r2, r8
- adds r4, r1, r2
- ldrh r1, [r4, 0x4]
- bl sub_8153164
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r2, [r6]
- ldr r1, =0x00000ff8
- adds r0, r2, r1
- ldr r1, [r0]
- ldr r0, =0x08012025
- adds r5, 0x1
- cmp r1, r0
- bne _08152E98
- ldr r1, =0x00000ff6
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, r3
- bne _08152E98
- movs r2, 0
- ldrh r0, [r4, 0x4]
- cmp r2, r0
- bcs _08152E98
- adds r3, r4, 0
- ldr r4, =gUnknown_03006204
-_08152E80:
- ldr r1, [r3]
- adds r1, r2
- ldr r0, [r4]
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r1, [r3, 0x4]
- cmp r2, r1
- bcc _08152E80
-_08152E98:
- lsls r0, r5, 16
- lsrs r5, r0, 16
- cmp r5, 0xD
- bls _08152E2C
- movs r0, 0x1
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8152E10
-
- thumb_func_start sub_8152EC8
-sub_8152EC8: @ 8152EC8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- movs r0, 0
- mov r8, r0
- mov r9, r0
- movs r6, 0
- movs r5, 0
- movs r4, 0
- ldr r7, =gUnknown_03006204
-_08152EE4:
- lsls r0, r4, 24
- lsrs r0, 24
- ldr r1, [r7]
- bl sub_815314C
- ldr r2, [r7]
- ldr r1, =0x00000ff8
- adds r0, r2, r1
- ldr r1, [r0]
- ldr r0, =0x08012025
- cmp r1, r0
- bne _08152F34
- movs r5, 0x1
- ldr r3, =0x00000ff4
- adds r0, r2, r3
- ldrh r0, [r0]
- lsls r0, 3
- add r0, r10
- ldrh r1, [r0, 0x4]
- adds r0, r2, 0
- bl sub_8153164
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, [r7]
- ldr r3, =0x00000ff6
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, r2
- bne _08152F34
- ldr r2, =0x00000ffc
- adds r0, r1, r2
- ldr r0, [r0]
- mov r8, r0
- subs r3, 0x2
- adds r1, r3
- adds r0, r5, 0
- ldrh r1, [r1]
- lsls r0, r1
- orrs r6, r0
-_08152F34:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xD
- bls _08152EE4
- cmp r5, 0
- beq _08152F70
- ldr r0, =0x00003fff
- movs r1, 0xFF
- str r1, [sp]
- cmp r6, r0
- bne _08152F74
- movs r2, 0x1
- str r2, [sp]
- b _08152F74
- .pool
-_08152F70:
- movs r3, 0
- str r3, [sp]
-_08152F74:
- movs r6, 0
- movs r5, 0
- movs r4, 0
- ldr r7, =gUnknown_03006204
-_08152F7C:
- adds r0, r4, 0
- adds r0, 0xE
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r7]
- bl sub_815314C
- ldr r2, [r7]
- ldr r1, =0x00000ff8
- adds r0, r2, r1
- ldr r1, [r0]
- ldr r0, =0x08012025
- cmp r1, r0
- bne _08152FD0
- movs r5, 0x1
- ldr r3, =0x00000ff4
- adds r0, r2, r3
- ldrh r0, [r0]
- lsls r0, 3
- add r0, r10
- ldrh r1, [r0, 0x4]
- adds r0, r2, 0
- bl sub_8153164
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, [r7]
- ldr r3, =0x00000ff6
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, r2
- bne _08152FD0
- ldr r2, =0x00000ffc
- adds r0, r1, r2
- ldr r0, [r0]
- mov r9, r0
- subs r3, 0x2
- adds r1, r3
- adds r0, r5, 0
- ldrh r1, [r1]
- lsls r0, r1
- orrs r6, r0
-_08152FD0:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xD
- bls _08152F7C
- cmp r5, 0
- beq _08153008
- ldr r0, =0x00003fff
- movs r1, 0xFF
- cmp r6, r0
- bne _0815300A
- movs r1, 0x1
- b _0815300A
- .pool
-_08153008:
- movs r1, 0
-_0815300A:
- ldr r0, [sp]
- cmp r0, 0x1
- bne _0815307C
- cmp r1, 0x1
- bne _0815306C
- movs r0, 0x1
- negs r0, r0
- cmp r8, r0
- bne _08153022
- mov r1, r9
- cmp r1, 0
- beq _0815302C
-_08153022:
- mov r2, r8
- cmp r2, 0
- bne _08153050
- cmp r9, r0
- bne _08153050
-_0815302C:
- mov r1, r8
- adds r1, 0x1
- mov r0, r9
- adds r0, 0x1
- cmp r1, r0
- bcs _08153044
- ldr r0, =gUnknown_03006200
- mov r3, r9
- b _08153064
- .pool
-_08153044:
- ldr r0, =gUnknown_03006200
- mov r1, r8
- str r1, [r0]
- b _08153094
- .pool
-_08153050:
- cmp r8, r9
- bcs _08153060
- ldr r0, =gUnknown_03006200
- mov r2, r9
- str r2, [r0]
- b _08153094
- .pool
-_08153060:
- ldr r0, =gUnknown_03006200
- mov r3, r8
-_08153064:
- str r3, [r0]
- b _08153094
- .pool
-_0815306C:
- ldr r0, =gUnknown_03006200
- mov r2, r8
- str r2, [r0]
- cmp r1, 0xFF
- beq _0815308C
- b _08153094
- .pool
-_0815307C:
- cmp r1, 0x1
- bne _08153098
- ldr r0, =gUnknown_03006200
- mov r3, r9
- str r3, [r0]
- ldr r0, [sp]
- cmp r0, 0xFF
- bne _08153094
-_0815308C:
- movs r0, 0xFF
- b _081530C4
- .pool
-_08153094:
- movs r0, 0x1
- b _081530C4
-_08153098:
- ldr r2, [sp]
- cmp r2, 0
- bne _081530B8
- cmp r1, 0
- bne _081530B8
- ldr r0, =gUnknown_03006200
- str r1, [r0]
- ldr r0, =gUnknown_030061F0
- strh r1, [r0]
- movs r0, 0
- b _081530C4
- .pool
-_081530B8:
- ldr r0, =gUnknown_03006200
- movs r1, 0
- str r1, [r0]
- ldr r0, =gUnknown_030061F0
- strh r1, [r0]
- movs r0, 0x2
-_081530C4:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8152EC8
-
- thumb_func_start sub_81530DC
-sub_81530DC: @ 81530DC
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 16
- lsrs r4, r2, 16
- ldr r5, =gUnknown_0203ABBC
- adds r1, r5, 0
- bl sub_815314C
- ldr r1, =0x00000ff8
- adds r0, r5, r1
- ldr r1, [r0]
- ldr r0, =0x08012025
- cmp r1, r0
- bne _08153144
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8153164
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =0x00000ff4
- adds r1, r5, r2
- ldrh r1, [r1]
- cmp r1, r0
- bne _08153140
- movs r2, 0
- cmp r2, r4
- bcs _0815312A
-_08153118:
- adds r1, r6, r2
- adds r0, r5, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r4
- bcc _08153118
-_0815312A:
- movs r0, 0x1
- b _08153146
- .pool
-_08153140:
- movs r0, 0x2
- b _08153146
-_08153144:
- movs r0, 0
-_08153146:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81530DC
-
- thumb_func_start sub_815314C
-sub_815314C: @ 815314C
- push {lr}
- adds r2, r1, 0
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0x80
- lsls r3, 5
- movs r1, 0
- bl ReadFlash
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_815314C
-
- thumb_func_start sub_8153164
-sub_8153164: @ 8153164
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 16
- movs r2, 0
- movs r3, 0
- lsrs r1, 18
- cmp r2, r1
- bcs _08153182
-_08153174:
- ldm r4!, {r0}
- adds r2, r0
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r1
- bcc _08153174
-_08153182:
- lsrs r0, r2, 16
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8153164
-
- thumb_func_start sub_8153190
-sub_8153190: @ 8153190
- push {r4,r5,lr}
- ldr r3, =gUnknown_03006220
- ldr r0, =gSaveBlock2Ptr
- ldr r2, =gUnknown_085CDC00
- ldrh r1, [r2]
- ldr r0, [r0]
- adds r0, r1
- str r0, [r3]
- ldrh r0, [r2, 0x2]
- strh r0, [r3, 0x4]
- ldr r5, =gSaveBlock1Ptr
- adds r3, 0x8
- adds r2, 0x4
- movs r4, 0x3
-_081531AC:
- ldrh r0, [r2]
- ldr r1, [r5]
- adds r1, r0
- str r1, [r3]
- ldrh r0, [r2, 0x2]
- strh r0, [r3, 0x4]
- adds r3, 0x8
- adds r2, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _081531AC
- movs r4, 0x5
- ldr r1, =gUnknown_03006220
- ldr r5, =gUnknown_03005D94
- ldr r0, =gUnknown_085CDC00
- adds r3, r1, 0
- adds r3, 0x28
- adds r2, r0, 0
- adds r2, 0x14
-_081531D2:
- ldrh r0, [r2]
- ldr r1, [r5]
- adds r1, r0
- str r1, [r3]
- ldrh r0, [r2, 0x2]
- strh r0, [r3, 0x4]
- adds r3, 0x8
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, 0xD
- ble _081531D2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8153190
-
- thumb_func_start calls_flash_erase_block_3
-calls_flash_erase_block_3: @ 8153204
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0203CF5C
- ldr r6, [r1]
- movs r0, 0
- str r0, [r1]
- bl sub_8153190
- cmp r4, 0x5
- bhi _081532AC
- lsls r0, r4, 2
- ldr r1, =_0815322C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0815322C:
- .4byte _081532AC
- .4byte _081532C4
- .4byte _081532C4
- .4byte _0815325A
- .4byte _081532F8
- .4byte _08153244
-_08153244:
- movs r4, 0x1C
- ldr r5, =EraseFlashSector
-_08153248:
- ldr r1, [r5]
- adds r0, r4, 0
- bl _call_via_r1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08153248
-_0815325A:
- movs r0, 0xA
- bl sub_80847F8
- ldr r1, =0x000003e6
- cmp r0, r1
- bhi _0815326C
- movs r0, 0xA
- bl sav12_xor_increment
-_0815326C:
- bl save_serialize_game
- ldr r0, =0x0000ffff
- ldr r1, =gUnknown_03006220
- bl save_write_to_flash
- ldr r4, =0x0201c000
- movs r5, 0xF8
- lsls r5, 4
- movs r0, 0x1C
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8152890
- adds r4, r5
- movs r0, 0x1D
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8152890
- b _0815331A
- .pool
-_081532AC:
- bl save_serialize_game
- ldr r0, =0x0000ffff
- ldr r1, =gUnknown_03006220
- bl save_write_to_flash
- b _0815331A
- .pool
-_081532C4:
- bl save_serialize_game
- movs r4, 0
-_081532CA:
- adds r0, r4, 0
- ldr r1, =gUnknown_03006220
- bl calls_flash_erase_block_2
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _081532CA
- movs r4, 0
-_081532DE:
- adds r0, r4, 0
- ldr r1, =gUnknown_03006220
- bl sav12_xor_get
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _081532DE
- b _0815331A
- .pool
-_081532F8:
- movs r4, 0x1C
- ldr r5, =EraseFlashSector
-_081532FC:
- ldr r1, [r5]
- adds r0, r4, 0
- bl _call_via_r1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _081532FC
- bl save_serialize_game
- ldr r0, =0x0000ffff
- ldr r1, =gUnknown_03006220
- bl save_write_to_flash
-_0815331A:
- ldr r0, =gUnknown_0203CF5C
- str r6, [r0]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end calls_flash_erase_block_3
-
- thumb_func_start save_game_when_memory_present
-save_game_when_memory_present: @ 8153338
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gFlashMemoryPresent
- ldr r4, [r0]
- cmp r4, 0x1
- bne _0815335A
- adds r0, r5, 0
- bl calls_flash_erase_block_3
- ldr r0, =gUnknown_030061FC
- ldr r0, [r0]
- cmp r0, 0
- beq _08153370
- adds r0, r5, 0
- bl fullscreen_save_activate
-_0815335A:
- ldr r1, =gUnknown_03006294
- movs r0, 0xFF
- strh r0, [r1]
- movs r0, 0xFF
- b _08153376
- .pool
-_08153370:
- ldr r0, =gUnknown_03006294
- strh r4, [r0]
- movs r0, 0x1
-_08153376:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end save_game_when_memory_present
-
- thumb_func_start sub_8153380
-sub_8153380: @ 8153380
- push {lr}
- ldr r0, =gFlashMemoryPresent
- ldr r0, [r0]
- cmp r0, 0x1
- bne _081533A4
- bl sub_8153190
- bl save_serialize_game
- ldr r0, =gUnknown_03006220
- bl sub_8152934
- movs r0, 0
- b _081533A6
- .pool
-_081533A4:
- movs r0, 0x1
-_081533A6:
- pop {r1}
- bx r1
- thumb_func_end sub_8153380
-
- thumb_func_start sub_81533AC
-sub_81533AC: @ 81533AC
- push {r4,lr}
- ldr r1, =gUnknown_03006220
- movs r0, 0xE
- bl sub_81529D4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_030061FC
- ldr r0, [r0]
- cmp r0, 0
- beq _081533C8
- movs r0, 0
- bl fullscreen_save_activate
-_081533C8:
- cmp r4, 0xFF
- beq _081533D8
- movs r0, 0
- b _081533DA
- .pool
-_081533D8:
- movs r0, 0x1
-_081533DA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81533AC
-
- thumb_func_start sub_81533E0
-sub_81533E0: @ 81533E0
- push {lr}
- ldr r1, =gUnknown_03006220
- movs r0, 0xE
- bl sub_8152A34
- ldr r0, =gUnknown_030061FC
- ldr r0, [r0]
- cmp r0, 0
- beq _081533F8
- movs r0, 0
- bl fullscreen_save_activate
-_081533F8:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81533E0
-
- thumb_func_start sub_8153408
-sub_8153408: @ 8153408
- push {lr}
- ldr r1, =gUnknown_03006220
- movs r0, 0xE
- bl sub_8152CAC
- ldr r0, =gUnknown_030061FC
- ldr r0, [r0]
- cmp r0, 0
- beq _08153420
- movs r0, 0
- bl fullscreen_save_activate
-_08153420:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8153408
-
- thumb_func_start sub_8153430
-sub_8153430: @ 8153430
- push {r4,lr}
- ldr r0, =gFlashMemoryPresent
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0815346C
- bl sub_8153190
- bl save_serialize_game
- ldr r4, =gUnknown_03006220
- adds r0, r4, 0
- bl sub_8152990
- ldr r0, =gUnknown_03006208
- ldrh r0, [r0]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl sub_8152A34
- movs r0, 0
- b _0815346E
- .pool
-_0815346C:
- movs r0, 0x1
-_0815346E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8153430
-
- thumb_func_start sub_8153474
-sub_8153474: @ 8153474
- push {r4-r6,lr}
- movs r6, 0
- ldr r0, =gUnknown_03006208
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r0, r1, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bhi _081534A8
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gUnknown_03006220
- adds r1, r4, 0
- bl sub_8152A34
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8152D44
- b _081534B2
- .pool
-_081534A8:
- ldr r1, =gUnknown_03006220
- adds r0, r5, 0
- bl sub_8152D44
- movs r6, 0x1
-_081534B2:
- ldr r0, =gUnknown_030061FC
- ldr r0, [r0]
- cmp r0, 0
- beq _081534C0
- movs r0, 0x1
- bl fullscreen_save_activate
-_081534C0:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8153474
-
- thumb_func_start sub_81534D0
-sub_81534D0: @ 81534D0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gFlashMemoryPresent
- ldr r0, [r0]
- cmp r0, 0x1
- beq _081534F0
- ldr r1, =gUnknown_03006210
- movs r0, 0x4
- strh r0, [r1]
- movs r0, 0xFF
- b _08153550
- .pool
-_081534F0:
- bl sub_8153190
- cmp r4, 0
- beq _081534FC
- cmp r4, 0x3
- beq _08153528
-_081534FC:
- ldr r0, =0x0000ffff
- ldr r1, =gUnknown_03006220
- bl sub_8152DD0
- lsls r0, 24
- lsrs r4, r0, 24
- bl save_deserialize_game
- ldr r0, =gUnknown_03006210
- strh r4, [r0]
- ldr r1, =gUnknown_03006214
- movs r0, 0
- str r0, [r1]
- b _0815354E
- .pool
-_08153528:
- ldr r5, =0x0201c000
- movs r6, 0xF8
- lsls r6, 4
- movs r0, 0x1C
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_81530DC
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _0815354E
- adds r1, r5, r6
- movs r0, 0x1D
- adds r2, r6, 0
- bl sub_81530DC
- lsls r0, 24
- lsrs r4, r0, 24
-_0815354E:
- adds r0, r4, 0
-_08153550:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81534D0
+
thumb_func_start sub_815355C
sub_815355C: @ 815355C
push {r4-r7,lr}
- ldr r5, =gUnknown_03006204
+ ldr r5, =gFastSaveSection
ldr r0, =gUnknown_0203ABBC
str r0, [r5]
adds r7, r0, 0
@@ -1764,10 +30,10 @@ _0815357C:
adds r0, r1
b _081535CA
_0815358C:
- bl sub_8153190
- ldr r0, =gUnknown_03006220
- bl sub_8152EC8
- ldr r0, =gUnknown_03006200
+ bl UpdateSaveAddresses
+ ldr r0, =gRamSaveSectionLocations
+ bl GetSaveValidStatus
+ ldr r0, =gSaveCounter
ldr r1, [r0]
ands r1, r4
lsls r0, r1, 3
@@ -1780,7 +46,7 @@ _081535A6:
lsls r0, 24
lsrs r0, 24
ldr r1, [r5]
- bl sub_815314C
+ bl DoReadFlashWholeSection
ldr r0, [r5]
ldr r1, =0x00000ff4
adds r0, r1
diff --git a/asm/save_failed_screen.s b/asm/save_failed_screen.s
index 963db4988..bbc8ad67a 100644
--- a/asm/save_failed_screen.s
+++ b/asm/save_failed_screen.s
@@ -44,8 +44,8 @@ sub_8178F44: @ 8178F44
.pool
thumb_func_end sub_8178F44
- thumb_func_start fullscreen_save_activate
-fullscreen_save_activate: @ 8178F90
+ thumb_func_start DoSaveFailedScreen
+DoSaveFailedScreen: @ 8178F90
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -66,7 +66,7 @@ fullscreen_save_activate: @ 8178F90
pop {r0}
bx r0
.pool
- thumb_func_end fullscreen_save_activate
+ thumb_func_end DoSaveFailedScreen
thumb_func_start sub_8178FC8
sub_8178FC8: @ 8178FC8
@@ -325,7 +325,7 @@ sub_8179288: @ 8179288
ldr r0, =gUnknown_0203BCFE
movs r1, 0x1
strh r1, [r0]
- ldr r1, =gUnknown_030061FC
+ ldr r1, =gDamagedSaveSectors
ldr r0, [r1]
cmp r0, 0
beq _081792EC
@@ -346,7 +346,7 @@ _0817929C:
bl sub_8178F44
ldr r0, =gUnknown_0203BCFC
ldrb r0, [r0]
- bl calls_flash_erase_block_3
+ bl HandleSavingData
ldr r0, [r6]
cmp r0, 0
beq _081792DC
@@ -381,7 +381,7 @@ _0817931C:
ldrb r0, [r0]
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r0, =gUnknown_03006214
+ ldr r0, =gGameContinueCallback
ldr r0, [r0]
cmp r0, 0
bne _08179370
@@ -488,7 +488,7 @@ sub_8179428: @ 8179428
lsrs r4, r0, 24
cmp r4, 0
bne _0817944E
- ldr r5, =gUnknown_03006214
+ ldr r5, =gGameContinueCallback
ldr r0, [r5]
cmp r0, 0
bne _08179448
diff --git a/asm/scrcmd.s b/asm/scrcmd.s
index e549ab035..d22965e54 100644
--- a/asm/scrcmd.s
+++ b/asm/scrcmd.s
@@ -1297,7 +1297,7 @@ sC3_unknown: @ 8099C58
adds r1, 0x1
str r1, [r0, 0x8]
adds r0, r2, 0
- bl sav12_xor_increment
+ bl IncrementGameStat
movs r0, 0
pop {r1}
bx r1
diff --git a/asm/secret_base.s b/asm/secret_base.s
index 731277d52..f0bdf9acd 100644
--- a/asm/secret_base.s
+++ b/asm/secret_base.s
@@ -1927,7 +1927,7 @@ sub_80E9A90: @ 80E9A90
sub_80E9AC0: @ 80E9AC0
push {lr}
movs r0, 0x14
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_80E9A90
pop {r0}
bx r0
@@ -2018,7 +2018,7 @@ sub_80E9B70: @ 80E9B70
push {r4-r6,lr}
bl sub_80E9AD0
movs r0, 0x14
- bl sav12_xor_increment
+ bl IncrementGameStat
ldr r5, =gSaveBlock1Ptr
ldr r0, [r5]
ldr r4, =0x00001aaa
diff --git a/asm/shop.s b/asm/shop.s
index deda193ba..0655f1851 100644
--- a/asm/shop.s
+++ b/asm/shop.s
@@ -2453,7 +2453,7 @@ BuyMenuSubtractMoney: @ 80E0F88
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0x26
- bl sav12_xor_increment
+ bl IncrementGameStat
ldr r5, =gSaveBlock1Ptr
ldr r0, [r5]
movs r4, 0x92
diff --git a/asm/slot_machine.s b/asm/slot_machine.s
index 5e263d0fa..688cefb36 100644
--- a/asm/slot_machine.s
+++ b/asm/slot_machine.s
@@ -1387,7 +1387,7 @@ sub_812B01C: @ 812B01C
cmp r0, 0
beq _0812B044
movs r0, 0x1C
- bl sav12_xor_increment
+ bl IncrementGameStat
_0812B044:
ldr r2, [r4]
ldrh r1, [r2, 0x8]
diff --git a/asm/start_menu.s b/asm/start_menu.s
index 27b6c07ca..79509d957 100644
--- a/asm/start_menu.s
+++ b/asm/start_menu.s
@@ -864,7 +864,7 @@ StartMenu_Pokedex: @ 809FBB4
.pool
_0809FBCC:
movs r0, 0x29
- bl sav12_xor_increment
+ bl IncrementGameStat
bl play_some_sound
bl RemoveExtraStartMenuWindows
bl overworld_free_bg_tilemaps
@@ -1656,14 +1656,14 @@ sub_80A0234: @ 80A0234
sub_80A024C: @ 80A024C
push {r4,lr}
movs r0, 0
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_81A9E90
ldr r4, =gUnknown_020322D4
ldrb r0, [r4]
cmp r0, 0x1
bne _080A0274
movs r0, 0x4
- bl save_game_when_memory_present
+ bl TrySavingData
lsls r0, 24
lsrs r1, r0, 24
movs r0, 0
@@ -1672,7 +1672,7 @@ sub_80A024C: @ 80A024C
.pool
_080A0274:
movs r0, 0
- bl save_game_when_memory_present
+ bl TrySavingData
lsls r0, 24
lsrs r1, r0, 24
_080A027E:
diff --git a/asm/trade.s b/asm/trade.s
index 3dd436713..0feabafcb 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -13829,7 +13829,7 @@ _0807EDC0:
cmp r0, 0
bne _0807EDCE
movs r0, 0x15
- bl sav12_xor_increment
+ bl IncrementGameStat
_0807EDCE:
ldr r0, =gLinkVSyncDisabled
ldrb r0, [r0]
@@ -14676,7 +14676,7 @@ _0807F50A:
movs r2, 0
bl sub_807F1A8
movs r0, 0x15
- bl sav12_xor_increment
+ bl IncrementGameStat
bl sub_8153380
ldr r0, =gUnknown_020322A0
ldr r0, [r0]
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index 253da5e78..e8ee8b154 100644
--- a/asm/trainer_card.s
+++ b/asm/trainer_card.s
@@ -803,7 +803,7 @@ sav12_xor_get_clamped_above: @ 80C2DE4
adds r4, r1, 0
lsls r0, 24
lsrs r0, 24
- bl sub_80847F8
+ bl GetGameStat
cmp r0, r4
bls _080C2DF6
adds r0, r4, 0
@@ -852,7 +852,7 @@ _080C2E38:
sub_80C2E40: @ 80C2E40
push {r4,lr}
movs r0, 0xA
- bl sub_80847F8
+ bl GetGameStat
negs r1, r0
orrs r1, r0
lsrs r4, r1, 31
@@ -943,10 +943,10 @@ sub_80C2EC4: @ 80C2EC4
ldrb r0, [r1, 0x10]
strh r0, [r5, 0x12]
movs r0, 0x1
- bl sub_80847F8
+ bl GetGameStat
adds r4, r0, 0
movs r0, 0xA
- bl sub_80847F8
+ bl GetGameStat
cmp r0, 0
bne _080C2EF6
movs r4, 0
diff --git a/asm/tv.s b/asm/tv.s
index e4fc54486..1b74eef92 100644
--- a/asm/tv.s
+++ b/asm/tv.s
@@ -748,7 +748,7 @@ GabbyAndTyAfterInterview: @ 80EC448
adds r0, r2
strb r1, [r0]
movs r0, 0x6
- bl sav12_xor_increment
+ bl IncrementGameStat
pop {r4-r6}
pop {r0}
bx r0
@@ -1208,7 +1208,7 @@ sub_80EC8A4: @ 80EC8A4
movs r1, 0x18
bl sub_80EF910
movs r0, 0x5
- bl sub_80847F8
+ bl GetGameStat
strh r0, [r4, 0x6]
movs r0, 0x19
strb r0, [r4]
@@ -3238,7 +3238,7 @@ sub_80EDA80: @ 80EDA80
ldrh r0, [r5, 0x2]
strh r0, [r4, 0x2]
movs r0, 0x5
- bl sub_80847F8
+ bl GetGameStat
ldrh r1, [r5, 0x6]
subs r0, r1
strh r0, [r4, 0x6]
diff --git a/asm/weather.s b/asm/weather.s
index 802a5bc96..7bb483e4a 100644
--- a/asm/weather.s
+++ b/asm/weather.s
@@ -7810,7 +7810,7 @@ sub_80AEFDC: @ 80AEFDC
bne _080AEFF6
_080AEFF0:
movs r0, 0x28
- bl sav12_xor_increment
+ bl IncrementGameStat
_080AEFF6:
pop {r0}
bx r0
diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s
index ad10a869e..ee654745c 100644
--- a/asm/wild_encounter.s
+++ b/asm/wild_encounter.s
@@ -1882,7 +1882,7 @@ _080B5764:
lsrs r4, r0, 16
_080B5784:
movs r0, 0xC
- bl sav12_xor_increment
+ bl IncrementGameStat
adds r0, r4, 0
bl sub_80EDA3C
bl sub_80B0698