mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
wild encounter, fix merge conflicts
This commit is contained in:
commit
3de416662b
3193
asm/daycare.s
3193
asm/daycare.s
File diff suppressed because it is too large
Load Diff
@ -1390,7 +1390,7 @@ _0809CA04:
|
||||
b _0809CB28
|
||||
.pool
|
||||
_0809CA48:
|
||||
bl sub_8070BD0
|
||||
bl DoEggActions_CheckHatch
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0809CA64
|
||||
|
@ -1988,7 +1988,7 @@ task00_8084310: @ 80B6A24
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080B6A8A
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
|
@ -642,7 +642,7 @@ _080FA0C4:
|
||||
thumb_func_start sub_80FA0DC
|
||||
sub_80FA0DC: @ 80FA0DC
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -777,7 +777,7 @@ sub_80FA1D8: @ 80FA1D8
|
||||
thumb_func_start sub_80FA1E8
|
||||
sub_80FA1E8: @ 80FA1E8
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -950,7 +950,7 @@ sub_80FA33C: @ 80FA33C
|
||||
thumb_func_start sub_80FA34C
|
||||
sub_80FA34C: @ 80FA34C
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
|
@ -32,7 +32,7 @@ _080D3754:
|
||||
ldr r0, =gUnknown_0203AB40
|
||||
adds r1, r0, 0x2
|
||||
bl PlayerGetDestCoords
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x64
|
||||
@ -384,7 +384,7 @@ hm2_ruin_valley: @ 80D3A50
|
||||
push {lr}
|
||||
movs r0, 0x1
|
||||
bl FieldEffectStart
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -420,7 +420,7 @@ sub_80D3A6C: @ 80D3A6C
|
||||
thumb_func_start sub_80D3A9C
|
||||
sub_80D3A9C: @ 80D3A9C
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
|
@ -8,7 +8,7 @@
|
||||
thumb_func_start hm_prepare_dive_probably
|
||||
hm_prepare_dive_probably: @ 8161508
|
||||
push {r4-r6,lr}
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r6, 0x64
|
||||
@ -20,7 +20,7 @@ hm_prepare_dive_probably: @ 8161508
|
||||
adds r5, r0, 0
|
||||
lsls r5, 16
|
||||
lsrs r5, 16
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
muls r0, r6
|
||||
@ -59,7 +59,7 @@ sub_8161560: @ 8161560
|
||||
strb r1, [r0, 0xB]
|
||||
ldrb r1, [r0, 0x9]
|
||||
strb r1, [r0, 0xA]
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
|
@ -18,7 +18,7 @@ hm_prepare_rocksmash: @ 8145DC4
|
||||
b _08145DF2
|
||||
_08145DD8:
|
||||
ldr r4, =gSpecialVar_Result
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4]
|
||||
@ -39,7 +39,7 @@ _08145DF2:
|
||||
thumb_func_start sub_8145E0C
|
||||
sub_8145E0C: @ 8145E0C
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
|
@ -23,7 +23,7 @@ hm2_sweet_scent: @ 8159F10
|
||||
push {lr}
|
||||
movs r0, 0x33
|
||||
bl FieldEffectStart
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
|
@ -38,7 +38,7 @@ hm_teleport_run_dp02scr: @ 817C8FC
|
||||
bl sub_808469C
|
||||
movs r0, 0x3F
|
||||
bl FieldEffectStart
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
|
10
asm/link.s
10
asm/link.s
@ -21515,7 +21515,7 @@ _08014714:
|
||||
movs r1, 0x5
|
||||
movs r2, 0x1
|
||||
bl sub_8014290
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r1, =c2_load_new_map
|
||||
@ -21536,7 +21536,7 @@ _0801474C:
|
||||
movs r1, 0x5
|
||||
movs r2, 0x1
|
||||
bl sub_8014290
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r1, =c2_load_new_map
|
||||
@ -23406,7 +23406,7 @@ _080158E0:
|
||||
ldrh r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080159A0
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
ldrh r0, [r4]
|
||||
@ -23434,7 +23434,7 @@ _08015900:
|
||||
b _0801598E
|
||||
.pool
|
||||
_0801592C:
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r1, r4, 0
|
||||
@ -23468,7 +23468,7 @@ _0801596C:
|
||||
ldr r1, =gUnknown_02022C2C
|
||||
movs r0, 0x44
|
||||
strb r0, [r1]
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r1, r4, 0
|
||||
|
@ -18,7 +18,7 @@ _080D4372:
|
||||
adds r1, r0
|
||||
ldr r0, [r5]
|
||||
adds r0, r1
|
||||
bl sub_80D439C
|
||||
bl ClearMailStruct
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
@ -30,8 +30,8 @@ _080D4372:
|
||||
.pool
|
||||
thumb_func_end ClearMailData
|
||||
|
||||
thumb_func_start sub_80D439C
|
||||
sub_80D439C: @ 80D439C
|
||||
thumb_func_start ClearMailStruct
|
||||
ClearMailStruct: @ 80D439C
|
||||
push {r4-r6,lr}
|
||||
adds r3, r0, 0
|
||||
ldr r0, =0x0000ffff
|
||||
@ -76,10 +76,10 @@ _080D43D6:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80D439C
|
||||
thumb_func_end ClearMailStruct
|
||||
|
||||
thumb_func_start sub_80D43F0
|
||||
sub_80D43F0: @ 80D43F0
|
||||
thumb_func_start MonHasMail
|
||||
MonHasMail: @ 80D43F0
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0xC
|
||||
@ -103,7 +103,7 @@ _080D441A:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80D43F0
|
||||
thumb_func_end MonHasMail
|
||||
|
||||
thumb_func_start sub_80D4420
|
||||
sub_80D4420: @ 80D4420
|
||||
@ -349,8 +349,8 @@ _080D4606:
|
||||
bx r1
|
||||
thumb_func_end sub_80D45E8
|
||||
|
||||
thumb_func_start sub_80D460C
|
||||
sub_80D460C: @ 80D460C
|
||||
thumb_func_start GiveMailToMon2
|
||||
GiveMailToMon2: @ 80D460C
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x8
|
||||
adds r6, r0, 0
|
||||
@ -401,7 +401,7 @@ _080D4672:
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80D460C
|
||||
thumb_func_end GiveMailToMon2
|
||||
|
||||
thumb_func_start sub_80D467C
|
||||
sub_80D467C: @ 80D467C
|
||||
@ -409,12 +409,12 @@ sub_80D467C: @ 80D467C
|
||||
bx lr
|
||||
thumb_func_end sub_80D467C
|
||||
|
||||
thumb_func_start sub_80D4680
|
||||
sub_80D4680: @ 80D4680
|
||||
thumb_func_start TakeMailFromMon
|
||||
TakeMailFromMon: @ 80D4680
|
||||
push {r4,lr}
|
||||
sub sp, 0x8
|
||||
adds r4, r0, 0
|
||||
bl sub_80D43F0
|
||||
bl MonHasMail
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080D46D2
|
||||
@ -454,7 +454,7 @@ _080D46D2:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80D4680
|
||||
thumb_func_end TakeMailFromMon
|
||||
|
||||
thumb_func_start sub_80D46E0
|
||||
sub_80D46E0: @ 80D46E0
|
||||
|
@ -727,9 +727,9 @@ _08153D86:
|
||||
beq _08153DA4
|
||||
adds r0, r7, 0
|
||||
mov r1, sp
|
||||
bl sub_80D460C
|
||||
bl GiveMailToMon2
|
||||
_08153DA4:
|
||||
bl party_compaction
|
||||
bl CompactPartySlots
|
||||
bl CalculatePlayerPartyCount
|
||||
ldr r0, =gStringVar4
|
||||
ldr r1, =gUnknown_08674BF0
|
||||
|
@ -2111,13 +2111,13 @@ _081B134C:
|
||||
bx r0
|
||||
thumb_func_end c3_0811FAB4
|
||||
|
||||
thumb_func_start brm_get_pokemon_selection
|
||||
brm_get_pokemon_selection: @ 81B1354
|
||||
thumb_func_start GetCursorSelectionMonId
|
||||
GetCursorSelectionMonId: @ 81B1354
|
||||
ldr r0, =gUnknown_0203CEC8
|
||||
ldrb r0, [r0, 0x9]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end brm_get_pokemon_selection
|
||||
thumb_func_end GetCursorSelectionMonId
|
||||
|
||||
thumb_func_start sub_81B1360
|
||||
sub_81B1360: @ 81B1360
|
||||
@ -8140,7 +8140,7 @@ sub_81B4578: @ 81B4578
|
||||
cmp r7, 0
|
||||
bne _081B45F8
|
||||
adds r0, r5, 0
|
||||
bl sub_80D4680
|
||||
bl TakeMailFromMon
|
||||
ldr r4, =gUnknown_0203CEFC
|
||||
adds r0, r5, 0
|
||||
movs r1, 0xC
|
||||
@ -8925,7 +8925,7 @@ _081B4CBE:
|
||||
ldrsb r0, [r1, r0]
|
||||
muls r0, r7
|
||||
adds r0, r6
|
||||
bl sub_80D4680
|
||||
bl TakeMailFromMon
|
||||
ldr r0, =gText_MailTakenFromPkmn
|
||||
movs r1, 0
|
||||
bl sub_81B1B5C
|
||||
@ -10134,7 +10134,7 @@ _081B57FE:
|
||||
thumb_func_start hm_surf_run_dp02scr
|
||||
hm_surf_run_dp02scr: @ 81B5804
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -10238,7 +10238,7 @@ sub_81B58A8: @ 81B58A8
|
||||
thumb_func_start hm2_waterfall
|
||||
hm2_waterfall: @ 81B58D4
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -10298,7 +10298,7 @@ _081B594E:
|
||||
thumb_func_start sub_81B5958
|
||||
sub_81B5958: @ 81B5958
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -14938,7 +14938,7 @@ sub_81B81A8: @ 81B81A8
|
||||
cmp r0, 0
|
||||
bne _081B8208
|
||||
adds r0, r5, 0
|
||||
bl sub_80D4680
|
||||
bl TakeMailFromMon
|
||||
ldr r4, =gUnknown_0203CEFC
|
||||
adds r0, r5, 0
|
||||
movs r1, 0xC
|
||||
@ -15281,9 +15281,9 @@ sub_81B8474: @ 81B8474
|
||||
_081B84DC:
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_80D460C
|
||||
bl GiveMailToMon2
|
||||
adds r0, r4, 0
|
||||
bl sub_80D439C
|
||||
bl ClearMailStruct
|
||||
ldr r0, =gText_MailTransferredFromMailbox
|
||||
movs r1, 0x1
|
||||
bl sub_81B1B5C
|
||||
@ -15994,7 +15994,7 @@ sub_81B8A7C: @ 81B8A7C
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
bl sub_81B1250
|
||||
@ -17113,7 +17113,7 @@ sub_81B9354: @ 81B9354
|
||||
sub_81B9390: @ 81B9390
|
||||
push {r4,lr}
|
||||
ldr r4, =gSpecialVar_0x8004
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4]
|
||||
@ -17218,7 +17218,7 @@ _081B945C:
|
||||
thumb_func_start sub_81B9470
|
||||
sub_81B9470: @ 81B9470
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r2, =gUnknown_02039F24
|
||||
strb r0, [r2]
|
||||
lsls r0, 24
|
||||
@ -17345,7 +17345,7 @@ _081B9574:
|
||||
sub_81B9588: @ 81B9588
|
||||
push {r4,r5,lr}
|
||||
ldr r5, =gSpecialVar_0x8004
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r5]
|
||||
|
@ -1444,7 +1444,7 @@ _0816BA68:
|
||||
adds r0, r6, 0
|
||||
bl DisplayItemMessageOnField
|
||||
adds r0, r5, 0
|
||||
bl sub_80D439C
|
||||
bl ClearMailStruct
|
||||
bl sub_816B54C
|
||||
ldrb r0, [r4, 0x5]
|
||||
subs r0, 0x1
|
||||
|
@ -1310,8 +1310,8 @@ _08068FF4:
|
||||
bx r0
|
||||
thumb_func_end CalculateMonStats
|
||||
|
||||
thumb_func_start sub_8069004
|
||||
sub_8069004: @ 8069004
|
||||
thumb_func_start BoxMonToMon
|
||||
BoxMonToMon: @ 8069004
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
adds r2, r0, 0
|
||||
@ -1346,7 +1346,7 @@ sub_8069004: @ 8069004
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8069004
|
||||
thumb_func_end BoxMonToMon
|
||||
|
||||
thumb_func_start GetLevelFromMonExp
|
||||
GetLevelFromMonExp: @ 8069054
|
||||
|
@ -3323,7 +3323,7 @@ _080C8E38:
|
||||
b _080C8EA0
|
||||
.pool
|
||||
_080C8E4C:
|
||||
bl party_compaction
|
||||
bl CompactPartySlots
|
||||
bl sub_80CB950
|
||||
ldr r0, =gUnknown_02039D08
|
||||
ldr r1, [r0]
|
||||
@ -3483,7 +3483,7 @@ _080C8FA4:
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _080C8FD0
|
||||
bl party_compaction
|
||||
bl CompactPartySlots
|
||||
bl sub_80CB950
|
||||
b _080C905C
|
||||
.pool
|
||||
@ -4237,7 +4237,7 @@ sub_80C9670: @ 80C9670
|
||||
b _080C96AE
|
||||
.pool
|
||||
_080C9688:
|
||||
bl party_compaction
|
||||
bl CompactPartySlots
|
||||
bl sub_80CB950
|
||||
ldr r1, [r4]
|
||||
ldrb r0, [r1]
|
||||
@ -6351,7 +6351,7 @@ _080CA94C:
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
bl sub_80CBB9C
|
||||
bl party_compaction
|
||||
bl CompactPartySlots
|
||||
movs r0, 0x2
|
||||
str r0, [sp]
|
||||
movs r1, 0
|
||||
@ -13977,8 +13977,8 @@ _080CE900:
|
||||
.pool
|
||||
thumb_func_end sub_80CE8E4
|
||||
|
||||
thumb_func_start party_compaction
|
||||
party_compaction: @ 80CE90C
|
||||
thumb_func_start CompactPartySlots
|
||||
CompactPartySlots: @ 80CE90C
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
@ -14055,7 +14055,7 @@ _080CE992:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end party_compaction
|
||||
thumb_func_end CompactPartySlots
|
||||
|
||||
thumb_func_start sub_80CE9A8
|
||||
sub_80CE9A8: @ 80CE9A8
|
||||
@ -20826,7 +20826,7 @@ sub_80D2054: @ 80D2054
|
||||
lsls r1, 4
|
||||
adds r0, r1
|
||||
adds r1, r5, 0
|
||||
bl sub_8069004
|
||||
bl BoxMonToMon
|
||||
_080D2088:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
|
@ -25722,7 +25722,7 @@ sub_81D3AD8: @ 81D3AD8
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
movs r0, 0x1E
|
||||
bl sub_81535DC
|
||||
bl TryCopySpecialSaveSection
|
||||
cmp r0, 0x1
|
||||
bne _081D3B04
|
||||
ldr r2, =0x00000ee8
|
||||
|
@ -3607,7 +3607,7 @@ sub_80E89F8: @ 80E89F8
|
||||
ldr r1, =0x00003030
|
||||
adds r0, r1
|
||||
adds r1, r5, 0
|
||||
bl sub_806FA9C
|
||||
bl InitDaycareMailRecordMixing
|
||||
ldr r0, =gUnknown_03001148
|
||||
ldr r1, [r0]
|
||||
adds r0, r6, 0
|
||||
|
File diff suppressed because it is too large
Load Diff
10
asm/rom6.s
10
asm/rom6.s
@ -263,7 +263,7 @@ sub_8135654: @ 8135654
|
||||
cmp r0, 0
|
||||
beq _0813568C
|
||||
ldr r4, =gSpecialVar_Result
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4]
|
||||
@ -302,7 +302,7 @@ _081356AC:
|
||||
thumb_func_start sub_81356C4
|
||||
sub_81356C4: @ 81356C4
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -379,7 +379,7 @@ hm2_dig: @ 8135760
|
||||
bl flagmods_08054D70
|
||||
movs r0, 0x26
|
||||
bl FieldEffectStart
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -3334,7 +3334,7 @@ sub_81370FC: @ 81370FC
|
||||
cmp r0, 0
|
||||
beq _08137134
|
||||
ldr r4, =gSpecialVar_Result
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4]
|
||||
@ -3380,7 +3380,7 @@ hm2_flash: @ 8137178
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl brm_get_pokemon_selection
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
|
@ -1343,7 +1343,7 @@ ScriptGiveEgg: @ 80F92C8
|
||||
lsrs r1, 16
|
||||
mov r0, sp
|
||||
movs r2, 0x1
|
||||
bl sub_8070954
|
||||
bl CreateEgg
|
||||
add r2, sp, 0x64
|
||||
movs r0, 0x1
|
||||
strb r0, [r2]
|
||||
|
@ -5112,7 +5112,7 @@ _08079DDE:
|
||||
_08079DF0:
|
||||
add r0, sp, 0xC
|
||||
movs r1, 0
|
||||
bl sub_8070ECC
|
||||
bl NameHasGenderSymbol
|
||||
lsls r0, 24
|
||||
movs r2, 0x83
|
||||
cmp r0, 0
|
||||
@ -5122,7 +5122,7 @@ _08079DF0:
|
||||
_08079E04:
|
||||
add r0, sp, 0xC
|
||||
movs r1, 0xFE
|
||||
bl sub_8070ECC
|
||||
bl NameHasGenderSymbol
|
||||
lsls r0, 24
|
||||
movs r2, 0x83
|
||||
cmp r0, 0
|
||||
@ -7948,7 +7948,7 @@ sub_807B4D0: @ 807B4D0
|
||||
adds r1, r2
|
||||
ldr r0, [r0]
|
||||
adds r0, r1
|
||||
bl sub_80D439C
|
||||
bl ClearMailStruct
|
||||
_0807B52A:
|
||||
ldr r4, =gUnknown_020322A0
|
||||
ldr r0, [r4]
|
||||
@ -7985,7 +7985,7 @@ _0807B566:
|
||||
ldr r0, =gUnknown_020321C0
|
||||
adds r1, r0
|
||||
adds r0, r7, 0
|
||||
bl sub_80D460C
|
||||
bl GiveMailToMon2
|
||||
_0807B57C:
|
||||
mov r0, r9
|
||||
bl sub_807B464
|
||||
|
@ -5000,7 +5000,7 @@ _080C5240:
|
||||
adds r0, r2
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r1, 0x6]
|
||||
bl sub_8185290
|
||||
bl CanCopyRecordedBattleSaveData
|
||||
ldr r3, [r5]
|
||||
movs r1, 0x1
|
||||
ands r0, r1
|
||||
@ -5825,7 +5825,7 @@ _080C5970:
|
||||
strh r0, [r1, 0x6]
|
||||
bl sub_80C52E4
|
||||
ldr r0, =sub_80C58D4
|
||||
bl sub_8185E24
|
||||
bl PlayRecordedBattle
|
||||
b _080C599A
|
||||
.pool
|
||||
_080C5994:
|
||||
|
@ -131,7 +131,7 @@
|
||||
.equiv FLAG_0x083, 0x83
|
||||
.equiv FLAG_0x084, 0x84
|
||||
.equiv FLAG_0x085, 0x85
|
||||
.equiv FLAG_0x086, 0x86
|
||||
.equiv FLAG_PENDING_DAYCARE_EGG, 0x86
|
||||
.equiv FLAG_0x087, 0x87
|
||||
.equiv FLAG_0x088, 0x88
|
||||
.equiv FLAG_0x089, 0x89
|
||||
|
@ -1,24 +0,0 @@
|
||||
@ the third big chunk of data
|
||||
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
|
||||
|
||||
@ 832ADD8
|
||||
.include "data/egg_moves.inc"
|
||||
|
||||
.align 2
|
||||
gUnknown_0832B6C0:: @ 832B6C0
|
||||
.incbin "baserom.gba", 0x32b6c0, 0x20
|
||||
|
||||
gUnknown_0832B6E0:: @ 832B6E0
|
||||
.incbin "baserom.gba", 0x32b6e0, 0x18
|
||||
|
||||
gUnknown_0832B6F8:: @ 832B6F8
|
||||
.incbin "baserom.gba", 0x32b6f8, 0x10
|
||||
|
||||
gEggName:: @ 832B708
|
||||
.string "タマゴ$" @ "tamago" ("egg" in Japanese)
|
1306
data/egg_moves.inc
1306
data/egg_moves.inc
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,8 @@
|
||||
Route117_EventScript_291C18:: @ 8291C18
|
||||
lock
|
||||
faceplayer
|
||||
special sp0B5_daycare
|
||||
specialvar VAR_RESULT, sp0B6_daycare
|
||||
special GetDaycareMonNicknames
|
||||
specialvar VAR_RESULT, GetDaycareState
|
||||
compare_var_to_value VAR_RESULT, 1
|
||||
goto_eq Route117_EventScript_291C4D
|
||||
compare_var_to_value VAR_RESULT, 2
|
||||
@ -21,8 +21,8 @@ Route117_EventScript_291C4D:: @ 8291C4D
|
||||
compare_var_to_value VAR_RESULT, 1
|
||||
goto_eq Route117_EventScript_291C83
|
||||
msgbox Route117_Text_292149, 4
|
||||
clearflag FLAG_0x086
|
||||
special sub_8070728
|
||||
clearflag FLAG_PENDING_DAYCARE_EGG
|
||||
special RejectEggFromDayCare
|
||||
release
|
||||
end
|
||||
|
||||
@ -40,8 +40,8 @@ Route117_EventScript_291C9D:: @ 8291C9D
|
||||
waitfanfare
|
||||
waitbuttonpress
|
||||
msgbox Route117_Text_2921CF, 4
|
||||
special sp0B8_daycare
|
||||
clearflag FLAG_0x086
|
||||
special GiveEggFromDaycare
|
||||
clearflag FLAG_PENDING_DAYCARE_EGG
|
||||
release
|
||||
end
|
||||
|
||||
@ -56,7 +56,7 @@ Route117_EventScript_291CC8:: @ 8291CC8
|
||||
return
|
||||
|
||||
Route117_EventScript_291CD1:: @ 8291CD1
|
||||
special sp0B5_daycare
|
||||
special GetDaycareMonNicknames
|
||||
msgbox Route117_Text_292114, 4
|
||||
setvar VAR_0x8004, 0
|
||||
call Route117_EventScript_291CB7
|
||||
@ -64,9 +64,9 @@ Route117_EventScript_291CD1:: @ 8291CD1
|
||||
end
|
||||
|
||||
Route117_EventScript_291CE8:: @ 8291CE8
|
||||
special sp0B5_daycare
|
||||
special GetDaycareMonNicknames
|
||||
msgbox Route117_Text_292299, 4
|
||||
special sp0B9_daycare_relationship_comment
|
||||
special SetDaycareCompatibilityString
|
||||
special sub_8138AC0
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
@ -80,7 +80,7 @@ Route117_EventScript_291CE8:: @ 8291CE8
|
||||
Route117_PokemonDayCare_EventScript_291D11:: @ 8291D11
|
||||
lock
|
||||
faceplayer
|
||||
specialvar VAR_RESULT, sp0B6_daycare
|
||||
specialvar VAR_RESULT, GetDaycareState
|
||||
compare_var_to_value VAR_RESULT, 1
|
||||
goto_eq Route117_PokemonDayCare_EventScript_291E0B
|
||||
compare_var_to_value VAR_RESULT, 2
|
||||
@ -103,21 +103,21 @@ Route117_PokemonDayCare_EventScript_291D56:: @ 8291D56
|
||||
goto_eq Route117_PokemonDayCare_EventScript_291E01
|
||||
msgbox Route117_PokemonDayCare_Text_292349, 4
|
||||
fadescreen 1
|
||||
special sub_8071330
|
||||
special ChooseSendDaycareMon
|
||||
waitstate
|
||||
compare_var_to_value VAR_0x8004, 255
|
||||
goto_eq Route117_PokemonDayCare_EventScript_291DCA
|
||||
specialvar VAR_RESULT, CountPartyAliveNonEggMons_IgnoreVar0x8004Slot
|
||||
compare_var_to_value VAR_RESULT, 0
|
||||
goto_eq Route117_PokemonDayCare_EventScript_291DF7
|
||||
specialvar VAR_0x8005, sub_8070C58
|
||||
specialvar VAR_0x8005, GetSelectedMonNickAndSpecies
|
||||
waitse
|
||||
playmoncry VAR_0x8005, 0
|
||||
msgbox Route117_PokemonDayCare_Text_292370, 4
|
||||
waitmoncry
|
||||
special daycare_send_selected_pokemon
|
||||
special StoreSelectedPokemonInDaycare
|
||||
incrementgamestat 47
|
||||
specialvar VAR_RESULT, sp0B6_daycare
|
||||
specialvar VAR_RESULT, GetDaycareState
|
||||
compare_var_to_value VAR_RESULT, 2
|
||||
goto_eq Route117_PokemonDayCare_EventScript_291DD4
|
||||
release
|
||||
@ -160,7 +160,7 @@ Route117_PokemonDayCare_EventScript_291E15:: @ 8291E15
|
||||
return
|
||||
|
||||
Route117_PokemonDayCare_EventScript_291E1E:: @ 8291E1E
|
||||
specialvar VAR_RESULT, sub_806FF30
|
||||
specialvar VAR_RESULT, GetNumLevelsGainedFromDaycare
|
||||
compare_var_to_value VAR_RESULT, 0
|
||||
call_if 5, Route117_PokemonDayCare_EventScript_291E15
|
||||
return
|
||||
@ -182,11 +182,11 @@ Route117_PokemonDayCare_EventScript_291E6D:: @ 8291E6D
|
||||
specialvar VAR_RESULT, CalculatePlayerPartyCount
|
||||
compare_var_to_value VAR_RESULT, 6
|
||||
goto_eq Route117_PokemonDayCare_EventScript_291F3D
|
||||
specialvar VAR_RESULT, sp0B6_daycare
|
||||
specialvar VAR_RESULT, GetDaycareState
|
||||
setvar VAR_0x8004, 0
|
||||
compare_var_to_value VAR_RESULT, 2
|
||||
goto_eq Route117_PokemonDayCare_EventScript_291EAC
|
||||
special sub_80712C0
|
||||
special ShowDaycareLevelMenu
|
||||
waitstate
|
||||
copyvar VAR_0x8004, VAR_RESULT
|
||||
compare_var_to_value VAR_RESULT, 2
|
||||
@ -195,7 +195,7 @@ Route117_PokemonDayCare_EventScript_291E6D:: @ 8291E6D
|
||||
end
|
||||
|
||||
Route117_PokemonDayCare_EventScript_291EAC:: @ 8291EAC
|
||||
special sub_806FED8
|
||||
special GetDaycareCost
|
||||
msgbox Route117_PokemonDayCare_Text_292549, 5
|
||||
compare_var_to_value VAR_RESULT, 1
|
||||
goto_eq Route117_PokemonDayCare_EventScript_291EC8
|
||||
@ -213,7 +213,7 @@ Route117_PokemonDayCare_EventScript_291EC8:: @ 8291EC8
|
||||
Route117_PokemonDayCare_EventScript_291EE2:: @ 8291EE2
|
||||
applymovement 1, Route117_PokemonDayCare_Movement_291F47
|
||||
waitmovement 0
|
||||
specialvar VAR_RESULT, sub_806FDC4
|
||||
specialvar VAR_RESULT, TakePokemonFromDaycare
|
||||
special SubtractMoneyFromVar0x8005
|
||||
playse SE_REGI
|
||||
msgbox Route117_PokemonDayCare_Text_292575, 4
|
||||
@ -221,7 +221,7 @@ Route117_PokemonDayCare_EventScript_291EE2:: @ 8291EE2
|
||||
playmoncry VAR_RESULT, 0
|
||||
msgbox Route117_PokemonDayCare_Text_292593, 4
|
||||
waitmoncry
|
||||
specialvar VAR_RESULT, sp0B6_daycare
|
||||
specialvar VAR_RESULT, GetDaycareState
|
||||
compare_var_to_value VAR_RESULT, 2
|
||||
goto_eq Route117_PokemonDayCare_EventScript_291F24
|
||||
goto Route117_PokemonDayCare_EventScript_291DCA
|
||||
@ -278,12 +278,12 @@ Route117_PokemonDayCare_EventScript_291F5C:: @ 8291F5C
|
||||
end
|
||||
|
||||
Route117_PokemonDayCare_EventScript_291F95:: @ 8291F95
|
||||
special sub_80712C0
|
||||
special ShowDaycareLevelMenu
|
||||
waitstate
|
||||
compare_var_to_value VAR_RESULT, 2
|
||||
goto_eq Route117_PokemonDayCare_EventScript_291DCA
|
||||
copyvar VAR_0x8004, VAR_RESULT
|
||||
specialvar VAR_RESULT, sub_806FDC4
|
||||
specialvar VAR_RESULT, TakePokemonFromDaycare
|
||||
msgbox Route117_PokemonDayCare_Text_292575, 4
|
||||
msgbox Route117_PokemonDayCare_Text_292476, 4
|
||||
release
|
||||
|
@ -7,7 +7,7 @@ Route117_MapScript1_1F3983: @ 81F3983
|
||||
end
|
||||
|
||||
Route117_EventScript_1F3989:: @ 81F3989
|
||||
checkflag FLAG_0x086
|
||||
checkflag FLAG_PENDING_DAYCARE_EGG
|
||||
goto_if 0, Route117_EventScript_1F3999
|
||||
setobjectxyperm 3, 47, 6
|
||||
|
||||
|
@ -191,18 +191,18 @@ gSpecials:: @ 81DBA64
|
||||
def_special GabbyAndTyGetLastBattleTrivia
|
||||
def_special GabbyAndTySetScriptVarsToFieldObjectLocalIds
|
||||
def_special sub_8138B80
|
||||
def_special sp0B5_daycare
|
||||
def_special sp0B6_daycare
|
||||
def_special sub_8070728
|
||||
def_special sp0B8_daycare
|
||||
def_special sp0B9_daycare_relationship_comment
|
||||
def_special sub_8070C58
|
||||
def_special daycare_send_selected_pokemon
|
||||
def_special sub_8071330
|
||||
def_special sub_80712C0
|
||||
def_special sub_806FF30
|
||||
def_special sub_806FED8
|
||||
def_special sub_806FDC4
|
||||
def_special GetDaycareMonNicknames
|
||||
def_special GetDaycareState
|
||||
def_special RejectEggFromDayCare
|
||||
def_special GiveEggFromDaycare
|
||||
def_special SetDaycareCompatibilityString
|
||||
def_special GetSelectedMonNickAndSpecies
|
||||
def_special StoreSelectedPokemonInDaycare
|
||||
def_special ChooseSendDaycareMon
|
||||
def_special ShowDaycareLevelMenu
|
||||
def_special GetNumLevelsGainedFromDaycare
|
||||
def_special GetDaycareCost
|
||||
def_special TakePokemonFromDaycare
|
||||
def_special ScriptHatchMon
|
||||
def_special EggHatch
|
||||
def_special sub_8071614
|
||||
@ -534,4 +534,3 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_813C5A0
|
||||
def_special sub_8139C10
|
||||
def_special sub_80B3BC4
|
||||
|
||||
|
@ -5121,16 +5121,16 @@ gText_YouDontHaveThreeCoins:: @ 85EF734
|
||||
gText_ReelTimeHelp:: @ 85EF750
|
||||
.string "REEL TIME\nHere’s your chance to take\naim and nail marks!\nReel Time continues for the\nawarded number of spins.\nIt all ends on a Big Bonus.$"
|
||||
|
||||
gUnknown_085EF7DA:: @ 85EF7DA
|
||||
gDaycareText_GetAlongVeryWell:: @ 85EF7DA
|
||||
.string "The two seem to get along\nvery well.$"
|
||||
|
||||
gUnknown_085EF7FF:: @ 85EF7FF
|
||||
gDaycareText_GetAlong:: @ 85EF7FF
|
||||
.string "The two seem to get along.$"
|
||||
|
||||
gUnknown_085EF81A:: @ 85EF81A
|
||||
gDaycareText_DontLikeOther:: @ 85EF81A
|
||||
.string "The two don’t seem to like\neach other much.$"
|
||||
|
||||
gUnknown_085EF846:: @ 85EF846
|
||||
gDaycareText_PlayOther:: @ 85EF846
|
||||
.string "The two prefer to play with other\nPOKéMON than each other.$"
|
||||
|
||||
gText_NewLine2:: @ 85EF881
|
||||
|
10
data/trade.s
10
data/trade.s
@ -19,13 +19,13 @@ gUnknown_0832D2BC:: @ 832D2BC
|
||||
gUnknown_0832DABC:: @ 832DABC
|
||||
.incbin "baserom.gba", 0x32dabc, 0xb
|
||||
|
||||
gUnknown_0832DAC7:: @ 832DAC7
|
||||
.incbin "baserom.gba", 0x32dac7, 0x2
|
||||
gText_MaleSymbol4:: @ 832DAC7
|
||||
.string "♂$"
|
||||
|
||||
gUnknown_0832DAC9:: @ 832DAC9
|
||||
.incbin "baserom.gba", 0x32dac9, 0x2
|
||||
gText_FemaleSymbol4:: @ 832DAC9
|
||||
.string "♀$"
|
||||
|
||||
gUnknown_0832DACB:: @ 832DACB
|
||||
gText_GenderlessSymbol:: @ 832DACB
|
||||
.incbin "baserom.gba", 0x32dacb, 0x7
|
||||
|
||||
gUnknown_0832DAD2:: @ 832DAD2
|
||||
|
1315
include/data/pokemon/egg_moves.h
Normal file
1315
include/data/pokemon/egg_moves.h
Normal file
File diff suppressed because it is too large
Load Diff
27
include/daycare.h
Normal file
27
include/daycare.h
Normal file
@ -0,0 +1,27 @@
|
||||
#ifndef GUARD_DAYCARE_H
|
||||
#define GUARD_DAYCARE_H
|
||||
|
||||
#define EGG_HATCH_LEVEL 5
|
||||
|
||||
u8 *GetMonNick(struct Pokemon *mon, u8 *dest);
|
||||
u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest);
|
||||
u8 CountPokemonInDaycare(struct DayCare *daycare);
|
||||
void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDayCareMail *daycareMail);
|
||||
void StoreSelectedPokemonInDaycare(void);
|
||||
u16 TakePokemonFromDaycare(void);
|
||||
void GetDaycareCost(void);
|
||||
u8 GetNumLevelsGainedFromDaycare(void);
|
||||
void TriggerPendingDaycareEgg(void);
|
||||
void RejectEggFromDayCare(void);
|
||||
void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation);
|
||||
void GiveEggFromDaycare(void);
|
||||
bool8 DoEggActions_CheckHatch(void);
|
||||
u16 GetSelectedMonNickAndSpecies(void);
|
||||
void GetDaycareMonNicknames(void);
|
||||
u8 GetDaycareState(void);
|
||||
void SetDaycareCompatibilityString(void);
|
||||
bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio);
|
||||
void ShowDaycareLevelMenu(void);
|
||||
void ChooseSendDaycareMon(void);
|
||||
|
||||
#endif // GUARD_DAYCARE_H
|
10
include/egg_hatch.h
Normal file
10
include/egg_hatch.h
Normal file
@ -0,0 +1,10 @@
|
||||
#ifndef GUARD_EGG_HATCH_H
|
||||
#define GUARD_EGG_HATCH_H
|
||||
|
||||
void ScriptHatchMon(void);
|
||||
bool8 sub_8071614(void);
|
||||
void EggHatch(void);
|
||||
u8 GetEggStepsToSubtract(void);
|
||||
u16 sub_80722E0(void);
|
||||
|
||||
#endif // GUARD_EGG_HATCH_H
|
@ -1,9 +1,11 @@
|
||||
#ifndef GUARD_FLAGS_H
|
||||
#define GUARD_FLAGS_H
|
||||
|
||||
#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
|
||||
#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
|
||||
#define FLAG_PENDING_DAYCARE_EGG 0x86
|
||||
|
||||
#define FLAG_TRAINER_FLAG_START 0x500
|
||||
|
||||
#define TRAINERS_FLAG_NO 0x356
|
||||
#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
|
||||
|
||||
|
@ -167,9 +167,31 @@ struct BerryCrush
|
||||
u32 unk;
|
||||
};
|
||||
|
||||
#define PLAYER_NAME_LENGTH 8
|
||||
|
||||
struct UnknownSaveBlock2Struct
|
||||
{
|
||||
u8 field_0;
|
||||
u8 field_1;
|
||||
u8 field_2[2];
|
||||
u8 field_4[8];
|
||||
u8 field_C[16];
|
||||
u16 field_1C[6];
|
||||
u16 field_28[6];
|
||||
u8 field_34[176];
|
||||
u8 field_E4;
|
||||
u8 field_E5;
|
||||
u8 field_E6;
|
||||
u8 field_E7;
|
||||
u8 field_E8;
|
||||
u8 field_E9;
|
||||
u8 field_EA;
|
||||
u8 field_EB;
|
||||
}; // sizeof = 0xEC
|
||||
|
||||
struct SaveBlock2
|
||||
{
|
||||
/*0x00*/ u8 playerName[8];
|
||||
/*0x00*/ u8 playerName[PLAYER_NAME_LENGTH];
|
||||
/*0x08*/ u8 playerGender; // MALE, FEMALE
|
||||
/*0x09*/ u8 specialSaveWarp;
|
||||
/*0x0A*/ u8 playerTrainerId[4];
|
||||
@ -201,7 +223,8 @@ struct SaveBlock2
|
||||
|
||||
// All below could be a one giant struct
|
||||
|
||||
/*0x64C*/ u8 field_64C[0x588];
|
||||
/*0x64C*/ u8 field_64C[236];
|
||||
/*0x738*/ struct UnknownSaveBlock2Struct field_738[5]; // No idea here, it's probably wrong, no clue.
|
||||
/*0xBD4*/ u16 field_BD4;
|
||||
/*0xBD6*/ u16 field_BD6;
|
||||
/*0xBD8*/ u8 field_BD8[11];
|
||||
@ -428,30 +451,52 @@ struct ContestWinner
|
||||
u8 contestRank;
|
||||
};
|
||||
|
||||
struct DaycareMiscMon
|
||||
{
|
||||
struct MailStruct mail;
|
||||
u8 OT_name[OT_NAME_LENGTH + 1];
|
||||
u8 monName[POKEMON_NAME_LENGTH + 1];
|
||||
u8 gameLanguage:4;
|
||||
u8 monLanguage:4;
|
||||
};
|
||||
|
||||
struct DaycareMon
|
||||
{
|
||||
struct BoxPokemon mon;
|
||||
struct MailStruct mail;
|
||||
u8 OT_name[OT_NAME_LENGTH + 1];
|
||||
u8 monName[11];
|
||||
u8 language_maybe : 4;
|
||||
u8 unknown : 4;
|
||||
u32 stepsTaken;
|
||||
struct DaycareMiscMon misc;
|
||||
u32 steps;
|
||||
};
|
||||
|
||||
struct DaycareData
|
||||
#define DAYCARE_MON_COUNT 2
|
||||
|
||||
struct DayCare
|
||||
{
|
||||
struct DaycareMon mons[2];
|
||||
struct DaycareMon mons[DAYCARE_MON_COUNT];
|
||||
u32 offspringPersonality;
|
||||
u8 stepCounter;
|
||||
};
|
||||
|
||||
struct DayCareMail
|
||||
{
|
||||
/*0x00*/ struct MailStruct message;
|
||||
/*0x24*/ u8 names[19];
|
||||
};
|
||||
|
||||
struct RecordMixingDayCareMail
|
||||
{
|
||||
struct DayCareMail mail[DAYCARE_MON_COUNT];
|
||||
u32 numDaycareMons;
|
||||
bool16 holdsItem[DAYCARE_MON_COUNT];
|
||||
};
|
||||
|
||||
#define MAP_OBJECTS_COUNT 16
|
||||
#define BERRY_TREES_COUNT 128
|
||||
#define FLAGS_COUNT 300
|
||||
#define VARS_COUNT 256
|
||||
#define MAIL_COUNT 16
|
||||
|
||||
enum {
|
||||
enum
|
||||
{
|
||||
LILYCOVE_LADY_QUIZ,
|
||||
LILYCOVE_LADY_FAVOUR,
|
||||
LILYCOVE_LADY_CONTEST
|
||||
@ -582,13 +627,13 @@ struct SaveBlock1
|
||||
/*0x2BBC*/ u16 unk2BBC[6];
|
||||
/*0x2BC8*/ u16 unk2BC8[6];
|
||||
/*0x2BD4*/ u16 unk2BD4[6];
|
||||
/*0x2BE0*/ struct MailStruct mail[16];
|
||||
/*0x2BE0*/ struct MailStruct mail[MAIL_COUNT];
|
||||
/*0x2E20*/ u8 additionalPhrases[5]; // bitfield for 33 additional phrases in easy chat system
|
||||
/*0x2E25*/ u8 unk2E25[3]; // possibly padding?
|
||||
/*0x2E28*/ OldMan oldMan;
|
||||
/*0x2e64*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
|
||||
/*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum
|
||||
/*0x3030*/ struct DaycareData daycare;
|
||||
/*0x3030*/ struct DayCare daycare;
|
||||
/*0x3150*/ struct LinkBattleRecord linkBattleRecords[5];
|
||||
/*0x31A0*/ u8 unk_31A0;
|
||||
/*0x31A1*/ u8 filler_31A1[7];
|
||||
|
@ -386,4 +386,7 @@ enum
|
||||
ITEM_OLD_SEA_MAP, // 0x178
|
||||
};
|
||||
|
||||
#define NUM_TECHNICAL_MACHINES 50
|
||||
#define NUM_HIDDEN_MACHINES 8
|
||||
|
||||
#endif // GUARD_ITEMS_H
|
||||
|
@ -68,7 +68,7 @@ struct LinkPlayer
|
||||
/* 0x08 */ u8 name[11];
|
||||
/* 0x13 */ u8 gender;
|
||||
/* 0x14 */ u32 linkType;
|
||||
/* 0x18 */ u16 lp_field_18;
|
||||
/* 0x18 */ u16 lp_field_18; // battle bank in battles
|
||||
/* 0x1A */ u16 language;
|
||||
};
|
||||
|
||||
|
@ -5,31 +5,33 @@
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
struct ListMenuItem {
|
||||
struct ListMenuItem
|
||||
{
|
||||
const u8 *unk_00;
|
||||
s32 unk_04;
|
||||
};
|
||||
|
||||
struct ListMenu;
|
||||
|
||||
struct ListMenuTemplate {
|
||||
struct ListMenuItem *unk_00;
|
||||
struct ListMenuTemplate
|
||||
{
|
||||
const struct ListMenuItem *items;
|
||||
void (* unk_04)(u32, bool8, struct ListMenu *);
|
||||
void (* unk_08)(u8, s32, u8);
|
||||
u16 unk_0c;
|
||||
u16 unk_0e;
|
||||
u16 totalItems;
|
||||
u16 maxShowed;
|
||||
u8 unk_10;
|
||||
u8 unk_11;
|
||||
u8 unk_12;
|
||||
u8 unk_13;
|
||||
u32 unk_14_0:4;
|
||||
u32 unk_14_4:4;
|
||||
u32 unk_15_0:4;
|
||||
u32 unk_15_4:4;
|
||||
u32 unk_16_0:1;
|
||||
u32 unk_16_1:6;
|
||||
u32 unk_16_7:1;
|
||||
u32 unk_17_0:6;
|
||||
u8 cursor_Y;
|
||||
u32 upText_Y:4; // x1, x2, x4, x8 = xF
|
||||
u32 cursorColor:4; // x10, x20, x40, x80 = xF0
|
||||
u32 fillColor:4; // x100, x200, x400, x800 = xF00
|
||||
u32 cursorShadowColor:4; // x1000, x2000, x4000, x8000 = xF000
|
||||
u32 unk_16_0:1; // x10000
|
||||
u32 spaceBetweenItems:6; // x20000, x40000, x80000, x100000, x200000, x400000 = x7E0000
|
||||
u32 unk_16_7:1; // x800000
|
||||
u32 unk_17_0:6; // x1000000, x2000000, x4000000, x8000000, x10000000, x20000000 = x3F000000
|
||||
};
|
||||
|
||||
struct ListMenu {
|
||||
|
@ -16,4 +16,10 @@
|
||||
|| itemId == ITEM_FAB_MAIL \
|
||||
|| itemId == ITEM_RETRO_MAIL))
|
||||
|
||||
|
||||
bool8 MonHasMail(struct Pokemon *mon);
|
||||
void TakeMailFromMon(struct Pokemon *mon);
|
||||
u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail);
|
||||
void ClearMailStruct(struct MailStruct *mail);
|
||||
|
||||
#endif // GUARD_MAIL_H
|
||||
|
@ -509,9 +509,11 @@ struct Evolution
|
||||
u16 targetSpecies;
|
||||
};
|
||||
|
||||
#define EVOS_PER_MON 5
|
||||
|
||||
struct EvolutionData
|
||||
{
|
||||
struct Evolution evolutions[5];
|
||||
struct Evolution evolutions[EVOS_PER_MON];
|
||||
};
|
||||
|
||||
extern u8 gPlayerPartyCount;
|
||||
@ -648,6 +650,9 @@ u16 PlayerGenderToFrontTrainerPicId(u8 playerGender);
|
||||
void sub_806A1C0(u16 arg0, u8 bankIdentity);
|
||||
void sub_806A12C(u16 trainerSpriteId, u8 bankIdentity);
|
||||
u8 GetSecretBaseTrainerPicIndex(void);
|
||||
bool8 TryIncrementMonLevel(struct Pokemon *mon);
|
||||
void BoxMonToMon(struct BoxPokemon *srcMon, struct Pokemon *dstMon);
|
||||
u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves);
|
||||
|
||||
#include "sprite.h"
|
||||
|
||||
|
@ -7,6 +7,7 @@
|
||||
u8* GetBoxNamePtr(u8 boxNumber);
|
||||
struct BoxPokemon *GetBoxedMonPtr(u8, u8);
|
||||
void SetBoxMonNickFromAnyBox(u8, u8, u8 *);
|
||||
void CompactPartySlots(void);
|
||||
u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
|
||||
|
||||
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
|
||||
|
@ -2,23 +2,40 @@
|
||||
#define GUARD_RECORDED_BATTLE_H
|
||||
|
||||
extern u32 gRecordedBattleRngSeed;
|
||||
extern u32 gBattlePalaceMoveSelectionRngValue;
|
||||
extern u8 gUnknown_0203C7B4;
|
||||
|
||||
void sub_8184DA4(u8 arg0);
|
||||
void sub_8185F84(void);
|
||||
void sub_8184E58(void);
|
||||
u8 RecordedBattle_ReadBankAction(u8 bank);
|
||||
void RecordedBattle_SetBankAction(u8 bank, u8 action);
|
||||
void RecordedBattle_ClearBankAction(u8 bank, u8 bytesToClear);
|
||||
void sub_8185F90(u16 arg0);
|
||||
bool8 sub_8186450(void);
|
||||
u8 sub_8185FAC(void);
|
||||
u8 sub_8185FB8(void);
|
||||
u8 MoveRecordedBattleToSaveData(void);
|
||||
void sub_818603C(u8);
|
||||
void sub_8185FD0(void);
|
||||
void sub_8186444(void);
|
||||
void sub_8185EB8(void);
|
||||
u8 RecordedBattle_ReadBankAction(u8 bank);
|
||||
u8 sub_81850D0(void);
|
||||
u8 sub_81850DC(u8 *arg0);
|
||||
u8 sub_8185F40(void);
|
||||
void sub_81851A8(u8 *arg0);
|
||||
bool32 CanCopyRecordedBattleSaveData(void);
|
||||
u32 MoveRecordedBattleToSaveData(void);
|
||||
void PlayRecordedBattle(void (*CB2_After)(void));
|
||||
u8 sub_8185EA0(void);
|
||||
u8 sub_8185EAC(void);
|
||||
void RecordedBattle_SaveParties(void);
|
||||
u8 GetActiveBankLinkPlayerGender(void);
|
||||
void sub_8185F84(void);
|
||||
void sub_8185F90(u16 arg0);
|
||||
u8 sub_8185FAC(void);
|
||||
u8 GetBattleStyleInRecordedBattle(void);
|
||||
u8 GetTextSpeedInRecordedBattle(void);
|
||||
void RecordedBattle_CopyBankMoves(void);
|
||||
void sub_818603C(u8 arg0);
|
||||
u32 GetAiScriptsInRecordedBattle(void);
|
||||
void sub_8186444(void);
|
||||
bool8 sub_8186450(void);
|
||||
void sub_8186468(u8 *dst);
|
||||
u8 sub_818649C(void);
|
||||
u8 sub_81864A8(void);
|
||||
u8 sub_81864B4(void);
|
||||
u8 sub_81864C0(void);
|
||||
void sub_81864CC(void);
|
||||
u16 *sub_81864E0(void);
|
||||
|
||||
#endif // GUARD_RECORDED_BATTLE_H
|
||||
|
@ -56,41 +56,42 @@ enum
|
||||
HOF_DELETE_SAVE // unused
|
||||
};
|
||||
|
||||
#define SECTION_ID_RECORDED_BATTLE 31
|
||||
|
||||
void ClearSaveData(void);
|
||||
void ResetSaveCounters(void);
|
||||
//bool32 ManipulateSectorBits(u8 op, u8 bit);
|
||||
//u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *a2);
|
||||
u8 HandleWriteSector(u16, const struct SaveSectionLocation *);
|
||||
//u8 HandleWriteSectorNBytes(u8 sector, u8 *data, u16 size);
|
||||
u8 TryWriteSector(u8, u8 *);
|
||||
//u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location);
|
||||
//u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location);
|
||||
//u8 sub_812550C(u16 a1, const struct SaveSectionLocation *location);
|
||||
bool32 SetDamagedSectorBits(u8 op, u8 bit);
|
||||
u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location);
|
||||
u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location);
|
||||
u8 HandleWriteSectorNBytes(u8 sector, u8 *data, u16 size);
|
||||
u8 TryWriteSector(u8 sector, u8 *data);
|
||||
u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location);
|
||||
u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location);
|
||||
u8 sub_81529D4(u16 a1, const struct SaveSectionLocation *location);
|
||||
u8 sub_8152A34(u16 a1, const struct SaveSectionLocation *location);
|
||||
u8 ClearSaveData_2(u16, const struct SaveSectionLocation *location);
|
||||
//u8 sub_8125758(u16 a1, const struct SaveSectionLocation *location);
|
||||
//u8 sub_81257F0(u16 a1, const struct SaveSectionLocation *location);
|
||||
//u8 sub_812587C(u16 a1, const struct SaveSectionLocation *location);
|
||||
u8 sub_8152E10(u16, const struct SaveSectionLocation *location);
|
||||
u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location);
|
||||
u8 sav12_xor_get(u16 a1, const struct SaveSectionLocation *location);
|
||||
u8 sub_8152CAC(u16 a1, const struct SaveSectionLocation *location);
|
||||
u8 sub_8152D44(u16 a1, const struct SaveSectionLocation *location);
|
||||
u8 sub_8152DD0(u16 a1, const struct SaveSectionLocation *location);
|
||||
u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location);
|
||||
u8 GetSaveValidStatus(const struct SaveSectionLocation *location);
|
||||
//u8 sub_8125B88(u8 a1, u8 *data, u16 size);
|
||||
u8 DoReadFlashWholeSection(u8, struct SaveSection *);
|
||||
u16 CalculateChecksum(void *, u16);
|
||||
u8 sub_81530DC(u8 a1, u8 *data, u16 size);
|
||||
u8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section);
|
||||
u16 CalculateChecksum(void *data, u16 size);
|
||||
void UpdateSaveAddresses(void);
|
||||
u8 HandleSavingData(u8 saveType);
|
||||
//u8 TrySavingData(u8 saveType);
|
||||
//u8 sub_8125D80(void);
|
||||
//bool8 sub_8125DA8(void);
|
||||
//u8 sub_8125DDC(void);
|
||||
//u8 sub_8125E04(void);
|
||||
//u8 sub_8125E2C(void);
|
||||
//bool8 sub_8125E6C(void);
|
||||
//u8 sub_8125EC8(u8 a1);
|
||||
//bool8 unref_sub_8125F4C(struct UnkSaveSection *a1);
|
||||
//u8 unref_sub_8125FA0(void);
|
||||
//u8 unref_sub_8125FF0(u8 *data, u16 size);
|
||||
//u8 unref_sub_8126068(u8 sector, u8 *data, u32 size);
|
||||
//u8 unref_sub_8126080(u8 sector, u8 *data);
|
||||
u8 TrySavingData(u8 saveType);
|
||||
u8 sub_8153380(void);
|
||||
bool8 sub_81533AC(void);
|
||||
u8 sub_81533E0(void);
|
||||
u8 sub_8153408(void);
|
||||
u8 sub_8153430(void);
|
||||
bool8 sub_8153474(void);
|
||||
u8 sub_81534D0(u8 a1);
|
||||
u16 sub_815355C(void);
|
||||
u8 sub_81534D0(u8);
|
||||
u32 TryCopySpecialSaveSection(u8 sector, u8* dst);
|
||||
u32 sub_8153634(u8 sector, u8* src);
|
||||
void sub_8153688(u8 taskId);
|
||||
|
||||
#endif // GUARD_SAVE_H
|
||||
|
@ -77,7 +77,7 @@ SECTIONS {
|
||||
src/rng.o(.text);
|
||||
src/util.o(.text);
|
||||
src/blend_palette.o(.text);
|
||||
asm/daycare.o(.text);
|
||||
src/daycare.o(.text);
|
||||
src/egg_hatch.o(.text);
|
||||
src/battle_interface.o(.text);
|
||||
asm/smokescreen.o(.text);
|
||||
@ -232,7 +232,7 @@ SECTIONS {
|
||||
asm/fldeff_teleport.o(.text);
|
||||
asm/battle_link_817C95C.o(.text);
|
||||
asm/pokemon_animation.o(.text);
|
||||
asm/recorded_battle.o(.text);
|
||||
src/recorded_battle.o(.text);
|
||||
src/battle_controller_recorded_opponent.o(.text);
|
||||
src/battle_controller_recorded_player.o(.text);
|
||||
src/battle_dome_cards.o(.text);
|
||||
@ -344,7 +344,7 @@ SECTIONS {
|
||||
data/data2c.o(.rodata);
|
||||
src/trig.o(.rodata);
|
||||
src/util.o(.rodata);
|
||||
data/daycare.o(.rodata);
|
||||
src/daycare.o(.rodata);
|
||||
src/egg_hatch.o(.rodata);
|
||||
src/battle_gfx_sfx_util.o(.rodata);
|
||||
src/battle_interface.o(.rodata);
|
||||
|
@ -142,7 +142,6 @@ extern u8 gLastUsedAbility;
|
||||
extern u8 gUnknown_0203CF00[];
|
||||
extern const u8* gBattlescriptPtrsForSelection[BATTLE_BANKS_COUNT];
|
||||
extern const u8* gBattlescriptCurrInstr;
|
||||
extern u32 gBattlePalaceMoveSelectionRngValue;
|
||||
extern u8 gActionsByTurnOrder[BATTLE_BANKS_COUNT];
|
||||
extern u8 gCurrentTurnActionNumber;
|
||||
extern u16 gDynamicBasePower;
|
||||
@ -2803,7 +2802,7 @@ static void BattleStartClearSetData(void)
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && gSaveBlock2Ptr->optionsBattleSceneOff == TRUE)
|
||||
gHitMarker |= HITMARKER_NO_ANIMATIONS;
|
||||
}
|
||||
else if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) && sub_8185FB8())
|
||||
else if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) && GetBattleStyleInRecordedBattle())
|
||||
gHitMarker |= HITMARKER_NO_ANIMATIONS;
|
||||
|
||||
gBattleScripting.battleStyle = gSaveBlock2Ptr->optionsBattleStyle;
|
||||
@ -3920,7 +3919,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
switch (gBattleCommunication[gActiveBank])
|
||||
{
|
||||
case STATE_TURN_START_RECORD: // recorded battle related on start of every turn
|
||||
sub_8185FD0();
|
||||
RecordedBattle_CopyBankMoves();
|
||||
gBattleCommunication[gActiveBank] = STATE_BEFORE_ACTION_CHOSEN;
|
||||
break;
|
||||
case STATE_BEFORE_ACTION_CHOSEN: // choose an action
|
||||
|
@ -1261,7 +1261,7 @@ static void RecordedOpponentHandleDrawTrainerPic(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
trainerPicId = PlayerGenderToFrontTrainerPicId(sub_8185F40());
|
||||
trainerPicId = PlayerGenderToFrontTrainerPicId(GetActiveBankLinkPlayerGender());
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -1229,7 +1229,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
trainerPicId = sub_8185F40();
|
||||
trainerPicId = GetActiveBankLinkPlayerGender();
|
||||
else
|
||||
trainerPicId = gLinkPlayers[gUnknown_0203C7B4].gender;
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ void sub_8032768(void)
|
||||
sub_8184DA4(2);
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
|
||||
sub_8185EB8();
|
||||
RecordedBattle_SaveParties();
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
|
||||
SetControllersVariablesInLinkBattle();
|
||||
|
@ -58,7 +58,7 @@ extern const u8* GetTrainer1LoseText(void); // battle_setup
|
||||
extern const u8* GetTrainer2LoseText(void); // battle_setup
|
||||
extern void GetFrontierTrainerName(u8 *dst, u16 trainerId);
|
||||
extern s32 GetStringCenterAlignXOffsetWithLetterSpacing(u8 fontId, const u8 *str, s32 totalWidth, s16 letterSpacing);
|
||||
extern u8 sub_8185FC4(void);
|
||||
extern u8 GetTextSpeedInRecordedBattle(void);
|
||||
extern u8 sav2_get_text_speed(void);
|
||||
|
||||
// this file's functions
|
||||
@ -2264,7 +2264,7 @@ void BattleHandleAddTextPrinter(const u8 *text, u8 arg1)
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
|
||||
speed = 1;
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
|
||||
speed = sRecordedBattleTextSpeeds[sub_8185FC4()];
|
||||
speed = sRecordedBattleTextSpeeds[GetTextSpeedInRecordedBattle()];
|
||||
else
|
||||
speed = sav2_get_text_speed();
|
||||
|
||||
|
@ -13,7 +13,7 @@ extern void DrawWholeMapView(); // field_camera
|
||||
extern void SetCameraPanningCallback(void ( *callback)()); // field_camera
|
||||
extern void InstallCameraPanAheadCallback(void);
|
||||
extern void SetCameraPanning(s16 x, s16 y);
|
||||
extern u8 brm_get_pokemon_selection(void);
|
||||
extern u8 GetCursorSelectionMonId(void);
|
||||
extern void FieldEffectActiveListRemove(u8 id); // field_effect
|
||||
extern u8 oei_task_add(void);
|
||||
|
||||
@ -220,7 +220,7 @@ bool8 ShouldDoBrailleStrengthEffect(void)
|
||||
|
||||
void sub_8179834(void)
|
||||
{
|
||||
gFieldEffectArguments[0] = brm_get_pokemon_selection();
|
||||
gFieldEffectArguments[0] = GetCursorSelectionMonId();
|
||||
FieldEffectStart(FLDEFF_USE_FLY_ANCIENT_TOMB);
|
||||
}
|
||||
|
||||
@ -256,7 +256,7 @@ bool8 ShouldDoBrailleFlyEffect(void)
|
||||
|
||||
void sub_8179918(void)
|
||||
{
|
||||
gFieldEffectArguments[0] = brm_get_pokemon_selection();
|
||||
gFieldEffectArguments[0] = GetCursorSelectionMonId();
|
||||
FieldEffectStart(FLDEFF_USE_FLY_ANCIENT_TOMB);
|
||||
}
|
||||
|
||||
|
1318
src/daycare.c
Normal file
1318
src/daycare.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,3 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
#include "decompress.h"
|
||||
#include "malloc.h"
|
||||
@ -68,27 +66,27 @@ struct DecorRearrangementDataBuffer {
|
||||
// Static RAM declarations
|
||||
|
||||
EWRAM_DATA u8 *gCurDecorInventoryItems = NULL;
|
||||
EWRAM_DATA u8 sSecretBasePCMenuCursorPos = 0;
|
||||
EWRAM_DATA u8 sCurDecorCatCount = 0;
|
||||
EWRAM_DATA u8 sSecretBaseItemsIndicesBuffer[16] = {};
|
||||
EWRAM_DATA u8 sPlayerRoomItemsIndicesBuffer[12] = {};
|
||||
EWRAM_DATA u16 sSecretBasePCSelectDecorLineNo = 0;
|
||||
EWRAM_DATA u16 sSecretBasePCSelectDecorPageNo = 0;
|
||||
EWRAM_DATA static u8 sSecretBasePCMenuCursorPos = 0;
|
||||
EWRAM_DATA static u8 sCurDecorCatCount = 0;
|
||||
EWRAM_DATA static u8 sSecretBaseItemsIndicesBuffer[16] = {};
|
||||
EWRAM_DATA static u8 sPlayerRoomItemsIndicesBuffer[12] = {};
|
||||
EWRAM_DATA static u16 sSecretBasePCSelectDecorLineNo = 0;
|
||||
EWRAM_DATA static u16 sSecretBasePCSelectDecorPageNo = 0;
|
||||
EWRAM_DATA u8 gCurDecorationIndex = 0;
|
||||
EWRAM_DATA u8 sCurDecorationCategory = DECORCAT_DESK;
|
||||
EWRAM_DATA u32 filler_0203a174[2] = {};
|
||||
EWRAM_DATA static u8 sCurDecorationCategory = DECORCAT_DESK;
|
||||
EWRAM_DATA static u32 filler_0203a174[2] = {};
|
||||
EWRAM_DATA struct DecorPCPointers gUnknown_0203A17C = {};
|
||||
EWRAM_DATA u8 sDecorMenuWindowIndices[4] = {};
|
||||
EWRAM_DATA static u8 sDecorMenuWindowIndices[4] = {};
|
||||
EWRAM_DATA struct DecorPCBuffer *sDecorPCBuffer = NULL;
|
||||
EWRAM_DATA struct PlaceDecorationGraphicsDataBuffer sPlaceDecorationGraphicsDataBuffer = {};
|
||||
EWRAM_DATA u16 sCurDecorMapX = 0;
|
||||
EWRAM_DATA u16 sCurDecorMapY = 0;
|
||||
EWRAM_DATA u8 sDecor_CameraSpriteObjectIdx1 = 0;
|
||||
EWRAM_DATA u8 sDecor_CameraSpriteObjectIdx2 = 0;
|
||||
EWRAM_DATA u8 sDecorationLastDirectionMoved = 0;
|
||||
EWRAM_DATA struct OamData sDecorSelectorOam = {};
|
||||
EWRAM_DATA struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[16] = {};
|
||||
EWRAM_DATA u8 sCurDecorSelectedInRearrangement = 0;
|
||||
EWRAM_DATA static u16 sCurDecorMapX = 0;
|
||||
EWRAM_DATA static u16 sCurDecorMapY = 0;
|
||||
EWRAM_DATA static u8 sDecor_CameraSpriteObjectIdx1 = 0;
|
||||
EWRAM_DATA static u8 sDecor_CameraSpriteObjectIdx2 = 0;
|
||||
EWRAM_DATA static u8 sDecorationLastDirectionMoved = 0;
|
||||
EWRAM_DATA static struct OamData sDecorSelectorOam = {};
|
||||
EWRAM_DATA static struct DecorRearrangementDataBuffer sDecorRearrangementDataBuffer[16] = {};
|
||||
EWRAM_DATA static u8 sCurDecorSelectedInRearrangement = 0;
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
@ -800,9 +798,9 @@ void sub_8127330(u8 taskId)
|
||||
sDecorPCBuffer->items[i].unk_04 = -2;
|
||||
gUnknown_03006310 = gUnknown_085A6BD0;
|
||||
gUnknown_03006310.unk_10 = sDecorMenuWindowIndices[1];
|
||||
gUnknown_03006310.unk_0c = sDecorPCBuffer->unk_520;
|
||||
gUnknown_03006310.unk_00 = sDecorPCBuffer->items;
|
||||
gUnknown_03006310.unk_0e = sDecorPCBuffer->unk_521;
|
||||
gUnknown_03006310.totalItems = sDecorPCBuffer->unk_520;
|
||||
gUnknown_03006310.items = sDecorPCBuffer->items;
|
||||
gUnknown_03006310.maxShowed = sDecorPCBuffer->unk_521;
|
||||
}
|
||||
|
||||
void sub_8127454(u8 *dest, u16 decorId)
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "pokemon.h"
|
||||
#include "egg_hatch.h"
|
||||
#include "pokedex.h"
|
||||
#include "items.h"
|
||||
#include "script.h"
|
||||
@ -23,6 +24,7 @@
|
||||
#include "m4a.h"
|
||||
#include "window.h"
|
||||
#include "abilities.h"
|
||||
#include "daycare.h"
|
||||
#include "battle.h" // to get rid of later
|
||||
|
||||
struct EggHatchData
|
||||
@ -327,7 +329,7 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
|
||||
pokerus = GetMonData(egg, MON_DATA_POKERUS);
|
||||
obedience = GetMonData(egg, MON_DATA_OBEDIENCE);
|
||||
|
||||
CreateMon(temp, species, 5, 32, TRUE, personality, 0, 0);
|
||||
CreateMon(temp, species, EGG_HATCH_LEVEL, 32, TRUE, personality, 0, 0);
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
@ -393,19 +395,19 @@ void ScriptHatchMon(void)
|
||||
AddHatchedMonToParty(gSpecialVar_0x8004);
|
||||
}
|
||||
|
||||
static bool8 sub_807158C(struct DaycareData* daycare, u8 daycareId)
|
||||
static bool8 sub_807158C(struct DayCare *daycare, u8 daycareId)
|
||||
{
|
||||
u8 nick[0x20];
|
||||
struct DaycareMon* daycareMon = &daycare->mons[daycareId];
|
||||
struct DaycareMon *daycareMon = &daycare->mons[daycareId];
|
||||
|
||||
GetBoxMonNick(&daycareMon->mon, nick);
|
||||
if (daycareMon->mail.itemId != 0
|
||||
&& (StringCompareWithoutExtCtrlCodes(nick, daycareMon->monName) != 0
|
||||
|| StringCompareWithoutExtCtrlCodes(gSaveBlock2Ptr->playerName, daycareMon->OT_name) != 0))
|
||||
if (daycareMon->misc.mail.itemId != 0
|
||||
&& (StringCompareWithoutExtCtrlCodes(nick, daycareMon->misc.monName) != 0
|
||||
|| StringCompareWithoutExtCtrlCodes(gSaveBlock2Ptr->playerName, daycareMon->misc.OT_name) != 0))
|
||||
{
|
||||
StringCopy(gStringVar1, nick);
|
||||
TVShowConvertInternationalString(gStringVar2, daycareMon->OT_name, daycareMon->language_maybe);
|
||||
TVShowConvertInternationalString(gStringVar3, daycareMon->monName, daycareMon->unknown);
|
||||
TVShowConvertInternationalString(gStringVar2, daycareMon->misc.OT_name, daycareMon->misc.gameLanguage);
|
||||
TVShowConvertInternationalString(gStringVar3, daycareMon->misc.monName, daycareMon->misc.monLanguage);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
|
@ -97,7 +97,6 @@ extern u8 gUnknown_08D97D0C;
|
||||
extern void reset_temp_tile_data_buffers();
|
||||
extern void decompress_and_copy_tile_data_to_vram(u8 a, void* tiledata, u8 b, u8 c, u8 d);
|
||||
extern u8 free_temp_tile_data_buffers_if_possible();
|
||||
extern void sub_8069004(struct BoxPokemon* a, void* b);
|
||||
extern void sub_81C1E20(u8 taskId);
|
||||
extern u8 *GetMonNickname(struct Pokemon *mon, u8 *dest);
|
||||
extern u16 SpeciesToPokedexNum(u16 species);
|
||||
@ -667,7 +666,7 @@ void sub_81C0098(struct Pokemon *mon)
|
||||
else
|
||||
{
|
||||
struct BoxPokemon *boxMon = gUnknown_0203CF1C->unk0->boxMon;
|
||||
sub_8069004(&boxMon[gUnknown_0203CF1C->unk40BE], mon);
|
||||
BoxMonToMon(&boxMon[gUnknown_0203CF1C->unk40BE], mon);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1810,7 +1809,7 @@ void sub_81C171C(u8 taskId)
|
||||
void sub_81C174C(u8 taskId)
|
||||
{
|
||||
s16* data = gTasks[taskId].data;
|
||||
|
||||
|
||||
if (sub_81221EC() != 1)
|
||||
{
|
||||
if (gPaletteFade.active != 1)
|
||||
@ -1857,7 +1856,7 @@ void sub_81C174C(u8 taskId)
|
||||
gUnknown_0203CF21 = 4;
|
||||
gSpecialVar_0x8005 = 4;
|
||||
sub_81C044C(taskId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1907,7 +1906,7 @@ void sub_81C1940(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CF1C->unk40C0 != 2)
|
||||
{
|
||||
|
||||
|
||||
ClearWindowTilemap(19);
|
||||
if (!gSprites[gUnknown_0203CF1C->unk40D5].invisible)
|
||||
ClearWindowTilemap(13);
|
||||
@ -2224,7 +2223,7 @@ void sub_81C1E20(u8 taskId)
|
||||
{
|
||||
if (gUnknown_0203CF1C->unk40C0 == 2)
|
||||
PutWindowTilemap(14);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2277,7 +2276,7 @@ void sub_81C1F80(u8 taskId)
|
||||
PutWindowTilemap(15);
|
||||
sub_81C240C(data[2]);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if (!gSprites[gUnknown_0203CF1C->unk40D5].invisible)
|
||||
{
|
||||
@ -3645,7 +3644,7 @@ void sub_81C3D54(u8 taskId)
|
||||
{
|
||||
s16 *data = gTasks[taskId].data;
|
||||
s16 dataa = data[0] - 1;
|
||||
|
||||
|
||||
switch (dataa)
|
||||
{
|
||||
case 0:
|
||||
@ -3676,4 +3675,4 @@ void sub_81C3D54(u8 taskId)
|
||||
return;
|
||||
}
|
||||
data[0]++;
|
||||
}
|
||||
}
|
||||
|
1676
src/recorded_battle.c
Normal file
1676
src/recorded_battle.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -797,7 +797,7 @@ u16 sub_815355C(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 sub_81535DC(u8 sector, u8* dst)
|
||||
u32 TryCopySpecialSaveSection(u8 sector, u8* dst)
|
||||
{
|
||||
s32 i;
|
||||
s32 size;
|
||||
@ -826,6 +826,7 @@ u32 sub_8153634(u8 sector, u8* src)
|
||||
|
||||
if (sector != 30 && sector != 31)
|
||||
return 0xFF;
|
||||
|
||||
savDataBuffer = &gSaveDataBuffer;
|
||||
*(u32*)(savDataBuffer) = 0xB39D;
|
||||
|
||||
|
@ -1099,9 +1099,9 @@ void game_continue(u8 taskId)
|
||||
}
|
||||
gUnknown_03006310 = gUnknown_0858D07C;
|
||||
gUnknown_03006310.unk_10 = data[6];
|
||||
gUnknown_03006310.unk_0c = data[0];
|
||||
gUnknown_03006310.unk_00 = gUnknown_0203A020->items;
|
||||
gUnknown_03006310.unk_0e = data[3];
|
||||
gUnknown_03006310.totalItems = data[0];
|
||||
gUnknown_03006310.items = gUnknown_0203A020->items;
|
||||
gUnknown_03006310.maxShowed = data[3];
|
||||
}
|
||||
|
||||
void sub_80E9DEC(u32 a0, bool8 flag, struct ListMenu *menu)
|
||||
@ -1866,7 +1866,7 @@ void sub_80EAF80(void *records, size_t recordSize, u8 linkIdx)
|
||||
{
|
||||
struct SecretBaseRecordMixer mixers[3];
|
||||
u16 i;
|
||||
|
||||
|
||||
if (FlagGet(0x60))
|
||||
{
|
||||
switch (GetLinkPlayerCount())
|
||||
|
103
sym_ewram.txt
103
sym_ewram.txt
@ -544,23 +544,7 @@ gUnknown_020249B4: @ 20249B4
|
||||
.space 0x8
|
||||
|
||||
.include "src/rng.o"
|
||||
|
||||
.align 2
|
||||
gUnknown_020249C4: @ 20249C4
|
||||
.space 0x64
|
||||
|
||||
gUnknown_02024A28: @ 2024A28
|
||||
.space 0x8
|
||||
|
||||
gUnknown_02024A30: @ 2024A30
|
||||
.space 0x8
|
||||
|
||||
gUnknown_02024A38: @ 2024A38
|
||||
.space 0x14
|
||||
|
||||
gUnknown_02024A4C: @ 2024A4C
|
||||
.space 0x8
|
||||
|
||||
.include "src/daycare.o"
|
||||
.include "src/load_save.o"
|
||||
|
||||
gUnknown_02031C58: @ 2031C58
|
||||
@ -1440,90 +1424,7 @@ gUnknown_0203BD26: @ 203BD26
|
||||
gUnknown_0203BD28: @ 203BD28
|
||||
.space 0x4
|
||||
|
||||
gRecordedBattleRngSeed: @ 203BD2C
|
||||
.space 0x4
|
||||
|
||||
gBattlePalaceMoveSelectionRngValue: @ 203BD30
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203BD34: @ 203BD34
|
||||
.space 0xA60
|
||||
|
||||
gUnknown_0203C794: @ 203C794
|
||||
.space 0x8
|
||||
|
||||
gUnknown_0203C79C: @ 203C79C
|
||||
.space 0x8
|
||||
|
||||
gUnknown_0203C7A4: @ 203C7A4
|
||||
.space 0x8
|
||||
|
||||
gUnknown_0203C7AC: @ 203C7AC
|
||||
.space 0x1
|
||||
|
||||
gUnknown_0203C7AD: @ 203C7AD
|
||||
.space 0x1
|
||||
|
||||
gUnknown_0203C7AE: @ 203C7AE
|
||||
.space 0x1
|
||||
|
||||
gUnknown_0203C7AF: @ 203C7AF
|
||||
.space 0x1
|
||||
|
||||
gUnknown_0203C7B0: @ 203C7B0
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203C7B4: @ 203C7B4
|
||||
.space 0x1
|
||||
|
||||
gUnknown_0203C7B5: @ 203C7B5
|
||||
.space 0x1
|
||||
|
||||
gUnknown_0203C7B6: @ 203C7B6
|
||||
.space 0x1
|
||||
|
||||
gUnknown_0203C7B7: @ 203C7B7
|
||||
.space 0x1
|
||||
|
||||
gUnknown_0203C7B8: @ 203C7B8
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203C7BC: @ 203C7BC
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203C7C0: @ 203C7C0
|
||||
.space 0x258
|
||||
|
||||
gUnknown_0203CA18: @ 203CA18
|
||||
.space 0x258
|
||||
|
||||
gUnknown_0203CC70: @ 203CC70
|
||||
.space 0x10
|
||||
|
||||
gUnknown_0203CC80: @ 203CC80
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203CC84: @ 203CC84
|
||||
.space 0x4C
|
||||
|
||||
gUnknown_0203CCD0: @ 203CCD0
|
||||
.space 0x1
|
||||
|
||||
gUnknown_0203CCD1: @ 203CCD1
|
||||
.space 0x8
|
||||
|
||||
gUnknown_0203CCD9: @ 203CCD9
|
||||
.space 0x1
|
||||
|
||||
gUnknown_0203CCDA: @ 203CCDA
|
||||
.space 0x2
|
||||
|
||||
gUnknown_0203CCDC: @ 203CCDC
|
||||
.space 0xC
|
||||
|
||||
gUnknown_0203CCE8: @ 203CCE8
|
||||
.space 0x4
|
||||
|
||||
.include "src/recorded_battle.o"
|
||||
.include "src/battle_dome_cards.o"
|
||||
.include "src/lilycove_lady.o"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user