Merge pull request #300 from DizzyEggg/decompile_battle_frontier_1
Decompile battle_dome
This commit is contained in:
commit
8e5c72766c
13351
asm/battle_frontier_1.s
13351
asm/battle_frontier_1.s
File diff suppressed because it is too large
Load Diff
@ -1867,7 +1867,7 @@ sub_819B484: @ 819B484
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x18]
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gBattleFrontierMons
|
||||
str r0, [r1]
|
||||
ldrb r1, [r4]
|
||||
@ -1948,7 +1948,7 @@ _0819B572:
|
||||
ldr r0, [r2]
|
||||
adds r0, r4
|
||||
adds r0, 0x8
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r2, [r1]
|
||||
lsls r5, 4
|
||||
adds r2, r5, r2
|
||||
@ -1973,7 +1973,7 @@ _0819B5B8:
|
||||
ldr r0, [r3]
|
||||
adds r0, r4
|
||||
adds r0, 0x8
|
||||
ldr r5, =gUnknown_0203BC8C
|
||||
ldr r5, =gFacilityTrainerMons
|
||||
ldr r1, [r5]
|
||||
adds r1, r7, r1
|
||||
lsls r2, r6, 1
|
||||
@ -2045,7 +2045,7 @@ sub_819B63C: @ 819B63C
|
||||
add r0, sp, 0xC
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
ldr r2, =gUnknown_0203BC8C
|
||||
ldr r2, =gFacilityTrainerMons
|
||||
ldr r0, =gSlateportBattleTentMons
|
||||
str r0, [r2]
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
@ -2089,7 +2089,7 @@ _0819B678:
|
||||
adds r4, 0xC
|
||||
adds r0, r4
|
||||
adds r0, 0x8
|
||||
ldr r3, =gUnknown_0203BC8C
|
||||
ldr r3, =gFacilityTrainerMons
|
||||
ldr r2, [r3]
|
||||
mov r7, r8
|
||||
lsls r5, r7, 4
|
||||
@ -2114,7 +2114,7 @@ _0819B6D4:
|
||||
ldr r0, [r1]
|
||||
adds r0, r4
|
||||
adds r0, 0x8
|
||||
ldr r3, =gUnknown_0203BC8C
|
||||
ldr r3, =gFacilityTrainerMons
|
||||
ldr r2, [r3]
|
||||
mov r3, r8
|
||||
lsls r1, r3, 4
|
||||
@ -2145,7 +2145,7 @@ _0819B6D4:
|
||||
ldr r0, [r2]
|
||||
adds r0, r4
|
||||
adds r0, 0x8
|
||||
ldr r3, =gUnknown_0203BC8C
|
||||
ldr r3, =gFacilityTrainerMons
|
||||
ldr r1, [r3]
|
||||
adds r1, r5, r1
|
||||
ldrb r2, [r1, 0xA]
|
||||
@ -2935,7 +2935,7 @@ sub_819BD70: @ 819BD70
|
||||
adds r0, r5, 0
|
||||
mov r2, r8
|
||||
movs r3, 0x1
|
||||
bl sub_818D7D8
|
||||
bl CreateMonPicSprite_HandleDeoxys
|
||||
ldr r1, [r6]
|
||||
movs r2, 0xA6
|
||||
lsls r2, 2
|
||||
@ -3053,7 +3053,7 @@ sub_819BE34: @ 819BE34
|
||||
adds r0, r5, 0
|
||||
mov r2, r9
|
||||
movs r3, 0x1
|
||||
bl sub_818D7D8
|
||||
bl CreateMonPicSprite_HandleDeoxys
|
||||
ldr r1, [r6]
|
||||
movs r2, 0xA6
|
||||
lsls r2, 2
|
||||
@ -3166,7 +3166,7 @@ _0819BF48:
|
||||
adds r0, r5, 0
|
||||
adds r2, r6, 0
|
||||
movs r3, 0x1
|
||||
bl sub_818D7D8
|
||||
bl CreateMonPicSprite_HandleDeoxys
|
||||
mov r2, r9
|
||||
ldr r1, [r2]
|
||||
add r1, r8
|
||||
@ -3846,19 +3846,19 @@ sub_819C568: @ 819C568
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
bl sub_818D820
|
||||
bl FreeAndDestroyMonPicSprite
|
||||
ldr r0, [r4]
|
||||
movs r1, 0xA6
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
bl sub_818D820
|
||||
bl FreeAndDestroyMonPicSprite
|
||||
ldr r0, [r4]
|
||||
movs r1, 0xA7
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
bl sub_818D820
|
||||
bl FreeAndDestroyMonPicSprite
|
||||
ldr r0, =sub_819C2D4
|
||||
movs r1, 0x1
|
||||
bl CreateTask
|
||||
@ -3936,7 +3936,7 @@ sub_819C5D0: @ 819C5D0
|
||||
sub_819C634: @ 819C634
|
||||
push {r4-r7,lr}
|
||||
lsls r0, 16
|
||||
ldr r2, =gUnknown_0203BC8C
|
||||
ldr r2, =gFacilityTrainerMons
|
||||
ldr r1, [r2]
|
||||
lsrs r0, 12
|
||||
adds r0, r1
|
||||
@ -6709,7 +6709,7 @@ _0819DDA8:
|
||||
bl ResetSpriteData
|
||||
bl ResetTasks
|
||||
bl FreeAllSpritePalettes
|
||||
bl dp13_810BB8C
|
||||
bl ResetAllPicSprites
|
||||
ldr r0, =gFrontierFactorySelectMenu_Gfx
|
||||
ldr r5, =gUnknown_0203CE40
|
||||
ldr r1, [r5]
|
||||
@ -9315,7 +9315,7 @@ sub_819F304: @ 819F304
|
||||
adds r0, r5, 0
|
||||
mov r1, r9
|
||||
movs r3, 0x1
|
||||
bl sub_818D7D8
|
||||
bl CreateMonPicSprite_HandleDeoxys
|
||||
ldr r1, [r6]
|
||||
adds r1, 0x2C
|
||||
strb r0, [r1]
|
||||
@ -9370,7 +9370,7 @@ sub_819F3F8: @ 819F3F8
|
||||
lsrs r5, 24
|
||||
lsls r0, r4, 24
|
||||
lsrs r0, 24
|
||||
bl sub_818D820
|
||||
bl FreeAndDestroyMonPicSprite
|
||||
ldr r0, =sub_819F7B4
|
||||
movs r1, 0x1
|
||||
bl CreateTask
|
||||
@ -9403,7 +9403,7 @@ sub_819F444: @ 819F444
|
||||
adds r6, r1, 0
|
||||
lsls r0, r4, 24
|
||||
lsrs r0, 24
|
||||
bl sub_818D820
|
||||
bl FreeAndDestroyMonPicSprite
|
||||
ldr r5, =gSprites
|
||||
lsls r4, 16
|
||||
lsrs r1, r4, 24
|
||||
@ -9996,7 +9996,7 @@ _0819F908:
|
||||
adds r0, r4, 0
|
||||
adds r2, r5, 0
|
||||
movs r3, 0x1
|
||||
bl sub_818D7D8
|
||||
bl CreateMonPicSprite_HandleDeoxys
|
||||
ldr r2, =gUnknown_03001284
|
||||
ldr r1, [r2]
|
||||
adds r1, 0x2C
|
||||
@ -14195,7 +14195,7 @@ sub_81A1B1C: @ 81A1B1C
|
||||
|
||||
thumb_func_start sub_81A1B28
|
||||
sub_81A1B28: @ 81A1B28
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r1, =gFacilityTrainers
|
||||
ldr r0, =gBattleFrontierTrainers
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
@ -17391,7 +17391,7 @@ _081A370C:
|
||||
ldr r0, =0x0000012b
|
||||
cmp r3, r0
|
||||
bhi _081A3738
|
||||
ldr r2, =gUnknown_0203BC88
|
||||
ldr r2, =gFacilityTrainers
|
||||
movs r0, 0x34
|
||||
adds r1, r3, 0
|
||||
muls r1, r0
|
||||
@ -17443,7 +17443,7 @@ _081A3794:
|
||||
ldr r0, =0x0000012b
|
||||
cmp r3, r0
|
||||
bhi _081A37B8
|
||||
ldr r2, =gUnknown_0203BC88
|
||||
ldr r2, =gFacilityTrainers
|
||||
movs r0, 0x34
|
||||
adds r1, r3, 0
|
||||
muls r1, r0
|
||||
@ -17511,7 +17511,7 @@ _081A3844:
|
||||
ldr r0, =0x0000012b
|
||||
cmp r3, r0
|
||||
bhi _081A3868
|
||||
ldr r2, =gUnknown_0203BC88
|
||||
ldr r2, =gFacilityTrainers
|
||||
movs r0, 0x34
|
||||
adds r1, r3, 0
|
||||
muls r1, r0
|
||||
@ -20046,10 +20046,10 @@ sub_81A4E04: @ 81A4E04
|
||||
cmp r0, 0x1
|
||||
bne _081A4E44
|
||||
ldr r0, =0x000003fe
|
||||
bl sub_81953A0
|
||||
bl TrainerIdToDomeTournamentId
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl sub_818FC78
|
||||
bl GetTrainerMonCountInBits
|
||||
adds r4, r0, 0
|
||||
b _081A4E46
|
||||
.pool
|
||||
@ -20059,7 +20059,7 @@ _081A4E46:
|
||||
bl ZeroEnemyPartyMons
|
||||
movs r1, 0
|
||||
str r1, [sp, 0x18]
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x1C]
|
||||
@ -22329,7 +22329,7 @@ sub_81A61B0: @ 81A61B0
|
||||
ldrh r0, [r1]
|
||||
movs r1, 0x7
|
||||
bl __udivsi3
|
||||
ldr r2, =gUnknown_0203BC88
|
||||
ldr r2, =gFacilityTrainers
|
||||
ldr r1, =gBattleFrontierTrainers
|
||||
str r1, [r2]
|
||||
ldr r5, =0x00000cb2
|
||||
@ -22413,7 +22413,7 @@ _081A627A:
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
mov r9, r0
|
||||
ldr r4, =gUnknown_0203BC8C
|
||||
ldr r4, =gFacilityTrainerMons
|
||||
ldr r2, [r4]
|
||||
lsls r1, r0, 4
|
||||
adds r0, r1, r2
|
||||
@ -22458,7 +22458,7 @@ _081A62D0:
|
||||
cmp r0, r5
|
||||
beq _081A6302
|
||||
adds r6, r4, 0
|
||||
ldr r3, =gUnknown_0203BC8C
|
||||
ldr r3, =gFacilityTrainerMons
|
||||
mov r12, r3
|
||||
mov r5, r8
|
||||
ldr r3, [sp, 0x14]
|
||||
@ -22493,7 +22493,7 @@ _081A631C:
|
||||
ldrh r1, [r3]
|
||||
cmp r1, 0
|
||||
beq _081A6336
|
||||
ldr r6, =gUnknown_0203BC8C
|
||||
ldr r6, =gFacilityTrainerMons
|
||||
ldr r0, [r6]
|
||||
ldr r6, [sp, 0x24]
|
||||
adds r0, r6, r0
|
||||
@ -22512,7 +22512,7 @@ _081A633E:
|
||||
cmp r2, r4
|
||||
bne _081A636E
|
||||
lsls r4, r7, 1
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r1, [r0]
|
||||
add r1, r8
|
||||
ldrh r0, [r1]
|
||||
@ -22573,12 +22573,12 @@ sub_81A63CC: @ 81A63CC
|
||||
ands r0, r1
|
||||
cmp r0, 0x2
|
||||
beq _081A63FC
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gBattleFrontierMons
|
||||
b _081A6400
|
||||
.pool
|
||||
_081A63FC:
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gSlateportBattleTentMons
|
||||
_081A6400:
|
||||
str r0, [r1]
|
||||
@ -22637,7 +22637,7 @@ _081A6408:
|
||||
adds r1, r2
|
||||
strb r0, [r1]
|
||||
ldrh r1, [r6]
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r0, [r0]
|
||||
lsls r1, 4
|
||||
adds r1, r0
|
||||
@ -22679,7 +22679,7 @@ sub_81A64C4: @ 81A64C4
|
||||
ands r0, r1
|
||||
cmp r0, 0x2
|
||||
bne _081A6500
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gSlateportBattleTentMons
|
||||
str r0, [r1]
|
||||
movs r2, 0x1E
|
||||
@ -22687,7 +22687,7 @@ sub_81A64C4: @ 81A64C4
|
||||
b _081A6518
|
||||
.pool
|
||||
_081A6500:
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gBattleFrontierMons
|
||||
str r0, [r1]
|
||||
ldrb r1, [r2]
|
||||
@ -22712,7 +22712,7 @@ _081A6522:
|
||||
mov r1, sp
|
||||
adds r1, 0x12
|
||||
str r1, [sp, 0x1C]
|
||||
ldr r2, =gUnknown_0203BC8C
|
||||
ldr r2, =gFacilityTrainerMons
|
||||
mov r9, r2
|
||||
_081A6534:
|
||||
ldr r4, =gSaveBlock2Ptr
|
||||
@ -22879,7 +22879,7 @@ _081A666C:
|
||||
_081A667A:
|
||||
movs r2, 0
|
||||
mov r8, r2
|
||||
ldr r4, =gUnknown_0203BC8C
|
||||
ldr r4, =gFacilityTrainerMons
|
||||
mov r9, r4
|
||||
_081A6682:
|
||||
ldr r5, =gSaveBlock2Ptr
|
||||
@ -23050,7 +23050,7 @@ sub_81A67EC: @ 81A67EC
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x4C
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r1, =gFacilityTrainers
|
||||
ldr r0, =gBattleFrontierTrainers
|
||||
str r0, [r1]
|
||||
mov r0, sp
|
||||
@ -23113,7 +23113,7 @@ _081A681A:
|
||||
bne _081A6878
|
||||
movs r2, 0x1
|
||||
_081A6878:
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gBattleFrontierMons
|
||||
str r0, [r1]
|
||||
mov r1, r9
|
||||
@ -23166,7 +23166,7 @@ _081A68F2:
|
||||
bl sub_81A6EF0
|
||||
lsls r0, 16
|
||||
lsrs r7, r0, 16
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r1, [r0]
|
||||
lsls r2, r7, 4
|
||||
adds r4, r2, r1
|
||||
@ -23226,7 +23226,7 @@ _081A6964:
|
||||
ldrh r4, [r5]
|
||||
cmp r4, 0
|
||||
beq _081A6994
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, [r1]
|
||||
mov r2, r9
|
||||
adds r1, r2, r0
|
||||
@ -23262,7 +23262,7 @@ _081A699C:
|
||||
lsls r0, 4
|
||||
adds r1, r0
|
||||
strh r7, [r1]
|
||||
ldr r2, =gUnknown_0203BC8C
|
||||
ldr r2, =gFacilityTrainerMons
|
||||
ldr r1, [r2]
|
||||
add r1, r9
|
||||
ldrh r0, [r1]
|
||||
@ -23307,7 +23307,7 @@ sub_81A6A08: @ 81A6A08
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, 0x18
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gBattleFrontierMons
|
||||
str r0, [r1]
|
||||
movs r4, 0
|
||||
@ -23326,7 +23326,7 @@ _081A6A1E:
|
||||
movs r4, 0
|
||||
ldr r0, =gUnknown_03006298
|
||||
mov r8, r0
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r6, [r0]
|
||||
ldr r1, =gBaseStats
|
||||
mov r12, r1
|
||||
@ -23423,7 +23423,7 @@ sub_81A6AEC: @ 81A6AEC
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x8
|
||||
movs r7, 0
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gBattleFrontierMons
|
||||
str r0, [r1]
|
||||
movs r4, 0
|
||||
@ -23445,7 +23445,7 @@ _081A6B0E:
|
||||
ldrh r6, [r0]
|
||||
movs r5, 0
|
||||
_081A6B18:
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r1, [r0]
|
||||
lsls r0, r6, 4
|
||||
adds r0, r1
|
||||
@ -23590,12 +23590,12 @@ sub_81A6C1C: @ 81A6C1C
|
||||
ands r0, r1
|
||||
cmp r0, 0x2
|
||||
beq _081A6C48
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gBattleFrontierMons
|
||||
b _081A6C4C
|
||||
.pool
|
||||
_081A6C48:
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gSlateportBattleTentMons
|
||||
_081A6C4C:
|
||||
str r0, [r1]
|
||||
@ -23615,7 +23615,7 @@ _081A6C50:
|
||||
lsls r1, 4
|
||||
adds r2, r1
|
||||
ldrh r2, [r2]
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r1, [r1]
|
||||
lsls r2, 4
|
||||
adds r2, r1
|
||||
@ -23702,7 +23702,7 @@ sub_81A6CD0: @ 81A6CD0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x24]
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x20]
|
||||
@ -23727,7 +23727,7 @@ _081A6D4C:
|
||||
bl sub_81A6EF0
|
||||
lsls r0, 16
|
||||
lsrs r5, r0, 16
|
||||
ldr r7, =gUnknown_0203BC8C
|
||||
ldr r7, =gFacilityTrainerMons
|
||||
ldr r1, [r7]
|
||||
lsls r0, r5, 4
|
||||
adds r0, r1
|
||||
@ -23775,7 +23775,7 @@ _081A6DA8:
|
||||
cmp r4, r9
|
||||
bge _081A6DDC
|
||||
add r2, sp, 0xC
|
||||
ldr r7, =gUnknown_0203BC8C
|
||||
ldr r7, =gFacilityTrainerMons
|
||||
ldr r0, [r7]
|
||||
lsls r1, r5, 4
|
||||
adds r0, r1, r0
|
||||
@ -23784,7 +23784,7 @@ _081A6DA8:
|
||||
ldrh r0, [r0]
|
||||
cmp r2, r0
|
||||
beq _081A6DDC
|
||||
ldr r6, =gUnknown_0203BC8C
|
||||
ldr r6, =gFacilityTrainerMons
|
||||
adds r3, r7, 0
|
||||
add r2, sp, 0xC
|
||||
_081A6DC8:
|
||||
@ -23805,7 +23805,7 @@ _081A6DDC:
|
||||
cmp r4, r9
|
||||
bge _081A6E0C
|
||||
ldr r7, =gBattleFrontierHeldItems
|
||||
ldr r6, =gUnknown_0203BC8C
|
||||
ldr r6, =gFacilityTrainerMons
|
||||
add r2, sp, 0x14
|
||||
lsls r3, r5, 4
|
||||
_081A6DEE:
|
||||
@ -23833,7 +23833,7 @@ _081A6E0C:
|
||||
mov r1, sp
|
||||
adds r1, r2
|
||||
adds r1, 0xC
|
||||
ldr r3, =gUnknown_0203BC8C
|
||||
ldr r3, =gFacilityTrainerMons
|
||||
ldr r4, [r3]
|
||||
lsls r5, 4
|
||||
mov r8, r5
|
||||
@ -23875,7 +23875,7 @@ _081A6E0C:
|
||||
add r0, r9
|
||||
mov r8, r0
|
||||
_081A6E6E:
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, [r1]
|
||||
adds r0, r7, r0
|
||||
lsls r1, r4, 1
|
||||
@ -23898,7 +23898,7 @@ _081A6E6E:
|
||||
movs r1, 0x20
|
||||
mov r2, r10
|
||||
bl SetMonData
|
||||
ldr r2, =gUnknown_0203BC8C
|
||||
ldr r2, =gFacilityTrainerMons
|
||||
ldr r0, [r2]
|
||||
adds r0, r7, r0
|
||||
ldrb r2, [r0, 0xA]
|
||||
@ -26455,7 +26455,7 @@ _081A831A:
|
||||
bne _081A82D2
|
||||
ldr r5, =gTrainerBattleOpponent_A
|
||||
strh r4, [r5]
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r1, =gFacilityTrainers
|
||||
ldr r0, =gBattleFrontierTrainers
|
||||
str r0, [r1]
|
||||
ldrh r0, [r5]
|
||||
@ -26500,7 +26500,7 @@ sub_81A8374: @ 81A8374
|
||||
bl __udivsi3
|
||||
lsls r0, 16
|
||||
lsrs r5, r0, 16
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r1, =gFacilityTrainers
|
||||
ldr r0, =gBattleFrontierTrainers
|
||||
str r0, [r1]
|
||||
lsls r7, r5, 24
|
||||
@ -26667,7 +26667,7 @@ sub_81A84EC: @ 81A84EC
|
||||
ldr r0, =0x0000012b
|
||||
cmp r1, r0
|
||||
bhi _081A8542
|
||||
ldr r2, =gUnknown_0203BC88
|
||||
ldr r2, =gFacilityTrainers
|
||||
movs r0, 0x34
|
||||
muls r1, r0
|
||||
ldr r0, [r2]
|
||||
@ -26684,7 +26684,7 @@ _081A8524:
|
||||
ldr r0, =0x0000012b
|
||||
cmp r1, r0
|
||||
bhi _081A8542
|
||||
ldr r2, =gUnknown_0203BC88
|
||||
ldr r2, =gFacilityTrainers
|
||||
movs r0, 0x34
|
||||
muls r1, r0
|
||||
ldr r0, [r2]
|
||||
@ -28498,7 +28498,7 @@ _081A940A:
|
||||
|
||||
thumb_func_start sub_81A9414
|
||||
sub_81A9414: @ 81A9414
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r1, =gFacilityTrainers
|
||||
ldr r0, =gBattleFrontierTrainers
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
@ -28534,7 +28534,7 @@ sub_81A9424: @ 81A9424
|
||||
lsrs r5, r0, 16
|
||||
movs r6, 0
|
||||
ldr r2, =gUnknown_08613C1C
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r5
|
||||
@ -28554,7 +28554,7 @@ _081A9488:
|
||||
ldr r4, =gUnknown_08613C1C
|
||||
lsls r3, r6, 1
|
||||
adds r2, r3, r4
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r5
|
||||
@ -29517,7 +29517,7 @@ _081A9C56:
|
||||
bl SetMonData
|
||||
cmp r5, 0
|
||||
beq _081A9CD4
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
ldr r1, [sp, 0x10]
|
||||
@ -29795,7 +29795,7 @@ sub_81A9EDC: @ 81A9EDC
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
ldr r2, =gUnknown_0203BC88
|
||||
ldr r2, =gFacilityTrainers
|
||||
movs r1, 0x34
|
||||
muls r1, r0
|
||||
ldr r0, [r2]
|
||||
@ -29812,7 +29812,7 @@ sub_81A9EFC: @ 81A9EFC
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
ldr r2, =gUnknown_0203BC88
|
||||
ldr r2, =gFacilityTrainers
|
||||
movs r1, 0x34
|
||||
muls r1, r0
|
||||
ldr r0, [r2]
|
||||
@ -29829,7 +29829,7 @@ sub_81A9F1C: @ 81A9F1C
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
ldr r2, =gUnknown_0203BC88
|
||||
ldr r2, =gFacilityTrainers
|
||||
movs r1, 0x34
|
||||
muls r1, r0
|
||||
ldr r0, [r2]
|
||||
@ -29848,7 +29848,7 @@ GetTrainerEncounterMusicIdInBattlePyramind: @ 81A9F3C
|
||||
lsrs r0, 16
|
||||
movs r4, 0
|
||||
ldr r3, =gFacilityClassToTrainerClass
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r1, =gFacilityTrainers
|
||||
ldr r2, [r1]
|
||||
movs r1, 0x34
|
||||
muls r0, r1
|
||||
|
||||
@ -6,194 +6,6 @@
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start sub_81B9EC0
|
||||
sub_81B9EC0: @ 81B9EC0
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x3C
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r0, =gSlateportBattleTentTrainers
|
||||
str r0, [r1]
|
||||
add r0, sp, 0xC
|
||||
mov r9, r0
|
||||
mov r1, sp
|
||||
adds r1, 0x18
|
||||
str r1, [sp, 0x2C]
|
||||
ldr r5, =gUnknown_0203BC8C
|
||||
ldr r4, =gSlateportBattleTentMons
|
||||
movs r2, 0
|
||||
adds r3, r1, 0
|
||||
mov r1, r9
|
||||
mov r0, sp
|
||||
movs r6, 0x5
|
||||
mov r8, r6
|
||||
_081B9EEC:
|
||||
strh r2, [r0]
|
||||
strh r2, [r1]
|
||||
strh r2, [r3]
|
||||
adds r3, 0x2
|
||||
adds r1, 0x2
|
||||
adds r0, 0x2
|
||||
movs r7, 0x1
|
||||
negs r7, r7
|
||||
add r8, r7
|
||||
mov r6, r8
|
||||
cmp r6, 0
|
||||
bge _081B9EEC
|
||||
str r4, [r5]
|
||||
movs r7, 0
|
||||
mov r10, r7
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
ldr r1, [sp, 0x2C]
|
||||
str r1, [sp, 0x30]
|
||||
mov r2, sp
|
||||
str r2, [sp, 0x34]
|
||||
lsls r6, r0, 1
|
||||
str r6, [sp, 0x24]
|
||||
add r6, r9
|
||||
str r6, [sp, 0x28]
|
||||
_081B9F1E:
|
||||
bl Random
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
movs r1, 0x46
|
||||
bl __umodsi3
|
||||
lsls r0, 16
|
||||
lsrs r5, r0, 16
|
||||
movs r2, 0
|
||||
mov r7, r8
|
||||
adds r6, r2, r7
|
||||
cmp r2, r6
|
||||
bge _081B9F7C
|
||||
ldr r1, [sp, 0x28]
|
||||
ldrh r0, [r1]
|
||||
cmp r0, r5
|
||||
beq _081B9F7C
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r1, [r0]
|
||||
lsls r0, r5, 4
|
||||
adds r4, r0, r1
|
||||
ldrh r7, [r4]
|
||||
mov r12, r7
|
||||
lsls r3, r2, 1
|
||||
ldr r1, [sp, 0x24]
|
||||
add r1, sp
|
||||
str r6, [sp, 0x38]
|
||||
_081B9F56:
|
||||
ldrh r0, [r1]
|
||||
cmp r0, r12
|
||||
bne _081B9F66
|
||||
mov r0, r10
|
||||
cmp r0, 0
|
||||
bne _081B9F7C
|
||||
ldrh r7, [r4]
|
||||
mov r10, r7
|
||||
_081B9F66:
|
||||
adds r3, 0x2
|
||||
adds r1, 0x2
|
||||
adds r2, 0x1
|
||||
ldr r0, [sp, 0x38]
|
||||
cmp r2, r0
|
||||
bge _081B9F7C
|
||||
mov r7, r9
|
||||
adds r0, r7, r3
|
||||
ldrh r0, [r0]
|
||||
cmp r0, r5
|
||||
bne _081B9F56
|
||||
_081B9F7C:
|
||||
cmp r2, r6
|
||||
bne _081BA01C
|
||||
movs r2, 0
|
||||
cmp r2, r6
|
||||
bge _081B9FD4
|
||||
ldr r0, =gBattleFrontierHeldItems
|
||||
mov r12, r0
|
||||
ldr r7, =gUnknown_0203BC8C
|
||||
ldr r1, [sp, 0x24]
|
||||
ldr r0, [sp, 0x2C]
|
||||
adds r4, r1, r0
|
||||
_081B9F92:
|
||||
ldrh r3, [r4]
|
||||
cmp r3, 0
|
||||
beq _081B9FCC
|
||||
ldr r1, [r7]
|
||||
lsls r0, r5, 4
|
||||
adds r1, r0, r1
|
||||
ldrb r0, [r1, 0xA]
|
||||
lsls r0, 1
|
||||
add r0, r12
|
||||
ldrh r0, [r0]
|
||||
cmp r3, r0
|
||||
bne _081B9FCC
|
||||
ldrh r0, [r1]
|
||||
cmp r0, r10
|
||||
bne _081B9FD4
|
||||
movs r1, 0
|
||||
mov r10, r1
|
||||
b _081B9FD4
|
||||
.pool
|
||||
_081B9FCC:
|
||||
adds r4, 0x2
|
||||
adds r2, 0x1
|
||||
cmp r2, r6
|
||||
blt _081B9F92
|
||||
_081B9FD4:
|
||||
cmp r2, r6
|
||||
bne _081BA01C
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r1, [r0]
|
||||
mov r2, r8
|
||||
lsls r3, r2, 1
|
||||
adds r0, r3, r2
|
||||
lsls r0, 2
|
||||
adds r1, r0
|
||||
movs r6, 0xE7
|
||||
lsls r6, 4
|
||||
adds r1, r6
|
||||
strh r5, [r1]
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r0, [r0]
|
||||
lsls r1, r5, 4
|
||||
adds r1, r0
|
||||
ldrh r0, [r1]
|
||||
ldr r7, [sp, 0x34]
|
||||
strh r0, [r7]
|
||||
ldr r2, =gBattleFrontierHeldItems
|
||||
ldrb r0, [r1, 0xA]
|
||||
lsls r0, 1
|
||||
adds r0, r2
|
||||
ldrh r0, [r0]
|
||||
ldr r1, [sp, 0x30]
|
||||
strh r0, [r1]
|
||||
add r3, r9
|
||||
strh r5, [r3]
|
||||
adds r1, 0x2
|
||||
str r1, [sp, 0x30]
|
||||
adds r2, r7, 0
|
||||
adds r2, 0x2
|
||||
str r2, [sp, 0x34]
|
||||
movs r6, 0x1
|
||||
add r8, r6
|
||||
_081BA01C:
|
||||
mov r7, r8
|
||||
cmp r7, 0x6
|
||||
beq _081BA024
|
||||
b _081B9F1E
|
||||
_081BA024:
|
||||
add sp, 0x3C
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81B9EC0
|
||||
|
||||
thumb_func_start sub_81BA040
|
||||
sub_81BA040: @ 81BA040
|
||||
@ -205,10 +17,10 @@ sub_81BA040: @ 81BA040
|
||||
sub sp, 0x10
|
||||
movs r0, 0
|
||||
mov r10, r0
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r1, =gFacilityTrainers
|
||||
ldr r0, =gSlateportBattleTentTrainers
|
||||
str r0, [r1]
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gSlateportBattleTentMons
|
||||
str r0, [r1]
|
||||
ldr r7, =gSaveBlock2Ptr
|
||||
@ -261,7 +73,7 @@ _081BA0AA:
|
||||
ldr r2, =gTrainerBattleOpponent_A
|
||||
strh r3, [r2]
|
||||
ldrh r3, [r2]
|
||||
ldr r4, =gUnknown_0203BC88
|
||||
ldr r4, =gFacilityTrainers
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x34
|
||||
muls r0, r3
|
||||
@ -324,7 +136,7 @@ _081BA13E:
|
||||
strh r0, [r7]
|
||||
movs r2, 0
|
||||
ldrh r0, [r7]
|
||||
ldr r4, =gUnknown_0203BC8C
|
||||
ldr r4, =gFacilityTrainerMons
|
||||
ldr r3, [r4]
|
||||
lsls r0, 4
|
||||
adds r0, r3
|
||||
@ -356,7 +168,7 @@ _081BA180:
|
||||
cmp r0, r6
|
||||
beq _081BA1B0
|
||||
ldr r6, =gUnknown_03001298
|
||||
ldr r3, =gUnknown_0203BC8C
|
||||
ldr r3, =gFacilityTrainerMons
|
||||
mov r2, sp
|
||||
_081BA198:
|
||||
adds r2, 0x2
|
||||
@ -386,7 +198,7 @@ _081BA1C0:
|
||||
beq _081BA1DE
|
||||
ldr r1, =gUnknown_03001298
|
||||
ldrh r0, [r1]
|
||||
ldr r6, =gUnknown_0203BC8C
|
||||
ldr r6, =gFacilityTrainerMons
|
||||
ldr r1, [r6]
|
||||
lsls r0, 4
|
||||
adds r0, r1
|
||||
@ -406,7 +218,7 @@ _081BA1E6:
|
||||
bne _081BA220
|
||||
lsls r2, r5, 1
|
||||
ldrh r0, [r7]
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r4, [r1]
|
||||
lsls r0, 4
|
||||
adds r0, r4
|
||||
|
||||
@ -5,261 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8161F74
|
||||
sub_8161F74: @ 8161F74
|
||||
push {lr}
|
||||
ldr r1, =gUnknown_085DF96C
|
||||
ldr r0, =gSpecialVar_0x8004
|
||||
ldrh r0, [r0]
|
||||
lsls r0, 2
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
bl _call_via_r0
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8161F74
|
||||
|
||||
thumb_func_start sub_8161F94
|
||||
sub_8161F94: @ 8161F94
|
||||
push {r4-r7,lr}
|
||||
ldr r4, =gSaveBlock2Ptr
|
||||
ldr r0, [r4]
|
||||
ldr r1, =0x00000ca9
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 30
|
||||
lsrs r5, r0, 30
|
||||
ldr r0, =0x000040ce
|
||||
bl VarGet
|
||||
lsls r0, 16
|
||||
lsrs r6, r0, 16
|
||||
ldr r0, [r4]
|
||||
ldr r2, =0x00000ca8
|
||||
adds r0, r2
|
||||
movs r7, 0
|
||||
movs r1, 0x1
|
||||
strb r1, [r0]
|
||||
ldr r1, [r4]
|
||||
adds r2, 0xA
|
||||
adds r0, r1, r2
|
||||
strh r7, [r0]
|
||||
ldr r0, =0x00000ca9
|
||||
adds r1, r0
|
||||
ldrb r2, [r1]
|
||||
movs r0, 0x5
|
||||
negs r0, r0
|
||||
ands r0, r2
|
||||
strb r0, [r1]
|
||||
ldr r1, [r4]
|
||||
ldr r2, =0x00000ca9
|
||||
adds r1, r2
|
||||
ldrb r2, [r1]
|
||||
movs r0, 0x9
|
||||
negs r0, r0
|
||||
ands r0, r2
|
||||
strb r0, [r1]
|
||||
bl sub_81A3ACC
|
||||
ldr r4, [r4]
|
||||
ldr r0, =0x00000cdc
|
||||
adds r3, r4, r0
|
||||
ldr r2, =gUnknown_085DF9AC
|
||||
lsls r1, r5, 2
|
||||
lsls r0, r6, 3
|
||||
adds r1, r0
|
||||
adds r1, r2
|
||||
ldr r0, [r3]
|
||||
ldr r1, [r1]
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _0816200E
|
||||
lsls r0, r5, 1
|
||||
lsls r1, r6, 2
|
||||
adds r0, r1
|
||||
movs r2, 0xCE
|
||||
lsls r2, 4
|
||||
adds r1, r4, r2
|
||||
adds r1, r0
|
||||
strh r7, [r1]
|
||||
_0816200E:
|
||||
bl sub_8164ED8
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
movs r1, 0x4
|
||||
ldrsb r1, [r0, r1]
|
||||
movs r2, 0x5
|
||||
ldrsb r2, [r0, r2]
|
||||
movs r3, 0x1
|
||||
negs r3, r3
|
||||
movs r0, 0
|
||||
bl saved_warp2_set
|
||||
ldr r0, =gTrainerBattleOpponent_A
|
||||
strh r7, [r0]
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8161F94
|
||||
|
||||
thumb_func_start sub_8162054
|
||||
sub_8162054: @ 8162054
|
||||
push {r4-r6,lr}
|
||||
ldr r5, =gSaveBlock2Ptr
|
||||
ldr r0, [r5]
|
||||
ldr r4, =0x00000ca9
|
||||
adds r0, r4
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 30
|
||||
lsrs r6, r0, 30
|
||||
ldr r0, =0x000040ce
|
||||
bl VarGet
|
||||
lsls r0, 16
|
||||
lsrs r1, r0, 16
|
||||
ldr r0, =gSpecialVar_0x8005
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0x1
|
||||
beq _08162094
|
||||
cmp r0, 0x1
|
||||
ble _081620E8
|
||||
cmp r0, 0x2
|
||||
beq _081620A8
|
||||
cmp r0, 0x3
|
||||
beq _081620D8
|
||||
b _081620E8
|
||||
.pool
|
||||
_08162094:
|
||||
adds r0, r6, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
bl sub_8164FCC
|
||||
ldr r1, =gSpecialVar_Result
|
||||
strh r0, [r1]
|
||||
b _081620E8
|
||||
.pool
|
||||
_081620A8:
|
||||
ldr r4, =gSpecialVar_Result
|
||||
ldr r2, [r5]
|
||||
ldr r0, =0x00000cdc
|
||||
adds r2, r0
|
||||
ldr r3, =gUnknown_085DF9AC
|
||||
lsls r0, r6, 2
|
||||
lsls r1, 3
|
||||
adds r0, r1
|
||||
adds r0, r3
|
||||
ldr r1, [r2]
|
||||
ldr r0, [r0]
|
||||
ands r1, r0
|
||||
negs r0, r1
|
||||
orrs r0, r1
|
||||
lsrs r0, 31
|
||||
strh r0, [r4]
|
||||
b _081620E8
|
||||
.pool
|
||||
_081620D8:
|
||||
ldr r1, [r5]
|
||||
adds r0, r1, r4
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 30
|
||||
lsrs r0, 30
|
||||
ldr r2, =0x00000d07
|
||||
adds r1, r2
|
||||
strb r0, [r1]
|
||||
_081620E8:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8162054
|
||||
|
||||
thumb_func_start sub_81620F4
|
||||
sub_81620F4: @ 81620F4
|
||||
push {r4-r7,lr}
|
||||
ldr r6, =gSaveBlock2Ptr
|
||||
ldr r0, [r6]
|
||||
ldr r7, =0x00000ca9
|
||||
adds r0, r7
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 30
|
||||
lsrs r5, r0, 30
|
||||
ldr r0, =0x000040ce
|
||||
bl VarGet
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
ldr r0, =gSpecialVar_0x8005
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0x1
|
||||
beq _08162134
|
||||
cmp r0, 0x1
|
||||
ble _081621B4
|
||||
cmp r0, 0x2
|
||||
beq _08162150
|
||||
cmp r0, 0x3
|
||||
beq _081621A4
|
||||
b _081621B4
|
||||
.pool
|
||||
_08162134:
|
||||
ldr r2, [r6]
|
||||
lsls r0, r5, 1
|
||||
lsls r1, r4, 2
|
||||
adds r0, r1
|
||||
movs r1, 0xCE
|
||||
lsls r1, 4
|
||||
adds r2, r1
|
||||
adds r2, r0
|
||||
ldr r0, =gSpecialVar_0x8006
|
||||
ldrh r0, [r0]
|
||||
strh r0, [r2]
|
||||
b _081621B4
|
||||
.pool
|
||||
_08162150:
|
||||
ldr r0, =gSpecialVar_0x8006
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08162180
|
||||
ldr r2, [r6]
|
||||
ldr r0, =0x00000cdc
|
||||
adds r2, r0
|
||||
ldr r3, =gUnknown_085DF9AC
|
||||
lsls r1, r5, 2
|
||||
lsls r0, r4, 3
|
||||
adds r1, r0
|
||||
adds r1, r3
|
||||
ldr r0, [r2]
|
||||
ldr r1, [r1]
|
||||
orrs r0, r1
|
||||
str r0, [r2]
|
||||
b _081621B4
|
||||
.pool
|
||||
_08162180:
|
||||
ldr r2, [r6]
|
||||
ldr r1, =0x00000cdc
|
||||
adds r2, r1
|
||||
ldr r3, =gUnknown_085DF9CC
|
||||
lsls r1, r5, 2
|
||||
lsls r0, r4, 3
|
||||
adds r1, r0
|
||||
adds r1, r3
|
||||
ldr r0, [r2]
|
||||
ldr r1, [r1]
|
||||
ands r0, r1
|
||||
str r0, [r2]
|
||||
b _081621B4
|
||||
.pool
|
||||
_081621A4:
|
||||
ldr r1, [r6]
|
||||
adds r0, r1, r7
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 30
|
||||
lsrs r0, 30
|
||||
ldr r2, =0x00000d07
|
||||
adds r1, r2
|
||||
strb r0, [r1]
|
||||
_081621B4:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81620F4
|
||||
|
||||
thumb_func_start sub_81621C0
|
||||
sub_81621C0: @ 81621C0
|
||||
@ -391,7 +138,7 @@ _081622B2:
|
||||
adds r4, r1, r0
|
||||
mov r0, r10
|
||||
str r2, [sp, 0x38]
|
||||
bl BattleFrontierGetOpponentLvl
|
||||
bl GetFrontierEnemyMonLevel
|
||||
ldrb r1, [r4]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -551,7 +298,7 @@ _08162414:
|
||||
bl __udivsi3
|
||||
lsls r0, 16
|
||||
lsrs r5, r0, 16
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
subs r4, 0x2
|
||||
cmp r4, 0x1
|
||||
bhi _08162488
|
||||
@ -784,7 +531,7 @@ sub_8162614: @ 8162614
|
||||
adds r6, r4, 0
|
||||
lsls r1, 24
|
||||
lsrs r5, r1, 24
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
movs r0, 0xFA
|
||||
lsls r0, 1
|
||||
cmp r4, r0
|
||||
@ -806,7 +553,7 @@ _08162650:
|
||||
ldr r0, =0x0000012b
|
||||
cmp r4, r0
|
||||
bhi _0816266C
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r4
|
||||
@ -962,7 +709,7 @@ sub_81627A4: @ 81627A4
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
adds r5, r4, 0
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
movs r0, 0xFA
|
||||
lsls r0, 1
|
||||
cmp r4, r0
|
||||
@ -977,7 +724,7 @@ _081627CC:
|
||||
ldr r0, =0x0000012b
|
||||
cmp r4, r0
|
||||
bhi _081627E8
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r4
|
||||
@ -1335,7 +1082,7 @@ GetFrontierTrainerFrontSpriteId: @ 8162AA0
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
adds r5, r4, 0
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
movs r0, 0xFA
|
||||
lsls r0, 1
|
||||
cmp r4, r0
|
||||
@ -1363,7 +1110,7 @@ _08162AE4:
|
||||
cmp r4, r0
|
||||
bhi _08162B08
|
||||
ldr r2, =gFacilityClassToPicIndex
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r4
|
||||
@ -1462,7 +1209,7 @@ GetFrontierOpponentClass: @ 8162BD8
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
adds r5, r4, 0
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
movs r0, 0xFA
|
||||
lsls r0, 1
|
||||
cmp r4, r0
|
||||
@ -1500,7 +1247,7 @@ _08162C38:
|
||||
cmp r4, r0
|
||||
bhi _08162C60
|
||||
ldr r2, =gFacilityClassToTrainerClass
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r4
|
||||
@ -1602,7 +1349,7 @@ sub_8162D34: @ 8162D34
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
adds r5, r4, 0
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
movs r0, 0xFA
|
||||
lsls r0, 1
|
||||
cmp r4, r0
|
||||
@ -1617,7 +1364,7 @@ _08162D5C:
|
||||
ldr r0, =0x0000012b
|
||||
cmp r4, r0
|
||||
bhi _08162D78
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r4
|
||||
@ -1704,7 +1451,7 @@ GetFrontierTrainerName: @ 8162E20
|
||||
lsls r1, 16
|
||||
lsrs r5, r1, 16
|
||||
movs r4, 0
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
movs r0, 0xFA
|
||||
lsls r0, 1
|
||||
cmp r5, r0
|
||||
@ -1751,7 +1498,7 @@ _08162E88:
|
||||
ldr r0, =0x0000012b
|
||||
cmp r5, r0
|
||||
bhi _08162EB4
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r5
|
||||
@ -1854,7 +1601,7 @@ sub_8162F68: @ 8162F68
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
adds r5, r4, 0
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
movs r0, 0xFA
|
||||
lsls r0, 1
|
||||
cmp r4, r0
|
||||
@ -1878,7 +1625,7 @@ _08162FA4:
|
||||
ldr r0, =0x0000012b
|
||||
cmp r4, r0
|
||||
bhi _08162FC0
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r4
|
||||
@ -2025,7 +1772,7 @@ sub_81630C4: @ 81630C4
|
||||
add r4, sp, 0x14
|
||||
movs r0, 0xFF
|
||||
strb r0, [r4]
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x20]
|
||||
@ -2039,7 +1786,7 @@ sub_81630C4: @ 81630C4
|
||||
str r0, [sp, 0x24]
|
||||
ldr r0, =gTrainerBattleOpponent_A
|
||||
ldrh r2, [r0]
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r2
|
||||
@ -2258,7 +2005,7 @@ _081632D2:
|
||||
movs r1, 0xB
|
||||
movs r2, 0
|
||||
bl GetMonData
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r2, [r1]
|
||||
lsls r1, r4, 4
|
||||
adds r1, r2
|
||||
@ -2291,7 +2038,7 @@ _08163308:
|
||||
movs r1, 0xC
|
||||
movs r2, 0
|
||||
bl GetMonData
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r2, [r1]
|
||||
lsls r1, r4, 4
|
||||
adds r1, r2
|
||||
@ -2338,7 +2085,7 @@ _08163368:
|
||||
muls r0, r1
|
||||
ldr r2, =gEnemyParty
|
||||
adds r0, r2
|
||||
ldr r5, =gUnknown_0203BC8C
|
||||
ldr r5, =gFacilityTrainerMons
|
||||
ldr r2, [r5]
|
||||
lsls r4, 4
|
||||
adds r2, r4, r2
|
||||
@ -2405,7 +2152,7 @@ _081633EC:
|
||||
movs r1, 0x20
|
||||
add r2, sp, 0x14
|
||||
bl SetMonData
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r0, [r0]
|
||||
add r0, r9
|
||||
ldrb r2, [r0, 0xA]
|
||||
@ -2545,16 +2292,16 @@ _081634D4:
|
||||
.pool
|
||||
thumb_func_end sub_8163444
|
||||
|
||||
thumb_func_start sub_8163524
|
||||
sub_8163524: @ 8163524
|
||||
thumb_func_start RandomizeFacilityTrainerMonId
|
||||
RandomizeFacilityTrainerMonId: @ 8163524
|
||||
push {r4-r6,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r4
|
||||
@ -2598,7 +2345,7 @@ _08163580:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end sub_8163524
|
||||
thumb_func_end RandomizeFacilityTrainerMonId
|
||||
|
||||
thumb_func_start sub_8163590
|
||||
sub_8163590: @ 8163590
|
||||
@ -2728,7 +2475,7 @@ _081636A4:
|
||||
movs r0, 0x1F
|
||||
_081636A6:
|
||||
str r0, [sp, 0x18]
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x14]
|
||||
@ -2759,7 +2506,7 @@ _081636CE:
|
||||
muls r6, r0
|
||||
ldr r1, =gEnemyParty
|
||||
adds r0, r6, r1
|
||||
ldr r3, =gUnknown_0203BC8C
|
||||
ldr r3, =gFacilityTrainerMons
|
||||
ldr r2, [r3]
|
||||
mov r1, r9
|
||||
lsls r4, r1, 4
|
||||
@ -2784,7 +2531,7 @@ _081636CE:
|
||||
mov r10, r7
|
||||
adds r7, r4, 0
|
||||
_08163718:
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r1, [r0]
|
||||
mov r2, r9
|
||||
lsls r0, r2, 4
|
||||
@ -2813,7 +2560,7 @@ _08163718:
|
||||
movs r1, 0x20
|
||||
add r2, sp, 0xC
|
||||
bl SetMonData
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, [r1]
|
||||
adds r0, r7, r0
|
||||
ldrb r2, [r0, 0xA]
|
||||
@ -2881,7 +2628,7 @@ _081637D0:
|
||||
muls r6, r7
|
||||
ldr r1, =gEnemyParty
|
||||
adds r0, r6, r1
|
||||
ldr r7, =gUnknown_0203BC8C
|
||||
ldr r7, =gFacilityTrainerMons
|
||||
ldr r2, [r7]
|
||||
lsls r4, 4
|
||||
adds r2, r4, r2
|
||||
@ -2905,7 +2652,7 @@ _081637D0:
|
||||
mov r8, r4
|
||||
mov r5, r8
|
||||
_08163818:
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, [r1]
|
||||
adds r0, r5, r0
|
||||
lsls r4, r7, 1
|
||||
@ -2916,7 +2663,7 @@ _08163818:
|
||||
adds r0, r6, r2
|
||||
adds r2, r7, 0
|
||||
bl sub_81A7024
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, [r1]
|
||||
adds r0, r5, r0
|
||||
adds r0, 0x2
|
||||
@ -2942,7 +2689,7 @@ _08163846:
|
||||
movs r1, 0x20
|
||||
add r2, sp, 0xC
|
||||
bl SetMonData
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, [r1]
|
||||
add r0, r8
|
||||
ldrb r2, [r0, 0xA]
|
||||
@ -3029,7 +2776,7 @@ _0816390A:
|
||||
thumb_func_start sub_8163914
|
||||
sub_8163914: @ 8163914
|
||||
push {lr}
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
ldr r0, =gSpecialVar_0x8005
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0
|
||||
@ -3054,7 +2801,7 @@ _08163950:
|
||||
ldr r0, =0x0000012b
|
||||
cmp r3, r0
|
||||
bhi _08163974
|
||||
ldr r2, =gUnknown_0203BC88
|
||||
ldr r2, =gFacilityTrainers
|
||||
movs r0, 0x34
|
||||
adds r1, r3, 0
|
||||
muls r1, r0
|
||||
@ -3979,7 +3726,7 @@ _081641E6:
|
||||
lsls r0, r1, 24
|
||||
lsrs r0, 24
|
||||
str r2, [sp, 0x18]
|
||||
bl BattleFrontierGetOpponentLvl
|
||||
bl GetFrontierEnemyMonLevel
|
||||
ldrb r1, [r4]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -4091,7 +3838,7 @@ sub_81642A0: @ 81642A0
|
||||
movs r2, 0
|
||||
bl GetMonData
|
||||
str r0, [sp, 0x20]
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
movs r7, 0
|
||||
ldr r0, [sp, 0x18]
|
||||
lsls r0, 24
|
||||
@ -4116,7 +3863,7 @@ _0816431A:
|
||||
ldrh r0, [r1]
|
||||
cmp r0, r8
|
||||
beq _08164368
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r2, [r0]
|
||||
movs r4, 0x34
|
||||
mov r0, r8
|
||||
@ -4186,7 +3933,7 @@ _081643A8:
|
||||
str r0, [sp, 0x28]
|
||||
_081643C0:
|
||||
mov r0, r8
|
||||
bl sub_8163524
|
||||
bl RandomizeFacilityTrainerMonId
|
||||
lsls r0, 16
|
||||
lsrs r6, r0, 16
|
||||
movs r0, 0x1
|
||||
@ -4200,7 +3947,7 @@ _081643C0:
|
||||
ldr r1, [sp, 0x28]
|
||||
adds r0, r1
|
||||
ldrh r2, [r0]
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r0, [r0]
|
||||
lsls r2, 4
|
||||
adds r2, r0
|
||||
@ -4216,7 +3963,7 @@ _081643F4:
|
||||
bge _08164430
|
||||
ldr r2, =gSaveBlock2Ptr
|
||||
ldr r0, [r2]
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r3, [r1]
|
||||
lsls r1, r6, 4
|
||||
adds r1, r3
|
||||
@ -4464,7 +4211,7 @@ _081645B8:
|
||||
lsls r0, r1, 24
|
||||
lsrs r0, 24
|
||||
str r3, [sp, 0x48]
|
||||
bl BattleFrontierGetOpponentLvl
|
||||
bl GetFrontierEnemyMonLevel
|
||||
ldrb r1, [r4]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -4556,7 +4303,7 @@ sub_81646BC: @ 81646BC
|
||||
movs r0, 0
|
||||
mov r9, r0
|
||||
mov r10, r0
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
movs r0, 0xFA
|
||||
lsls r0, 1
|
||||
cmp r5, r0
|
||||
@ -4564,7 +4311,7 @@ sub_81646BC: @ 81646BC
|
||||
subs r0, 0xC9
|
||||
cmp r5, r0
|
||||
bhi _081646FC
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r1, [r0]
|
||||
lsls r0, r4, 4
|
||||
adds r0, r1
|
||||
@ -4705,7 +4452,7 @@ sub_8164828: @ 8164828
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x8
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
bl sub_81A39C4
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
@ -6073,7 +5820,7 @@ sub_8165404: @ 8165404
|
||||
sub sp, 0x70
|
||||
lsls r0, 16
|
||||
lsrs r7, r0, 16
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
ldr r0, =0x00000c03
|
||||
cmp r7, r0
|
||||
beq _08165420
|
||||
@ -6228,7 +5975,7 @@ _08165564:
|
||||
bls _0816556C
|
||||
b _081656E8
|
||||
_0816556C:
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x50]
|
||||
@ -6272,7 +6019,7 @@ _081655A6:
|
||||
mov r9, r0
|
||||
mov r0, r8
|
||||
add r0, r9
|
||||
ldr r6, =gUnknown_0203BC8C
|
||||
ldr r6, =gFacilityTrainerMons
|
||||
ldr r4, [r6]
|
||||
lsls r5, r1, 4
|
||||
adds r4, r5, r4
|
||||
@ -6339,7 +6086,7 @@ _08165634:
|
||||
movs r1, 0x20
|
||||
ldr r2, [sp, 0x5C]
|
||||
bl SetMonData
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r1, [r0]
|
||||
ldr r2, [sp, 0x54]
|
||||
lsls r0, r2, 4
|
||||
@ -6354,7 +6101,7 @@ _08165634:
|
||||
movs r0, 0
|
||||
str r0, [sp, 0x44]
|
||||
movs r2, 0
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r7
|
||||
@ -7083,8 +6830,8 @@ _08165C2A:
|
||||
.pool
|
||||
thumb_func_end sub_8165B88
|
||||
|
||||
thumb_func_start sub_8165C40
|
||||
sub_8165C40: @ 8165C40
|
||||
thumb_func_start GetFacilityEnemyMonLevel
|
||||
GetFacilityEnemyMonLevel: @ 8165C40
|
||||
push {lr}
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
@ -7095,29 +6842,29 @@ sub_8165C40: @ 8165C40
|
||||
ands r0, r1
|
||||
cmp r0, 0x2
|
||||
beq _08165C84
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r1, =gFacilityTrainers
|
||||
ldr r0, =gBattleFrontierTrainers
|
||||
str r0, [r1]
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gBattleFrontierMons
|
||||
str r0, [r1]
|
||||
ldrb r0, [r2]
|
||||
lsls r0, 30
|
||||
lsrs r0, 30
|
||||
bl BattleFrontierGetOpponentLvl
|
||||
bl GetFrontierEnemyMonLevel
|
||||
b _08165C88
|
||||
.pool
|
||||
_08165C84:
|
||||
bl sub_8165D78
|
||||
bl GetTentEnemyMonLevel
|
||||
_08165C88:
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8165C40
|
||||
thumb_func_end GetFacilityEnemyMonLevel
|
||||
|
||||
thumb_func_start BattleFrontierGetOpponentLvl
|
||||
BattleFrontierGetOpponentLvl: @ 8165C90
|
||||
thumb_func_start GetFrontierEnemyMonLevel
|
||||
GetFrontierEnemyMonLevel: @ 8165C90
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -7138,7 +6885,7 @@ _08165CA2:
|
||||
_08165CB0:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end BattleFrontierGetOpponentLvl
|
||||
thumb_func_end GetFrontierEnemyMonLevel
|
||||
|
||||
thumb_func_start sub_8165CB4
|
||||
sub_8165CB4: @ 8165CB4
|
||||
@ -7246,8 +6993,8 @@ _08165D72:
|
||||
bx r1
|
||||
thumb_func_end sub_8165D40
|
||||
|
||||
thumb_func_start sub_8165D78
|
||||
sub_8165D78: @ 8165D78
|
||||
thumb_func_start GetTentEnemyMonLevel
|
||||
GetTentEnemyMonLevel: @ 8165D78
|
||||
push {lr}
|
||||
ldr r0, =0x000040cf
|
||||
bl VarGet
|
||||
@ -7255,38 +7002,38 @@ sub_8165D78: @ 8165D78
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x4
|
||||
bne _08165DA8
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r1, =gFacilityTrainers
|
||||
ldr r0, =gSlateportBattleTentTrainers
|
||||
str r0, [r1]
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gSlateportBattleTentMons
|
||||
b _08165DF2
|
||||
.pool
|
||||
_08165DA8:
|
||||
cmp r0, 0x2
|
||||
bne _08165DC8
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r1, =gFacilityTrainers
|
||||
ldr r0, =gVerdanturfBattleTentTrainers
|
||||
str r0, [r1]
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gVerdanturfBattleTentMons
|
||||
b _08165DF2
|
||||
.pool
|
||||
_08165DC8:
|
||||
cmp r0, 0x3
|
||||
bne _08165DE8
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r1, =gFacilityTrainers
|
||||
ldr r0, =gFallarborBattleTentTrainers
|
||||
str r0, [r1]
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gFallarborBattleTentMons
|
||||
b _08165DF2
|
||||
.pool
|
||||
_08165DE8:
|
||||
ldr r1, =gUnknown_0203BC88
|
||||
ldr r1, =gFacilityTrainers
|
||||
ldr r0, =gBattleFrontierTrainers
|
||||
str r0, [r1]
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r0, =gBattleFrontierMons
|
||||
_08165DF2:
|
||||
str r0, [r1]
|
||||
@ -7300,7 +7047,7 @@ _08165E02:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end sub_8165D78
|
||||
thumb_func_end GetTentEnemyMonLevel
|
||||
|
||||
thumb_func_start sub_8165E18
|
||||
sub_8165E18: @ 8165E18
|
||||
@ -7384,13 +7131,13 @@ sub_8165EA4: @ 8165EA4
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
str r2, [sp, 0x1C]
|
||||
bl sub_8165D78
|
||||
bl GetTentEnemyMonLevel
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x20]
|
||||
ldr r0, =gTrainerBattleOpponent_A
|
||||
ldrh r2, [r0]
|
||||
ldr r0, =gUnknown_0203BC88
|
||||
ldr r0, =gFacilityTrainers
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x34
|
||||
muls r0, r2
|
||||
@ -7456,7 +7203,7 @@ _08165F44:
|
||||
movs r1, 0xB
|
||||
movs r2, 0
|
||||
bl GetMonData
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r2, [r1]
|
||||
lsls r1, r4, 4
|
||||
adds r1, r2
|
||||
@ -7489,7 +7236,7 @@ _08165F7A:
|
||||
movs r1, 0xC
|
||||
movs r2, 0
|
||||
bl GetMonData
|
||||
ldr r1, =gUnknown_0203BC8C
|
||||
ldr r1, =gFacilityTrainerMons
|
||||
ldr r2, [r1]
|
||||
lsls r1, r4, 4
|
||||
adds r1, r2
|
||||
@ -7537,7 +7284,7 @@ _08165FDA:
|
||||
muls r0, r6
|
||||
ldr r1, =gEnemyParty
|
||||
adds r0, r1
|
||||
ldr r5, =gUnknown_0203BC8C
|
||||
ldr r5, =gFacilityTrainerMons
|
||||
ldr r2, [r5]
|
||||
lsls r4, 4
|
||||
adds r2, r4, r2
|
||||
@ -7603,7 +7350,7 @@ _0816605E:
|
||||
movs r1, 0x20
|
||||
add r2, sp, 0x14
|
||||
bl SetMonData
|
||||
ldr r0, =gUnknown_0203BC8C
|
||||
ldr r0, =gFacilityTrainerMons
|
||||
ldr r0, [r0]
|
||||
add r0, r9
|
||||
ldrb r2, [r0, 0xA]
|
||||
@ -7756,7 +7503,7 @@ sub_8166188: @ 8166188
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _081661E8
|
||||
bl sub_8165C40
|
||||
bl GetFacilityEnemyMonLevel
|
||||
lsls r0, 24
|
||||
movs r5, 0
|
||||
ldr r7, =gBaseStats
|
||||
|
||||
@ -2706,7 +2706,7 @@ _0811C044:
|
||||
movs r0, 0x3
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl copy_decompressed_tile_data_to_vram_autofree
|
||||
bl DecompressAndLoadBgGfxUsingHeap
|
||||
ldr r1, =gEasyChatWindow_Tilemap
|
||||
movs r0, 0x3
|
||||
movs r2, 0
|
||||
@ -2732,7 +2732,7 @@ _0811C090:
|
||||
movs r0, 0x1
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl copy_decompressed_tile_data_to_vram_autofree
|
||||
bl DecompressAndLoadBgGfxUsingHeap
|
||||
movs r0, 0x1
|
||||
bl CopyBgTilemapBufferToVram
|
||||
b _0811C124
|
||||
|
||||
@ -45,14 +45,14 @@
|
||||
.byte 0xa
|
||||
.endm
|
||||
|
||||
.macro healthbarupdate bank
|
||||
.macro healthbarupdate battler
|
||||
.byte 0xb
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro datahpupdate bank
|
||||
.macro datahpupdate battler
|
||||
.byte 0xc
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro critmessage
|
||||
@ -104,38 +104,38 @@
|
||||
.byte 0x17
|
||||
.endm
|
||||
|
||||
.macro clearstatusfromeffect bank
|
||||
.macro clearstatusfromeffect battler
|
||||
.byte 0x18
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro tryfaintmon bank, param1, param2
|
||||
.macro tryfaintmon battler, param1, param2
|
||||
.byte 0x19
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.byte \param1
|
||||
.4byte \param2
|
||||
.endm
|
||||
|
||||
.macro dofaintanimation bank
|
||||
.macro dofaintanimation battler
|
||||
.byte 0x1a
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro cleareffectsonfaint bank
|
||||
.macro cleareffectsonfaint battler
|
||||
.byte 0x1b
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro jumpifstatus bank, status1, param2
|
||||
.macro jumpifstatus battler, status1, param2
|
||||
.byte 0x1c
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.4byte \status1
|
||||
.4byte \param2
|
||||
.endm
|
||||
|
||||
.macro jumpifstatus2 bank, status2, param2
|
||||
.macro jumpifstatus2 battler, status2, param2
|
||||
.byte 0x1d
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.4byte \status2
|
||||
.4byte \param2
|
||||
.endm
|
||||
@ -147,40 +147,40 @@
|
||||
.4byte \param2
|
||||
.endm
|
||||
|
||||
.macro jumpifsideaffecting bank, sidestatus, param2
|
||||
.macro jumpifsideaffecting battler, sidestatus, param2
|
||||
.byte 0x1f
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.2byte \sidestatus
|
||||
.4byte \param2
|
||||
.endm
|
||||
|
||||
.macro jumpifstat bank, ifflag, stat, param3, param4
|
||||
.macro jumpifstat battler, ifflag, stat, param3, param4
|
||||
.byte 0x20
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.byte \ifflag
|
||||
.byte \stat
|
||||
.byte \param3
|
||||
.4byte \param4
|
||||
.endm
|
||||
|
||||
.macro jumpifstatus3condition bank, status3, param2, param3
|
||||
.macro jumpifstatus3condition battler, status3, param2, param3
|
||||
.byte 0x21
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.4byte \status3
|
||||
.byte \param2
|
||||
.4byte \param3
|
||||
.endm
|
||||
|
||||
.macro jumpiftype bank, type, param2
|
||||
.macro jumpiftype battler, type, param2
|
||||
.byte 0x22
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.byte \type
|
||||
.4byte \param2
|
||||
.endm
|
||||
|
||||
.macro getexp bank
|
||||
.macro getexp battler
|
||||
.byte 0x23
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro atk24 param0
|
||||
@ -325,9 +325,9 @@
|
||||
.byte 0x3a
|
||||
.endm
|
||||
|
||||
.macro healthbar_update bank
|
||||
.macro healthbar_update battler
|
||||
.byte 0x3b
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro return
|
||||
@ -356,9 +356,9 @@
|
||||
.4byte \param0
|
||||
.endm
|
||||
|
||||
.macro jumpiftype2 bank, type, param2
|
||||
.macro jumpiftype2 battler, type, param2
|
||||
.byte 0x42
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.byte \type
|
||||
.4byte \param2
|
||||
.endm
|
||||
@ -373,16 +373,16 @@
|
||||
.byte 0x44
|
||||
.endm
|
||||
|
||||
.macro playanimation bank, param1, param2
|
||||
.macro playanimation battler, param1, param2
|
||||
.byte 0x45
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.byte \param1
|
||||
.4byte \param2
|
||||
.endm
|
||||
|
||||
.macro playanimation2 bank, param1, param2
|
||||
.macro playanimation2 battler, param1, param2
|
||||
.byte 0x46
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.4byte \param1
|
||||
.4byte \param2
|
||||
.endm
|
||||
@ -391,9 +391,9 @@
|
||||
.byte 0x47
|
||||
.endm
|
||||
|
||||
.macro playstatchangeanimation bank, param1, param2
|
||||
.macro playstatchangeanimation battler, param1, param2
|
||||
.byte 0x48
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.byte \param1
|
||||
.byte \param2
|
||||
.endm
|
||||
@ -412,25 +412,25 @@
|
||||
.byte 0x4b
|
||||
.endm
|
||||
|
||||
.macro getswitchedmondata bank
|
||||
.macro getswitchedmondata battler
|
||||
.byte 0x4c
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro switchindataupdate bank
|
||||
.macro switchindataupdate battler
|
||||
.byte 0x4d
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro switchinanim bank, dontclearsubstitutebit
|
||||
.macro switchinanim battler, dontclearsubstitutebit
|
||||
.byte 0x4e
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.byte \dontclearsubstitutebit
|
||||
.endm
|
||||
|
||||
.macro jumpifcantswitch bank, param1
|
||||
.macro jumpifcantswitch battler, param1
|
||||
.byte 0x4f
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.4byte \param1
|
||||
.endm
|
||||
|
||||
@ -440,20 +440,20 @@
|
||||
.4byte \param1
|
||||
.endm
|
||||
|
||||
.macro switchhandleorder bank, param1
|
||||
.macro switchhandleorder battler, param1
|
||||
.byte 0x51
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.byte \param1
|
||||
.endm
|
||||
|
||||
.macro switchineffects bank
|
||||
.macro switchineffects battler
|
||||
.byte 0x52
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro trainerslidein bank
|
||||
.macro trainerslidein battler
|
||||
.byte 0x53
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro playse param0
|
||||
@ -466,18 +466,18 @@
|
||||
.2byte \param0
|
||||
.endm
|
||||
|
||||
.macro playfaintcry bank
|
||||
.macro playfaintcry battler
|
||||
.byte 0x56
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro atk57
|
||||
.byte 0x57
|
||||
.endm
|
||||
|
||||
.macro returntoball bank
|
||||
.macro returntoball battler
|
||||
.byte 0x58
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro handlelearnnewmove param0, param1, param2
|
||||
@ -497,18 +497,18 @@
|
||||
.4byte \param0
|
||||
.endm
|
||||
|
||||
.macro hitanimation bank
|
||||
.macro hitanimation battler
|
||||
.byte 0x5c
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro getmoneyreward
|
||||
.byte 0x5d
|
||||
.endm
|
||||
|
||||
.macro atk5E bank
|
||||
.macro atk5E battler
|
||||
.byte 0x5e
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro swapattackerwithtarget
|
||||
@ -520,14 +520,14 @@
|
||||
.byte \param0
|
||||
.endm
|
||||
|
||||
.macro drawpartystatussummary bank
|
||||
.macro drawpartystatussummary battler
|
||||
.byte 0x61
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro hidepartystatussummary bank
|
||||
.macro hidepartystatussummary battler
|
||||
.byte 0x62
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro jumptorandomattack param0
|
||||
@ -535,20 +535,20 @@
|
||||
.byte \param0
|
||||
.endm
|
||||
|
||||
.macro statusanimation bank
|
||||
.macro statusanimation battler
|
||||
.byte 0x64
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro status2animation bank, status2
|
||||
.macro status2animation battler, status2
|
||||
.byte 0x65
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.4byte \status2
|
||||
.endm
|
||||
|
||||
.macro chosenstatusanimation bank, param1, param2
|
||||
.macro chosenstatusanimation battler, param1, param2
|
||||
.byte 0x66
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.byte \param1
|
||||
.4byte \param2
|
||||
.endm
|
||||
@ -565,9 +565,9 @@
|
||||
.byte 0x69
|
||||
.endm
|
||||
|
||||
.macro removeitem bank
|
||||
.macro removeitem battler
|
||||
.byte 0x6a
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro atknameinbuff1
|
||||
@ -586,14 +586,14 @@
|
||||
.byte 0x6e
|
||||
.endm
|
||||
|
||||
.macro makevisible bank
|
||||
.macro makevisible battler
|
||||
.byte 0x6f
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro recordlastability bank
|
||||
.macro recordlastability battler
|
||||
.byte 0x70
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro buffermovetolearn
|
||||
@ -605,23 +605,23 @@
|
||||
.4byte \param0
|
||||
.endm
|
||||
|
||||
.macro hpthresholds bank
|
||||
.macro hpthresholds battler
|
||||
.byte 0x73
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro hpthresholds2 bank
|
||||
.macro hpthresholds2 battler
|
||||
.byte 0x74
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro useitemonopponent
|
||||
.byte 0x75
|
||||
.endm
|
||||
|
||||
.macro various bank, param1
|
||||
.macro various battler, param1
|
||||
.byte 0x76
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.byte \param1
|
||||
.endm
|
||||
|
||||
@ -642,10 +642,10 @@
|
||||
.4byte \param0
|
||||
.endm
|
||||
|
||||
.macro tryhealhalfhealth param0, bank
|
||||
.macro tryhealhalfhealth param0, battler
|
||||
.byte 0x7b
|
||||
.4byte \param0
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro trymirrormove
|
||||
@ -773,9 +773,9 @@
|
||||
.4byte \param0
|
||||
.endm
|
||||
|
||||
.macro updatestatusicon bank
|
||||
.macro updatestatusicon battler
|
||||
.byte 0x98
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro setmist
|
||||
@ -1112,14 +1112,14 @@
|
||||
.4byte \param0
|
||||
.endm
|
||||
|
||||
.macro switchoutabilities bank
|
||||
.macro switchoutabilities battler
|
||||
.byte 0xe2
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro jumpifhasnohp bank, param1
|
||||
.macro jumpifhasnohp battler, param1
|
||||
.byte 0xe3
|
||||
.byte \bank
|
||||
.byte \battler
|
||||
.4byte \param1
|
||||
.endm
|
||||
|
||||
@ -1215,112 +1215,112 @@
|
||||
.endm
|
||||
|
||||
@ various command changed to more readable macros
|
||||
.macro cancelmultiturnmoves bank
|
||||
various \bank, VARIOUS_CANCEL_MULTI_TURN_MOVES
|
||||
.macro cancelmultiturnmoves battler
|
||||
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
|
||||
.endm
|
||||
|
||||
.macro setmagiccoattarget bank
|
||||
various \bank, VARIOUS_SET_MAGIC_COAT_TARGET
|
||||
.macro setmagiccoattarget battler
|
||||
various \battler, VARIOUS_SET_MAGIC_COAT_TARGET
|
||||
.endm
|
||||
|
||||
.macro getifcantrunfrombattle bank
|
||||
various \bank, VARIOUS_IS_RUNNING_IMPOSSIBLE
|
||||
.macro getifcantrunfrombattle battler
|
||||
various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE
|
||||
.endm
|
||||
|
||||
.macro getmovetarget bank
|
||||
various \bank, VARIOUS_GET_MOVE_TARGET
|
||||
.macro getmovetarget battler
|
||||
various \battler, VARIOUS_GET_MOVE_TARGET
|
||||
.endm
|
||||
|
||||
.macro various4 bank
|
||||
various \bank, 4
|
||||
.macro various4 battler
|
||||
various \battler, 4
|
||||
.endm
|
||||
|
||||
.macro resetintrimidatetracebits bank
|
||||
various \bank, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
|
||||
.macro resetintrimidatetracebits battler
|
||||
various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
|
||||
.endm
|
||||
|
||||
.macro updatechoicemoveonlvlup bank
|
||||
various \bank, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
|
||||
.macro updatechoicemoveonlvlup battler
|
||||
various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
|
||||
.endm
|
||||
|
||||
.macro various7 bank
|
||||
various \bank, 7
|
||||
.macro various7 battler
|
||||
various \battler, 7
|
||||
.endm
|
||||
|
||||
.macro various8 bank
|
||||
various \bank, 8
|
||||
.macro various8 battler
|
||||
various \battler, 8
|
||||
.endm
|
||||
|
||||
.macro various9 bank
|
||||
various \bank, 9
|
||||
.macro various9 battler
|
||||
various \battler, 9
|
||||
.endm
|
||||
|
||||
.macro various10 bank
|
||||
various \bank, 10
|
||||
.macro various10 battler
|
||||
various \battler, 10
|
||||
.endm
|
||||
|
||||
.macro various11 bank
|
||||
various \bank, 11
|
||||
.macro various11 battler
|
||||
various \battler, 11
|
||||
.endm
|
||||
|
||||
.macro various12 bank
|
||||
various \bank, 12
|
||||
.macro various12 battler
|
||||
various \battler, 12
|
||||
.endm
|
||||
|
||||
.macro forfeityesnobox bank
|
||||
various \bank, VARIOUS_EMIT_YESNOBOX
|
||||
.macro forfeityesnobox battler
|
||||
various \battler, VARIOUS_EMIT_YESNOBOX
|
||||
.endm
|
||||
|
||||
.macro various14 bank
|
||||
various \bank, 14
|
||||
.macro various14 battler
|
||||
various \battler, 14
|
||||
.endm
|
||||
|
||||
.macro various15 bank
|
||||
various \bank, 15
|
||||
.macro various15 battler
|
||||
various \battler, 15
|
||||
.endm
|
||||
|
||||
.macro various16 bank
|
||||
various \bank, 16
|
||||
.macro various16 battler
|
||||
various \battler, 16
|
||||
.endm
|
||||
|
||||
.macro various17 bank
|
||||
various \bank, 17
|
||||
.macro various17 battler
|
||||
various \battler, 17
|
||||
.endm
|
||||
|
||||
.macro waitcry bank
|
||||
various \bank, VARIOUS_WAIT_CRY
|
||||
.macro waitcry battler
|
||||
various \battler, VARIOUS_WAIT_CRY
|
||||
.endm
|
||||
|
||||
.macro returnopponentmon1toball bank
|
||||
various \bank, VARIOUS_RETURN_OPPONENT_MON1
|
||||
.macro returnopponentmon1toball battler
|
||||
various \battler, VARIOUS_RETURN_OPPONENT_MON1
|
||||
.endm
|
||||
|
||||
.macro returnopponentmon2toball bank
|
||||
various \bank, VARIOUS_RETURN_OPPONENT_MON2
|
||||
.macro returnopponentmon2toball battler
|
||||
various \battler, VARIOUS_RETURN_OPPONENT_MON2
|
||||
.endm
|
||||
|
||||
.macro various21 bank
|
||||
various \bank, 21
|
||||
.macro volumedown
|
||||
various BS_ATTACKER, VARIOUS_VOLUME_DOWN
|
||||
.endm
|
||||
|
||||
.macro various22 bank
|
||||
various \bank, 22
|
||||
.macro volumeup
|
||||
various BS_ATTACKER, VARIOUS_VOLUME_UP
|
||||
.endm
|
||||
|
||||
.macro various23 bank
|
||||
various \bank, 23
|
||||
.macro various23 battler
|
||||
various \battler, 23
|
||||
.endm
|
||||
|
||||
.macro various24 bank
|
||||
various \bank, 24
|
||||
.macro various24 battler
|
||||
various \battler, 24
|
||||
.endm
|
||||
|
||||
.macro setoutcomeonteleport bank
|
||||
various \bank, VARIOUS_SET_TELEPORT_OUTCOME
|
||||
.macro setoutcomeonteleport battler
|
||||
various \battler, VARIOUS_SET_TELEPORT_OUTCOME
|
||||
.endm
|
||||
|
||||
.macro playtrainerdefeatbgm bank
|
||||
various \bank, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
|
||||
.macro playtrainerdefeatbgm battler
|
||||
various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
|
||||
.endm
|
||||
|
||||
@ helpful macros
|
||||
@ -1332,12 +1332,12 @@
|
||||
setbyte cEFFECT_CHOOSER \effect
|
||||
.endm
|
||||
|
||||
.macro chosenstatus1animation bank, status
|
||||
chosenstatusanimation \bank 0x0 \status
|
||||
.macro chosenstatus1animation battler, status
|
||||
chosenstatusanimation \battler 0x0 \status
|
||||
.endm
|
||||
|
||||
.macro chosenstatus2animation bank, status
|
||||
chosenstatusanimation \bank 0x1 \status
|
||||
.macro chosenstatus2animation battler, status
|
||||
chosenstatusanimation \battler 0x1 \status
|
||||
.endm
|
||||
|
||||
.macro sethword dst, value
|
||||
@ -1380,12 +1380,12 @@
|
||||
jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr
|
||||
.endm
|
||||
|
||||
.macro jumpifstatus3 bank, status, jumpptr
|
||||
jumpifstatus3condition \bank, \status, 0x0, \jumpptr
|
||||
.macro jumpifstatus3 battler, status, jumpptr
|
||||
jumpifstatus3condition \battler, \status, 0x0, \jumpptr
|
||||
.endm
|
||||
|
||||
.macro jumpifnostatus3 bank, status, jumpptr
|
||||
jumpifstatus3condition \bank, \status, 0x1, \jumpptr
|
||||
.macro jumpifnostatus3 battler, status, jumpptr
|
||||
jumpifstatus3condition \battler, \status, 0x1, \jumpptr
|
||||
.endm
|
||||
|
||||
.macro jumpifmovehadnoeffect jumpptr
|
||||
|
||||
@ -3805,7 +3805,7 @@ sub_80C9FEC: @ 80C9FEC
|
||||
movs r0, 0x3
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl copy_decompressed_tile_data_to_vram_autofree
|
||||
bl DecompressAndLoadBgGfxUsingHeap
|
||||
ldr r0, =gUnknown_08572174
|
||||
ldr r1, =0x0600f800
|
||||
bl LZ77UnCompVram
|
||||
@ -3844,7 +3844,7 @@ sub_80CA044: @ 80CA044
|
||||
movs r0, 0x1
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl copy_decompressed_tile_data_to_vram_autofree
|
||||
bl DecompressAndLoadBgGfxUsingHeap
|
||||
ldr r0, =gUnknown_085722A0
|
||||
ldr r5, =gUnknown_02039D08
|
||||
ldr r1, [r5]
|
||||
|
||||
@ -20169,7 +20169,7 @@ sub_81D1148: @ 81D1148
|
||||
add r2, sp, 0x8
|
||||
mov r0, sp
|
||||
bl sub_81D0760
|
||||
bl dp13_810BB8C
|
||||
bl ResetAllPicSprites
|
||||
movs r0, 0x28
|
||||
movs r1, 0x68
|
||||
bl sub_81D1184
|
||||
@ -20187,7 +20187,7 @@ sub_81D1148: @ 81D1148
|
||||
sub_81D1178: @ 81D1178
|
||||
push {lr}
|
||||
ldrh r0, [r0, 0x10]
|
||||
bl sub_818D820
|
||||
bl FreeAndDestroyMonPicSprite
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81D1178
|
||||
@ -20213,7 +20213,7 @@ sub_81D1184: @ 81D1184
|
||||
ldr r3, =0x0000ffff
|
||||
str r3, [sp, 0xC]
|
||||
movs r3, 0x1
|
||||
bl sub_818D7D8
|
||||
bl CreateMonPicSprite_HandleDeoxys
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
ldr r1, =gSprites
|
||||
@ -20256,7 +20256,7 @@ sub_81D11FC: @ 81D11FC
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
ldrh r0, [r4, 0x10]
|
||||
bl sub_818D820
|
||||
bl FreeAndDestroyMonPicSprite
|
||||
movs r5, 0x20
|
||||
negs r5, r5
|
||||
adds r0, r5, 0
|
||||
|
||||
@ -7909,7 +7909,7 @@ bgid_upload_textbox_1: @ 8019938
|
||||
lsls r2, 1
|
||||
movs r3, 0
|
||||
str r3, [sp]
|
||||
bl copy_decompressed_tile_data_to_vram_autofree
|
||||
bl DecompressAndLoadBgGfxUsingHeap
|
||||
add sp, 0x4
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -9386,7 +9386,7 @@ sub_801A43C: @ 801A43C
|
||||
movs r0, 0x1
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl copy_decompressed_tile_data_to_vram_autofree
|
||||
bl DecompressAndLoadBgGfxUsingHeap
|
||||
ldr r1, =gWirelessInfoScreenTilemap
|
||||
movs r0, 0x1
|
||||
movs r2, 0
|
||||
|
||||
@ -7609,7 +7609,7 @@ sub_807B170: @ 807B170
|
||||
mov r1, r10
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl copy_decompressed_tile_data_to_vram_autofree
|
||||
bl DecompressAndLoadBgGfxUsingHeap
|
||||
ldr r0, =gBattleTextboxTilemap
|
||||
mov r8, r0
|
||||
ldr r4, =gDecompressionBuffer
|
||||
@ -7633,7 +7633,7 @@ sub_807B170: @ 807B170
|
||||
mov r1, r10
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl copy_decompressed_tile_data_to_vram_autofree
|
||||
bl DecompressAndLoadBgGfxUsingHeap
|
||||
mov r0, r8
|
||||
adds r1, r4, 0
|
||||
bl LZDecompressWram
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -4481,18 +4481,18 @@ BattleScript_82DB89D::
|
||||
setbyte gBattleCommunication + 1, 0x0
|
||||
end2
|
||||
|
||||
BattleScript_82DB8BE::
|
||||
BattleScript_ArenaTurnBeginning::
|
||||
waitcry BS_ATTACKER
|
||||
various21 BS_ATTACKER
|
||||
playse 0x109
|
||||
volumedown
|
||||
playse SE_HANTEI1
|
||||
pause 0x8
|
||||
playse 0x109
|
||||
playse SE_HANTEI1
|
||||
various14 BS_ATTACKER
|
||||
various16 8
|
||||
various17 8
|
||||
pause 0x40
|
||||
various15 BS_ATTACKER
|
||||
various22 BS_ATTACKER
|
||||
volumeup
|
||||
end2
|
||||
|
||||
BattleScript_82DB8E0::
|
||||
@ -4509,7 +4509,7 @@ BattleScript_82DB8F3::
|
||||
waitstate
|
||||
makevisible BS_OPPONENT1
|
||||
waitstate
|
||||
various21 BS_ATTACKER
|
||||
volumedown
|
||||
playse 0x109
|
||||
pause 0x8
|
||||
playse 0x109
|
||||
|
||||
@ -133,7 +133,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255DF4:: @ 8255DF4
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 3
|
||||
setvar VAR_0x40CE, 0
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 0
|
||||
special SavePlayerParty
|
||||
msgbox BattleFrontier_BattleArenaLobby_Text_256166, 4
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ BattleFrontier_BattleDomeBattleRoom_MapScripts:: @ 824BC9C
|
||||
|
||||
BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1: @ 824BCB1
|
||||
setvar VAR_0x8004, 10
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 1
|
||||
setvar VAR_0x8005, 2
|
||||
special sub_81A1780
|
||||
@ -72,7 +72,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD61:: @ 824BD61
|
||||
|
||||
BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82
|
||||
setvar VAR_0x8004, 4
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C990, 4
|
||||
closemessage
|
||||
applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77B
|
||||
@ -84,7 +84,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82
|
||||
msgbox 0x2021fc4, 4
|
||||
closemessage
|
||||
setvar VAR_0x8004, 5
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C440
|
||||
setvar VAR_TEMP_2, 0
|
||||
switch VAR_RESULT
|
||||
@ -109,7 +109,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7:: @ 824BDF7
|
||||
compare VAR_TEMP_2, 2
|
||||
goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F
|
||||
setvar VAR_0x8004, 19
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
switch VAR_RESULT
|
||||
case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0
|
||||
|
||||
@ -117,7 +117,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F:: @ 824BE4F
|
||||
applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4
|
||||
waitmovement 0
|
||||
setvar VAR_0x8004, 4
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
compare VAR_TEMP_2, 0
|
||||
call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1
|
||||
compare VAR_TEMP_2, 1
|
||||
@ -131,7 +131,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F:: @ 824BE4F
|
||||
BattleFrontier_BattleDomeBattleRoom_EventScript_24BE8D:: @ 824BE8D
|
||||
setvar VAR_0x8004, 12
|
||||
setvar VAR_0x8005, 2
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
|
||||
BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A:: @ 824BE9A
|
||||
setvar VAR_0x8004, 2
|
||||
@ -173,10 +173,10 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0
|
||||
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
|
||||
delay 60
|
||||
setvar VAR_0x8004, 3
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 12
|
||||
setvar VAR_0x8005, 1
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 1
|
||||
setvar VAR_0x8005, 2
|
||||
special sub_81A1780
|
||||
@ -227,17 +227,17 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC:: @ 824BFCC
|
||||
BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5:: @ 824BFD5
|
||||
setvar VAR_0x8004, 1
|
||||
setvar VAR_0x8005, 6
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
compare VAR_RESULT, 0
|
||||
goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C023
|
||||
setvar VAR_0x8004, 1
|
||||
setvar VAR_0x8005, 7
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
compare VAR_RESULT, 0
|
||||
goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C076
|
||||
setvar VAR_0x8004, 1
|
||||
setvar VAR_0x8005, 1
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
compare VAR_RESULT, 0
|
||||
goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A
|
||||
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9
|
||||
@ -446,7 +446,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9:: @ 824C2B9
|
||||
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, 4
|
||||
setvar VAR_0x8004, 12
|
||||
setvar VAR_0x8005, 1
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 12
|
||||
special sub_81A1780
|
||||
compare VAR_RESULT, 0
|
||||
@ -485,7 +485,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C373:: @ 824C373
|
||||
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, 4
|
||||
setvar VAR_0x8004, 12
|
||||
setvar VAR_0x8005, 1
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 12
|
||||
special sub_81A1780
|
||||
compare VAR_RESULT, 2
|
||||
@ -536,10 +536,10 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440
|
||||
waitstate
|
||||
setvar VAR_TEMP_9, 0
|
||||
setvar VAR_0x8004, 17
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
special HealPlayerParty
|
||||
setvar VAR_0x8004, 16
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
return
|
||||
|
||||
BattleFrontier_BattleDomeBattleRoom_MapScript2_24C481: @ 824C481
|
||||
@ -950,7 +950,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E:: @ 824C82E
|
||||
|
||||
BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5:: @ 824C8F5
|
||||
BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5:: @ 824C8F5
|
||||
copyvar VAR_RESULT, VAR_0x40CE
|
||||
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
|
||||
compare VAR_RESULT, 1
|
||||
goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F
|
||||
warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 5, 11
|
||||
|
||||
@ -6,7 +6,7 @@ BattleFrontier_BattleDomeLobby_MapScripts:: @ 82497E2
|
||||
|
||||
BattleFrontier_BattleDomeLobby_MapScript1_2497F2: @ 82497F2
|
||||
setvar VAR_0x8004, 21
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
end
|
||||
|
||||
BattleFrontier_BattleDomeLobby_MapScript2_2497FB: @ 82497FB
|
||||
@ -39,15 +39,15 @@ BattleFrontier_BattleDomeLobby_EventScript_249842:: @ 8249842
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 0
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 1
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 6
|
||||
setvar VAR_0x8006, 1
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 0
|
||||
setvar VAR_0x8006, 0
|
||||
@ -85,15 +85,15 @@ BattleFrontier_BattleDomeLobby_EventScript_2498C9:: @ 82498C9
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 6
|
||||
setvar VAR_0x8006, 1
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 7
|
||||
setvar VAR_0x8006, 1
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 1
|
||||
setvar VAR_0x8006, 1
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
special LoadPlayerParty
|
||||
special HealPlayerParty
|
||||
goto BattleFrontier_BattleDomeLobby_EventScript_249991
|
||||
@ -112,18 +112,18 @@ BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 1
|
||||
setvar VAR_0x8006, 0
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 6
|
||||
setvar VAR_0x8006, 1
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
special LoadPlayerParty
|
||||
special HealPlayerParty
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249991:: @ 8249991
|
||||
setvar VAR_0x8004, 13
|
||||
setvar VAR_0x8005, 0
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
call BattleFrontier_BattleDomeLobby_EventScript_23E8E0
|
||||
@ -154,7 +154,7 @@ BattleFrontier_BattleDomeLobby_EventScript_2499F9:: @ 82499F9
|
||||
waitmessage
|
||||
setvar VAR_0x8004, 13
|
||||
setvar VAR_0x8005, 1
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
setvar VAR_0x8004, 2
|
||||
@ -168,7 +168,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249A35:: @ 8249A35
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 1
|
||||
setvar VAR_0x40CE, 0
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 0
|
||||
goto BattleFrontier_BattleDomeLobby_EventScript_249A59
|
||||
end
|
||||
|
||||
@ -176,21 +176,21 @@ BattleFrontier_BattleDomeLobby_EventScript_249A47:: @ 8249A47
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 1
|
||||
setvar VAR_0x40CE, 1
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 1
|
||||
goto BattleFrontier_BattleDomeLobby_EventScript_249A59
|
||||
end
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249A59:: @ 8249A59
|
||||
special SavePlayerParty
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CFD
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D06
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249A72:: @ 8249A72
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D0F
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D15
|
||||
waitmessage
|
||||
multichoice 17, 6, 23, 0
|
||||
@ -236,7 +236,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60
|
||||
setvar VAR_0x8005, 4
|
||||
special sub_81A1780
|
||||
setvar VAR_0x8004, 0
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 0
|
||||
setvar VAR_0x8006, 1
|
||||
@ -253,7 +253,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60
|
||||
compare VAR_RESULT, 0
|
||||
goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C4A
|
||||
setvar VAR_0x8004, 22
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2
|
||||
special SavePlayerParty
|
||||
@ -261,7 +261,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2
|
||||
setvar VAR_0x8005, 3
|
||||
special sub_81A1780
|
||||
setvar VAR_0x8004, 15
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
msgbox BattleFrontier_BattleDomeLobby_Text_24A437, 4
|
||||
closemessage
|
||||
call BattleFrontier_BattleDomeLobby_EventScript_249C6E
|
||||
@ -272,9 +272,9 @@ BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2
|
||||
end
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249BFA:: @ 8249BFA
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D1B
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D24
|
||||
goto BattleFrontier_BattleDomeLobby_EventScript_249A72
|
||||
|
||||
@ -309,26 +309,26 @@ BattleFrontier_BattleDomeLobby_EventScript_249C6C:: @ 8249C6C
|
||||
end
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249C6E:: @ 8249C6E
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CDD
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CE5
|
||||
applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D45
|
||||
waitmovement 0
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D2D
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D33
|
||||
waitdooranim
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CED
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CF5
|
||||
applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D4E
|
||||
waitmovement 0
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D39
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D3F
|
||||
waitdooranim
|
||||
return
|
||||
@ -433,7 +433,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249D6B:: @ 8249D6B
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249D84:: @ 8249D84
|
||||
setvar VAR_0x8004, 1
|
||||
setvar VAR_0x8005, 9
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
compare VAR_RESULT, 0
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DC9
|
||||
compare VAR_RESULT, 1
|
||||
@ -444,7 +444,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249D84:: @ 8249D84
|
||||
call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DE4
|
||||
fadescreen 1
|
||||
setvar VAR_0x8004, 8
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
waitstate
|
||||
end
|
||||
|
||||
@ -466,7 +466,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249DE4:: @ 8249DE4
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_249DED:: @ 8249DED
|
||||
setvar VAR_0x8004, 20
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
msgbox BattleFrontier_BattleDomeLobby_Text_24AA76, 2
|
||||
end
|
||||
|
||||
|
||||
@ -87,7 +87,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B377:: @ 824B377
|
||||
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3A9:: @ 824B3A9
|
||||
setvar VAR_0x8004, 12
|
||||
setvar VAR_0x8005, 9
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A
|
||||
|
||||
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB:: @ 824B3BB
|
||||
@ -95,7 +95,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB:: @ 824B3BB
|
||||
waitmessage
|
||||
setvar VAR_0x8004, 13
|
||||
setvar VAR_0x8005, 2
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
fadescreen 1
|
||||
@ -107,7 +107,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD:: @ 824B3DD
|
||||
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9B5, 4
|
||||
fadescreen 1
|
||||
setvar VAR_0x8004, 6
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
waitstate
|
||||
goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
|
||||
|
||||
@ -115,7 +115,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5:: @ 824B3F5
|
||||
call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A
|
||||
fadescreen 1
|
||||
setvar VAR_0x8004, 7
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
waitstate
|
||||
goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
|
||||
|
||||
@ -162,11 +162,11 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D
|
||||
goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 8
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 18
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
setvar VAR_0x8004, 9
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B748, 4
|
||||
closemessage
|
||||
applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F
|
||||
@ -253,7 +253,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7
|
||||
call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600
|
||||
fadescreen 1
|
||||
setvar VAR_0x8004, 11
|
||||
special sub_818E9AC
|
||||
special CallBattleDomeFunction
|
||||
waitstate
|
||||
goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
|
||||
|
||||
|
||||
@ -291,7 +291,7 @@ BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B: @ 825B18B
|
||||
|
||||
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190:: @ 825B190
|
||||
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190:: @ 825B190
|
||||
copyvar VAR_RESULT, VAR_0x40CE
|
||||
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
|
||||
compare VAR_RESULT, 1
|
||||
goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA
|
||||
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 4, 8
|
||||
|
||||
@ -143,27 +143,27 @@ BattleFrontier_BattleFactoryLobby_EventScript_2585CB:: @ 82585CB
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 4
|
||||
setvar VAR_0x40CE, 0
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 0
|
||||
goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED
|
||||
end
|
||||
|
||||
BattleFrontier_BattleFactoryLobby_EventScript_2585DD:: @ 82585DD
|
||||
setvar VAR_FRONTIER_FACILITY, 4
|
||||
setvar VAR_0x40CE, 1
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 1
|
||||
goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED
|
||||
end
|
||||
|
||||
BattleFrontier_BattleFactoryLobby_EventScript_2585ED:: @ 82585ED
|
||||
special SavePlayerParty
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587B1
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587BA
|
||||
|
||||
BattleFrontier_BattleFactoryLobby_EventScript_258606:: @ 8258606
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587C3
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587C9
|
||||
waitmessage
|
||||
multichoice 17, 6, 23, 0
|
||||
@ -218,9 +218,9 @@ BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A
|
||||
special SavePlayerParty
|
||||
msgbox BattleFrontier_BattleFactoryLobby_Text_258CB1, 4
|
||||
closemessage
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_25875C
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_258762
|
||||
applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_2587A7
|
||||
applymovement 255, BattleFrontier_BattleFactoryLobby_Movement_2587AC
|
||||
@ -239,9 +239,9 @@ BattleFrontier_BattleFactoryLobby_EventScript_258762:: @ 8258762
|
||||
return
|
||||
|
||||
BattleFrontier_BattleFactoryLobby_EventScript_258768:: @ 8258768
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587CF
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587D8
|
||||
goto BattleFrontier_BattleFactoryLobby_EventScript_258606
|
||||
|
||||
|
||||
@ -459,7 +459,7 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB6: @ 824FEB6
|
||||
step_end
|
||||
|
||||
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB:: @ 824FEBB
|
||||
copyvar VAR_RESULT, VAR_0x40CE
|
||||
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
|
||||
compare VAR_RESULT, 1
|
||||
goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5
|
||||
warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 5, 7
|
||||
|
||||
@ -134,7 +134,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D944:: @ 824D944
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 2
|
||||
setvar VAR_0x40CE, 0
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 0
|
||||
goto BattleFrontier_BattlePalaceLobby_EventScript_24D968
|
||||
end
|
||||
|
||||
@ -142,7 +142,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D956:: @ 824D956
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 2
|
||||
setvar VAR_0x40CE, 1
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 1
|
||||
goto BattleFrontier_BattlePalaceLobby_EventScript_24D968
|
||||
end
|
||||
|
||||
@ -153,15 +153,15 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968
|
||||
compare VAR_RESULT, 0
|
||||
goto_if 5, BattleFrontier_BattlePalaceLobby_EventScript_24D817
|
||||
special SavePlayerParty
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB9E
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBA7
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_24D999:: @ 824D999
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBB0
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBB6
|
||||
waitmessage
|
||||
multichoice 17, 6, 23, 0
|
||||
@ -242,7 +242,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_24DB20:: @ 824DB20
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB38
|
||||
msgbox BattleFrontier_BattlePalaceLobby_Text_24DE17, 4
|
||||
goto BattleFrontier_BattlePalaceLobby_EventScript_24D999
|
||||
@ -298,24 +298,24 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DBB6:: @ 824DBB6
|
||||
return
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_24DBBC:: @ 824DBBC
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC23
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC29
|
||||
applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC47
|
||||
applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC47
|
||||
waitmovement 0
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC2F
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC35
|
||||
waitdooranim
|
||||
applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC49
|
||||
applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC4C
|
||||
waitmovement 0
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC3B
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC41
|
||||
waitdooranim
|
||||
return
|
||||
|
||||
@ -126,7 +126,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B868:: @ 825B868
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 5
|
||||
setvar VAR_0x40CE, 0
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 0
|
||||
special SavePlayerParty
|
||||
msgbox BattleFrontier_BattlePikeLobby_Text_25BB52, 4
|
||||
|
||||
|
||||
@ -130,7 +130,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2508B1:: @ 82508B1
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_FRONTIER_FACILITY, 6
|
||||
setvar VAR_0x40CE, 0
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 0
|
||||
special SavePlayerParty
|
||||
msgbox BattleFrontier_BattlePyramidLobby_Text_250F31, 4
|
||||
|
||||
|
||||
@ -366,7 +366,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E
|
||||
setvar VAR_0x8005, 0
|
||||
special sub_8163AC4
|
||||
waitstate
|
||||
copyvar VAR_0x8004, VAR_0x40CE
|
||||
copyvar VAR_0x8004, VAR_FRONTIER_BATTLE_MODE
|
||||
compare VAR_0x8004, 3
|
||||
goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A
|
||||
setvar VAR_0x8004, 18
|
||||
@ -484,7 +484,7 @@ BattleFrontier_BattleTowerBattleRoom_Movement_2421B2: @ 82421B2
|
||||
|
||||
BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8:: @ 82421B8
|
||||
BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8:: @ 82421B8
|
||||
copyvar VAR_RESULT, VAR_0x40CE
|
||||
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
|
||||
compare VAR_RESULT, 1
|
||||
goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8
|
||||
compare VAR_RESULT, 2
|
||||
|
||||
@ -5,9 +5,9 @@ BattleFrontier_BattleTowerBattleRoom2_MapScripts:: @ 8248EE8
|
||||
.byte 0
|
||||
|
||||
BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8: @ 8248EF8
|
||||
compare VAR_0x40CE, 2
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 2
|
||||
call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F
|
||||
end
|
||||
|
||||
@ -70,7 +70,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4:: @ 8248FB4
|
||||
applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249528
|
||||
applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_24952E
|
||||
waitmovement 0
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249026
|
||||
setvar VAR_0x8004, 7
|
||||
setvar VAR_0x8005, 0
|
||||
@ -142,7 +142,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA
|
||||
applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249524
|
||||
applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524
|
||||
waitmovement 0
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118
|
||||
msgbox BattleFrontier_BattleTowerBattleRoom2_Text_242217, 4
|
||||
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249121
|
||||
@ -157,7 +157,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121
|
||||
setvar VAR_0x8004, 3
|
||||
setvar VAR_0x8005, 2
|
||||
special sub_81A1780
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249514
|
||||
playfanfare MUS_ME_ASA
|
||||
waitfanfare
|
||||
@ -168,7 +168,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143
|
||||
setvar VAR_0x8005, 2
|
||||
special sub_81A1780
|
||||
call BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283
|
||||
call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0
|
||||
compare VAR_RESULT, 1
|
||||
@ -256,7 +256,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB
|
||||
end
|
||||
|
||||
BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD:: @ 82492FD
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E
|
||||
copyvar VAR_TEMP_F, VAR_RESULT
|
||||
switch VAR_TEMP_F
|
||||
|
||||
@ -5,9 +5,9 @@ BattleFrontier_BattleTowerCorridor2_MapScripts:: @ 8248D4A
|
||||
.byte 0
|
||||
|
||||
BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A: @ 8248D5A
|
||||
compare VAR_0x40CE, 2
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 2
|
||||
call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248D71
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248D91
|
||||
end
|
||||
|
||||
@ -87,13 +87,13 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248DBC:: @ 8248DBC
|
||||
end
|
||||
|
||||
BattleFrontier_BattleTowerCorridor2_EventScript_248E71:: @ 8248E71
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248E9E
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248E9E
|
||||
compare VAR_0x40CE, 2
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 2
|
||||
call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248EA8
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248EB2
|
||||
return
|
||||
|
||||
|
||||
@ -24,13 +24,13 @@ BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0
|
||||
end
|
||||
|
||||
BattleFrontier_BattleTowerElevator_EventScript_241A28:: @ 8241A28
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A55
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A55
|
||||
compare VAR_0x40CE, 2
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 2
|
||||
call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A5F
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A72
|
||||
return
|
||||
|
||||
|
||||
@ -119,7 +119,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2
|
||||
end
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23E7F2:: @ 823E7F2
|
||||
compare VAR_0x40CE, 2
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 2
|
||||
goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E81E
|
||||
checkflag FLAG_0x152
|
||||
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E81E
|
||||
@ -214,7 +214,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E8E0:: @ 823E8E0
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23E8EE:: @ 823E8EE
|
||||
lock
|
||||
faceplayer
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23E930
|
||||
message BattleFrontier_BattleTowerLobby_Text_23F737
|
||||
waitmessage
|
||||
@ -254,7 +254,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E948:: @ 823E948
|
||||
case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984
|
||||
setvar VAR_0x40CE, 0
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 0
|
||||
message BattleFrontier_BattleTowerLobby_Text_23FD3B
|
||||
waitmessage
|
||||
multichoice 17, 6, 24, 0
|
||||
@ -334,7 +334,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EAB1:: @ 823EAB1
|
||||
case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED
|
||||
setvar VAR_0x40CE, 1
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 1
|
||||
message BattleFrontier_BattleTowerLobby_Text_23FD3B
|
||||
waitmessage
|
||||
multichoice 17, 6, 24, 0
|
||||
@ -415,7 +415,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC1D:: @ 823EC1D
|
||||
case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59
|
||||
setvar VAR_0x40CE, 2
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 2
|
||||
message BattleFrontier_BattleTowerLobby_Text_23FD3B
|
||||
waitmessage
|
||||
multichoice 17, 6, 24, 0
|
||||
@ -495,7 +495,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ED86:: @ 823ED86
|
||||
case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2
|
||||
setvar VAR_0x40CE, 3
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 3
|
||||
message BattleFrontier_BattleTowerLobby_Text_23FD3B
|
||||
waitmessage
|
||||
multichoice 17, 6, 24, 0
|
||||
@ -679,7 +679,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F02B:: @ 823F02B
|
||||
case 1, BattleFrontier_BattleTowerLobby_EventScript_23F08B
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23F046:: @ 823F046
|
||||
switch VAR_0x40CE
|
||||
switch VAR_FRONTIER_BATTLE_MODE
|
||||
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F06F
|
||||
case 1, BattleFrontier_BattleTowerLobby_EventScript_23F07D
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_24038B, 4
|
||||
@ -697,7 +697,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F07D:: @ 823F07D
|
||||
end
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23F08B:: @ 823F08B
|
||||
switch VAR_0x40CE
|
||||
switch VAR_FRONTIER_BATTLE_MODE
|
||||
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0B4
|
||||
case 1, BattleFrontier_BattleTowerLobby_EventScript_23F0C2
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_24046B, 4
|
||||
@ -754,7 +754,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23F135:: @ 823F135
|
||||
call BattleFrontier_BattleTowerLobby_EventScript_23F1A7
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F152
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_23FE11, 4
|
||||
goto BattleFrontier_BattleTowerLobby_EventScript_23F15B
|
||||
@ -807,13 +807,13 @@ BattleFrontier_BattleTowerLobby_Movement_23F1A0: @ 823F1A0
|
||||
step_end
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23F1A7:: @ 823F1A7
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1D4
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1D9
|
||||
compare VAR_0x40CE, 2
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 2
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1DE
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1E3
|
||||
return
|
||||
|
||||
@ -834,13 +834,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F1E3:: @ 823F1E3
|
||||
return
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23F1E8:: @ 823F1E8
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F215
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F21B
|
||||
compare VAR_0x40CE, 2
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 2
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F221
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F227
|
||||
return
|
||||
|
||||
@ -861,13 +861,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F227:: @ 823F227
|
||||
return
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23F22D:: @ 823F22D
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F25A
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F260
|
||||
compare VAR_0x40CE, 2
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 2
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F266
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F26C
|
||||
return
|
||||
|
||||
@ -888,13 +888,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F26C:: @ 823F26C
|
||||
return
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_23F272:: @ 823F272
|
||||
compare VAR_0x40CE, 0
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 0
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F29F
|
||||
compare VAR_0x40CE, 1
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 1
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2A5
|
||||
compare VAR_0x40CE, 2
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 2
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2AB
|
||||
compare VAR_0x40CE, 3
|
||||
compare VAR_FRONTIER_BATTLE_MODE, 3
|
||||
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2B1
|
||||
return
|
||||
|
||||
|
||||
@ -110,7 +110,7 @@ BattleFrontier_ScottsHouse_EventScript_263811:: @ 8263811
|
||||
end
|
||||
|
||||
BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B
|
||||
setvar VAR_0x40CE, 0
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 0
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 1
|
||||
setvar VAR_0x8006, 0
|
||||
@ -153,7 +153,7 @@ BattleFrontier_ScottsHouse_EventScript_2638AA:: @ 82638AA
|
||||
end
|
||||
|
||||
BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4
|
||||
setvar VAR_0x40CE, 0
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 0
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 1
|
||||
setvar VAR_0x8006, 0
|
||||
|
||||
@ -149,7 +149,7 @@ FallarborTown_BattleTentLobby_EventScript_200021:: @ 8200021
|
||||
|
||||
FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D
|
||||
setvar VAR_FRONTIER_FACILITY, 3
|
||||
setvar VAR_0x40CE, 0
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 0
|
||||
setvar VAR_RESULT, 2
|
||||
setvar VAR_0x8004, 15
|
||||
special sub_81A1780
|
||||
|
||||
@ -137,7 +137,7 @@ SlateportCity_BattleTentLobby_EventScript_2088CA:: @ 82088CA
|
||||
|
||||
SlateportCity_BattleTentLobby_EventScript_208906:: @ 8208906
|
||||
setvar VAR_FRONTIER_FACILITY, 4
|
||||
setvar VAR_0x40CE, 0
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 0
|
||||
setvar VAR_0x8004, 2
|
||||
setvar VAR_0x8005, 1
|
||||
setvar VAR_0x8006, 2
|
||||
|
||||
@ -150,7 +150,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201893:: @ 8201893
|
||||
|
||||
VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF
|
||||
setvar VAR_FRONTIER_FACILITY, 2
|
||||
setvar VAR_0x40CE, 0
|
||||
setvar VAR_FRONTIER_BATTLE_MODE, 0
|
||||
setvar VAR_RESULT, 2
|
||||
setvar VAR_0x8004, 15
|
||||
special sub_81A1780
|
||||
|
||||
@ -244,7 +244,7 @@ gSpecials:: @ 81DBA64
|
||||
def_special GetLeadMonFriendshipScore
|
||||
def_special sub_81A1780
|
||||
def_special sub_8161F74
|
||||
def_special sub_818E9AC
|
||||
def_special CallBattleDomeFunction
|
||||
def_special sub_8195960
|
||||
def_special sub_8165360
|
||||
def_special sub_8163AC4
|
||||
|
||||
9
include/battle_dome.h
Normal file
9
include/battle_dome.h
Normal file
@ -0,0 +1,9 @@
|
||||
#ifndef GUARD_BATTLE_DOME_H
|
||||
#define GUARD_BATTLE_DOME_H
|
||||
|
||||
extern u32 gUnknown_0203CD70;
|
||||
|
||||
s32 GetTrainerMonCountInBits(u16 tournamentTrainerId);
|
||||
s32 TrainerIdToDomeTournamentId(u16 trainerId);
|
||||
|
||||
#endif // GUARD_BATTLE_DOME_H
|
||||
@ -1,13 +0,0 @@
|
||||
#ifndef GUARD_BATTLE_DOME_CARDS_H
|
||||
#define GUARD_BATTLE_DOME_CARDS_H
|
||||
|
||||
bool16 dp13_810BB8C(void);
|
||||
u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 sub_818D820(u16 spriteId);
|
||||
u16 sub_818D8AC(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 sub_818D8F0(u16 spriteId);
|
||||
u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId);
|
||||
u8 sub_818D97C(u8 a0, u8 a1);
|
||||
|
||||
#endif //GUARD_BATTLE_DOME_CARDS_H
|
||||
@ -1,8 +0,0 @@
|
||||
#ifndef GUARD_BATTLE_FRONTIER_1_H
|
||||
#define GUARD_BATTLE_FRONTIER_1_H
|
||||
|
||||
bool32 sub_8196094(void);
|
||||
void sub_8197080(u8 *);
|
||||
void sub_8196080(const u8 *str);
|
||||
|
||||
#endif // GUARD_BATTLE_FRONTIER_1_H
|
||||
@ -224,6 +224,7 @@ extern const u8* const gStatNamesTable[];
|
||||
extern const u8* const gPokeblockWasTooXStringTable[];
|
||||
extern const u8* const gRefereeStringsTable[];
|
||||
extern const u8* const gStatNamesTable2[];
|
||||
extern const u8 *const gRoundsStringTable[];
|
||||
|
||||
extern const u8 gText_PkmnIsEvolving[];
|
||||
extern const u8 gText_CongratsPkmnEvolved[];
|
||||
|
||||
@ -256,7 +256,7 @@ extern const u8 BattleScript_82DB87D[];
|
||||
extern const u8 BattleScript_82DB881[];
|
||||
extern const u8 BattleScript_82DB887[];
|
||||
extern const u8 BattleScript_82DB89D[];
|
||||
extern const u8 BattleScript_82DB8BE[];
|
||||
extern const u8 BattleScript_ArenaTurnBeginning[];
|
||||
extern const u8 BattleScript_82DB8E0[];
|
||||
extern const u8 BattleScript_82DB8F3[];
|
||||
extern const u8 BattleScript_82DB973[];
|
||||
|
||||
@ -24,7 +24,7 @@ union BattleTowerRecord
|
||||
|
||||
struct BattleFrontierTrainer
|
||||
{
|
||||
u32 trainerClass;
|
||||
u32 facilityClass;
|
||||
u8 trainerName[8];
|
||||
u16 speechBefore[6];
|
||||
u16 speechWin[6];
|
||||
@ -32,7 +32,17 @@ struct BattleFrontierTrainer
|
||||
u16 *btMonPool;
|
||||
};
|
||||
|
||||
extern struct BattleFrontierTrainer *gUnknown_0203BC88;
|
||||
struct FacilityMon
|
||||
{
|
||||
u16 species;
|
||||
u16 moves[4];
|
||||
u8 itemTableId;
|
||||
u8 evSpread;
|
||||
u8 nature;
|
||||
};
|
||||
|
||||
extern const struct BattleFrontierTrainer *gFacilityTrainers;
|
||||
extern const struct FacilityMon *gFacilityTrainerMons;
|
||||
|
||||
u16 sub_8164FCC(u8, u8);
|
||||
void sub_81659DC(struct RSBattleTowerRecord *a0, struct RSBattleTowerRecord *a1);
|
||||
@ -40,7 +50,7 @@ bool32 sub_816587C(union BattleTowerRecord *, union BattleTowerRecord *);
|
||||
void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *);
|
||||
void sub_81628A0(union BattleTowerRecord *);
|
||||
void sub_8162614(u16 trainerId, u8);
|
||||
void ConvertBattleFrontierTrainerSpeechToString(u16 *words);
|
||||
void ConvertBattleFrontierTrainerSpeechToString(const u16 *words);
|
||||
void GetFrontierTrainerName(u8 *dest, u16 trainerIdx);
|
||||
void GetEreaderTrainerName(u8 *dest);
|
||||
|
||||
|
||||
@ -69,7 +69,7 @@ void* GetBgTilemapBuffer(u8 bg);
|
||||
void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset);
|
||||
void CopyBgTilemapBufferToVram(u8 bg);
|
||||
void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height);
|
||||
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
|
||||
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
|
||||
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2);
|
||||
void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height);
|
||||
void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette);
|
||||
|
||||
@ -10,4 +10,14 @@
|
||||
#define FRONTIER_FACILITY_PIKE 5
|
||||
#define FRONTIER_FACILITY_PYRAMID 6
|
||||
|
||||
// Battle Frontier lvl modes.
|
||||
#define FRONTIER_LVL_50 0
|
||||
#define FRONTIER_LVL_OPEN 1
|
||||
|
||||
// Battle Frontier battle modes.
|
||||
#define FRONTIER_MODE_SINGLES 0
|
||||
#define FRONTIER_MODE_DOUBLES 1
|
||||
#define FRONTIER_MODE_MULTIS 2
|
||||
#define FRONTIER_MODE_LINK_MULTIS 3
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_FRONTIER_H
|
||||
|
||||
@ -71,6 +71,8 @@
|
||||
#define VARIOUS_WAIT_CRY 18
|
||||
#define VARIOUS_RETURN_OPPONENT_MON1 19
|
||||
#define VARIOUS_RETURN_OPPONENT_MON2 20
|
||||
#define VARIOUS_VOLUME_DOWN 21
|
||||
#define VARIOUS_VOLUME_UP 22
|
||||
#define VARIOUS_SET_TELEPORT_OUTCOME 25
|
||||
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
|
||||
// Special Trainer Ids.
|
||||
#define TRAINER_FRONTIER_BRAIN 1022
|
||||
#define TRAINER_PLAYER 1023
|
||||
#define TRAINER_SECRET_BASE 1024
|
||||
#define TRAINER_LINK_OPPONENT 2048
|
||||
#define TRAINER_OPPONENT_C00 3072
|
||||
@ -173,10 +174,10 @@
|
||||
#define FACILITY_CLASS_TWINS 0x39
|
||||
#define FACILITY_CLASS_SAILOR 0x3a
|
||||
#define FACILITY_CLASS_PKMN_TRAINER_1 0x3b
|
||||
#define FACILITY_CLASS_PKMN_TRAINER_MAY 0x3c
|
||||
#define FACILITY_CLASS_PKMN_TRAINER_BRENDAN 0x3c
|
||||
#define FACILITY_CLASS_PKMN_TRAINER_3 0x3d
|
||||
#define FACILITY_CLASS_PKMN_TRAINER_4 0x3e
|
||||
#define FACILITY_CLASS_PKMN_TRAINER_BRENDAN 0x3f
|
||||
#define FACILITY_CLASS_PKMN_TRAINER_MAY 0x3f
|
||||
#define FACILITY_CLASS_PKMN_TRAINER_6 0x40
|
||||
#define FACILITY_CLASS_PKMN_TRAINER_7 0x41
|
||||
#define FACILITY_CLASS_PKMN_BREEDER_2 0x42
|
||||
|
||||
@ -222,7 +222,7 @@
|
||||
#define VAR_0x40CB 0x40CB
|
||||
#define VAR_0x40CC 0x40CC
|
||||
#define VAR_0x40CD 0x40CD
|
||||
#define VAR_0x40CE 0x40CE
|
||||
#define VAR_FRONTIER_BATTLE_MODE 0x40CE
|
||||
#define VAR_FRONTIER_FACILITY 0x40CF
|
||||
#define VAR_0x40D0 0x40D0
|
||||
#define VAR_0x40D1 0x40D1
|
||||
|
||||
@ -550,12 +550,14 @@
|
||||
#define WININ_WIN0_BG1 (1 << 1)
|
||||
#define WININ_WIN0_BG2 (1 << 2)
|
||||
#define WININ_WIN0_BG3 (1 << 3)
|
||||
#define WININ_WIN0_BG_ALL (WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3)
|
||||
#define WININ_WIN0_OBJ (1 << 4)
|
||||
#define WININ_WIN0_CLR (1 << 5)
|
||||
#define WININ_WIN1_BG0 (1 << 8)
|
||||
#define WININ_WIN1_BG1 (1 << 9)
|
||||
#define WININ_WIN1_BG2 (1 << 10)
|
||||
#define WININ_WIN1_BG3 (1 << 11)
|
||||
#define WININ_WIN1_BG_ALL (WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_BG3)
|
||||
#define WININ_WIN1_OBJ (1 << 12)
|
||||
#define WININ_WIN1_CLR (1 << 13)
|
||||
|
||||
|
||||
@ -330,6 +330,29 @@ struct EmeraldBattleTowerRecord
|
||||
/*0xE8*/ u32 checksum;
|
||||
};
|
||||
|
||||
struct FrontierMonData
|
||||
{
|
||||
u16 moves[4];
|
||||
u8 evs[6];
|
||||
u8 nature;
|
||||
};
|
||||
|
||||
struct Struct_field_E70
|
||||
{
|
||||
u16 monId;
|
||||
u8 unk2[9];
|
||||
};
|
||||
|
||||
struct BattleDomeTrainer
|
||||
{
|
||||
u16 trainerId:10;
|
||||
u16 isEliminated:1;
|
||||
u16 eliminatedAt:2;
|
||||
u16 unk3:3;
|
||||
};
|
||||
|
||||
#define DOME_TOURNAMENT_TRAINERS_COUNT 16
|
||||
|
||||
struct BattleFrontier
|
||||
{
|
||||
/*0x64C*/ struct EmeraldBattleTowerRecord battleTower;
|
||||
@ -345,16 +368,18 @@ struct BattleFrontier
|
||||
/*0xC14*/ u16 ecwords_C14[6];
|
||||
/*0xC20*/ u8 filler_C20[0x88];
|
||||
/*0xCA8*/ u8 field_CA8;
|
||||
/*0xCA9*/ u8 chosenLvl:2; // 0x1, 0x2 -> 0x3
|
||||
/*0xCA9*/ u8 lvlMode:2; // 0x1, 0x2 -> 0x3
|
||||
/*0xCA9*/ u8 field_CA9_a:1; // 0x4
|
||||
/*0xCA9*/ u8 field_CA9_b:1; // 0x8
|
||||
/*0xCA9*/ u8 field_CA9_c:1; // 0x10
|
||||
/*0xCA9*/ u8 field_CA9_d:1; // 0x20
|
||||
/*0xCA9*/ u8 field_CA9_e:1; // 0x40
|
||||
/*0xCA9*/ u8 field_CA9_f:1; // 0x80
|
||||
/*0xCAA*/ u16 field_CAA[4];
|
||||
/*0xCAA*/ u16 field_CAA[3];
|
||||
/*0xCB0*/ u16 field_CB0;
|
||||
/*0xCB2*/ u16 field_CB2;
|
||||
/*0xCB4*/ u16 field_CB4[22];
|
||||
/*0xCB4*/ u16 field_CB4[20];
|
||||
/*0xCDC*/ u32 field_CDC;
|
||||
/*0xCE0*/ u16 field_CE0[4][2];
|
||||
/*0xCF0*/ u16 field_CF0[2];
|
||||
/*0xCF4*/ u16 field_CF4[2];
|
||||
@ -362,21 +387,25 @@ struct BattleFrontier
|
||||
/*0xCFC*/ u16 field_CFC[5];
|
||||
/*0xD06*/ u8 field_D06;
|
||||
/*0xD07*/ u8 field_D07;
|
||||
/*0xD08*/ u8 filler_D08;
|
||||
/*0xD08*/ u8 field_D08_0:1;
|
||||
/*0xD08*/ u8 field_D08_1:1;
|
||||
/*0xD08*/ u8 field_D08_2:1;
|
||||
/*0xD08*/ u8 field_D08_3:1;
|
||||
/*0xD08*/ u8 field_D08_4:1;
|
||||
/*0xD08*/ u8 field_D08_5:1;
|
||||
/*0xD08*/ u8 field_D08_6:1;
|
||||
/*0xD08*/ u8 field_D08_7:1;
|
||||
/*0xD09*/ u8 filler_D09;
|
||||
/*0xD0A*/ u8 filler_D0A;
|
||||
/*0xD0B*/ u8 filler_D0B;
|
||||
/*0xD0C*/ u16 field_D0C[2];
|
||||
/*0xD10*/ u8 filler_D10;
|
||||
/*0xD11*/ u8 filler_D11;
|
||||
/*0xD12*/ u8 filler_D12;
|
||||
/*0xD13*/ u8 filler_D13;
|
||||
/*0xD14*/ u16 field_D14[2];
|
||||
/*0xD18*/ u8 field_D18[0xB0];
|
||||
/*0xDC8*/ u16 field_DC8[2];
|
||||
/*0xDCC*/ u8 filler_DCC[4];
|
||||
/*0xDD0*/ u16 field_DD0[2];
|
||||
/*0xDD4*/ u16 field_DD4[2];
|
||||
/*0xD0A*/ u8 field_D0A;
|
||||
/*0xD0B*/ u8 field_D0B;
|
||||
/*0xD0C*/ u16 field_D0C[2][2];
|
||||
/*0xD14*/ u16 field_D14[2][2];
|
||||
/*0xD1C*/ u16 field_D1C[2][2];
|
||||
/*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT];
|
||||
/*0xD64*/ u16 domeMonId[DOME_TOURNAMENT_TRAINERS_COUNT][3];
|
||||
/*0xD64*/ u16 field_DC4[2];
|
||||
/*0xDC8*/ u16 field_DC8[2][2];
|
||||
/*0xDD0*/ u16 field_DD0[2][2];
|
||||
/*0xDD8*/ u16 field_DD8;
|
||||
/*0xDDA*/ u16 field_DDA[2];
|
||||
/*0xDDE*/ u16 field_DDE[2];
|
||||
@ -404,12 +433,22 @@ struct BattleFrontier
|
||||
/*0xE6A*/ u16 field_E6A;
|
||||
/*0xE6C*/ u16 field_E6C;
|
||||
/*0xE6E*/ u16 field_E6E;
|
||||
/*0xE70*/ u8 field_E70[72];
|
||||
/*0xE70*/ struct Struct_field_E70 field_E70[6];
|
||||
/*0xEB8*/ u16 frontierBattlePoints;
|
||||
/*0xEBA*/ u8 field_EBA[39];
|
||||
/*0xEBA*/ u8 field_EBA;
|
||||
/*0xEBB*/ u8 field_EBB;
|
||||
/*0xEBC*/ u8 field_EBC;
|
||||
/*0xEBD*/ u8 field_EBD;
|
||||
/*0xEBE*/ u8 field_EBE;
|
||||
/*0xEBF*/ u8 field_EBF;
|
||||
/*0xEC0*/ u16 field_EC0[16];
|
||||
/*0xEE0*/ u8 field_EE0;
|
||||
/*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH];
|
||||
/*0xEF1*/ u8 field_EF1[2][4];
|
||||
/*0xEF9*/ u8 field_EF9[51];
|
||||
/*0xEF9*/ u8 field_EF9;
|
||||
/*0xEFA*/ u8 field_EFA;
|
||||
/*0xEFB*/ u8 field_EFB;
|
||||
/*0xEFC*/ struct FrontierMonData field_EFC[3];
|
||||
};
|
||||
|
||||
struct SaveBlock2
|
||||
|
||||
@ -53,7 +53,7 @@ void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size,
|
||||
bool8 free_temp_tile_data_buffers_if_possible(void);
|
||||
struct WindowTemplate CreateWindowTemplate(u8, u8, u8, u8, u8, u8, u16);
|
||||
void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos);
|
||||
void copy_decompressed_tile_data_to_vram_autofree(u8 bgId, const void *src, int size, u16 offset, u8 mode);
|
||||
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode);
|
||||
s8 Menu_ProcessInputNoWrap_(void);
|
||||
s8 ProcessMenuInput_other(void);
|
||||
void do_scheduled_bg_tilemap_copies_to_vram(void);
|
||||
|
||||
@ -456,6 +456,7 @@ extern const u8 gStatStageRatios[][2];
|
||||
extern const u16 gUnknown_08329D54[];
|
||||
extern const struct SpriteTemplate gUnknown_08329D98[];
|
||||
extern const struct CompressedSpritePalette gMonPaletteTable[];
|
||||
extern const s8 gNatureStatTable[][5];
|
||||
|
||||
void ZeroBoxMonData(struct BoxPokemon *boxMon);
|
||||
void ZeroMonData(struct Pokemon *mon);
|
||||
|
||||
13
include/trainer_pokemon_sprites.h
Normal file
13
include/trainer_pokemon_sprites.h
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef GUARD_TRAINER_POKEMON_SPRITES_H
|
||||
#define GUARD_TRAINER_POKEMON_SPRITES_H
|
||||
|
||||
bool16 ResetAllPicSprites(void);
|
||||
u16 CreatePicSprite2(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 CreateMonPicSprite_HandleDeoxys(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 FreeAndDestroyMonPicSprite(u16 spriteId);
|
||||
u16 CreateTrainerPicSprite(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 FreeAndDestroyTrainerPicSprite(u16 spriteId);
|
||||
u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId);
|
||||
u16 PlayerGenderToFrontTrainerPicId_Debug(u8 gender, bool8 getClass);
|
||||
|
||||
#endif // GUARD_TRAINER_POKEMON_SPRITES_H
|
||||
@ -212,6 +212,7 @@ SECTIONS {
|
||||
src/fldeff_softboiled.o(.text);
|
||||
src/decoration_inventory.o(.text);
|
||||
src/roamer.o(.text);
|
||||
src/battle_tower.o(.text);
|
||||
asm/battle_tower.o(.text);
|
||||
src/use_pokeblock.o(.text);
|
||||
asm/use_pokeblock.o(.text);
|
||||
@ -240,8 +241,10 @@ SECTIONS {
|
||||
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);
|
||||
src/trainer_pokemon_sprites.o(.text);
|
||||
src/lilycove_lady.o(.text);
|
||||
src/battle_dome.o(.text);
|
||||
src/battle_frontier_1.o(.text);
|
||||
asm/battle_frontier_1.o(.text);
|
||||
src/menu.o(.text);
|
||||
asm/battle_frontier_2.o(.text);
|
||||
@ -263,8 +266,8 @@ SECTIONS {
|
||||
src/berry_fix_program.o(.text);
|
||||
src/pokemon_summary_screen.o(.text);
|
||||
src/unk_pokedex_area_screen_helper.o(.text);
|
||||
src/battle_pyramid.o(.text);
|
||||
asm/battle_pyramid.o(.text);
|
||||
src/battle_pyramid_bag.o(.text);
|
||||
asm/battle_pyramid_bag.o(.text);
|
||||
asm/pokenav.o(.text);
|
||||
src/match_call.o(.text);
|
||||
asm/pokenav.o(.text.after.match.call);
|
||||
@ -522,8 +525,9 @@ SECTIONS {
|
||||
src/pokemon_animation.o(.rodata);
|
||||
src/battle_controller_recorded_opponent.o(.rodata);
|
||||
src/battle_controller_recorded_player.o(.rodata);
|
||||
src/battle_dome_cards.o(.rodata);
|
||||
src/trainer_pokemon_sprites.o(.rodata);
|
||||
src/lilycove_lady.o(.rodata);
|
||||
src/battle_dome.o(.rodata);
|
||||
data/battle_frontier_1.o(.rodata);
|
||||
src/menu.o(.rodata);
|
||||
data/battle_frontier_2.o(.rodata);
|
||||
@ -541,7 +545,7 @@ SECTIONS {
|
||||
src/berry_fix_program.o(.rodata);
|
||||
src/pokemon_summary_screen.o(.rodata);
|
||||
src/unk_pokedex_area_screen_helper.o(.rodata);
|
||||
data/battle_pyramid.o(.rodata);
|
||||
data/battle_pyramid_bag.o(.rodata);
|
||||
data/pokenav.o(.rodata);
|
||||
src/match_call.o(.rodata);
|
||||
data/pokenav.o(.rodata.after.match.call);
|
||||
|
||||
@ -1606,22 +1606,22 @@ static void OpponentHandleChoosePokemon(void)
|
||||
{
|
||||
s32 chosenMonId;
|
||||
|
||||
if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == 6)
|
||||
if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == PARTY_SIZE)
|
||||
{
|
||||
chosenMonId = GetMostSuitableMonToSwitchInto();
|
||||
|
||||
if (chosenMonId == 6)
|
||||
if (chosenMonId == PARTY_SIZE)
|
||||
{
|
||||
s32 bank1, bank2, firstId, lastId;
|
||||
s32 battler1, battler2, firstId, lastId;
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
|
||||
{
|
||||
bank2 = bank1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
|
||||
battler2 = battler1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
|
||||
}
|
||||
else
|
||||
{
|
||||
bank1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
|
||||
bank2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
|
||||
battler1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
|
||||
battler2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
|
||||
}
|
||||
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000))
|
||||
@ -1639,8 +1639,8 @@ static void OpponentHandleChoosePokemon(void)
|
||||
for (chosenMonId = firstId; chosenMonId < lastId; chosenMonId++)
|
||||
{
|
||||
if (GetMonData(&gEnemyParty[chosenMonId], MON_DATA_HP) != 0
|
||||
&& chosenMonId != gBattlerPartyIndexes[bank1]
|
||||
&& chosenMonId != gBattlerPartyIndexes[bank2])
|
||||
&& chosenMonId != gBattlerPartyIndexes[battler1]
|
||||
&& chosenMonId != gBattlerPartyIndexes[battler2])
|
||||
{
|
||||
break;
|
||||
}
|
||||
@ -1650,7 +1650,7 @@ static void OpponentHandleChoosePokemon(void)
|
||||
else
|
||||
{
|
||||
chosenMonId = *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler);
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = 6;
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -31,13 +31,13 @@
|
||||
#include "item_use.h"
|
||||
#include "recorded_battle.h"
|
||||
#include "party_menu.h"
|
||||
#include "battle_dome.h"
|
||||
|
||||
extern u8 gUnknown_0203CEE8;
|
||||
extern u8 gUnknown_0203CEE9;
|
||||
extern u8 gUnknown_0203CF00[];
|
||||
extern u16 gBattle_BG0_X;
|
||||
extern u16 gBattle_BG0_Y;
|
||||
extern s32 gUnknown_0203CD70;
|
||||
extern struct UnusedControllerStruct gUnknown_02022D0C;
|
||||
extern struct MusicPlayerInfo gMPlayInfo_BGM;
|
||||
extern struct SpriteTemplate gMultiuseSpriteTemplate;
|
||||
|
||||
6488
src/battle_dome.c
Normal file
6488
src/battle_dome.c
Normal file
File diff suppressed because it is too large
Load Diff
118
src/battle_frontier_1.c
Normal file
118
src/battle_frontier_1.c
Normal file
@ -0,0 +1,118 @@
|
||||
#include "global.h"
|
||||
#include "event_data.h"
|
||||
#include "battle_setup.h"
|
||||
#include "overworld.h"
|
||||
#include "random.h"
|
||||
#include "battle_tower.h"
|
||||
|
||||
extern void sub_8162614(u16, u8);
|
||||
|
||||
extern void (* const gUnknown_0860DE50[])(void);
|
||||
extern const u32 gUnknown_0860DE98[][2];
|
||||
extern const u32 gUnknown_0860DEA8[][2];
|
||||
|
||||
// code
|
||||
void sub_8195960(void)
|
||||
{
|
||||
gUnknown_0860DE50[gSpecialVar_0x8004]();
|
||||
}
|
||||
|
||||
void sub_8195980(void)
|
||||
{
|
||||
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
|
||||
gSaveBlock2Ptr->frontier.field_CA8 = 0;
|
||||
gSaveBlock2Ptr->frontier.field_CB2 = 0;
|
||||
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
|
||||
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
|
||||
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]))
|
||||
gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] = 0;
|
||||
|
||||
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
|
||||
gTrainerBattleOpponent_A = 0;
|
||||
}
|
||||
|
||||
void sub_8195A38(void)
|
||||
{
|
||||
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
|
||||
switch (gSpecialVar_0x8005)
|
||||
{
|
||||
case 0:
|
||||
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC4[1];
|
||||
break;
|
||||
case 1:
|
||||
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode];
|
||||
break;
|
||||
case 2:
|
||||
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]) != 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8195AE4(void)
|
||||
{
|
||||
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
|
||||
switch (gSpecialVar_0x8005)
|
||||
{
|
||||
case 0:
|
||||
gSaveBlock2Ptr->frontier.field_DC4[1] = gSpecialVar_0x8006;
|
||||
break;
|
||||
case 1:
|
||||
gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] = gSpecialVar_0x8006;
|
||||
break;
|
||||
case 2:
|
||||
if (gSpecialVar_0x8006)
|
||||
gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860DE98[battleMode][lvlMode];
|
||||
else
|
||||
gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860DEA8[battleMode][lvlMode];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8195BB0(void)
|
||||
{
|
||||
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
|
||||
if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] < 50)
|
||||
gSpecialVar_Result = Random() % 3;
|
||||
else if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] < 99)
|
||||
gSpecialVar_Result = 3;
|
||||
else
|
||||
gSpecialVar_Result = 4;
|
||||
}
|
||||
|
||||
void sub_8195C20(void)
|
||||
{
|
||||
gTrainerBattleOpponent_A = 5 *(Random() % 255) / 64u;
|
||||
sub_8162614(gTrainerBattleOpponent_A, 0);
|
||||
}
|
||||
|
||||
void sub_8195C50(void)
|
||||
{
|
||||
if (gTrainerBattleOpponent_A < 300)
|
||||
ConvertBattleFrontierTrainerSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
|
||||
}
|
||||
|
||||
/*
|
||||
void sub_8195C7C(void)
|
||||
{
|
||||
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
|
||||
if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] < 9999)
|
||||
{
|
||||
u16 wat = 0;
|
||||
gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode]++;
|
||||
if (lvlMode < gSaveBlock2Ptr->frontier.field_DD0[battleMode][lvlMode])
|
||||
wat = 1;
|
||||
if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][wat] != 0)
|
||||
gSaveBlock2Ptr->frontier.field_DD0[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode];
|
||||
}
|
||||
}
|
||||
*/
|
||||
@ -3929,7 +3929,7 @@ static void TryDoEventsBeforeFirstTurn(void)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
|
||||
{
|
||||
StopCryAndClearCrySongs();
|
||||
BattleScriptExecute(BattleScript_82DB8BE);
|
||||
BattleScriptExecute(BattleScript_ArenaTurnBeginning);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4019,7 +4019,7 @@ void BattleTurnPassed(void)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
|
||||
BattleScriptExecute(BattleScript_82DB881);
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_DA == 0)
|
||||
BattleScriptExecute(BattleScript_82DB8BE);
|
||||
BattleScriptExecute(BattleScript_ArenaTurnBeginning);
|
||||
}
|
||||
|
||||
u8 IsRunningFromBattleImpossible(void)
|
||||
|
||||
@ -1248,7 +1248,7 @@ static const u8 sText_Round2[] = _("Round 2");
|
||||
static const u8 sText_Semifinal[] = _("Semifinal");
|
||||
static const u8 sText_Final[] = _("Final");
|
||||
|
||||
const u8 * const gRoundsStringTable[] =
|
||||
const u8 *const gRoundsStringTable[] =
|
||||
{
|
||||
sText_Round1,
|
||||
sText_Round2,
|
||||
|
||||
@ -6750,10 +6750,10 @@ static void atk76_various(void)
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 21:
|
||||
case VARIOUS_VOLUME_DOWN:
|
||||
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x55);
|
||||
break;
|
||||
case 22:
|
||||
case VARIOUS_VOLUME_UP:
|
||||
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100);
|
||||
break;
|
||||
case 23:
|
||||
|
||||
@ -33,6 +33,7 @@
|
||||
#include "field_weather.h"
|
||||
#include "gym_leader_rematch.h"
|
||||
#include "constants/map_types.h"
|
||||
#include "constants/battle_frontier.h"
|
||||
|
||||
enum
|
||||
{
|
||||
@ -863,7 +864,7 @@ u8 sub_80B100C(s32 arg0)
|
||||
return sUnknown_0854FEA7[Random() % ARRAY_COUNT(sUnknown_0854FEA7)];
|
||||
}
|
||||
|
||||
if (VarGet(VAR_0x40CE) != 3)
|
||||
if (VarGet(VAR_FRONTIER_BATTLE_MODE) != FRONTIER_MODE_LINK_MULTIS)
|
||||
return sUnknown_0854FE98[Random() % ARRAY_COUNT(sUnknown_0854FE98)];
|
||||
}
|
||||
else
|
||||
@ -880,7 +881,7 @@ u8 sub_80B100C(s32 arg0)
|
||||
return sUnknown_0854FEA7[Random() % ARRAY_COUNT(sUnknown_0854FEA7)];
|
||||
}
|
||||
|
||||
if (VarGet(VAR_0x40CE) != 3)
|
||||
if (VarGet(VAR_FRONTIER_BATTLE_MODE) != FRONTIER_MODE_LINK_MULTIS)
|
||||
return sUnknown_0854FE98[Random() % ARRAY_COUNT(sUnknown_0854FE98)];
|
||||
}
|
||||
|
||||
|
||||
@ -11,7 +11,11 @@
|
||||
#include "constants/items.h"
|
||||
#include "constants/region_map_sections.h"
|
||||
|
||||
// this file's functions
|
||||
extern const struct BattleFrontierTrainer gSlateportBattleTentTrainers[];
|
||||
extern const struct FacilityMon gSlateportBattleTentMons[];
|
||||
extern const u16 gBattleFrontierHeldItems[];
|
||||
|
||||
// This file's functions.
|
||||
void sub_81B99D4(void);
|
||||
void sub_81B9A28(void);
|
||||
void sub_81B9A44(void);
|
||||
@ -51,7 +55,7 @@ void (*const gUnknown_086160B4[])(void) =
|
||||
sub_81B9B28
|
||||
};
|
||||
|
||||
const u16 gUnknown_086160D4[] = {ITEM_NEST_BALL, ITEM_NONE};
|
||||
static const u16 sVerdanturfTentRewards[] = {ITEM_NEST_BALL};
|
||||
|
||||
void (*const gUnknown_086160D8[])(void) =
|
||||
{
|
||||
@ -64,7 +68,7 @@ void (*const gUnknown_086160D8[])(void) =
|
||||
sub_81B9CF0
|
||||
};
|
||||
|
||||
const u16 gUnknown_086160F4[] = {ITEM_HYPER_POTION, ITEM_NONE};
|
||||
static const u16 sFallarborTentRewards[] = {ITEM_HYPER_POTION};
|
||||
|
||||
void (*const gUnknown_086160F8[])(void) =
|
||||
{
|
||||
@ -80,7 +84,7 @@ void (*const gUnknown_086160F8[])(void) =
|
||||
sub_81B9EC0
|
||||
};
|
||||
|
||||
const u16 gUnknown_08616120[] = {ITEM_FULL_HEAL, ITEM_NONE};
|
||||
static const u16 sSlateportTentRewards[] = {ITEM_FULL_HEAL};
|
||||
|
||||
// code
|
||||
void sub_81B99B4(void)
|
||||
@ -115,7 +119,7 @@ void sub_81B9A60(void)
|
||||
void sub_81B9A90(void)
|
||||
{
|
||||
if (gTrainerBattleOpponent_A < 300)
|
||||
ConvertBattleFrontierTrainerSpeechToString(gUnknown_0203BC88[gTrainerBattleOpponent_A].speechBefore);
|
||||
ConvertBattleFrontierTrainerSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
|
||||
}
|
||||
|
||||
void sub_81B9ABC(void)
|
||||
@ -128,7 +132,7 @@ void sub_81B9ABC(void)
|
||||
|
||||
void sub_81B9B00(void)
|
||||
{
|
||||
gSaveBlock2Ptr->frontier.field_E6A = gUnknown_086160D4[Random() % 1];
|
||||
gSaveBlock2Ptr->frontier.field_E6A = sVerdanturfTentRewards[Random() % ARRAY_COUNT(sVerdanturfTentRewards)];
|
||||
}
|
||||
|
||||
void sub_81B9B28(void)
|
||||
@ -178,7 +182,7 @@ void sub_81B9C2C(void)
|
||||
|
||||
void sub_81B9C70(void)
|
||||
{
|
||||
gSaveBlock2Ptr->frontier.field_E6C = gUnknown_086160F4[Random() % 1];
|
||||
gSaveBlock2Ptr->frontier.field_E6C = sFallarborTentRewards[Random() % ARRAY_COUNT(sFallarborTentRewards)];
|
||||
}
|
||||
|
||||
void sub_81B9C98(void)
|
||||
@ -233,7 +237,7 @@ void sub_81B9DB4(void)
|
||||
|
||||
void sub_81B9DF8(void)
|
||||
{
|
||||
gSaveBlock2Ptr->frontier.field_E6E = gUnknown_08616120[Random() % 1];
|
||||
gSaveBlock2Ptr->frontier.field_E6E = sSlateportTentRewards[Random() % ARRAY_COUNT(sSlateportTentRewards)];
|
||||
}
|
||||
|
||||
void sub_81B9E20(void)
|
||||
@ -266,3 +270,259 @@ bool8 sub_81B9E94(void)
|
||||
return (gMapHeader.regionMapSectionId == MAPSEC_SLATEPORT_CITY
|
||||
&& ((gMapHeader.mapLayoutId == 385) | (gMapHeader.mapLayoutId == 386)));
|
||||
}
|
||||
|
||||
// This function was written very...oddly.
|
||||
#ifdef NONMATCHING
|
||||
void sub_81B9EC0(void)
|
||||
{
|
||||
s32 i, j;
|
||||
u16 currMonId = 0, currSpecies = 0;
|
||||
u16 species[PARTY_SIZE];
|
||||
u16 monIds[PARTY_SIZE];
|
||||
u16 heldItems[PARTY_SIZE];
|
||||
s32 zero = 0;
|
||||
|
||||
gFacilityTrainers = gSlateportBattleTentTrainers;
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
species[i] = 0;
|
||||
monIds[i] = 0;
|
||||
heldItems[i] = 0;
|
||||
}
|
||||
gFacilityTrainerMons = gSlateportBattleTentMons;
|
||||
currSpecies = 0;
|
||||
for (i = 0; i != PARTY_SIZE;)
|
||||
{
|
||||
// Cannot have two pokemon of the same species.
|
||||
currMonId = Random() % 70;
|
||||
for (j = zero; j < i + zero; j++)
|
||||
{
|
||||
if (monIds[j] == currMonId)
|
||||
break;
|
||||
if (species[j] == gFacilityTrainerMons[currMonId].species)
|
||||
{
|
||||
if (currSpecies == 0)
|
||||
currSpecies = gFacilityTrainerMons[currMonId].species;
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (j != i + zero)
|
||||
continue;
|
||||
|
||||
// Cannot have two same held items.
|
||||
for (j = zero; j < i + zero; j++)
|
||||
{
|
||||
if (heldItems[j] == 0)
|
||||
continue;
|
||||
if (heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[currMonId].itemTableId])
|
||||
{
|
||||
if (gFacilityTrainerMons[currMonId].species == currSpecies)
|
||||
currSpecies = 0;
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (j != i + zero)
|
||||
continue;
|
||||
|
||||
gSaveBlock2Ptr->frontier.field_E70[i].monId = currMonId;
|
||||
species[i] = gFacilityTrainerMons[currMonId].species;
|
||||
heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[currMonId].itemTableId];
|
||||
monIds[i] = currMonId;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_81B9EC0(void)
|
||||
{
|
||||
asm_unified("\n\
|
||||
push {r4-r7,lr}\n\
|
||||
mov r7, r10\n\
|
||||
mov r6, r9\n\
|
||||
mov r5, r8\n\
|
||||
push {r5-r7}\n\
|
||||
sub sp, 0x3C\n\
|
||||
ldr r1, =gFacilityTrainers\n\
|
||||
ldr r0, =gSlateportBattleTentTrainers\n\
|
||||
str r0, [r1]\n\
|
||||
add r0, sp, 0xC\n\
|
||||
mov r9, r0\n\
|
||||
mov r1, sp\n\
|
||||
adds r1, 0x18\n\
|
||||
str r1, [sp, 0x2C]\n\
|
||||
ldr r5, =gFacilityTrainerMons\n\
|
||||
ldr r4, =gSlateportBattleTentMons\n\
|
||||
movs r2, 0\n\
|
||||
adds r3, r1, 0\n\
|
||||
mov r1, r9\n\
|
||||
mov r0, sp\n\
|
||||
movs r6, 0x5\n\
|
||||
mov r8, r6\n\
|
||||
_081B9EEC:\n\
|
||||
strh r2, [r0]\n\
|
||||
strh r2, [r1]\n\
|
||||
strh r2, [r3]\n\
|
||||
adds r3, 0x2\n\
|
||||
adds r1, 0x2\n\
|
||||
adds r0, 0x2\n\
|
||||
movs r7, 0x1\n\
|
||||
negs r7, r7\n\
|
||||
add r8, r7\n\
|
||||
mov r6, r8\n\
|
||||
cmp r6, 0\n\
|
||||
bge _081B9EEC\n\
|
||||
str r4, [r5]\n\
|
||||
movs r7, 0\n\
|
||||
mov r10, r7\n\
|
||||
movs r0, 0\n\
|
||||
mov r8, r0\n\
|
||||
ldr r1, [sp, 0x2C]\n\
|
||||
str r1, [sp, 0x30]\n\
|
||||
mov r2, sp\n\
|
||||
str r2, [sp, 0x34]\n\
|
||||
lsls r6, r0, 1\n\
|
||||
str r6, [sp, 0x24]\n\
|
||||
add r6, r9\n\
|
||||
str r6, [sp, 0x28]\n\
|
||||
_081B9F1E:\n\
|
||||
bl Random\n\
|
||||
lsls r0, 16\n\
|
||||
lsrs r0, 16\n\
|
||||
movs r1, 0x46\n\
|
||||
bl __umodsi3\n\
|
||||
lsls r0, 16\n\
|
||||
lsrs r5, r0, 16\n\
|
||||
movs r2, 0\n\
|
||||
mov r7, r8\n\
|
||||
adds r6, r2, r7\n\
|
||||
cmp r2, r6\n\
|
||||
bge _081B9F7C\n\
|
||||
ldr r1, [sp, 0x28]\n\
|
||||
ldrh r0, [r1]\n\
|
||||
cmp r0, r5\n\
|
||||
beq _081B9F7C\n\
|
||||
ldr r0, =gFacilityTrainerMons\n\
|
||||
ldr r1, [r0]\n\
|
||||
lsls r0, r5, 4\n\
|
||||
adds r4, r0, r1\n\
|
||||
ldrh r7, [r4]\n\
|
||||
mov r12, r7\n\
|
||||
lsls r3, r2, 1\n\
|
||||
ldr r1, [sp, 0x24]\n\
|
||||
add r1, sp\n\
|
||||
str r6, [sp, 0x38]\n\
|
||||
_081B9F56:\n\
|
||||
ldrh r0, [r1]\n\
|
||||
cmp r0, r12\n\
|
||||
bne _081B9F66\n\
|
||||
mov r0, r10\n\
|
||||
cmp r0, 0\n\
|
||||
bne _081B9F7C\n\
|
||||
ldrh r7, [r4]\n\
|
||||
mov r10, r7\n\
|
||||
_081B9F66:\n\
|
||||
adds r3, 0x2\n\
|
||||
adds r1, 0x2\n\
|
||||
adds r2, 0x1\n\
|
||||
ldr r0, [sp, 0x38]\n\
|
||||
cmp r2, r0\n\
|
||||
bge _081B9F7C\n\
|
||||
mov r7, r9\n\
|
||||
adds r0, r7, r3\n\
|
||||
ldrh r0, [r0]\n\
|
||||
cmp r0, r5\n\
|
||||
bne _081B9F56\n\
|
||||
_081B9F7C:\n\
|
||||
cmp r2, r6\n\
|
||||
bne _081BA01C\n\
|
||||
movs r2, 0\n\
|
||||
cmp r2, r6\n\
|
||||
bge _081B9FD4\n\
|
||||
ldr r0, =gBattleFrontierHeldItems\n\
|
||||
mov r12, r0\n\
|
||||
ldr r7, =gFacilityTrainerMons\n\
|
||||
ldr r1, [sp, 0x24]\n\
|
||||
ldr r0, [sp, 0x2C]\n\
|
||||
adds r4, r1, r0\n\
|
||||
_081B9F92:\n\
|
||||
ldrh r3, [r4]\n\
|
||||
cmp r3, 0\n\
|
||||
beq _081B9FCC\n\
|
||||
ldr r1, [r7]\n\
|
||||
lsls r0, r5, 4\n\
|
||||
adds r1, r0, r1\n\
|
||||
ldrb r0, [r1, 0xA]\n\
|
||||
lsls r0, 1\n\
|
||||
add r0, r12\n\
|
||||
ldrh r0, [r0]\n\
|
||||
cmp r3, r0\n\
|
||||
bne _081B9FCC\n\
|
||||
ldrh r0, [r1]\n\
|
||||
cmp r0, r10\n\
|
||||
bne _081B9FD4\n\
|
||||
movs r1, 0\n\
|
||||
mov r10, r1\n\
|
||||
b _081B9FD4\n\
|
||||
.pool\n\
|
||||
_081B9FCC:\n\
|
||||
adds r4, 0x2\n\
|
||||
adds r2, 0x1\n\
|
||||
cmp r2, r6\n\
|
||||
blt _081B9F92\n\
|
||||
_081B9FD4:\n\
|
||||
cmp r2, r6\n\
|
||||
bne _081BA01C\n\
|
||||
ldr r0, =gSaveBlock2Ptr\n\
|
||||
ldr r1, [r0]\n\
|
||||
mov r2, r8\n\
|
||||
lsls r3, r2, 1\n\
|
||||
adds r0, r3, r2\n\
|
||||
lsls r0, 2\n\
|
||||
adds r1, r0\n\
|
||||
movs r6, 0xE7\n\
|
||||
lsls r6, 4\n\
|
||||
adds r1, r6\n\
|
||||
strh r5, [r1]\n\
|
||||
ldr r0, =gFacilityTrainerMons\n\
|
||||
ldr r0, [r0]\n\
|
||||
lsls r1, r5, 4\n\
|
||||
adds r1, r0\n\
|
||||
ldrh r0, [r1]\n\
|
||||
ldr r7, [sp, 0x34]\n\
|
||||
strh r0, [r7]\n\
|
||||
ldr r2, =gBattleFrontierHeldItems\n\
|
||||
ldrb r0, [r1, 0xA]\n\
|
||||
lsls r0, 1\n\
|
||||
adds r0, r2\n\
|
||||
ldrh r0, [r0]\n\
|
||||
ldr r1, [sp, 0x30]\n\
|
||||
strh r0, [r1]\n\
|
||||
add r3, r9\n\
|
||||
strh r5, [r3]\n\
|
||||
adds r1, 0x2\n\
|
||||
str r1, [sp, 0x30]\n\
|
||||
adds r2, r7, 0\n\
|
||||
adds r2, 0x2\n\
|
||||
str r2, [sp, 0x34]\n\
|
||||
movs r6, 0x1\n\
|
||||
add r8, r6\n\
|
||||
_081BA01C:\n\
|
||||
mov r7, r8\n\
|
||||
cmp r7, 0x6\n\
|
||||
beq _081BA024\n\
|
||||
b _081B9F1E\n\
|
||||
_081BA024:\n\
|
||||
add sp, 0x3C\n\
|
||||
pop {r3-r5}\n\
|
||||
mov r8, r3\n\
|
||||
mov r9, r4\n\
|
||||
mov r10, r5\n\
|
||||
pop {r4-r7}\n\
|
||||
pop {r0}\n\
|
||||
bx r0\n\
|
||||
.pool\n\
|
||||
");
|
||||
}
|
||||
#endif // NONMATCHING
|
||||
|
||||
85
src/battle_tower.c
Normal file
85
src/battle_tower.c
Normal file
@ -0,0 +1,85 @@
|
||||
#include "global.h"
|
||||
#include "event_data.h"
|
||||
#include "battle_setup.h"
|
||||
#include "overworld.h"
|
||||
#include "random.h"
|
||||
#include "battle_tower.h"
|
||||
|
||||
extern void sub_81A3ACC(void);
|
||||
|
||||
extern const u32 gUnknown_085DF9AC[][2];
|
||||
extern const u32 gUnknown_085DF9CC[][2];
|
||||
extern void (* const gUnknown_085DF96C[])(void);
|
||||
|
||||
// This file's functions.
|
||||
void sub_8164ED8(void);
|
||||
u16 sub_8164FCC(u8, u8);
|
||||
|
||||
// code
|
||||
void sub_8161F74(void)
|
||||
{
|
||||
gUnknown_085DF96C[gSpecialVar_0x8004]();
|
||||
}
|
||||
|
||||
void sub_8161F94(void)
|
||||
{
|
||||
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
|
||||
gSaveBlock2Ptr->frontier.field_CA8 = 1;
|
||||
gSaveBlock2Ptr->frontier.field_CB2 = 0;
|
||||
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
|
||||
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
|
||||
sub_81A3ACC();
|
||||
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_085DF9AC[battleMode][lvlMode]))
|
||||
gSaveBlock2Ptr->frontier.field_CE0[battleMode][lvlMode] = 0;
|
||||
|
||||
sub_8164ED8();
|
||||
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
|
||||
gTrainerBattleOpponent_A = 0;
|
||||
}
|
||||
|
||||
void sub_8162054(void)
|
||||
{
|
||||
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
|
||||
switch (gSpecialVar_0x8005)
|
||||
{
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
gSpecialVar_Result = sub_8164FCC(lvlMode, battleMode);
|
||||
break;
|
||||
case 2:
|
||||
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_085DF9AC[battleMode][lvlMode]) != 0);
|
||||
break;
|
||||
case 3:
|
||||
gSaveBlock2Ptr->frontier.field_D07 = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_81620F4(void)
|
||||
{
|
||||
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
|
||||
switch (gSpecialVar_0x8005)
|
||||
{
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
gSaveBlock2Ptr->frontier.field_CE0[battleMode][lvlMode] = gSpecialVar_0x8006;
|
||||
break;
|
||||
case 2:
|
||||
if (gSpecialVar_0x8006)
|
||||
gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_085DF9AC[battleMode][lvlMode];
|
||||
else
|
||||
gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_085DF9CC[battleMode][lvlMode];
|
||||
break;
|
||||
case 3:
|
||||
gSaveBlock2Ptr->frontier.field_D07 = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
break;
|
||||
}
|
||||
}
|
||||
2
src/bg.c
2
src/bg.c
@ -1001,7 +1001,7 @@ void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 wi
|
||||
}
|
||||
}
|
||||
|
||||
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette)
|
||||
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette)
|
||||
{
|
||||
CopyRectToBgTilemapBufferRect(bg, src, 0, 0, rectWidth, rectHeight, destX, destY, rectWidth, rectHeight, palette, 0, 0);
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
#include "gpu_regs.h"
|
||||
#include "m4a.h"
|
||||
#include "constants/rgb.h"
|
||||
#include "battle_dome_cards.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
#include "starter_choose.h"
|
||||
#include "decompress.h"
|
||||
#include "intro_credits_graphics.h"
|
||||
@ -1197,7 +1197,6 @@ void sub_8175620(void)
|
||||
u8 taskIdA;
|
||||
s16 taskIdC;
|
||||
u8 taskIdB;
|
||||
u16 savedIme;
|
||||
|
||||
sub_8175CE4();
|
||||
SetVBlankCallback(NULL);
|
||||
@ -1333,7 +1332,7 @@ static void sub_81758E4(u8 taskIdA)
|
||||
u16 *temp;
|
||||
|
||||
ResetSpriteData();
|
||||
dp13_810BB8C();
|
||||
ResetAllPicSprites();
|
||||
FreeAllSpritePalettes();
|
||||
gReservedSpritePaletteCount = 8;
|
||||
LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM);
|
||||
@ -2164,7 +2163,7 @@ static void sub_8177050(struct Sprite *sprite)
|
||||
{
|
||||
if (gUnknown_0203BD28)
|
||||
{
|
||||
sub_818D820(sprite->data[6]);
|
||||
FreeAndDestroyMonPicSprite(sprite->data[6]);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2242,7 +2241,7 @@ static void sub_8177050(struct Sprite *sprite)
|
||||
case 10:
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
sub_818D820(sprite->data[6]);
|
||||
FreeAndDestroyMonPicSprite(sprite->data[6]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -512,7 +512,7 @@ static void CB2_EggHatch_0(void)
|
||||
gMain.state++;
|
||||
break;
|
||||
case 2:
|
||||
copy_decompressed_tile_data_to_vram_autofree(0, gBattleTextboxTiles, 0, 0, 0);
|
||||
DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0);
|
||||
CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0);
|
||||
LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20);
|
||||
gMain.state++;
|
||||
|
||||
@ -1484,7 +1484,7 @@ static void InitMovingBackgroundTask(bool8 isLink)
|
||||
|
||||
LoadPalette(sUnknown_085B51E4, 0xA0, 0x20);
|
||||
|
||||
copy_decompressed_tile_data_to_vram_autofree(1, sUnknown_085B4134, FALSE, 0, 0);
|
||||
DecompressAndLoadBgGfxUsingHeap(1, sUnknown_085B4134, FALSE, 0, 0);
|
||||
CopyToBgTilemapBuffer(1, sUnknown_085B482C, 0, 0);
|
||||
CopyToBgTilemapBuffer(outerBgId, sUnknown_085B4D10, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
#include "field_effect.h"
|
||||
#include "battle_dome_cards.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
#include "decompress.h"
|
||||
#include "field_camera.h"
|
||||
#include "field_effect_helpers.h"
|
||||
@ -557,7 +555,7 @@ u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority)
|
||||
#ifdef NONMATCHING
|
||||
u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y)
|
||||
{
|
||||
u16 spriteId = sub_818D7D8(species, 0, 0x8000, 1, x, y, 0, gMonPaletteTable[species].tag);
|
||||
u16 spriteId = CreateMonPicSprite_HandleDeoxys(species, 0, 0x8000, 1, x, y, 0, gMonPaletteTable[species].tag);
|
||||
PreservePaletteInWeather(IndexOfSpritePaletteTag(gMonPaletteTable[species].tag) + 0x10);
|
||||
if (spriteId == 0xFFFF)
|
||||
return 0x40;
|
||||
@ -590,7 +588,7 @@ u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y)
|
||||
movs r1, 0\n\
|
||||
adds r2, r3, 0\n\
|
||||
movs r3, 0x1\n\
|
||||
bl sub_818D7D8\n\
|
||||
bl CreateMonPicSprite_HandleDeoxys\n\
|
||||
lsls r0, 16\n\
|
||||
lsrs r5, r0, 16\n\
|
||||
ldrh r0, [r4, 0x4]\n\
|
||||
@ -619,7 +617,7 @@ _080B5FDE:\n\
|
||||
u8 CreateMonSprite_FieldMove(u16 species, u32 d, u32 g, s16 x, s16 y, u8 subpriority)
|
||||
{
|
||||
const struct CompressedSpritePalette *spritePalette = GetMonSpritePalStructFromOtIdPersonality(species, d, g);
|
||||
u16 spriteId = sub_818D7D8(species, d, g, 1, x, y, 0, spritePalette->tag);
|
||||
u16 spriteId = CreateMonPicSprite_HandleDeoxys(species, d, g, 1, x, y, 0, spritePalette->tag);
|
||||
PreservePaletteInWeather(IndexOfSpritePaletteTag(spritePalette->tag) + 0x10);
|
||||
if (spriteId == 0xFFFF)
|
||||
return 0x40;
|
||||
@ -634,7 +632,7 @@ void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId)
|
||||
{
|
||||
FreeOamMatrix(sprite->oam.matrixNum);
|
||||
}
|
||||
sub_818D820(spriteId);
|
||||
FreeAndDestroyMonPicSprite(spriteId);
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
|
||||
@ -4,7 +4,9 @@
|
||||
#include "string_util.h"
|
||||
#include "task.h"
|
||||
#include "text.h"
|
||||
#include "battle_frontier_1.h"
|
||||
|
||||
extern bool32 sub_8196094(void);
|
||||
extern void sub_8196080(u8*);
|
||||
|
||||
EWRAM_DATA u8 gUnknown_020375BC = 0;
|
||||
|
||||
@ -23,7 +25,7 @@ void sub_8098128(void)
|
||||
void sub_8098154(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
|
||||
switch (task->data[0])
|
||||
{
|
||||
case 0:
|
||||
@ -61,12 +63,12 @@ bool8 ShowFieldMessage(u8 *str)
|
||||
return FALSE;
|
||||
textbox_fdecode_auto_and_task_add(str, 1);
|
||||
gUnknown_020375BC = 2;
|
||||
return TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_8098214(u8 taskId)
|
||||
{
|
||||
if (sub_8196094() == 0)
|
||||
if (!sub_8196094())
|
||||
{
|
||||
gUnknown_020375BC = 0;
|
||||
DestroyTask(taskId);
|
||||
|
||||
@ -52,6 +52,7 @@
|
||||
#include "constants/species.h"
|
||||
#include "constants/moves.h"
|
||||
#include "constants/vars.h"
|
||||
#include "constants/battle_frontier.h"
|
||||
|
||||
EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE;
|
||||
EWRAM_DATA u8 gBikeCollisions = 0;
|
||||
@ -1645,7 +1646,7 @@ bool8 sub_81398C0(void)
|
||||
StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(gSpecialVar_0x8004)]);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -1667,7 +1668,7 @@ bool8 InMultiBattleRoom(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM) &&
|
||||
VarGet(VAR_0x40CE) == 2)
|
||||
VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_MULTIS)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
@ -1799,7 +1800,7 @@ void ShakeScreenInElevator(void)
|
||||
|
||||
if (floorDelta > 8)
|
||||
floorDelta = 8;
|
||||
|
||||
|
||||
data[5] = gUnknown_085B2C18[floorDelta];
|
||||
|
||||
SetCameraPanningCallback(NULL);
|
||||
@ -1830,16 +1831,16 @@ static void sub_8139AF4(u8 taskId)
|
||||
void sub_8139B60(void)
|
||||
{
|
||||
int xPos;
|
||||
|
||||
|
||||
gUnknown_0203AB5E = AddWindow(&gUnknown_085B2BAC);
|
||||
SetStandardWindowBorderStyle(gUnknown_0203AB5E, 0);
|
||||
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(1, gText_ElevatorNowOn, 64);
|
||||
PrintTextOnWindow(gUnknown_0203AB5E, 1, gText_ElevatorNowOn, xPos, 1, TEXT_SPEED_FF, NULL);
|
||||
|
||||
|
||||
xPos = GetStringCenterAlignXOffset(1, gElevatorFloorsTable[gSpecialVar_0x8005], 64);
|
||||
PrintTextOnWindow(gUnknown_0203AB5E, 1, gElevatorFloorsTable[gSpecialVar_0x8005], xPos, 17, TEXT_SPEED_FF, NULL);
|
||||
|
||||
|
||||
PutWindowTilemap(gUnknown_0203AB5E);
|
||||
CopyWindowToVram(gUnknown_0203AB5E, 3);
|
||||
}
|
||||
@ -2167,13 +2168,13 @@ void sub_8139F20(void)
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (gSaveBlock2Ptr->frontier.field_D0C[0] >= gSaveBlock2Ptr->frontier.field_D0C[1])
|
||||
if (gSaveBlock2Ptr->frontier.field_D0C[0][0] >= gSaveBlock2Ptr->frontier.field_D0C[0][1])
|
||||
{
|
||||
unk = gSaveBlock2Ptr->frontier.field_D0C[0];
|
||||
unk = gSaveBlock2Ptr->frontier.field_D0C[0][0];
|
||||
}
|
||||
else
|
||||
{
|
||||
unk = gSaveBlock2Ptr->frontier.field_D0C[1];
|
||||
unk = gSaveBlock2Ptr->frontier.field_D0C[0][1];
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
@ -2187,13 +2188,13 @@ void sub_8139F20(void)
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (gSaveBlock2Ptr->frontier.field_DC8[0] >= gSaveBlock2Ptr->frontier.field_DC8[1])
|
||||
if (gSaveBlock2Ptr->frontier.field_DC8[0][0] >= gSaveBlock2Ptr->frontier.field_DC8[0][1])
|
||||
{
|
||||
unk = gSaveBlock2Ptr->frontier.field_DC8[0];
|
||||
unk = gSaveBlock2Ptr->frontier.field_DC8[0][0];
|
||||
}
|
||||
else
|
||||
{
|
||||
unk = gSaveBlock2Ptr->frontier.field_DC8[1];
|
||||
unk = gSaveBlock2Ptr->frontier.field_DC8[0][1];
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
@ -2240,10 +2241,10 @@ void sub_813A080(void)
|
||||
};
|
||||
|
||||
u8 i;
|
||||
u16 var = VarGet(VAR_0x40CE);
|
||||
u8 chosenLevel = gSaveBlock2Ptr->frontier.chosenLvl;
|
||||
u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
|
||||
if (var == 2 && !FlagGet(FLAG_0x152))
|
||||
if (battleMode == 2 && !FlagGet(FLAG_0x152))
|
||||
{
|
||||
gSpecialVar_0x8005 = 5;
|
||||
gSpecialVar_0x8006 = 4;
|
||||
@ -2252,7 +2253,7 @@ void sub_813A080(void)
|
||||
|
||||
for (i = 0; i < 9; i++)
|
||||
{
|
||||
if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.field_CE0[var][chosenLevel])
|
||||
if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.field_CE0[battleMode][lvlMode])
|
||||
{
|
||||
gSpecialVar_0x8005 = 4;
|
||||
gSpecialVar_0x8006 = i + 5;
|
||||
@ -2662,8 +2663,8 @@ static void sub_813A2DC(u8 taskId)
|
||||
}
|
||||
|
||||
task->data[4] = convert_pixel_width_to_tile_width(unk1);
|
||||
|
||||
if (task->data[2] + task->data[4] > 0x1D)
|
||||
|
||||
if (task->data[2] + task->data[4] > 0x1D)
|
||||
{
|
||||
int unk2 = 0x1D - task->data[4];
|
||||
if (unk2 < 0)
|
||||
@ -3036,13 +3037,13 @@ void sub_813A878(u8 a0)
|
||||
{
|
||||
static const u16 gUnknown_085B3104[] = {0x0000, 0x0001, 0x0002, 0x0100, 0x0101, 0x0400, 0x0401, 0x0200, 0x0201, 0x0300, 0x0500, 0x0600};
|
||||
|
||||
u16 var1 = VarGet(VAR_0x40CE);
|
||||
u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
|
||||
u16 var2 = VarGet(VAR_FRONTIER_GAMBLER_SET_FACILITY_F);
|
||||
u16 var3 = VarGet(VAR_FRONTIER_FACILITY);
|
||||
u16 frontierFacilityId = VarGet(VAR_FRONTIER_FACILITY);
|
||||
|
||||
if (VarGet(VAR_FRONTIER_GAMBLER_PLACED_BET_F) == 1)
|
||||
{
|
||||
if (gUnknown_085B3104[var2] == (var3 << 8) + var1)
|
||||
if (gUnknown_085B3104[var2] == (frontierFacilityId << 8) + battleMode)
|
||||
{
|
||||
if (a0 != 0)
|
||||
{
|
||||
@ -3363,7 +3364,7 @@ void sub_813ADD4(void)
|
||||
struct Task *task = &gTasks[taskId];
|
||||
ListMenuGetScrollAndRow(task->data[14], &scrollOffset, &selectedRow);
|
||||
SetStandardWindowBorderStyle(task->data[13], 0);
|
||||
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
sub_8199F74(task->data[13], 1, gUnknown_085B2CF0[gSpecialVar_0x8004][scrollOffset + i], 10, i * 16, TEXT_SPEED_FF, NULL, 0, 0);
|
||||
@ -3381,7 +3382,7 @@ void sub_813AEB4(void)
|
||||
u16 temp1 = 0;
|
||||
u16 temp2 = 0;
|
||||
gSpecialVar_0x8005 = 0;
|
||||
|
||||
|
||||
temp1 = VarGet(VAR_TEMP_E);
|
||||
temp2 = VarGet(VAR_TEMP_D);
|
||||
|
||||
@ -3509,7 +3510,7 @@ static void sub_813B0B4(u8 a0)
|
||||
u8 eventObjectId;
|
||||
LoadPalette(&gUnknown_085B3280[a0], 0x1A0, 8);
|
||||
TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId);
|
||||
|
||||
|
||||
if (a0 == 0)
|
||||
{
|
||||
PlaySE(SE_W109);
|
||||
@ -3656,7 +3657,7 @@ bool32 sub_813B374(void)
|
||||
u16 var = VarGet(VAR_0x4037);
|
||||
|
||||
GetMapName(gStringVar1, gUnknown_085B3400[var - 1], 0);
|
||||
|
||||
|
||||
if (var < 9)
|
||||
{
|
||||
return FALSE;
|
||||
@ -3697,7 +3698,7 @@ bool32 sub_813B3B0(void)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER3))
|
||||
{
|
||||
switch (gSaveBlock1Ptr->location.mapNum)
|
||||
@ -4159,7 +4160,7 @@ static u16 sub_813BC00(void)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (((gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] >> gUnknown_085B347C[retVal]) & 1))
|
||||
{
|
||||
gSaveBlock1Ptr->vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] ^= 1 << gUnknown_085B347C[retVal];
|
||||
|
||||
@ -951,7 +951,7 @@ void copy_tileset_patterns_to_vram2(struct Tileset const *tileset, u16 numTiles,
|
||||
if (!tileset->isCompressed)
|
||||
LoadBgTiles(2, tileset->tiles, numTiles * 32, offset);
|
||||
else
|
||||
copy_decompressed_tile_data_to_vram_autofree(2, tileset->tiles, numTiles * 32, offset, 0);
|
||||
DecompressAndLoadBgGfxUsingHeap(2, tileset->tiles, numTiles * 32, offset, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
#include "sprite.h"
|
||||
#include "pokemon.h"
|
||||
#include "text.h"
|
||||
#include "text_window.h"
|
||||
#include "malloc.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "main.h"
|
||||
@ -26,6 +27,7 @@
|
||||
#include "event_data.h"
|
||||
#include "overworld.h"
|
||||
#include "menu.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
|
||||
struct HallofFameMon
|
||||
{
|
||||
@ -81,18 +83,10 @@ extern const u8 gText_MainMenuTime[];
|
||||
extern const u8 gContestConfetti_Gfx[];
|
||||
extern const u8 gContestConfetti_Pal[];
|
||||
|
||||
extern void NewMenuHelpers_DrawDialogueFrame(u8, u8);
|
||||
extern void sub_8175620(void);
|
||||
extern u8 TrySavingData(u8);
|
||||
extern u8 sub_818D3E4(u16 species, u32 trainerId, u32 personality, u8 flags, s16 x, s16 y, u8, u16);
|
||||
extern void sub_8197434(u8, u8);
|
||||
extern u16 sub_818D97C(u8 playerGender, u8);
|
||||
extern u16 sub_818D8AC(u16, u8, s16, s16, u8, u16);
|
||||
extern const void* stdpal_get(u8);
|
||||
extern void LoadWindowGfx(u8, u8, u16, u8);
|
||||
extern u16 sub_818D820(u16);
|
||||
extern u16 sub_818D8F0(u16);
|
||||
extern u16 sub_818D7D8(u16 species, u32 trainerId, u32 personality, u8 arg3, s16 sp0, s16 sp1, u8 sp2, u16 sp3);
|
||||
extern void sub_8198204(u8 *dst, const u8 *src, u8, u8, u8);
|
||||
extern bool8 sub_80F9C30(void);
|
||||
extern void sub_8198314(void);
|
||||
@ -102,8 +96,6 @@ extern void sub_80F9BF4(u16, u16, u8);
|
||||
extern void sub_81980F0(u8, u8, u8, u8, u16);
|
||||
extern void sub_80F9BCC(u16, u16, u8);
|
||||
extern bool8 sub_80F9C1C(void);
|
||||
extern u16 SpeciesToPokedexNum(u16 species);
|
||||
extern void dp13_810BB8C(void);
|
||||
extern void sub_81971D0(void);
|
||||
extern void sub_8197200(void);
|
||||
extern void sub_8152254(void);
|
||||
@ -611,7 +603,7 @@ static void Task_Hof_DisplayMon(u8 taskId)
|
||||
if (currMon->species == SPECIES_EGG)
|
||||
field6 += 10;
|
||||
|
||||
spriteId = sub_818D3E4(currMon->species, currMon->tid, currMon->personality, 1, xPos, yPos, currMonId, 0xFFFF);
|
||||
spriteId = CreatePicSprite2(currMon->species, currMon->tid, currMon->personality, 1, xPos, yPos, currMonId, 0xFFFF);
|
||||
gSprites[spriteId].tDestinationX = field4;
|
||||
gSprites[spriteId].tDestinationY = field6;
|
||||
gSprites[spriteId].data[0] = 0;
|
||||
@ -723,7 +715,7 @@ static void sub_8173EE4(u8 taskId)
|
||||
ShowBg(0);
|
||||
ShowBg(1);
|
||||
ShowBg(3);
|
||||
gTasks[taskId].tPlayerSpriteID = sub_818D8AC(sub_818D97C(gSaveBlock2Ptr->playerGender, 1), 1, 120, 72, 6, 0xFFFF);
|
||||
gTasks[taskId].tPlayerSpriteID = CreateTrainerPicSprite(PlayerGenderToFrontTrainerPicId_Debug(gSaveBlock2Ptr->playerGender, TRUE), 1, 120, 72, 6, 0xFFFF);
|
||||
AddWindow(&sHof_WindowTemplate);
|
||||
LoadWindowGfx(1, gSaveBlock2Ptr->optionsWindowFrameType, 0x21D, 0xD0);
|
||||
LoadPalette(stdpal_get(1), 0xE0, 0x20);
|
||||
@ -780,11 +772,11 @@ static void Task_Hof_HandleExit(u8 taskId)
|
||||
if (spriteId != 0xFF)
|
||||
{
|
||||
FreeOamMatrix(gSprites[spriteId].oam.matrixNum);
|
||||
sub_818D820(spriteId);
|
||||
FreeAndDestroyMonPicSprite(spriteId);
|
||||
}
|
||||
}
|
||||
|
||||
sub_818D8F0(gTasks[taskId].tPlayerSpriteID);
|
||||
FreeAndDestroyTrainerPicSprite(gTasks[taskId].tPlayerSpriteID);
|
||||
HideBg(0);
|
||||
HideBg(1);
|
||||
HideBg(3);
|
||||
@ -956,7 +948,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId)
|
||||
if (currMon->species == SPECIES_EGG)
|
||||
posY += 10;
|
||||
|
||||
spriteId = sub_818D7D8(currMon->species, currMon->tid, currMon->personality, 1, posX, posY, i, 0xFFFF);
|
||||
spriteId = CreateMonPicSprite_HandleDeoxys(currMon->species, currMon->tid, currMon->personality, 1, posX, posY, i, 0xFFFF);
|
||||
gSprites[spriteId].oam.priority = 1;
|
||||
gTasks[taskId].tMonSpriteId(i) = spriteId;
|
||||
}
|
||||
@ -1026,7 +1018,7 @@ static void Task_HofPC_HandleInput(u8 taskId)
|
||||
u8 spriteId = gTasks[taskId].tMonSpriteId(i);
|
||||
if (spriteId != 0xFF)
|
||||
{
|
||||
sub_818D820(spriteId);
|
||||
FreeAndDestroyMonPicSprite(spriteId);
|
||||
gTasks[taskId].tMonSpriteId(i) = 0xFF;
|
||||
}
|
||||
}
|
||||
@ -1087,7 +1079,7 @@ static void Task_HofPC_HandleExit(u8 taskId)
|
||||
u16 spriteId = gTasks[taskId].tMonSpriteId(i);
|
||||
if (spriteId != 0xFF)
|
||||
{
|
||||
sub_818D820(spriteId);
|
||||
FreeAndDestroyMonPicSprite(spriteId);
|
||||
gTasks[taskId].tMonSpriteId(i) = 0xFF;
|
||||
}
|
||||
}
|
||||
@ -1305,7 +1297,7 @@ static void sub_8174F70(void)
|
||||
ResetTasks();
|
||||
ResetSpriteData();
|
||||
reset_temp_tile_data_buffers();
|
||||
dp13_810BB8C();
|
||||
ResetAllPicSprites();
|
||||
FreeAllSpritePalettes();
|
||||
gReservedSpritePaletteCount = 8;
|
||||
LoadCompressedObjectPic(&sHallOfFame_ConfettiSpriteSheet);
|
||||
|
||||
16
src/item.c
16
src/item.c
@ -845,8 +845,8 @@ u16 CountTotalItemQuantityInBag(u16 itemId)
|
||||
static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count)
|
||||
{
|
||||
u8 i;
|
||||
u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl];
|
||||
u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl];
|
||||
u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
|
||||
for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++)
|
||||
{
|
||||
@ -867,8 +867,8 @@ static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count)
|
||||
static bool8 CheckPyramidBagHasSpace(u16 itemId, u16 count)
|
||||
{
|
||||
u8 i;
|
||||
u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl];
|
||||
u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl];
|
||||
u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
|
||||
for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++)
|
||||
{
|
||||
@ -890,8 +890,8 @@ bool8 AddPyramidBagItem(u16 itemId, u16 count)
|
||||
{
|
||||
u16 i;
|
||||
|
||||
u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl];
|
||||
u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl];
|
||||
u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
|
||||
u16 *newItems = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u16));
|
||||
u8 *newQuantities = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u8));
|
||||
@ -963,8 +963,8 @@ bool8 RemovePyramidBagItem(u16 itemId, u16 count)
|
||||
{
|
||||
u16 i;
|
||||
|
||||
u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl];
|
||||
u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl];
|
||||
u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
|
||||
i = gUnknown_0203CF30[3] + gUnknown_0203CF30[4];
|
||||
if (items[i] == itemId && quantities[i] >= count)
|
||||
|
||||
@ -1679,7 +1679,7 @@ void CB2_LinkError(void)
|
||||
static void sub_800B080(void)
|
||||
{
|
||||
LoadBgTiles(0, g2BlankTilesGfx, 0x20, 0);
|
||||
copy_decompressed_tile_data_to_vram_autofree(1, gWirelessLinkDisplayGfx, FALSE, 0, 0);
|
||||
DecompressAndLoadBgGfxUsingHeap(1, gWirelessLinkDisplayGfx, FALSE, 0, 0);
|
||||
CopyToBgTilemapBuffer(1, gWirelessLinkDisplayTilemap, 0, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
LoadPalette(gWirelessLinkDisplayPal, 0, 0x20);
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
#include "battle_dome_cards.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
#include "bg.h"
|
||||
#include "constants/flags.h"
|
||||
#include "constants/rgb.h"
|
||||
@ -1018,7 +1016,7 @@ void task_new_game_prof_birch_speech_1(u8 taskId)
|
||||
ScanlineEffect_Stop();
|
||||
ResetSpriteData();
|
||||
FreeAllSpritePalettes();
|
||||
dp13_810BB8C();
|
||||
ResetAllPicSprites();
|
||||
AddBirchSpeechObjects(taskId);
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
|
||||
gTasks[taskId].data[4] = 0;
|
||||
@ -1336,7 +1334,7 @@ void task_new_game_prof_birch_speech_17(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
FreeAllWindowBuffers();
|
||||
sub_818D820(gTasks[taskId].data[9]);
|
||||
FreeAndDestroyMonPicSprite(gTasks[taskId].data[9]);
|
||||
set_default_player_name(Random() % 20);
|
||||
DestroyTask(taskId);
|
||||
DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, new_game_prof_birch_speech_part2_start);
|
||||
@ -1515,8 +1513,8 @@ void task_new_game_prof_birch_speech_part2_12(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
FreeAllWindowBuffers();
|
||||
sub_818D820(gTasks[taskId].data[9]);
|
||||
dp13_810BB8C();
|
||||
FreeAndDestroyMonPicSprite(gTasks[taskId].data[9]);
|
||||
ResetAllPicSprites();
|
||||
SetMainCallback2(CB2_NewGame);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
@ -1558,7 +1556,7 @@ void new_game_prof_birch_speech_part2_start(void)
|
||||
ScanlineEffect_Stop();
|
||||
ResetSpriteData();
|
||||
FreeAllSpritePalettes();
|
||||
dp13_810BB8C();
|
||||
ResetAllPicSprites();
|
||||
AddBirchSpeechObjects(taskId);
|
||||
if (gSaveBlock2Ptr->playerGender != MALE)
|
||||
{
|
||||
@ -1613,7 +1611,7 @@ void sub_80318D8(struct Sprite *sprite)
|
||||
|
||||
u8 sub_80318F4(u8 a, u8 b)
|
||||
{
|
||||
return sub_818D3E4(SPECIES_LOTAD, 8, 0, 1, a, b, 14, -1);
|
||||
return CreatePicSprite2(SPECIES_LOTAD, 8, 0, 1, a, b, 14, -1);
|
||||
}
|
||||
|
||||
void AddBirchSpeechObjects(u8 taskId)
|
||||
|
||||
@ -5,9 +5,9 @@
|
||||
#include "event_data.h"
|
||||
#include "string_util.h"
|
||||
#include "battle.h"
|
||||
#include "battle_frontier_1.h"
|
||||
#include "gym_leader_rematch.h"
|
||||
|
||||
extern void sub_8197080(u8 *dest);
|
||||
extern const u8 gTrainerClassNames[][13];
|
||||
|
||||
// Static type declarations
|
||||
|
||||
@ -1801,7 +1801,7 @@ void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void copy_decompressed_tile_data_to_vram_autofree(u8 bgId, const void *src, int size, u16 offset, u8 mode)
|
||||
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode)
|
||||
{
|
||||
int sizeOut;
|
||||
void *ptr = malloc_and_decompress(src, &sizeOut);
|
||||
|
||||
@ -23,6 +23,8 @@
|
||||
#include "overworld.h"
|
||||
#include "mail.h"
|
||||
#include "battle_records.h"
|
||||
#include "item.h"
|
||||
#include "pokedex.h"
|
||||
|
||||
extern u8 gDifferentSaveFile;
|
||||
extern u16 gSaveFileStatus;
|
||||
@ -33,13 +35,11 @@ extern u16 GetGeneratedTrainerIdLower(void);
|
||||
extern void ClearContestWinnerPicsInContestHall(void);
|
||||
extern void sub_80BB358(void);
|
||||
extern void ResetBagScrollPositions(void);
|
||||
extern void ResetPokedex(void);
|
||||
extern void ResetGabbyAndTy(void);
|
||||
extern void ResetSecretBases(void);
|
||||
extern void ResetLinkContestBoolean(void);
|
||||
extern void sub_8052DA8(void);
|
||||
extern void ResetPokemonStorageSystem(void);
|
||||
extern void ClearBag(void);
|
||||
extern void NewGameInitPCItems(void);
|
||||
extern void ClearDecorationInventories(void);
|
||||
extern void ResetFanClub(void);
|
||||
|
||||
@ -151,7 +151,7 @@ extern void TransferTilesetAnimsBuffer(void);
|
||||
extern bool32 sub_81D5F48(void);
|
||||
extern u8 GetCurrentTrainerHillMapId(void);
|
||||
extern bool8 warp0_in_pokecenter(void);
|
||||
extern void dp13_810BB8C(void);
|
||||
extern void ResetAllPicSprites(void);
|
||||
extern void FieldEffectActiveListClear(void);
|
||||
extern void SetUpFieldTasks(void);
|
||||
extern void sub_81BE6B8(void);
|
||||
@ -2149,7 +2149,7 @@ static void sub_8086988(u32 a1)
|
||||
ResetSpriteData();
|
||||
ResetPaletteFade();
|
||||
ScanlineEffect_Clear();
|
||||
dp13_810BB8C();
|
||||
ResetAllPicSprites();
|
||||
ResetCameraUpdateInfo();
|
||||
InstallCameraPanAheadCallback();
|
||||
if (!a1)
|
||||
|
||||
128
src/pokedex.c
128
src/pokedex.c
@ -11,7 +11,7 @@
|
||||
#include "main.h"
|
||||
#include "sound.h"
|
||||
#include "task.h"
|
||||
#include "battle_dome_cards.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
#include "scanline_effect.h"
|
||||
#include "malloc.h"
|
||||
#include "gpu_regs.h"
|
||||
@ -821,7 +821,7 @@ const u8 sText_TenDashes[] = _("----------");
|
||||
void ResetPokedex(void)
|
||||
{
|
||||
u16 i;
|
||||
|
||||
|
||||
gUnknown_02039B50 = 0;
|
||||
gUnknown_02039B52 = 64;
|
||||
gUnknown_030060B0 = 0;
|
||||
@ -910,7 +910,7 @@ void sub_80BB534(void)
|
||||
{
|
||||
u8 *addr;
|
||||
u32 size;
|
||||
|
||||
|
||||
switch (gMain.state)
|
||||
{
|
||||
case 0:
|
||||
@ -929,7 +929,7 @@ void sub_80BB534(void)
|
||||
ResetPaletteFade();
|
||||
FreeAllSpritePalettes();
|
||||
gReservedSpritePaletteCount = 8;
|
||||
dp13_810BB8C();
|
||||
ResetAllPicSprites();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 2:
|
||||
@ -984,7 +984,7 @@ void sub_80BB78C(u8 taskId)
|
||||
void sub_80BB7D4(u8 taskId)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_02039B4C->menuY);
|
||||
|
||||
|
||||
if (gUnknown_02039B4C->menuY)
|
||||
{
|
||||
gUnknown_02039B4C->menuY -= 8;
|
||||
@ -1377,7 +1377,7 @@ bool8 sub_80BC514(u8 a)
|
||||
SetBgTilemapBuffer(2, AllocZeroed(0x800));
|
||||
SetBgTilemapBuffer(1, AllocZeroed(0x800));
|
||||
SetBgTilemapBuffer(0, AllocZeroed(0x800));
|
||||
copy_decompressed_tile_data_to_vram_autofree(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
|
||||
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
|
||||
CopyToBgTilemapBuffer(1, gUnknown_08DC2C5C, 0, 0);
|
||||
CopyToBgTilemapBuffer(3, gUnknown_08DC2DAC, 0, 0);
|
||||
if (a == 0)
|
||||
@ -1467,7 +1467,7 @@ void sub_80BC844(u8 a)
|
||||
void sub_80BC890(void)
|
||||
{
|
||||
void* tilemapBuffer;
|
||||
|
||||
|
||||
FreeAllWindowBuffers();
|
||||
tilemapBuffer = GetBgTilemapBuffer(0);
|
||||
if (tilemapBuffer)
|
||||
@ -1487,7 +1487,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
|
||||
{
|
||||
u16 vars[3]; //I have no idea why three regular variables are stored in an array, but whatever.
|
||||
s16 i;
|
||||
|
||||
|
||||
gUnknown_02039B4C->pokemonListCount = 0;
|
||||
|
||||
switch (dexMode)
|
||||
@ -1633,7 +1633,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
|
||||
void sub_80BCE2C(u8 windowId, u8 fontId, const u8* str, u8 left, u8 top)
|
||||
{
|
||||
u8 color[3];
|
||||
|
||||
|
||||
color[0] = 0;
|
||||
color[1] = 15;
|
||||
color[2] = 3;
|
||||
@ -1731,7 +1731,7 @@ void sub_80BD154(u16 a, u8 left, u8 top, u16 unused)
|
||||
{
|
||||
u8 text[6];
|
||||
u16 r6;
|
||||
|
||||
|
||||
memcpy(text, gUnknown_0855D2B8, 6);
|
||||
r6 = gUnknown_02039B4C->unk0[a].dexNum;
|
||||
if (gUnknown_02039B4C->dexMode == DEX_MODE_HOENN)
|
||||
@ -1753,7 +1753,7 @@ void sub_80BD1F4(u16 a, u8 x, u8 y, u16 unused)
|
||||
u8 sub_80BD23C(u16 num, u8 left, u8 top)
|
||||
{
|
||||
const u8* str;
|
||||
|
||||
|
||||
num = NationalPokedexNumToSpecies(num);
|
||||
if (num)
|
||||
str = gSpeciesNames[num];
|
||||
@ -1773,7 +1773,7 @@ void sub_80BD2B4(u16 a, u16 b)
|
||||
u8 i;
|
||||
u16 unk;
|
||||
u8 spriteId;
|
||||
|
||||
|
||||
gPaletteFade.bufferTransferDisabled = TRUE;
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
@ -1803,13 +1803,13 @@ void sub_80BD2B4(u16 a, u16 b)
|
||||
gSprites[spriteId].callback = sub_80BE4E0;
|
||||
gSprites[spriteId].data[5] = 32;
|
||||
}
|
||||
|
||||
|
||||
sub_80BCE84(0, a, b);
|
||||
SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D);
|
||||
|
||||
gUnknown_02039B4C->unk630 = 0;
|
||||
gUnknown_02039B4C->unk632 = 0;
|
||||
|
||||
|
||||
gPaletteFade.bufferTransferDisabled = FALSE;
|
||||
}
|
||||
|
||||
@ -1897,7 +1897,7 @@ u16 sub_80BD69C(u16 a, u16 b)
|
||||
u8 i;
|
||||
u16 r6;
|
||||
u8 r10 = 0;
|
||||
|
||||
|
||||
if ((gMain.heldKeys & DPAD_UP) && (a > 0))
|
||||
{
|
||||
r10 = 1;
|
||||
@ -1917,7 +1917,7 @@ u16 sub_80BD69C(u16 a, u16 b)
|
||||
else if ((gMain.newKeys & DPAD_LEFT) && (a > 0))
|
||||
{
|
||||
r6 = a;
|
||||
|
||||
|
||||
for (i = 0; i < 7; i++)
|
||||
a = sub_80C0E0C(1, a, 0, gUnknown_02039B4C->pokemonListCount - 1);
|
||||
gUnknown_02039B4C->unk62C += 16 * (a - r6);
|
||||
@ -1935,13 +1935,13 @@ u16 sub_80BD69C(u16 a, u16 b)
|
||||
sub_80BD2B4(a, 0xE);
|
||||
PlaySE(SE_Z_PAGE);
|
||||
}
|
||||
|
||||
|
||||
if (r10 == 0)
|
||||
{
|
||||
gUnknown_02039B4C->unk638 = 0;
|
||||
return a;
|
||||
}
|
||||
|
||||
|
||||
r5 = gUnknown_0855D28C[gUnknown_02039B4C->unk638 / 4];
|
||||
r3 = gUnknown_0855D291[gUnknown_02039B4C->unk638 / 4];
|
||||
gUnknown_02039B4C->unk62E = r3;
|
||||
@ -2030,7 +2030,7 @@ u8 sub_80BDA40(void)
|
||||
{
|
||||
if (gUnknown_02039B4C->unk61E[i] != 0xFFFF)
|
||||
{
|
||||
sub_818D820(gUnknown_02039B4C->unk61E[i]);
|
||||
FreeAndDestroyMonPicSprite(gUnknown_02039B4C->unk61E[i]);
|
||||
gUnknown_02039B4C->unk61E[i] |= 0xFFFF;
|
||||
}
|
||||
}
|
||||
@ -2109,7 +2109,7 @@ void sub_80BDB7C(u8 a)
|
||||
if (a == 0)
|
||||
{
|
||||
u32 _a;
|
||||
|
||||
|
||||
if (!IsNationalPokedexEnabled())
|
||||
{
|
||||
CreateSprite(&gUnknown_0855D1F4, 32, 40, 1);
|
||||
@ -2160,22 +2160,22 @@ void sub_80BDB7C(u8 a)
|
||||
else
|
||||
{
|
||||
u16 r6;
|
||||
|
||||
|
||||
CreateSprite(&gUnknown_0855D1F4, 32, 40, 1);
|
||||
|
||||
spriteId = CreateSprite(&gUnknown_0855D1F4, 32, 76, 1);
|
||||
StartSpriteAnim(&gSprites[spriteId], 1);
|
||||
|
||||
CreateSprite(&gUnknown_0855D20C, 17, 45, 1);
|
||||
|
||||
|
||||
spriteId = CreateSprite(&gUnknown_0855D20C, 17, 55, 1);
|
||||
StartSpriteAnim(&gSprites[spriteId], 1);
|
||||
|
||||
CreateSprite(&gUnknown_0855D20C, 17, 81, 1);
|
||||
|
||||
|
||||
spriteId = CreateSprite(&gUnknown_0855D20C, 17, 91, 1);
|
||||
StartSpriteAnim(&gSprites[spriteId], 1);
|
||||
|
||||
|
||||
r6 = GetHoennPokedexCount(0);
|
||||
_a = 0;
|
||||
|
||||
@ -2197,9 +2197,9 @@ void sub_80BDB7C(u8 a)
|
||||
spriteId = CreateSprite(&gUnknown_0855D23C, 56, 45, 1);
|
||||
r5 = (r6 % 100) % 10;
|
||||
StartSpriteAnim(&gSprites[spriteId], r5);
|
||||
|
||||
|
||||
_a = 0;
|
||||
|
||||
|
||||
spriteId = CreateSprite(&gUnknown_0855D23C, 40, 55, 1);
|
||||
r5 = gUnknown_02039B4C->unk61A / 100;
|
||||
StartSpriteAnim(&gSprites[spriteId], r5);
|
||||
@ -2207,21 +2207,21 @@ void sub_80BDB7C(u8 a)
|
||||
_a = 1;
|
||||
else
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
|
||||
|
||||
spriteId = CreateSprite(&gUnknown_0855D23C, 48, 55, 1);
|
||||
r5 = (gUnknown_02039B4C->unk61A % 100) / 10;
|
||||
if (r5 != 0 || _a != 0)
|
||||
StartSpriteAnim(&gSprites[spriteId], r5);
|
||||
else
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
|
||||
|
||||
spriteId = CreateSprite(&gUnknown_0855D23C, 56, 55, 1);
|
||||
r5 = (gUnknown_02039B4C->unk61A % 100) % 10;
|
||||
StartSpriteAnim(&gSprites[spriteId], r5);
|
||||
|
||||
|
||||
r6 = GetHoennPokedexCount(1);
|
||||
_a = 0;
|
||||
|
||||
|
||||
spriteId = CreateSprite(&gUnknown_0855D23C, 40, 81, 1);
|
||||
r5 = r6 / 100;
|
||||
StartSpriteAnim(&gSprites[spriteId], r5);
|
||||
@ -2229,20 +2229,20 @@ void sub_80BDB7C(u8 a)
|
||||
_a = 1;
|
||||
else
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
|
||||
|
||||
spriteId = CreateSprite(&gUnknown_0855D23C, 48, 81, 1);
|
||||
r5 = (r6 % 100) / 10;
|
||||
if (r5 != 0 || _a != 0)
|
||||
StartSpriteAnim(&gSprites[spriteId], r5);
|
||||
else
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
|
||||
|
||||
spriteId = CreateSprite(&gUnknown_0855D23C, 56, 81, 1);
|
||||
r5 = (r6 % 100) % 10;
|
||||
StartSpriteAnim(&gSprites[spriteId], r5);
|
||||
|
||||
|
||||
_a = 0;
|
||||
|
||||
|
||||
spriteId = CreateSprite(&gUnknown_0855D23C, 40, 91, 1);
|
||||
r5 = gUnknown_02039B4C->unk61C / 100;
|
||||
StartSpriteAnim(&gSprites[spriteId], r5);
|
||||
@ -2250,14 +2250,14 @@ void sub_80BDB7C(u8 a)
|
||||
_a = 1;
|
||||
else
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
|
||||
|
||||
spriteId = CreateSprite(&gUnknown_0855D23C, 48, 91, 1);
|
||||
r5 = (gUnknown_02039B4C->unk61C % 100) / 10;
|
||||
if (r5 != 0 || _a != 0)
|
||||
StartSpriteAnim(&gSprites[spriteId], r5);
|
||||
else
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
|
||||
|
||||
spriteId = CreateSprite(&gUnknown_0855D23C, 56, 91, 1);
|
||||
r5 = (gUnknown_02039B4C->unk61C % 100) % 10;
|
||||
StartSpriteAnim(&gSprites[spriteId], r5);
|
||||
@ -2313,7 +2313,7 @@ void sub_80BE4E0(struct Sprite *sprite)
|
||||
|
||||
if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
|
||||
{
|
||||
sub_818D820(gUnknown_02039B4C->unk61E[data1]);
|
||||
FreeAndDestroyMonPicSprite(gUnknown_02039B4C->unk61E[data1]);
|
||||
gUnknown_02039B4C->unk61E[data1] = 0xFFFF;
|
||||
}
|
||||
else
|
||||
@ -2339,7 +2339,7 @@ void sub_80BE4E0(struct Sprite *sprite)
|
||||
|
||||
if ((sprite->data[5] <= -64 || sprite->data[5] >= 64) && sprite->data[0] != 0)
|
||||
{
|
||||
sub_818D820(gUnknown_02039B4C->unk61E[data1]);
|
||||
FreeAndDestroyMonPicSprite(gUnknown_02039B4C->unk61E[data1]);
|
||||
gUnknown_02039B4C->unk61E[data1] = 0xFFFF;
|
||||
}
|
||||
}
|
||||
@ -2449,14 +2449,14 @@ void sub_80BE8DC(const u8* str, u8 left, u8 top)
|
||||
color[0] = 0;
|
||||
color[1] = 15;
|
||||
color[2] = 3;
|
||||
|
||||
|
||||
AddTextPrinterParameterized2(0, 1, left, top, 0, 0, color, -1, str);
|
||||
}
|
||||
|
||||
u8 sub_80BE91C(struct PokedexListItem* item, u8 b)
|
||||
{
|
||||
u8 taskId;
|
||||
|
||||
|
||||
gUnknown_02039B54 = item;
|
||||
taskId = CreateTask(sub_80BEA24, 0);
|
||||
gTasks[taskId].data[0] = 0;
|
||||
@ -2473,7 +2473,7 @@ u8 sub_80BE91C(struct PokedexListItem* item, u8 b)
|
||||
SetBgTilemapBuffer(0, AllocZeroed(0x800));
|
||||
InitWindows(gUnknown_0856E640);
|
||||
DeactivateAllTextPrinters();
|
||||
|
||||
|
||||
return taskId;
|
||||
}
|
||||
|
||||
@ -2518,7 +2518,7 @@ void sub_80BEA24(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
copy_decompressed_tile_data_to_vram_autofree(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
|
||||
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
|
||||
CopyToBgTilemapBuffer(3, gUnknown_08DC3080, 0, 0);
|
||||
FillWindowPixelBuffer(0, 0);
|
||||
PutWindowTilemap(0);
|
||||
@ -2703,7 +2703,7 @@ void sub_80BEFD0(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
sub_818D820(gTasks[taskId].data[4]);
|
||||
FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
|
||||
switch (gUnknown_02039B4C->unk64E)
|
||||
{
|
||||
case 1:
|
||||
@ -2724,7 +2724,7 @@ void sub_80BF038(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
sub_818D820(gTasks[taskId].data[4]);
|
||||
FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
|
||||
gTasks[taskId].func = sub_80BEA24;
|
||||
}
|
||||
}
|
||||
@ -2733,7 +2733,7 @@ void sub_80BF070(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
sub_818D820(gTasks[taskId].data[4]);
|
||||
FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
|
||||
sub_80BEDB0();
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
@ -2813,7 +2813,7 @@ void sub_80BF250(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
copy_decompressed_tile_data_to_vram_autofree(3, &gPokedexMenu_Gfx, 0x2000, 0, 0);
|
||||
DecompressAndLoadBgGfxUsingHeap(3, &gPokedexMenu_Gfx, 0x2000, 0, 0);
|
||||
CopyToBgTilemapBuffer(3, &gUnknown_08DC3198, 0, 0);
|
||||
FillWindowPixelBuffer(0, 0);
|
||||
PutWindowTilemap(0);
|
||||
@ -2960,7 +2960,7 @@ void sub_80BF790(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
sub_8145914();
|
||||
sub_818D820(gTasks[taskId].data[4]);
|
||||
FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
|
||||
switch (gUnknown_02039B4C->unk64E)
|
||||
{
|
||||
default:
|
||||
@ -3007,7 +3007,7 @@ void sub_80BF82C(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
copy_decompressed_tile_data_to_vram_autofree(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
|
||||
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
|
||||
CopyToBgTilemapBuffer(3, gUnknown_08DC2E6C, 0, 0);
|
||||
FillWindowPixelBuffer(0, 0);
|
||||
PutWindowTilemap(0);
|
||||
@ -3109,8 +3109,8 @@ void sub_80BFC78(u8 taskId)
|
||||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
sub_818D820(gTasks[taskId].data[4]);
|
||||
sub_818D8F0(gTasks[taskId].data[5]);
|
||||
FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
|
||||
FreeAndDestroyTrainerPicSprite(gTasks[taskId].data[5]);
|
||||
switch (gUnknown_02039B4C->unk64E)
|
||||
{
|
||||
default:
|
||||
@ -3334,7 +3334,7 @@ void sub_80BFE38(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
u16 dexNum = gTasks[taskId].data[1];
|
||||
|
||||
|
||||
switch (gTasks[taskId].data[0])
|
||||
{
|
||||
case 0:
|
||||
@ -3354,7 +3354,7 @@ void sub_80BFE38(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
copy_decompressed_tile_data_to_vram_autofree(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
|
||||
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
|
||||
CopyToBgTilemapBuffer(3, gUnknown_08DC3080, 0, 0);
|
||||
FillWindowPixelBuffer(0, 0);
|
||||
PutWindowTilemap(0);
|
||||
@ -3440,7 +3440,7 @@ void blockset_load_palette_to_gpu(u8 taskId)
|
||||
buffer = GetBgTilemapBuffer(3);
|
||||
if (buffer)
|
||||
Free(buffer);
|
||||
|
||||
|
||||
species = NationalPokedexNumToSpecies(gTasks[taskId].data[1]);
|
||||
otId = ((u16)gTasks[taskId].data[13] << 16) | (u16)gTasks[taskId].data[12];
|
||||
personality = ((u16)gTasks[taskId].data[15] << 16) | (u16)gTasks[taskId].data[14];
|
||||
@ -3472,7 +3472,7 @@ void sub_80C020C(u32 num, u32 value, u32 c, u32 d)
|
||||
const u8 *text;
|
||||
const u8 *text2;
|
||||
const u8 *text3;
|
||||
|
||||
|
||||
if (d)
|
||||
sub_80BE8DC(gText_PokedexRegistration, GetStringCenterAlignXOffset(1, gText_PokedexRegistration, 0xF0), 0);
|
||||
if (value == 0)
|
||||
@ -4064,7 +4064,7 @@ void sub_80C0A88(u8 windowId, const u8 *str, u8 left, u8 top)
|
||||
color[0] = 0;
|
||||
color[1] = 15;
|
||||
color[2] = 3;
|
||||
|
||||
|
||||
AddTextPrinterParameterized2(windowId, 1, left, top, 0, 0, color, -1, str);
|
||||
}
|
||||
|
||||
@ -4107,7 +4107,7 @@ void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top)
|
||||
u8 str2[11];
|
||||
u8 i;
|
||||
u8 count;
|
||||
|
||||
|
||||
for (i = 0; i < 11; i++)
|
||||
str2[i] = CHAR_SPACE;
|
||||
for (count = 0; str[count] != CHAR_SPACE && count < 11; count++)
|
||||
@ -4232,12 +4232,12 @@ u32 sub_80C0E68(u16 a)
|
||||
u16 sub_80C0E9C(u16 num, s16 x, s16 y, u16 paletteSlot)
|
||||
{
|
||||
num = NationalPokedexNumToSpecies(num);
|
||||
return sub_818D7D8(num, 8, sub_80C0E68(num), TRUE, x, y, paletteSlot, 0xFFFF);
|
||||
return CreateMonPicSprite_HandleDeoxys(num, 8, sub_80C0E68(num), TRUE, x, y, paletteSlot, 0xFFFF);
|
||||
}
|
||||
|
||||
u16 sub_80C0EF8(u16 species, s16 x, s16 y, s8 paletteSlot)
|
||||
{
|
||||
return sub_818D8AC(species, TRUE, x, y, paletteSlot, 0xFFFF);
|
||||
return CreateTrainerPicSprite(species, TRUE, x, y, paletteSlot, 0xFFFF);
|
||||
}
|
||||
|
||||
int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8 type2)
|
||||
@ -4364,7 +4364,7 @@ u8 sub_80C1258(void)
|
||||
void sub_80C1270(const u8 *str, u32 left, u32 top)
|
||||
{
|
||||
u8 color[3];
|
||||
|
||||
|
||||
color[0] = 0;
|
||||
color[1] = 15;
|
||||
color[2] = 2;
|
||||
@ -4397,8 +4397,8 @@ void sub_80C12E0(u8 taskId)
|
||||
InitWindows(gUnknown_0856F008);
|
||||
DeactivateAllTextPrinters();
|
||||
PutWindowTilemap(0);
|
||||
copy_decompressed_tile_data_to_vram_autofree(3, gPokedexSearchMenu_Gfx, 0x2000, 0, 0);
|
||||
|
||||
DecompressAndLoadBgGfxUsingHeap(3, gPokedexSearchMenu_Gfx, 0x2000, 0, 0);
|
||||
|
||||
if (!IsNationalPokedexEnabled())
|
||||
CopyToBgTilemapBuffer(3, gPokedexSearch2_Tilemap, 0, 0);
|
||||
else
|
||||
@ -4450,7 +4450,7 @@ void sub_80C12E0(u8 taskId)
|
||||
void sub_80C152C(void)
|
||||
{
|
||||
void* tilemapBuffer;
|
||||
|
||||
|
||||
FreeAllWindowBuffers();
|
||||
tilemapBuffer = GetBgTilemapBuffer(0);
|
||||
if (tilemapBuffer)
|
||||
@ -4992,12 +4992,12 @@ void sub_80C2064(u8 a, u8 b)
|
||||
void sub_80C20F8(u8 taskId)
|
||||
{
|
||||
u16 var;
|
||||
|
||||
|
||||
sub_80C12B0(0x28, 0x10, 0x60, 0x50);
|
||||
|
||||
var = gTasks[taskId].data[6] + gTasks[taskId].data[7];
|
||||
sub_80C1270(gUnknown_0856EE5C[var].text2, 0x2D, 0x11);
|
||||
|
||||
|
||||
var = gTasks[taskId].data[8] + gTasks[taskId].data[9];
|
||||
sub_80C1270(gUnknown_0856EEB4[var].text2, 0x2D, 0x21);
|
||||
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
#include "constants/hold_effects.h"
|
||||
#include "constants/battle_move_effects.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/battle_frontier.h"
|
||||
#include "string_util.h"
|
||||
#include "text.h"
|
||||
#include "link.h"
|
||||
@ -80,8 +81,7 @@ extern void set_unknown_box_id(u8);
|
||||
extern void sub_803FA70(u8 battlerId);
|
||||
extern u8 sav1_map_get_name(void);
|
||||
extern const u8 *sub_81A1650(u8, u8 language);
|
||||
extern u8 BattleFrontierGetOpponentLvl(u8);
|
||||
extern u16 FacilityClassToPicIndex(u16);
|
||||
extern u8 GetFrontierEnemyMonLevel(u8);
|
||||
extern bool8 InBattlePyramid(void);
|
||||
extern bool8 InBattlePike(void);
|
||||
extern bool8 sub_806F104(void);
|
||||
@ -955,7 +955,7 @@ const u16 gHoennToNationalOrder[] = // Assigns Hoenn Dex Pokémon (Using Nationa
|
||||
NATIONAL_DEX_BLAZIKEN, // HOENN_DEX_BLAZIKEN
|
||||
NATIONAL_DEX_MUDKIP, // HOENN_DEX_MUDKIP
|
||||
NATIONAL_DEX_MARSHTOMP, // HOENN_DEX_MARSHTOMP
|
||||
NATIONAL_DEX_SWAMPERT, // HOENN_DEX_SWAMPERT
|
||||
NATIONAL_DEX_SWAMPERT, // HOENN_DEX_SWAMPERT
|
||||
NATIONAL_DEX_POOCHYENA, // HOENN_DEX_POOCHYENA
|
||||
NATIONAL_DEX_MIGHTYENA, // HOENN_DEX_MIGHTYENA
|
||||
NATIONAL_DEX_ZIGZAGOON, // HOENN_DEX_ZIGZAGOON
|
||||
@ -2819,8 +2819,8 @@ void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lv
|
||||
u8 language;
|
||||
u8 value;
|
||||
|
||||
if (gSaveBlock2Ptr->frontier.chosenLvl != 0)
|
||||
level = BattleFrontierGetOpponentLvl(gSaveBlock2Ptr->frontier.chosenLvl);
|
||||
if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50)
|
||||
level = GetFrontierEnemyMonLevel(gSaveBlock2Ptr->frontier.lvlMode);
|
||||
else if (lvl50)
|
||||
level = 50;
|
||||
else
|
||||
@ -2884,7 +2884,7 @@ void sub_8068528(struct Pokemon *mon, const struct UnknownPokemonStruct2 *src, u
|
||||
|
||||
CreateMon(mon,
|
||||
src->mons[monId].species,
|
||||
BattleFrontierGetOpponentLvl(src->field_0_1 - 1),
|
||||
GetFrontierEnemyMonLevel(src->field_0_1 - 1),
|
||||
0x1F,
|
||||
TRUE,
|
||||
personality,
|
||||
@ -7118,9 +7118,9 @@ u16 FacilityClassToPicIndex(u16 facilityClass)
|
||||
u16 PlayerGenderToFrontTrainerPicId(u8 playerGender)
|
||||
{
|
||||
if (playerGender != MALE)
|
||||
return FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_BRENDAN);
|
||||
else
|
||||
return FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_MAY);
|
||||
else
|
||||
return FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_BRENDAN);
|
||||
}
|
||||
|
||||
void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality)
|
||||
|
||||
@ -1635,8 +1635,8 @@ void sub_80E8260(struct UnkRecordMixingStruct2 *dst)
|
||||
dst->field_0[0][i].field_4 = gSaveBlock2Ptr->frontier.field_CF0[i];
|
||||
dst->field_0[1][i].field_4 = gSaveBlock2Ptr->frontier.field_CF4[i];
|
||||
dst->field_0[2][i].field_4 = gSaveBlock2Ptr->frontier.field_CF8[i];
|
||||
dst->field_0[3][i].field_4 = gSaveBlock2Ptr->frontier.field_D14[i];
|
||||
dst->field_0[4][i].field_4 = gSaveBlock2Ptr->frontier.field_DD0[i];
|
||||
dst->field_0[3][i].field_4 = gSaveBlock2Ptr->frontier.field_D14[0][i];
|
||||
dst->field_0[4][i].field_4 = gSaveBlock2Ptr->frontier.field_DD0[0][i];
|
||||
dst->field_0[5][i].field_4 = gSaveBlock2Ptr->frontier.field_DDE[i];
|
||||
dst->field_0[6][i].field_4 = gSaveBlock2Ptr->frontier.field_DEA[i];
|
||||
dst->field_0[7][i].field_4 = gSaveBlock2Ptr->frontier.field_E08[i];
|
||||
|
||||
@ -1293,7 +1293,7 @@ static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst)
|
||||
|
||||
static void CB2_RecordedBattleEnd(void)
|
||||
{
|
||||
gSaveBlock2Ptr->frontier.chosenLvl = sUnknown_0203C7AD;
|
||||
gSaveBlock2Ptr->frontier.lvlMode = sUnknown_0203C7AD;
|
||||
gBattleOutcome = 0;
|
||||
gBattleTypeFlags = 0;
|
||||
gTrainerBattleOpponent_A = 0;
|
||||
@ -1353,7 +1353,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src)
|
||||
gTrainerBattleOpponent_B = src->opponentB;
|
||||
gPartnerTrainerId = src->partnerId;
|
||||
gUnknown_0203C7B4 = src->field_4FA;
|
||||
sUnknown_0203C7AD = gSaveBlock2Ptr->frontier.chosenLvl;
|
||||
sUnknown_0203C7AD = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
sFrontierFacility = src->field_4FD;
|
||||
sUnknown_0203C7AF = src->field_4FE;
|
||||
sBattleStyle = src->battleStyle;
|
||||
@ -1375,7 +1375,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src)
|
||||
sUnknown_0203CCDC[i] = src->field_50E[i];
|
||||
}
|
||||
|
||||
gSaveBlock2Ptr->frontier.chosenLvl = src->field_4FC;
|
||||
gSaveBlock2Ptr->frontier.lvlMode = src->field_4FC;
|
||||
|
||||
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
|
||||
{
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
#include "constants/maps.h"
|
||||
#include "constants/species.h"
|
||||
#include "constants/rgb.h"
|
||||
#include "constants/battle_frontier.h"
|
||||
#include "trade.h"
|
||||
#include "trainer_card.h"
|
||||
#include "overworld.h"
|
||||
@ -468,7 +469,7 @@ void sub_8012780(u8 taskId)
|
||||
switch (data->state)
|
||||
{
|
||||
case 0:
|
||||
if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.chosenLvl == 1)
|
||||
if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN)
|
||||
gSpecialVar_0x8004++;
|
||||
gUnknown_02022C2C = gUnknown_082F00C4[gSpecialVar_0x8004];
|
||||
gUnknown_02022C2D = gUnknown_082F00C4[gSpecialVar_0x8004] >> 8;
|
||||
@ -1050,7 +1051,7 @@ void sub_80134E8(u8 taskId)
|
||||
switch (data->state)
|
||||
{
|
||||
case 0:
|
||||
if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.chosenLvl == 1)
|
||||
if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_OPEN)
|
||||
gSpecialVar_0x8004++;
|
||||
gUnknown_02022C2C = gUnknown_082F0530[gSpecialVar_0x8004];
|
||||
sub_8010F84(gUnknown_02022C2C, 0, 0);
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
#include "international_string_util.h"
|
||||
#include "trig.h"
|
||||
#include "scanline_effect.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
|
||||
#define STARTER_MON_COUNT 3
|
||||
|
||||
@ -48,12 +49,6 @@ extern const u8 gStarterChoose_LabelCoords[][2];
|
||||
extern const u8 gUnknown_085B1E0C[];
|
||||
extern const u8 gUnknown_085B1E28[][2];
|
||||
|
||||
extern void clear_scheduled_bg_copies_to_vram(void);
|
||||
extern void dp13_810BB8C(void);
|
||||
extern void do_scheduled_bg_tilemap_copies_to_vram(void);
|
||||
extern u16 sub_818D820(u16);
|
||||
extern u8 sub_818D3E4(u16 species, u32 trainerId, u32 personality, u8 flags, s16 x, s16 y, u8, u16);
|
||||
|
||||
// this file's functions
|
||||
static void MainCallback2_StarterChoose(void);
|
||||
static void sub_8134604(void);
|
||||
@ -132,7 +127,7 @@ void CB2_ChooseStarter(void)
|
||||
ResetSpriteData();
|
||||
ResetPaletteFade();
|
||||
FreeAllSpritePalettes();
|
||||
dp13_810BB8C();
|
||||
ResetAllPicSprites();
|
||||
|
||||
LoadPalette(GetOverworldTextboxPalettePtr(), 0xE0, 0x20);
|
||||
LoadPalette(gBirchBagGrassPal, 0, 0x40);
|
||||
@ -263,7 +258,7 @@ static void Task_StarterChoose5(u8 taskId)
|
||||
case 0: // YES
|
||||
// Return the starter choice and exit.
|
||||
gSpecialVar_Result = gTasks[taskId].tStarterSelection;
|
||||
dp13_810BB8C();
|
||||
ResetAllPicSprites();
|
||||
SetMainCallback2(gMain.savedCallback);
|
||||
break;
|
||||
case 1: // NO
|
||||
@ -271,7 +266,7 @@ static void Task_StarterChoose5(u8 taskId)
|
||||
PlaySE(SE_SELECT);
|
||||
spriteId = gTasks[taskId].tPkmnSpriteId;
|
||||
FreeOamMatrix(gSprites[spriteId].oam.matrixNum);
|
||||
sub_818D820(spriteId);
|
||||
FreeAndDestroyMonPicSprite(spriteId);
|
||||
|
||||
spriteId = gTasks[taskId].tCircleSpriteId;
|
||||
FreeOamMatrix(gSprites[spriteId].oam.matrixNum);
|
||||
@ -349,7 +344,7 @@ static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
spriteId = sub_818D3E4(species, 8, 0, 1, x, y, 0xE, 0xFFFF);
|
||||
spriteId = CreatePicSprite2(species, 8, 0, 1, x, y, 0xE, 0xFFFF);
|
||||
gSprites[spriteId].oam.priority = 0;
|
||||
return spriteId;
|
||||
}
|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
#include "sprite.h"
|
||||
#include "window.h"
|
||||
@ -7,7 +5,10 @@
|
||||
#include "constants/species.h"
|
||||
#include "palette.h"
|
||||
#include "decompress.h"
|
||||
#include "battle_dome_cards.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
#include "data2.h"
|
||||
#include "pokemon.h"
|
||||
#include "constants/trainers.h"
|
||||
|
||||
extern const struct CompressedSpriteSheet gMonFrontPicTable[NUM_SPECIES];
|
||||
extern const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES];
|
||||
@ -19,11 +20,10 @@ extern const union AffineAnimCmd *const gUnknown_082FF694[];
|
||||
extern const union AnimCmd *const gPlayerMonSpriteAnimsTable[];
|
||||
extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[NUM_SPECIES];
|
||||
extern const union AnimCmd *const *const gUnknown_0830536C[];
|
||||
extern const u8 gFacilityClassToPicIndex[];
|
||||
|
||||
// Static type declarations
|
||||
|
||||
struct BattleDomeCard
|
||||
struct PicData
|
||||
{
|
||||
u8 *frames;
|
||||
struct SpriteFrameImage *images;
|
||||
@ -33,15 +33,16 @@ struct BattleDomeCard
|
||||
};
|
||||
|
||||
// Static RAM declarations
|
||||
#define PICS_COUNT 8
|
||||
|
||||
static EWRAM_DATA struct SpriteTemplate gUnknown_0203CCEC = {};
|
||||
static EWRAM_DATA struct BattleDomeCard gUnknown_0203CD04[8] = {};
|
||||
static EWRAM_DATA struct SpriteTemplate sCreatingSpriteTemplate = {};
|
||||
static EWRAM_DATA struct PicData sSpritePics[PICS_COUNT] = {};
|
||||
|
||||
// Static ROM declarations
|
||||
|
||||
// .rodata
|
||||
|
||||
static const struct BattleDomeCard gUnknown_0860B058 = {};
|
||||
static const struct PicData sDummyPicData = {};
|
||||
static const struct OamData gUnknown_0860B064 =
|
||||
{
|
||||
.size = 3
|
||||
@ -53,80 +54,67 @@ static const struct OamData gUnknown_0860B06C =
|
||||
|
||||
// .text
|
||||
|
||||
static void nullsub_122(struct Sprite *sprite)
|
||||
static void DummyPicSpriteCallback(struct Sprite *sprite)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
bool16 dp13_810BB8C(void)
|
||||
bool16 ResetAllPicSprites(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 8; i ++)
|
||||
{
|
||||
gUnknown_0203CD04[i] = gUnknown_0860B058;
|
||||
}
|
||||
for (i = 0; i < PICS_COUNT; i ++)
|
||||
sSpritePics[i] = sDummyPicData;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool16 load_pokemon_image_TODO(u16 species, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer, bool8 ignoreDeoxys)
|
||||
static bool16 DecompressPic(u16 species, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer, bool8 ignoreDeoxys)
|
||||
{
|
||||
if (!isTrainer)
|
||||
{
|
||||
if (isFrontPic)
|
||||
{
|
||||
if (!ignoreDeoxys)
|
||||
{
|
||||
LoadSpecialPokePic(&gMonFrontPicTable[species], dest, species, personality, isFrontPic);
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], dest, species, personality, isFrontPic);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ignoreDeoxys)
|
||||
{
|
||||
LoadSpecialPokePic(&gMonBackPicTable[species], dest, species, personality, isFrontPic);
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species], dest, species, personality, isFrontPic);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isFrontPic)
|
||||
{
|
||||
DecompressPicFromTable(&gTrainerFrontPicTable[species], dest, species);
|
||||
}
|
||||
else
|
||||
{
|
||||
DecompressPicFromTable(&gTrainerBackPicTable[species], dest, species);
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool16 sub_818D09C(u16 species, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer)
|
||||
static bool16 DecompressPic_HandleDeoxys(u16 species, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer)
|
||||
{
|
||||
return load_pokemon_image_TODO(species, personality, isFrontPic, dest, isTrainer, FALSE);
|
||||
return DecompressPic(species, personality, isFrontPic, dest, isTrainer, FALSE);
|
||||
}
|
||||
|
||||
static void sub_818D0C4(u16 species, u32 otId, u32 personality, u8 paletteSlot, u16 paletteTag, bool8 isTrainer)
|
||||
static void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 paletteSlot, u16 paletteTag, bool8 isTrainer)
|
||||
{
|
||||
if (!isTrainer)
|
||||
{
|
||||
if (paletteTag == 0xFFFF)
|
||||
{
|
||||
gUnknown_0203CCEC.paletteTag |= 0xFFFF;
|
||||
sCreatingSpriteTemplate.paletteTag |= 0xFFFF;
|
||||
LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20);
|
||||
}
|
||||
else
|
||||
{
|
||||
gUnknown_0203CCEC.paletteTag = paletteTag;
|
||||
sCreatingSpriteTemplate.paletteTag = paletteTag;
|
||||
LoadCompressedObjectPalette(GetMonSpritePalStructFromOtIdPersonality(species, otId, personality));
|
||||
}
|
||||
}
|
||||
@ -134,42 +122,34 @@ static void sub_818D0C4(u16 species, u32 otId, u32 personality, u8 paletteSlot,
|
||||
{
|
||||
if (paletteTag == 0xFFFF)
|
||||
{
|
||||
gUnknown_0203CCEC.paletteTag |= 0xFFFF;
|
||||
sCreatingSpriteTemplate.paletteTag |= 0xFFFF;
|
||||
LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, 0x100 + paletteSlot * 0x10, 0x20);
|
||||
}
|
||||
else
|
||||
{
|
||||
gUnknown_0203CCEC.paletteTag = paletteTag;
|
||||
sCreatingSpriteTemplate.paletteTag = paletteTag;
|
||||
LoadCompressedObjectPalette(&gTrainerFrontPicPaletteTable[species]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_818D180(u16 species, u32 otId, u32 personality, u8 paletteSlot, bool8 isTrainer)
|
||||
static void LoadPicPaletteBySlot(u16 species, u32 otId, u32 personality, u8 paletteSlot, bool8 isTrainer)
|
||||
{
|
||||
if (!isTrainer)
|
||||
{
|
||||
LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), paletteSlot * 0x10, 0x20);
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, paletteSlot * 0x10, 0x20);
|
||||
}
|
||||
}
|
||||
|
||||
static void uns_builder_assign_animtable1(bool8 isTrainer)
|
||||
static void AssignSpriteAnimsTable(bool8 isTrainer)
|
||||
{
|
||||
if (!isTrainer)
|
||||
{
|
||||
gUnknown_0203CCEC.anims = gPlayerMonSpriteAnimsTable;
|
||||
}
|
||||
sCreatingSpriteTemplate.anims = gPlayerMonSpriteAnimsTable;
|
||||
else
|
||||
{
|
||||
gUnknown_0203CCEC.anims = gUnknown_0830536C[0];
|
||||
}
|
||||
sCreatingSpriteTemplate.anims = gUnknown_0830536C[0];
|
||||
}
|
||||
|
||||
static u16 oamt_spawn_poke_or_trainer_picture(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 isTrainer, bool8 ignoreDeoxys)
|
||||
static u16 CreatePicSprite(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 isTrainer, bool8 ignoreDeoxys)
|
||||
{
|
||||
u8 i;
|
||||
u8 *framePics;
|
||||
@ -177,14 +157,14 @@ static u16 oamt_spawn_poke_or_trainer_picture(u16 species, u32 otId, u32 persona
|
||||
int j;
|
||||
u8 spriteId;
|
||||
|
||||
for (i = 0; i < 8; i ++)
|
||||
for (i = 0; i < PICS_COUNT; i ++)
|
||||
{
|
||||
if (!gUnknown_0203CD04[i].active)
|
||||
if (!sSpritePics[i].active)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (i == 8)
|
||||
if (i == PICS_COUNT)
|
||||
{
|
||||
return 0xFFFF;
|
||||
}
|
||||
@ -199,7 +179,7 @@ static u16 oamt_spawn_poke_or_trainer_picture(u16 species, u32 otId, u32 persona
|
||||
Free(framePics);
|
||||
return 0xFFFF;
|
||||
}
|
||||
if (load_pokemon_image_TODO(species, personality, isFrontPic, framePics, isTrainer, ignoreDeoxys))
|
||||
if (DecompressPic(species, personality, isFrontPic, framePics, isTrainer, ignoreDeoxys))
|
||||
{
|
||||
// debug trap?
|
||||
return 0xFFFF;
|
||||
@ -209,32 +189,32 @@ static u16 oamt_spawn_poke_or_trainer_picture(u16 species, u32 otId, u32 persona
|
||||
images[j].data = framePics + 0x800 * j;
|
||||
images[j].size = 0x800;
|
||||
}
|
||||
gUnknown_0203CCEC.tileTag = 0xFFFF;
|
||||
gUnknown_0203CCEC.oam = &gUnknown_0860B064;
|
||||
uns_builder_assign_animtable1(isTrainer);
|
||||
gUnknown_0203CCEC.images = images;
|
||||
gUnknown_0203CCEC.affineAnims = gDummySpriteAffineAnimTable;
|
||||
gUnknown_0203CCEC.callback = nullsub_122;
|
||||
sub_818D0C4(species, otId, personality, paletteSlot, paletteTag, isTrainer);
|
||||
spriteId = CreateSprite(&gUnknown_0203CCEC, x, y, 0);
|
||||
sCreatingSpriteTemplate.tileTag = 0xFFFF;
|
||||
sCreatingSpriteTemplate.oam = &gUnknown_0860B064;
|
||||
AssignSpriteAnimsTable(isTrainer);
|
||||
sCreatingSpriteTemplate.images = images;
|
||||
sCreatingSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||
sCreatingSpriteTemplate.callback = DummyPicSpriteCallback;
|
||||
LoadPicPaletteByTagOrSlot(species, otId, personality, paletteSlot, paletteTag, isTrainer);
|
||||
spriteId = CreateSprite(&sCreatingSpriteTemplate, x, y, 0);
|
||||
if (paletteTag == 0xFFFF)
|
||||
{
|
||||
gSprites[spriteId].oam.paletteNum = paletteSlot;
|
||||
}
|
||||
gUnknown_0203CD04[i].frames = framePics;
|
||||
gUnknown_0203CD04[i].images = images;
|
||||
gUnknown_0203CD04[i].paletteTag = paletteTag;
|
||||
gUnknown_0203CD04[i].spriteId = spriteId;
|
||||
gUnknown_0203CD04[i].active = TRUE;
|
||||
sSpritePics[i].frames = framePics;
|
||||
sSpritePics[i].images = images;
|
||||
sSpritePics[i].paletteTag = paletteTag;
|
||||
sSpritePics[i].spriteId = spriteId;
|
||||
sSpritePics[i].active = TRUE;
|
||||
return spriteId;
|
||||
}
|
||||
|
||||
static u16 sub_818D384(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 isTrainer)
|
||||
static u16 CreatePicSprite_HandleDeoxys(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 isTrainer)
|
||||
{
|
||||
return oamt_spawn_poke_or_trainer_picture(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, isTrainer, FALSE);
|
||||
return CreatePicSprite(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, isTrainer, FALSE);
|
||||
}
|
||||
|
||||
u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag)
|
||||
u16 CreatePicSprite2(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag)
|
||||
{
|
||||
u8 *framePics;
|
||||
struct SpriteFrameImage *images;
|
||||
@ -243,14 +223,14 @@ u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y,
|
||||
u8 spriteId;
|
||||
u8 flags2;
|
||||
|
||||
for (i = 0; i < 8; i ++)
|
||||
for (i = 0; i < PICS_COUNT; i ++)
|
||||
{
|
||||
if (!gUnknown_0203CD04[i].active)
|
||||
if (!sSpritePics[i].active)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (i == 8)
|
||||
if (i == PICS_COUNT)
|
||||
{
|
||||
return 0xFFFF;
|
||||
}
|
||||
@ -274,7 +254,7 @@ u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y,
|
||||
Free(framePics);
|
||||
return 0xFFFF;
|
||||
}
|
||||
if (load_pokemon_image_TODO(species, personality, flags, framePics, FALSE, FALSE))
|
||||
if (DecompressPic(species, personality, flags, framePics, FALSE, FALSE))
|
||||
{
|
||||
// debug trap?
|
||||
return 0xFFFF;
|
||||
@ -284,76 +264,76 @@ u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y,
|
||||
images[j].data = framePics + 0x800 * j;
|
||||
images[j].size = 0x800;
|
||||
}
|
||||
gUnknown_0203CCEC.tileTag = 0xFFFF;
|
||||
gUnknown_0203CCEC.anims = gMonAnimationsSpriteAnimsPtrTable[species];
|
||||
gUnknown_0203CCEC.images = images;
|
||||
sCreatingSpriteTemplate.tileTag = 0xFFFF;
|
||||
sCreatingSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species];
|
||||
sCreatingSpriteTemplate.images = images;
|
||||
if (flags2 == 0x01)
|
||||
{
|
||||
gUnknown_0203CCEC.affineAnims = gUnknown_082FF694;
|
||||
gUnknown_0203CCEC.oam = &gUnknown_0860B06C;
|
||||
sCreatingSpriteTemplate.affineAnims = gUnknown_082FF694;
|
||||
sCreatingSpriteTemplate.oam = &gUnknown_0860B06C;
|
||||
}
|
||||
else if (flags2 == 0x00)
|
||||
{
|
||||
gUnknown_0203CCEC.affineAnims = gUnknown_082FF618;
|
||||
gUnknown_0203CCEC.oam = &gUnknown_0860B06C;
|
||||
sCreatingSpriteTemplate.affineAnims = gUnknown_082FF618;
|
||||
sCreatingSpriteTemplate.oam = &gUnknown_0860B06C;
|
||||
}
|
||||
else
|
||||
{
|
||||
gUnknown_0203CCEC.oam = &gUnknown_0860B064;
|
||||
gUnknown_0203CCEC.affineAnims = gDummySpriteAffineAnimTable;
|
||||
sCreatingSpriteTemplate.oam = &gUnknown_0860B064;
|
||||
sCreatingSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||
}
|
||||
gUnknown_0203CCEC.callback = nullsub_122;
|
||||
sub_818D0C4(species, otId, personality, paletteSlot, paletteTag, FALSE);
|
||||
spriteId = CreateSprite(&gUnknown_0203CCEC, x, y, 0);
|
||||
sCreatingSpriteTemplate.callback = DummyPicSpriteCallback;
|
||||
LoadPicPaletteByTagOrSlot(species, otId, personality, paletteSlot, paletteTag, FALSE);
|
||||
spriteId = CreateSprite(&sCreatingSpriteTemplate, x, y, 0);
|
||||
if (paletteTag == 0xFFFF)
|
||||
{
|
||||
gSprites[spriteId].oam.paletteNum = paletteSlot;
|
||||
}
|
||||
gUnknown_0203CD04[i].frames = framePics;
|
||||
gUnknown_0203CD04[i].images = images;
|
||||
gUnknown_0203CD04[i].paletteTag = paletteTag;
|
||||
gUnknown_0203CD04[i].spriteId = spriteId;
|
||||
gUnknown_0203CD04[i].active = TRUE;
|
||||
sSpritePics[i].frames = framePics;
|
||||
sSpritePics[i].images = images;
|
||||
sSpritePics[i].paletteTag = paletteTag;
|
||||
sSpritePics[i].spriteId = spriteId;
|
||||
sSpritePics[i].active = TRUE;
|
||||
return spriteId;
|
||||
}
|
||||
|
||||
static u16 sub_818D5B0(u16 spriteId)
|
||||
static u16 FreeAndDestroyPicSpriteInternal(u16 spriteId)
|
||||
{
|
||||
u8 i;
|
||||
u8 *framePics;
|
||||
struct SpriteFrameImage *images;
|
||||
|
||||
for (i = 0; i < 8; i ++)
|
||||
for (i = 0; i < PICS_COUNT; i ++)
|
||||
{
|
||||
if (gUnknown_0203CD04[i].spriteId == spriteId)
|
||||
if (sSpritePics[i].spriteId == spriteId)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (i == 8)
|
||||
if (i == PICS_COUNT)
|
||||
{
|
||||
return 0xFFFF;
|
||||
}
|
||||
framePics = gUnknown_0203CD04[i].frames;
|
||||
images = gUnknown_0203CD04[i].images;
|
||||
if (gUnknown_0203CD04[i].paletteTag != 0xFFFF)
|
||||
framePics = sSpritePics[i].frames;
|
||||
images = sSpritePics[i].images;
|
||||
if (sSpritePics[i].paletteTag != 0xFFFF)
|
||||
{
|
||||
FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[spriteId].oam.paletteNum));
|
||||
}
|
||||
DestroySprite(&gSprites[spriteId]);
|
||||
Free(framePics);
|
||||
Free(images);
|
||||
gUnknown_0203CD04[i] = gUnknown_0860B058;
|
||||
sSpritePics[i] = sDummyPicData;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static u16 sub_818D65C(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u8 paletteSlot, u8 windowId, bool8 isTrainer)
|
||||
{
|
||||
if (sub_818D09C(species, personality, isFrontPic, (u8 *)GetWindowAttribute(windowId, WINDOW_TILE_DATA), FALSE))
|
||||
if (DecompressPic_HandleDeoxys(species, personality, isFrontPic, (u8 *)GetWindowAttribute(windowId, WINDOW_TILE_DATA), FALSE))
|
||||
{
|
||||
return 0xFFFF;
|
||||
}
|
||||
sub_818D180(species, otId, personality, paletteSlot, isTrainer);
|
||||
LoadPicPaletteBySlot(species, otId, personality, paletteSlot, isTrainer);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -362,29 +342,29 @@ static u16 sub_818D6CC(u16 species, u32 otId, u32 personality, bool8 isFrontPic,
|
||||
u8 *framePics;
|
||||
|
||||
framePics = Alloc(4 * 0x800);
|
||||
if (framePics && !sub_818D09C(species, personality, isFrontPic, framePics, isTrainer))
|
||||
if (framePics && !DecompressPic_HandleDeoxys(species, personality, isFrontPic, framePics, isTrainer))
|
||||
{
|
||||
BlitBitmapRectToWindow(windowId, framePics, 0, 0, 0x40, 0x40, destX, destY, 0x40, 0x40);
|
||||
sub_818D180(species, otId, personality, paletteSlot, isTrainer);
|
||||
LoadPicPaletteBySlot(species, otId, personality, paletteSlot, isTrainer);
|
||||
Free(framePics);
|
||||
return 0;
|
||||
}
|
||||
return 0xFFFF;
|
||||
}
|
||||
|
||||
static u16 sub_818D778(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 ignoreDeoxys)
|
||||
static u16 CreateMonPicSprite(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 ignoreDeoxys)
|
||||
{
|
||||
return oamt_spawn_poke_or_trainer_picture(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, FALSE, ignoreDeoxys);
|
||||
return CreatePicSprite(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, FALSE, ignoreDeoxys);
|
||||
}
|
||||
|
||||
u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag)
|
||||
u16 CreateMonPicSprite_HandleDeoxys(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag)
|
||||
{
|
||||
return sub_818D778(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, FALSE);
|
||||
return CreateMonPicSprite(species, otId, personality, isFrontPic, x, y, paletteSlot, paletteTag, FALSE);
|
||||
}
|
||||
|
||||
u16 sub_818D820(u16 spriteId)
|
||||
u16 FreeAndDestroyMonPicSprite(u16 spriteId)
|
||||
{
|
||||
return sub_818D5B0(spriteId);
|
||||
return FreeAndDestroyPicSpriteInternal(spriteId);
|
||||
}
|
||||
|
||||
u16 sub_818D834(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u8 paletteSlot, u8 windowId)
|
||||
@ -397,14 +377,14 @@ u16 sub_818D864(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u16 de
|
||||
return sub_818D6CC(species, otId, personality, isFrontPic, destX, destY, paletteSlot, windowId, FALSE);
|
||||
}
|
||||
|
||||
u16 sub_818D8AC(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag)
|
||||
u16 CreateTrainerPicSprite(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag)
|
||||
{
|
||||
return sub_818D384(species, 0, 0, isFrontPic, x, y, paletteSlot, paletteTag, TRUE);
|
||||
return CreatePicSprite_HandleDeoxys(species, 0, 0, isFrontPic, x, y, paletteSlot, paletteTag, TRUE);
|
||||
}
|
||||
|
||||
u16 sub_818D8F0(u16 spriteId)
|
||||
u16 FreeAndDestroyTrainerPicSprite(u16 spriteId)
|
||||
{
|
||||
return sub_818D5B0(spriteId);
|
||||
return FreeAndDestroyPicSpriteInternal(spriteId);
|
||||
}
|
||||
|
||||
u16 sub_818D904(u16 species, bool8 isFrontPic, u8 paletteSlot, u8 windowId)
|
||||
@ -417,17 +397,17 @@ u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteS
|
||||
return sub_818D6CC(species, 0, 0, isFrontPic, destX, destY, paletteSlot, windowId, TRUE);
|
||||
}
|
||||
|
||||
u8 sub_818D97C(u8 a0, u8 a1)
|
||||
u16 PlayerGenderToFrontTrainerPicId_Debug(u8 gender, bool8 getClass)
|
||||
{
|
||||
if (a1 == 1)
|
||||
if (getClass == TRUE)
|
||||
{
|
||||
switch (a0)
|
||||
switch (gender)
|
||||
{
|
||||
default:
|
||||
return gFacilityClassToPicIndex[0x3F];
|
||||
case 0:
|
||||
return gFacilityClassToPicIndex[0x3C];
|
||||
default:
|
||||
return gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_MAY];
|
||||
case MALE:
|
||||
return gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_BRENDAN];
|
||||
}
|
||||
}
|
||||
return a0;
|
||||
return gender;
|
||||
}
|
||||
@ -4,6 +4,7 @@
|
||||
#include "text.h"
|
||||
#include "sound.h"
|
||||
|
||||
ALIGNED(4)
|
||||
static const u8 sUnknown_08616124[] = {1, 2, 4};
|
||||
static const u16 sFont6BrailleGlyphs[] = INCBIN_U16("data/graphics/fonts/font6.fwjpnfont");
|
||||
|
||||
|
||||
@ -607,15 +607,14 @@ gUnknown_0203ABB8: @ 203ABB8
|
||||
.space 0x4 /*unused var?*/
|
||||
|
||||
.include "src/mystery_event_script.o"
|
||||
|
||||
.include "src/learn_move.o"
|
||||
.include "src/decoration_inventory.o"
|
||||
.include "src/roamer.o"
|
||||
|
||||
gUnknown_0203BC88: @ 203BC88
|
||||
gFacilityTrainers: @ 203BC88
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203BC8C: @ 203BC8C
|
||||
gFacilityTrainerMons: @ 203BC8C
|
||||
.space 0x4
|
||||
|
||||
.include "src/use_pokeblock.o"
|
||||
@ -633,20 +632,9 @@ gUnknown_0203BC8C: @ 203BC8C
|
||||
.include "src/pokeblock_feed.o"
|
||||
.include "src/intro_credits_graphics.o"
|
||||
.include "src/recorded_battle.o"
|
||||
.include "src/battle_dome_cards.o"
|
||||
.include "src/trainer_pokemon_sprites.o"
|
||||
.include "src/lilycove_lady.o"
|
||||
|
||||
gUnknown_0203CD70: @ 203CD70
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203CD74: @ 203CD74
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203CD78: @ 203CD78
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203CD7C: @ 203CD7C
|
||||
.space 0x4
|
||||
.include "src/battle_dome.o"
|
||||
|
||||
gUnknown_0203CD80: @ 203CD80
|
||||
.space 0x8
|
||||
@ -741,7 +729,7 @@ gUnknown_0203CF00: @ 203CF00
|
||||
.include "src/fldeff_groundshake.o"
|
||||
.include "src/pokemon_summary_screen.o"
|
||||
.include "src/unk_pokedex_area_screen_helper.o"
|
||||
.include "src/battle_pyramid.o"
|
||||
.include "src/battle_pyramid_bag.o"
|
||||
|
||||
gUnknown_0203CF3C: @ 203CF3C
|
||||
.space 0x4
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user