mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-11-16 11:37:40 +01:00
Merge remote-tracking branch 'upstream/master' into misc_docs
# Conflicts: # src/field_weather_effect.c
This commit is contained in:
commit
181baf9fe5
@ -6401,7 +6401,7 @@ sub_8027BEC: @ 8027BEC
|
||||
adds r0, r7, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0xD
|
||||
bl sub_8098858
|
||||
bl DrawTextBorderOuter
|
||||
adds r0, r7, 0
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
|
@ -153,19 +153,19 @@
|
||||
.byte \param4
|
||||
.endm
|
||||
|
||||
.macro loopsewithpan se:req, param1:req, param2:req, param3:req
|
||||
.macro loopsewithpan se:req, pan:req, wait:req, times:req
|
||||
.byte 0x1c
|
||||
.2byte \se
|
||||
.byte \param1
|
||||
.byte \param2
|
||||
.byte \param3
|
||||
.byte \pan
|
||||
.byte \wait
|
||||
.byte \times
|
||||
.endm
|
||||
|
||||
.macro waitplaysewithpan se:req, param1:req, param2:req
|
||||
.macro waitplaysewithpan se:req, pan:req, wait:req
|
||||
.byte 0x1d
|
||||
.2byte \se
|
||||
.byte \param1
|
||||
.byte \param2
|
||||
.byte \pan
|
||||
.byte \wait
|
||||
.endm
|
||||
|
||||
.macro setbldcnt param0:req
|
||||
|
@ -39,8 +39,8 @@ mevent_srv_new_wcard: @ 801D0A0
|
||||
.pool
|
||||
thumb_func_end mevent_srv_new_wcard
|
||||
|
||||
thumb_func_start sub_801D0C4
|
||||
sub_801D0C4: @ 801D0C4
|
||||
thumb_func_start mevent_srv_common_do_exec
|
||||
mevent_srv_common_do_exec: @ 801D0C4
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
ldr r4, =gUnknown_02022C7C
|
||||
@ -69,7 +69,7 @@ _0801D0F8:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_801D0C4
|
||||
thumb_func_end mevent_srv_common_do_exec
|
||||
|
||||
thumb_func_start mevent_srv_init_common
|
||||
mevent_srv_init_common: @ 801D100
|
||||
@ -493,7 +493,7 @@ _0801D422:
|
||||
b _0801D464
|
||||
_0801D43C:
|
||||
ldr r4, [r5, 0x1C]
|
||||
bl sub_801B00C
|
||||
bl sav1_get_mevent_buffer_0
|
||||
adds r1, r0, 0
|
||||
movs r2, 0xDE
|
||||
lsls r2, 1
|
||||
|
@ -5,11 +5,11 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_801D484
|
||||
sub_801D484: @ 801D484
|
||||
thumb_func_start mevent_srv_ish_do_init
|
||||
mevent_srv_ish_do_init: @ 801D484
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
ldr r4, =gUnknown_02022C80
|
||||
ldr r4, =s_mevent_srv_ish_ptr
|
||||
movs r0, 0x50
|
||||
bl AllocZeroed
|
||||
str r0, [r4]
|
||||
@ -22,13 +22,13 @@ sub_801D484: @ 801D484
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_801D484
|
||||
thumb_func_end mevent_srv_ish_do_init
|
||||
|
||||
thumb_func_start sub_801D4A8
|
||||
sub_801D4A8: @ 801D4A8
|
||||
thumb_func_start mevent_srv_ish_do_exec
|
||||
mevent_srv_ish_do_exec: @ 801D4A8
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
ldr r4, =gUnknown_02022C80
|
||||
ldr r4, =s_mevent_srv_ish_ptr
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
bne _0801D4BC
|
||||
@ -43,7 +43,7 @@ _0801D4BC:
|
||||
ldr r0, [r4]
|
||||
ldr r1, [r0, 0x4]
|
||||
strh r1, [r6]
|
||||
bl sub_801D55C
|
||||
bl mevent_srv_ish_free_resources
|
||||
ldr r0, [r4]
|
||||
bl Free
|
||||
movs r0, 0
|
||||
@ -54,36 +54,36 @@ _0801D4DC:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_801D4A8
|
||||
thumb_func_end mevent_srv_ish_do_exec
|
||||
|
||||
thumb_func_start sub_801D4E4
|
||||
sub_801D4E4: @ 801D4E4
|
||||
ldr r0, =gUnknown_02022C80
|
||||
thumb_func_start mevent_srv_ish_inc_flag
|
||||
mevent_srv_ish_inc_flag: @ 801D4E4
|
||||
ldr r0, =s_mevent_srv_ish_ptr
|
||||
ldr r1, [r0]
|
||||
ldr r0, [r1, 0xC]
|
||||
adds r0, 0x1
|
||||
str r0, [r1, 0xC]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_801D4E4
|
||||
thumb_func_end mevent_srv_ish_inc_flag
|
||||
|
||||
thumb_func_start sub_801D4F4
|
||||
sub_801D4F4: @ 801D4F4
|
||||
ldr r0, =gUnknown_02022C80
|
||||
thumb_func_start mevent_srv_ish_get_buffer
|
||||
mevent_srv_ish_get_buffer: @ 801D4F4
|
||||
ldr r0, =s_mevent_srv_ish_ptr
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, 0x20]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_801D4F4
|
||||
thumb_func_end mevent_srv_ish_get_buffer
|
||||
|
||||
thumb_func_start sub_801D500
|
||||
sub_801D500: @ 801D500
|
||||
ldr r1, =gUnknown_02022C80
|
||||
thumb_func_start mevent_srv_ish_set_param
|
||||
mevent_srv_ish_set_param: @ 801D500
|
||||
ldr r1, =s_mevent_srv_ish_ptr
|
||||
ldr r1, [r1]
|
||||
str r0, [r1, 0x4]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_801D500
|
||||
thumb_func_end mevent_srv_ish_set_param
|
||||
|
||||
thumb_func_start mevent_srv_ish_init
|
||||
mevent_srv_ish_init: @ 801D50C
|
||||
@ -123,8 +123,8 @@ mevent_srv_ish_init: @ 801D50C
|
||||
bx r0
|
||||
thumb_func_end mevent_srv_ish_init
|
||||
|
||||
thumb_func_start sub_801D55C
|
||||
sub_801D55C: @ 801D55C
|
||||
thumb_func_start mevent_srv_ish_free_resources
|
||||
mevent_srv_ish_free_resources: @ 801D55C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldr r0, [r4, 0x14]
|
||||
@ -138,10 +138,10 @@ sub_801D55C: @ 801D55C
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_801D55C
|
||||
thumb_func_end mevent_srv_ish_free_resources
|
||||
|
||||
thumb_func_start sub_801D580
|
||||
sub_801D580: @ 801D580
|
||||
thumb_func_start mevent_srv_ish_jmp_buffer
|
||||
mevent_srv_ish_jmp_buffer: @ 801D580
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldr r0, [r4, 0x1C]
|
||||
@ -154,7 +154,7 @@ sub_801D580: @ 801D580
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_801D580
|
||||
thumb_func_end mevent_srv_ish_jmp_buffer
|
||||
|
||||
thumb_func_start sub_801D59C
|
||||
sub_801D59C: @ 801D59C
|
||||
@ -340,7 +340,7 @@ _0801D708:
|
||||
bne _0801D804
|
||||
_0801D70E:
|
||||
adds r0, r4, 0
|
||||
bl sub_801D580
|
||||
bl mevent_srv_ish_jmp_buffer
|
||||
b _0801D804
|
||||
_0801D716:
|
||||
ldr r0, [r4, 0x20]
|
||||
|
@ -5491,7 +5491,7 @@ _0802D4A4:
|
||||
ldrb r0, [r0, 0x12]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8098858
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0x17
|
||||
movs r1, 0x7
|
||||
movs r2, 0
|
||||
@ -5575,7 +5575,7 @@ _0802D550:
|
||||
ldrb r0, [r0, 0x12]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8098858
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
_0802D574:
|
||||
@ -5693,7 +5693,7 @@ _0802D640:
|
||||
ldrb r0, [r0, 0x12]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8098858
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
_0802D664:
|
||||
@ -5773,7 +5773,7 @@ _0802D6E4:
|
||||
ldrb r0, [r0, 0x12]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8098858
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
_0802D708:
|
||||
@ -6107,7 +6107,7 @@ _0802D99A:
|
||||
ldrb r0, [r0, 0x12]
|
||||
movs r1, 0x1
|
||||
movs r2, 0xE
|
||||
bl sub_8098858
|
||||
bl DrawTextBorderOuter
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
ldr r1, [r4]
|
||||
@ -7596,7 +7596,7 @@ sub_802E500: @ 802E500
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
movs r2, 0xD
|
||||
bl sub_8098858
|
||||
bl DrawTextBorderOuter
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
|
@ -8104,7 +8104,7 @@ sub_81CC09C: @ 81CC09C
|
||||
ldrb r0, [r4, 0x14]
|
||||
movs r1, 0x1
|
||||
movs r2, 0x4
|
||||
bl sub_8098858
|
||||
bl DrawTextBorderOuter
|
||||
ldrb r0, [r4, 0x14]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@ -9354,7 +9354,7 @@ sub_81CCA1C: @ 81CCA1C
|
||||
ldrb r0, [r5, 0x8]
|
||||
movs r1, 0x42
|
||||
movs r2, 0x4
|
||||
bl sub_8098858
|
||||
bl DrawTextBorderOuter
|
||||
ldr r1, =gUnknown_08622888
|
||||
str r4, [sp]
|
||||
movs r0, 0x1
|
||||
|
5306
asm/union_room.s
5306
asm/union_room.s
File diff suppressed because it is too large
Load Diff
@ -1515,7 +1515,7 @@ Move_VINE_WHIP:
|
||||
createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6
|
||||
delay 6
|
||||
playsewithpan SE_W010, SOUND_PAN_TARGET
|
||||
createsprite gUnknown_085928E8, ANIM_TARGET, 2, 0, 0
|
||||
createsprite gVineWhipSpriteTemplate, ANIM_TARGET, 2, 0, 0
|
||||
delay 6
|
||||
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 1
|
||||
end
|
||||
@ -1656,12 +1656,12 @@ Explosion1:
|
||||
Move_DEFENSE_CURL:
|
||||
loadspritegfx ANIM_TAG_ECLIPSING_ORB
|
||||
loopsewithpan SE_W161, SOUND_PAN_ATTACKER, 18, 3
|
||||
createvisualtask sub_811489C, 5, 0, 0
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 0
|
||||
createvisualtask sub_815B338, 5
|
||||
waitforvisualfinish
|
||||
createsprite gUnknown_085CE338, ANIM_ATTACKER, 2, 0, 6, 0, 1
|
||||
waitforvisualfinish
|
||||
createvisualtask sub_811489C, 5, 0, 1
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
@ -2003,7 +2003,7 @@ Move_ATTRACT:
|
||||
createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -384, -31
|
||||
waitforvisualfinish
|
||||
waitplaysewithpan SE_W213B, 0, 15
|
||||
createvisualtask sub_81062E8, 5
|
||||
createvisualtask AnimTask_HeartsBackground, 5
|
||||
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 16, 256, 0
|
||||
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 224, 240, 15
|
||||
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 126, 272, 30
|
||||
@ -2012,7 +2012,7 @@ Move_ATTRACT:
|
||||
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 40, 256, 75
|
||||
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 112, 256, 90
|
||||
createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 200, 272, 90
|
||||
delay 0x4B
|
||||
delay 75
|
||||
createvisualtask sub_8115A04, 2, 4, 4, 4, 0, 10, RGB(31, 25, 27)
|
||||
end
|
||||
|
||||
@ -3220,13 +3220,13 @@ EndureEffect:
|
||||
Move_CHARM:
|
||||
loadspritegfx ANIM_TAG_MAGENTA_HEART
|
||||
createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0
|
||||
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20
|
||||
createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20
|
||||
playsewithpan SE_W204, SOUND_PAN_ATTACKER
|
||||
delay 15
|
||||
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20
|
||||
createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, -20, 20
|
||||
playsewithpan SE_W204, SOUND_PAN_ATTACKER
|
||||
delay 15
|
||||
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20
|
||||
createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20
|
||||
playsewithpan SE_W204, SOUND_PAN_ATTACKER
|
||||
waitforvisualfinish
|
||||
end
|
||||
@ -4358,7 +4358,7 @@ Move_AERIAL_ACE:
|
||||
|
||||
Move_IRON_DEFENSE:
|
||||
loopsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER, 28, 2
|
||||
createvisualtask sub_81144F8, 5, 0, 0, 0
|
||||
createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
|
||||
createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 2, RGB_WHITEALPHA, 14, -1, 0
|
||||
waitforvisualfinish
|
||||
end
|
||||
@ -4393,13 +4393,13 @@ Move_COVET:
|
||||
loadspritegfx ANIM_TAG_MAGENTA_HEART
|
||||
loadspritegfx ANIM_TAG_ITEM_BAG
|
||||
createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0
|
||||
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20
|
||||
createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20
|
||||
playsewithpan SE_W204, SOUND_PAN_ATTACKER
|
||||
delay 15
|
||||
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20
|
||||
createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, -20, 20
|
||||
playsewithpan SE_W204, SOUND_PAN_ATTACKER
|
||||
delay 15
|
||||
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20
|
||||
createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20
|
||||
playsewithpan SE_W204, SOUND_PAN_ATTACKER
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
|
||||
@ -4570,7 +4570,7 @@ Move_SHOCK_WAVE:
|
||||
|
||||
Move_HARDEN:
|
||||
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
|
||||
createvisualtask sub_81144F8, 5, 0, 0, 0
|
||||
createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
@ -5347,7 +5347,7 @@ Move_ICE_BEAM:
|
||||
loadspritegfx ANIM_TAG_ICE_CRYSTALS
|
||||
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 7, RGB_BLACK
|
||||
waitforvisualfinish
|
||||
createsoundtask sub_8158C58, 183, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 4, 4, 0, 10
|
||||
createsoundtask sub_8158C58, SE_W062B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 4, 4, 0, 10
|
||||
createsprite gUnknown_08595B2C, ANIM_ATTACKER, 2, 20, 12, 0, 12, 20
|
||||
createsprite gUnknown_08595B2C, ANIM_ATTACKER, 2, 20, -12, 0, -12, 20
|
||||
delay 1
|
||||
@ -5403,7 +5403,7 @@ Move_AURORA_BEAM:
|
||||
call AuroraBeam1
|
||||
call AuroraBeam1
|
||||
setarg 7, -1
|
||||
createsoundtask sub_8158C58, 183, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 6, 0, 10
|
||||
createsoundtask sub_8158C58, SE_W062B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 6, 0, 10
|
||||
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 40, 1
|
||||
call AuroraBeam1
|
||||
call AuroraBeam1
|
||||
@ -7123,7 +7123,7 @@ Move_PSYBEAM:
|
||||
loadspritegfx ANIM_TAG_GOLD_RING
|
||||
playsewithpan SE_W060, SOUND_PAN_ATTACKER
|
||||
call SetPsychicBackground
|
||||
createsoundtask sub_8158C58, 200, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 4, 0, 15
|
||||
createsoundtask sub_8158C58, SE_W060B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 4, 0, 15
|
||||
call Psybeam1
|
||||
call Psybeam1
|
||||
createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 4, ANIM_TARGET
|
||||
@ -7169,7 +7169,7 @@ Move_PSYWAVE:
|
||||
playsewithpan SE_W060, SOUND_PAN_ATTACKER
|
||||
call SetPsychicBackground
|
||||
createvisualtask sub_81076C8, 5, 100
|
||||
createsoundtask sub_8158C58, 203, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 9, 0, 10
|
||||
createsoundtask sub_8158C58, SE_W100, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 9, 0, 10
|
||||
call Psywave1
|
||||
call Psywave1
|
||||
createvisualtask sub_8115A04, 2, 4, 1, 4, 0, 12, RGB(31, 18, 31)
|
||||
@ -7213,7 +7213,7 @@ Move_STEEL_WING:
|
||||
loadspritegfx ANIM_TAG_GUST
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
|
||||
createvisualtask sub_81144F8, 5, 0, 0, 0
|
||||
createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
|
||||
waitforvisualfinish
|
||||
monbg ANIM_DEF_PARTNER
|
||||
monbgprio_28 ANIM_TARGET
|
||||
@ -7239,7 +7239,7 @@ Move_STEEL_WING:
|
||||
Move_IRON_TAIL:
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
|
||||
createvisualtask sub_81144F8, 5, 1, 0, 0
|
||||
createvisualtask AnimTask_MetallicShine, 5, 1, 0, 0
|
||||
waitforvisualfinish
|
||||
monbg ANIM_TARGET
|
||||
setalpha 12, 8
|
||||
@ -7249,7 +7249,7 @@ Move_IRON_TAIL:
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
|
||||
playsewithpan SE_W233B, SOUND_PAN_TARGET
|
||||
waitforvisualfinish
|
||||
createvisualtask sub_811489C, 5, 0, 1
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1
|
||||
clearmonbg ANIM_TARGET
|
||||
blendoff
|
||||
waitforvisualfinish
|
||||
@ -7259,7 +7259,7 @@ Move_POISON_TAIL:
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
loadspritegfx ANIM_TAG_POISON_BUBBLE
|
||||
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
|
||||
createvisualtask sub_81144F8, 5, 1, 1, RGB(24, 6, 23)
|
||||
createvisualtask AnimTask_MetallicShine, 5, 1, 1, RGB(24, 6, 23)
|
||||
waitforvisualfinish
|
||||
monbg ANIM_TARGET
|
||||
setalpha 12, 8
|
||||
@ -7269,7 +7269,7 @@ Move_POISON_TAIL:
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
|
||||
playsewithpan SE_W233B, SOUND_PAN_TARGET
|
||||
waitforvisualfinish
|
||||
createvisualtask sub_811489C, 5, 0, 1
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_ATTACKER, 1
|
||||
clearmonbg ANIM_TARGET
|
||||
blendoff
|
||||
call PoisonBubblesEffect
|
||||
@ -7279,7 +7279,7 @@ Move_POISON_TAIL:
|
||||
Move_METAL_CLAW:
|
||||
loadspritegfx ANIM_TAG_CLAW_SLASH
|
||||
loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
|
||||
createvisualtask sub_81144F8, 5, 0, 0, 0
|
||||
createvisualtask AnimTask_MetallicShine, 5, 0, 0, 0
|
||||
waitforvisualfinish
|
||||
createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
|
||||
delay 2
|
||||
@ -7346,8 +7346,8 @@ Move_SHADOW_BALL:
|
||||
fadetobg BG_GHOST
|
||||
waitbgfadein
|
||||
delay 15
|
||||
createsoundtask sub_8158C58, 168, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 5, 0, 5
|
||||
createsprite gUnknown_08596D58, ANIM_TARGET, 2, 16, 16, 8
|
||||
createsoundtask sub_8158C58, SE_W054, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 5, 0, 5
|
||||
createsprite gShadowBallSpriteTemplate, ANIM_TARGET, 2, 16, 16, 8
|
||||
waitforvisualfinish
|
||||
playsewithpan SE_W028, SOUND_PAN_TARGET
|
||||
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 8, 1
|
||||
@ -7459,7 +7459,7 @@ Move_STRING_SHOT:
|
||||
end
|
||||
|
||||
StringShot1:
|
||||
createsprite gUnknown_085969E0, ANIM_TARGET, 2, 20, 0, 512, 20, 1
|
||||
createsprite gWebThreadSpriteTemplate, ANIM_TARGET, 2, 20, 0, 512, 20, 1
|
||||
delay 1
|
||||
return
|
||||
|
||||
@ -7488,7 +7488,7 @@ Move_SPIDER_WEB:
|
||||
call SpiderWeb1
|
||||
waitforvisualfinish
|
||||
playsewithpan SE_W081B, SOUND_PAN_TARGET
|
||||
createsprite gUnknown_08596A2C, ANIM_ATTACKER, 2
|
||||
createsprite gSpiderWebSpriteTemplate, ANIM_ATTACKER, 2
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_DEF_PARTNER
|
||||
delay 1
|
||||
@ -7496,7 +7496,7 @@ Move_SPIDER_WEB:
|
||||
end
|
||||
|
||||
SpiderWeb1:
|
||||
createsprite gUnknown_085969E0, ANIM_TARGET, 2, 20, 0, 512, 20, 0
|
||||
createsprite gWebThreadSpriteTemplate, ANIM_TARGET, 2, 20, 0, 512, 20, 0
|
||||
delay 1
|
||||
return
|
||||
|
||||
@ -7941,16 +7941,16 @@ Move_PERISH_SONG:
|
||||
panse_1B SE_W195, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
|
||||
delay 80
|
||||
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 16, RGB_BLACK
|
||||
createvisualtask sub_811489C, 5, 4, 0
|
||||
createvisualtask sub_811489C, 5, 5, 0
|
||||
createvisualtask sub_811489C, 5, 6, 0
|
||||
createvisualtask sub_811489C, 5, 7, 0
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 4, 0
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 5, 0
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 6, 0
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 7, 0
|
||||
delay 100
|
||||
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 16, 0, RGB_BLACK
|
||||
createvisualtask sub_811489C, 5, 4, 1
|
||||
createvisualtask sub_811489C, 5, 5, 1
|
||||
createvisualtask sub_811489C, 5, 6, 1
|
||||
createvisualtask sub_811489C, 5, 7, 1
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 4, 1
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 5, 1
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 6, 1
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, 7, 1
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
@ -8019,7 +8019,7 @@ Move_TRI_ATTACK:
|
||||
delay 20
|
||||
playsewithpan SE_W161, SOUND_PAN_ATTACKER
|
||||
delay 20
|
||||
createsoundtask sub_8158C58, 220, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 6, 0, 7
|
||||
createsoundtask sub_8158C58, SE_W161, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 6, 0, 7
|
||||
waitforvisualfinish
|
||||
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 16, RGB_BLACK
|
||||
delay 16
|
||||
@ -8356,7 +8356,7 @@ Move_HYPER_BEAM:
|
||||
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 4, 1
|
||||
waitforvisualfinish
|
||||
delay 30
|
||||
createsoundtask sub_8158C58, 247, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 1, 15, 0, 5
|
||||
createsoundtask sub_8158C58, SE_W063B, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 1, 15, 0, 5
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1
|
||||
createvisualtask sub_8115D94, 2, ANIM_TAG_ORBS, 1, 12, 31, 16, 0, 0
|
||||
call HyperBeam1
|
||||
@ -9570,7 +9570,7 @@ Move_DOOM_DESIRE:
|
||||
createvisualtask sub_8114960, 2
|
||||
delay 1
|
||||
monbg ANIM_ATK_PARTNER
|
||||
createvisualtask sub_811489C, 5, 1, 0
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_TARGET, 0
|
||||
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 4, RGB_BLACK
|
||||
waitforvisualfinish
|
||||
setalpha 8, 8
|
||||
@ -9578,7 +9578,7 @@ Move_DOOM_DESIRE:
|
||||
createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_ATTACKER, 1
|
||||
waitforvisualfinish
|
||||
delay 20
|
||||
createvisualtask sub_811489C, 5, 1, 1
|
||||
createvisualtask AnimTask_SetGreyscaleOrOriginalPal, 5, ANIM_TARGET, 1
|
||||
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 4, 0, RGB_BLACK
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_ATK_PARTNER
|
||||
@ -10237,13 +10237,13 @@ Burn1:
|
||||
Status_Infatuation:
|
||||
loadspritegfx ANIM_TAG_MAGENTA_HEART
|
||||
playsewithpan SE_W204, SOUND_PAN_ATTACKER
|
||||
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20
|
||||
createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20
|
||||
delay 15
|
||||
playsewithpan SE_W204, SOUND_PAN_ATTACKER
|
||||
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20
|
||||
createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, -20, 20
|
||||
delay 15
|
||||
playsewithpan SE_W204, SOUND_PAN_ATTACKER
|
||||
createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20
|
||||
createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20
|
||||
end
|
||||
|
||||
Status_Sleep:
|
||||
|
412
data/contest.s
412
data/contest.s
@ -1,412 +0,0 @@
|
||||
#include "constants/species.h"
|
||||
#include "constants/moves.h"
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2, 0
|
||||
|
||||
gUnknown_08587A6C:: @ 8587A6C
|
||||
.byte 0x24, 0x4c, 0x74, 0x9c
|
||||
|
||||
gUnknown_08587A70:: @ 8587A70
|
||||
.byte 0x24, 0x4c, 0x74, 0x9c
|
||||
|
||||
.align 2
|
||||
gUnknown_08587A74:: @ 8587A74
|
||||
obj_tiles gTiles_8C19450, 0x0020, 0x4e20
|
||||
|
||||
.align 2
|
||||
gOamData_8587A7C:: @ 8587A7C
|
||||
.2byte 0x0000
|
||||
.2byte 0x0000
|
||||
.2byte 0x0000
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_8587A84:: @ 8587A84
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_8587A94:: @ 8587A94
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
|
||||
obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, -20, 20
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_8587AAC:: @ 8587AAC
|
||||
obj_rot_scal_anim_frame 0x38, 0x38, 0, 0
|
||||
obj_rot_scal_anim_frame 0xA, 0xA, 20, 20
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnimTable_8587AC4:: @ 8587AC4
|
||||
.4byte gSpriteAffineAnim_8587A84
|
||||
.4byte gSpriteAffineAnim_8587A94
|
||||
.4byte gSpriteAffineAnim_8587AAC
|
||||
|
||||
.align 2
|
||||
gSpriteTemplate_8587AD0:: @ 8587AD0
|
||||
spr_template 0x4e20, 0xabe0, gOamData_8587A7C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8587AC4, SpriteCallbackDummy
|
||||
|
||||
.align 2
|
||||
gUnknown_08587AE8:: @ 8587AE8
|
||||
obj_tiles gContestNextTurnGfx, 0x0100, 0x4e22
|
||||
obj_tiles gContestNextTurnGfx, 0x0100, 0x4e23
|
||||
obj_tiles gContestNextTurnGfx, 0x0100, 0x4e24
|
||||
obj_tiles gContestNextTurnGfx, 0x0100, 0x4e25
|
||||
|
||||
.align 2
|
||||
gUnknown_08587B08:: @ 8587B08
|
||||
obj_pal gContestPal, 0x4e22
|
||||
|
||||
.align 2
|
||||
gOamData_8587B10:: @ 8587B10
|
||||
.2byte 0x4000
|
||||
.2byte 0x4000
|
||||
.2byte 0x0000
|
||||
|
||||
.align 2
|
||||
gSpriteTemplate_8587B18:: @ 8587B18
|
||||
spr_template 0x4e22, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
|
||||
spr_template 0x4e23, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
|
||||
spr_template 0x4e24, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
|
||||
spr_template 0x4e25, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
|
||||
|
||||
.align 2
|
||||
gSubspriteTable_8587B78:: @ 8587B78
|
||||
subsprite -28, -4, 0, 0, 32x8
|
||||
subsprite 4, -4, 0, 4, 32x8
|
||||
|
||||
.align 2
|
||||
gSubspriteTables_8587B80:: @ 8587B80
|
||||
.4byte 2, gSubspriteTable_8587B78
|
||||
|
||||
.align 2
|
||||
gUnknown_08587B88:: @ 8587B88
|
||||
obj_tiles gUnknown_08C19168, 0x0180, 0xabe1
|
||||
|
||||
.align 2
|
||||
gOamData_8587B90:: @ 8587B90
|
||||
.2byte 0x0000
|
||||
.2byte 0x4000
|
||||
.2byte 0x0000
|
||||
|
||||
.align 2
|
||||
gSpriteTemplate_8587B98:: @ 8587B98
|
||||
spr_template 0xabe1, 0xabe0, gOamData_8587B90, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
|
||||
|
||||
.align 2
|
||||
gUnknown_08587BB0:: @ 8587BB0
|
||||
obj_tiles gContestApplauseGfx, 0x0400, 0xabe2
|
||||
|
||||
.align 2
|
||||
gUnknown_08587BB8:: @ 8587BB8
|
||||
obj_pal gContestPal, 0xabe2
|
||||
|
||||
.align 2
|
||||
gOamData_8587BC0:: @ 8587BC0
|
||||
.2byte 0x4000
|
||||
.2byte 0xC000
|
||||
.2byte 0x0000
|
||||
|
||||
.align 2
|
||||
gSpriteTemplate_8587BC8:: @ 8587BC8
|
||||
spr_template 0xabe2, 0xabe2, gOamData_8587BC0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
|
||||
|
||||
.align 2
|
||||
gOamData_8587BE0:: @ 8587BE0
|
||||
.2byte 0x0000
|
||||
.2byte 0xC000
|
||||
.2byte 0x2C00
|
||||
|
||||
.align 2
|
||||
gSpriteTemplate_8587BE8:: @ 8587BE8
|
||||
spr_template 0x4e21, 0x4e21, gOamData_8587BE0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
|
||||
|
||||
.align 2
|
||||
gUnknown_08587C00:: @ 8587C00
|
||||
obj_tiles gContestJudgeGfx, 0x0800, 0x4e21
|
||||
|
||||
.align 2
|
||||
gUnknown_08587C08:: @ 8587C08
|
||||
obj_tiles gContestJudgeSymbolsGfx, 0x0380, 0xabe0
|
||||
|
||||
.align 2
|
||||
gUnknown_08587C10:: @ 8587C10
|
||||
obj_pal gContest3Pal, 0xabe0
|
||||
|
||||
.align 2
|
||||
gSpriteTemplate_8587C18:: @ 8587C18
|
||||
spr_template 0xabe0, 0xabe0, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
|
||||
|
||||
.align 2
|
||||
gUnknown_08587C30:: @ 8587C30
|
||||
.incbin "graphics/unknown/unknown_587C30.gbapal"
|
||||
|
||||
@ 8587C50
|
||||
.include "data/text/contest_text_pointers.inc"
|
||||
|
||||
.align 2
|
||||
gUnknown_08587D5C:: @ 8587D5C
|
||||
.4byte gText_0827D5C1
|
||||
.4byte gText_0827D5DC
|
||||
.4byte gText_0827D600
|
||||
.4byte gText_0827D612
|
||||
.4byte gText_0827D612
|
||||
.4byte gText_0827D62D
|
||||
.4byte gText_0827D654
|
||||
.4byte gText_0827D67E
|
||||
.4byte gText_0827D69C
|
||||
.4byte gText_0827D6BA
|
||||
.4byte gText_0827D6E5
|
||||
.4byte gText_0827D706
|
||||
.4byte gText_0827D71D
|
||||
|
||||
.align 2
|
||||
gUnknown_08587D90:: @ 8587D90
|
||||
.4byte gText_0827D743
|
||||
.4byte gText_0827D764
|
||||
.4byte gText_0827D785
|
||||
.4byte gText_0827D7A5
|
||||
.4byte gText_0827D7C8
|
||||
.4byte gText_0827D7E8
|
||||
.4byte gText_0827D831
|
||||
.4byte gText_0827D855
|
||||
.4byte gText_0827D830
|
||||
.4byte gText_0827D872
|
||||
.4byte gText_0827D88F
|
||||
.4byte gText_0827D8B5
|
||||
.4byte gText_0827D8E4
|
||||
.4byte gText_0827D8FE
|
||||
.4byte gText_0827D926
|
||||
.4byte gText_0827D947
|
||||
.4byte gText_0827D961
|
||||
.4byte gText_0827D986
|
||||
.4byte gText_0827D9B1
|
||||
.4byte gText_0827D9D9
|
||||
.4byte gText_0827DA03
|
||||
.4byte gText_0827DA31
|
||||
.4byte gText_0827DA5B
|
||||
.4byte gText_0827DA85
|
||||
.4byte gText_0827DAB2
|
||||
.4byte gText_0827DADA
|
||||
.4byte gText_0827DB03
|
||||
.4byte gText_0827D830
|
||||
.4byte gText_0827D830
|
||||
.4byte gText_0827D830
|
||||
.4byte gText_0827DB1F
|
||||
.4byte gText_0827DB4E
|
||||
|
||||
.align 2
|
||||
gUnknown_08587E10:: @ 8587E10
|
||||
.4byte gText_827DB75
|
||||
.4byte gText_827DBB0
|
||||
.4byte gText_827DBE0
|
||||
.4byte gText_827DC0F
|
||||
.4byte gText_827DC45
|
||||
.4byte gText_827DC7C
|
||||
.4byte gText_827DCB4
|
||||
.4byte gText_827DCE7
|
||||
.4byte gText_827DD12
|
||||
.4byte gText_827DD3D
|
||||
.4byte gText_827DD6F
|
||||
.4byte gText_827DD8E
|
||||
.4byte gText_827DDC7
|
||||
.4byte gText_827DDF2
|
||||
.4byte gText_827DE14
|
||||
.4byte gText_827DE44
|
||||
.4byte gText_827DE73
|
||||
.4byte gText_827DEA5
|
||||
.4byte gText_827DED9
|
||||
.4byte gText_827DF02
|
||||
.4byte gText_827DF3A
|
||||
.4byte gText_827DF63
|
||||
.4byte gText_827DF8C
|
||||
.4byte gText_827DFB8
|
||||
.4byte gText_827DFE2
|
||||
.4byte gText_827E00C
|
||||
.4byte gText_827E02F
|
||||
.4byte gText_827E05F
|
||||
.4byte gText_827E08B
|
||||
.4byte gText_827E0B5
|
||||
.4byte gText_827E0DD
|
||||
.4byte gText_827E107
|
||||
.4byte gText_827E143
|
||||
.4byte gText_827E17F
|
||||
.4byte gText_827E1BB
|
||||
.4byte gText_827E1F3
|
||||
.4byte gText_827E220
|
||||
.4byte gText_827E254
|
||||
.4byte gText_827E289
|
||||
.4byte gText_827E2C5
|
||||
.4byte gText_0827E2FE
|
||||
.4byte gText_0827E32E
|
||||
.4byte gText_0827E35B
|
||||
.4byte gText_0827E38D
|
||||
.4byte gText_0827E3C1
|
||||
.4byte gText_0827E3EB
|
||||
.4byte gText_0827E416
|
||||
.4byte gText_0827E448
|
||||
.4byte gText_0827E473
|
||||
.4byte gText_0827E4A6
|
||||
.4byte gText_0827E4D5
|
||||
.4byte gText_0827E504
|
||||
.4byte gText_0827E531
|
||||
.4byte gText_0827E55A
|
||||
.4byte gText_0827E5B2
|
||||
.4byte gText_0827E5D0
|
||||
.4byte gText_0827E606
|
||||
.4byte gText_0827E638
|
||||
.4byte gText_0827E658
|
||||
.4byte gText_0827E68B
|
||||
.4byte gText_0827E6C4
|
||||
.4byte gText_0827E7BA
|
||||
|
||||
.align 2
|
||||
gUnknown_08587F08:: @ 8587F08
|
||||
.4byte gText_0827E85F
|
||||
.4byte gText_0827E868
|
||||
.4byte gText_0827E86F
|
||||
.4byte gText_0827E878
|
||||
.4byte gText_0827E882
|
||||
|
||||
.align 2
|
||||
gUnknown_08587F1C:: @ 8587F1C
|
||||
.4byte gText_0827E894
|
||||
.4byte gText_0827E89E
|
||||
.4byte gText_0827E8AA
|
||||
.4byte gText_0827E8B4
|
||||
.4byte gText_0827E8BF
|
||||
.4byte gText_0827E8CA
|
||||
|
||||
.align 2
|
||||
gUnknown_08587F34:: @ 8587F34
|
||||
.4byte 0x00000580, 0x000015e9, 0x000005c2, 0x000031a3
|
||||
|
||||
.align 2
|
||||
gUnknown_08587F44:: @ 8587F44
|
||||
window_template 0x00, 0x12, 0x00, 0x0c, 0x02, 0x0f, 0x0200
|
||||
window_template 0x00, 0x12, 0x05, 0x0c, 0x02, 0x0f, 0x0218
|
||||
window_template 0x00, 0x12, 0x0a, 0x0c, 0x02, 0x0f, 0x0230
|
||||
window_template 0x00, 0x12, 0x0f, 0x0c, 0x02, 0x0f, 0x0248
|
||||
window_template 0x00, 0x01, 0x0f, 0x11, 0x04, 0x0f, 0x0260
|
||||
window_template 0x00, 0x01, 0x1f, 0x09, 0x02, 0x0f, 0x02a4
|
||||
window_template 0x00, 0x01, 0x21, 0x09, 0x02, 0x0f, 0x02b6
|
||||
window_template 0x00, 0x01, 0x23, 0x09, 0x02, 0x0f, 0x02c8
|
||||
window_template 0x00, 0x01, 0x25, 0x09, 0x02, 0x0f, 0x02da
|
||||
window_template 0x00, 0x10, 0x1f, 0x01, 0x02, 0x0f, 0x02ec
|
||||
window_template 0x00, 0x0b, 0x23, 0x12, 0x04, 0x0f, 0x02ee
|
||||
null_window_template
|
||||
|
||||
.align 2
|
||||
gUnknown_08587FA4:: @ 8587FA4
|
||||
.4byte NULL, 0xFFFF
|
||||
.2byte SPECIES_ELECTRIKE
|
||||
.byte 2
|
||||
.string "ELECTER$", 11
|
||||
.string "EZRA$", 8
|
||||
.2byte 0
|
||||
.4byte NULL, 0xFFFF
|
||||
.2byte SPECIES_TROPIUS
|
||||
.byte 0
|
||||
.string "TROPO$", 11
|
||||
.string "ALLAN$", 8
|
||||
.2byte 2
|
||||
.4byte NULL, 0xFFFF
|
||||
.2byte SPECIES_XATU
|
||||
.byte 1
|
||||
.string "TUXA$", 11
|
||||
.string "JULIET$", 8
|
||||
.2byte 0
|
||||
.4byte NULL, 0xFFFF
|
||||
.2byte SPECIES_PLUSLE
|
||||
.byte 4
|
||||
.string "PULSE$", 11
|
||||
.string "BAILY$", 8
|
||||
.2byte 3
|
||||
.4byte NULL, 0xFFFF
|
||||
.2byte SPECIES_SHUPPET
|
||||
.byte 3
|
||||
.string "SHUPUP$", 11
|
||||
.string "MELANY$", 8
|
||||
.2byte 1
|
||||
.4byte NULL, 0xFFFF
|
||||
.2byte SPECIES_ZANGOOSE
|
||||
.byte 0
|
||||
.string "GOOZAN$", 11
|
||||
.string "HANA$", 8
|
||||
.2byte 2
|
||||
.4byte NULL, 0xFFFF
|
||||
.2byte SPECIES_LOUDRED
|
||||
.byte 1
|
||||
.string "LOUDED$", 11
|
||||
.string "BRYANT$", 8
|
||||
.2byte 2
|
||||
.4byte NULL, 0xFFFF
|
||||
.2byte SPECIES_DELCATTY
|
||||
.byte 2
|
||||
.string "KITSY$", 11
|
||||
.string "OMAR$", 8
|
||||
.2byte 3
|
||||
|
||||
|
||||
.align 2
|
||||
gContestOpponents:: @ 85880A4
|
||||
.include "data/contest_opponents.inc"
|
||||
|
||||
gUnknown_085898A4:: @ 85898A4
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02
|
||||
.byte 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02
|
||||
|
||||
.align 2
|
||||
gUnknown_08589904:: @ 8589904
|
||||
obj_tiles gBlankGfxCompressed, 0x1000, 0x80e8
|
||||
obj_tiles gBlankGfxCompressed, 0x1000, 0x80e9
|
||||
obj_tiles gBlankGfxCompressed, 0x1000, 0x80ea
|
||||
obj_tiles gBlankGfxCompressed, 0x1000, 0x80eb
|
||||
|
||||
.align 2
|
||||
gUnknown_08589924:: @ 8589924 Yup this is super dangerous but that's how it is here
|
||||
obj_pal gHeap + 0x1A0A4, 0x80e8
|
||||
obj_pal gHeap + 0x1A0C4, 0x80e9
|
||||
obj_pal gHeap + 0x1A0E4, 0x80ea
|
||||
obj_pal gHeap + 0x1A104, 0x80eb
|
||||
|
||||
.align 2
|
||||
gOamData_8589944:: @ 8589944
|
||||
.2byte 0x0700
|
||||
.2byte 0xC000
|
||||
.2byte 0x0000
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_858994C:: @ 858994C
|
||||
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnim_858995C:: @ 858995C
|
||||
obj_rot_scal_anim_frame 0x3, 0x3, 0, 15
|
||||
obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15
|
||||
obj_rot_scal_anim_frame 0x3, 0x3, 0, 15
|
||||
obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15
|
||||
obj_rot_scal_anim_end
|
||||
|
||||
.align 2
|
||||
gSpriteAffineAnimTable_8589984:: @ 8589984
|
||||
.4byte gSpriteAffineAnim_858994C
|
||||
.4byte gSpriteAffineAnim_858995C
|
||||
|
||||
.align 2
|
||||
gSpriteTemplate_858998C:: @ 858998C
|
||||
spr_template 0x80e8, 0x80e8, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
|
||||
spr_template 0x80e9, 0x80e9, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
|
||||
spr_template 0x80ea, 0x80ea, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
|
||||
spr_template 0x80eb, 0x80eb, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
|
||||
|
||||
.align 2
|
||||
gContestExcitementTable:: @ 85899EC
|
||||
.2byte 0x0001, 0xffff, 0x0000, 0x0001, 0xffff, 0x00ff, 0x0001, 0xffff, 0x00ff, 0x0001, 0xff00, 0x00ff, 0x0001, 0x0000
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -22,7 +22,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276AD5:: @ 8276AD5
|
||||
specialvar VAR_RESULT, sub_813B514
|
||||
compare VAR_RESULT, 1
|
||||
goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFB
|
||||
specialvar VAR_RESULT, sub_801B27C
|
||||
specialvar VAR_RESULT, ValidateReceivedWonderCard
|
||||
compare VAR_RESULT, 0
|
||||
goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFF
|
||||
goto OldaleTown_PokemonCenter_2F_EventScript_276AFB
|
||||
|
@ -434,7 +434,7 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_81B8958
|
||||
def_special sub_8018090
|
||||
def_special sub_813990C
|
||||
def_special sub_801B27C
|
||||
def_special ValidateReceivedWonderCard
|
||||
def_special HasAtLeastOneBerry
|
||||
def_special sub_802C920
|
||||
def_special sub_802E3C4
|
||||
|
@ -1,78 +0,0 @@
|
||||
.align 2
|
||||
gContestEffectDescriptionPointers:: @ 8587C50
|
||||
.4byte gContestEffect00hDescription
|
||||
.4byte gContestEffect01hDescription
|
||||
.4byte gContestEffect02hDescription
|
||||
.4byte gContestEffect03hDescription
|
||||
.4byte gContestEffect04hDescription
|
||||
.4byte gContestEffect05hDescription
|
||||
.4byte gContestEffect06hDescription
|
||||
.4byte gContestEffect07hDescription
|
||||
.4byte gContestEffect08hDescription
|
||||
.4byte gContestEffect09hDescription
|
||||
.4byte gContestEffect0AhDescription
|
||||
.4byte gContestEffect0BhDescription
|
||||
.4byte gContestEffect0ChDescription
|
||||
.4byte gContestEffect0DhDescription
|
||||
.4byte gContestEffect0EhDescription
|
||||
.4byte gContestEffect0FhDescription
|
||||
.4byte gContestEffect10hDescription
|
||||
.4byte gContestEffect11hDescription
|
||||
.4byte gContestEffect12hDescription
|
||||
.4byte gContestEffect13hDescription
|
||||
.4byte gContestEffect14hDescription
|
||||
.4byte gContestEffect15hDescription
|
||||
.4byte gContestEffect16hDescription
|
||||
.4byte gContestEffect17hDescription
|
||||
.4byte gContestEffect18hDescription
|
||||
.4byte gContestEffect19hDescription
|
||||
.4byte gContestEffect1AhDescription
|
||||
.4byte gContestEffect1BhDescription
|
||||
.4byte gContestEffect1ChDescription
|
||||
.4byte gContestEffect1DhDescription
|
||||
.4byte gContestEffect1EhDescription
|
||||
.4byte gContestEffect1FhDescription
|
||||
.4byte gContestEffect20hDescription
|
||||
.4byte gContestEffect21hDescription
|
||||
.4byte gContestEffect22hDescription
|
||||
.4byte gContestEffect23hDescription
|
||||
.4byte gContestEffect24hDescription
|
||||
.4byte gContestEffect25hDescription
|
||||
.4byte gContestEffect26hDescription
|
||||
.4byte gContestEffect27hDescription
|
||||
.4byte gContestEffect28hDescription
|
||||
.4byte gContestEffect29hDescription
|
||||
.4byte gContestEffect2AhDescription
|
||||
.4byte gContestEffect2BhDescription
|
||||
.4byte gContestEffect2ChDescription
|
||||
.4byte gContestEffect2DhDescription
|
||||
.4byte gContestEffect2EhDescription
|
||||
.4byte gContestEffect2FhDescription
|
||||
|
||||
@ 8587D10
|
||||
@ Unreferenced array of pointers to move names.
|
||||
@ All of the moves except Conversion are combo starters, so this may have
|
||||
@ been an early list of combo starters.
|
||||
.align 2
|
||||
.4byte gUnusedContestMoveName0
|
||||
.4byte gUnusedContestMoveName0
|
||||
.4byte gUnusedContestMoveName1
|
||||
.4byte gUnusedContestMoveName2
|
||||
.4byte gUnusedContestMoveName3
|
||||
.4byte gUnusedContestMoveName4
|
||||
.4byte gUnusedContestMoveName5
|
||||
.4byte gUnusedContestMoveName6
|
||||
.4byte gUnusedContestMoveName7
|
||||
.4byte gUnusedContestMoveName8
|
||||
.4byte gUnusedContestMoveName9
|
||||
.4byte gUnusedContestMoveName10
|
||||
.4byte gUnusedContestMoveName11
|
||||
.4byte gUnusedContestMoveName12
|
||||
|
||||
.align 2
|
||||
gContestMoveTypeTextPointers:: @ 8587D48
|
||||
.4byte gContestMoveTypeCoolText
|
||||
.4byte gContestMoveTypeBeautyText
|
||||
.4byte gContestMoveTypeCuteText
|
||||
.4byte gContestMoveTypeSmartText
|
||||
.4byte gContestMoveTypeToughText
|
@ -1,246 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
.align 2
|
||||
gUnkTextboxBorderPal:: @ 82F0548
|
||||
.incbin "graphics/interface/unk_textbox_border.gbapal"
|
||||
|
||||
.align 2
|
||||
gUnkTextboxBorderGfx:: @ 82F0568
|
||||
.incbin "graphics/interface/unk_textbox_border.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0598:: @ 82F0598 struct BgTemplate
|
||||
.4byte 0x000000f8
|
||||
.4byte 0x000010e1
|
||||
.4byte 0x000020d2
|
||||
.4byte 0x000030c3
|
||||
|
||||
.align 2
|
||||
gUnknown_082F05A8:: @ 82F05A8
|
||||
window_template 0x00, 0x00, 0x00, 0x1e, 0x02, 0x0c, 0x0013
|
||||
window_template 0x00, 0x01, 0x0f, 0x1c, 0x04, 0x0c, 0x004f
|
||||
window_template 0x00, 0x00, 0x0f, 0x1e, 0x05, 0x0d, 0x004f
|
||||
null_window_template
|
||||
|
||||
.align 2
|
||||
gUnknown_082F05C8:: @ 82F05C8
|
||||
window_template 0x00, 0x01, 0x0f, 0x1c, 0x04, 0x0c, 0x00e5
|
||||
|
||||
.align 2
|
||||
gUnknown_082F05D0:: @ 82F05D0
|
||||
window_template 0x00, 0x01, 0x0f, 0x14, 0x04, 0x0c, 0x00e5
|
||||
|
||||
.align 2
|
||||
gUnknown_082F05D8:: @ 82F05D8
|
||||
window_template 0x00, 0x01, 0x0f, 0x13, 0x04, 0x0c, 0x00e5
|
||||
|
||||
.align 2
|
||||
gUnknown_082F05E0:: @ 82F05E0
|
||||
window_template 0x00, 0x08, 0x06, 0x0e, 0x06, 0x0c, 0x0155
|
||||
|
||||
.align 2
|
||||
gUnknown_082F05E8:: @ 82F05E8
|
||||
window_template 0x00, 0x17, 0x0f, 0x06, 0x04, 0x0c, 0x0155
|
||||
|
||||
.align 2
|
||||
gUnknown_082F05F0:: @ 82F05F0
|
||||
window_template 0x00, 0x16, 0x0b, 0x07, 0x08, 0x0c, 0x0155
|
||||
|
||||
.align 2
|
||||
gUnknown_082F05F8:: @ 82F05F8
|
||||
window_template 0x00, 0x16, 0x0d, 0x07, 0x06, 0x0c, 0x0155
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0600:: @ 82F0600
|
||||
window_template 0x00, 0x16, 0x0f, 0x07, 0x04, 0x0c, 0x0155
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0608:: @ 82F0608
|
||||
.4byte gText_WonderCards, 0x00000000
|
||||
.4byte gText_WonderNews, 0x00000001
|
||||
.4byte gText_Exit3, 0xfffffffe
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0620:: @ 82F0620
|
||||
.4byte gText_WirelessCommunication, 0x00000000
|
||||
.4byte gText_Friend2, 0x00000001
|
||||
.4byte gText_Cancel2, 0xfffffffe
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0638:: @ 82F0638 struct ListMenuTemplate
|
||||
.4byte NULL
|
||||
.4byte ListMenuDefaultCursorMoveFunc
|
||||
.4byte NULL
|
||||
.byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00
|
||||
.byte 0x21, 0x31, 0x00, 0x01
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0650:: @ 82F0650
|
||||
.4byte gText_Receive, 0x00000000
|
||||
.4byte gText_Send, 0x00000001
|
||||
.4byte gText_Toss, 0x00000002
|
||||
.4byte gText_Cancel2, 0xfffffffe
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0670:: @ 82F0670
|
||||
.4byte gText_Receive, 0x00000000
|
||||
.4byte gText_Toss, 0x00000002
|
||||
.4byte gText_Cancel2, 0xfffffffe
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0688:: @ 82F0688
|
||||
.4byte gText_Receive, 0x00000000
|
||||
.4byte gText_Send, 0x00000001
|
||||
.4byte gText_Cancel2, 0xfffffffe
|
||||
|
||||
.align 2
|
||||
gUnknown_082F06A0:: @ 82F06A0
|
||||
.4byte gText_Receive, 0x00000000
|
||||
.4byte gText_Cancel2, 0xfffffffe
|
||||
|
||||
.align 2
|
||||
gUnknown_082F06B0:: @ 82F06B0 struct ListMenuTemplate
|
||||
.4byte gUnknown_082F0650
|
||||
.4byte ListMenuDefaultCursorMoveFunc
|
||||
.4byte NULL
|
||||
.byte 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00
|
||||
.byte 0x21, 0x31, 0x00, 0x01
|
||||
|
||||
.align 2
|
||||
gUnknown_082F06C8:: @ 82F06C8
|
||||
.4byte gUnknown_082F0670
|
||||
.4byte ListMenuDefaultCursorMoveFunc
|
||||
.4byte NULL
|
||||
.byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00
|
||||
.byte 0x21, 0x31, 0x00, 0x01
|
||||
|
||||
.align 2
|
||||
gUnknown_082F06E0:: @ 82F06E0
|
||||
.4byte gUnknown_082F0688
|
||||
.4byte ListMenuDefaultCursorMoveFunc
|
||||
.4byte NULL
|
||||
.byte 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00
|
||||
.byte 0x21, 0x31, 0x00, 0x01
|
||||
|
||||
.align 2
|
||||
gUnknown_082F06F8:: @ 82F06F8
|
||||
.4byte gUnknown_082F06A0
|
||||
.4byte ListMenuDefaultCursorMoveFunc
|
||||
.4byte NULL
|
||||
.byte 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00
|
||||
.byte 0x21, 0x31, 0x00, 0x01
|
||||
|
||||
.align 2
|
||||
.4byte gText_VarietyOfEventsImportedWireless
|
||||
.4byte gText_WonderCardsInPossession
|
||||
.4byte gText_ReadNewsThatArrived
|
||||
.4byte gText_ReturnToTitle
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0720:: @ 82F0720
|
||||
.byte 0x00, 0x01, 0x02
|
||||
|
||||
.align 2
|
||||
.byte 0x00, 0x01, 0x02
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0728:: @ 82F0728
|
||||
.byte 0x01, 0x02, 0x03
|
||||
|
||||
.align 2
|
||||
gUnknown_082F072C:: @ 82F072C
|
||||
.byte 0x21, 0x2c, 0x1f, 0x23, 0x25, 0x24, 0x41, 0x42
|
||||
.byte 0x00, 0x00, 0x22, 0x28, 0x20, 0x2f, 0x2f, 0x0e
|
||||
.byte 0x14, 0x2d, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0740:: @ 82F0740
|
||||
.2byte 0x0004, 0x0006, 0x000d, 0x0008
|
||||
.2byte 0x000a, 0x0006, 0x0001, 0x0008
|
||||
.2byte 0x000d, 0x0004, 0x0007, 0x0004
|
||||
.2byte 0x0001, 0x0004, 0x0007, 0x0008
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0760:: @ 82F0760
|
||||
.byte 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00
|
||||
.byte 0x00, 0x01
|
||||
|
||||
gUnknown_082F076A:: @ 82F076A
|
||||
.byte 0x00, 0x02, 0x01, 0x04, 0x03
|
||||
|
||||
gUnknown_082F076F:: @ 82F076F
|
||||
.byte 0x01, 0x03, 0x01, 0x04, 0x02
|
||||
|
||||
gUnknown_082F0774:: @ 82F0774
|
||||
.byte 0x09, 0x08, 0x07, 0x02, 0x06, 0x05, 0x04, 0x03
|
||||
.byte 0xbf, 0x02, 0xc0, 0x02, 0xc1, 0x02, 0xc2, 0x02
|
||||
.byte 0xc3, 0x02, 0xc4, 0x02, 0xc5, 0x02, 0xc6, 0x02
|
||||
|
||||
gUnknown_082F078C:: @ 82F078C
|
||||
.byte 0x9c, 0xfe
|
||||
|
||||
gUnknown_082F078E:: @ 82F078E
|
||||
.byte 0x9d, 0xfe
|
||||
|
||||
.align 2
|
||||
gWirelessInfoScreenPal:: @ 82F0790
|
||||
.incbin "graphics/interface/wireless_info_screen.gbapal"
|
||||
|
||||
.align 2
|
||||
gWirelessInfoScreenGfx:: @ 82F0990
|
||||
.incbin "graphics/interface/wireless_info_screen.4bpp.lz"
|
||||
|
||||
.align 2
|
||||
gWirelessInfoScreenTilemap:: @ 82F0BA0
|
||||
.incbin "graphics/interface/wireless_info_screen.bin.lz"
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0D34:: @ 82F0D34
|
||||
.4byte 0x000001f8
|
||||
.4byte 0x00001081
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0D3C:: @ 82F0D3C
|
||||
window_template 0x00, 0x03, 0x00, 0x18, 0x03, 0x0f, 0x0001
|
||||
window_template 0x00, 0x03, 0x04, 0x15, 0x0f, 0x0f, 0x0049
|
||||
window_template 0x00, 0x18, 0x04, 0x03, 0x0f, 0x0f, 0x0184
|
||||
null_window_template
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0D5C:: @ 82F0D5C
|
||||
.4byte gText_WirelessCommStatus
|
||||
.4byte gText_PeopleTrading
|
||||
.4byte gText_PeopleBattling
|
||||
.4byte gText_PeopleInUnionRoom
|
||||
.4byte gText_PeopleCommunicating
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0D70:: @ 82F0D70
|
||||
.byte 0x01, 0x01, 0x02, 0x02, 0x01, 0x02, 0x03, 0x01
|
||||
.byte 0x04, 0x04, 0x00, 0x02, 0x06, 0x03, 0x02, 0x07
|
||||
.byte 0x03, 0x02, 0x09, 0x03, 0x00, 0x0a, 0x03, 0x00
|
||||
.byte 0x0b, 0x03, 0x00, 0x0c, 0xff, 0x00, 0x0d, 0x00
|
||||
.byte 0x00, 0x10, 0x03, 0x00, 0x0f, 0x03, 0x00, 0x40
|
||||
.byte 0x02, 0x01, 0x41, 0x02, 0x02, 0x44, 0x02, 0x02
|
||||
.byte 0x45, 0x02, 0x00, 0x48, 0x02, 0x02, 0x54, 0x02
|
||||
.byte 0x01, 0x53, 0x02, 0x02, 0x51, 0x02, 0x01, 0x52
|
||||
.byte 0x02, 0x01, 0x15, 0x03, 0x02, 0x16, 0x03, 0x02
|
||||
.byte 0x17, 0x03, 0x00, 0x18, 0x03, 0x00, 0x19, 0x03
|
||||
.byte 0x00, 0x1a, 0x03, 0x00, 0x1b, 0x03, 0x00, 0x1c
|
||||
.byte 0x01, 0x02, 0x0e, 0x01, 0x02, 0x00, 0x00, 0x00
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0DD0:: @ 82F0DD0
|
||||
.4byte 0x000001FC
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0DD4:: @ 82F0DD4
|
||||
window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0e, 0x0014
|
||||
null_window_template
|
||||
|
||||
.align 2
|
||||
gUnknown_082F0DE4:: @ 82F0DE4
|
||||
.byte 0x01, 0x02, 0x03
|
@ -1,10 +1,10 @@
|
||||
#ifndef GUARD_BATTLE_SETUP_H
|
||||
#define GUARD_BATTLE_SETUP_H
|
||||
|
||||
#include "gym_leader_rematch.h"
|
||||
|
||||
#define REMATCHES_COUNT 5
|
||||
#define REMATCH_TABLE_ENTRIES 78
|
||||
#define REMATCH_WALLY_ENTRY 64
|
||||
#define REMATCH_ELITE_FOUR_ENTRIES 73
|
||||
#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY
|
||||
|
||||
struct RematchTrainer
|
||||
{
|
||||
|
@ -242,4 +242,6 @@
|
||||
#define MOVEMENT_ACTION_FLY_UP 0x9C
|
||||
#define MOVEMENT_ACTION_FLY_DOWN 0x9D
|
||||
|
||||
#define MOVEMENT_ACTION_STEP_END 0xFE
|
||||
|
||||
#endif // GUARD_CONSTANTS_EVENTOBJMV_H
|
||||
|
@ -445,13 +445,14 @@
|
||||
#define FLAG_REMATCH_NORMAN 0x1A2
|
||||
#define FLAG_REMATCH_WINONA 0x1A3
|
||||
#define FLAG_REMATCH_TATE_AND_LIZA 0x1A4
|
||||
#define FLAG_REMATCH_JUAN 0x1A5
|
||||
#define FLAG_REMATCH_SIDNEY 0x1A6
|
||||
#define FLAG_REMATCH_PHOEBE 0x1A7
|
||||
#define FLAG_REMATCH_GLACIA 0x1A8
|
||||
#define FLAG_REMATCH_DRAKE 0x1A9
|
||||
#define FLAG_REMATCH_WALLACE 0x1AA
|
||||
// Note: FLAG_REMATCH_JUAN is handled by FLAG_ENABLE_JUAN_MATCH_CALL instead.
|
||||
#define FLAG_REMATCH_SIDNEY 0x1A5
|
||||
#define FLAG_REMATCH_PHOEBE 0x1A6
|
||||
#define FLAG_REMATCH_GLACIA 0x1A7
|
||||
#define FLAG_REMATCH_DRAKE 0x1A8
|
||||
#define FLAG_REMATCH_WALLACE 0x1A9
|
||||
|
||||
#define FLAG_UNUSED_0x1AA 0x1AA // Unused Flag
|
||||
#define FLAG_UNUSED_0x1AB 0x1AB // Unused Flag
|
||||
|
||||
#define FLAG_DEFEATED_DEOXYS 0x1AC
|
||||
|
@ -51,7 +51,7 @@
|
||||
#define GAME_STAT_USED_DAYCARE 47
|
||||
#define GAME_STAT_RODE_CABLE_CAR 48
|
||||
#define GAME_STAT_ENTERED_HOT_SPRINGS 49
|
||||
#define GAME_STAT_50 50
|
||||
#define GAME_STAT_NUM_UNION_ROOM_BATTLES 50
|
||||
#define GAME_STAT_51 51
|
||||
|
||||
#define NUM_USED_GAME_STATS 52
|
||||
|
@ -9,4 +9,10 @@
|
||||
#define MAP_GROUP(map) (MAP_##map >> 8)
|
||||
#define MAP_NUM(map) (MAP_##map & 0xFF)
|
||||
|
||||
// These groups are used by pokedex_area_screen.c to find wild
|
||||
// pokemon locations.
|
||||
#define MAP_GROUP_OVERWORLD_MONS MAP_GROUP(PETALBURG_CITY)
|
||||
#define MAP_GROUP_SPECIAL_MONS_1 MAP_GROUP(METEOR_FALLS_1F_1R)
|
||||
#define MAP_GROUP_SPECIAL_MONS_2 MAP_GROUP(SAFARI_ZONE_NORTHWEST)
|
||||
|
||||
#endif // GUARD_CONSTANTS_MAPS_H
|
||||
|
@ -196,19 +196,33 @@ enum
|
||||
CONTEST_STRING_NONE = 255
|
||||
};
|
||||
|
||||
enum {
|
||||
CONTEST_RANK_NORMAL,
|
||||
CONTEST_RANK_SUPER,
|
||||
CONTEST_RANK_HYPER,
|
||||
CONTEST_RANK_MASTER,
|
||||
CONTEST_RANK_LINK
|
||||
};
|
||||
|
||||
enum {
|
||||
CONTEST_FILTER_NONE,
|
||||
CONTEST_FILTER_NO_POSTGAME,
|
||||
CONTEST_FILTER_ONLY_POSTGAME
|
||||
};
|
||||
|
||||
struct ContestPokemon
|
||||
{
|
||||
/*0x00*/ u16 species;
|
||||
/*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
|
||||
/*0x0D*/ u8 trainerName[8];
|
||||
/*0x0D*/ u8 trainerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x15*/ u8 trainerGfxId;
|
||||
/*0x18*/ u32 flags;
|
||||
/*0x1C*/ u8 whichRank:2;
|
||||
u8 aiPool_Cool:1;
|
||||
u8 aiPool_Beauty:1;
|
||||
u8 aiPool_Cute:1;
|
||||
u8 aiPool_Smart:1;
|
||||
u8 aiPool_Tough:1;
|
||||
/*0x1C*/ u8 whichRank:2; // 0x1 0x2
|
||||
u8 aiPool_Cool:1; // 0x4
|
||||
u8 aiPool_Beauty:1; // 0x8
|
||||
u8 aiPool_Cute:1; // 0x10
|
||||
u8 aiPool_Smart:1; // 0x20
|
||||
u8 aiPool_Tough:1; // 0x40
|
||||
/*0x1E*/ u16 moves[4]; // moves
|
||||
/*0x26*/ u8 cool; // cool
|
||||
/*0x27*/ u8 beauty; // beauty
|
||||
@ -219,7 +233,7 @@ struct ContestPokemon
|
||||
/*0x2C*/ u8 unk2C[12];
|
||||
/*0x38*/ u32 personality; // personality
|
||||
/*0x3C*/ u32 otId; // otId
|
||||
}; // wow
|
||||
};
|
||||
|
||||
struct Shared18000
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
#ifndef GUARD_EREADER_SCREEN_H
|
||||
#define GUARD_EREADER_SCREEN_H
|
||||
|
||||
void sub_81D5014(void);
|
||||
void task_add_00_ereader(void);
|
||||
|
||||
#endif // GUARD_EREADER_SCREEN_H
|
||||
|
@ -413,5 +413,10 @@ u8 MovementType_RunInPlace_Step0(struct EventObject *, struct Sprite *);
|
||||
u8 MovementType_Invisible_Step0(struct EventObject *, struct Sprite *);
|
||||
u8 MovementType_Invisible_Step1(struct EventObject *, struct Sprite *);
|
||||
u8 MovementType_Invisible_Step2(struct EventObject *, struct Sprite *);
|
||||
void sub_8097C44(u8 var, bool32 var2);
|
||||
bool32 sub_8097C8C(u8 var);
|
||||
void sub_8097BB4(u8 var1, u8 graphicsId);
|
||||
void sub_8097CC4(u8 var1, u8 var2);
|
||||
bool32 sub_8097D9C(u8 var);
|
||||
|
||||
#endif //GUARD_FIELD_EVENT_OBJ_H
|
||||
|
@ -1,17 +1,6 @@
|
||||
#ifndef GUARD_FIELD_PLAYER_AVATAR_H
|
||||
#define GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
||||
enum {
|
||||
PLAYER_AVATAR_STATE_NORMAL,
|
||||
PLAYER_AVATAR_STATE_MACH_BIKE,
|
||||
PLAYER_AVATAR_STATE_ACRO_BIKE,
|
||||
PLAYER_AVATAR_STATE_SURFING,
|
||||
PLAYER_AVATAR_STATE_UNDERWATER,
|
||||
PLAYER_AVATAR_STATE_FIELD_MOVE,
|
||||
PLAYER_AVATAR_STATE_FISHING,
|
||||
PLAYER_AVATAR_STATE_WATERING,
|
||||
};
|
||||
|
||||
void player_step(u8 a, u16 b, u16 c);
|
||||
void ClearPlayerAvatarInfo(void);
|
||||
void SetPlayerAvatarExtraStateTransition(u8, u8);
|
||||
@ -73,5 +62,6 @@ void sub_808D1C8(void);
|
||||
bool32 sub_808D1B4(void);
|
||||
bool32 sub_808D1E8(void);
|
||||
void sub_808C0A8(u8 a);
|
||||
u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y);
|
||||
|
||||
#endif // GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
@ -50,5 +50,6 @@ void SpriteCB_HallOfFameMonitor(struct Sprite *);
|
||||
|
||||
// field_region_map.c
|
||||
void FieldInitRegionMap(MainCallback callback);
|
||||
void sub_8088B94(int x, int y, int a2);
|
||||
|
||||
#endif //GUARD_FIELDMAP_H
|
||||
|
@ -10,6 +10,7 @@ void FixLongGrassMetatilesWindowTop(s16 x, s16 y);
|
||||
void FixLongGrassMetatilesWindowBottom(s16 x, s16 y);
|
||||
|
||||
extern const struct SpritePalette gFieldEffectObjectPaletteInfo6;
|
||||
extern struct MapPosition gPlayerFacingPosition;
|
||||
|
||||
// groundshake
|
||||
bool8 sub_81BE66C(void);
|
||||
|
@ -232,14 +232,25 @@ struct EventObjectGraphicsInfo
|
||||
/*0x20*/ const union AffineAnimCmd *const *affineAnims;
|
||||
};
|
||||
|
||||
#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << 0)
|
||||
#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1)
|
||||
#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2)
|
||||
#define PLAYER_AVATAR_FLAG_SURFING (1 << 3)
|
||||
#define PLAYER_AVATAR_FLAG_UNDERWATER (1 << 4)
|
||||
#define PLAYER_AVATAR_FLAG_5 (1 << 5)
|
||||
#define PLAYER_AVATAR_FLAG_6 (1 << 6)
|
||||
#define PLAYER_AVATAR_FLAG_DASH (1 << 7)
|
||||
enum {
|
||||
PLAYER_AVATAR_STATE_NORMAL,
|
||||
PLAYER_AVATAR_STATE_MACH_BIKE,
|
||||
PLAYER_AVATAR_STATE_ACRO_BIKE,
|
||||
PLAYER_AVATAR_STATE_SURFING,
|
||||
PLAYER_AVATAR_STATE_UNDERWATER,
|
||||
PLAYER_AVATAR_STATE_FIELD_MOVE,
|
||||
PLAYER_AVATAR_STATE_FISHING,
|
||||
PLAYER_AVATAR_STATE_WATERING,
|
||||
};
|
||||
|
||||
#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << PLAYER_AVATAR_STATE_NORMAL)
|
||||
#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << PLAYER_AVATAR_STATE_MACH_BIKE)
|
||||
#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << PLAYER_AVATAR_STATE_ACRO_BIKE)
|
||||
#define PLAYER_AVATAR_FLAG_SURFING (1 << PLAYER_AVATAR_STATE_SURFING)
|
||||
#define PLAYER_AVATAR_FLAG_UNDERWATER (1 << PLAYER_AVATAR_STATE_UNDERWATER)
|
||||
#define PLAYER_AVATAR_FLAG_5 (1 << PLAYER_AVATAR_STATE_FIELD_MOVE)
|
||||
#define PLAYER_AVATAR_FLAG_6 (1 << PLAYER_AVATAR_STATE_FISHING)
|
||||
#define PLAYER_AVATAR_FLAG_DASH (1 << PLAYER_AVATAR_STATE_WATERING)
|
||||
|
||||
enum
|
||||
{
|
||||
|
@ -4765,6 +4765,14 @@ extern const u32 gUnknown_08C16FA8[];
|
||||
extern const u32 gUnknown_08C16E90[];
|
||||
extern const u32 gUnknown_08C17170[];
|
||||
extern const u32 gUnknown_08C17980[];
|
||||
extern const u32 gTiles_8C19450[];
|
||||
extern const u32 gContestNextTurnGfx[];
|
||||
extern const u16 gContestPal[];
|
||||
extern const u32 gUnknown_08C19168[];
|
||||
extern const u32 gContestApplauseGfx[];
|
||||
extern const u32 gContestJudgeGfx[];
|
||||
extern const u32 gContestJudgeSymbolsGfx[];
|
||||
extern const u32 gContest3Pal[];
|
||||
|
||||
extern const u32 gUnknown_08D95E00[];
|
||||
extern const u32 gUnknown_08D960D0[];
|
||||
|
@ -75,11 +75,17 @@ enum {
|
||||
REMATCH_WINONA,
|
||||
REMATCH_TATE_AND_LIZA,
|
||||
REMATCH_JUAN,
|
||||
|
||||
// Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES.
|
||||
REMATCH_SIDNEY,
|
||||
REMATCH_PHOEBE,
|
||||
REMATCH_GLACIA,
|
||||
REMATCH_DRAKE,
|
||||
REMATCH_WALLACE
|
||||
REMATCH_WALLACE,
|
||||
|
||||
// The total number of rematch entries. This must be the last element
|
||||
// in the enum.
|
||||
REMATCH_TABLE_ENTRIES
|
||||
};
|
||||
|
||||
void UpdateGymLeaderRematch(void);
|
||||
|
@ -12,7 +12,7 @@ int GetStringCenterAlignXOffsetWithLetterSpacing(int fontId, const u8 *str, int
|
||||
int GetStringWidthDifference(int fontId, const u8 *str, int totalWidth, int letterSpacing);
|
||||
int GetMaxWidthInMenuTable(const struct MenuAction *str, int arg1);
|
||||
int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2);
|
||||
int sub_81DB41C(const struct ListMenuTemplate *listMenu);
|
||||
int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu);
|
||||
void CopyMonCategoryText(int dexNum, u8 *dest);
|
||||
u8 *sub_81DB494(u8 *str, int fontId, u8 *str2, int totalStringWidth);
|
||||
void PadNameString(u8 *dest, u8 padChar);
|
||||
|
@ -200,8 +200,6 @@ extern bool8 gLinkVSyncDisabled;
|
||||
extern u32 gLinkStatus;
|
||||
|
||||
|
||||
void c2_mystery_gift(void);
|
||||
void sub_801867C(void);
|
||||
bool8 IsWirelessAdapterConnected(void);
|
||||
void Task_DestroySelf(u8 taskId);
|
||||
void OpenLink(void);
|
||||
|
@ -260,7 +260,7 @@ u32 sub_8010714(u16 a0, const u8 *a1);
|
||||
void sub_8011DC0(const u8 *a0, u16 a1);
|
||||
bool8 sub_800EF1C(void);
|
||||
bool32 sub_800EF58(bool32 a0);
|
||||
void sub_800E084(void);
|
||||
void DestroyWirelessStatusIndicatorSprite(void);
|
||||
void sub_801103C(void);
|
||||
void sub_8011C5C(void);
|
||||
void sub_80106D4(void);
|
||||
|
@ -98,7 +98,7 @@ struct CursorStruct
|
||||
extern struct ScrollArrowsTemplate gTempScrollArrowTemplate;
|
||||
extern struct ListMenuTemplate gMultiuseListMenuTemplate;
|
||||
|
||||
s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum);
|
||||
s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum);
|
||||
u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow);
|
||||
u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *arg1, u16 scrollOffset, u16 selectedRow);
|
||||
s32 ListMenu_ProcessInput(u8 listTaskId);
|
||||
|
@ -71,6 +71,6 @@ void RestoreSerialTimer3IntrHandlers(void);
|
||||
void StartTimer1(void);
|
||||
void SeedRngAndSetTrainerId(void);
|
||||
u16 GetGeneratedTrainerIdLower(void);
|
||||
|
||||
void sub_819789C(void);
|
||||
|
||||
#endif // GUARD_MAIN_H
|
||||
|
@ -35,7 +35,7 @@ void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram);
|
||||
void DisplayYesNoMenuDefaultYes(void);
|
||||
u32 GetPlayerTextSpeed(void);
|
||||
u8 GetPlayerTextSpeedDelay(void);
|
||||
void sub_81978B0(u16 arg0);
|
||||
void Menu_LoadStdPalAt(u16 arg0);
|
||||
void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextPrinterTemplate *, u16));
|
||||
void sub_8199DF0(u32 bg, u8 a1, int a2, int a3);
|
||||
void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str);
|
||||
@ -69,7 +69,7 @@ u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16
|
||||
void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress);
|
||||
void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8);
|
||||
void sub_8198DBC(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8);
|
||||
u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, u8 initialCursorPos);
|
||||
u8 sub_8199944(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos);
|
||||
u8 sub_8199134(s8, s8);
|
||||
u8 GetStartMenuWindowId(void);
|
||||
void sub_819A2BC(u8, u8);
|
||||
@ -91,7 +91,7 @@ void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
|
||||
void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP);
|
||||
void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram);
|
||||
void sub_8197AE8(bool8 copyToVram);
|
||||
void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs);
|
||||
void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const struct MenuAction *strs);
|
||||
s8 Menu_ProcessInputGridLayout(void);
|
||||
u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted);
|
||||
s8 Menu_ProcessInputNoWrapAround_other(void);
|
||||
|
@ -32,23 +32,23 @@ struct MEventStruct_Unk1442CC
|
||||
};
|
||||
|
||||
void sub_801AFD8(void);
|
||||
struct MEventBuffer_3120_Sub *sub_801B00C(void);
|
||||
struct MEventBuffer_3120_Sub *sav1_get_mevent_buffer_0(void);
|
||||
struct MEventBuffer_32E0_Sub *sav1_get_mevent_buffer_1(void);
|
||||
struct MEventBuffer_3430_Sub *sav1_get_mevent_buffer_2(void);
|
||||
struct MysteryEventStruct *sub_801B044(void);
|
||||
u16 *sub_801B058(void);
|
||||
void sub_801B06C(void);
|
||||
void DestroyWonderNews(void);
|
||||
bool32 sub_801B078(const struct MEventBuffer_3120_Sub *src);
|
||||
bool32 sub_801B0CC(void);
|
||||
bool32 sub_801B128(void);
|
||||
bool32 ValidateReceivedWonderNews(void);
|
||||
bool32 WonderNews_Test_Unk_02(void);
|
||||
bool32 sub_801B1A4(const u8 *src);
|
||||
void sub_801B1E8(void);
|
||||
void DestroyWonderCard(void);
|
||||
bool32 sub_801B21C(const struct MEventBuffer_32E0_Sub *data);
|
||||
bool32 sub_801B27C(void);
|
||||
bool32 sub_801B308(void);
|
||||
u16 sub_801B39C(void);
|
||||
bool32 ValidateReceivedWonderCard(void);
|
||||
bool32 WonderCard_Test_Unk_08_6(void);
|
||||
u16 GetWonderCardFlagID(void);
|
||||
void sub_801B3C0(struct MEventBuffer_32E0_Sub *buffer);
|
||||
bool32 sub_801B3F8(void);
|
||||
bool32 CheckReceivedGiftFromWonderCard(void);
|
||||
bool32 sub_801B508(const u16 *data);
|
||||
void sub_801B580(struct MEventStruct_Unk1442CC *data, bool32 a1);
|
||||
bool32 sub_801B6A0(const struct MEventStruct_Unk1442CC *data, bool32 a1);
|
||||
|
6
include/mevent2.h
Normal file
6
include/mevent2.h
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_MEVENT2_H
|
||||
#define GUARD_MEVENT2_H
|
||||
|
||||
void sub_801B990(u32, u32);
|
||||
|
||||
#endif //GUARD_MEVENT2_H
|
16
include/mevent_801BAAC.h
Normal file
16
include/mevent_801BAAC.h
Normal file
@ -0,0 +1,16 @@
|
||||
#ifndef GUARD_MEVENT_801BAAC_H
|
||||
#define GUARD_MEVENT_801BAAC_H
|
||||
|
||||
bool32 InitWonderCardResources(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6);
|
||||
bool32 InitWonderNewsResources(const struct MEventBuffer_3120_Sub * a0);
|
||||
s32 FadeToWonderCardMenu(void);
|
||||
s32 FadeToWonderNewsMenu(void);
|
||||
s32 FadeOutFromWonderCard(bool32 flag);
|
||||
void DestroyWonderCardResources(void);
|
||||
s32 FadeOutFromWonderNews(bool32 flag);
|
||||
void DestroyWonderNewsResources(void);
|
||||
u32 MENews_GetInput(u16 input);
|
||||
void MENews_AddScrollIndicatorArrowPair(void);
|
||||
void MENews_RemoveScrollIndicatorArrowPair(void);
|
||||
|
||||
#endif //GUARD_MEVENT_801BAAC_H
|
@ -2,5 +2,6 @@
|
||||
#define GUARD_MEVENT_NEWS_H
|
||||
|
||||
void sub_801DBC0(void);
|
||||
void GenerateRandomNews(u32 a0);
|
||||
|
||||
#endif //GUARD_MEVENT_NEWS_H
|
||||
|
8
include/mevent_server.h
Normal file
8
include/mevent_server.h
Normal file
@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_MEVENT_SERVER_H
|
||||
#define GUARD_MEVENT_SERVER_H
|
||||
|
||||
void mevent_srv_new_wcard();
|
||||
void mevent_srv_init_wnews();
|
||||
u32 mevent_srv_common_do_exec(u16 * a0);
|
||||
|
||||
#endif //GUARD_MEVENT_SERVER_H
|
10
include/mevent_server_ish.h
Normal file
10
include/mevent_server_ish.h
Normal file
@ -0,0 +1,10 @@
|
||||
#ifndef GUARD_MEVENT_SERVER_ISH_H
|
||||
#define GUARD_MEVENT_SERVER_ISH_H
|
||||
|
||||
void mevent_srv_ish_do_init(u32 arg);
|
||||
u32 mevent_srv_ish_do_exec(u16 * a0);
|
||||
void mevent_srv_ish_inc_flag(void);
|
||||
void * mevent_srv_ish_get_buffer(void);
|
||||
void mevent_srv_ish_set_param(u32 a0);
|
||||
|
||||
#endif //GUARD_MEVENT_SERVER_ISH_H
|
16
include/mystery_gift.h
Normal file
16
include/mystery_gift.h
Normal file
@ -0,0 +1,16 @@
|
||||
#ifndef GUARD_MYSTERY_GIFT_H
|
||||
#define GUARD_MYSTERY_GIFT_H
|
||||
|
||||
extern bool8 gGiftIsFromEReader;
|
||||
|
||||
u16 GetMysteryGiftBaseBlock(void);
|
||||
void c2_mystery_gift_e_reader_run(void);
|
||||
void PrintMysteryGiftOrEReaderTopMenu(bool8 isJapanese, bool32 usePickOkCancel);
|
||||
void MG_DrawCheckerboardPattern(u32 bg);
|
||||
void MainCB_FreeAllBuffersAndReturnToInitTitleScreen(void);
|
||||
bool32 MG_PrintTextOnWindow1AndWaitButton(u8 *textState, const u8 *str);
|
||||
void AddTextPrinterToWindow1(const u8 *src);
|
||||
void c2_ereader(void);
|
||||
void c2_mystery_gift(void);
|
||||
|
||||
#endif //GUARD_MYSTERY_GIFT_H
|
@ -1,175 +1,4 @@
|
||||
#ifndef GUARD_rom_8011DC0_H
|
||||
#define GUARD_rom_8011DC0_H
|
||||
|
||||
#include "librfu.h"
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
struct UnkStruct_Shared
|
||||
{
|
||||
struct UnkLinkRfuStruct_02022B14 field_0;
|
||||
u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH + 1];
|
||||
};
|
||||
|
||||
struct UnkStruct_x1C
|
||||
{
|
||||
struct UnkStruct_Shared unk0;
|
||||
u8 unk18:1;
|
||||
};
|
||||
|
||||
struct UnkStruct_x20
|
||||
{
|
||||
struct UnkStruct_Shared unk;
|
||||
u16 field_18;
|
||||
u8 field_1A_0:2;
|
||||
u8 field_1A_1:1;
|
||||
u8 field_1B;
|
||||
u8 field_1D;
|
||||
u8 field_1E;
|
||||
u8 field_1F;
|
||||
};
|
||||
|
||||
struct UnkStruct_Main0
|
||||
{
|
||||
struct UnkStruct_x20 arr[8];
|
||||
};
|
||||
|
||||
struct UnkStruct_Main4
|
||||
{
|
||||
struct UnkStruct_x1C arr[5];
|
||||
};
|
||||
|
||||
struct UnkStruct_Main8
|
||||
{
|
||||
struct UnkStruct_x20 arr[5];
|
||||
};
|
||||
|
||||
struct UnkStruct_Leader
|
||||
{
|
||||
struct UnkStruct_Main0 *field_0;
|
||||
struct UnkStruct_Main4 *field_4;
|
||||
struct UnkStruct_Main8 *field_8;
|
||||
u8 state;
|
||||
u8 textState;
|
||||
u8 field_E;
|
||||
u8 listWindowId;
|
||||
u8 field_10;
|
||||
u8 field_11;
|
||||
u8 listTaskId;
|
||||
u8 field_13;
|
||||
u8 field_14;
|
||||
u8 field_15;
|
||||
u8 field_16;
|
||||
u8 field_17;
|
||||
u8 field_18;
|
||||
u8 field_19;
|
||||
u16 field_1A;
|
||||
};
|
||||
|
||||
struct UnkStruct_Group
|
||||
{
|
||||
struct UnkStruct_Main0 *field_0;
|
||||
struct UnkStruct_Main4 *field_4;
|
||||
u8 state;
|
||||
u8 textState;
|
||||
u8 field_A;
|
||||
u8 listWindowId;
|
||||
u8 field_C;
|
||||
u8 field_D;
|
||||
u8 listTaskId;
|
||||
u8 field_F;
|
||||
u8 field_10;
|
||||
u8 field_11;
|
||||
u8 field_12;
|
||||
u8 field_13;
|
||||
u8 field_14;
|
||||
u8 field_15;
|
||||
};
|
||||
|
||||
struct UnkStruct_8019BA8
|
||||
{
|
||||
u8 field_0;
|
||||
u8 field_1;
|
||||
u8 field_2;
|
||||
u8 field_3;
|
||||
};
|
||||
|
||||
struct UnkStruct_URoom
|
||||
{
|
||||
struct UnkStruct_Main0 *field_0;
|
||||
struct UnkStruct_Main4 *field_4;
|
||||
struct UnkStruct_Main0 *field_8;
|
||||
struct UnkStruct_Main4 *field_C;
|
||||
u16 field_10;
|
||||
u16 field_12;
|
||||
u8 state;
|
||||
u8 stateAfterPrint;
|
||||
u8 textState;
|
||||
u8 field_17;
|
||||
u8 field_18;
|
||||
u8 field_19;
|
||||
u8 field_1A;
|
||||
u8 field_1B;
|
||||
u8 field_1C;
|
||||
u8 field_1D;
|
||||
u8 field_1E;
|
||||
u8 field_1F;
|
||||
u8 field_20;
|
||||
u8 spriteIds[40];
|
||||
u8 field_49;
|
||||
u8 field_4A;
|
||||
u16 field_4C[6];
|
||||
u8 field_58[0x98 - 0x58];
|
||||
u16 field_98;
|
||||
u16 field_9A[3];
|
||||
struct UnkStruct_8019BA8 field_A0[8];
|
||||
u8 field_C0[12][15];
|
||||
u8 field_174[48];
|
||||
u8 field_1A4[200];
|
||||
};
|
||||
|
||||
union UnkUnion_Main
|
||||
{
|
||||
struct UnkStruct_Leader *leader;
|
||||
struct UnkStruct_Group *group;
|
||||
struct UnkStruct_URoom *uRoom;
|
||||
};
|
||||
|
||||
struct TradeUnkStruct
|
||||
{
|
||||
u16 field_0;
|
||||
u16 type;
|
||||
u32 playerPersonality;
|
||||
u8 field_8;
|
||||
u8 field_9;
|
||||
u16 playerSpecies;
|
||||
u16 playerLevel;
|
||||
u16 species;
|
||||
u16 level;
|
||||
u16 field_12;
|
||||
u32 personality;
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
extern u8 gUnknown_02022C2C;
|
||||
extern union UnkUnion_Main gUnknown_02022C30;
|
||||
extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38;
|
||||
|
||||
extern u16 gUnknown_02022C3C;
|
||||
extern u8 gUnknown_02022C3E;
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
void sub_8018438(void);
|
||||
void sub_801B990(u32, u32);
|
||||
u8 sub_8013F78(void);
|
||||
bool32 sub_802C908(u16);
|
||||
void nullsub_89(u8 taskId);
|
||||
void var_800D_set_xB(void);
|
||||
|
||||
bool32 mevent_0814257C(u8 *textState, const u8 *str);
|
||||
void sub_8018884(const u8 *src);
|
||||
void sub_80186A4(void);
|
||||
|
||||
#endif //GUARD_rom_8011DC0_H
|
||||
|
@ -11,7 +11,7 @@ bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
|
||||
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
|
||||
int convert_pixel_width_to_tile_width(int);
|
||||
u8 CreateWindowFromRect(u8, u8, u8, u8);
|
||||
void sub_80E2A78(u8);
|
||||
void ClearToTransparentAndRemoveWindow(u8);
|
||||
int display_text_and_get_width(const u8*, int);
|
||||
int sub_80E2D5C(int arg0, int tileWidth);
|
||||
bool16 ScrSpecial_CreatePCMenu(void);
|
||||
|
@ -2607,4 +2607,78 @@ extern const u8 gText_YayUnkF9F9[];
|
||||
extern const u8 gText_ThankYou[];
|
||||
extern const u8 gText_ByeBye[];
|
||||
|
||||
// Mystery Gift
|
||||
extern const u8 gText_MysteryGift[];
|
||||
extern const u8 gText_PickOKCancel[];
|
||||
extern const u8 gText_PickOKExit[];
|
||||
extern const u8 gJPText_MysteryGift[];
|
||||
extern const u8 gJPText_DecideStop[];
|
||||
extern const u8 gText_WonderCards[];
|
||||
extern const u8 gText_WonderNews[];
|
||||
extern const u8 gText_Exit3[];
|
||||
extern const u8 gText_WirelessCommunication[];
|
||||
extern const u8 gText_Friend2[];
|
||||
extern const u8 gText_Cancel2[];
|
||||
extern const u8 gText_Receive[];
|
||||
extern const u8 gText_Send[];
|
||||
extern const u8 gText_Toss[];
|
||||
extern const u8 gText_VarietyOfEventsImportedWireless[];
|
||||
extern const u8 gText_WonderCardsInPossession[];
|
||||
extern const u8 gText_ReadNewsThatArrived[];
|
||||
extern const u8 gText_ReturnToTitle[];
|
||||
extern const u8 gText_WhatToDoWithCards[];
|
||||
extern const u8 gText_WhatToDoWithNews[];
|
||||
extern const u8 gText_IfThrowAwayCardEventWontHappen[];
|
||||
extern const u8 gText_OkayToDiscardNews[];
|
||||
extern const u8 gText_WonderNewsThrownAway[];
|
||||
extern const u8 gText_WonderCardThrownAway[];
|
||||
extern const u8 gText_DataWillBeSaved[];
|
||||
extern const u8 gText_SaveCompletedPressA[];
|
||||
extern const u8 gText_NothingSentOver[];
|
||||
extern const u8 gText_RecordUploadedViaWireless[];
|
||||
extern const u8 gText_WonderCardReceivedFrom[];
|
||||
extern const u8 gText_WonderCardReceived[];
|
||||
extern const u8 gText_WonderNewsReceivedFrom[];
|
||||
extern const u8 gText_WonderNewsReceived[];
|
||||
extern const u8 gText_NewStampReceived[];
|
||||
extern const u8 gText_AlreadyHadCard[];
|
||||
extern const u8 gText_AlreadyHadStamp[];
|
||||
extern const u8 gText_AlreadyHadNews[];
|
||||
extern const u8 gText_NoMoreRoomForStamps[];
|
||||
extern const u8 gText_CommunicationCanceled[];
|
||||
extern const u8 gText_CantAcceptNewsFromTrainer[];
|
||||
extern const u8 gText_CantAcceptCardFromTrainer[];
|
||||
extern const u8 gText_CommunicationError[];
|
||||
extern const u8 gText_NewTrainerReceived[];
|
||||
extern const u8 gText_RecordUploadedViaWireless[];
|
||||
extern const u8 gText_WonderCardSentTo[];
|
||||
extern const u8 gText_WonderNewsSentTo[];
|
||||
extern const u8 gText_StampSentTo[];
|
||||
extern const u8 gText_OtherTrainerHasCard[];
|
||||
extern const u8 gText_OtherTrainerHasStamp[];
|
||||
extern const u8 gText_OtherTrainerHasNews[];
|
||||
extern const u8 gText_NoMoreRoomForStamps[];
|
||||
extern const u8 gText_OtherTrainerCanceled[];
|
||||
extern const u8 gText_GiftSentTo[];
|
||||
extern const u8 gText_CantSendGiftToTrainer[];
|
||||
extern const u8 gText_DontHaveCardNewOneInput[];
|
||||
extern const u8 gText_DontHaveNewsNewOneInput[];
|
||||
extern const u8 gText_WhereShouldCardBeAccessed[];
|
||||
extern const u8 gText_WhereShouldNewsBeAccessed[];
|
||||
extern const u8 gText_Communicating[];
|
||||
extern const u8 gText_ThrowAwayWonderCard[];
|
||||
extern const u8 gText_HaventReceivedCardsGift[];
|
||||
extern const u8 gText_CommunicationCompleted[];
|
||||
extern const u8 gText_HaventReceivedGiftOkayToDiscard[];
|
||||
extern const u8 gText_SendingWonderCard[];
|
||||
extern const u8 gText_SendingWonderNews[];
|
||||
extern const u8 gText_WirelessCommStatus[];
|
||||
extern const u8 gText_PeopleTrading[];
|
||||
extern const u8 gText_PeopleBattling[];
|
||||
extern const u8 gText_PeopleInUnionRoom[];
|
||||
extern const u8 gText_PeopleCommunicating[];
|
||||
extern const u8 gText_CommStandbyAwaitingOtherPlayer[];
|
||||
extern const u8 gText_RefusedBattle[];
|
||||
extern const u8 gText_BattleWasRefused[];
|
||||
|
||||
#endif // GUARD_STRINGS_H
|
||||
|
@ -17,8 +17,8 @@ void LoadMessageBoxGfx(u8 windowId, u16 destOffset, u8 palOffset);
|
||||
void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset);
|
||||
void LoadWindowGfx(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset);
|
||||
void LoadUserWindowBorderGfx_(u8 windowId, u16 destOffset, u8 palOffset);
|
||||
void sub_8098858(u8 windowId, u16 tileNum, u8 palNum);
|
||||
void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum);
|
||||
void DrawTextBorderOuter(u8 windowId, u16 tileNum, u8 palNum);
|
||||
void DrawTextBorderInner(u8 windowId, u16 tileNum, u8 palNum);
|
||||
void rbox_fill_rectangle(u8 windowId);
|
||||
const u16 *stdpal_get(u8 id);
|
||||
const u16 *GetOverworldTextboxPalettePtr(void);
|
||||
|
@ -1,9 +1,172 @@
|
||||
#ifndef GUARD_UNION_ROOM_H
|
||||
#define GUARD_UNION_ROOM_H
|
||||
|
||||
extern bool8 gUnknown_02022C60;
|
||||
#include "librfu.h"
|
||||
|
||||
void sub_8018798(u8);
|
||||
void sub_80186EC(bool8, bool32);
|
||||
// Exported type declarations
|
||||
|
||||
struct UnkStruct_Shared
|
||||
{
|
||||
struct UnkLinkRfuStruct_02022B14 field_0;
|
||||
u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH + 1];
|
||||
};
|
||||
|
||||
struct UnkStruct_x1C
|
||||
{
|
||||
struct UnkStruct_Shared unk0;
|
||||
u8 unk18:1;
|
||||
};
|
||||
|
||||
struct UnkStruct_x20
|
||||
{
|
||||
struct UnkStruct_Shared unk;
|
||||
u16 field_18;
|
||||
u8 field_1A_0:2;
|
||||
u8 field_1A_1:1;
|
||||
u8 field_1B;
|
||||
u8 field_1D;
|
||||
u8 field_1E;
|
||||
u8 field_1F;
|
||||
};
|
||||
|
||||
struct UnkStruct_Main0
|
||||
{
|
||||
struct UnkStruct_x20 arr[8];
|
||||
};
|
||||
|
||||
struct UnkStruct_Main4
|
||||
{
|
||||
struct UnkStruct_x1C arr[5];
|
||||
};
|
||||
|
||||
struct UnkStruct_Main8
|
||||
{
|
||||
struct UnkStruct_x20 arr[5];
|
||||
};
|
||||
|
||||
struct UnkStruct_Leader
|
||||
{
|
||||
struct UnkStruct_Main0 *field_0;
|
||||
struct UnkStruct_Main4 *field_4;
|
||||
struct UnkStruct_Main8 *field_8;
|
||||
u8 state;
|
||||
u8 textState;
|
||||
u8 field_E;
|
||||
u8 listWindowId;
|
||||
u8 field_10;
|
||||
u8 field_11;
|
||||
u8 listTaskId;
|
||||
u8 field_13;
|
||||
u8 field_14;
|
||||
u8 field_15;
|
||||
u8 field_16;
|
||||
u8 field_17;
|
||||
u8 field_18;
|
||||
u8 field_19;
|
||||
u16 field_1A;
|
||||
};
|
||||
|
||||
struct UnkStruct_Group
|
||||
{
|
||||
struct UnkStruct_Main0 *field_0;
|
||||
struct UnkStruct_Main4 *field_4;
|
||||
u8 state;
|
||||
u8 textState;
|
||||
u8 field_A;
|
||||
u8 listWindowId;
|
||||
u8 field_C;
|
||||
u8 field_D;
|
||||
u8 listTaskId;
|
||||
u8 field_F;
|
||||
u8 field_10;
|
||||
u8 field_11;
|
||||
u8 field_12;
|
||||
u8 field_13;
|
||||
u8 field_14;
|
||||
u8 field_15;
|
||||
};
|
||||
|
||||
struct UnkStruct_8019BA8
|
||||
{
|
||||
u8 field_0;
|
||||
u8 field_1;
|
||||
s8 field_2;
|
||||
u8 field_3;
|
||||
};
|
||||
|
||||
struct UnkStruct_URoom
|
||||
{
|
||||
struct UnkStruct_Main0 *field_0;
|
||||
struct UnkStruct_Main4 *field_4;
|
||||
struct UnkStruct_Main0 *field_8;
|
||||
struct UnkStruct_Main4 *field_C;
|
||||
u16 field_10;
|
||||
u16 field_12;
|
||||
u8 state;
|
||||
u8 stateAfterPrint;
|
||||
u8 textState;
|
||||
u8 field_17;
|
||||
u8 field_18;
|
||||
u8 field_19;
|
||||
u8 field_1A;
|
||||
u8 field_1B;
|
||||
u8 field_1C;
|
||||
u8 field_1D;
|
||||
u8 field_1E;
|
||||
u8 field_1F;
|
||||
u8 field_20;
|
||||
u8 spriteIds[40];
|
||||
u8 field_49;
|
||||
u8 field_4A;
|
||||
u16 field_4C[6];
|
||||
u8 field_58[0x98 - 0x58];
|
||||
u16 field_98;
|
||||
u16 field_9A[3];
|
||||
struct UnkStruct_8019BA8 field_A0[8];
|
||||
u8 field_C0[12][15];
|
||||
u8 field_174[48];
|
||||
u8 field_1A4[200];
|
||||
};
|
||||
|
||||
union UnkUnion_Main
|
||||
{
|
||||
struct UnkStruct_Leader *leader;
|
||||
struct UnkStruct_Group *group;
|
||||
struct UnkStruct_URoom *uRoom;
|
||||
};
|
||||
|
||||
struct TradeUnkStruct
|
||||
{
|
||||
u16 field_0;
|
||||
u16 type;
|
||||
u32 playerPersonality;
|
||||
u8 field_8;
|
||||
u8 field_9;
|
||||
u16 playerSpecies;
|
||||
u16 playerLevel;
|
||||
u16 species;
|
||||
u16 level;
|
||||
u16 field_12;
|
||||
u32 personality;
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
extern u8 gUnknown_02022C2C;
|
||||
extern union UnkUnion_Main gUnknown_02022C30;
|
||||
extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38;
|
||||
|
||||
extern u16 gUnknown_02022C3C;
|
||||
extern u8 gUnknown_02022C3E;
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
u8 sub_8013F78(void);
|
||||
bool32 sub_802C908(u16);
|
||||
void nullsub_89(u8 taskId);
|
||||
void var_800D_set_xB(void);
|
||||
void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0);
|
||||
void MEvent_CreateTask_CardOrNewsOverWireless(u32 arg0);
|
||||
void MEvent_CreateTask_Leader(u32 arg0);
|
||||
|
||||
#endif //GUARD_UNION_ROOM_H
|
||||
|
7
include/union_room_battle.h
Normal file
7
include/union_room_battle.h
Normal file
@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_UNION_ROOM_BATTLE_H
|
||||
#define GUARD_UNION_ROOM_BATTLE_H
|
||||
|
||||
u8 sub_8013C40(void);
|
||||
void sub_8014210(u16 battleFlags);
|
||||
|
||||
#endif //GUARD_UNION_ROOM_BATTLE_H
|
14
include/union_room_player_avatar.h
Normal file
14
include/union_room_player_avatar.h
Normal file
@ -0,0 +1,14 @@
|
||||
#ifndef GUARD_UNION_ROOM_PLAYER_AVATAR_H
|
||||
#define GUARD_UNION_ROOM_PLAYER_AVATAR_H
|
||||
|
||||
u8 sub_8019BA8(struct UnkStruct_8019BA8 * ptr);
|
||||
void sub_8019E3C(void);
|
||||
void sub_8019E70(u8 *arg0, s32 arg1);
|
||||
void sub_8019F04(u8 *spriteIds);
|
||||
void sub_8019F2C(void);
|
||||
void sub_801A274(struct UnkStruct_URoom *arg0);
|
||||
void sub_801A284(struct UnkStruct_URoom *arg0);
|
||||
bool32 sub_801A2A8(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3);
|
||||
void sub_801A3D0(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2);
|
||||
|
||||
#endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H
|
@ -55,7 +55,9 @@ SECTIONS {
|
||||
src/link.o(.text);
|
||||
src/link_rfu.o(.text);
|
||||
src/union_room.o(.text);
|
||||
asm/union_room.o(.text);
|
||||
src/mystery_gift.o(.text);
|
||||
src/union_room_player_avatar.o(.text);
|
||||
src/union_room_battle.o(.text);
|
||||
src/mevent2.o(.text);
|
||||
src/mevent_801BAAC.o(.text);
|
||||
asm/mevent_server.o(.text);
|
||||
@ -409,7 +411,9 @@ SECTIONS {
|
||||
src/link.o(.rodata);
|
||||
src/link_rfu.o(.rodata);
|
||||
src/union_room.o(.rodata);
|
||||
data/union_room.o(.rodata);
|
||||
src/mystery_gift.o(.rodata);
|
||||
src/union_room_player_avatar.o(.rodata);
|
||||
src/union_room_battle.o(.rodata);
|
||||
src/mevent2.o(.rodata);
|
||||
src/mevent_801BAAC.o(.rodata);
|
||||
data/mevent_server.o(.rodata);
|
||||
@ -484,7 +488,7 @@ SECTIONS {
|
||||
src/item_menu_icons.o(.rodata);
|
||||
src/battle_anim_mon_movement.o(.rodata);
|
||||
src/item.o(.rodata);
|
||||
data/contest.o(.rodata);
|
||||
src/contest.o(.rodata);
|
||||
src/shop.o(.rodata);
|
||||
src/fldeff_escalator.o(.rodata);
|
||||
src/berry.o(.rodata);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1093,7 +1093,7 @@ const struct SpriteTemplate gUnknown_085928D0 =
|
||||
.callback = sub_8100A50,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085928E8 =
|
||||
const struct SpriteTemplate gVineWhipSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_WHIP_HIT,
|
||||
.paletteTag = ANIM_TAG_WHIP_HIT,
|
||||
@ -3748,7 +3748,7 @@ void sub_81009F8(struct Sprite* sprite)
|
||||
|
||||
void sub_8100A50(struct Sprite* sprite)
|
||||
{
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == 0)
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|
||||
StartSpriteAnim(sprite, 1);
|
||||
|
||||
sprite->callback = sub_81009DC;
|
||||
|
@ -889,7 +889,7 @@ const struct SpriteTemplate gUnknown_08593958 =
|
||||
.callback = sub_8105DE8,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08593970 =
|
||||
const struct SpriteTemplate gMagentaHeartSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_MAGENTA_HEART,
|
||||
.paletteTag = ANIM_TAG_MAGENTA_HEART,
|
||||
@ -3286,7 +3286,7 @@ static void sub_810627C(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_81062E8(u8 taskId)
|
||||
void AnimTask_HeartsBackground(u8 taskId)
|
||||
{
|
||||
struct BattleAnimBgData animBg;
|
||||
|
||||
|
@ -709,7 +709,7 @@ void LoadBattleMenuWindowGfx(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
|
||||
{
|
||||
sub_81978B0(0x70);
|
||||
Menu_LoadStdPalAt(0x70);
|
||||
LoadMessageBoxGfx(0, 0x30, 0x70);
|
||||
gPlttBufferUnfaded[0x76] = 0;
|
||||
CpuCopy16(&gPlttBufferUnfaded[0x76], &gPlttBufferFaded[0x76], 2);
|
||||
|
@ -293,35 +293,31 @@ static const u8 sText_ShedinjaJpnName[] = _("ヌケニン"); // Nukenin
|
||||
const struct OamData gOamData_831ACA8 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 1,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.affineMode = ST_OAM_AFFINE_NORMAL,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0,
|
||||
.priority = 2,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
const struct OamData gOamData_831ACB0 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 1,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.affineMode = ST_OAM_AFFINE_NORMAL,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0,
|
||||
.priority = 2,
|
||||
.paletteNum = 2,
|
||||
.affineParam = 0
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
// Unknown and unused data. Feel free to remove.
|
||||
@ -5891,3 +5887,5 @@ static void HandleAction_ActionFinished(void)
|
||||
gBattleScripting.multihitMoveEffect = 0;
|
||||
gBattleResources->battleScriptsStack->size = 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -232,84 +232,84 @@ static const struct TrainerBattleParameter sTrainerBContinueScriptBattleParams[]
|
||||
|
||||
const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] =
|
||||
{
|
||||
{{TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5}, 0x0, 0x21},
|
||||
{{TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5}, 0x0, 0x14},
|
||||
{{TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5}, 0x0, 0x1a},
|
||||
{{TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5}, 0x0, 0x18},
|
||||
{{TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5}, 0x0, 0x18},
|
||||
{{TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5}, 0x0, 0x27},
|
||||
{{TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5}, 0x0, 0x24},
|
||||
{{TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5}, 0x0, 0x1a},
|
||||
{{TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5}, 0x0, 0x1a},
|
||||
{{TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5}, 0x18, 0x14},
|
||||
{{TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6}, 0x0, 0x13},
|
||||
{{TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5}, 0x18, 0x38},
|
||||
{{TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5}, 0x0, 0x24},
|
||||
{{TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5}, 0x0, 0x13},
|
||||
{{TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5}, 0x0, 0x1d},
|
||||
{{TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5}, 0x0, 0x16},
|
||||
{{TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5}, 0x0, 0x1e},
|
||||
{{TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5}, 0x0, 0x2a},
|
||||
{{TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5}, 0x0, 0x26},
|
||||
{{TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5}, 0x0, 0x21},
|
||||
{{TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5}, 0x0, 0x1d},
|
||||
{{TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5}, 0x18, 0xd},
|
||||
{{TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5}, 0x18, 0x1},
|
||||
{{TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5}, 0x0, 0x23},
|
||||
{{TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5}, 0x0, 0x26},
|
||||
{{TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5}, 0x0, 0x26},
|
||||
{{TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5}, 0x0, 0x24},
|
||||
{{TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5}, 0x0, 0x1f},
|
||||
{{TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5}, 0x0, 0x1f},
|
||||
{{TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5}, 0x0, 0x20},
|
||||
{{TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5}, 0x0, 0x19},
|
||||
{{TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5}, 0x0, 0x12},
|
||||
{{TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5}, 0x0, 0x1e},
|
||||
{{TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5}, 0x18, 0xc},
|
||||
{{TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5}, 0x0, 0x11},
|
||||
{{TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5}, 0x0, 0x15},
|
||||
{{TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5}, 0x0, 0x2b},
|
||||
{{TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5}, 0x0, 0x20},
|
||||
{{TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5}, 0x0, 0x19},
|
||||
{{TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5}, 0x0, 0x20},
|
||||
{{TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5}, 0x0, 0x2b},
|
||||
{{TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5}, 0x0, 0x19},
|
||||
{{TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5}, 0x0, 0x29},
|
||||
{{TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5}, 0x18, 0x1},
|
||||
{{TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5}, 0x0, 0x23},
|
||||
{{TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5}, 0x0, 0x1c},
|
||||
{{TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5}, 0x0, 0x1e},
|
||||
{{TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5}, 0x0, 0x1c},
|
||||
{{TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5}, 0x0, 0x27},
|
||||
{{TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5}, 0x18, 0xd},
|
||||
{{TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6}, 0x0, 0x12},
|
||||
{{TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5}, 0x0, 0x28},
|
||||
{{TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5}, 0x0, 0x17},
|
||||
{{TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5}, 0x0, 0x19},
|
||||
{{TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5}, 0x0, 0x20},
|
||||
{{TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5}, 0x0, 0x20},
|
||||
{{TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5}, 0x18, 0x11},
|
||||
{{TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5}, 0x0, 0x22},
|
||||
{{TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5}, 0x0, 0x22},
|
||||
{{TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5}, 0x0, 0x13},
|
||||
{{TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5}, 0x18, 0xb},
|
||||
{{TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5}, 0x0, 0x1b},
|
||||
{{TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5}, 0x18, 0xc},
|
||||
{{TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5}, 0x18, 0x3e},
|
||||
{{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b},
|
||||
{{TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5}, 0x0, 0x3},
|
||||
{{TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5}, 0x0, 0xb},
|
||||
{{TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5}, 0x0, 0x2},
|
||||
{{TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5}, 0x0, 0xc},
|
||||
{{TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5}, 0x0, 0x0},
|
||||
{{TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5}, 0x0, 0x4},
|
||||
{{TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5}, 0x0, 0x6},
|
||||
{{TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5}, 0x0, 0x7},
|
||||
{{TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY}, 0x0, 0x8},
|
||||
{{TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE}, 0x0, 0x8},
|
||||
{{TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA}, 0x0, 0x8},
|
||||
{{TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE}, 0x0, 0x8},
|
||||
{{TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE}, 0x0, 0x8},
|
||||
[REMATCH_ROSE] = {{TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5}, 0x0, 0x21},
|
||||
[REMATCH_ANDRES] = {{TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5}, 0x0, 0x14},
|
||||
[REMATCH_DUSTY] = {{TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5}, 0x0, 0x1a},
|
||||
[REMATCH_LOLA] = {{TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5}, 0x0, 0x18},
|
||||
[REMATCH_RICKY] = {{TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5}, 0x0, 0x18},
|
||||
[REMATCH_LILA_AND_ROY] = {{TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5}, 0x0, 0x27},
|
||||
[REMATCH_CRISTIN] = {{TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5}, 0x0, 0x24},
|
||||
[REMATCH_BROOKE] = {{TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5}, 0x0, 0x1a},
|
||||
[REMATCH_WILTON] = {{TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5}, 0x0, 0x1a},
|
||||
[REMATCH_VALERIE] = {{TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5}, 0x18, 0x14},
|
||||
[REMATCH_CINDY] = {{TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6}, 0x0, 0x13},
|
||||
[REMATCH_THALIA] = {{TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5}, 0x18, 0x38},
|
||||
[REMATCH_JESSICA] = {{TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5}, 0x0, 0x24},
|
||||
[REMATCH_WINSTON] = {{TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5}, 0x0, 0x13},
|
||||
[REMATCH_STEVE] = {{TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5}, 0x0, 0x1d},
|
||||
[REMATCH_TONY] = {{TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5}, 0x0, 0x16},
|
||||
[REMATCH_NOB] = {{TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5}, 0x0, 0x1e},
|
||||
[REMATCH_KOJI] = {{TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5}, 0x0, 0x2a},
|
||||
[REMATCH_FERNANDO] = {{TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5}, 0x0, 0x26},
|
||||
[REMATCH_DALTON] = {{TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5}, 0x0, 0x21},
|
||||
[REMATCH_BERNIE] = {{TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5}, 0x0, 0x1d},
|
||||
[REMATCH_ETHAN] = {{TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5}, 0x18, 0xd},
|
||||
[REMATCH_JOHN_AND_JAY] = {{TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5}, 0x18, 0x1},
|
||||
[REMATCH_JEFFREY] = {{TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5}, 0x0, 0x23},
|
||||
[REMATCH_CAMERON] = {{TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5}, 0x0, 0x26},
|
||||
[REMATCH_JACKI] = {{TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5}, 0x0, 0x26},
|
||||
[REMATCH_WALTER] = {{TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5}, 0x0, 0x24},
|
||||
[REMATCH_KAREN] = {{TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5}, 0x0, 0x1f},
|
||||
[REMATCH_JERRY] = {{TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5}, 0x0, 0x1f},
|
||||
[REMATCH_ANNA_AND_MEG] = {{TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5}, 0x0, 0x20},
|
||||
[REMATCH_ISABEL] = {{TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5}, 0x0, 0x19},
|
||||
[REMATCH_MIGUEL] = {{TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5}, 0x0, 0x12},
|
||||
[REMATCH_TIMOTHY] = {{TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5}, 0x0, 0x1e},
|
||||
[REMATCH_SHELBY] = {{TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5}, 0x18, 0xc},
|
||||
[REMATCH_CALVIN] = {{TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5}, 0x0, 0x11},
|
||||
[REMATCH_ELLIOT] = {{TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5}, 0x0, 0x15},
|
||||
[REMATCH_ISAIAH] = {{TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5}, 0x0, 0x2b},
|
||||
[REMATCH_MARIA] = {{TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5}, 0x0, 0x20},
|
||||
[REMATCH_ABIGAIL] = {{TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5}, 0x0, 0x19},
|
||||
[REMATCH_DYLAN] = {{TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5}, 0x0, 0x20},
|
||||
[REMATCH_KATELYN] = {{TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5}, 0x0, 0x2b},
|
||||
[REMATCH_BENJAMIN] = {{TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5}, 0x0, 0x19},
|
||||
[REMATCH_PABLO] = {{TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5}, 0x0, 0x29},
|
||||
[REMATCH_NICOLAS] = {{TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5}, 0x18, 0x1},
|
||||
[REMATCH_ROBERT] = {{TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5}, 0x0, 0x23},
|
||||
[REMATCH_LAO] = {{TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5}, 0x0, 0x1c},
|
||||
[REMATCH_CYNDY] = {{TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5}, 0x0, 0x1e},
|
||||
[REMATCH_MADELINE] = {{TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5}, 0x0, 0x1c},
|
||||
[REMATCH_JENNY] = {{TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5}, 0x0, 0x27},
|
||||
[REMATCH_DIANA] = {{TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5}, 0x18, 0xd},
|
||||
[REMATCH_AMY_AND_LIV] = {{TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6}, 0x0, 0x12},
|
||||
[REMATCH_ERNEST] = {{TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5}, 0x0, 0x28},
|
||||
[REMATCH_CORY] = {{TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5}, 0x0, 0x17},
|
||||
[REMATCH_EDWIN] = {{TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5}, 0x0, 0x19},
|
||||
[REMATCH_LYDIA] = {{TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5}, 0x0, 0x20},
|
||||
[REMATCH_ISAAC] = {{TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5}, 0x0, 0x20},
|
||||
[REMATCH_GABRIELLE] = {{TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5}, 0x18, 0x11},
|
||||
[REMATCH_CATHERINE] = {{TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5}, 0x0, 0x22},
|
||||
[REMATCH_JACKSON] = {{TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5}, 0x0, 0x22},
|
||||
[REMATCH_HALEY] = {{TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5}, 0x0, 0x13},
|
||||
[REMATCH_JAMES] = {{TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5}, 0x18, 0xb},
|
||||
[REMATCH_TRENT] = {{TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5}, 0x0, 0x1b},
|
||||
[REMATCH_SAWYER] = {{TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5}, 0x18, 0xc},
|
||||
[REMATCH_KIRA_AND_DAN] = {{TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5}, 0x18, 0x3e},
|
||||
[REMATCH_WALLY_3] = {{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b},
|
||||
[REMATCH_ROXANNE] = {{TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5}, 0x0, 0x3},
|
||||
[REMATCH_BRAWLY] = {{TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5}, 0x0, 0xb},
|
||||
[REMATCH_WATTSON] = {{TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5}, 0x0, 0x2},
|
||||
[REMATCH_FLANNERY] = {{TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5}, 0x0, 0xc},
|
||||
[REMATCH_NORMAN] = {{TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5}, 0x0, 0x0},
|
||||
[REMATCH_WINONA] = {{TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5}, 0x0, 0x4},
|
||||
[REMATCH_TATE_AND_LIZA] = {{TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5}, 0x0, 0x6},
|
||||
[REMATCH_JUAN] = {{TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5}, 0x0, 0x7},
|
||||
[REMATCH_SIDNEY] = {{TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY}, 0x0, 0x8},
|
||||
[REMATCH_PHOEBE] = {{TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE}, 0x0, 0x8},
|
||||
[REMATCH_GLACIA] = {{TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA}, 0x0, 0x8},
|
||||
[REMATCH_DRAKE] = {{TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE}, 0x0, 0x8},
|
||||
[REMATCH_WALLACE] = {{TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE}, 0x0, 0x8},
|
||||
};
|
||||
|
||||
static const u16 sBadgeFlags[8] =
|
||||
@ -1545,7 +1545,7 @@ static bool32 sub_80B1D94(s32 rematchTableId)
|
||||
{
|
||||
if (rematchTableId >= REMATCH_ELITE_FOUR_ENTRIES)
|
||||
return TRUE;
|
||||
else if (rematchTableId == REMATCH_WALLY_ENTRY)
|
||||
else if (rematchTableId == REMATCH_WALLY_3)
|
||||
return (FlagGet(FLAG_DEFEATED_WALLY_VICTORY_ROAD) == FALSE);
|
||||
else
|
||||
return FALSE;
|
||||
@ -1573,7 +1573,7 @@ static bool32 UpdateRandomTrainerRematches(const struct RematchTrainer *table, u
|
||||
s32 i;
|
||||
bool32 ret = FALSE;
|
||||
|
||||
for (i = 0; i <= REMATCH_WALLY_ENTRY; i++)
|
||||
for (i = 0; i <= REMATCH_WALLY_3; i++)
|
||||
{
|
||||
if (table[i].mapGroup == mapGroup && table[i].mapNum == mapNum && !sub_80B1D94(i))
|
||||
{
|
||||
|
@ -940,7 +940,7 @@ static void InitBerryBlenderWindows(void)
|
||||
FillWindowPixelBuffer(i, PIXEL_FILL(0));
|
||||
|
||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14);
|
||||
sub_81978B0(0xE0);
|
||||
Menu_LoadStdPalAt(0xE0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -582,7 +582,7 @@ int sub_802130C(void)
|
||||
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
|
||||
break;
|
||||
case 6:
|
||||
sub_800E084();
|
||||
DestroyWirelessStatusIndicatorSprite();
|
||||
sub_8022960(var0);
|
||||
sub_8034CC8();
|
||||
break;
|
||||
|
19
src/bug.c
19
src/bug.c
@ -6,7 +6,7 @@
|
||||
|
||||
void sub_8110368(struct Sprite *);
|
||||
void sub_8110438(struct Sprite *);
|
||||
void sub_81104E4(struct Sprite *);
|
||||
void AnimTranslateWebThread(struct Sprite *);
|
||||
void sub_81105B4(struct Sprite *);
|
||||
void sub_811067C(struct Sprite *);
|
||||
void AnimTranslateStinger(struct Sprite *);
|
||||
@ -90,7 +90,7 @@ const struct SpriteTemplate gUnknown_085969C8 =
|
||||
.callback = sub_8110438,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085969E0 =
|
||||
const struct SpriteTemplate gWebThreadSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_WEB_THREAD,
|
||||
.paletteTag = ANIM_TAG_WEB_THREAD,
|
||||
@ -98,7 +98,7 @@ const struct SpriteTemplate gUnknown_085969E0 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = sub_81104E4,
|
||||
.callback = AnimTranslateWebThread,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085969F8 =
|
||||
@ -124,7 +124,7 @@ const union AffineAnimCmd *const gUnknown_08596A28[] =
|
||||
gUnknown_08596A10,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596A2C =
|
||||
const struct SpriteTemplate gSpiderWebSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SPIDER_WEB,
|
||||
.paletteTag = ANIM_TAG_SPIDER_WEB,
|
||||
@ -247,12 +247,19 @@ void sub_8110438(struct Sprite *sprite)
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
|
||||
void sub_81104E4(struct Sprite *sprite)
|
||||
// Creates a single web thread that travels from attacker to target.
|
||||
// Used by MOVE_STRING_SHOT and MOVE_SPIDER_WEB in their first move phase.
|
||||
// arg 0: x
|
||||
// arg 1: y
|
||||
// arg 2: controls the left-to-right movement
|
||||
// arg 3: amplitude
|
||||
// arg 4: if targets both opponents
|
||||
void AnimTranslateWebThread(struct Sprite *sprite)
|
||||
{
|
||||
if (IsContest())
|
||||
gBattleAnimArgs[2] /= 2;
|
||||
|
||||
InitSpritePosToAnimAttacker(sprite, 1);
|
||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||
sprite->data[0] = gBattleAnimArgs[2];
|
||||
sprite->data[1] = sprite->pos1.x;
|
||||
sprite->data[3] = sprite->pos1.y;
|
||||
|
34
src/cable_car.c
Executable file → Normal file
34
src/cable_car.c
Executable file → Normal file
@ -151,25 +151,46 @@ const struct SpritePalette gUnknown_085CDB74[] = {
|
||||
{ }
|
||||
};
|
||||
|
||||
const struct OamData gOamData_85CDB84 = {
|
||||
const struct OamData gOamData_85CDB84 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_DOUBLE,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.priority = 2
|
||||
.tileNum = 0,
|
||||
.priority = 2,
|
||||
.paletteNum = 0,
|
||||
};
|
||||
|
||||
const struct OamData gOamData_85CDB8C = {
|
||||
const struct OamData gOamData_85CDB8C =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_DOUBLE,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(16x8),
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(16x8),
|
||||
.priority = 2
|
||||
.tileNum = 0,
|
||||
.priority = 2,
|
||||
.paletteNum = 0,
|
||||
};
|
||||
|
||||
const struct OamData gOamData_85CDB94 = {
|
||||
const struct OamData gOamData_85CDB94 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_DOUBLE,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(16x16),
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(16x16),
|
||||
.priority = 2
|
||||
.tileNum = 0,
|
||||
.priority = 2,
|
||||
.paletteNum = 0,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSpriteTemplate_85CDB9C[] =
|
||||
@ -1002,3 +1023,4 @@ static void sub_81514C8(u8 arg0)
|
||||
|
||||
sCableCar->unk1C = 0;
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,8 @@
|
||||
#include "menu.h"
|
||||
#include "overworld.h"
|
||||
#include "palette.h"
|
||||
#include "rom_8011DC0.h"
|
||||
#include "union_room.h"
|
||||
#include "mevent2.h"
|
||||
#include "script.h"
|
||||
#include "script_pokemon_util_80F87D8.h"
|
||||
#include "sound.h"
|
||||
|
633
src/contest.c
633
src/contest.c
@ -218,12 +218,6 @@ EWRAM_DATA u8 gUnknown_02039F5D = 0;
|
||||
// IWRAM common vars.
|
||||
u32 gContestRngValue;
|
||||
|
||||
extern const u16 gUnknown_08587C30[];
|
||||
extern const struct BgTemplate gUnknown_08587F34[4];
|
||||
extern const struct WindowTemplate gUnknown_08587F44[];
|
||||
extern const u8 *const gUnknown_08587D90[];
|
||||
extern const u8 *const gUnknown_08587F08[];
|
||||
extern const u8 *const gUnknown_08587F1C[];
|
||||
extern const u8 *const gUnknown_0827E8DA[];
|
||||
extern const u8 gText_0827D55A[];
|
||||
extern const u8 gText_0827E793[];
|
||||
@ -248,33 +242,604 @@ extern const u8 gText_Contest_Fear[];
|
||||
extern const u8 gText_BDot[];
|
||||
extern const u8 gText_CDot[];
|
||||
extern const u8 *const gUnknown_08587E10[];
|
||||
extern const struct ContestPokemon gContestOpponents[96];
|
||||
extern const u8 gUnknown_085898A4[96];
|
||||
extern const struct CompressedSpriteSheet gUnknown_08587C00;
|
||||
extern const struct SpriteTemplate gSpriteTemplate_8587BE8;
|
||||
extern const struct CompressedSpriteSheet gUnknown_08587C08;
|
||||
extern const struct CompressedSpritePalette gUnknown_08587C10;
|
||||
extern const struct SpriteTemplate gSpriteTemplate_8587C18;
|
||||
extern const union AffineAnimCmd *const gUnknown_082FF6C0[];
|
||||
extern const union AffineAnimCmd *const gUnknown_082FF694[];
|
||||
extern const u8 *const gContestEffectDescriptionPointers[];
|
||||
extern const struct SpriteSheet gUnknown_08587A74;
|
||||
extern const u8 gUnknown_08587A6C[];
|
||||
extern const struct SpriteTemplate gSpriteTemplate_8587AD0;
|
||||
extern const struct SpritePalette gUnknown_08587B08;
|
||||
extern const struct CompressedSpriteSheet gUnknown_08587AE8[];
|
||||
extern const struct SpriteTemplate gSpriteTemplate_8587B18[];
|
||||
extern const u8 gUnknown_08587A70[];
|
||||
extern const struct SubspriteTable gSubspriteTables_8587B80[];
|
||||
extern const struct CompressedSpriteSheet gUnknown_08587BB0;
|
||||
extern const struct SpritePalette gUnknown_08587BB8;
|
||||
extern const struct SpriteTemplate gSpriteTemplate_8587BC8;
|
||||
extern void (*const gContestEffectFuncs[])(void);
|
||||
extern const s8 gContestExcitementTable[][5];
|
||||
extern const struct ContestWinner gUnknown_08587FA4[];
|
||||
extern const struct CompressedSpriteSheet gUnknown_08589904[];
|
||||
extern const struct SpritePalette gUnknown_08589924[];
|
||||
extern const struct SpriteTemplate gSpriteTemplate_858998C[];
|
||||
|
||||
static const u8 gUnknown_08587A6C[] =
|
||||
{
|
||||
0x24, 0x4C, 0x74, 0x9C
|
||||
};
|
||||
|
||||
static const u8 gUnknown_08587A70[] =
|
||||
{
|
||||
0x24, 0x4C, 0x74, 0x9C
|
||||
};
|
||||
|
||||
static const struct SpriteSheet gUnknown_08587A74 =
|
||||
{
|
||||
.data = gTiles_8C19450,
|
||||
.size = 0x20,
|
||||
.tag = 0x4E20
|
||||
};
|
||||
|
||||
static const struct OamData gOamData_8587A7C =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 0,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.shape = SPRITE_SHAPE(8x8),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_8587A84[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_8587A94[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, -20, 20),
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_8587AAC[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x38, 0x38, 0, 0),
|
||||
AFFINEANIMCMD_FRAME(10, 10, 20, 20),
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd* const gSpriteAffineAnimTable_8587AC4[] =
|
||||
{
|
||||
gSpriteAffineAnim_8587A84,
|
||||
gSpriteAffineAnim_8587A94,
|
||||
gSpriteAffineAnim_8587AAC
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gSpriteTemplate_8587AD0 =
|
||||
{
|
||||
.tileTag = 0x4E20,
|
||||
.paletteTag = 0xABE0,
|
||||
.oam = &gOamData_8587A7C,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gSpriteAffineAnimTable_8587AC4,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const struct CompressedSpriteSheet gUnknown_08587AE8[] =
|
||||
{
|
||||
{
|
||||
.data = gContestNextTurnGfx,
|
||||
.size = 0x100,
|
||||
.tag = 0x4E22
|
||||
},
|
||||
{
|
||||
.data = gContestNextTurnGfx,
|
||||
.size = 0x100,
|
||||
.tag = 0x4E23
|
||||
},
|
||||
{
|
||||
.data = gContestNextTurnGfx,
|
||||
.size = 0x100,
|
||||
.tag = 0x4E24
|
||||
},
|
||||
{
|
||||
.data = gContestNextTurnGfx,
|
||||
.size = 0x100,
|
||||
.tag = 0x4E25
|
||||
}
|
||||
};
|
||||
|
||||
static const struct SpritePalette gUnknown_08587B08 =
|
||||
{
|
||||
.data = gContestPal,
|
||||
.tag = 0x4E22
|
||||
};
|
||||
|
||||
static const struct OamData gOamData_8587B10 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 0,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.shape = SPRITE_SHAPE(32x8),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(32x8),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gSpriteTemplate_8587B18[] =
|
||||
{
|
||||
{
|
||||
.tileTag = 0x4E22,
|
||||
.paletteTag = 0x4E22,
|
||||
.oam = &gOamData_8587B10,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy,
|
||||
},
|
||||
{
|
||||
.tileTag = 0x4E23,
|
||||
.paletteTag = 0x4E22,
|
||||
.oam = &gOamData_8587B10,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy,
|
||||
},
|
||||
{
|
||||
.tileTag = 0x4E24,
|
||||
.paletteTag = 0x4E22,
|
||||
.oam = &gOamData_8587B10,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy,
|
||||
},
|
||||
{
|
||||
.tileTag = 0x4E25,
|
||||
.paletteTag = 0x4E22,
|
||||
.oam = &gOamData_8587B10,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy,
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gSubspriteTable_8587B78[] =
|
||||
{
|
||||
{
|
||||
.x = -28,
|
||||
.y = -4,
|
||||
.shape = ST_OAM_H_RECTANGLE,
|
||||
.size = 1,
|
||||
.tileOffset = 0,
|
||||
.priority = 0
|
||||
},
|
||||
{
|
||||
.x = 4,
|
||||
.y = -4,
|
||||
.shape = ST_OAM_H_RECTANGLE,
|
||||
.size = 1,
|
||||
.tileOffset = 4,
|
||||
.priority = 0
|
||||
}
|
||||
};
|
||||
|
||||
const struct SubspriteTable gSubspriteTables_8587B80[] =
|
||||
{
|
||||
{
|
||||
.subspriteCount = 2,
|
||||
.subsprites = gSubspriteTable_8587B78
|
||||
}
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gUnknown_08587B88 =
|
||||
{
|
||||
.data = gUnknown_08C19168,
|
||||
.size = 0x180,
|
||||
.tag = 0xABE1
|
||||
};
|
||||
|
||||
const struct OamData gOamData_8587B90 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(16x16),
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(16x16),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSpriteTemplate_8587B98 =
|
||||
{
|
||||
.tileTag = 0xABE1,
|
||||
.paletteTag = 0xABE0,
|
||||
.oam = &gOamData_8587B90,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gUnknown_08587BB0 =
|
||||
{
|
||||
.data = gContestApplauseGfx,
|
||||
.size = 0x400,
|
||||
.tag = 0xABE2
|
||||
};
|
||||
|
||||
const struct SpritePalette gUnknown_08587BB8 =
|
||||
{
|
||||
.data = gContestPal,
|
||||
.tag = 0xABE2
|
||||
};
|
||||
|
||||
const struct OamData gOamData_8587BC0 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x32),
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(64x32),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSpriteTemplate_8587BC8 =
|
||||
{
|
||||
.tileTag = 0xABE2,
|
||||
.paletteTag = 0xABE2,
|
||||
.oam = &gOamData_8587BC0,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
const struct OamData gOamData_8587BE0 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0,
|
||||
.priority = 3,
|
||||
.paletteNum = 2,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSpriteTemplate_8587BE8 =
|
||||
{
|
||||
.tileTag = 0x4E21,
|
||||
.paletteTag = 0x4E21,
|
||||
.oam = &gOamData_8587BE0,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gUnknown_08587C00 =
|
||||
{
|
||||
.data = gContestJudgeGfx,
|
||||
.size = 0x800,
|
||||
.tag = 0x4E21
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gUnknown_08587C08 =
|
||||
{
|
||||
.data = gContestJudgeSymbolsGfx,
|
||||
.size = 0x380,
|
||||
.tag = 0xABE0
|
||||
};
|
||||
|
||||
const struct CompressedSpritePalette gUnknown_08587C10 =
|
||||
{
|
||||
.data = gContest3Pal,
|
||||
.tag = 0xABE0
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSpriteTemplate_8587C18 =
|
||||
{
|
||||
.tileTag = 0xABE0,
|
||||
.paletteTag = 0xABE0,
|
||||
.oam = &gUnknown_0852490C,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
const u16 gUnknown_08587C30[] = INCBIN_U16("graphics/unknown/unknown_587C30.gbapal");
|
||||
|
||||
#include "data/contest_text_tables.h"
|
||||
|
||||
const struct BgTemplate gUnknown_08587F34[] =
|
||||
{
|
||||
{
|
||||
.bg = 0,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 0x18,
|
||||
.screenSize = 2,
|
||||
.paletteMode = 0,
|
||||
.priority = 0,
|
||||
.baseTile = 0
|
||||
},
|
||||
{
|
||||
.bg = 1,
|
||||
.charBaseIndex = 2,
|
||||
.mapBaseIndex = 0x1E,
|
||||
.screenSize = 2,
|
||||
.paletteMode = 0,
|
||||
.priority = 1,
|
||||
.baseTile = 0
|
||||
},
|
||||
{
|
||||
.bg = 2,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 0x1C,
|
||||
.screenSize = 2,
|
||||
.paletteMode = 0,
|
||||
.priority = 0,
|
||||
.baseTile = 0
|
||||
},
|
||||
{
|
||||
.bg = 3,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 0x1A,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 3,
|
||||
.baseTile = 0
|
||||
}
|
||||
};
|
||||
|
||||
const struct WindowTemplate gUnknown_08587F44[] =
|
||||
{
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 18,
|
||||
.tilemapTop = 0,
|
||||
.width = 12,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x200
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 18,
|
||||
.tilemapTop = 5,
|
||||
.width = 12,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x218
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 18,
|
||||
.tilemapTop = 10,
|
||||
.width = 12,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x230
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 18,
|
||||
.tilemapTop = 15,
|
||||
.width = 12,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x248
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 15,
|
||||
.width = 17,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x260
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 0x1F,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x2A4
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 0x21,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x2B6
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 0x23,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x2C8
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 1,
|
||||
.tilemapTop = 0x25,
|
||||
.width = 9,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x2DA
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 16,
|
||||
.tilemapTop = 0x1F,
|
||||
.width = 1,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x2EC
|
||||
},
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 11,
|
||||
.tilemapTop = 0x23,
|
||||
.width = 18,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x2EE
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
|
||||
#include "data/contest_opponents.h"
|
||||
|
||||
static const struct CompressedSpriteSheet sUnknown_08589904[] =
|
||||
{
|
||||
{
|
||||
.data = gBlankGfxCompressed,
|
||||
.size = 0x1000,
|
||||
.tag = 0x80E8
|
||||
},
|
||||
{
|
||||
.data = gBlankGfxCompressed,
|
||||
.size = 0x1000,
|
||||
.tag = 0x80E9
|
||||
},
|
||||
{
|
||||
.data = gBlankGfxCompressed,
|
||||
.size = 0x1000,
|
||||
.tag = 0x80EA
|
||||
},
|
||||
{
|
||||
.data = gBlankGfxCompressed,
|
||||
.size = 0x1000,
|
||||
.tag = 0x80EB
|
||||
}
|
||||
};
|
||||
|
||||
// Yup this is super dangerous but that's how it is here
|
||||
static const struct SpritePalette sUnknown_08589924[] =
|
||||
{
|
||||
{
|
||||
.data = (u16*)(gHeap + 0x1A0A4),
|
||||
.tag = 0x80E8
|
||||
},
|
||||
{
|
||||
.data = (u16*)(gHeap + 0x1A0C4),
|
||||
.tag = 0x80E9
|
||||
},
|
||||
{
|
||||
.data = (u16*)(gHeap + 0x1A0E4),
|
||||
.tag = 0x80EA
|
||||
},
|
||||
{
|
||||
.data = (u16*)(gHeap + 0x1A104),
|
||||
.tag = 0x80EB
|
||||
}
|
||||
};
|
||||
|
||||
const struct OamData gOamData_8589944 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_DOUBLE,
|
||||
.objMode = ST_OAM_OBJ_BLEND,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gSpriteAffineAnim_858994C[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
|
||||
const union AffineAnimCmd gSpriteAffineAnim_858995C[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(3, 3, 0, 15),
|
||||
AFFINEANIMCMD_FRAME(-3, -3, 0, 15),
|
||||
AFFINEANIMCMD_FRAME(3, 3, 0, 15),
|
||||
AFFINEANIMCMD_FRAME(-3, -3, 0, 15),
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const gSpriteAffineAnimTable_8589984[] =
|
||||
{
|
||||
gSpriteAffineAnim_858994C,
|
||||
gSpriteAffineAnim_858995C
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSpriteTemplate_858998C[] =
|
||||
{
|
||||
{
|
||||
.tileTag = 0x80E8,
|
||||
.paletteTag = 0x80E8,
|
||||
.oam = &gOamData_8589944,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gSpriteAffineAnimTable_8589984,
|
||||
.callback = SpriteCallbackDummy
|
||||
},
|
||||
{
|
||||
.tileTag = 0x80E9,
|
||||
.paletteTag = 0x80E9,
|
||||
.oam = &gOamData_8589944,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gSpriteAffineAnimTable_8589984,
|
||||
.callback = SpriteCallbackDummy
|
||||
},
|
||||
{
|
||||
.tileTag = 0x80EA,
|
||||
.paletteTag = 0x80EA,
|
||||
.oam = &gOamData_8589944,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gSpriteAffineAnimTable_8589984,
|
||||
.callback = SpriteCallbackDummy
|
||||
},
|
||||
{
|
||||
.tileTag = 0x80EB,
|
||||
.paletteTag = 0x80EB,
|
||||
.oam = &gOamData_8589944,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gSpriteAffineAnimTable_8589984,
|
||||
.callback = SpriteCallbackDummy
|
||||
}
|
||||
};
|
||||
|
||||
const s8 gContestExcitementTable[][5] =
|
||||
{
|
||||
{ 1, 0, -1, -1, 0},
|
||||
{ 0, 1, 0, -1, -1},
|
||||
{-1, 0, 1, 0, -1},
|
||||
{-1, -1, 0, 1, 0},
|
||||
{ 0, -1, -1, 0, 1}
|
||||
};
|
||||
|
||||
static void TaskDummy1(u8 taskId)
|
||||
{
|
||||
@ -2118,7 +2683,7 @@ void sub_80DAB8C(u8 contestType, u8 rank)
|
||||
r7 = TRUE;
|
||||
|
||||
// Find all suitable opponents
|
||||
r3 = gUnknown_085898A4;
|
||||
r3 = gPostgameContestOpponentFilter;
|
||||
for (i = 0; i < ARRAY_COUNT(gContestOpponents); i++)
|
||||
{
|
||||
if (rank == gContestOpponents[i].whichRank)
|
||||
@ -2178,12 +2743,12 @@ void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame)
|
||||
|
||||
if (isPostgame == TRUE)
|
||||
{
|
||||
if (gUnknown_085898A4[i] == 1)
|
||||
if (gPostgameContestOpponentFilter[i] == CONTEST_FILTER_NO_POSTGAME)
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gUnknown_085898A4[i] == 2)
|
||||
if (gPostgameContestOpponentFilter[i] == CONTEST_FILTER_ONLY_POSTGAME)
|
||||
continue;
|
||||
}
|
||||
if ((contestType == CONTEST_CATEGORY_COOL && gContestOpponents[i].aiPool_Cool)
|
||||
@ -3317,8 +3882,8 @@ static u8 sub_80DC9EC(u8 a)
|
||||
u8 spriteId1, spriteId2;
|
||||
u8 x = gUnknown_02039F26[a] * 40 + 32;
|
||||
|
||||
LoadCompressedSpriteSheet(&gUnknown_08589904[a]);
|
||||
LoadSpritePalette(&gUnknown_08589924[a]);
|
||||
LoadCompressedSpriteSheet(&sUnknown_08589904[a]);
|
||||
LoadSpritePalette(&sUnknown_08589924[a]);
|
||||
spriteId1 = CreateSprite(&gSpriteTemplate_858998C[a], 184, x, 29);
|
||||
spriteId2 = CreateSprite(&gSpriteTemplate_858998C[a], 248, x, 29);
|
||||
gSprites[spriteId2].oam.tileNum += 64;
|
||||
@ -5186,3 +5751,5 @@ void sub_80DFA08(struct ContestPokemon *mon, s32 language)
|
||||
name[PLAYER_NAME_LENGTH] = EOS;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -778,7 +778,7 @@ static void sub_80F677C(u8 taskId)
|
||||
if (!gReceivedRemoteLinkPlayers)
|
||||
{
|
||||
if (gIsLinkContest & 0x2)
|
||||
sub_800E084();
|
||||
DestroyWirelessStatusIndicatorSprite();
|
||||
|
||||
sub_80F7144();
|
||||
gTasks[taskId].func = sub_80F67C4;
|
||||
|
@ -152,16 +152,14 @@ const struct OamData gUnknown_085B0830 =
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.mosaic = 1,
|
||||
.mosaic = TRUE,
|
||||
.bpp = ST_OAM_8BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
const u16 gUnknown_085B0838[] = {RGB(0, 0, 0), RGB(0, 0, 0)};
|
||||
@ -705,3 +703,4 @@ static void sub_8130884(u8 arg0, u8 arg1)
|
||||
sub_8130688(arg0);
|
||||
sub_8130430(arg0, arg1);
|
||||
}
|
||||
|
||||
|
42
src/dark.c
42
src/dark.c
@ -803,17 +803,23 @@ void sub_81144BC(struct Sprite *sprite)
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
|
||||
void sub_81144F8(u8 taskId)
|
||||
// Makes the attacker metallic and shining.
|
||||
// Used by MOVE_HARDEN and MOVE_IRON_DEFENSE.
|
||||
// arg0: if true won't change battler's palette back
|
||||
// arg1: if true, use custom color
|
||||
// arg2: custom color
|
||||
// Custom color argument is used in MOVE_POISON_TAIL to make the mon turn purplish/pinkish as if became cloaked in poison.
|
||||
void AnimTask_MetallicShine(u8 taskId)
|
||||
{
|
||||
u16 species;
|
||||
u8 spriteId;
|
||||
u8 newSpriteId;
|
||||
u16 paletteNum;
|
||||
struct BattleAnimBgData animBg;
|
||||
int var0 = 0;
|
||||
bool32 priorityChanged = FALSE;
|
||||
|
||||
gBattle_WIN0H = var0;
|
||||
gBattle_WIN0V = var0;
|
||||
gBattle_WIN0H = 0;
|
||||
gBattle_WIN0V = 0;
|
||||
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
|
||||
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
|
||||
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON);
|
||||
@ -832,7 +838,7 @@ void sub_81144F8(u8 taskId)
|
||||
{
|
||||
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority--;
|
||||
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
|
||||
var0 = 1;
|
||||
priorityChanged = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -870,7 +876,7 @@ void sub_81144F8(u8 taskId)
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[0];
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[1];
|
||||
gTasks[taskId].data[3] = gBattleAnimArgs[2];
|
||||
gTasks[taskId].data[6] = var0;
|
||||
gTasks[taskId].data[6] = priorityChanged;
|
||||
gTasks[taskId].func = sub_8114748;
|
||||
}
|
||||
|
||||
@ -879,29 +885,28 @@ static void sub_8114748(u8 taskId)
|
||||
struct BattleAnimBgData animBg;
|
||||
u16 paletteNum;
|
||||
u8 spriteId;
|
||||
u8 taskIdCopy = taskId;
|
||||
|
||||
gTasks[taskIdCopy].data[10] += 4;
|
||||
gTasks[taskId].data[10] += 4;
|
||||
gBattle_BG1_X -= 4;
|
||||
if (gTasks[taskIdCopy].data[10] == 128)
|
||||
if (gTasks[taskId].data[10] == 128)
|
||||
{
|
||||
gTasks[taskIdCopy].data[10] = 0;
|
||||
gTasks[taskId].data[10] = 0;
|
||||
gBattle_BG1_X += 128;
|
||||
gTasks[taskIdCopy].data[11]++;
|
||||
if (gTasks[taskIdCopy].data[11] == 2)
|
||||
gTasks[taskId].data[11]++;
|
||||
if (gTasks[taskId].data[11] == 2)
|
||||
{
|
||||
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
paletteNum = 16 + gSprites[spriteId].oam.paletteNum;
|
||||
if (gTasks[taskIdCopy].data[1] == 0)
|
||||
if (gTasks[taskId].data[1] == 0)
|
||||
SetGreyscaleOrOriginalPalette(paletteNum, 1);
|
||||
|
||||
DestroySprite(&gSprites[gTasks[taskIdCopy].data[0]]);
|
||||
DestroySprite(&gSprites[gTasks[taskId].data[0]]);
|
||||
sub_80A6B30(&animBg);
|
||||
sub_80A6C68(animBg.bgId);
|
||||
if (gTasks[taskIdCopy].data[6] == 1)
|
||||
if (gTasks[taskId].data[6] == 1)
|
||||
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++;
|
||||
}
|
||||
else if (gTasks[taskIdCopy].data[11] == 3)
|
||||
else if (gTasks[taskId].data[11] == 3)
|
||||
{
|
||||
gBattle_WIN0H = 0;
|
||||
gBattle_WIN0V = 0;
|
||||
@ -918,7 +923,10 @@ static void sub_8114748(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_811489C(u8 taskId)
|
||||
// Changes battler's palette to either greyscale or original.
|
||||
// arg0: which battler
|
||||
// arg1: 0 grayscale, 1 original
|
||||
void AnimTask_SetGreyscaleOrOriginalPal(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
u8 battler;
|
||||
|
3066
src/data/contest_opponents.h
Normal file
3066
src/data/contest_opponents.h
Normal file
File diff suppressed because it is too large
Load Diff
414
src/data/contest_text_tables.h
Normal file
414
src/data/contest_text_tables.h
Normal file
@ -0,0 +1,414 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
extern const u8 gContestEffect00hDescription[];
|
||||
extern const u8 gContestEffect01hDescription[];
|
||||
extern const u8 gContestEffect02hDescription[];
|
||||
extern const u8 gContestEffect03hDescription[];
|
||||
extern const u8 gContestEffect04hDescription[];
|
||||
extern const u8 gContestEffect05hDescription[];
|
||||
extern const u8 gContestEffect06hDescription[];
|
||||
extern const u8 gContestEffect07hDescription[];
|
||||
extern const u8 gContestEffect08hDescription[];
|
||||
extern const u8 gContestEffect09hDescription[];
|
||||
extern const u8 gContestEffect0AhDescription[];
|
||||
extern const u8 gContestEffect0BhDescription[];
|
||||
extern const u8 gContestEffect0ChDescription[];
|
||||
extern const u8 gContestEffect0DhDescription[];
|
||||
extern const u8 gContestEffect0EhDescription[];
|
||||
extern const u8 gContestEffect0FhDescription[];
|
||||
extern const u8 gContestEffect10hDescription[];
|
||||
extern const u8 gContestEffect11hDescription[];
|
||||
extern const u8 gContestEffect12hDescription[];
|
||||
extern const u8 gContestEffect13hDescription[];
|
||||
extern const u8 gContestEffect14hDescription[];
|
||||
extern const u8 gContestEffect15hDescription[];
|
||||
extern const u8 gContestEffect16hDescription[];
|
||||
extern const u8 gContestEffect17hDescription[];
|
||||
extern const u8 gContestEffect18hDescription[];
|
||||
extern const u8 gContestEffect19hDescription[];
|
||||
extern const u8 gContestEffect1AhDescription[];
|
||||
extern const u8 gContestEffect1BhDescription[];
|
||||
extern const u8 gContestEffect1ChDescription[];
|
||||
extern const u8 gContestEffect1DhDescription[];
|
||||
extern const u8 gContestEffect1EhDescription[];
|
||||
extern const u8 gContestEffect1FhDescription[];
|
||||
extern const u8 gContestEffect20hDescription[];
|
||||
extern const u8 gContestEffect21hDescription[];
|
||||
extern const u8 gContestEffect22hDescription[];
|
||||
extern const u8 gContestEffect23hDescription[];
|
||||
extern const u8 gContestEffect24hDescription[];
|
||||
extern const u8 gContestEffect25hDescription[];
|
||||
extern const u8 gContestEffect26hDescription[];
|
||||
extern const u8 gContestEffect27hDescription[];
|
||||
extern const u8 gContestEffect28hDescription[];
|
||||
extern const u8 gContestEffect29hDescription[];
|
||||
extern const u8 gContestEffect2AhDescription[];
|
||||
extern const u8 gContestEffect2BhDescription[];
|
||||
extern const u8 gContestEffect2ChDescription[];
|
||||
extern const u8 gContestEffect2DhDescription[];
|
||||
extern const u8 gContestEffect2EhDescription[];
|
||||
extern const u8 gContestEffect2FhDescription[];
|
||||
|
||||
extern const u8 gUnusedContestMoveName0[];
|
||||
extern const u8 gUnusedContestMoveName1[];
|
||||
extern const u8 gUnusedContestMoveName2[];
|
||||
extern const u8 gUnusedContestMoveName3[];
|
||||
extern const u8 gUnusedContestMoveName4[];
|
||||
extern const u8 gUnusedContestMoveName5[];
|
||||
extern const u8 gUnusedContestMoveName6[];
|
||||
extern const u8 gUnusedContestMoveName7[];
|
||||
extern const u8 gUnusedContestMoveName8[];
|
||||
extern const u8 gUnusedContestMoveName9[];
|
||||
extern const u8 gUnusedContestMoveName10[];
|
||||
extern const u8 gUnusedContestMoveName11[];
|
||||
extern const u8 gUnusedContestMoveName12[];
|
||||
|
||||
extern const u8 gContestMoveTypeCoolText[];
|
||||
extern const u8 gContestMoveTypeBeautyText[];
|
||||
extern const u8 gContestMoveTypeCuteText[];
|
||||
extern const u8 gContestMoveTypeSmartText[];
|
||||
extern const u8 gContestMoveTypeToughText[];
|
||||
|
||||
extern const u8 gText_0827D5C1[];
|
||||
extern const u8 gText_0827D5DC[];
|
||||
extern const u8 gText_0827D600[];
|
||||
extern const u8 gText_0827D612[];
|
||||
extern const u8 gText_0827D612[];
|
||||
extern const u8 gText_0827D62D[];
|
||||
extern const u8 gText_0827D654[];
|
||||
extern const u8 gText_0827D67E[];
|
||||
extern const u8 gText_0827D69C[];
|
||||
extern const u8 gText_0827D6BA[];
|
||||
extern const u8 gText_0827D6E5[];
|
||||
extern const u8 gText_0827D706[];
|
||||
extern const u8 gText_0827D71D[];
|
||||
|
||||
extern const u8 gText_0827D743[];
|
||||
extern const u8 gText_0827D764[];
|
||||
extern const u8 gText_0827D785[];
|
||||
extern const u8 gText_0827D7A5[];
|
||||
extern const u8 gText_0827D7C8[];
|
||||
extern const u8 gText_0827D7E8[];
|
||||
extern const u8 gText_0827D831[];
|
||||
extern const u8 gText_0827D855[];
|
||||
extern const u8 gText_0827D830[];
|
||||
extern const u8 gText_0827D872[];
|
||||
extern const u8 gText_0827D88F[];
|
||||
extern const u8 gText_0827D8B5[];
|
||||
extern const u8 gText_0827D8E4[];
|
||||
extern const u8 gText_0827D8FE[];
|
||||
extern const u8 gText_0827D926[];
|
||||
extern const u8 gText_0827D947[];
|
||||
extern const u8 gText_0827D961[];
|
||||
extern const u8 gText_0827D986[];
|
||||
extern const u8 gText_0827D9B1[];
|
||||
extern const u8 gText_0827D9D9[];
|
||||
extern const u8 gText_0827DA03[];
|
||||
extern const u8 gText_0827DA31[];
|
||||
extern const u8 gText_0827DA5B[];
|
||||
extern const u8 gText_0827DA85[];
|
||||
extern const u8 gText_0827DAB2[];
|
||||
extern const u8 gText_0827DADA[];
|
||||
extern const u8 gText_0827DB03[];
|
||||
extern const u8 gText_0827D830[];
|
||||
extern const u8 gText_0827D830[];
|
||||
extern const u8 gText_0827D830[];
|
||||
extern const u8 gText_0827DB1F[];
|
||||
extern const u8 gText_0827DB4E[];
|
||||
|
||||
extern const u8 gText_827DB75[];
|
||||
extern const u8 gText_827DBB0[];
|
||||
extern const u8 gText_827DBE0[];
|
||||
extern const u8 gText_827DC0F[];
|
||||
extern const u8 gText_827DC45[];
|
||||
extern const u8 gText_827DC7C[];
|
||||
extern const u8 gText_827DCB4[];
|
||||
extern const u8 gText_827DCE7[];
|
||||
extern const u8 gText_827DD12[];
|
||||
extern const u8 gText_827DD3D[];
|
||||
extern const u8 gText_827DD6F[];
|
||||
extern const u8 gText_827DD8E[];
|
||||
extern const u8 gText_827DDC7[];
|
||||
extern const u8 gText_827DDF2[];
|
||||
extern const u8 gText_827DE14[];
|
||||
extern const u8 gText_827DE44[];
|
||||
extern const u8 gText_827DE73[];
|
||||
extern const u8 gText_827DEA5[];
|
||||
extern const u8 gText_827DED9[];
|
||||
extern const u8 gText_827DF02[];
|
||||
extern const u8 gText_827DF3A[];
|
||||
extern const u8 gText_827DF63[];
|
||||
extern const u8 gText_827DF8C[];
|
||||
extern const u8 gText_827DFB8[];
|
||||
extern const u8 gText_827DFE2[];
|
||||
extern const u8 gText_827E00C[];
|
||||
extern const u8 gText_827E02F[];
|
||||
extern const u8 gText_827E05F[];
|
||||
extern const u8 gText_827E08B[];
|
||||
extern const u8 gText_827E0B5[];
|
||||
extern const u8 gText_827E0DD[];
|
||||
extern const u8 gText_827E107[];
|
||||
extern const u8 gText_827E143[];
|
||||
extern const u8 gText_827E17F[];
|
||||
extern const u8 gText_827E1BB[];
|
||||
extern const u8 gText_827E1F3[];
|
||||
extern const u8 gText_827E220[];
|
||||
extern const u8 gText_827E254[];
|
||||
extern const u8 gText_827E289[];
|
||||
extern const u8 gText_827E2C5[];
|
||||
extern const u8 gText_0827E2FE[];
|
||||
extern const u8 gText_0827E32E[];
|
||||
extern const u8 gText_0827E35B[];
|
||||
extern const u8 gText_0827E38D[];
|
||||
extern const u8 gText_0827E3C1[];
|
||||
extern const u8 gText_0827E3EB[];
|
||||
extern const u8 gText_0827E416[];
|
||||
extern const u8 gText_0827E448[];
|
||||
extern const u8 gText_0827E473[];
|
||||
extern const u8 gText_0827E4A6[];
|
||||
extern const u8 gText_0827E4D5[];
|
||||
extern const u8 gText_0827E504[];
|
||||
extern const u8 gText_0827E531[];
|
||||
extern const u8 gText_0827E55A[];
|
||||
extern const u8 gText_0827E5B2[];
|
||||
extern const u8 gText_0827E5D0[];
|
||||
extern const u8 gText_0827E606[];
|
||||
extern const u8 gText_0827E638[];
|
||||
extern const u8 gText_0827E658[];
|
||||
extern const u8 gText_0827E68B[];
|
||||
extern const u8 gText_0827E6C4[];
|
||||
extern const u8 gText_0827E7BA[];
|
||||
|
||||
extern const u8 gText_0827E85F[];
|
||||
extern const u8 gText_0827E868[];
|
||||
extern const u8 gText_0827E86F[];
|
||||
extern const u8 gText_0827E878[];
|
||||
extern const u8 gText_0827E882[];
|
||||
|
||||
extern const u8 gText_0827E894[];
|
||||
extern const u8 gText_0827E89E[];
|
||||
extern const u8 gText_0827E8AA[];
|
||||
extern const u8 gText_0827E8B4[];
|
||||
extern const u8 gText_0827E8BF[];
|
||||
extern const u8 gText_0827E8CA[];
|
||||
|
||||
const u8 *const gContestEffectDescriptionPointers[] =
|
||||
{
|
||||
gContestEffect00hDescription,
|
||||
gContestEffect01hDescription,
|
||||
gContestEffect02hDescription,
|
||||
gContestEffect03hDescription,
|
||||
gContestEffect04hDescription,
|
||||
gContestEffect05hDescription,
|
||||
gContestEffect06hDescription,
|
||||
gContestEffect07hDescription,
|
||||
gContestEffect08hDescription,
|
||||
gContestEffect09hDescription,
|
||||
gContestEffect0AhDescription,
|
||||
gContestEffect0BhDescription,
|
||||
gContestEffect0ChDescription,
|
||||
gContestEffect0DhDescription,
|
||||
gContestEffect0EhDescription,
|
||||
gContestEffect0FhDescription,
|
||||
gContestEffect10hDescription,
|
||||
gContestEffect11hDescription,
|
||||
gContestEffect12hDescription,
|
||||
gContestEffect13hDescription,
|
||||
gContestEffect14hDescription,
|
||||
gContestEffect15hDescription,
|
||||
gContestEffect16hDescription,
|
||||
gContestEffect17hDescription,
|
||||
gContestEffect18hDescription,
|
||||
gContestEffect19hDescription,
|
||||
gContestEffect1AhDescription,
|
||||
gContestEffect1BhDescription,
|
||||
gContestEffect1ChDescription,
|
||||
gContestEffect1DhDescription,
|
||||
gContestEffect1EhDescription,
|
||||
gContestEffect1FhDescription,
|
||||
gContestEffect20hDescription,
|
||||
gContestEffect21hDescription,
|
||||
gContestEffect22hDescription,
|
||||
gContestEffect23hDescription,
|
||||
gContestEffect24hDescription,
|
||||
gContestEffect25hDescription,
|
||||
gContestEffect26hDescription,
|
||||
gContestEffect27hDescription,
|
||||
gContestEffect28hDescription,
|
||||
gContestEffect29hDescription,
|
||||
gContestEffect2AhDescription,
|
||||
gContestEffect2BhDescription,
|
||||
gContestEffect2ChDescription,
|
||||
gContestEffect2DhDescription,
|
||||
gContestEffect2EhDescription,
|
||||
gContestEffect2FhDescription
|
||||
};
|
||||
|
||||
// Unreferenced array of pointers to move names.
|
||||
// All of the moves except Conversion are combo starters, so this may have
|
||||
// been an early list of combo starters.
|
||||
const u8 *const gUnknown_8587D10[] =
|
||||
{
|
||||
gUnusedContestMoveName0,
|
||||
gUnusedContestMoveName0,
|
||||
gUnusedContestMoveName1,
|
||||
gUnusedContestMoveName2,
|
||||
gUnusedContestMoveName3,
|
||||
gUnusedContestMoveName4,
|
||||
gUnusedContestMoveName5,
|
||||
gUnusedContestMoveName6,
|
||||
gUnusedContestMoveName7,
|
||||
gUnusedContestMoveName8,
|
||||
gUnusedContestMoveName9,
|
||||
gUnusedContestMoveName10,
|
||||
gUnusedContestMoveName11,
|
||||
gUnusedContestMoveName12
|
||||
};
|
||||
|
||||
const u8 *const gContestMoveTypeTextPointers[] =
|
||||
{
|
||||
gContestMoveTypeCoolText,
|
||||
gContestMoveTypeBeautyText,
|
||||
gContestMoveTypeCuteText,
|
||||
gContestMoveTypeSmartText,
|
||||
gContestMoveTypeToughText
|
||||
};
|
||||
|
||||
const u8 *const gUnknown_08587D5C[] =
|
||||
{
|
||||
gText_0827D5C1,
|
||||
gText_0827D5DC,
|
||||
gText_0827D600,
|
||||
gText_0827D612,
|
||||
gText_0827D612,
|
||||
gText_0827D62D,
|
||||
gText_0827D654,
|
||||
gText_0827D67E,
|
||||
gText_0827D69C,
|
||||
gText_0827D6BA,
|
||||
gText_0827D6E5,
|
||||
gText_0827D706,
|
||||
gText_0827D71D
|
||||
};
|
||||
|
||||
const u8 *const gUnknown_08587D90[] =
|
||||
{
|
||||
gText_0827D743,
|
||||
gText_0827D764,
|
||||
gText_0827D785,
|
||||
gText_0827D7A5,
|
||||
gText_0827D7C8,
|
||||
gText_0827D7E8,
|
||||
gText_0827D831,
|
||||
gText_0827D855,
|
||||
gText_0827D830,
|
||||
gText_0827D872,
|
||||
gText_0827D88F,
|
||||
gText_0827D8B5,
|
||||
gText_0827D8E4,
|
||||
gText_0827D8FE,
|
||||
gText_0827D926,
|
||||
gText_0827D947,
|
||||
gText_0827D961,
|
||||
gText_0827D986,
|
||||
gText_0827D9B1,
|
||||
gText_0827D9D9,
|
||||
gText_0827DA03,
|
||||
gText_0827DA31,
|
||||
gText_0827DA5B,
|
||||
gText_0827DA85,
|
||||
gText_0827DAB2,
|
||||
gText_0827DADA,
|
||||
gText_0827DB03,
|
||||
gText_0827D830,
|
||||
gText_0827D830,
|
||||
gText_0827D830,
|
||||
gText_0827DB1F,
|
||||
gText_0827DB4E
|
||||
};
|
||||
|
||||
const u8 *const gUnknown_08587E10[] =
|
||||
{
|
||||
gText_827DB75,
|
||||
gText_827DBB0,
|
||||
gText_827DBE0,
|
||||
gText_827DC0F,
|
||||
gText_827DC45,
|
||||
gText_827DC7C,
|
||||
gText_827DCB4,
|
||||
gText_827DCE7,
|
||||
gText_827DD12,
|
||||
gText_827DD3D,
|
||||
gText_827DD6F,
|
||||
gText_827DD8E,
|
||||
gText_827DDC7,
|
||||
gText_827DDF2,
|
||||
gText_827DE14,
|
||||
gText_827DE44,
|
||||
gText_827DE73,
|
||||
gText_827DEA5,
|
||||
gText_827DED9,
|
||||
gText_827DF02,
|
||||
gText_827DF3A,
|
||||
gText_827DF63,
|
||||
gText_827DF8C,
|
||||
gText_827DFB8,
|
||||
gText_827DFE2,
|
||||
gText_827E00C,
|
||||
gText_827E02F,
|
||||
gText_827E05F,
|
||||
gText_827E08B,
|
||||
gText_827E0B5,
|
||||
gText_827E0DD,
|
||||
gText_827E107,
|
||||
gText_827E143,
|
||||
gText_827E17F,
|
||||
gText_827E1BB,
|
||||
gText_827E1F3,
|
||||
gText_827E220,
|
||||
gText_827E254,
|
||||
gText_827E289,
|
||||
gText_827E2C5,
|
||||
gText_0827E2FE,
|
||||
gText_0827E32E,
|
||||
gText_0827E35B,
|
||||
gText_0827E38D,
|
||||
gText_0827E3C1,
|
||||
gText_0827E3EB,
|
||||
gText_0827E416,
|
||||
gText_0827E448,
|
||||
gText_0827E473,
|
||||
gText_0827E4A6,
|
||||
gText_0827E4D5,
|
||||
gText_0827E504,
|
||||
gText_0827E531,
|
||||
gText_0827E55A,
|
||||
gText_0827E5B2,
|
||||
gText_0827E5D0,
|
||||
gText_0827E606,
|
||||
gText_0827E638,
|
||||
gText_0827E658,
|
||||
gText_0827E68B,
|
||||
gText_0827E6C4,
|
||||
gText_0827E7BA
|
||||
};
|
||||
|
||||
const u8 *const gUnknown_08587F08[] =
|
||||
{
|
||||
gText_0827E85F,
|
||||
gText_0827E868,
|
||||
gText_0827E86F,
|
||||
gText_0827E878,
|
||||
gText_0827E882
|
||||
};
|
||||
|
||||
const u8 *const gUnknown_08587F1C[] =
|
||||
{
|
||||
gText_0827E894,
|
||||
gText_0827E89E,
|
||||
gText_0827E8AA,
|
||||
gText_0827E8B4,
|
||||
gText_0827E8BF,
|
||||
gText_0827E8CA
|
||||
};
|
@ -391,10 +391,18 @@ const struct SpritePalette gUnknown_085A73E0 = {
|
||||
Unknown_085A7328, OVERWORLD_PLACE_DECOR_PLAYER_PAL_TAG
|
||||
};
|
||||
|
||||
const struct OamData Unknown_085A73E8 = {
|
||||
const struct OamData Unknown_085A73E8 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(16x16),
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(16x16),
|
||||
.priority = 1
|
||||
.tileNum = 0,
|
||||
.priority = 1,
|
||||
.paletteNum = 0,
|
||||
};
|
||||
|
||||
const union AnimCmd Unknown_085A73F0[] = {
|
||||
@ -2740,3 +2748,4 @@ void sub_812A478(u8 taskId)
|
||||
StringExpandPlaceholders(gStringVar4, gText_DecorationThrownAway);
|
||||
DisplayItemMessageOnField(taskId, gStringVar4, sub_8127A5C);
|
||||
}
|
||||
|
||||
|
@ -3721,7 +3721,7 @@ static void sub_811D0BC(void)
|
||||
{
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17);
|
||||
LoadUserWindowBorderGfx(1, 1, 0xE0);
|
||||
sub_8098858(1, 1, 14);
|
||||
DrawTextBorderOuter(1, 1, 14);
|
||||
sub_811D104(0);
|
||||
PutWindowTilemap(1);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "ereader_helpers.h"
|
||||
#include "link.h"
|
||||
#include "main.h"
|
||||
#include "rom_8011DC0.h"
|
||||
#include "union_room.h"
|
||||
#include "save.h"
|
||||
#include "sprite.h"
|
||||
#include "task.h"
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "ereader_helpers.h"
|
||||
#include "link.h"
|
||||
#include "main.h"
|
||||
#include "rom_8011DC0.h"
|
||||
#include "mystery_gift.h"
|
||||
#include "save.h"
|
||||
#include "sound.h"
|
||||
#include "sprite.h"
|
||||
@ -209,7 +209,7 @@ static u32 sub_81D4EE4(u8 *arg0, u16 *arg1)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sub_81D5014(void)
|
||||
void task_add_00_ereader(void)
|
||||
{
|
||||
int value;
|
||||
struct Unk81D5014 *data;
|
||||
@ -251,7 +251,7 @@ static void sub_81D5084(u8 taskId)
|
||||
switch (data->unk8)
|
||||
{
|
||||
case 0:
|
||||
if (mevent_0814257C(&data->unk9, gUnknown_085EDFD6))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EDFD6))
|
||||
data->unk8 = 1;
|
||||
break;
|
||||
case 1:
|
||||
@ -275,9 +275,9 @@ static void sub_81D5084(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (mevent_0814257C(&data->unk9, gUnknown_085EDFF5))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EDFF5))
|
||||
{
|
||||
sub_8018884(gUnknown_085EE014);
|
||||
AddTextPrinterToWindow1(gUnknown_085EE014);
|
||||
sub_81D505C(&data->unk0);
|
||||
data->unk8 = 5;
|
||||
}
|
||||
@ -324,11 +324,11 @@ static void sub_81D5084(u8 taskId)
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (mevent_0814257C(&data->unk9, gUnknown_085EE05C))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE05C))
|
||||
data->unk8 = 4;
|
||||
break;
|
||||
case 8:
|
||||
sub_8018884(gUnknown_085EE097);
|
||||
AddTextPrinterToWindow1(gUnknown_085EE097);
|
||||
// XXX: This (u32*) cast is discarding the const qualifier from gUnknown_089A3470
|
||||
sub_81D4D50(&gUnknown_03006370, gMultiBootProgram_BerryGlitchFix_Start - gUnknown_089A3470, (u32*)gUnknown_089A3470);
|
||||
data->unk8 = 9;
|
||||
@ -347,7 +347,7 @@ static void sub_81D5084(u8 taskId)
|
||||
else if (data->unkE == 1)
|
||||
{
|
||||
sub_81D505C(&data->unk0);
|
||||
sub_8018884(gUnknown_085EE120);
|
||||
AddTextPrinterToWindow1(gUnknown_085EE120);
|
||||
data->unk8 = 11;
|
||||
}
|
||||
else
|
||||
@ -361,7 +361,7 @@ static void sub_81D5084(u8 taskId)
|
||||
break;
|
||||
case 12:
|
||||
sub_81D4E30();
|
||||
sub_8018884(gUnknown_085EE0DC);
|
||||
AddTextPrinterToWindow1(gUnknown_085EE0DC);
|
||||
data->unk8 = 13;
|
||||
break;
|
||||
case 13:
|
||||
@ -370,7 +370,7 @@ static void sub_81D5084(u8 taskId)
|
||||
case 0:
|
||||
break;
|
||||
case 2:
|
||||
sub_8018884(gUnknown_085EE097);
|
||||
AddTextPrinterToWindow1(gUnknown_085EE097);
|
||||
data->unk8 = 14;
|
||||
break;
|
||||
case 1:
|
||||
@ -418,7 +418,7 @@ static void sub_81D5084(u8 taskId)
|
||||
case 17:
|
||||
if (sub_81D3AB0((struct Unk81D38FC *)&gDecompressionBuffer))
|
||||
{
|
||||
sub_8018884(gUnknown_085EE0FA);
|
||||
AddTextPrinterToWindow1(gUnknown_085EE0FA);
|
||||
sub_81D505C(&data->unk0);
|
||||
data->unk8 = 18;
|
||||
}
|
||||
@ -430,7 +430,7 @@ static void sub_81D5084(u8 taskId)
|
||||
case 18:
|
||||
if (sub_81D5064(&data->unk0, 120))
|
||||
{
|
||||
sub_8018884(gUnknown_085EE107);
|
||||
AddTextPrinterToWindow1(gUnknown_085EE107);
|
||||
PlayFanfare(MUS_FANFA4);
|
||||
data->unk8 = 19;
|
||||
}
|
||||
@ -440,25 +440,25 @@ static void sub_81D5084(u8 taskId)
|
||||
data->unk8 = 26;
|
||||
break;
|
||||
case 23:
|
||||
if (mevent_0814257C(&data->unk9,gUnknown_085EE06B))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9,gUnknown_085EE06B))
|
||||
data->unk8 = 26;
|
||||
break;
|
||||
case 20:
|
||||
if (mevent_0814257C(&data->unk9, gUnknown_085EE0A3))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE0A3))
|
||||
data->unk8 = 0;
|
||||
break;
|
||||
case 21:
|
||||
if (mevent_0814257C(&data->unk9, gUnknown_085EE0BF))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE0BF))
|
||||
data->unk8 = 0;
|
||||
break;
|
||||
case 22:
|
||||
if (mevent_0814257C(&data->unk9, gUnknown_085EE12D))
|
||||
if (MG_PrintTextOnWindow1AndWaitButton(&data->unk9, gUnknown_085EE12D))
|
||||
data->unk8 = 0;
|
||||
break;
|
||||
case 26:
|
||||
Free(data->unk10);
|
||||
DestroyTask(taskId);
|
||||
SetMainCallback2(sub_80186A4);
|
||||
SetMainCallback2(MainCB_FreeAllBuffersAndReturnToInitTitleScreen);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1228,7 +1228,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
if (gWirelessCommType)
|
||||
sub_800E084();
|
||||
DestroyWirelessStatusIndicatorSprite();
|
||||
|
||||
Free(GetBgTilemapBuffer(3));
|
||||
Free(GetBgTilemapBuffer(1));
|
||||
|
@ -284,20 +284,44 @@ bool8 (*const gFieldEffectScriptFuncs[])(u8 **, u32 *) =
|
||||
|
||||
const struct OamData gNewGameBirchOamAttributes =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.size = SPRITE_SIZE(64x64)
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
};
|
||||
|
||||
const struct OamData gOamData_855C218 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(8x8),
|
||||
.size = SPRITE_SIZE(8x8)
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
};
|
||||
|
||||
const struct OamData gOamData_855C220 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(16x16),
|
||||
.size = SPRITE_SIZE(16x16)
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(16x16),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gNewGameBirchPicTable[] =
|
||||
@ -347,8 +371,16 @@ const struct SpritePalette gFieldEffectObjectPaletteInfo5 =
|
||||
|
||||
const struct OamData gOamData_855C26C =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(32x16),
|
||||
.size = SPRITE_SIZE(32x16)
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(32x16),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gSpriteImageTable_855C274[] =
|
||||
@ -3759,3 +3791,4 @@ static void Fldeff_MoveDeoxysRock_Step(u8 taskId)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1579,18 +1579,15 @@ static void LoadAshSpriteSheet(void)
|
||||
static const struct OamData sAshSpriteOamData =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_BLEND,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0,
|
||||
.priority = 1,
|
||||
.paletteNum = 15,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
static const union AnimCmd sAshSpriteAnimCmd0[] =
|
||||
@ -1800,18 +1797,15 @@ static const struct SpriteSheet gFog2SpriteSheet =
|
||||
static const struct OamData sFog2SpriteOamData =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 0,
|
||||
.objMode = 1,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_BLEND,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0,
|
||||
.priority = 2,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
static const union AnimCmd sFog2SpriteAnimCmd0[] =
|
||||
@ -2043,18 +2037,15 @@ static void DestroySandstormSprites(void)
|
||||
static const struct OamData sSandstormSpriteOamData =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 0,
|
||||
.objMode = 1,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_BLEND,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.tileNum = 0,
|
||||
.priority = 1,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
static const union AnimCmd sSandstormSpriteAnimCmd0[] =
|
||||
@ -2591,3 +2582,5 @@ static void UpdateRainCounter(u8 newWeather, u8 oldWeather)
|
||||
&& (newWeather == WEATHER_RAIN_LIGHT || newWeather == WEATHER_RAIN_MED))
|
||||
IncrementGameStat(GAME_STAT_GOT_RAINED_ON);
|
||||
}
|
||||
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include "constants/songs.h"
|
||||
#include "constants/vars.h"
|
||||
|
||||
extern struct MapPosition gPlayerFacingPosition;
|
||||
EWRAM_DATA struct MapPosition gPlayerFacingPosition = {0};
|
||||
|
||||
static void sub_80F9C90(u8);
|
||||
static void sub_80F9DFC(u8);
|
||||
|
@ -27,9 +27,6 @@ static void sub_813561C(u8 taskId);
|
||||
static void sub_81356C4(void);
|
||||
static void sub_8135714(void);
|
||||
|
||||
// extern RAM loc
|
||||
extern struct MapPosition gPlayerFacingPosition;
|
||||
|
||||
// text
|
||||
bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId)
|
||||
{
|
||||
|
76
src/ghost.c
76
src/ghost.c
@ -87,7 +87,7 @@ const union AffineAnimCmd *const gUnknown_08596D54[] =
|
||||
gUnknown_08596D44,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_08596D58 =
|
||||
const struct SpriteTemplate gShadowBallSpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_SHADOW_BALL,
|
||||
.paletteTag = ANIM_TAG_SHADOW_BALL,
|
||||
@ -399,9 +399,9 @@ static void sub_811196C(u8 taskId)
|
||||
// arg 2: duration step 3 (center -> target)
|
||||
static void InitAnimShadowBall(struct Sprite *sprite)
|
||||
{
|
||||
u16 r5, r6;
|
||||
r5 = sprite->pos1.x;
|
||||
r6 = sprite->pos1.y;
|
||||
s16 oldPosX = sprite->pos1.x;
|
||||
s16 oldPosY = sprite->pos1.y;
|
||||
|
||||
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
||||
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
||||
sprite->data[0] = 0;
|
||||
@ -410,8 +410,8 @@ static void InitAnimShadowBall(struct Sprite *sprite)
|
||||
sprite->data[3] = gBattleAnimArgs[2];
|
||||
sprite->data[4] = sprite->pos1.x << 4;
|
||||
sprite->data[5] = sprite->pos1.y << 4;
|
||||
sprite->data[6] = (((s16)r5 - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1);
|
||||
sprite->data[7] = (((s16)r6 - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1);
|
||||
sprite->data[6] = ((oldPosX - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1);
|
||||
sprite->data[7] = ((oldPosY - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1);
|
||||
sprite->callback = AnimShadowBallStep;
|
||||
}
|
||||
|
||||
@ -465,44 +465,51 @@ static void sub_8111B9C(struct Sprite *sprite)
|
||||
sprite->callback = sub_8111BB4;
|
||||
}
|
||||
|
||||
static void sub_8111BB4(struct Sprite *sprite) {
|
||||
|
||||
s8 r5 = FALSE;
|
||||
static void sub_8111BB4(struct Sprite *sprite)
|
||||
{
|
||||
bool8 r5 = FALSE;
|
||||
bool8 r6 = FALSE;
|
||||
if(sprite->animEnded)
|
||||
|
||||
if (sprite->animEnded)
|
||||
{
|
||||
if(!(sprite->invisible))
|
||||
sprite->invisible=TRUE;
|
||||
switch(sprite->data[0])
|
||||
if (!sprite->invisible)
|
||||
sprite->invisible = TRUE;
|
||||
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
if((sprite->data[1]) != 2)
|
||||
break;
|
||||
goto loc_08111C06;
|
||||
case 1:
|
||||
if((sprite->data[1]) == 4)
|
||||
r5 = TRUE;
|
||||
break;
|
||||
default:
|
||||
r6 = TRUE;
|
||||
break;
|
||||
case 0:
|
||||
if (sprite->data[1] == 2)
|
||||
r5 = TRUE;
|
||||
break;
|
||||
case 1:
|
||||
if (sprite->data[1] == 4)
|
||||
r5 = TRUE;
|
||||
break;
|
||||
}
|
||||
if(r5)
|
||||
|
||||
if (r5)
|
||||
{
|
||||
loc_08111C06:
|
||||
sprite->invisible ^= 1;
|
||||
sprite->data[2]++;
|
||||
sprite->data[1] = 0;
|
||||
if(sprite->data[2] == 5)
|
||||
if (sprite->data[2] == 5)
|
||||
{
|
||||
sprite->data[2] = 0;
|
||||
sprite->data[0]++;
|
||||
}
|
||||
}
|
||||
else if(r6)
|
||||
else if (r6)
|
||||
{
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->data[1]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8111C50(u8 taskId)
|
||||
@ -523,7 +530,7 @@ void sub_8111C50(u8 taskId)
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[2], task->data[3]));
|
||||
gSprites[task->data[0]].data[0] = 80;
|
||||
if (GetBattlerSide(gBattleAnimTarget) == 0)
|
||||
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
|
||||
{
|
||||
gSprites[task->data[0]].data[1] = -144;
|
||||
gSprites[task->data[0]].data[2] = 112;
|
||||
@ -573,6 +580,7 @@ static void sub_8111D78(u8 taskId)
|
||||
break;
|
||||
case 2:
|
||||
DestroyAnimVisualTask(taskId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -595,7 +603,7 @@ static void sub_8111E78(u8 taskId)
|
||||
switch (task->data[15])
|
||||
{
|
||||
case 0:
|
||||
task->data[14] = AllocSpritePalette(0x2771);
|
||||
task->data[14] = AllocSpritePalette(ANIM_TAG_BENT_SPOON);
|
||||
if (task->data[14] == 0xFF || task->data[14] == 0xF)
|
||||
{
|
||||
DestroyAnimVisualTask(taskId);
|
||||
@ -605,7 +613,7 @@ static void sub_8111E78(u8 taskId)
|
||||
task->data[0] = CloneBattlerSpriteWithBlend(1);
|
||||
if (task->data[0] < 0)
|
||||
{
|
||||
FreeSpritePaletteByTag(0x2771);
|
||||
FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
else
|
||||
@ -698,14 +706,14 @@ static void sub_81120DC(u8 taskId)
|
||||
static void sub_8112170(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
u8 position = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
|
||||
u8 rank = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
|
||||
|
||||
switch (task->data[15])
|
||||
{
|
||||
case 0:
|
||||
gScanlineEffect.state = 3;
|
||||
task->data[14] = GetAnimBattlerSpriteId(1);
|
||||
if (position == 1)
|
||||
if (rank == 1)
|
||||
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
|
||||
else
|
||||
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
|
||||
@ -714,12 +722,12 @@ static void sub_8112170(u8 taskId)
|
||||
BlendPalette(task->data[4], 16, 0, RGB(13, 0, 15));
|
||||
break;
|
||||
case 2:
|
||||
gSprites[task->data[14]].invisible = 1;
|
||||
gSprites[task->data[14]].invisible = TRUE;
|
||||
obj_delete_but_dont_free_vram(&gSprites[task->data[0]]);
|
||||
FreeSpritePaletteByTag(0x2771);
|
||||
FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
if (position == 1)
|
||||
if (rank == 1)
|
||||
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
|
||||
else
|
||||
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
|
||||
@ -1081,7 +1089,7 @@ static void sub_8112ACC(struct Sprite *sprite)
|
||||
if (sprite->data[0] == 0)
|
||||
{
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0x10, 0));
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
|
||||
sprite->data[0]++;
|
||||
sprite->data[1] = 0;
|
||||
sprite->data[2] = 0;
|
||||
|
@ -62,7 +62,7 @@ int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2)
|
||||
return convert_pixel_width_to_tile_width(var);
|
||||
}
|
||||
|
||||
int sub_81DB41C(const struct ListMenuTemplate *listMenu)
|
||||
int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu)
|
||||
{
|
||||
int i, maxWidth, finalWidth;
|
||||
const struct ListMenuItem *items = listMenu->items;
|
||||
|
@ -11,13 +11,13 @@
|
||||
#include "overworld.h"
|
||||
#include "random.h"
|
||||
#include "palette.h"
|
||||
#include "rom_8011DC0.h"
|
||||
#include "union_room.h"
|
||||
#include "string_util.h"
|
||||
#include "task.h"
|
||||
#include "text.h"
|
||||
#include "constants/species.h"
|
||||
#include "save.h"
|
||||
#include "rom_8011DC0.h"
|
||||
#include "mystery_gift.h"
|
||||
|
||||
extern u16 gHeldKeyCodeToSend;
|
||||
|
||||
@ -154,9 +154,18 @@ const u8 sWireless_RSEtoASCIITable[] = {
|
||||
0x20, 0x2b, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x20,
|
||||
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00
|
||||
};
|
||||
const struct OamData sWirelessStatusIndicatorOamData = {
|
||||
const struct OamData sWirelessStatusIndicatorOamData =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(16x16),
|
||||
.size = SPRITE_SIZE(16x16)
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(16x16),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
};
|
||||
static const union AnimCmd sWirelessStatusIndicatorAnim0[] = {
|
||||
// 3 bars
|
||||
@ -2243,7 +2252,7 @@ void CreateWirelessStatusIndicatorSprite(u8 x, u8 y)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_800E084(void)
|
||||
void DestroyWirelessStatusIndicatorSprite(void)
|
||||
{
|
||||
if (gSprites[gWirelessStatusIndicatorSpriteId].data[7] == 0x1234)
|
||||
{
|
||||
@ -2356,7 +2365,7 @@ void sub_800E174(void)
|
||||
CpuCopy16(gMain.oamBuffer + 125, (struct OamData *)OAM + 125, sizeof(struct OamData));
|
||||
if (sub_8011A74() == 1)
|
||||
{
|
||||
sub_800E084();
|
||||
DestroyWirelessStatusIndicatorSprite();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4209,7 +4218,7 @@ void sub_8010DB4(void)
|
||||
{
|
||||
if (gUnknown_03005000.unk_ee == 1 && gUnknown_03004140.unk_02 == 0)
|
||||
{
|
||||
if (gMain.callback2 == sub_8018438 || gUnknown_03004140.unk_3c->unk_04)
|
||||
if (gMain.callback2 == c2_mystery_gift_e_reader_run || gUnknown_03004140.unk_3c->unk_04)
|
||||
gWirelessCommType = 2;
|
||||
SetMainCallback2(CB2_LinkError);
|
||||
gMain.savedCallback = CB2_LinkError;
|
||||
@ -5182,3 +5191,4 @@ u32 GetRfuRecvQueueLength(void)
|
||||
{
|
||||
return gUnknown_03005000.unk_124.unk_8c2;
|
||||
}
|
||||
|
||||
|
@ -312,7 +312,7 @@ static void ListMenuDummyTask(u8 taskId)
|
||||
|
||||
}
|
||||
|
||||
s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum)
|
||||
s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum)
|
||||
{
|
||||
switch (sMysteryGiftLinkMenu.state)
|
||||
{
|
||||
@ -324,7 +324,7 @@ s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenu
|
||||
case 2:
|
||||
LoadUserWindowBorderGfx(sMysteryGiftLinkMenu.windowId, tileNum, palNum);
|
||||
case 1:
|
||||
sub_8098858(sMysteryGiftLinkMenu.windowId, tileNum, palNum / 16);
|
||||
DrawTextBorderOuter(sMysteryGiftLinkMenu.windowId, tileNum, palNum / 16);
|
||||
break;
|
||||
}
|
||||
gMultiuseListMenuTemplate = *listMenuTemplate;
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include "text_window.h"
|
||||
#include "title_screen.h"
|
||||
#include "window.h"
|
||||
#include "mystery_gift.h"
|
||||
|
||||
/*
|
||||
* Main menu state machine
|
||||
@ -1083,7 +1084,7 @@ static void Task_HandleMainMenuAPressed(u8 taskId)
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
case ACTION_EREADER:
|
||||
SetMainCallback2(sub_801867C);
|
||||
SetMainCallback2(c2_ereader);
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
case ACTION_INVALID:
|
||||
|
@ -914,7 +914,7 @@ struct Story
|
||||
};
|
||||
|
||||
static const struct Story sStorytellerStories[] = {
|
||||
{GAME_STAT_50, 1, MauvilleCity_PokemonCenter_1F_Text_28E930, MauvilleCity_PokemonCenter_1F_Text_28E947, MauvilleCity_PokemonCenter_1F_Text_28E956},
|
||||
{GAME_STAT_NUM_UNION_ROOM_BATTLES, 1, MauvilleCity_PokemonCenter_1F_Text_28E930, MauvilleCity_PokemonCenter_1F_Text_28E947, MauvilleCity_PokemonCenter_1F_Text_28E956},
|
||||
{GAME_STAT_STARTED_TRENDS, 1, MauvilleCity_PokemonCenter_1F_Text_28E9D7, MauvilleCity_PokemonCenter_1F_Text_28E9EF, MauvilleCity_PokemonCenter_1F_Text_28E9FE},
|
||||
{GAME_STAT_PLANTED_BERRIES, 1, MauvilleCity_PokemonCenter_1F_Text_28EA7D, MauvilleCity_PokemonCenter_1F_Text_28EA98, MauvilleCity_PokemonCenter_1F_Text_28EAA8},
|
||||
{GAME_STAT_TRADED_BIKES, 1, MauvilleCity_PokemonCenter_1F_Text_28EB19, MauvilleCity_PokemonCenter_1F_Text_28EB31, MauvilleCity_PokemonCenter_1F_Text_28EB3E},
|
||||
@ -1193,7 +1193,7 @@ static void Task_StoryListMenu(u8 taskId) // Task_StoryListMenu
|
||||
gSpecialVar_Result = 1;
|
||||
sSelectedStory = selection;
|
||||
}
|
||||
sub_80E2A78(sStorytellerWindowId);
|
||||
ClearToTransparentAndRemoveWindow(sStorytellerWindowId);
|
||||
DestroyTask(taskId);
|
||||
EnableBothScriptContexts();
|
||||
break;
|
||||
|
68
src/menu.c
68
src/menu.c
@ -43,8 +43,8 @@ struct Menu
|
||||
u8 fontId;
|
||||
u8 optionWidth;
|
||||
u8 optionHeight;
|
||||
u8 horizontalCount;
|
||||
u8 verticalCount;
|
||||
u8 columns;
|
||||
u8 rows;
|
||||
bool8 APressMuted;
|
||||
};
|
||||
|
||||
@ -432,7 +432,7 @@ void sub_819789C(void)
|
||||
LoadPalette(gUnknown_0860F074, STD_WINDOW_PALETTE_NUM * 0x10, 0x14);
|
||||
}
|
||||
|
||||
void sub_81978B0(u16 offset)
|
||||
void Menu_LoadStdPalAt(u16 offset)
|
||||
{
|
||||
LoadPalette(gUnknown_0860F074, offset, 0x14);
|
||||
}
|
||||
@ -1283,8 +1283,8 @@ u8 sub_8198F58(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 cursorHeight,
|
||||
sMenu.fontId = fontId;
|
||||
sMenu.optionWidth = a4;
|
||||
sMenu.optionHeight = cursorHeight;
|
||||
sMenu.horizontalCount = a6;
|
||||
sMenu.verticalCount = a7;
|
||||
sMenu.columns = a6;
|
||||
sMenu.rows = a7;
|
||||
|
||||
pos = a9;
|
||||
|
||||
@ -1308,16 +1308,16 @@ void sub_8199060(u8 oldCursorPos, u8 newCursorPos)
|
||||
{
|
||||
u8 cursorWidth = GetMenuCursorDimensionByFont(sMenu.fontId, 0);
|
||||
u8 cursorHeight = GetMenuCursorDimensionByFont(sMenu.fontId, 1);
|
||||
u8 xPos = (oldCursorPos % sMenu.horizontalCount) * sMenu.optionWidth + sMenu.left;
|
||||
u8 yPos = (oldCursorPos / sMenu.horizontalCount) * sMenu.optionHeight + sMenu.top;
|
||||
u8 xPos = (oldCursorPos % sMenu.columns) * sMenu.optionWidth + sMenu.left;
|
||||
u8 yPos = (oldCursorPos / sMenu.columns) * sMenu.optionHeight + sMenu.top;
|
||||
FillWindowPixelRect(sMenu.windowId,
|
||||
PIXEL_FILL(1),
|
||||
xPos,
|
||||
yPos,
|
||||
cursorWidth,
|
||||
cursorHeight);
|
||||
xPos = (newCursorPos % sMenu.horizontalCount) * sMenu.optionWidth + sMenu.left;
|
||||
yPos = (newCursorPos / sMenu.horizontalCount) * sMenu.optionHeight + sMenu.top;
|
||||
xPos = (newCursorPos % sMenu.columns) * sMenu.optionWidth + sMenu.left;
|
||||
yPos = (newCursorPos / sMenu.columns) * sMenu.optionHeight + sMenu.top;
|
||||
AddTextPrinterParameterized(sMenu.windowId,
|
||||
sMenu.fontId,
|
||||
gText_SelectorArrow3,
|
||||
@ -1333,13 +1333,13 @@ u8 sub_8199134(s8 deltaX, s8 deltaY)
|
||||
|
||||
if (deltaX != 0)
|
||||
{
|
||||
if ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX < 0)
|
||||
if ((sMenu.cursorPos % sMenu.columns) + deltaX < 0)
|
||||
{
|
||||
sMenu.cursorPos += sMenu.horizontalCount - 1;
|
||||
sMenu.cursorPos += sMenu.columns - 1;
|
||||
}
|
||||
else if ((sMenu.cursorPos % sMenu.horizontalCount) + deltaX >= sMenu.horizontalCount)
|
||||
else if ((sMenu.cursorPos % sMenu.columns) + deltaX >= sMenu.columns)
|
||||
{
|
||||
sMenu.cursorPos = (sMenu.cursorPos / sMenu.horizontalCount) * sMenu.horizontalCount;
|
||||
sMenu.cursorPos = (sMenu.cursorPos / sMenu.columns) * sMenu.columns;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1349,17 +1349,17 @@ u8 sub_8199134(s8 deltaX, s8 deltaY)
|
||||
|
||||
if (deltaY != 0)
|
||||
{
|
||||
if ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY < 0)
|
||||
if ((sMenu.cursorPos / sMenu.columns) + deltaY < 0)
|
||||
{
|
||||
sMenu.cursorPos += sMenu.horizontalCount * (sMenu.verticalCount - 1);
|
||||
sMenu.cursorPos += sMenu.columns * (sMenu.rows - 1);
|
||||
}
|
||||
else if ((sMenu.cursorPos / sMenu.horizontalCount) + deltaY >= sMenu.verticalCount)
|
||||
else if ((sMenu.cursorPos / sMenu.columns) + deltaY >= sMenu.rows)
|
||||
{
|
||||
sMenu.cursorPos -= sMenu.horizontalCount * (sMenu.verticalCount - 1);
|
||||
sMenu.cursorPos -= sMenu.columns * (sMenu.rows - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
sMenu.cursorPos += (sMenu.horizontalCount * deltaY);
|
||||
sMenu.cursorPos += (sMenu.columns * deltaY);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1381,8 +1381,8 @@ u8 sub_81991F8(s8 deltaX, s8 deltaY)
|
||||
|
||||
if (deltaX != 0)
|
||||
{
|
||||
if (((sMenu.cursorPos % sMenu.horizontalCount) + deltaX >= 0) &&
|
||||
((sMenu.cursorPos % sMenu.horizontalCount) + deltaX < sMenu.horizontalCount))
|
||||
if (((sMenu.cursorPos % sMenu.columns) + deltaX >= 0) &&
|
||||
((sMenu.cursorPos % sMenu.columns) + deltaX < sMenu.columns))
|
||||
{
|
||||
sMenu.cursorPos += deltaX;
|
||||
}
|
||||
@ -1390,10 +1390,10 @@ u8 sub_81991F8(s8 deltaX, s8 deltaY)
|
||||
|
||||
if (deltaY != 0)
|
||||
{
|
||||
if (((sMenu.cursorPos / sMenu.horizontalCount) + deltaY >= 0) &&
|
||||
((sMenu.cursorPos / sMenu.horizontalCount) + deltaY < sMenu.verticalCount))
|
||||
if (((sMenu.cursorPos / sMenu.columns) + deltaY >= 0) &&
|
||||
((sMenu.cursorPos / sMenu.columns) + deltaY < sMenu.rows))
|
||||
{
|
||||
sMenu.cursorPos += (sMenu.horizontalCount * deltaY);
|
||||
sMenu.cursorPos += (sMenu.columns * deltaY);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1661,16 +1661,14 @@ void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 pa
|
||||
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sYesNoWindowId, 2, initialCursorPos);
|
||||
}
|
||||
|
||||
void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs)
|
||||
void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const struct MenuAction *strs)
|
||||
{
|
||||
u32 i;
|
||||
u32 j;
|
||||
for (i = 0; i < a7; i++)
|
||||
u32 i, j;
|
||||
|
||||
for (i = 0; i < rows; i++)
|
||||
{
|
||||
for (j = 0; j < a6; j++)
|
||||
{
|
||||
AddTextPrinterParameterized(windowId, 1, strs[(i * a6) + j].text, (a4 * j) + 8, (i * 16) + 1, 0xFF, NULL);
|
||||
}
|
||||
for (j = 0; j < columns; j++)
|
||||
AddTextPrinterParameterized(windowId, 1, strs[(i * columns) + j].text, (optionWidth * j) + 8, (i * 16) + 1, 0xFF, NULL);
|
||||
}
|
||||
CopyWindowToVram(windowId, 2);
|
||||
}
|
||||
@ -1706,20 +1704,20 @@ void sub_819983C(u8 windowId, u8 a4, u8 itemCount, u8 itemCount2, const struct M
|
||||
CopyWindowToVram(windowId, 2);
|
||||
}
|
||||
|
||||
u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, u8 initialCursorPos)
|
||||
u8 sub_8199944(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos)
|
||||
{
|
||||
s32 pos;
|
||||
|
||||
sMenu.left = 0;
|
||||
sMenu.top = 1;
|
||||
sMenu.minCursorPos = 0;
|
||||
sMenu.maxCursorPos = (horizontalCount * verticalCount) - 1;
|
||||
sMenu.maxCursorPos = (columns * rows) - 1;
|
||||
sMenu.windowId = windowId;
|
||||
sMenu.fontId = 1;
|
||||
sMenu.optionWidth = optionWidth;
|
||||
sMenu.optionHeight = 16;
|
||||
sMenu.horizontalCount = horizontalCount;
|
||||
sMenu.verticalCount = verticalCount;
|
||||
sMenu.columns = columns;
|
||||
sMenu.rows = rows;
|
||||
|
||||
pos = initialCursorPos;
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
static EWRAM_DATA bool32 gUnknown_02022C70 = FALSE;
|
||||
|
||||
static void sub_801B180(void);
|
||||
static void sub_801B14C(void);
|
||||
static void s_DestroyWonderNews(void);
|
||||
static bool32 sub_801B114(const struct MEventBuffer_3120_Sub *data);
|
||||
static bool32 sub_801B2CC(const struct MEventBuffer_32E0_Sub *data);
|
||||
static void sub_801B330(void);
|
||||
@ -29,7 +29,7 @@ void sub_801AFD8(void)
|
||||
sub_811F8BC();
|
||||
}
|
||||
|
||||
struct MEventBuffer_3120_Sub *sub_801B00C(void)
|
||||
struct MEventBuffer_3120_Sub *sav1_get_mevent_buffer_0(void)
|
||||
{
|
||||
return &gSaveBlock1Ptr->unk_322C.buffer_000.data;
|
||||
}
|
||||
@ -54,9 +54,9 @@ u16 *sub_801B058(void)
|
||||
return gSaveBlock1Ptr->unk_322C.unk_338;
|
||||
}
|
||||
|
||||
void sub_801B06C(void)
|
||||
void DestroyWonderNews(void)
|
||||
{
|
||||
sub_801B14C();
|
||||
s_DestroyWonderNews();
|
||||
}
|
||||
|
||||
bool32 sub_801B078(const struct MEventBuffer_3120_Sub *src)
|
||||
@ -64,13 +64,13 @@ bool32 sub_801B078(const struct MEventBuffer_3120_Sub *src)
|
||||
if (!sub_801B114(src))
|
||||
return FALSE;
|
||||
|
||||
sub_801B14C();
|
||||
s_DestroyWonderNews();
|
||||
gSaveBlock1Ptr->unk_322C.buffer_000.data = *src;
|
||||
gSaveBlock1Ptr->unk_322C.buffer_000.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.buffer_000.data, sizeof(struct MEventBuffer_3120_Sub));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_801B0CC(void)
|
||||
bool32 ValidateReceivedWonderNews(void)
|
||||
{
|
||||
if (CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.buffer_000.data, sizeof(struct MEventBuffer_3120_Sub)) != gSaveBlock1Ptr->unk_322C.buffer_000.crc)
|
||||
return FALSE;
|
||||
@ -88,7 +88,7 @@ static bool32 sub_801B114(const struct MEventBuffer_3120_Sub *data)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_801B128(void)
|
||||
bool32 WonderNews_Test_Unk_02(void)
|
||||
{
|
||||
const struct MEventBuffer_3120_Sub *data = &gSaveBlock1Ptr->unk_322C.buffer_000.data;
|
||||
if (data->unk_02 == 0)
|
||||
@ -97,9 +97,9 @@ bool32 sub_801B128(void)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void sub_801B14C(void)
|
||||
static void s_DestroyWonderNews(void)
|
||||
{
|
||||
CpuFill32(0, sub_801B00C(), sizeof(gSaveBlock1Ptr->unk_322C.buffer_000.data));
|
||||
CpuFill32(0, sav1_get_mevent_buffer_0(), sizeof(gSaveBlock1Ptr->unk_322C.buffer_000.data));
|
||||
gSaveBlock1Ptr->unk_322C.buffer_000.crc = 0;
|
||||
}
|
||||
|
||||
@ -113,7 +113,7 @@ bool32 sub_801B1A4(const u8 *src)
|
||||
{
|
||||
const u8 *r5 = (const u8 *)&gSaveBlock1Ptr->unk_322C.buffer_000.data;
|
||||
u32 i;
|
||||
if (!sub_801B0CC())
|
||||
if (!ValidateReceivedWonderNews())
|
||||
return FALSE;
|
||||
|
||||
for (i = 0; i < sizeof(struct MEventBuffer_3120_Sub); i++)
|
||||
@ -125,7 +125,7 @@ bool32 sub_801B1A4(const u8 *src)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_801B1E8(void)
|
||||
void DestroyWonderCard(void)
|
||||
{
|
||||
sub_801B330();
|
||||
sub_801B368();
|
||||
@ -143,7 +143,7 @@ bool32 sub_801B21C(const struct MEventBuffer_32E0_Sub *data)
|
||||
if (!sub_801B2CC(data))
|
||||
return FALSE;
|
||||
|
||||
sub_801B1E8();
|
||||
DestroyWonderCard();
|
||||
memcpy(&gSaveBlock1Ptr->unk_322C.buffer_1c0.data, data, sizeof(struct MEventBuffer_32E0_Sub));
|
||||
gSaveBlock1Ptr->unk_322C.buffer_1c0.crc = CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.buffer_1c0.data, sizeof(struct MEventBuffer_32E0_Sub));
|
||||
r2 = &gSaveBlock1Ptr->unk_322C.buffer_310.data;
|
||||
@ -152,7 +152,7 @@ bool32 sub_801B21C(const struct MEventBuffer_32E0_Sub *data)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_801B27C(void)
|
||||
bool32 ValidateReceivedWonderCard(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->unk_322C.buffer_1c0.crc != CalcCRC16WithTable((void *)&gSaveBlock1Ptr->unk_322C.buffer_1c0.data, sizeof(struct MEventBuffer_32E0_Sub)))
|
||||
return FALSE;
|
||||
@ -180,7 +180,7 @@ static bool32 sub_801B2CC(const struct MEventBuffer_32E0_Sub *data)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_801B308(void)
|
||||
bool32 WonderCard_Test_Unk_08_6(void)
|
||||
{
|
||||
const struct MEventBuffer_32E0_Sub *data = &gSaveBlock1Ptr->unk_322C.buffer_1c0.data;
|
||||
if (data->unk_08_6 == 0)
|
||||
@ -201,9 +201,9 @@ static void sub_801B368(void)
|
||||
gSaveBlock1Ptr->unk_322C.buffer_310.crc = 0;
|
||||
}
|
||||
|
||||
u16 sub_801B39C(void)
|
||||
u16 GetWonderCardFlagID(void)
|
||||
{
|
||||
if (sub_801B27C())
|
||||
if (ValidateReceivedWonderCard())
|
||||
return gSaveBlock1Ptr->unk_322C.buffer_1c0.data.unk_00;
|
||||
|
||||
return 0;
|
||||
@ -215,7 +215,7 @@ void sub_801B3C0(struct MEventBuffer_32E0_Sub *buffer)
|
||||
buffer->unk_08_6 = 0;
|
||||
}
|
||||
|
||||
static bool32 sub_801B3D8(u16 a0)
|
||||
static bool32 IsWonderCardFlagIDInValidRange(u16 a0)
|
||||
{
|
||||
if (a0 >= 1000 && a0 < 1020)
|
||||
return TRUE;
|
||||
@ -247,10 +247,10 @@ static const u16 sMysteryGiftFlags[] =
|
||||
FLAG_UNUSED_MYSTERY_GIFT_0x14D,
|
||||
};
|
||||
|
||||
bool32 sub_801B3F8(void)
|
||||
bool32 CheckReceivedGiftFromWonderCard(void)
|
||||
{
|
||||
u16 value = sub_801B39C();
|
||||
if (!sub_801B3D8(value))
|
||||
u16 value = GetWonderCardFlagID();
|
||||
if (!IsWonderCardFlagIDInValidRange(value))
|
||||
return FALSE;
|
||||
|
||||
if (FlagGet(sMysteryGiftFlags[value - 1000]) == TRUE)
|
||||
@ -300,7 +300,7 @@ static bool32 sub_801B4A4(const u16 *data)
|
||||
static int sub_801B4CC(void)
|
||||
{
|
||||
struct MEventBuffer_32E0_Sub *data;
|
||||
if (!sub_801B27C())
|
||||
if (!ValidateReceivedWonderCard())
|
||||
return 0;
|
||||
|
||||
data = &gSaveBlock1Ptr->unk_322C.buffer_1c0.data;
|
||||
@ -353,7 +353,7 @@ void sub_801B580(struct MEventStruct_Unk1442CC *data, bool32 a1)
|
||||
data->unk_10 = 0x0200;
|
||||
}
|
||||
|
||||
if (sub_801B27C())
|
||||
if (ValidateReceivedWonderCard())
|
||||
{
|
||||
data->unk_14 = sav1_get_mevent_buffer_1()->unk_00;
|
||||
data->unk_20 = *sav1_get_mevent_buffer_2();
|
||||
@ -554,7 +554,7 @@ bool32 sub_801B94C(u16 a0)
|
||||
if (a0 == 0)
|
||||
return FALSE;
|
||||
|
||||
if (!sub_801B27C())
|
||||
if (!ValidateReceivedWonderCard())
|
||||
return FALSE;
|
||||
|
||||
if (gSaveBlock1Ptr->unk_322C.buffer_1c0.data.unk_00 != a0)
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include "string_util.h"
|
||||
#include "link_rfu.h"
|
||||
#include "mevent.h"
|
||||
#include "mystery_gift.h"
|
||||
|
||||
struct UnkStruct_8467FB8
|
||||
{
|
||||
@ -52,7 +53,7 @@ struct UnkStruct_203F3C8
|
||||
/*045C*/ u8 buffer_045C[0x1000];
|
||||
};
|
||||
|
||||
EWRAM_DATA struct UnkStruct_203F3C8 * gUnknown_02022C74 = NULL;
|
||||
EWRAM_DATA struct UnkStruct_203F3C8 * sWonderCardData = NULL;
|
||||
|
||||
void sub_801BEF8(void);
|
||||
void sub_801C178(u8 whichWindow);
|
||||
@ -149,40 +150,40 @@ const struct UnkStruct_8467FB8 gUnknown_082F1D60[8] = {
|
||||
{1, 0, 0, 7, gWonderCardBgGfx8, gWonderCardBgTilemap8, gWonderCardBgPal8}
|
||||
};
|
||||
|
||||
bool32 sub_801BAAC(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6)
|
||||
bool32 InitWonderCardResources(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6)
|
||||
{
|
||||
if (r5 == NULL || r6 == NULL)
|
||||
return FALSE;
|
||||
gUnknown_02022C74 = AllocZeroed(sizeof(struct UnkStruct_203F3C8));
|
||||
if (gUnknown_02022C74 == NULL)
|
||||
sWonderCardData = AllocZeroed(sizeof(struct UnkStruct_203F3C8));
|
||||
if (sWonderCardData == NULL)
|
||||
return FALSE;
|
||||
gUnknown_02022C74->unk_0000 = *r5;
|
||||
gUnknown_02022C74->unk_014C = *r6;
|
||||
if (gUnknown_02022C74->unk_0000.unk_08_2 >= ARRAY_COUNT(gUnknown_082F1D60))
|
||||
gUnknown_02022C74->unk_0000.unk_08_2 = 0;
|
||||
if (gUnknown_02022C74->unk_0000.unk_08_0 >= ARRAY_COUNT(gUnknown_082F0E18))
|
||||
gUnknown_02022C74->unk_0000.unk_08_0 = 0;
|
||||
if (gUnknown_02022C74->unk_0000.unk_09 > ARRAY_COUNT(gUnknown_02022C74->unk_017D))
|
||||
gUnknown_02022C74->unk_0000.unk_09 = 0;
|
||||
gUnknown_02022C74->unk_0170 = &gUnknown_082F1D60[gUnknown_02022C74->unk_0000.unk_08_2];
|
||||
sWonderCardData->unk_0000 = *r5;
|
||||
sWonderCardData->unk_014C = *r6;
|
||||
if (sWonderCardData->unk_0000.unk_08_2 >= ARRAY_COUNT(gUnknown_082F1D60))
|
||||
sWonderCardData->unk_0000.unk_08_2 = 0;
|
||||
if (sWonderCardData->unk_0000.unk_08_0 >= ARRAY_COUNT(gUnknown_082F0E18))
|
||||
sWonderCardData->unk_0000.unk_08_0 = 0;
|
||||
if (sWonderCardData->unk_0000.unk_09 > ARRAY_COUNT(sWonderCardData->unk_017D))
|
||||
sWonderCardData->unk_0000.unk_09 = 0;
|
||||
sWonderCardData->unk_0170 = &gUnknown_082F1D60[sWonderCardData->unk_0000.unk_08_2];
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_801BB48(void)
|
||||
void DestroyWonderCardResources(void)
|
||||
{
|
||||
if (gUnknown_02022C74 != NULL)
|
||||
if (sWonderCardData != NULL)
|
||||
{
|
||||
*gUnknown_02022C74 = (struct UnkStruct_203F3C8){};
|
||||
Free(gUnknown_02022C74);
|
||||
gUnknown_02022C74 = NULL;
|
||||
*sWonderCardData = (struct UnkStruct_203F3C8){};
|
||||
Free(sWonderCardData);
|
||||
sWonderCardData = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
s32 sub_801BB74(void)
|
||||
s32 FadeToWonderCardMenu(void)
|
||||
{
|
||||
if (gUnknown_02022C74 == NULL)
|
||||
if (sWonderCardData == NULL)
|
||||
return -1;
|
||||
switch(gUnknown_02022C74->unk_0174)
|
||||
switch(sWonderCardData->unk_0174)
|
||||
{
|
||||
case 0:
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
|
||||
@ -198,19 +199,19 @@ s32 sub_801BB74(void)
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
decompress_and_copy_tile_data_to_vram(2, gUnknown_02022C74->unk_0170->tiles, 0, 0x008, 0);
|
||||
gUnknown_02022C74->unk_0176[0] = AddWindow(&gUnknown_082F0E1C[0]);
|
||||
gUnknown_02022C74->unk_0176[1] = AddWindow(&gUnknown_082F0E1C[1]);
|
||||
gUnknown_02022C74->unk_0176[2] = AddWindow(&gUnknown_082F0E1C[2]);
|
||||
decompress_and_copy_tile_data_to_vram(2, sWonderCardData->unk_0170->tiles, 0, 0x008, 0);
|
||||
sWonderCardData->unk_0176[0] = AddWindow(&gUnknown_082F0E1C[0]);
|
||||
sWonderCardData->unk_0176[1] = AddWindow(&gUnknown_082F0E1C[1]);
|
||||
sWonderCardData->unk_0176[2] = AddWindow(&gUnknown_082F0E1C[2]);
|
||||
break;
|
||||
case 3:
|
||||
if (free_temp_tile_data_buffers_if_possible())
|
||||
return 0;
|
||||
LoadPalette(stdpal_get(1), 0x20, 0x20);
|
||||
gPaletteFade.bufferTransferDisabled = TRUE;
|
||||
LoadPalette(gUnknown_02022C74->unk_0170->pal, 0x10, 0x20);
|
||||
LZ77UnCompWram(gUnknown_02022C74->unk_0170->map, gUnknown_02022C74->buffer_045C);
|
||||
CopyRectToBgTilemapBufferRect(2, gUnknown_02022C74->buffer_045C, 0, 0, 30, 20, 0, 0, 30, 20, 1, 0x008, 0);
|
||||
LoadPalette(sWonderCardData->unk_0170->pal, 0x10, 0x20);
|
||||
LZ77UnCompWram(sWonderCardData->unk_0170->map, sWonderCardData->buffer_045C);
|
||||
CopyRectToBgTilemapBufferRect(2, sWonderCardData->buffer_045C, 0, 0, 30, 20, 0, 0, 30, 20, 1, 0x008, 0);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
break;
|
||||
case 4:
|
||||
@ -236,18 +237,18 @@ s32 sub_801BB74(void)
|
||||
default:
|
||||
if (UpdatePaletteFade())
|
||||
return 0;
|
||||
gUnknown_02022C74->unk_0174 = 0;
|
||||
sWonderCardData->unk_0174 = 0;
|
||||
return 1;
|
||||
}
|
||||
++gUnknown_02022C74->unk_0174;
|
||||
++sWonderCardData->unk_0174;
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 sub_801BDA4(bool32 flag)
|
||||
s32 FadeOutFromWonderCard(bool32 flag)
|
||||
{
|
||||
if (gUnknown_02022C74 == NULL)
|
||||
if (sWonderCardData == NULL)
|
||||
return -1;
|
||||
switch (gUnknown_02022C74->unk_0174)
|
||||
switch (sWonderCardData->unk_0174)
|
||||
{
|
||||
case 0:
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
|
||||
@ -267,26 +268,26 @@ s32 sub_801BDA4(bool32 flag)
|
||||
case 3:
|
||||
HideBg(1);
|
||||
HideBg(2);
|
||||
RemoveWindow(gUnknown_02022C74->unk_0176[2]);
|
||||
RemoveWindow(gUnknown_02022C74->unk_0176[1]);
|
||||
RemoveWindow(gUnknown_02022C74->unk_0176[0]);
|
||||
RemoveWindow(sWonderCardData->unk_0176[2]);
|
||||
RemoveWindow(sWonderCardData->unk_0176[1]);
|
||||
RemoveWindow(sWonderCardData->unk_0176[0]);
|
||||
break;
|
||||
case 4:
|
||||
sub_801C61C();
|
||||
FreeMonIconPalettes();
|
||||
break;
|
||||
case 5:
|
||||
sub_80186EC(gUnknown_02022C60, flag);
|
||||
PrintMysteryGiftOrEReaderTopMenu(gGiftIsFromEReader, flag);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
|
||||
break;
|
||||
default:
|
||||
if (UpdatePaletteFade())
|
||||
return 0;
|
||||
gUnknown_02022C74->unk_0174 = 0;
|
||||
sWonderCardData->unk_0174 = 0;
|
||||
return 1;
|
||||
}
|
||||
++gUnknown_02022C74->unk_0174;
|
||||
++sWonderCardData->unk_0174;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -296,59 +297,59 @@ void sub_801BEF8(void)
|
||||
u16 r6;
|
||||
u16 sp0[3] = {0, 0, 0};
|
||||
|
||||
memcpy(gUnknown_02022C74->unk_018B, gUnknown_02022C74->unk_0000.unk_0A, 40);
|
||||
gUnknown_02022C74->unk_018B[40] = EOS;
|
||||
memcpy(gUnknown_02022C74->unk_01B4, gUnknown_02022C74->unk_0000.unk_32, 40);
|
||||
gUnknown_02022C74->unk_01B4[40] = EOS;
|
||||
if (gUnknown_02022C74->unk_0000.unk_04 > 999999)
|
||||
gUnknown_02022C74->unk_0000.unk_04 = 999999;
|
||||
ConvertIntToDecimalStringN(gUnknown_02022C74->unk_01DD, gUnknown_02022C74->unk_0000.unk_04, STR_CONV_MODE_LEFT_ALIGN, 6);
|
||||
memcpy(sWonderCardData->unk_018B, sWonderCardData->unk_0000.unk_0A, 40);
|
||||
sWonderCardData->unk_018B[40] = EOS;
|
||||
memcpy(sWonderCardData->unk_01B4, sWonderCardData->unk_0000.unk_32, 40);
|
||||
sWonderCardData->unk_01B4[40] = EOS;
|
||||
if (sWonderCardData->unk_0000.unk_04 > 999999)
|
||||
sWonderCardData->unk_0000.unk_04 = 999999;
|
||||
ConvertIntToDecimalStringN(sWonderCardData->unk_01DD, sWonderCardData->unk_0000.unk_04, STR_CONV_MODE_LEFT_ALIGN, 6);
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
memcpy(gUnknown_02022C74->unk_01E4[i], gUnknown_02022C74->unk_0000.unk_5A[i], 40);
|
||||
gUnknown_02022C74->unk_01E4[i][40] = EOS;
|
||||
memcpy(sWonderCardData->unk_01E4[i], sWonderCardData->unk_0000.unk_5A[i], 40);
|
||||
sWonderCardData->unk_01E4[i][40] = EOS;
|
||||
}
|
||||
memcpy(gUnknown_02022C74->unk_0288, gUnknown_02022C74->unk_0000.unk_FA, 40);
|
||||
gUnknown_02022C74->unk_0288[40] = EOS;
|
||||
switch (gUnknown_02022C74->unk_0000.unk_08_0)
|
||||
memcpy(sWonderCardData->unk_0288, sWonderCardData->unk_0000.unk_FA, 40);
|
||||
sWonderCardData->unk_0288[40] = EOS;
|
||||
switch (sWonderCardData->unk_0000.unk_08_0)
|
||||
{
|
||||
case 0:
|
||||
memcpy(gUnknown_02022C74->unk_02B1, gUnknown_02022C74->unk_0000.unk_122, 40);
|
||||
gUnknown_02022C74->unk_02B1[40] = EOS;
|
||||
memcpy(sWonderCardData->unk_02B1, sWonderCardData->unk_0000.unk_122, 40);
|
||||
sWonderCardData->unk_02B1[40] = EOS;
|
||||
break;
|
||||
case 1:
|
||||
gUnknown_02022C74->unk_02B1[00] = EOS;
|
||||
sWonderCardData->unk_02B1[00] = EOS;
|
||||
break;
|
||||
case 2:
|
||||
gUnknown_02022C74->unk_02B1[00] = EOS;
|
||||
sp0[0] = gUnknown_02022C74->unk_014C.unk_00 < 999 ? gUnknown_02022C74->unk_014C.unk_00 : 999;
|
||||
sp0[1] = gUnknown_02022C74->unk_014C.unk_02 < 999 ? gUnknown_02022C74->unk_014C.unk_02 : 999;
|
||||
sp0[2] = gUnknown_02022C74->unk_014C.unk_04 < 999 ? gUnknown_02022C74->unk_014C.unk_04 : 999;
|
||||
sWonderCardData->unk_02B1[00] = EOS;
|
||||
sp0[0] = sWonderCardData->unk_014C.unk_00 < 999 ? sWonderCardData->unk_014C.unk_00 : 999;
|
||||
sp0[1] = sWonderCardData->unk_014C.unk_02 < 999 ? sWonderCardData->unk_014C.unk_02 : 999;
|
||||
sp0[2] = sWonderCardData->unk_014C.unk_04 < 999 ? sWonderCardData->unk_014C.unk_04 : 999;
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
memset(gUnknown_02022C74->unk_02DC[i].unk_42, EOS, 4);
|
||||
memset(gUnknown_02022C74->unk_02DC[i].unk_01, EOS, 41);
|
||||
memset(sWonderCardData->unk_02DC[i].unk_42, EOS, 4);
|
||||
memset(sWonderCardData->unk_02DC[i].unk_01, EOS, 41);
|
||||
}
|
||||
for (i = 0, r6 = 0; i < 40; i++)
|
||||
{
|
||||
if (gUnknown_02022C74->unk_0000.unk_122[i] != 0xF7)
|
||||
if (sWonderCardData->unk_0000.unk_122[i] != 0xF7)
|
||||
{
|
||||
gUnknown_02022C74->unk_02DC[gUnknown_02022C74->unk_0175].unk_01[r6] = gUnknown_02022C74->unk_0000.unk_122[i];
|
||||
sWonderCardData->unk_02DC[sWonderCardData->unk_0175].unk_01[r6] = sWonderCardData->unk_0000.unk_122[i];
|
||||
r6++;
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 r3 = gUnknown_02022C74->unk_0000.unk_122[i + 1];
|
||||
u8 r3 = sWonderCardData->unk_0000.unk_122[i + 1];
|
||||
if (r3 > 2)
|
||||
{
|
||||
i += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
ConvertIntToDecimalStringN(gUnknown_02022C74->unk_02DC[gUnknown_02022C74->unk_0175].unk_42, sp0[r3], STR_CONV_MODE_LEADING_ZEROS, 3);
|
||||
gUnknown_02022C74->unk_02DC[gUnknown_02022C74->unk_0175].unk_00 = gUnknown_02022C74->unk_0000.unk_122[i + 2];
|
||||
gUnknown_02022C74->unk_0175++;
|
||||
if (gUnknown_02022C74->unk_0175 > 7)
|
||||
ConvertIntToDecimalStringN(sWonderCardData->unk_02DC[sWonderCardData->unk_0175].unk_42, sp0[r3], STR_CONV_MODE_LEADING_ZEROS, 3);
|
||||
sWonderCardData->unk_02DC[sWonderCardData->unk_0175].unk_00 = sWonderCardData->unk_0000.unk_122[i + 2];
|
||||
sWonderCardData->unk_0175++;
|
||||
if (sWonderCardData->unk_0175 > 7)
|
||||
break;
|
||||
r6 = 0;
|
||||
i += 2;
|
||||
@ -361,7 +362,7 @@ void sub_801BEF8(void)
|
||||
void sub_801C178(u8 whichWindow)
|
||||
{
|
||||
s8 sp0C = 0;
|
||||
s32 windowId = gUnknown_02022C74->unk_0176[whichWindow];
|
||||
s32 windowId = sWonderCardData->unk_0176[whichWindow];
|
||||
PutWindowTilemap(windowId);
|
||||
FillWindowPixelBuffer(windowId, 0);
|
||||
switch (whichWindow)
|
||||
@ -369,42 +370,42 @@ void sub_801C178(u8 whichWindow)
|
||||
case 0:
|
||||
{
|
||||
s32 x;
|
||||
AddTextPrinterParameterized3(windowId, 3, 0, 1, gUnknown_082F0E10[gUnknown_02022C74->unk_0170->textPal1], 0, gUnknown_02022C74->unk_018B);
|
||||
x = 160 - GetStringWidth(3, gUnknown_02022C74->unk_01B4, GetFontAttribute(3, 2));
|
||||
AddTextPrinterParameterized3(windowId, 3, 0, 1, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_018B);
|
||||
x = 160 - GetStringWidth(3, sWonderCardData->unk_01B4, GetFontAttribute(3, 2));
|
||||
if (x < 0)
|
||||
x = 0;
|
||||
AddTextPrinterParameterized3(windowId, 3, x, 17, gUnknown_082F0E10[gUnknown_02022C74->unk_0170->textPal1], 0, gUnknown_02022C74->unk_01B4);
|
||||
if (gUnknown_02022C74->unk_0000.unk_04 != 0)
|
||||
AddTextPrinterParameterized3(windowId, 3, x, 17, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_01B4);
|
||||
if (sWonderCardData->unk_0000.unk_04 != 0)
|
||||
{
|
||||
AddTextPrinterParameterized3(windowId, 1, 166, 17, gUnknown_082F0E10[gUnknown_02022C74->unk_0170->textPal1], 0, gUnknown_02022C74->unk_01DD);
|
||||
AddTextPrinterParameterized3(windowId, 1, 166, 17, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal1], 0, sWonderCardData->unk_01DD);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
for (; sp0C < 4; sp0C++)
|
||||
{
|
||||
AddTextPrinterParameterized3(windowId, 3, 0, 16 * sp0C + 2, gUnknown_082F0E10[gUnknown_02022C74->unk_0170->textPal2], 0, gUnknown_02022C74->unk_01E4[sp0C]);
|
||||
AddTextPrinterParameterized3(windowId, 3, 0, 16 * sp0C + 2, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal2], 0, sWonderCardData->unk_01E4[sp0C]);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
AddTextPrinterParameterized3(windowId, 3, 0, gUnknown_082F0E18[gUnknown_02022C74->unk_0000.unk_08_0], gUnknown_082F0E10[gUnknown_02022C74->unk_0170->textPal3], 0, gUnknown_02022C74->unk_0288);
|
||||
if (gUnknown_02022C74->unk_0000.unk_08_0 != 2)
|
||||
AddTextPrinterParameterized3(windowId, 3, 0, gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0], gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_0288);
|
||||
if (sWonderCardData->unk_0000.unk_08_0 != 2)
|
||||
{
|
||||
AddTextPrinterParameterized3(windowId, 3, 0, 16 + gUnknown_082F0E18[gUnknown_02022C74->unk_0000.unk_08_0], gUnknown_082F0E10[gUnknown_02022C74->unk_0170->textPal3], 0, gUnknown_02022C74->unk_02B1);
|
||||
AddTextPrinterParameterized3(windowId, 3, 0, 16 + gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0], gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02B1);
|
||||
}
|
||||
else
|
||||
{
|
||||
s32 x = 0;
|
||||
s32 y = gUnknown_082F0E18[gUnknown_02022C74->unk_0000.unk_08_0] + 16;
|
||||
s32 y = gUnknown_082F0E18[sWonderCardData->unk_0000.unk_08_0] + 16;
|
||||
s32 spacing = GetFontAttribute(3, 2);
|
||||
for (; sp0C < gUnknown_02022C74->unk_0175; sp0C++)
|
||||
for (; sp0C < sWonderCardData->unk_0175; sp0C++)
|
||||
{
|
||||
AddTextPrinterParameterized3(windowId, 3, x, y, gUnknown_082F0E10[gUnknown_02022C74->unk_0170->textPal3], 0, gUnknown_02022C74->unk_02DC[sp0C].unk_01);
|
||||
if (gUnknown_02022C74->unk_02DC[sp0C].unk_42[0] != EOS)
|
||||
AddTextPrinterParameterized3(windowId, 3, x, y, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02DC[sp0C].unk_01);
|
||||
if (sWonderCardData->unk_02DC[sp0C].unk_42[0] != EOS)
|
||||
{
|
||||
x += GetStringWidth(3, gUnknown_02022C74->unk_02DC[sp0C].unk_01, spacing);
|
||||
AddTextPrinterParameterized3(windowId, 3, x, y, gUnknown_082F0E10[gUnknown_02022C74->unk_0170->textPal3], 0, gUnknown_02022C74->unk_02DC[sp0C].unk_42);
|
||||
x += GetStringWidth(3, gUnknown_02022C74->unk_02DC[sp0C].unk_42, spacing) + gUnknown_02022C74->unk_02DC[sp0C].unk_00;
|
||||
x += GetStringWidth(3, sWonderCardData->unk_02DC[sp0C].unk_01, spacing);
|
||||
AddTextPrinterParameterized3(windowId, 3, x, y, gUnknown_082F0E10[sWonderCardData->unk_0170->textPal3], 0, sWonderCardData->unk_02DC[sp0C].unk_42);
|
||||
x += GetStringWidth(3, sWonderCardData->unk_02DC[sp0C].unk_42, spacing) + sWonderCardData->unk_02DC[sp0C].unk_00;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -416,24 +417,24 @@ void sub_801C178(u8 whichWindow)
|
||||
void sub_801C4C0(void)
|
||||
{
|
||||
u8 r7 = 0;
|
||||
gUnknown_02022C74->unk_017C = 0xFF;
|
||||
if (gUnknown_02022C74->unk_014C.unk_06 != SPECIES_NONE)
|
||||
sWonderCardData->unk_017C = 0xFF;
|
||||
if (sWonderCardData->unk_014C.unk_06 != SPECIES_NONE)
|
||||
{
|
||||
gUnknown_02022C74->unk_017C = sub_80D2D78(sub_80D2E84(gUnknown_02022C74->unk_014C.unk_06), SpriteCallbackDummy, 0xDC, 0x14, 0, FALSE);
|
||||
gSprites[gUnknown_02022C74->unk_017C].oam.priority = 2;
|
||||
sWonderCardData->unk_017C = sub_80D2D78(sub_80D2E84(sWonderCardData->unk_014C.unk_06), SpriteCallbackDummy, 0xDC, 0x14, 0, FALSE);
|
||||
gSprites[sWonderCardData->unk_017C].oam.priority = 2;
|
||||
}
|
||||
if (gUnknown_02022C74->unk_0000.unk_09 != 0 && gUnknown_02022C74->unk_0000.unk_08_0 == 1)
|
||||
if (sWonderCardData->unk_0000.unk_09 != 0 && sWonderCardData->unk_0000.unk_08_0 == 1)
|
||||
{
|
||||
LoadCompressedSpriteSheetUsingHeap(&gUnknown_082F1D00);
|
||||
LoadSpritePalette(&gUnknown_082F1D08[gUnknown_02022C74->unk_0170->textPal4]);
|
||||
for (; r7 < gUnknown_02022C74->unk_0000.unk_09; r7++)
|
||||
LoadSpritePalette(&gUnknown_082F1D08[sWonderCardData->unk_0170->textPal4]);
|
||||
for (; r7 < sWonderCardData->unk_0000.unk_09; r7++)
|
||||
{
|
||||
gUnknown_02022C74->unk_017D[r7][0] = 0xFF;
|
||||
gUnknown_02022C74->unk_017D[r7][1] = 0xFF;
|
||||
gUnknown_02022C74->unk_017D[r7][0] = CreateSprite(&gUnknown_082F1D48, 0xd8 - 32 * r7, 0x90, 8);
|
||||
if (gUnknown_02022C74->unk_014C.unk_08[0][r7] != 0)
|
||||
sWonderCardData->unk_017D[r7][0] = 0xFF;
|
||||
sWonderCardData->unk_017D[r7][1] = 0xFF;
|
||||
sWonderCardData->unk_017D[r7][0] = CreateSprite(&gUnknown_082F1D48, 0xd8 - 32 * r7, 0x90, 8);
|
||||
if (sWonderCardData->unk_014C.unk_08[0][r7] != 0)
|
||||
{
|
||||
gUnknown_02022C74->unk_017D[r7][1] = sub_80D2D78(sub_80D2E84(gUnknown_02022C74->unk_014C.unk_08[0][r7]), SpriteCallbackDummy, 0xd8 - 32 * r7, 0x88, 0, 0);
|
||||
sWonderCardData->unk_017D[r7][1] = sub_80D2D78(sub_80D2E84(sWonderCardData->unk_014C.unk_08[0][r7]), SpriteCallbackDummy, 0xd8 - 32 * r7, 0x88, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -442,19 +443,19 @@ void sub_801C4C0(void)
|
||||
void sub_801C61C(void)
|
||||
{
|
||||
u8 r6 = 0;
|
||||
if (gUnknown_02022C74->unk_017C != 0xFF)
|
||||
sub_80D2EF8(&gSprites[gUnknown_02022C74->unk_017C]);
|
||||
if (gUnknown_02022C74->unk_0000.unk_09 != 0 && gUnknown_02022C74->unk_0000.unk_08_0 == 1)
|
||||
if (sWonderCardData->unk_017C != 0xFF)
|
||||
sub_80D2EF8(&gSprites[sWonderCardData->unk_017C]);
|
||||
if (sWonderCardData->unk_0000.unk_09 != 0 && sWonderCardData->unk_0000.unk_08_0 == 1)
|
||||
{
|
||||
for (; r6 < gUnknown_02022C74->unk_0000.unk_09; r6++)
|
||||
for (; r6 < sWonderCardData->unk_0000.unk_09; r6++)
|
||||
{
|
||||
if (gUnknown_02022C74->unk_017D[r6][0] != 0xFF)
|
||||
if (sWonderCardData->unk_017D[r6][0] != 0xFF)
|
||||
{
|
||||
DestroySprite(&gSprites[gUnknown_02022C74->unk_017D[r6][0]]);
|
||||
DestroySprite(&gSprites[sWonderCardData->unk_017D[r6][0]]);
|
||||
}
|
||||
if (gUnknown_02022C74->unk_017D[r6][1] != 0xFF)
|
||||
if (sWonderCardData->unk_017D[r6][1] != 0xFF)
|
||||
{
|
||||
sub_80D2EF8(&gSprites[gUnknown_02022C74->unk_017D[r6][1]]);
|
||||
sub_80D2EF8(&gSprites[sWonderCardData->unk_017D[r6][1]]);
|
||||
}
|
||||
}
|
||||
FreeSpriteTilesByTag(0x8000);
|
||||
@ -483,7 +484,7 @@ struct UnkStruct_203F3CC
|
||||
/*03a4*/ u8 buffer_03A4[0x1000];
|
||||
};
|
||||
|
||||
EWRAM_DATA struct UnkStruct_203F3CC * gUnknown_02022C78 = NULL;
|
||||
EWRAM_DATA struct UnkStruct_203F3CC * sWonderNewsData = NULL;
|
||||
|
||||
void sub_801CDCC(void);
|
||||
void sub_801CE7C(void);
|
||||
@ -541,37 +542,37 @@ const struct UnkStruct_8467FB8 gUnknown_082F24C8[] = {
|
||||
{1, 0, 0, 0, gWonderNewsGfx8, gWonderNewsTilemap8, gWonderNewsPal8}
|
||||
};
|
||||
|
||||
bool32 sub_801C6C8(const struct MEventBuffer_3120_Sub * a0)
|
||||
bool32 InitWonderNewsResources(const struct MEventBuffer_3120_Sub * a0)
|
||||
{
|
||||
if (a0 == NULL)
|
||||
return FALSE;
|
||||
gUnknown_02022C78 = AllocZeroed(sizeof(struct UnkStruct_203F3CC));
|
||||
if (gUnknown_02022C78 == NULL)
|
||||
sWonderNewsData = AllocZeroed(sizeof(struct UnkStruct_203F3CC));
|
||||
if (sWonderNewsData == NULL)
|
||||
return FALSE;
|
||||
gUnknown_02022C78->unk_0000 = *a0;
|
||||
if (gUnknown_02022C78->unk_0000.unk_03 >= ARRAY_COUNT(gUnknown_082F24C8))
|
||||
gUnknown_02022C78->unk_0000.unk_03 = 0;
|
||||
gUnknown_02022C78->unk_01BC = &gUnknown_082F24C8[gUnknown_02022C78->unk_0000.unk_03];
|
||||
gUnknown_02022C78->unk_01C1 = 0xFF;
|
||||
sWonderNewsData->unk_0000 = *a0;
|
||||
if (sWonderNewsData->unk_0000.unk_03 >= ARRAY_COUNT(gUnknown_082F24C8))
|
||||
sWonderNewsData->unk_0000.unk_03 = 0;
|
||||
sWonderNewsData->unk_01BC = &gUnknown_082F24C8[sWonderNewsData->unk_0000.unk_03];
|
||||
sWonderNewsData->unk_01C1 = 0xFF;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_801C72C(void)
|
||||
void DestroyWonderNewsResources(void)
|
||||
{
|
||||
if (gUnknown_02022C78 != NULL)
|
||||
if (sWonderNewsData != NULL)
|
||||
{
|
||||
*gUnknown_02022C78 = (struct UnkStruct_203F3CC){};
|
||||
Free(gUnknown_02022C78);
|
||||
gUnknown_02022C78 = NULL;
|
||||
*sWonderNewsData = (struct UnkStruct_203F3CC){};
|
||||
Free(sWonderNewsData);
|
||||
sWonderNewsData = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
s32 sub_801C758(void)
|
||||
s32 FadeToWonderNewsMenu(void)
|
||||
{
|
||||
if (gUnknown_02022C78 == NULL)
|
||||
if (sWonderNewsData == NULL)
|
||||
return -1;
|
||||
|
||||
switch (gUnknown_02022C78->unk_01C0_1)
|
||||
switch (sWonderNewsData->unk_01C0_1)
|
||||
{
|
||||
case 0:
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
|
||||
@ -598,19 +599,19 @@ s32 sub_801C758(void)
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
decompress_and_copy_tile_data_to_vram(3, gUnknown_02022C78->unk_01BC->tiles, 0, 8, 0);
|
||||
gUnknown_02022C78->unk_01C8[0] = AddWindow(&gUnknown_082F1DE8[0]);
|
||||
gUnknown_02022C78->unk_01C8[1] = AddWindow(&gUnknown_082F1DE8[1]);
|
||||
decompress_and_copy_tile_data_to_vram(3, sWonderNewsData->unk_01BC->tiles, 0, 8, 0);
|
||||
sWonderNewsData->unk_01C8[0] = AddWindow(&gUnknown_082F1DE8[0]);
|
||||
sWonderNewsData->unk_01C8[1] = AddWindow(&gUnknown_082F1DE8[1]);
|
||||
break;
|
||||
case 3:
|
||||
if (free_temp_tile_data_buffers_if_possible())
|
||||
return 0;
|
||||
LoadPalette(stdpal_get(1), 0x20, 0x20);
|
||||
gPaletteFade.bufferTransferDisabled = TRUE;
|
||||
LoadPalette(gUnknown_02022C78->unk_01BC->pal, 0x10, 0x20);
|
||||
LZ77UnCompWram(gUnknown_02022C78->unk_01BC->map, gUnknown_02022C78->buffer_03A4);
|
||||
CopyRectToBgTilemapBufferRect(1, gUnknown_02022C78->buffer_03A4, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0);
|
||||
CopyRectToBgTilemapBufferRect(3, gUnknown_02022C78->buffer_03A4, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0);
|
||||
LoadPalette(sWonderNewsData->unk_01BC->pal, 0x10, 0x20);
|
||||
LZ77UnCompWram(sWonderNewsData->unk_01BC->map, sWonderNewsData->buffer_03A4);
|
||||
CopyRectToBgTilemapBufferRect(1, sWonderNewsData->buffer_03A4, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0);
|
||||
CopyRectToBgTilemapBufferRect(3, sWonderNewsData->buffer_03A4, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
break;
|
||||
@ -627,26 +628,26 @@ s32 sub_801C758(void)
|
||||
ShowBg(2);
|
||||
ShowBg(3);
|
||||
gPaletteFade.bufferTransferDisabled = FALSE;
|
||||
gUnknown_02022C78->unk_01C1 = AddScrollIndicatorArrowPair(&gUnknown_02022C78->unk_0394, &gUnknown_02022C78->unk_01C6);
|
||||
sWonderNewsData->unk_01C1 = AddScrollIndicatorArrowPair(&sWonderNewsData->unk_0394, &sWonderNewsData->unk_01C6);
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
|
||||
UpdatePaletteFade();
|
||||
break;
|
||||
default:
|
||||
if (UpdatePaletteFade())
|
||||
return 0;
|
||||
gUnknown_02022C78->unk_01C0_1 = 0;
|
||||
sWonderNewsData->unk_01C0_1 = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
++gUnknown_02022C78->unk_01C0_1;
|
||||
++sWonderNewsData->unk_01C0_1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 sub_801CA50(bool32 flag)
|
||||
s32 FadeOutFromWonderNews(bool32 flag)
|
||||
{
|
||||
if (gUnknown_02022C78 == NULL)
|
||||
if (sWonderNewsData == NULL)
|
||||
return -1;
|
||||
switch (gUnknown_02022C78->unk_01C0_1)
|
||||
switch (sWonderNewsData->unk_01C0_1)
|
||||
{
|
||||
case 0:
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
|
||||
@ -674,21 +675,21 @@ s32 sub_801CA50(bool32 flag)
|
||||
case 3:
|
||||
HideBg(1);
|
||||
HideBg(2);
|
||||
RemoveWindow(gUnknown_02022C78->unk_01C8[1]);
|
||||
RemoveWindow(gUnknown_02022C78->unk_01C8[0]);
|
||||
RemoveWindow(sWonderNewsData->unk_01C8[1]);
|
||||
RemoveWindow(sWonderNewsData->unk_01C8[0]);
|
||||
break;
|
||||
case 4:
|
||||
ChangeBgY(2, 0, 0);
|
||||
ChangeBgY(3, 0, 0);
|
||||
if (gUnknown_02022C78->unk_01C1 != 0xFF)
|
||||
if (sWonderNewsData->unk_01C1 != 0xFF)
|
||||
{
|
||||
RemoveScrollIndicatorArrowPair(gUnknown_02022C78->unk_01C1);
|
||||
gUnknown_02022C78->unk_01C1 = 0xFF;
|
||||
RemoveScrollIndicatorArrowPair(sWonderNewsData->unk_01C1);
|
||||
sWonderNewsData->unk_01C1 = 0xFF;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
sub_80186EC(gUnknown_02022C60, flag);
|
||||
sub_8018798(3);
|
||||
PrintMysteryGiftOrEReaderTopMenu(gGiftIsFromEReader, flag);
|
||||
MG_DrawCheckerboardPattern(3);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
|
||||
@ -696,36 +697,36 @@ s32 sub_801CA50(bool32 flag)
|
||||
default:
|
||||
if (UpdatePaletteFade())
|
||||
return 0;
|
||||
gUnknown_02022C78->unk_01C0_1 = 0;
|
||||
sWonderNewsData->unk_01C0_1 = 0;
|
||||
return 1;
|
||||
}
|
||||
++gUnknown_02022C78->unk_01C0_1;
|
||||
++sWonderNewsData->unk_01C0_1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sub_801CC38(void)
|
||||
void MENews_RemoveScrollIndicatorArrowPair(void)
|
||||
{
|
||||
if (!gUnknown_02022C78->unk_01C0_0 && gUnknown_02022C78->unk_01C1 != 0xFF)
|
||||
if (!sWonderNewsData->unk_01C0_0 && sWonderNewsData->unk_01C1 != 0xFF)
|
||||
{
|
||||
RemoveScrollIndicatorArrowPair(gUnknown_02022C78->unk_01C1);
|
||||
gUnknown_02022C78->unk_01C1 = 0xFF;
|
||||
gUnknown_02022C78->unk_01C0_0 = TRUE;
|
||||
RemoveScrollIndicatorArrowPair(sWonderNewsData->unk_01C1);
|
||||
sWonderNewsData->unk_01C1 = 0xFF;
|
||||
sWonderNewsData->unk_01C0_0 = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void sub_801CC80(void)
|
||||
void MENews_AddScrollIndicatorArrowPair(void)
|
||||
{
|
||||
if (gUnknown_02022C78->unk_01C0_0)
|
||||
if (sWonderNewsData->unk_01C0_0)
|
||||
{
|
||||
gUnknown_02022C78->unk_01C1 = AddScrollIndicatorArrowPair(&gUnknown_02022C78->unk_0394, &gUnknown_02022C78->unk_01C6);
|
||||
gUnknown_02022C78->unk_01C0_0 = FALSE;
|
||||
sWonderNewsData->unk_01C1 = AddScrollIndicatorArrowPair(&sWonderNewsData->unk_0394, &sWonderNewsData->unk_01C6);
|
||||
sWonderNewsData->unk_01C0_0 = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
u8 sub_801CCD0(u16 input)
|
||||
u32 MENews_GetInput(u16 input)
|
||||
{
|
||||
if (gUnknown_02022C78->unk_01C2_0)
|
||||
if (sWonderNewsData->unk_01C2_0)
|
||||
{
|
||||
sub_801CFA4();
|
||||
return 0xFF;
|
||||
@ -737,26 +738,26 @@ u8 sub_801CCD0(u16 input)
|
||||
case B_BUTTON:
|
||||
return 1;
|
||||
case DPAD_UP:
|
||||
if (gUnknown_02022C78->unk_01C6 == 0)
|
||||
if (sWonderNewsData->unk_01C6 == 0)
|
||||
return 0xFF;
|
||||
if (gUnknown_02022C78->unk_01C0_0)
|
||||
if (sWonderNewsData->unk_01C0_0)
|
||||
return 0xFF;
|
||||
gUnknown_02022C78->unk_01C3_0 = FALSE;
|
||||
sWonderNewsData->unk_01C3_0 = FALSE;
|
||||
break;
|
||||
case DPAD_DOWN:
|
||||
if (gUnknown_02022C78->unk_01C6 == gUnknown_02022C78->unk_01C4)
|
||||
if (sWonderNewsData->unk_01C6 == sWonderNewsData->unk_01C4)
|
||||
return 0xFF;
|
||||
if (gUnknown_02022C78->unk_01C0_0)
|
||||
if (sWonderNewsData->unk_01C0_0)
|
||||
return 0xFF;
|
||||
gUnknown_02022C78->unk_01C3_0 = TRUE;
|
||||
sWonderNewsData->unk_01C3_0 = TRUE;
|
||||
break;
|
||||
default:
|
||||
return 0xFF;
|
||||
}
|
||||
gUnknown_02022C78->unk_01C2_0 = TRUE;
|
||||
gUnknown_02022C78->unk_01C2_1 = 2;
|
||||
gUnknown_02022C78->unk_01C3_1 = 0;
|
||||
if (gUnknown_02022C78->unk_01C3_0 == FALSE)
|
||||
sWonderNewsData->unk_01C2_0 = TRUE;
|
||||
sWonderNewsData->unk_01C2_1 = 2;
|
||||
sWonderNewsData->unk_01C3_1 = 0;
|
||||
if (sWonderNewsData->unk_01C3_0 == FALSE)
|
||||
return 2;
|
||||
else
|
||||
return 3;
|
||||
@ -765,44 +766,44 @@ u8 sub_801CCD0(u16 input)
|
||||
void sub_801CDCC(void)
|
||||
{
|
||||
u8 i = 0;
|
||||
memcpy(gUnknown_02022C78->unk_01CE, gUnknown_02022C78->unk_0000.unk_04, 40);
|
||||
gUnknown_02022C78->unk_01CE[40] = EOS;
|
||||
memcpy(sWonderNewsData->unk_01CE, sWonderNewsData->unk_0000.unk_04, 40);
|
||||
sWonderNewsData->unk_01CE[40] = EOS;
|
||||
for (; i < 10; ++i)
|
||||
{
|
||||
memcpy(gUnknown_02022C78->unk_01F7[i], gUnknown_02022C78->unk_0000.unk_2C[i], 40);
|
||||
gUnknown_02022C78->unk_01F7[i][40] = EOS;
|
||||
if (i > 7 && gUnknown_02022C78->unk_01F7[i][0] != EOS)
|
||||
++gUnknown_02022C78->unk_01C4;
|
||||
memcpy(sWonderNewsData->unk_01F7[i], sWonderNewsData->unk_0000.unk_2C[i], 40);
|
||||
sWonderNewsData->unk_01F7[i][40] = EOS;
|
||||
if (i > 7 && sWonderNewsData->unk_01F7[i][0] != EOS)
|
||||
++sWonderNewsData->unk_01C4;
|
||||
}
|
||||
gUnknown_02022C78->unk_0394 = gUnknown_082F1DF8;
|
||||
gUnknown_02022C78->unk_0394.fullyDownThreshold = gUnknown_02022C78->unk_01C4;
|
||||
sWonderNewsData->unk_0394 = gUnknown_082F1DF8;
|
||||
sWonderNewsData->unk_0394.fullyDownThreshold = sWonderNewsData->unk_01C4;
|
||||
}
|
||||
|
||||
void sub_801CE7C(void)
|
||||
{
|
||||
u8 i = 0;
|
||||
s32 x;
|
||||
PutWindowTilemap(gUnknown_02022C78->unk_01C8[0]);
|
||||
PutWindowTilemap(gUnknown_02022C78->unk_01C8[1]);
|
||||
FillWindowPixelBuffer(gUnknown_02022C78->unk_01C8[0], 0);
|
||||
FillWindowPixelBuffer(gUnknown_02022C78->unk_01C8[1], 0);
|
||||
x = (0xe0 - GetStringWidth(3, gUnknown_02022C78->unk_01CE, GetFontAttribute(3, 2))) / 2;
|
||||
PutWindowTilemap(sWonderNewsData->unk_01C8[0]);
|
||||
PutWindowTilemap(sWonderNewsData->unk_01C8[1]);
|
||||
FillWindowPixelBuffer(sWonderNewsData->unk_01C8[0], 0);
|
||||
FillWindowPixelBuffer(sWonderNewsData->unk_01C8[1], 0);
|
||||
x = (0xe0 - GetStringWidth(3, sWonderNewsData->unk_01CE, GetFontAttribute(3, 2))) / 2;
|
||||
if (x < 0)
|
||||
x = 0;
|
||||
AddTextPrinterParameterized3(gUnknown_02022C78->unk_01C8[0], 3, x, 6, gUnknown_082F1DE0[gUnknown_02022C78->unk_01BC->textPal1], 0, gUnknown_02022C78->unk_01CE);
|
||||
AddTextPrinterParameterized3(sWonderNewsData->unk_01C8[0], 3, x, 6, gUnknown_082F1DE0[sWonderNewsData->unk_01BC->textPal1], 0, sWonderNewsData->unk_01CE);
|
||||
for (; i < 10; ++i)
|
||||
{
|
||||
AddTextPrinterParameterized3(gUnknown_02022C78->unk_01C8[1], 3, 0, 16 * i + 2, gUnknown_082F1DE0[gUnknown_02022C78->unk_01BC->textPal2], 0, gUnknown_02022C78->unk_01F7[i]);
|
||||
AddTextPrinterParameterized3(sWonderNewsData->unk_01C8[1], 3, 0, 16 * i + 2, gUnknown_082F1DE0[sWonderNewsData->unk_01BC->textPal2], 0, sWonderNewsData->unk_01F7[i]);
|
||||
}
|
||||
CopyWindowToVram(gUnknown_02022C78->unk_01C8[0], 3);
|
||||
CopyWindowToVram(gUnknown_02022C78->unk_01C8[1], 3);
|
||||
CopyWindowToVram(sWonderNewsData->unk_01C8[0], 3);
|
||||
CopyWindowToVram(sWonderNewsData->unk_01C8[1], 3);
|
||||
}
|
||||
|
||||
void sub_801CFA4(void)
|
||||
{
|
||||
u16 r4 = gUnknown_02022C78->unk_01C2_1;
|
||||
u16 r4 = sWonderNewsData->unk_01C2_1;
|
||||
r4 <<= 8;
|
||||
if (gUnknown_02022C78->unk_01C3_0)
|
||||
if (sWonderNewsData->unk_01C3_0)
|
||||
{
|
||||
ChangeBgY(2, r4, 1);
|
||||
ChangeBgY(3, r4, 1);
|
||||
@ -812,14 +813,14 @@ void sub_801CFA4(void)
|
||||
ChangeBgY(2, r4, 2);
|
||||
ChangeBgY(3, r4, 2);
|
||||
}
|
||||
gUnknown_02022C78->unk_01C3_1 += gUnknown_02022C78->unk_01C2_1;
|
||||
if (gUnknown_02022C78->unk_01C3_1 > 15)
|
||||
sWonderNewsData->unk_01C3_1 += sWonderNewsData->unk_01C2_1;
|
||||
if (sWonderNewsData->unk_01C3_1 > 15)
|
||||
{
|
||||
if (gUnknown_02022C78->unk_01C3_0)
|
||||
++gUnknown_02022C78->unk_01C6;
|
||||
if (sWonderNewsData->unk_01C3_0)
|
||||
++sWonderNewsData->unk_01C6;
|
||||
else
|
||||
--gUnknown_02022C78->unk_01C6;
|
||||
gUnknown_02022C78->unk_01C2_0 = FALSE;
|
||||
gUnknown_02022C78->unk_01C3_1 = 0;
|
||||
--sWonderNewsData->unk_01C6;
|
||||
sWonderNewsData->unk_01C2_0 = FALSE;
|
||||
sWonderNewsData->unk_01C3_1 = 0;
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ static u32 sub_801DD44(struct MysteryEventStruct *);
|
||||
static void sub_801DCD8(struct MysteryEventStruct *);
|
||||
static void sub_801DCCC(struct MysteryEventStruct *);
|
||||
|
||||
void sub_801DB68(u32 a0)
|
||||
void GenerateRandomNews(u32 a0)
|
||||
{
|
||||
struct MysteryEventStruct *r5 = sub_801B044();
|
||||
|
||||
@ -59,7 +59,7 @@ u16 sub_801DC20(void)
|
||||
struct MysteryEventStruct *r4 = sub_801B044();
|
||||
u16 r5;
|
||||
|
||||
if (!IsMysteryEventEnabled() || !sub_801B0CC())
|
||||
if (!IsMysteryEventEnabled() || !ValidateReceivedWonderNews())
|
||||
return 0;
|
||||
|
||||
r5 = sub_801DD44(r4);
|
||||
|
@ -94,7 +94,7 @@ void CB2_InitMysteryEventMenu(void)
|
||||
|
||||
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14);
|
||||
LoadUserWindowBorderGfx(0, 1u, 0xD0u);
|
||||
sub_81978B0(0xE0);
|
||||
Menu_LoadStdPalAt(0xE0);
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
CreateTask(Task_DestroySelf, 0);
|
||||
|
1703
src/mystery_gift.c
Normal file
1703
src/mystery_gift.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -1906,52 +1906,43 @@ static const struct NamingScreenTemplate *const sNamingScreenTemplates[] =
|
||||
const struct OamData gOamData_858BFEC =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 0,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(8x8),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(8x8),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
const struct OamData gOamData_858BFF4 =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 0,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(16x16),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(16x16),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
const struct OamData gOamData_858BFFC =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 0,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(32x16),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(32x16),
|
||||
.tileNum = 0,
|
||||
.priority = 0,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
static const struct Subsprite gUnknown_0858C004[] =
|
||||
@ -2203,3 +2194,5 @@ static const struct SpritePalette gUnknown_0858C230[] =
|
||||
{gNamingScreenMenu_Pal + 0x40, 0x0007},
|
||||
{NULL}
|
||||
};
|
||||
|
||||
|
||||
|
@ -49,7 +49,7 @@
|
||||
#include "pokemon_summary_screen.h"
|
||||
#include "region_map.h"
|
||||
#include "reshow_battle_screen.h"
|
||||
#include "rom_8011DC0.h"
|
||||
#include "union_room.h"
|
||||
#include "scanline_effect.h"
|
||||
#include "script.h"
|
||||
#include "sound.h"
|
||||
|
@ -23,6 +23,19 @@
|
||||
#include "constants/species.h"
|
||||
#include "constants/vars.h"
|
||||
|
||||
#define AREA_SCREEN_WIDTH 32
|
||||
#define AREA_SCREEN_HEIGHT 20
|
||||
|
||||
#define GLOW_TILE_FULL 0xFFFF
|
||||
#define GLOW_TILE_LEFT (1 << 0)
|
||||
#define GLOW_TILE_RIGHT (1 << 1)
|
||||
#define GLOW_TILE_TOP (1 << 2)
|
||||
#define GLOW_TILE_BOTTOM (1 << 3)
|
||||
#define GLOW_TILE_BOTTOM_RIGHT (1 << 4)
|
||||
#define GLOW_TILE_TOP_RIGHT (1 << 5)
|
||||
#define GLOW_TILE_BOTTOM_LEFT (1 << 6)
|
||||
#define GLOW_TILE_TOP_LEFT (1 << 7)
|
||||
|
||||
struct PokeDexAreaScreenMapIdentity
|
||||
{
|
||||
u8 mapGroup;
|
||||
@ -107,24 +120,114 @@ static const u16 sLandmarkData[][2] =
|
||||
{MAPSEC_NONE}
|
||||
};
|
||||
|
||||
static const u8 sAreaGlowTilemapMapping[] =
|
||||
{
|
||||
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x11, 0x20, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x12, 0x21, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x13, 0x22, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x14, 0x01, 0x23, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x15, 0x20, 0x23, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x16, 0x21, 0x23, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x17, 0x22, 0x23, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x18, 0x01, 0x24, 0x03, 0x04, 0x05, 0x06, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x19, 0x20, 0x24, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x1a, 0x21, 0x24, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x1b, 0x22, 0x24, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x1c, 0x01, 0x25, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x1d, 0x20, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x1e, 0x21, 0x25, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
0x1f, 0x22, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
// Only some parts of this array are acutally used, because corner flags that overlap
|
||||
// with edge flags are cancelled out before lookup. For example, GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_RIGHT
|
||||
// will never be read.
|
||||
//
|
||||
// The rest of the bytes seem to be old data from before the cancellation was implemented.
|
||||
// Most of them line up as you would expect ([BOTTOM_RIGHT | RIGHT] has the same value as [RIGHT]).
|
||||
//
|
||||
// Any unreachable entries are simply listed in order, without the fancy "[FLAGS] = 0xXX" notation.
|
||||
static const u8 sAreaGlowTilemapMapping[] = {
|
||||
[0] = 0x00,
|
||||
[GLOW_TILE_LEFT] = 0x01,
|
||||
[GLOW_TILE_RIGHT] = 0x02,
|
||||
[GLOW_TILE_RIGHT | GLOW_TILE_LEFT] = 0x03,
|
||||
[GLOW_TILE_TOP] = 0x04,
|
||||
[GLOW_TILE_TOP | GLOW_TILE_LEFT] = 0x05,
|
||||
[GLOW_TILE_TOP | GLOW_TILE_RIGHT] = 0x06,
|
||||
[GLOW_TILE_TOP | GLOW_TILE_RIGHT | GLOW_TILE_LEFT] = 0x07,
|
||||
[GLOW_TILE_BOTTOM] = 0x08,
|
||||
[GLOW_TILE_BOTTOM | GLOW_TILE_LEFT] = 0x09,
|
||||
[GLOW_TILE_BOTTOM | GLOW_TILE_RIGHT] = 0x0a,
|
||||
[GLOW_TILE_BOTTOM | GLOW_TILE_RIGHT | GLOW_TILE_LEFT] = 0x0b,
|
||||
[GLOW_TILE_BOTTOM | GLOW_TILE_TOP] = 0x0c,
|
||||
[GLOW_TILE_BOTTOM | GLOW_TILE_TOP | GLOW_TILE_LEFT] = 0x0d,
|
||||
[GLOW_TILE_BOTTOM | GLOW_TILE_TOP | GLOW_TILE_RIGHT] = 0x0e,
|
||||
[GLOW_TILE_BOTTOM | GLOW_TILE_TOP | GLOW_TILE_RIGHT | GLOW_TILE_LEFT] = 0x0f,
|
||||
[GLOW_TILE_BOTTOM_RIGHT] = 0x11,
|
||||
[GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_LEFT] = 0x20,
|
||||
0x02, 0x03,
|
||||
[GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_TOP] = 0x27,
|
||||
[GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_TOP | GLOW_TILE_LEFT] = 0x2d,
|
||||
0x06, 0x07, 0x08, 0x09, 0x0a,
|
||||
0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
[GLOW_TILE_TOP_RIGHT] = 0x12,
|
||||
[GLOW_TILE_TOP_RIGHT | GLOW_TILE_LEFT] = 0x21,
|
||||
0x02, 0x03, 0x04, 0x05, 0x06,
|
||||
0x07,
|
||||
[GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM] = 0x2a,
|
||||
[GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM | GLOW_TILE_LEFT] = 0x2e,
|
||||
0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
|
||||
0x0f,
|
||||
[GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT] = 0x13,
|
||||
[GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_LEFT] = 0x22,
|
||||
0x02, 0x03, 0x27, 0x2d, 0x06,
|
||||
0x07, 0x2a, 0x2e, 0x0a, 0x0b,
|
||||
0x0c, 0x0d, 0x0e, 0x0f,
|
||||
[GLOW_TILE_BOTTOM_LEFT] = 0x14,
|
||||
0x01,
|
||||
[GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_RIGHT] = 0x23,
|
||||
0x03,
|
||||
[GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP] = 0x26,
|
||||
0x05,
|
||||
[GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP | GLOW_TILE_RIGHT] = 0x2c,
|
||||
0x07, 0x08, 0x09, 0x0a, 0x0b,
|
||||
0x0c, 0x0d, 0x0e, 0x0f,
|
||||
[GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_BOTTOM_RIGHT] = 0x15,
|
||||
0x20, 0x23, 0x03,
|
||||
[GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_TOP] = 0x28,
|
||||
0x2d, 0x2c, 0x07, 0x08, 0x09,
|
||||
0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
|
||||
0x0f,
|
||||
[GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_RIGHT] = 0x16,
|
||||
0x21, 0x23, 0x03, 0x26, 0x05,
|
||||
0x2c, 0x07, 0x2a, 0x2e, 0x0a,
|
||||
0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
[GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT] = 0x17,
|
||||
0x22, 0x23, 0x03, 0x28, 0x2d,
|
||||
0x2c, 0x07, 0x2a, 0x2e, 0x0a,
|
||||
0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
[GLOW_TILE_TOP_LEFT] = 0x18,
|
||||
0x01,
|
||||
[GLOW_TILE_TOP_LEFT | GLOW_TILE_RIGHT] = 0x24,
|
||||
0x03, 0x04, 0x05, 0x06, 0x07,
|
||||
[GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM] = 0x29,
|
||||
0x09,
|
||||
[GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM | GLOW_TILE_RIGHT] = 0x2f,
|
||||
0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
[GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_RIGHT] = 0x19,
|
||||
0x20, 0x24, 0x03, 0x27, 0x2d,
|
||||
0x06, 0x07, 0x29, 0x09, 0x2f,
|
||||
0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
[GLOW_TILE_TOP_LEFT | GLOW_TILE_TOP_RIGHT] = 0x1a,
|
||||
0x21, 0x24, 0x03, 0x04, 0x05,
|
||||
0x06, 0x07,
|
||||
[GLOW_TILE_TOP_LEFT | GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM] = 0x2b,
|
||||
0x2e, 0x2f, 0x0b, 0x0c, 0x0d,
|
||||
0x0e, 0x0f,
|
||||
[GLOW_TILE_TOP_LEFT | GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT] = 0x1b,
|
||||
0x22, 0x24, 0x03, 0x27, 0x2d,
|
||||
0x06, 0x07, 0x2b, 0x2e, 0x2f,
|
||||
0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
[GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT] = 0x1c,
|
||||
0x01,
|
||||
[GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_RIGHT] = 0x25,
|
||||
0x03, 0x26, 0x05, 0x2c, 0x07,
|
||||
0x29, 0x09, 0x2f, 0x0b, 0x0c,
|
||||
0x0d, 0x0e, 0x0f,
|
||||
[GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_BOTTOM_RIGHT] = 0x1d,
|
||||
0x20, 0x25, 0x03, 0x28, 0x2d,
|
||||
0x2c, 0x07, 0x29, 0x09, 0x2f,
|
||||
0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
[GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_RIGHT] = 0x1e,
|
||||
0x21, 0x25, 0x03, 0x26, 0x05,
|
||||
0x2c, 0x07, 0x2b, 0x2e, 0x2f,
|
||||
0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
[GLOW_TILE_TOP_LEFT | GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_RIGHT | GLOW_TILE_BOTTOM_RIGHT] = 0x1f,
|
||||
0x22, 0x25, 0x03, 0x28, 0x2d,
|
||||
0x2c, 0x07, 0x2b, 0x2e, 0x2f,
|
||||
0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
|
||||
};
|
||||
|
||||
static const struct UnkStruct_1C4D70 sUnknown_085B4018 =
|
||||
@ -255,11 +358,11 @@ static void FindMapsWithMon(u16 species)
|
||||
{
|
||||
switch (sFeebasData[i][1])
|
||||
{
|
||||
case MAP_GROUP(PETALBURG_CITY):
|
||||
case MAP_GROUP_OVERWORLD_MONS:
|
||||
SetAreaHasMon(sFeebasData[i][1], sFeebasData[i][2]);
|
||||
break;
|
||||
case MAP_GROUP(METEOR_FALLS_1F_1R):
|
||||
case MAP_GROUP(SAFARI_ZONE_NORTHWEST):
|
||||
case MAP_GROUP_SPECIAL_MONS_1:
|
||||
case MAP_GROUP_SPECIAL_MONS_2:
|
||||
SetSpecialMapHasMon(sFeebasData[i][1], sFeebasData[i][2]);
|
||||
break;
|
||||
}
|
||||
@ -268,15 +371,15 @@ static void FindMapsWithMon(u16 species)
|
||||
|
||||
for (i = 0; gWildMonHeaders[i].mapGroup != 0xFF; i++)
|
||||
{
|
||||
if (MapHasMon(gWildMonHeaders + i, species))
|
||||
if (MapHasMon(&gWildMonHeaders[i], species))
|
||||
{
|
||||
switch (gWildMonHeaders[i].mapGroup)
|
||||
{
|
||||
case MAP_GROUP(PETALBURG_CITY):
|
||||
case MAP_GROUP_OVERWORLD_MONS:
|
||||
SetAreaHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum);
|
||||
break;
|
||||
case MAP_GROUP(METEOR_FALLS_1F_1R):
|
||||
case MAP_GROUP(SAFARI_ZONE_NORTHWEST):
|
||||
case MAP_GROUP_SPECIAL_MONS_1:
|
||||
case MAP_GROUP_SPECIAL_MONS_2:
|
||||
SetSpecialMapHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum);
|
||||
break;
|
||||
}
|
||||
@ -390,18 +493,18 @@ static void BuildAreaGlowTilemap(void)
|
||||
u16 i, y, x, j;
|
||||
u16 val;
|
||||
|
||||
for (i = 0; i < 0x280; i++)
|
||||
for (i = 0; i < ARRAY_COUNT(sPokedexAreaScreen->areaGlowTilemap); i++)
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] = 0;
|
||||
|
||||
for (i = 0; i < sPokedexAreaScreen->numOverworldAreas; i++)
|
||||
{
|
||||
j = 0;
|
||||
for (y = 0; y < 20; y++)
|
||||
for (y = 0; y < AREA_SCREEN_HEIGHT; y++)
|
||||
{
|
||||
for (x = 0; x < 32; x++)
|
||||
for (x = 0; x < AREA_SCREEN_WIDTH; x++)
|
||||
{
|
||||
if (GetRegionMapSectionIdAt(x, y) == sPokedexAreaScreen->overworldAreasWithMons[i].regionMapSectionId)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j] = 0xFFFF;
|
||||
sPokedexAreaScreen->areaGlowTilemap[j] = GLOW_TILE_FULL;
|
||||
|
||||
j++;
|
||||
}
|
||||
@ -409,51 +512,58 @@ static void BuildAreaGlowTilemap(void)
|
||||
}
|
||||
|
||||
j = 0;
|
||||
for (y = 0; y < 20; y++)
|
||||
for (y = 0; y < AREA_SCREEN_HEIGHT; y++)
|
||||
{
|
||||
for (x = 0; x < 32; x++)
|
||||
for (x = 0; x < AREA_SCREEN_WIDTH; x++)
|
||||
{
|
||||
if (sPokedexAreaScreen->areaGlowTilemap[j] == 0xFFFF)
|
||||
if (sPokedexAreaScreen->areaGlowTilemap[j] == GLOW_TILE_FULL)
|
||||
{
|
||||
if (x != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 1] != 0xFFFF)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j - 1] |= 0x02;
|
||||
if (x != 31 && sPokedexAreaScreen->areaGlowTilemap[j + 1] != 0xFFFF)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j + 1] |= 0x01;
|
||||
if (y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 32] != 0xFFFF)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j - 32] |= 0x08;
|
||||
if (y != 19 && sPokedexAreaScreen->areaGlowTilemap[j + 32] != 0xFFFF)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j + 32] |= 0x04;
|
||||
if (x != 0 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 33] != 0xFFFF)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j - 33] |= 0x10;
|
||||
if (x != 31 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 31] != 0xFFFF)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j - 31] |= 0x40;
|
||||
if (x != 0 && y != 19 && sPokedexAreaScreen->areaGlowTilemap[j + 31] != 0xFFFF)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j + 31] |= 0x20;
|
||||
if (x != 31 && y != 19 && sPokedexAreaScreen->areaGlowTilemap[j + 33] != 0xFFFF)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j + 33] |= 0x80;
|
||||
// The "tile != GLOW_TILE_FULL" check is pointless in all of these conditionals,
|
||||
// since there's no harm in OR'ing 0xFFFF with anything else.
|
||||
|
||||
// Edges
|
||||
if (x != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 1] != GLOW_TILE_FULL)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j - 1] |= GLOW_TILE_RIGHT;
|
||||
if (x != AREA_SCREEN_WIDTH - 1 && sPokedexAreaScreen->areaGlowTilemap[j + 1] != GLOW_TILE_FULL)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j + 1] |= GLOW_TILE_LEFT;
|
||||
if (y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH] != GLOW_TILE_FULL)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH] |= GLOW_TILE_BOTTOM;
|
||||
if (y != AREA_SCREEN_HEIGHT - 1 && sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH] != GLOW_TILE_FULL)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH] |= GLOW_TILE_TOP;
|
||||
|
||||
// Diagonals
|
||||
if (x != 0 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH - 1] != GLOW_TILE_FULL)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH - 1] |= GLOW_TILE_BOTTOM_RIGHT;
|
||||
if (x != AREA_SCREEN_WIDTH - 1 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH + 1] != GLOW_TILE_FULL)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j - AREA_SCREEN_WIDTH + 1] |= GLOW_TILE_BOTTOM_LEFT;
|
||||
if (x != 0 && y != AREA_SCREEN_HEIGHT - 1 && sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH - 1] != GLOW_TILE_FULL)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH - 1] |= GLOW_TILE_TOP_RIGHT;
|
||||
if (x != AREA_SCREEN_WIDTH - 1 && y != AREA_SCREEN_HEIGHT - 1 && sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH + 1] != GLOW_TILE_FULL)
|
||||
sPokedexAreaScreen->areaGlowTilemap[j + AREA_SCREEN_WIDTH + 1] |= GLOW_TILE_TOP_LEFT;
|
||||
}
|
||||
|
||||
j++;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < 0x280; i++)
|
||||
for (i = 0; i < ARRAY_COUNT(sPokedexAreaScreen->areaGlowTilemap); i++)
|
||||
{
|
||||
if (sPokedexAreaScreen->areaGlowTilemap[i] == 0xFFFF)
|
||||
if (sPokedexAreaScreen->areaGlowTilemap[i] == GLOW_TILE_FULL)
|
||||
{
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] = 0x10;
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] |= 0xA000;
|
||||
}
|
||||
else if (sPokedexAreaScreen->areaGlowTilemap[i])
|
||||
{
|
||||
if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x02)
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFFCF;
|
||||
if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x01)
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFF3F;
|
||||
if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x08)
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFFAF;
|
||||
if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x04)
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFF5F;
|
||||
// Get rid of overlapping flags
|
||||
if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_TILE_RIGHT)
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_TILE_BOTTOM_RIGHT | GLOW_TILE_TOP_RIGHT);
|
||||
if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_TILE_LEFT)
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_TOP_LEFT);
|
||||
if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_TILE_BOTTOM)
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_TILE_BOTTOM_LEFT | GLOW_TILE_BOTTOM_RIGHT);
|
||||
if (sPokedexAreaScreen->areaGlowTilemap[i] & GLOW_TILE_TOP)
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] &= ~(GLOW_TILE_TOP_LEFT | GLOW_TILE_TOP_RIGHT);
|
||||
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] = sAreaGlowTilemapMapping[sPokedexAreaScreen->areaGlowTilemap[i]];
|
||||
sPokedexAreaScreen->areaGlowTilemap[i] |= 0xA000;
|
||||
|
8
src/pokedex_cry_screen.c
Executable file → Normal file
8
src/pokedex_cry_screen.c
Executable file → Normal file
@ -169,9 +169,14 @@ const struct OamData gOamData_85B8C60 =
|
||||
{
|
||||
.y = 160,
|
||||
.affineMode = ST_OAM_AFFINE_NORMAL,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(64x64),
|
||||
.x = 0,
|
||||
.size = SPRITE_SIZE(64x64),
|
||||
.priority = 1
|
||||
.tileNum = 0,
|
||||
.priority = 1,
|
||||
.paletteNum = 0,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gUnknown_085B8C68 =
|
||||
@ -521,3 +526,4 @@ static void sub_8145B24(s8 a0)
|
||||
sCryVolumeMeter->unk1 = r2;
|
||||
sCryVolumeMeter->unk2 = 5;
|
||||
}
|
||||
|
||||
|
358
src/pokemon.c
358
src/pokemon.c
@ -1810,419 +1810,63 @@ static const u8 sMonFrontAnimIdsTable[] =
|
||||
[SPECIES_CHIMECHO - 1] = 0x1d,
|
||||
};
|
||||
|
||||
static const u8 sMonAnimationDelayTable[] =
|
||||
static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] =
|
||||
{
|
||||
[SPECIES_BULBASAUR - 1] = 0x00,
|
||||
[SPECIES_IVYSAUR - 1] = 0x00,
|
||||
[SPECIES_VENUSAUR - 1] = 0x00,
|
||||
[SPECIES_CHARMANDER - 1] = 0x00,
|
||||
[SPECIES_CHARMELEON - 1] = 0x00,
|
||||
[SPECIES_CHARIZARD - 1] = 0x00,
|
||||
[SPECIES_SQUIRTLE - 1] = 0x00,
|
||||
[SPECIES_WARTORTLE - 1] = 0x00,
|
||||
[SPECIES_BLASTOISE - 1] = 0x32,
|
||||
[SPECIES_CATERPIE - 1] = 0x00,
|
||||
[SPECIES_METAPOD - 1] = 0x00,
|
||||
[SPECIES_BUTTERFREE - 1] = 0x00,
|
||||
[SPECIES_WEEDLE - 1] = 0x0a,
|
||||
[SPECIES_KAKUNA - 1] = 0x14,
|
||||
[SPECIES_BEEDRILL - 1] = 0x23,
|
||||
[SPECIES_PIDGEY - 1] = 0x00,
|
||||
[SPECIES_PIDGEOTTO - 1] = 0x19,
|
||||
[SPECIES_PIDGEOT - 1] = 0x00,
|
||||
[SPECIES_RATTATA - 1] = 0x00,
|
||||
[SPECIES_RATICATE - 1] = 0x00,
|
||||
[SPECIES_SPEAROW - 1] = 0x00,
|
||||
[SPECIES_FEAROW - 1] = 0x02,
|
||||
[SPECIES_EKANS - 1] = 0x1e,
|
||||
[SPECIES_ARBOK - 1] = 0x00,
|
||||
[SPECIES_PIKACHU - 1] = 0x00,
|
||||
[SPECIES_RAICHU - 1] = 0x00,
|
||||
[SPECIES_SANDSHREW - 1] = 0x00,
|
||||
[SPECIES_SANDSLASH - 1] = 0x00,
|
||||
[SPECIES_NIDORAN_F - 1] = 0x1c,
|
||||
[SPECIES_NIDORINA - 1] = 0x00,
|
||||
[SPECIES_NIDOQUEEN - 1] = 0x00,
|
||||
[SPECIES_NIDORAN_M - 1] = 0x00,
|
||||
[SPECIES_NIDORINO - 1] = 0x00,
|
||||
[SPECIES_NIDOKING - 1] = 0x19,
|
||||
[SPECIES_CLEFAIRY - 1] = 0x00,
|
||||
[SPECIES_CLEFABLE - 1] = 0x00,
|
||||
[SPECIES_VULPIX - 1] = 0x00,
|
||||
[SPECIES_NINETALES - 1] = 0x00,
|
||||
[SPECIES_JIGGLYPUFF - 1] = 0x00,
|
||||
[SPECIES_WIGGLYTUFF - 1] = 0x00,
|
||||
[SPECIES_ZUBAT - 1] = 0x00,
|
||||
[SPECIES_GOLBAT - 1] = 0x00,
|
||||
[SPECIES_ODDISH - 1] = 0x00,
|
||||
[SPECIES_GLOOM - 1] = 0x00,
|
||||
[SPECIES_VILEPLUME - 1] = 0x00,
|
||||
[SPECIES_PARAS - 1] = 0x0a,
|
||||
[SPECIES_PARASECT - 1] = 0x2d,
|
||||
[SPECIES_VENONAT - 1] = 0x14,
|
||||
[SPECIES_VENOMOTH - 1] = 0x00,
|
||||
[SPECIES_DIGLETT - 1] = 0x19,
|
||||
[SPECIES_DUGTRIO - 1] = 0x23,
|
||||
[SPECIES_MEOWTH - 1] = 0x28,
|
||||
[SPECIES_PERSIAN - 1] = 0x14,
|
||||
[SPECIES_PSYDUCK - 1] = 0x00,
|
||||
[SPECIES_GOLDUCK - 1] = 0x00,
|
||||
[SPECIES_MANKEY - 1] = 0x14,
|
||||
[SPECIES_PRIMEAPE - 1] = 0x00,
|
||||
[SPECIES_GROWLITHE - 1] = 0x1e,
|
||||
[SPECIES_ARCANINE - 1] = 0x28,
|
||||
[SPECIES_POLIWAG - 1] = 0x00,
|
||||
[SPECIES_POLIWHIRL - 1] = 0x05,
|
||||
[SPECIES_POLIWRATH - 1] = 0x00,
|
||||
[SPECIES_ABRA - 1] = 0x00,
|
||||
[SPECIES_KADABRA - 1] = 0x00,
|
||||
[SPECIES_ALAKAZAM - 1] = 0x00,
|
||||
[SPECIES_MACHOP - 1] = 0x00,
|
||||
[SPECIES_MACHOKE - 1] = 0x00,
|
||||
[SPECIES_MACHAMP - 1] = 0x00,
|
||||
[SPECIES_BELLSPROUT - 1] = 0x00,
|
||||
[SPECIES_WEEPINBELL - 1] = 0x03,
|
||||
[SPECIES_VICTREEBEL - 1] = 0x00,
|
||||
[SPECIES_TENTACOOL - 1] = 0x00,
|
||||
[SPECIES_TENTACRUEL - 1] = 0x00,
|
||||
[SPECIES_GEODUDE - 1] = 0x00,
|
||||
[SPECIES_GRAVELER - 1] = 0x00,
|
||||
[SPECIES_GOLEM - 1] = 0x00,
|
||||
[SPECIES_PONYTA - 1] = 0x00,
|
||||
[SPECIES_RAPIDASH - 1] = 0x00,
|
||||
[SPECIES_SLOWPOKE - 1] = 0x00,
|
||||
[SPECIES_SLOWBRO - 1] = 0x00,
|
||||
[SPECIES_MAGNEMITE - 1] = 0x00,
|
||||
[SPECIES_MAGNETON - 1] = 0x00,
|
||||
[SPECIES_FARFETCHD - 1] = 0x00,
|
||||
[SPECIES_DODUO - 1] = 0x00,
|
||||
[SPECIES_DODRIO - 1] = 0x00,
|
||||
[SPECIES_SEEL - 1] = 0x00,
|
||||
[SPECIES_DEWGONG - 1] = 0x00,
|
||||
[SPECIES_GRIMER - 1] = 0x00,
|
||||
[SPECIES_MUK - 1] = 0x2d,
|
||||
[SPECIES_SHELLDER - 1] = 0x14,
|
||||
[SPECIES_CLOYSTER - 1] = 0x00,
|
||||
[SPECIES_GASTLY - 1] = 0x00,
|
||||
[SPECIES_HAUNTER - 1] = 0x17,
|
||||
[SPECIES_GENGAR - 1] = 0x00,
|
||||
[SPECIES_ONIX - 1] = 0x00,
|
||||
[SPECIES_DROWZEE - 1] = 0x30,
|
||||
[SPECIES_HYPNO - 1] = 0x28,
|
||||
[SPECIES_KRABBY - 1] = 0x00,
|
||||
[SPECIES_KINGLER - 1] = 0x00,
|
||||
[SPECIES_VOLTORB - 1] = 0x00,
|
||||
[SPECIES_ELECTRODE - 1] = 0x00,
|
||||
[SPECIES_EXEGGCUTE - 1] = 0x00,
|
||||
[SPECIES_EXEGGUTOR - 1] = 0x00,
|
||||
[SPECIES_CUBONE - 1] = 0x00,
|
||||
[SPECIES_MAROWAK - 1] = 0x00,
|
||||
[SPECIES_HITMONLEE - 1] = 0x00,
|
||||
[SPECIES_HITMONCHAN - 1] = 0x19,
|
||||
[SPECIES_LICKITUNG - 1] = 0x00,
|
||||
[SPECIES_KOFFING - 1] = 0x00,
|
||||
[SPECIES_WEEZING - 1] = 0x00,
|
||||
[SPECIES_RHYHORN - 1] = 0x00,
|
||||
[SPECIES_RHYDON - 1] = 0x00,
|
||||
[SPECIES_CHANSEY - 1] = 0x00,
|
||||
[SPECIES_TANGELA - 1] = 0x00,
|
||||
[SPECIES_KANGASKHAN - 1] = 0x00,
|
||||
[SPECIES_HORSEA - 1] = 0x00,
|
||||
[SPECIES_SEADRA - 1] = 0x00,
|
||||
[SPECIES_GOLDEEN - 1] = 0x00,
|
||||
[SPECIES_SEAKING - 1] = 0x00,
|
||||
[SPECIES_STARYU - 1] = 0x00,
|
||||
[SPECIES_STARMIE - 1] = 0x00,
|
||||
[SPECIES_MR_MIME - 1] = 0x00,
|
||||
[SPECIES_SCYTHER - 1] = 0x0a,
|
||||
[SPECIES_JYNX - 1] = 0x00,
|
||||
[SPECIES_ELECTABUZZ - 1] = 0x00,
|
||||
[SPECIES_MAGMAR - 1] = 0x00,
|
||||
[SPECIES_PINSIR - 1] = 0x00,
|
||||
[SPECIES_TAUROS - 1] = 0x0a,
|
||||
[SPECIES_MAGIKARP - 1] = 0x00,
|
||||
[SPECIES_GYARADOS - 1] = 0x00,
|
||||
[SPECIES_LAPRAS - 1] = 0x00,
|
||||
[SPECIES_DITTO - 1] = 0x00,
|
||||
[SPECIES_EEVEE - 1] = 0x00,
|
||||
[SPECIES_VAPOREON - 1] = 0x00,
|
||||
[SPECIES_JOLTEON - 1] = 0x00,
|
||||
[SPECIES_FLAREON - 1] = 0x00,
|
||||
[SPECIES_PORYGON - 1] = 0x00,
|
||||
[SPECIES_OMANYTE - 1] = 0x00,
|
||||
[SPECIES_OMASTAR - 1] = 0x00,
|
||||
[SPECIES_KABUTO - 1] = 0x00,
|
||||
[SPECIES_KABUTOPS - 1] = 0x00,
|
||||
[SPECIES_AERODACTYL - 1] = 0x00,
|
||||
[SPECIES_SNORLAX - 1] = 0x00,
|
||||
[SPECIES_ARTICUNO - 1] = 0x00,
|
||||
[SPECIES_ZAPDOS - 1] = 0x00,
|
||||
[SPECIES_MOLTRES - 1] = 0x00,
|
||||
[SPECIES_DRATINI - 1] = 0x00,
|
||||
[SPECIES_DRAGONAIR - 1] = 0x00,
|
||||
[SPECIES_DRAGONITE - 1] = 0x00,
|
||||
[SPECIES_MEWTWO - 1] = 0x00,
|
||||
[SPECIES_MEW - 1] = 0x00,
|
||||
[SPECIES_CHIKORITA - 1] = 0x00,
|
||||
[SPECIES_BAYLEEF - 1] = 0x00,
|
||||
[SPECIES_MEGANIUM - 1] = 0x00,
|
||||
[SPECIES_CYNDAQUIL - 1] = 0x00,
|
||||
[SPECIES_QUILAVA - 1] = 0x00,
|
||||
[SPECIES_TYPHLOSION - 1] = 0x14,
|
||||
[SPECIES_TOTODILE - 1] = 0x00,
|
||||
[SPECIES_CROCONAW - 1] = 0x00,
|
||||
[SPECIES_FERALIGATR - 1] = 0x05,
|
||||
[SPECIES_SENTRET - 1] = 0x00,
|
||||
[SPECIES_FURRET - 1] = 0x00,
|
||||
[SPECIES_HOOTHOOT - 1] = 0x00,
|
||||
[SPECIES_NOCTOWL - 1] = 0x00,
|
||||
[SPECIES_LEDYBA - 1] = 0x00,
|
||||
[SPECIES_LEDIAN - 1] = 0x00,
|
||||
[SPECIES_SPINARAK - 1] = 0x00,
|
||||
[SPECIES_ARIADOS - 1] = 0x00,
|
||||
[SPECIES_CROBAT - 1] = 0x00,
|
||||
[SPECIES_CHINCHOU - 1] = 0x00,
|
||||
[SPECIES_LANTURN - 1] = 0x00,
|
||||
[SPECIES_PICHU - 1] = 0x00,
|
||||
[SPECIES_CLEFFA - 1] = 0x00,
|
||||
[SPECIES_IGGLYBUFF - 1] = 0x00,
|
||||
[SPECIES_TOGEPI - 1] = 0x00,
|
||||
[SPECIES_TOGETIC - 1] = 0x00,
|
||||
[SPECIES_NATU - 1] = 0x1e,
|
||||
[SPECIES_XATU - 1] = 0x00,
|
||||
[SPECIES_MAREEP - 1] = 0x32,
|
||||
[SPECIES_FLAAFFY - 1] = 0x00,
|
||||
[SPECIES_AMPHAROS - 1] = 0x0a,
|
||||
[SPECIES_BELLOSSOM - 1] = 0x00,
|
||||
[SPECIES_MARILL - 1] = 0x00,
|
||||
[SPECIES_AZUMARILL - 1] = 0x00,
|
||||
[SPECIES_SUDOWOODO - 1] = 0x00,
|
||||
[SPECIES_POLITOED - 1] = 0x28,
|
||||
[SPECIES_HOPPIP - 1] = 0x00,
|
||||
[SPECIES_SKIPLOOM - 1] = 0x00,
|
||||
[SPECIES_JUMPLUFF - 1] = 0x00,
|
||||
[SPECIES_AIPOM - 1] = 0x00,
|
||||
[SPECIES_SUNKERN - 1] = 0x00,
|
||||
[SPECIES_SUNFLORA - 1] = 0x00,
|
||||
[SPECIES_YANMA - 1] = 0x00,
|
||||
[SPECIES_WOOPER - 1] = 0x00,
|
||||
[SPECIES_QUAGSIRE - 1] = 0x00,
|
||||
[SPECIES_ESPEON - 1] = 0x00,
|
||||
[SPECIES_UMBREON - 1] = 0x00,
|
||||
[SPECIES_MURKROW - 1] = 0x00,
|
||||
[SPECIES_SLOWKING - 1] = 0x00,
|
||||
[SPECIES_MISDREAVUS - 1] = 0x00,
|
||||
[SPECIES_UNOWN - 1] = 0x00,
|
||||
[SPECIES_WOBBUFFET - 1] = 0x00,
|
||||
[SPECIES_GIRAFARIG - 1] = 0x00,
|
||||
[SPECIES_PINECO - 1] = 0x00,
|
||||
[SPECIES_FORRETRESS - 1] = 0x00,
|
||||
[SPECIES_DUNSPARCE - 1] = 0x0a,
|
||||
[SPECIES_GLIGAR - 1] = 0x00,
|
||||
[SPECIES_STEELIX - 1] = 0x2d,
|
||||
[SPECIES_SNUBBULL - 1] = 0x00,
|
||||
[SPECIES_GRANBULL - 1] = 0x00,
|
||||
[SPECIES_QWILFISH - 1] = 0x27,
|
||||
[SPECIES_SCIZOR - 1] = 0x13,
|
||||
[SPECIES_SHUCKLE - 1] = 0x00,
|
||||
[SPECIES_HERACROSS - 1] = 0x00,
|
||||
[SPECIES_SNEASEL - 1] = 0x00,
|
||||
[SPECIES_TEDDIURSA - 1] = 0x00,
|
||||
[SPECIES_URSARING - 1] = 0x00,
|
||||
[SPECIES_SLUGMA - 1] = 0x00,
|
||||
[SPECIES_MAGCARGO - 1] = 0x00,
|
||||
[SPECIES_SWINUB - 1] = 0x00,
|
||||
[SPECIES_PILOSWINE - 1] = 0x00,
|
||||
[SPECIES_CORSOLA - 1] = 0x00,
|
||||
[SPECIES_REMORAID - 1] = 0x00,
|
||||
[SPECIES_OCTILLERY - 1] = 0x14,
|
||||
[SPECIES_DELIBIRD - 1] = 0x00,
|
||||
[SPECIES_MANTINE - 1] = 0x00,
|
||||
[SPECIES_SKARMORY - 1] = 0x00,
|
||||
[SPECIES_HOUNDOUR - 1] = 0x00,
|
||||
[SPECIES_HOUNDOOM - 1] = 0x00,
|
||||
[SPECIES_KINGDRA - 1] = 0x00,
|
||||
[SPECIES_PHANPY - 1] = 0x00,
|
||||
[SPECIES_DONPHAN - 1] = 0x00,
|
||||
[SPECIES_PORYGON2 - 1] = 0x00,
|
||||
[SPECIES_STANTLER - 1] = 0x00,
|
||||
[SPECIES_SMEARGLE - 1] = 0x00,
|
||||
[SPECIES_TYROGUE - 1] = 0x00,
|
||||
[SPECIES_HITMONTOP - 1] = 0x00,
|
||||
[SPECIES_SMOOCHUM - 1] = 0x28,
|
||||
[SPECIES_ELEKID - 1] = 0x00,
|
||||
[SPECIES_MAGBY - 1] = 0x00,
|
||||
[SPECIES_MILTANK - 1] = 0x00,
|
||||
[SPECIES_BLISSEY - 1] = 0x00,
|
||||
[SPECIES_RAIKOU - 1] = 0x00,
|
||||
[SPECIES_ENTEI - 1] = 0x00,
|
||||
[SPECIES_SUICUNE - 1] = 0x00,
|
||||
[SPECIES_LARVITAR - 1] = 0x00,
|
||||
[SPECIES_PUPITAR - 1] = 0x00,
|
||||
[SPECIES_TYRANITAR - 1] = 0x0a,
|
||||
[SPECIES_LUGIA - 1] = 0x14,
|
||||
[SPECIES_HO_OH - 1] = 0x00,
|
||||
[SPECIES_CELEBI - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_B - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_C - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_D - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_E - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_F - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_G - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_H - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_I - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_J - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_K - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_L - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_M - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_N - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_O - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_P - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_Q - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_R - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_S - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_T - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_U - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_V - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_W - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_X - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_Y - 1] = 0x00,
|
||||
[SPECIES_OLD_UNOWN_Z - 1] = 0x00,
|
||||
[SPECIES_TREECKO - 1] = 0x00,
|
||||
[SPECIES_GROVYLE - 1] = 0x00,
|
||||
[SPECIES_SCEPTILE - 1] = 0x00,
|
||||
[SPECIES_TORCHIC - 1] = 0x00,
|
||||
[SPECIES_COMBUSKEN - 1] = 0x00,
|
||||
[SPECIES_BLAZIKEN - 1] = 0x00,
|
||||
[SPECIES_MUDKIP - 1] = 0x00,
|
||||
[SPECIES_MARSHTOMP - 1] = 0x00,
|
||||
[SPECIES_SWAMPERT - 1] = 0x00,
|
||||
[SPECIES_POOCHYENA - 1] = 0x00,
|
||||
[SPECIES_MIGHTYENA - 1] = 0x00,
|
||||
[SPECIES_ZIGZAGOON - 1] = 0x00,
|
||||
[SPECIES_LINOONE - 1] = 0x00,
|
||||
[SPECIES_WURMPLE - 1] = 0x00,
|
||||
[SPECIES_SILCOON - 1] = 0x00,
|
||||
[SPECIES_BEAUTIFLY - 1] = 0x00,
|
||||
[SPECIES_CASCOON - 1] = 0x00,
|
||||
[SPECIES_DUSTOX - 1] = 0x00,
|
||||
[SPECIES_LOTAD - 1] = 0x00,
|
||||
[SPECIES_LOMBRE - 1] = 0x00,
|
||||
[SPECIES_LUDICOLO - 1] = 0x00,
|
||||
[SPECIES_SEEDOT - 1] = 0x00,
|
||||
[SPECIES_NUZLEAF - 1] = 0x00,
|
||||
[SPECIES_SHIFTRY - 1] = 0x00,
|
||||
[SPECIES_NINCADA - 1] = 0x00,
|
||||
[SPECIES_NINJASK - 1] = 0x00,
|
||||
[SPECIES_SHEDINJA - 1] = 0x00,
|
||||
[SPECIES_TAILLOW - 1] = 0x00,
|
||||
[SPECIES_SWELLOW - 1] = 0x00,
|
||||
[SPECIES_SHROOMISH - 1] = 0x00,
|
||||
[SPECIES_BRELOOM - 1] = 0x00,
|
||||
[SPECIES_SPINDA - 1] = 0x00,
|
||||
[SPECIES_WINGULL - 1] = 0x00,
|
||||
[SPECIES_PELIPPER - 1] = 0x00,
|
||||
[SPECIES_SURSKIT - 1] = 0x00,
|
||||
[SPECIES_MASQUERAIN - 1] = 0x00,
|
||||
[SPECIES_WAILMER - 1] = 0x00,
|
||||
[SPECIES_WAILORD - 1] = 0x0a,
|
||||
[SPECIES_SKITTY - 1] = 0x00,
|
||||
[SPECIES_DELCATTY - 1] = 0x00,
|
||||
[SPECIES_KECLEON - 1] = 0x1e,
|
||||
[SPECIES_BALTOY - 1] = 0x00,
|
||||
[SPECIES_CLAYDOL - 1] = 0x00,
|
||||
[SPECIES_NOSEPASS - 1] = 0x00,
|
||||
[SPECIES_TORKOAL - 1] = 0x00,
|
||||
[SPECIES_SABLEYE - 1] = 0x00,
|
||||
[SPECIES_BARBOACH - 1] = 0x00,
|
||||
[SPECIES_WHISCASH - 1] = 0x00,
|
||||
[SPECIES_LUVDISC - 1] = 0x00,
|
||||
[SPECIES_CORPHISH - 1] = 0x00,
|
||||
[SPECIES_CRAWDAUNT - 1] = 0x00,
|
||||
[SPECIES_FEEBAS - 1] = 0x00,
|
||||
[SPECIES_MILOTIC - 1] = 0x2d,
|
||||
[SPECIES_CARVANHA - 1] = 0x00,
|
||||
[SPECIES_SHARPEDO - 1] = 0x00,
|
||||
[SPECIES_TRAPINCH - 1] = 0x00,
|
||||
[SPECIES_VIBRAVA - 1] = 0x00,
|
||||
[SPECIES_FLYGON - 1] = 0x00,
|
||||
[SPECIES_MAKUHITA - 1] = 0x00,
|
||||
[SPECIES_HARIYAMA - 1] = 0x00,
|
||||
[SPECIES_ELECTRIKE - 1] = 0x00,
|
||||
[SPECIES_MANECTRIC - 1] = 0x00,
|
||||
[SPECIES_NUMEL - 1] = 0x00,
|
||||
[SPECIES_CAMERUPT - 1] = 0x00,
|
||||
[SPECIES_SPHEAL - 1] = 0x0f,
|
||||
[SPECIES_SEALEO - 1] = 0x00,
|
||||
[SPECIES_WALREIN - 1] = 0x00,
|
||||
[SPECIES_CACNEA - 1] = 0x00,
|
||||
[SPECIES_CACTURNE - 1] = 0x00,
|
||||
[SPECIES_SNORUNT - 1] = 0x14,
|
||||
[SPECIES_GLALIE - 1] = 0x00,
|
||||
[SPECIES_LUNATONE - 1] = 0x00,
|
||||
[SPECIES_SOLROCK - 1] = 0x00,
|
||||
[SPECIES_AZURILL - 1] = 0x00,
|
||||
[SPECIES_SPOINK - 1] = 0x00,
|
||||
[SPECIES_GRUMPIG - 1] = 0x0f,
|
||||
[SPECIES_PLUSLE - 1] = 0x00,
|
||||
[SPECIES_MINUN - 1] = 0x00,
|
||||
[SPECIES_MAWILE - 1] = 0x00,
|
||||
[SPECIES_MEDITITE - 1] = 0x00,
|
||||
[SPECIES_MEDICHAM - 1] = 0x00,
|
||||
[SPECIES_SWABLU - 1] = 0x00,
|
||||
[SPECIES_ALTARIA - 1] = 0x00,
|
||||
[SPECIES_WYNAUT - 1] = 0x0f,
|
||||
[SPECIES_DUSKULL - 1] = 0x00,
|
||||
[SPECIES_DUSCLOPS - 1] = 0x1e,
|
||||
[SPECIES_ROSELIA - 1] = 0x00,
|
||||
[SPECIES_SLAKOTH - 1] = 0x00,
|
||||
[SPECIES_VIGOROTH - 1] = 0x00,
|
||||
[SPECIES_SLAKING - 1] = 0x00,
|
||||
[SPECIES_GULPIN - 1] = 0x00,
|
||||
[SPECIES_SWALOT - 1] = 0x00,
|
||||
[SPECIES_TROPIUS - 1] = 0x00,
|
||||
[SPECIES_WHISMUR - 1] = 0x00,
|
||||
[SPECIES_LOUDRED - 1] = 0x00,
|
||||
[SPECIES_EXPLOUD - 1] = 0x00,
|
||||
[SPECIES_CLAMPERL - 1] = 0x00,
|
||||
[SPECIES_HUNTAIL - 1] = 0x00,
|
||||
[SPECIES_GOREBYSS - 1] = 0x00,
|
||||
[SPECIES_ABSOL - 1] = 0x2d,
|
||||
[SPECIES_SHUPPET - 1] = 0x00,
|
||||
[SPECIES_BANETTE - 1] = 0x00,
|
||||
[SPECIES_SEVIPER - 1] = 0x00,
|
||||
[SPECIES_ZANGOOSE - 1] = 0x00,
|
||||
[SPECIES_RELICANTH - 1] = 0x00,
|
||||
[SPECIES_ARON - 1] = 0x00,
|
||||
[SPECIES_LAIRON - 1] = 0x00,
|
||||
[SPECIES_AGGRON - 1] = 0x00,
|
||||
[SPECIES_CASTFORM - 1] = 0x00,
|
||||
[SPECIES_VOLBEAT - 1] = 0x00,
|
||||
[SPECIES_ILLUMISE - 1] = 0x00,
|
||||
[SPECIES_LILEEP - 1] = 0x00,
|
||||
[SPECIES_CRADILY - 1] = 0x00,
|
||||
[SPECIES_ANORITH - 1] = 0x00,
|
||||
[SPECIES_ARMALDO - 1] = 0x00,
|
||||
[SPECIES_RALTS - 1] = 0x00,
|
||||
[SPECIES_KIRLIA - 1] = 0x00,
|
||||
[SPECIES_GARDEVOIR - 1] = 0x00,
|
||||
[SPECIES_BAGON - 1] = 0x00,
|
||||
[SPECIES_SHELGON - 1] = 0x00,
|
||||
[SPECIES_SALAMENCE - 1] = 0x46,
|
||||
[SPECIES_BELDUM - 1] = 0x00,
|
||||
[SPECIES_METANG - 1] = 0x00,
|
||||
[SPECIES_METAGROSS - 1] = 0x00,
|
||||
[SPECIES_REGIROCK - 1] = 0x00,
|
||||
[SPECIES_REGICE - 1] = 0x00,
|
||||
[SPECIES_REGISTEEL - 1] = 0x00,
|
||||
[SPECIES_KYOGRE - 1] = 0x3c,
|
||||
[SPECIES_GROUDON - 1] = 0x00,
|
||||
[SPECIES_RAYQUAZA - 1] = 0x3c,
|
||||
[SPECIES_LATIAS - 1] = 0x00,
|
||||
[SPECIES_LATIOS - 1] = 0x00,
|
||||
[SPECIES_JIRACHI - 1] = 0x00,
|
||||
[SPECIES_DEOXYS - 1] = 0x00,
|
||||
[SPECIES_CHIMECHO - 1] = 0x00,
|
||||
};
|
||||
|
||||
const u8 gPPUpGetMask[] = {0x03, 0x0c, 0x30, 0xc0}; // Masks for getting PP Up count, also PP Max values
|
||||
|
@ -25,446 +25,446 @@ static u8 CreateMonIconSprite(struct MonIconSpriteTemplate *, s16, s16, u8);
|
||||
|
||||
const u8 *const gMonIconTable[] =
|
||||
{
|
||||
gMonIcon_Bulbasaur,
|
||||
gMonIcon_Bulbasaur,
|
||||
gMonIcon_Ivysaur,
|
||||
gMonIcon_Venusaur,
|
||||
gMonIcon_Charmander,
|
||||
gMonIcon_Charmeleon,
|
||||
gMonIcon_Charizard,
|
||||
gMonIcon_Squirtle,
|
||||
gMonIcon_Wartortle,
|
||||
gMonIcon_Blastoise,
|
||||
gMonIcon_Caterpie,
|
||||
gMonIcon_Metapod,
|
||||
gMonIcon_Butterfree,
|
||||
gMonIcon_Weedle,
|
||||
gMonIcon_Kakuna,
|
||||
gMonIcon_Beedrill,
|
||||
gMonIcon_Pidgey,
|
||||
gMonIcon_Pidgeotto,
|
||||
gMonIcon_Pidgeot,
|
||||
gMonIcon_Rattata,
|
||||
gMonIcon_Raticate,
|
||||
gMonIcon_Spearow,
|
||||
gMonIcon_Fearow,
|
||||
gMonIcon_Ekans,
|
||||
gMonIcon_Arbok,
|
||||
gMonIcon_Pikachu,
|
||||
gMonIcon_Raichu,
|
||||
gMonIcon_Sandshrew,
|
||||
gMonIcon_Sandslash,
|
||||
gMonIcon_NidoranF,
|
||||
gMonIcon_Nidorina,
|
||||
gMonIcon_Nidoqueen,
|
||||
gMonIcon_NidoranM,
|
||||
gMonIcon_Nidorino,
|
||||
gMonIcon_Nidoking,
|
||||
gMonIcon_Clefairy,
|
||||
gMonIcon_Clefable,
|
||||
gMonIcon_Vulpix,
|
||||
gMonIcon_Ninetales,
|
||||
gMonIcon_Jigglypuff,
|
||||
gMonIcon_Wigglytuff,
|
||||
gMonIcon_Zubat,
|
||||
gMonIcon_Golbat,
|
||||
gMonIcon_Oddish,
|
||||
gMonIcon_Gloom,
|
||||
gMonIcon_Vileplume,
|
||||
gMonIcon_Paras,
|
||||
gMonIcon_Parasect,
|
||||
gMonIcon_Venonat,
|
||||
gMonIcon_Venomoth,
|
||||
gMonIcon_Diglett,
|
||||
gMonIcon_Dugtrio,
|
||||
gMonIcon_Meowth,
|
||||
gMonIcon_Persian,
|
||||
gMonIcon_Psyduck,
|
||||
gMonIcon_Golduck,
|
||||
gMonIcon_Mankey,
|
||||
gMonIcon_Primeape,
|
||||
gMonIcon_Growlithe,
|
||||
gMonIcon_Arcanine,
|
||||
gMonIcon_Poliwag,
|
||||
gMonIcon_Poliwhirl,
|
||||
gMonIcon_Poliwrath,
|
||||
gMonIcon_Abra,
|
||||
gMonIcon_Kadabra,
|
||||
gMonIcon_Alakazam,
|
||||
gMonIcon_Machop,
|
||||
gMonIcon_Machoke,
|
||||
gMonIcon_Machamp,
|
||||
gMonIcon_Bellsprout,
|
||||
gMonIcon_Weepinbell,
|
||||
gMonIcon_Victreebel,
|
||||
gMonIcon_Tentacool,
|
||||
gMonIcon_Tentacruel,
|
||||
gMonIcon_Geodude,
|
||||
gMonIcon_Graveler,
|
||||
gMonIcon_Golem,
|
||||
gMonIcon_Ponyta,
|
||||
gMonIcon_Rapidash,
|
||||
gMonIcon_Slowpoke,
|
||||
gMonIcon_Slowbro,
|
||||
gMonIcon_Magnemite,
|
||||
gMonIcon_Magneton,
|
||||
gMonIcon_Farfetchd,
|
||||
gMonIcon_Doduo,
|
||||
gMonIcon_Dodrio,
|
||||
gMonIcon_Seel,
|
||||
gMonIcon_Dewgong,
|
||||
gMonIcon_Grimer,
|
||||
gMonIcon_Muk,
|
||||
gMonIcon_Shellder,
|
||||
gMonIcon_Cloyster,
|
||||
gMonIcon_Gastly,
|
||||
gMonIcon_Haunter,
|
||||
gMonIcon_Gengar,
|
||||
gMonIcon_Onix,
|
||||
gMonIcon_Drowzee,
|
||||
gMonIcon_Hypno,
|
||||
gMonIcon_Krabby,
|
||||
gMonIcon_Kingler,
|
||||
gMonIcon_Voltorb,
|
||||
gMonIcon_Electrode,
|
||||
gMonIcon_Exeggcute,
|
||||
gMonIcon_Exeggutor,
|
||||
gMonIcon_Cubone,
|
||||
gMonIcon_Marowak,
|
||||
gMonIcon_Hitmonlee,
|
||||
gMonIcon_Hitmonchan,
|
||||
gMonIcon_Lickitung,
|
||||
gMonIcon_Koffing,
|
||||
gMonIcon_Weezing,
|
||||
gMonIcon_Rhyhorn,
|
||||
gMonIcon_Rhydon,
|
||||
gMonIcon_Chansey,
|
||||
gMonIcon_Tangela,
|
||||
gMonIcon_Kangaskhan,
|
||||
gMonIcon_Horsea,
|
||||
gMonIcon_Seadra,
|
||||
gMonIcon_Goldeen,
|
||||
gMonIcon_Seaking,
|
||||
gMonIcon_Staryu,
|
||||
gMonIcon_Starmie,
|
||||
gMonIcon_Mrmime,
|
||||
gMonIcon_Scyther,
|
||||
gMonIcon_Jynx,
|
||||
gMonIcon_Electabuzz,
|
||||
gMonIcon_Magmar,
|
||||
gMonIcon_Pinsir,
|
||||
gMonIcon_Tauros,
|
||||
gMonIcon_Magikarp,
|
||||
gMonIcon_Gyarados,
|
||||
gMonIcon_Lapras,
|
||||
gMonIcon_Ditto,
|
||||
gMonIcon_Eevee,
|
||||
gMonIcon_Vaporeon,
|
||||
gMonIcon_Jolteon,
|
||||
gMonIcon_Flareon,
|
||||
gMonIcon_Porygon,
|
||||
gMonIcon_Omanyte,
|
||||
gMonIcon_Omastar,
|
||||
gMonIcon_Kabuto,
|
||||
gMonIcon_Kabutops,
|
||||
gMonIcon_Aerodactyl,
|
||||
gMonIcon_Snorlax,
|
||||
gMonIcon_Articuno,
|
||||
gMonIcon_Zapdos,
|
||||
gMonIcon_Moltres,
|
||||
gMonIcon_Dratini,
|
||||
gMonIcon_Dragonair,
|
||||
gMonIcon_Dragonite,
|
||||
gMonIcon_Mewtwo,
|
||||
gMonIcon_Mew,
|
||||
gMonIcon_Chikorita,
|
||||
gMonIcon_Bayleef,
|
||||
gMonIcon_Meganium,
|
||||
gMonIcon_Cyndaquil,
|
||||
gMonIcon_Quilava,
|
||||
gMonIcon_Typhlosion,
|
||||
gMonIcon_Totodile,
|
||||
gMonIcon_Croconaw,
|
||||
gMonIcon_Feraligatr,
|
||||
gMonIcon_Sentret,
|
||||
gMonIcon_Furret,
|
||||
gMonIcon_Hoothoot,
|
||||
gMonIcon_Noctowl,
|
||||
gMonIcon_Ledyba,
|
||||
gMonIcon_Ledian,
|
||||
gMonIcon_Spinarak,
|
||||
gMonIcon_Ariados,
|
||||
gMonIcon_Crobat,
|
||||
gMonIcon_Chinchou,
|
||||
gMonIcon_Lanturn,
|
||||
gMonIcon_Pichu,
|
||||
gMonIcon_Cleffa,
|
||||
gMonIcon_Igglybuff,
|
||||
gMonIcon_Togepi,
|
||||
gMonIcon_Togetic,
|
||||
gMonIcon_Natu,
|
||||
gMonIcon_Xatu,
|
||||
gMonIcon_Mareep,
|
||||
gMonIcon_Flaaffy,
|
||||
gMonIcon_Ampharos,
|
||||
gMonIcon_Bellossom,
|
||||
gMonIcon_Marill,
|
||||
gMonIcon_Azumarill,
|
||||
gMonIcon_Sudowoodo,
|
||||
gMonIcon_Politoed,
|
||||
gMonIcon_Hoppip,
|
||||
gMonIcon_Skiploom,
|
||||
gMonIcon_Jumpluff,
|
||||
gMonIcon_Aipom,
|
||||
gMonIcon_Sunkern,
|
||||
gMonIcon_Sunflora,
|
||||
gMonIcon_Yanma,
|
||||
gMonIcon_Wooper,
|
||||
gMonIcon_Quagsire,
|
||||
gMonIcon_Espeon,
|
||||
gMonIcon_Umbreon,
|
||||
gMonIcon_Murkrow,
|
||||
gMonIcon_Slowking,
|
||||
gMonIcon_Misdreavus,
|
||||
gMonIcon_UnownA,
|
||||
gMonIcon_Wobbuffet,
|
||||
gMonIcon_Girafarig,
|
||||
gMonIcon_Pineco,
|
||||
gMonIcon_Forretress,
|
||||
gMonIcon_Dunsparce,
|
||||
gMonIcon_Gligar,
|
||||
gMonIcon_Steelix,
|
||||
gMonIcon_Snubbull,
|
||||
gMonIcon_Granbull,
|
||||
gMonIcon_Qwilfish,
|
||||
gMonIcon_Scizor,
|
||||
gMonIcon_Shuckle,
|
||||
gMonIcon_Heracross,
|
||||
gMonIcon_Sneasel,
|
||||
gMonIcon_Teddiursa,
|
||||
gMonIcon_Ursaring,
|
||||
gMonIcon_Slugma,
|
||||
gMonIcon_Magcargo,
|
||||
gMonIcon_Swinub,
|
||||
gMonIcon_Piloswine,
|
||||
gMonIcon_Corsola,
|
||||
gMonIcon_Remoraid,
|
||||
gMonIcon_Octillery,
|
||||
gMonIcon_Delibird,
|
||||
gMonIcon_Mantine,
|
||||
gMonIcon_Skarmory,
|
||||
gMonIcon_Houndour,
|
||||
gMonIcon_Houndoom,
|
||||
gMonIcon_Kingdra,
|
||||
gMonIcon_Phanpy,
|
||||
gMonIcon_Donphan,
|
||||
gMonIcon_Porygon2,
|
||||
gMonIcon_Stantler,
|
||||
gMonIcon_Smeargle,
|
||||
gMonIcon_Tyrogue,
|
||||
gMonIcon_Hitmontop,
|
||||
gMonIcon_Smoochum,
|
||||
gMonIcon_Elekid,
|
||||
gMonIcon_Magby,
|
||||
gMonIcon_Miltank,
|
||||
gMonIcon_Blissey,
|
||||
gMonIcon_Raikou,
|
||||
gMonIcon_Entei,
|
||||
gMonIcon_Suicune,
|
||||
gMonIcon_Larvitar,
|
||||
gMonIcon_Pupitar,
|
||||
gMonIcon_Tyranitar,
|
||||
gMonIcon_Lugia,
|
||||
gMonIcon_HoOh,
|
||||
gMonIcon_Celebi,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_QuestionMark,
|
||||
gMonIcon_Treecko,
|
||||
gMonIcon_Grovyle,
|
||||
gMonIcon_Sceptile,
|
||||
gMonIcon_Torchic,
|
||||
gMonIcon_Combusken,
|
||||
gMonIcon_Blaziken,
|
||||
gMonIcon_Mudkip,
|
||||
gMonIcon_Marshtomp,
|
||||
gMonIcon_Swampert,
|
||||
gMonIcon_Poochyena,
|
||||
gMonIcon_Mightyena,
|
||||
gMonIcon_Zigzagoon,
|
||||
gMonIcon_Linoone,
|
||||
gMonIcon_Wurmple,
|
||||
gMonIcon_Silcoon,
|
||||
gMonIcon_Beautifly,
|
||||
gMonIcon_Cascoon,
|
||||
gMonIcon_Dustox,
|
||||
gMonIcon_Lotad,
|
||||
gMonIcon_Lombre,
|
||||
gMonIcon_Ludicolo,
|
||||
gMonIcon_Seedot,
|
||||
gMonIcon_Nuzleaf,
|
||||
gMonIcon_Shiftry,
|
||||
gMonIcon_Nincada,
|
||||
gMonIcon_Ninjask,
|
||||
gMonIcon_Shedinja,
|
||||
gMonIcon_Taillow,
|
||||
gMonIcon_Swellow,
|
||||
gMonIcon_Shroomish,
|
||||
gMonIcon_Breloom,
|
||||
gMonIcon_Spinda,
|
||||
gMonIcon_Wingull,
|
||||
gMonIcon_Pelipper,
|
||||
gMonIcon_Surskit,
|
||||
gMonIcon_Masquerain,
|
||||
gMonIcon_Wailmer,
|
||||
gMonIcon_Wailord,
|
||||
gMonIcon_Skitty,
|
||||
gMonIcon_Delcatty,
|
||||
gMonIcon_Kecleon,
|
||||
gMonIcon_Baltoy,
|
||||
gMonIcon_Claydol,
|
||||
gMonIcon_Nosepass,
|
||||
gMonIcon_Torkoal,
|
||||
gMonIcon_Sableye,
|
||||
gMonIcon_Barboach,
|
||||
gMonIcon_Whiscash,
|
||||
gMonIcon_Luvdisc,
|
||||
gMonIcon_Corphish,
|
||||
gMonIcon_Crawdaunt,
|
||||
gMonIcon_Feebas,
|
||||
gMonIcon_Milotic,
|
||||
gMonIcon_Carvanha,
|
||||
gMonIcon_Sharpedo,
|
||||
gMonIcon_Trapinch,
|
||||
gMonIcon_Vibrava,
|
||||
gMonIcon_Flygon,
|
||||
gMonIcon_Makuhita,
|
||||
gMonIcon_Hariyama,
|
||||
gMonIcon_Electrike,
|
||||
gMonIcon_Manectric,
|
||||
gMonIcon_Numel,
|
||||
gMonIcon_Camerupt,
|
||||
gMonIcon_Spheal,
|
||||
gMonIcon_Sealeo,
|
||||
gMonIcon_Walrein,
|
||||
gMonIcon_Cacnea,
|
||||
gMonIcon_Cacturne,
|
||||
gMonIcon_Snorunt,
|
||||
gMonIcon_Glalie,
|
||||
gMonIcon_Lunatone,
|
||||
gMonIcon_Solrock,
|
||||
gMonIcon_Azurill,
|
||||
gMonIcon_Spoink,
|
||||
gMonIcon_Grumpig,
|
||||
gMonIcon_Plusle,
|
||||
gMonIcon_Minun,
|
||||
gMonIcon_Mawile,
|
||||
gMonIcon_Meditite,
|
||||
gMonIcon_Medicham,
|
||||
gMonIcon_Swablu,
|
||||
gMonIcon_Altaria,
|
||||
gMonIcon_Wynaut,
|
||||
gMonIcon_Duskull,
|
||||
gMonIcon_Dusclops,
|
||||
gMonIcon_Roselia,
|
||||
gMonIcon_Slakoth,
|
||||
gMonIcon_Vigoroth,
|
||||
gMonIcon_Slaking,
|
||||
gMonIcon_Gulpin,
|
||||
gMonIcon_Swalot,
|
||||
gMonIcon_Tropius,
|
||||
gMonIcon_Whismur,
|
||||
gMonIcon_Loudred,
|
||||
gMonIcon_Exploud,
|
||||
gMonIcon_Clamperl,
|
||||
gMonIcon_Huntail,
|
||||
gMonIcon_Gorebyss,
|
||||
gMonIcon_Absol,
|
||||
gMonIcon_Shuppet,
|
||||
gMonIcon_Banette,
|
||||
gMonIcon_Seviper,
|
||||
gMonIcon_Zangoose,
|
||||
gMonIcon_Relicanth,
|
||||
gMonIcon_Aron,
|
||||
gMonIcon_Lairon,
|
||||
gMonIcon_Aggron,
|
||||
gMonIcon_Castform,
|
||||
gMonIcon_Volbeat,
|
||||
gMonIcon_Illumise,
|
||||
gMonIcon_Lileep,
|
||||
gMonIcon_Cradily,
|
||||
gMonIcon_Anorith,
|
||||
gMonIcon_Armaldo,
|
||||
gMonIcon_Ralts,
|
||||
gMonIcon_Kirlia,
|
||||
gMonIcon_Gardevoir,
|
||||
gMonIcon_Bagon,
|
||||
gMonIcon_Shelgon,
|
||||
gMonIcon_Salamence,
|
||||
gMonIcon_Beldum,
|
||||
gMonIcon_Metang,
|
||||
gMonIcon_Metagross,
|
||||
gMonIcon_Regirock,
|
||||
gMonIcon_Regice,
|
||||
gMonIcon_Registeel,
|
||||
gMonIcon_Kyogre,
|
||||
gMonIcon_Groudon,
|
||||
gMonIcon_Rayquaza,
|
||||
gMonIcon_Latias,
|
||||
gMonIcon_Latios,
|
||||
gMonIcon_Jirachi,
|
||||
gMonIcon_Deoxys,
|
||||
gMonIcon_Chimecho,
|
||||
gMonIcon_Egg,
|
||||
gMonIcon_UnownB,
|
||||
gMonIcon_UnownC,
|
||||
gMonIcon_UnownD,
|
||||
gMonIcon_UnownE,
|
||||
gMonIcon_UnownF,
|
||||
gMonIcon_UnownG,
|
||||
gMonIcon_UnownH,
|
||||
gMonIcon_UnownI,
|
||||
gMonIcon_UnownJ,
|
||||
gMonIcon_UnownK,
|
||||
gMonIcon_UnownL,
|
||||
gMonIcon_UnownM,
|
||||
gMonIcon_UnownN,
|
||||
gMonIcon_UnownO,
|
||||
gMonIcon_UnownP,
|
||||
gMonIcon_UnownQ,
|
||||
gMonIcon_UnownR,
|
||||
gMonIcon_UnownS,
|
||||
gMonIcon_UnownT,
|
||||
gMonIcon_UnownU,
|
||||
gMonIcon_UnownV,
|
||||
gMonIcon_UnownW,
|
||||
gMonIcon_UnownX,
|
||||
gMonIcon_UnownY,
|
||||
gMonIcon_UnownZ,
|
||||
gMonIcon_UnownExclamationMark,
|
||||
gMonIcon_UnownQuestionMark,
|
||||
[SPECIES_NONE] = gMonIcon_Bulbasaur,
|
||||
[SPECIES_BULBASAUR] = gMonIcon_Bulbasaur,
|
||||
[SPECIES_IVYSAUR] = gMonIcon_Ivysaur,
|
||||
[SPECIES_VENUSAUR] = gMonIcon_Venusaur,
|
||||
[SPECIES_CHARMANDER] = gMonIcon_Charmander,
|
||||
[SPECIES_CHARMELEON] = gMonIcon_Charmeleon,
|
||||
[SPECIES_CHARIZARD] = gMonIcon_Charizard,
|
||||
[SPECIES_SQUIRTLE] = gMonIcon_Squirtle,
|
||||
[SPECIES_WARTORTLE] = gMonIcon_Wartortle,
|
||||
[SPECIES_BLASTOISE] = gMonIcon_Blastoise,
|
||||
[SPECIES_CATERPIE] = gMonIcon_Caterpie,
|
||||
[SPECIES_METAPOD] = gMonIcon_Metapod,
|
||||
[SPECIES_BUTTERFREE] = gMonIcon_Butterfree,
|
||||
[SPECIES_WEEDLE] = gMonIcon_Weedle,
|
||||
[SPECIES_KAKUNA] = gMonIcon_Kakuna,
|
||||
[SPECIES_BEEDRILL] = gMonIcon_Beedrill,
|
||||
[SPECIES_PIDGEY] = gMonIcon_Pidgey,
|
||||
[SPECIES_PIDGEOTTO] = gMonIcon_Pidgeotto,
|
||||
[SPECIES_PIDGEOT] = gMonIcon_Pidgeot,
|
||||
[SPECIES_RATTATA] = gMonIcon_Rattata,
|
||||
[SPECIES_RATICATE] = gMonIcon_Raticate,
|
||||
[SPECIES_SPEAROW] = gMonIcon_Spearow,
|
||||
[SPECIES_FEAROW] = gMonIcon_Fearow,
|
||||
[SPECIES_EKANS] = gMonIcon_Ekans,
|
||||
[SPECIES_ARBOK] = gMonIcon_Arbok,
|
||||
[SPECIES_PIKACHU] = gMonIcon_Pikachu,
|
||||
[SPECIES_RAICHU] = gMonIcon_Raichu,
|
||||
[SPECIES_SANDSHREW] = gMonIcon_Sandshrew,
|
||||
[SPECIES_SANDSLASH] = gMonIcon_Sandslash,
|
||||
[SPECIES_NIDORAN_F] = gMonIcon_NidoranF,
|
||||
[SPECIES_NIDORINA] = gMonIcon_Nidorina,
|
||||
[SPECIES_NIDOQUEEN] = gMonIcon_Nidoqueen,
|
||||
[SPECIES_NIDORAN_M] = gMonIcon_NidoranM,
|
||||
[SPECIES_NIDORINO] = gMonIcon_Nidorino,
|
||||
[SPECIES_NIDOKING] = gMonIcon_Nidoking,
|
||||
[SPECIES_CLEFAIRY] = gMonIcon_Clefairy,
|
||||
[SPECIES_CLEFABLE] = gMonIcon_Clefable,
|
||||
[SPECIES_VULPIX] = gMonIcon_Vulpix,
|
||||
[SPECIES_NINETALES] = gMonIcon_Ninetales,
|
||||
[SPECIES_JIGGLYPUFF] = gMonIcon_Jigglypuff,
|
||||
[SPECIES_WIGGLYTUFF] = gMonIcon_Wigglytuff,
|
||||
[SPECIES_ZUBAT] = gMonIcon_Zubat,
|
||||
[SPECIES_GOLBAT] = gMonIcon_Golbat,
|
||||
[SPECIES_ODDISH] = gMonIcon_Oddish,
|
||||
[SPECIES_GLOOM] = gMonIcon_Gloom,
|
||||
[SPECIES_VILEPLUME] = gMonIcon_Vileplume,
|
||||
[SPECIES_PARAS] = gMonIcon_Paras,
|
||||
[SPECIES_PARASECT] = gMonIcon_Parasect,
|
||||
[SPECIES_VENONAT] = gMonIcon_Venonat,
|
||||
[SPECIES_VENOMOTH] = gMonIcon_Venomoth,
|
||||
[SPECIES_DIGLETT] = gMonIcon_Diglett,
|
||||
[SPECIES_DUGTRIO] = gMonIcon_Dugtrio,
|
||||
[SPECIES_MEOWTH] = gMonIcon_Meowth,
|
||||
[SPECIES_PERSIAN] = gMonIcon_Persian,
|
||||
[SPECIES_PSYDUCK] = gMonIcon_Psyduck,
|
||||
[SPECIES_GOLDUCK] = gMonIcon_Golduck,
|
||||
[SPECIES_MANKEY] = gMonIcon_Mankey,
|
||||
[SPECIES_PRIMEAPE] = gMonIcon_Primeape,
|
||||
[SPECIES_GROWLITHE] = gMonIcon_Growlithe,
|
||||
[SPECIES_ARCANINE] = gMonIcon_Arcanine,
|
||||
[SPECIES_POLIWAG] = gMonIcon_Poliwag,
|
||||
[SPECIES_POLIWHIRL] = gMonIcon_Poliwhirl,
|
||||
[SPECIES_POLIWRATH] = gMonIcon_Poliwrath,
|
||||
[SPECIES_ABRA] = gMonIcon_Abra,
|
||||
[SPECIES_KADABRA] = gMonIcon_Kadabra,
|
||||
[SPECIES_ALAKAZAM] = gMonIcon_Alakazam,
|
||||
[SPECIES_MACHOP] = gMonIcon_Machop,
|
||||
[SPECIES_MACHOKE] = gMonIcon_Machoke,
|
||||
[SPECIES_MACHAMP] = gMonIcon_Machamp,
|
||||
[SPECIES_BELLSPROUT] = gMonIcon_Bellsprout,
|
||||
[SPECIES_WEEPINBELL] = gMonIcon_Weepinbell,
|
||||
[SPECIES_VICTREEBEL] = gMonIcon_Victreebel,
|
||||
[SPECIES_TENTACOOL] = gMonIcon_Tentacool,
|
||||
[SPECIES_TENTACRUEL] = gMonIcon_Tentacruel,
|
||||
[SPECIES_GEODUDE] = gMonIcon_Geodude,
|
||||
[SPECIES_GRAVELER] = gMonIcon_Graveler,
|
||||
[SPECIES_GOLEM] = gMonIcon_Golem,
|
||||
[SPECIES_PONYTA] = gMonIcon_Ponyta,
|
||||
[SPECIES_RAPIDASH] = gMonIcon_Rapidash,
|
||||
[SPECIES_SLOWPOKE] = gMonIcon_Slowpoke,
|
||||
[SPECIES_SLOWBRO] = gMonIcon_Slowbro,
|
||||
[SPECIES_MAGNEMITE] = gMonIcon_Magnemite,
|
||||
[SPECIES_MAGNETON] = gMonIcon_Magneton,
|
||||
[SPECIES_FARFETCHD] = gMonIcon_Farfetchd,
|
||||
[SPECIES_DODUO] = gMonIcon_Doduo,
|
||||
[SPECIES_DODRIO] = gMonIcon_Dodrio,
|
||||
[SPECIES_SEEL] = gMonIcon_Seel,
|
||||
[SPECIES_DEWGONG] = gMonIcon_Dewgong,
|
||||
[SPECIES_GRIMER] = gMonIcon_Grimer,
|
||||
[SPECIES_MUK] = gMonIcon_Muk,
|
||||
[SPECIES_SHELLDER] = gMonIcon_Shellder,
|
||||
[SPECIES_CLOYSTER] = gMonIcon_Cloyster,
|
||||
[SPECIES_GASTLY] = gMonIcon_Gastly,
|
||||
[SPECIES_HAUNTER] = gMonIcon_Haunter,
|
||||
[SPECIES_GENGAR] = gMonIcon_Gengar,
|
||||
[SPECIES_ONIX] = gMonIcon_Onix,
|
||||
[SPECIES_DROWZEE] = gMonIcon_Drowzee,
|
||||
[SPECIES_HYPNO] = gMonIcon_Hypno,
|
||||
[SPECIES_KRABBY] = gMonIcon_Krabby,
|
||||
[SPECIES_KINGLER] = gMonIcon_Kingler,
|
||||
[SPECIES_VOLTORB] = gMonIcon_Voltorb,
|
||||
[SPECIES_ELECTRODE] = gMonIcon_Electrode,
|
||||
[SPECIES_EXEGGCUTE] = gMonIcon_Exeggcute,
|
||||
[SPECIES_EXEGGUTOR] = gMonIcon_Exeggutor,
|
||||
[SPECIES_CUBONE] = gMonIcon_Cubone,
|
||||
[SPECIES_MAROWAK] = gMonIcon_Marowak,
|
||||
[SPECIES_HITMONLEE] = gMonIcon_Hitmonlee,
|
||||
[SPECIES_HITMONCHAN] = gMonIcon_Hitmonchan,
|
||||
[SPECIES_LICKITUNG] = gMonIcon_Lickitung,
|
||||
[SPECIES_KOFFING] = gMonIcon_Koffing,
|
||||
[SPECIES_WEEZING] = gMonIcon_Weezing,
|
||||
[SPECIES_RHYHORN] = gMonIcon_Rhyhorn,
|
||||
[SPECIES_RHYDON] = gMonIcon_Rhydon,
|
||||
[SPECIES_CHANSEY] = gMonIcon_Chansey,
|
||||
[SPECIES_TANGELA] = gMonIcon_Tangela,
|
||||
[SPECIES_KANGASKHAN] = gMonIcon_Kangaskhan,
|
||||
[SPECIES_HORSEA] = gMonIcon_Horsea,
|
||||
[SPECIES_SEADRA] = gMonIcon_Seadra,
|
||||
[SPECIES_GOLDEEN] = gMonIcon_Goldeen,
|
||||
[SPECIES_SEAKING] = gMonIcon_Seaking,
|
||||
[SPECIES_STARYU] = gMonIcon_Staryu,
|
||||
[SPECIES_STARMIE] = gMonIcon_Starmie,
|
||||
[SPECIES_MR_MIME] = gMonIcon_Mrmime,
|
||||
[SPECIES_SCYTHER] = gMonIcon_Scyther,
|
||||
[SPECIES_JYNX] = gMonIcon_Jynx,
|
||||
[SPECIES_ELECTABUZZ] = gMonIcon_Electabuzz,
|
||||
[SPECIES_MAGMAR] = gMonIcon_Magmar,
|
||||
[SPECIES_PINSIR] = gMonIcon_Pinsir,
|
||||
[SPECIES_TAUROS] = gMonIcon_Tauros,
|
||||
[SPECIES_MAGIKARP] = gMonIcon_Magikarp,
|
||||
[SPECIES_GYARADOS] = gMonIcon_Gyarados,
|
||||
[SPECIES_LAPRAS] = gMonIcon_Lapras,
|
||||
[SPECIES_DITTO] = gMonIcon_Ditto,
|
||||
[SPECIES_EEVEE] = gMonIcon_Eevee,
|
||||
[SPECIES_VAPOREON] = gMonIcon_Vaporeon,
|
||||
[SPECIES_JOLTEON] = gMonIcon_Jolteon,
|
||||
[SPECIES_FLAREON] = gMonIcon_Flareon,
|
||||
[SPECIES_PORYGON] = gMonIcon_Porygon,
|
||||
[SPECIES_OMANYTE] = gMonIcon_Omanyte,
|
||||
[SPECIES_OMASTAR] = gMonIcon_Omastar,
|
||||
[SPECIES_KABUTO] = gMonIcon_Kabuto,
|
||||
[SPECIES_KABUTOPS] = gMonIcon_Kabutops,
|
||||
[SPECIES_AERODACTYL] = gMonIcon_Aerodactyl,
|
||||
[SPECIES_SNORLAX] = gMonIcon_Snorlax,
|
||||
[SPECIES_ARTICUNO] = gMonIcon_Articuno,
|
||||
[SPECIES_ZAPDOS] = gMonIcon_Zapdos,
|
||||
[SPECIES_MOLTRES] = gMonIcon_Moltres,
|
||||
[SPECIES_DRATINI] = gMonIcon_Dratini,
|
||||
[SPECIES_DRAGONAIR] = gMonIcon_Dragonair,
|
||||
[SPECIES_DRAGONITE] = gMonIcon_Dragonite,
|
||||
[SPECIES_MEWTWO] = gMonIcon_Mewtwo,
|
||||
[SPECIES_MEW] = gMonIcon_Mew,
|
||||
[SPECIES_CHIKORITA] = gMonIcon_Chikorita,
|
||||
[SPECIES_BAYLEEF] = gMonIcon_Bayleef,
|
||||
[SPECIES_MEGANIUM] = gMonIcon_Meganium,
|
||||
[SPECIES_CYNDAQUIL] = gMonIcon_Cyndaquil,
|
||||
[SPECIES_QUILAVA] = gMonIcon_Quilava,
|
||||
[SPECIES_TYPHLOSION] = gMonIcon_Typhlosion,
|
||||
[SPECIES_TOTODILE] = gMonIcon_Totodile,
|
||||
[SPECIES_CROCONAW] = gMonIcon_Croconaw,
|
||||
[SPECIES_FERALIGATR] = gMonIcon_Feraligatr,
|
||||
[SPECIES_SENTRET] = gMonIcon_Sentret,
|
||||
[SPECIES_FURRET] = gMonIcon_Furret,
|
||||
[SPECIES_HOOTHOOT] = gMonIcon_Hoothoot,
|
||||
[SPECIES_NOCTOWL] = gMonIcon_Noctowl,
|
||||
[SPECIES_LEDYBA] = gMonIcon_Ledyba,
|
||||
[SPECIES_LEDIAN] = gMonIcon_Ledian,
|
||||
[SPECIES_SPINARAK] = gMonIcon_Spinarak,
|
||||
[SPECIES_ARIADOS] = gMonIcon_Ariados,
|
||||
[SPECIES_CROBAT] = gMonIcon_Crobat,
|
||||
[SPECIES_CHINCHOU] = gMonIcon_Chinchou,
|
||||
[SPECIES_LANTURN] = gMonIcon_Lanturn,
|
||||
[SPECIES_PICHU] = gMonIcon_Pichu,
|
||||
[SPECIES_CLEFFA] = gMonIcon_Cleffa,
|
||||
[SPECIES_IGGLYBUFF] = gMonIcon_Igglybuff,
|
||||
[SPECIES_TOGEPI] = gMonIcon_Togepi,
|
||||
[SPECIES_TOGETIC] = gMonIcon_Togetic,
|
||||
[SPECIES_NATU] = gMonIcon_Natu,
|
||||
[SPECIES_XATU] = gMonIcon_Xatu,
|
||||
[SPECIES_MAREEP] = gMonIcon_Mareep,
|
||||
[SPECIES_FLAAFFY] = gMonIcon_Flaaffy,
|
||||
[SPECIES_AMPHAROS] = gMonIcon_Ampharos,
|
||||
[SPECIES_BELLOSSOM] = gMonIcon_Bellossom,
|
||||
[SPECIES_MARILL] = gMonIcon_Marill,
|
||||
[SPECIES_AZUMARILL] = gMonIcon_Azumarill,
|
||||
[SPECIES_SUDOWOODO] = gMonIcon_Sudowoodo,
|
||||
[SPECIES_POLITOED] = gMonIcon_Politoed,
|
||||
[SPECIES_HOPPIP] = gMonIcon_Hoppip,
|
||||
[SPECIES_SKIPLOOM] = gMonIcon_Skiploom,
|
||||
[SPECIES_JUMPLUFF] = gMonIcon_Jumpluff,
|
||||
[SPECIES_AIPOM] = gMonIcon_Aipom,
|
||||
[SPECIES_SUNKERN] = gMonIcon_Sunkern,
|
||||
[SPECIES_SUNFLORA] = gMonIcon_Sunflora,
|
||||
[SPECIES_YANMA] = gMonIcon_Yanma,
|
||||
[SPECIES_WOOPER] = gMonIcon_Wooper,
|
||||
[SPECIES_QUAGSIRE] = gMonIcon_Quagsire,
|
||||
[SPECIES_ESPEON] = gMonIcon_Espeon,
|
||||
[SPECIES_UMBREON] = gMonIcon_Umbreon,
|
||||
[SPECIES_MURKROW] = gMonIcon_Murkrow,
|
||||
[SPECIES_SLOWKING] = gMonIcon_Slowking,
|
||||
[SPECIES_MISDREAVUS] = gMonIcon_Misdreavus,
|
||||
[SPECIES_UNOWN] = gMonIcon_UnownA,
|
||||
[SPECIES_WOBBUFFET] = gMonIcon_Wobbuffet,
|
||||
[SPECIES_GIRAFARIG] = gMonIcon_Girafarig,
|
||||
[SPECIES_PINECO] = gMonIcon_Pineco,
|
||||
[SPECIES_FORRETRESS] = gMonIcon_Forretress,
|
||||
[SPECIES_DUNSPARCE] = gMonIcon_Dunsparce,
|
||||
[SPECIES_GLIGAR] = gMonIcon_Gligar,
|
||||
[SPECIES_STEELIX] = gMonIcon_Steelix,
|
||||
[SPECIES_SNUBBULL] = gMonIcon_Snubbull,
|
||||
[SPECIES_GRANBULL] = gMonIcon_Granbull,
|
||||
[SPECIES_QWILFISH] = gMonIcon_Qwilfish,
|
||||
[SPECIES_SCIZOR] = gMonIcon_Scizor,
|
||||
[SPECIES_SHUCKLE] = gMonIcon_Shuckle,
|
||||
[SPECIES_HERACROSS] = gMonIcon_Heracross,
|
||||
[SPECIES_SNEASEL] = gMonIcon_Sneasel,
|
||||
[SPECIES_TEDDIURSA] = gMonIcon_Teddiursa,
|
||||
[SPECIES_URSARING] = gMonIcon_Ursaring,
|
||||
[SPECIES_SLUGMA] = gMonIcon_Slugma,
|
||||
[SPECIES_MAGCARGO] = gMonIcon_Magcargo,
|
||||
[SPECIES_SWINUB] = gMonIcon_Swinub,
|
||||
[SPECIES_PILOSWINE] = gMonIcon_Piloswine,
|
||||
[SPECIES_CORSOLA] = gMonIcon_Corsola,
|
||||
[SPECIES_REMORAID] = gMonIcon_Remoraid,
|
||||
[SPECIES_OCTILLERY] = gMonIcon_Octillery,
|
||||
[SPECIES_DELIBIRD] = gMonIcon_Delibird,
|
||||
[SPECIES_MANTINE] = gMonIcon_Mantine,
|
||||
[SPECIES_SKARMORY] = gMonIcon_Skarmory,
|
||||
[SPECIES_HOUNDOUR] = gMonIcon_Houndour,
|
||||
[SPECIES_HOUNDOOM] = gMonIcon_Houndoom,
|
||||
[SPECIES_KINGDRA] = gMonIcon_Kingdra,
|
||||
[SPECIES_PHANPY] = gMonIcon_Phanpy,
|
||||
[SPECIES_DONPHAN] = gMonIcon_Donphan,
|
||||
[SPECIES_PORYGON2] = gMonIcon_Porygon2,
|
||||
[SPECIES_STANTLER] = gMonIcon_Stantler,
|
||||
[SPECIES_SMEARGLE] = gMonIcon_Smeargle,
|
||||
[SPECIES_TYROGUE] = gMonIcon_Tyrogue,
|
||||
[SPECIES_HITMONTOP] = gMonIcon_Hitmontop,
|
||||
[SPECIES_SMOOCHUM] = gMonIcon_Smoochum,
|
||||
[SPECIES_ELEKID] = gMonIcon_Elekid,
|
||||
[SPECIES_MAGBY] = gMonIcon_Magby,
|
||||
[SPECIES_MILTANK] = gMonIcon_Miltank,
|
||||
[SPECIES_BLISSEY] = gMonIcon_Blissey,
|
||||
[SPECIES_RAIKOU] = gMonIcon_Raikou,
|
||||
[SPECIES_ENTEI] = gMonIcon_Entei,
|
||||
[SPECIES_SUICUNE] = gMonIcon_Suicune,
|
||||
[SPECIES_LARVITAR] = gMonIcon_Larvitar,
|
||||
[SPECIES_PUPITAR] = gMonIcon_Pupitar,
|
||||
[SPECIES_TYRANITAR] = gMonIcon_Tyranitar,
|
||||
[SPECIES_LUGIA] = gMonIcon_Lugia,
|
||||
[SPECIES_HO_OH] = gMonIcon_HoOh,
|
||||
[SPECIES_CELEBI] = gMonIcon_Celebi,
|
||||
[SPECIES_OLD_UNOWN_B] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_C] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_D] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_E] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_F] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_G] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_H] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_I] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_J] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_K] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_L] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_M] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_N] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_O] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_P] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_Q] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_R] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_S] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_T] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_U] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_V] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_W] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_X] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_Y] = gMonIcon_QuestionMark,
|
||||
[SPECIES_OLD_UNOWN_Z] = gMonIcon_QuestionMark,
|
||||
[SPECIES_TREECKO] = gMonIcon_Treecko,
|
||||
[SPECIES_GROVYLE] = gMonIcon_Grovyle,
|
||||
[SPECIES_SCEPTILE] = gMonIcon_Sceptile,
|
||||
[SPECIES_TORCHIC] = gMonIcon_Torchic,
|
||||
[SPECIES_COMBUSKEN] = gMonIcon_Combusken,
|
||||
[SPECIES_BLAZIKEN] = gMonIcon_Blaziken,
|
||||
[SPECIES_MUDKIP] = gMonIcon_Mudkip,
|
||||
[SPECIES_MARSHTOMP] = gMonIcon_Marshtomp,
|
||||
[SPECIES_SWAMPERT] = gMonIcon_Swampert,
|
||||
[SPECIES_POOCHYENA] = gMonIcon_Poochyena,
|
||||
[SPECIES_MIGHTYENA] = gMonIcon_Mightyena,
|
||||
[SPECIES_ZIGZAGOON] = gMonIcon_Zigzagoon,
|
||||
[SPECIES_LINOONE] = gMonIcon_Linoone,
|
||||
[SPECIES_WURMPLE] = gMonIcon_Wurmple,
|
||||
[SPECIES_SILCOON] = gMonIcon_Silcoon,
|
||||
[SPECIES_BEAUTIFLY] = gMonIcon_Beautifly,
|
||||
[SPECIES_CASCOON] = gMonIcon_Cascoon,
|
||||
[SPECIES_DUSTOX] = gMonIcon_Dustox,
|
||||
[SPECIES_LOTAD] = gMonIcon_Lotad,
|
||||
[SPECIES_LOMBRE] = gMonIcon_Lombre,
|
||||
[SPECIES_LUDICOLO] = gMonIcon_Ludicolo,
|
||||
[SPECIES_SEEDOT] = gMonIcon_Seedot,
|
||||
[SPECIES_NUZLEAF] = gMonIcon_Nuzleaf,
|
||||
[SPECIES_SHIFTRY] = gMonIcon_Shiftry,
|
||||
[SPECIES_NINCADA] = gMonIcon_Nincada,
|
||||
[SPECIES_NINJASK] = gMonIcon_Ninjask,
|
||||
[SPECIES_SHEDINJA] = gMonIcon_Shedinja,
|
||||
[SPECIES_TAILLOW] = gMonIcon_Taillow,
|
||||
[SPECIES_SWELLOW] = gMonIcon_Swellow,
|
||||
[SPECIES_SHROOMISH] = gMonIcon_Shroomish,
|
||||
[SPECIES_BRELOOM] = gMonIcon_Breloom,
|
||||
[SPECIES_SPINDA] = gMonIcon_Spinda,
|
||||
[SPECIES_WINGULL] = gMonIcon_Wingull,
|
||||
[SPECIES_PELIPPER] = gMonIcon_Pelipper,
|
||||
[SPECIES_SURSKIT] = gMonIcon_Surskit,
|
||||
[SPECIES_MASQUERAIN] = gMonIcon_Masquerain,
|
||||
[SPECIES_WAILMER] = gMonIcon_Wailmer,
|
||||
[SPECIES_WAILORD] = gMonIcon_Wailord,
|
||||
[SPECIES_SKITTY] = gMonIcon_Skitty,
|
||||
[SPECIES_DELCATTY] = gMonIcon_Delcatty,
|
||||
[SPECIES_KECLEON] = gMonIcon_Kecleon,
|
||||
[SPECIES_BALTOY] = gMonIcon_Baltoy,
|
||||
[SPECIES_CLAYDOL] = gMonIcon_Claydol,
|
||||
[SPECIES_NOSEPASS] = gMonIcon_Nosepass,
|
||||
[SPECIES_TORKOAL] = gMonIcon_Torkoal,
|
||||
[SPECIES_SABLEYE] = gMonIcon_Sableye,
|
||||
[SPECIES_BARBOACH] = gMonIcon_Barboach,
|
||||
[SPECIES_WHISCASH] = gMonIcon_Whiscash,
|
||||
[SPECIES_LUVDISC] = gMonIcon_Luvdisc,
|
||||
[SPECIES_CORPHISH] = gMonIcon_Corphish,
|
||||
[SPECIES_CRAWDAUNT] = gMonIcon_Crawdaunt,
|
||||
[SPECIES_FEEBAS] = gMonIcon_Feebas,
|
||||
[SPECIES_MILOTIC] = gMonIcon_Milotic,
|
||||
[SPECIES_CARVANHA] = gMonIcon_Carvanha,
|
||||
[SPECIES_SHARPEDO] = gMonIcon_Sharpedo,
|
||||
[SPECIES_TRAPINCH] = gMonIcon_Trapinch,
|
||||
[SPECIES_VIBRAVA] = gMonIcon_Vibrava,
|
||||
[SPECIES_FLYGON] = gMonIcon_Flygon,
|
||||
[SPECIES_MAKUHITA] = gMonIcon_Makuhita,
|
||||
[SPECIES_HARIYAMA] = gMonIcon_Hariyama,
|
||||
[SPECIES_ELECTRIKE] = gMonIcon_Electrike,
|
||||
[SPECIES_MANECTRIC] = gMonIcon_Manectric,
|
||||
[SPECIES_NUMEL] = gMonIcon_Numel,
|
||||
[SPECIES_CAMERUPT] = gMonIcon_Camerupt,
|
||||
[SPECIES_SPHEAL] = gMonIcon_Spheal,
|
||||
[SPECIES_SEALEO] = gMonIcon_Sealeo,
|
||||
[SPECIES_WALREIN] = gMonIcon_Walrein,
|
||||
[SPECIES_CACNEA] = gMonIcon_Cacnea,
|
||||
[SPECIES_CACTURNE] = gMonIcon_Cacturne,
|
||||
[SPECIES_SNORUNT] = gMonIcon_Snorunt,
|
||||
[SPECIES_GLALIE] = gMonIcon_Glalie,
|
||||
[SPECIES_LUNATONE] = gMonIcon_Lunatone,
|
||||
[SPECIES_SOLROCK] = gMonIcon_Solrock,
|
||||
[SPECIES_AZURILL] = gMonIcon_Azurill,
|
||||
[SPECIES_SPOINK] = gMonIcon_Spoink,
|
||||
[SPECIES_GRUMPIG] = gMonIcon_Grumpig,
|
||||
[SPECIES_PLUSLE] = gMonIcon_Plusle,
|
||||
[SPECIES_MINUN] = gMonIcon_Minun,
|
||||
[SPECIES_MAWILE] = gMonIcon_Mawile,
|
||||
[SPECIES_MEDITITE] = gMonIcon_Meditite,
|
||||
[SPECIES_MEDICHAM] = gMonIcon_Medicham,
|
||||
[SPECIES_SWABLU] = gMonIcon_Swablu,
|
||||
[SPECIES_ALTARIA] = gMonIcon_Altaria,
|
||||
[SPECIES_WYNAUT] = gMonIcon_Wynaut,
|
||||
[SPECIES_DUSKULL] = gMonIcon_Duskull,
|
||||
[SPECIES_DUSCLOPS] = gMonIcon_Dusclops,
|
||||
[SPECIES_ROSELIA] = gMonIcon_Roselia,
|
||||
[SPECIES_SLAKOTH] = gMonIcon_Slakoth,
|
||||
[SPECIES_VIGOROTH] = gMonIcon_Vigoroth,
|
||||
[SPECIES_SLAKING] = gMonIcon_Slaking,
|
||||
[SPECIES_GULPIN] = gMonIcon_Gulpin,
|
||||
[SPECIES_SWALOT] = gMonIcon_Swalot,
|
||||
[SPECIES_TROPIUS] = gMonIcon_Tropius,
|
||||
[SPECIES_WHISMUR] = gMonIcon_Whismur,
|
||||
[SPECIES_LOUDRED] = gMonIcon_Loudred,
|
||||
[SPECIES_EXPLOUD] = gMonIcon_Exploud,
|
||||
[SPECIES_CLAMPERL] = gMonIcon_Clamperl,
|
||||
[SPECIES_HUNTAIL] = gMonIcon_Huntail,
|
||||
[SPECIES_GOREBYSS] = gMonIcon_Gorebyss,
|
||||
[SPECIES_ABSOL] = gMonIcon_Absol,
|
||||
[SPECIES_SHUPPET] = gMonIcon_Shuppet,
|
||||
[SPECIES_BANETTE] = gMonIcon_Banette,
|
||||
[SPECIES_SEVIPER] = gMonIcon_Seviper,
|
||||
[SPECIES_ZANGOOSE] = gMonIcon_Zangoose,
|
||||
[SPECIES_RELICANTH] = gMonIcon_Relicanth,
|
||||
[SPECIES_ARON] = gMonIcon_Aron,
|
||||
[SPECIES_LAIRON] = gMonIcon_Lairon,
|
||||
[SPECIES_AGGRON] = gMonIcon_Aggron,
|
||||
[SPECIES_CASTFORM] = gMonIcon_Castform,
|
||||
[SPECIES_VOLBEAT] = gMonIcon_Volbeat,
|
||||
[SPECIES_ILLUMISE] = gMonIcon_Illumise,
|
||||
[SPECIES_LILEEP] = gMonIcon_Lileep,
|
||||
[SPECIES_CRADILY] = gMonIcon_Cradily,
|
||||
[SPECIES_ANORITH] = gMonIcon_Anorith,
|
||||
[SPECIES_ARMALDO] = gMonIcon_Armaldo,
|
||||
[SPECIES_RALTS] = gMonIcon_Ralts,
|
||||
[SPECIES_KIRLIA] = gMonIcon_Kirlia,
|
||||
[SPECIES_GARDEVOIR] = gMonIcon_Gardevoir,
|
||||
[SPECIES_BAGON] = gMonIcon_Bagon,
|
||||
[SPECIES_SHELGON] = gMonIcon_Shelgon,
|
||||
[SPECIES_SALAMENCE] = gMonIcon_Salamence,
|
||||
[SPECIES_BELDUM] = gMonIcon_Beldum,
|
||||
[SPECIES_METANG] = gMonIcon_Metang,
|
||||
[SPECIES_METAGROSS] = gMonIcon_Metagross,
|
||||
[SPECIES_REGIROCK] = gMonIcon_Regirock,
|
||||
[SPECIES_REGICE] = gMonIcon_Regice,
|
||||
[SPECIES_REGISTEEL] = gMonIcon_Registeel,
|
||||
[SPECIES_KYOGRE] = gMonIcon_Kyogre,
|
||||
[SPECIES_GROUDON] = gMonIcon_Groudon,
|
||||
[SPECIES_RAYQUAZA] = gMonIcon_Rayquaza,
|
||||
[SPECIES_LATIAS] = gMonIcon_Latias,
|
||||
[SPECIES_LATIOS] = gMonIcon_Latios,
|
||||
[SPECIES_JIRACHI] = gMonIcon_Jirachi,
|
||||
[SPECIES_DEOXYS] = gMonIcon_Deoxys,
|
||||
[SPECIES_CHIMECHO] = gMonIcon_Chimecho,
|
||||
[SPECIES_EGG] = gMonIcon_Egg,
|
||||
[SPECIES_UNOWN_B] = gMonIcon_UnownB,
|
||||
[SPECIES_UNOWN_C] = gMonIcon_UnownC,
|
||||
[SPECIES_UNOWN_D] = gMonIcon_UnownD,
|
||||
[SPECIES_UNOWN_E] = gMonIcon_UnownE,
|
||||
[SPECIES_UNOWN_F] = gMonIcon_UnownF,
|
||||
[SPECIES_UNOWN_G] = gMonIcon_UnownG,
|
||||
[SPECIES_UNOWN_H] = gMonIcon_UnownH,
|
||||
[SPECIES_UNOWN_I] = gMonIcon_UnownI,
|
||||
[SPECIES_UNOWN_J] = gMonIcon_UnownJ,
|
||||
[SPECIES_UNOWN_K] = gMonIcon_UnownK,
|
||||
[SPECIES_UNOWN_L] = gMonIcon_UnownL,
|
||||
[SPECIES_UNOWN_M] = gMonIcon_UnownM,
|
||||
[SPECIES_UNOWN_N] = gMonIcon_UnownN,
|
||||
[SPECIES_UNOWN_O] = gMonIcon_UnownO,
|
||||
[SPECIES_UNOWN_P] = gMonIcon_UnownP,
|
||||
[SPECIES_UNOWN_Q] = gMonIcon_UnownQ,
|
||||
[SPECIES_UNOWN_R] = gMonIcon_UnownR,
|
||||
[SPECIES_UNOWN_S] = gMonIcon_UnownS,
|
||||
[SPECIES_UNOWN_T] = gMonIcon_UnownT,
|
||||
[SPECIES_UNOWN_U] = gMonIcon_UnownU,
|
||||
[SPECIES_UNOWN_V] = gMonIcon_UnownV,
|
||||
[SPECIES_UNOWN_W] = gMonIcon_UnownW,
|
||||
[SPECIES_UNOWN_X] = gMonIcon_UnownX,
|
||||
[SPECIES_UNOWN_Y] = gMonIcon_UnownY,
|
||||
[SPECIES_UNOWN_Z] = gMonIcon_UnownZ,
|
||||
[SPECIES_UNOWN_EMARK] = gMonIcon_UnownExclamationMark,
|
||||
[SPECIES_UNOWN_QMARK] = gMonIcon_UnownQuestionMark,
|
||||
};
|
||||
|
||||
const u8 gMonIconPaletteIndices[] =
|
||||
@ -927,18 +927,15 @@ const struct SpritePalette gMonIconPaletteTable[] =
|
||||
const struct OamData sMonIconOamData =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 0,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.objMode = ST_OAM_OBJ_NORMAL,
|
||||
.bpp = ST_OAM_4BPP,
|
||||
.shape = SPRITE_SHAPE(32x32),
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = SPRITE_SIZE(32x32),
|
||||
.tileNum = 0,
|
||||
.priority = 1,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0
|
||||
};
|
||||
|
||||
// fastest to slowest
|
||||
@ -1141,7 +1138,7 @@ void sub_80D2EF8(struct Sprite *sprite)
|
||||
void LoadMonIconPalettes(void)
|
||||
{
|
||||
u8 i;
|
||||
for (i = 0; i < 6; i++)
|
||||
for (i = 0; i < ARRAY_COUNT(gMonIconPaletteTable); i++)
|
||||
LoadSpritePalette(&gMonIconPaletteTable[i]);
|
||||
}
|
||||
|
||||
@ -1195,7 +1192,7 @@ void sub_80D3014(struct Sprite *sprite)
|
||||
const u8* GetMonIconTiles(u16 species, bool32 extra)
|
||||
{
|
||||
const u8* iconSprite = gMonIconTable[species];
|
||||
if(species == SPECIES_DEOXYS && extra == TRUE)
|
||||
if (species == SPECIES_DEOXYS && extra == TRUE)
|
||||
{
|
||||
iconSprite = (const u8*)(0x400 + (u32)iconSprite); //WTF?
|
||||
}
|
||||
|
@ -4419,7 +4419,7 @@ static void PrintStorageActionText(u8 id)
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(sPSSData->field_2190, gPCStorageActionTexts[id].text);
|
||||
FillWindowPixelBuffer(1, PIXEL_FILL(1));
|
||||
AddTextPrinterParameterized(1, 1, sPSSData->field_2190, 0, 1, TEXT_SPEED_FF, NULL);
|
||||
sub_8098858(1, 2, 14);
|
||||
DrawTextBorderOuter(1, 2, 14);
|
||||
PutWindowTilemap(1);
|
||||
CopyWindowToVram(1, 2);
|
||||
schedule_bg_copy_tilemap_to_vram(0);
|
||||
|
@ -73,22 +73,17 @@ struct MatchCallStruct4 {
|
||||
const match_call_text_data_t *textData;
|
||||
};
|
||||
|
||||
// Note: Type1 and Type5 have identical struct layouts.
|
||||
struct MatchCallStruct5 {
|
||||
u8 type;
|
||||
u8 v1;
|
||||
u16 flag;
|
||||
u16 v4;
|
||||
u16 rematchTableIdx;
|
||||
const u8 *desc;
|
||||
const u8 *name;
|
||||
const match_call_text_data_t *textData;
|
||||
};
|
||||
|
||||
#define MATCHCALLDEF(name, type_, ...) \
|
||||
static const struct MatchCallStruct##type_ name = { \
|
||||
.type = type_, \
|
||||
__VA_ARGS__ \
|
||||
};
|
||||
|
||||
typedef union {
|
||||
const struct MatchCallStructCommon *common;
|
||||
const struct MatchCallStruct0 *type0;
|
||||
@ -328,7 +323,15 @@ static const match_call_text_data_t sMrStoneTextScripts[] = {
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sMrStoneMatchCallHeader, 0, 10, 0xffff, gMrStoneMatchCallDesc, gMrStoneMatchCallName, sMrStoneTextScripts);
|
||||
static const struct MatchCallStruct0 sMrStoneMatchCallHeader =
|
||||
{
|
||||
.type = 0,
|
||||
.v1 = 10,
|
||||
.flag = 0xFFFF,
|
||||
.desc = gMrStoneMatchCallDesc,
|
||||
.name = gMrStoneMatchCallName,
|
||||
.textData = sMrStoneTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sNormanTextScripts[] = {
|
||||
{ gText_Norman_Pokenav_2B5719, FLAG_ENABLE_NORMAN_MATCH_CALL, 0xFFFF },
|
||||
@ -343,9 +346,25 @@ static const match_call_text_data_t sNormanTextScripts[] = {
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sNormanMatchCallHeader, 5, 7, FLAG_ENABLE_NORMAN_MATCH_CALL, 0x45, gNormanMatchCallDesc, gNormanMatchCallName, sNormanTextScripts);
|
||||
static const struct MatchCallStruct5 sNormanMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 7,
|
||||
.flag = FLAG_ENABLE_NORMAN_MATCH_CALL,
|
||||
.rematchTableIdx = REMATCH_NORMAN,
|
||||
.desc = gNormanMatchCallDesc,
|
||||
.name = gNormanMatchCallName,
|
||||
.textData = sNormanTextScripts
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sProfBirchMatchCallHeader, 3, 0, FLAG_ENABLE_PROF_BIRCH_MATCH_CALL, gProfBirchMatchCallDesc, gProfBirchMatchCallName)
|
||||
static const struct MatchCallStruct3 sProfBirchMatchCallHeader =
|
||||
{
|
||||
.type = 3,
|
||||
.v1 = 0,
|
||||
.flag = FLAG_ENABLE_PROF_BIRCH_MATCH_CALL,
|
||||
.desc = gProfBirchMatchCallDesc,
|
||||
.name = gProfBirchMatchCallName
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sMomTextScripts[] = {
|
||||
{ gText_Mom_Pokenav_2B227B, 0xffff, 0xffff },
|
||||
@ -354,7 +373,15 @@ static const match_call_text_data_t sMomTextScripts[] = {
|
||||
{ NULL, 0xffff, 0xffff }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sMomMatchCallHeader, 0, 0, FLAG_ENABLE_MOM_MATCH_CALL, gMomMatchCallDesc, gMomMatchCallName, sMomTextScripts);
|
||||
static const struct MatchCallStruct0 sMomMatchCallHeader =
|
||||
{
|
||||
.type = 0,
|
||||
.v1 = 0,
|
||||
.flag = FLAG_ENABLE_MOM_MATCH_CALL,
|
||||
.desc = gMomMatchCallDesc,
|
||||
.name = gMomMatchCallName,
|
||||
.textData = sMomTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sStevenTextScripts[] = {
|
||||
{ gText_Steven_Pokenav_2B5B95, 0xffff, 0xffff },
|
||||
@ -367,7 +394,15 @@ static const match_call_text_data_t sStevenTextScripts[] = {
|
||||
{ NULL, 0xffff, 0xffff },
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sStevenMatchCallHeader, 0, 0xd5, FLAG_REGISTERED_STEVEN_POKENAV, gStevenMatchCallDesc, gStevenMatchCallName, sStevenTextScripts);
|
||||
static const struct MatchCallStruct0 sStevenMatchCallHeader =
|
||||
{
|
||||
.type = 0,
|
||||
.v1 = 0xD5,
|
||||
.flag = FLAG_REGISTERED_STEVEN_POKENAV,
|
||||
.desc = gStevenMatchCallDesc,
|
||||
.name = gStevenMatchCallName,
|
||||
.textData = sStevenTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sMayTextScripts[] = {
|
||||
{ gText_May_Pokenav_2B3AB3, 0xFFFF, 0xFFFF },
|
||||
@ -388,7 +423,15 @@ static const match_call_text_data_t sMayTextScripts[] = {
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sMayMatchCallHeader, 4, MALE, FLAG_ENABLE_RIVAL_MATCH_CALL, gMayBrendanMatchCallDesc, gExpandedPlaceholder_May, sMayTextScripts);
|
||||
static const struct MatchCallStruct4 sMayMatchCallHeader =
|
||||
{
|
||||
.type = 4,
|
||||
.gender = MALE,
|
||||
.flag = FLAG_ENABLE_RIVAL_MATCH_CALL,
|
||||
.desc = gMayBrendanMatchCallDesc,
|
||||
.name = gExpandedPlaceholder_May,
|
||||
.textData = sMayTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sBrendanTextScripts[] = {
|
||||
{ gText_Brendan_Pokenav_2B43EF, 0xFFFF, 0xFFFF },
|
||||
@ -409,7 +452,15 @@ static const match_call_text_data_t sBrendanTextScripts[] = {
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sBrendanMatchCallHeader, 4, FEMALE, FLAG_ENABLE_RIVAL_MATCH_CALL, gMayBrendanMatchCallDesc, gExpandedPlaceholder_Brendan, sBrendanTextScripts);
|
||||
static const struct MatchCallStruct4 sBrendanMatchCallHeader =
|
||||
{
|
||||
.type = 4,
|
||||
.gender = FEMALE,
|
||||
.flag = FLAG_ENABLE_RIVAL_MATCH_CALL,
|
||||
.desc = gMayBrendanMatchCallDesc,
|
||||
.name = gExpandedPlaceholder_Brendan,
|
||||
.textData = sBrendanTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sWallyTextScripts[] = {
|
||||
{ gText_Wally_Pokenav_2B4DE2, 0xFFFF, 0xFFFF },
|
||||
@ -429,7 +480,16 @@ const struct MatchCallSubstruct2 sWallyAdditionalData[] = {
|
||||
{ 0xFFFF, 0xD5 }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sWallyMatchCallHeader, 2, 0, FLAG_ENABLE_WALLY_MATCH_CALL, REMATCH_WALLY_3, gWallyMatchCallDesc, sWallyTextScripts, sWallyAdditionalData);
|
||||
static const struct MatchCallStruct2 sWallyMatchCallHeader =
|
||||
{
|
||||
.type = 2,
|
||||
.v1 = 0,
|
||||
.flag = FLAG_ENABLE_WALLY_MATCH_CALL,
|
||||
.rematchTableIdx = REMATCH_WALLY_3,
|
||||
.desc = gWallyMatchCallDesc,
|
||||
.textData = sWallyTextScripts,
|
||||
.v10 = sWallyAdditionalData
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sScottTextScripts[] = {
|
||||
{ gText_Scott_Pokenav_2B5184, 0xFFFF, 0xFFFF },
|
||||
@ -443,7 +503,15 @@ static const match_call_text_data_t sScottTextScripts[] = {
|
||||
};
|
||||
|
||||
|
||||
MATCHCALLDEF(sScottMatchCallHeader, 0, 0xD5, FLAG_ENABLE_SCOTT_MATCH_CALL, gScottMatchCallDesc, gScottMatchCallName, sScottTextScripts);
|
||||
static const struct MatchCallStruct0 sScottMatchCallHeader =
|
||||
{
|
||||
.type = 0,
|
||||
.v1 = 0xD5,
|
||||
.flag = FLAG_ENABLE_SCOTT_MATCH_CALL,
|
||||
.desc = gScottMatchCallDesc,
|
||||
.name = gScottMatchCallName,
|
||||
.textData = sScottTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sRoxanneTextScripts[] = {
|
||||
{ gText_Roxanne_Pokenav_2B2456, 0xFFFE, 0xFFFF },
|
||||
@ -453,7 +521,16 @@ static const match_call_text_data_t sRoxanneTextScripts[] = {
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sRoxanneMatchCallHeader, 5, 10, FLAG_ENABLE_ROXANNE_MATCH_CALL, 0x41, gRoxanneMatchCallDesc, NULL, sRoxanneTextScripts);
|
||||
static const struct MatchCallStruct5 sRoxanneMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 10,
|
||||
.flag = FLAG_ENABLE_ROXANNE_MATCH_CALL,
|
||||
.rematchTableIdx = REMATCH_ROXANNE,
|
||||
.desc = gRoxanneMatchCallDesc,
|
||||
.name = NULL,
|
||||
.textData = sRoxanneTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sBrawlyTextScripts[] = {
|
||||
{ gText_Brawly_Pokenav_2B2659, 0xFFFE, 0xFFFF },
|
||||
@ -463,7 +540,16 @@ static const match_call_text_data_t sBrawlyTextScripts[] = {
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sBrawlyMatchCallHeader, 5, 2, FLAG_ENABLE_BRAWLY_MATCH_CALL, 0x42, gBrawlyMatchCallDesc, NULL, sBrawlyTextScripts);
|
||||
static const struct MatchCallStruct5 sBrawlyMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 2,
|
||||
.flag = FLAG_ENABLE_BRAWLY_MATCH_CALL,
|
||||
.rematchTableIdx = REMATCH_BRAWLY,
|
||||
.desc = gBrawlyMatchCallDesc,
|
||||
.name = NULL,
|
||||
.textData = sBrawlyTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sWattsonTextScripts[] = {
|
||||
{ gText_Wattson_Pokenav_2B2912, 0xFFFE, 0xFFFF },
|
||||
@ -473,7 +559,16 @@ static const match_call_text_data_t sWattsonTextScripts[] = {
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sWattsonMatchCallHeader, 5, 9, FLAG_ENABLE_WATTSON_MATCH_CALL, 0x43, gWattsonMatchCallDesc, NULL, sWattsonTextScripts);
|
||||
static const struct MatchCallStruct5 sWattsonMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 9,
|
||||
.flag = FLAG_ENABLE_WATTSON_MATCH_CALL,
|
||||
.rematchTableIdx = REMATCH_WATTSON,
|
||||
.desc = gWattsonMatchCallDesc,
|
||||
.name = NULL,
|
||||
.textData = sWattsonTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sFlanneryTextScripts[] = {
|
||||
{ gText_Flannery_Pokenav_2B2B4D, 0xFFFE, 0xFFFF },
|
||||
@ -483,7 +578,16 @@ static const match_call_text_data_t sFlanneryTextScripts[] = {
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sFlanneryMatchCallHeader, 5, 3, FLAG_ENABLE_FLANNERY_MATCH_CALL, 0x44, gFlanneryMatchCallDesc, NULL, sFlanneryTextScripts);
|
||||
static const struct MatchCallStruct5 sFlanneryMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 3,
|
||||
.flag = FLAG_ENABLE_FLANNERY_MATCH_CALL,
|
||||
.rematchTableIdx = REMATCH_FLANNERY,
|
||||
.desc = gFlanneryMatchCallDesc,
|
||||
.name = NULL,
|
||||
.textData = sFlanneryTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sWinonaTextScripts[] = {
|
||||
{ gText_Winona_Pokenav_2B2DA4, 0xFFFE, 0xFFFF },
|
||||
@ -493,7 +597,16 @@ static const match_call_text_data_t sWinonaTextScripts[] = {
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sWinonaMatchCallHeader, 5, 11, FLAG_ENABLE_WINONA_MATCH_CALL, 0x46, gWinonaMatchCallDesc, NULL, sWinonaTextScripts);
|
||||
static const struct MatchCallStruct5 sWinonaMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 11,
|
||||
.flag = FLAG_ENABLE_WINONA_MATCH_CALL,
|
||||
.rematchTableIdx = REMATCH_WINONA,
|
||||
.desc = gWinonaMatchCallDesc,
|
||||
.name = NULL,
|
||||
.textData = sWinonaTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sTateLizaTextScripts[] = {
|
||||
{ gText_TateLiza_Pokenav_2B2F97, 0xFFFE, 0xFFFF },
|
||||
@ -503,7 +616,16 @@ static const match_call_text_data_t sTateLizaTextScripts[] = {
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sTateLizaMatchCallHeader, 5, 13, FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL, 0x47, gTateLizaMatchCallDesc, NULL, sTateLizaTextScripts);
|
||||
static const struct MatchCallStruct5 sTateLizaMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 13,
|
||||
.flag = FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL,
|
||||
.rematchTableIdx = REMATCH_TATE_AND_LIZA,
|
||||
.desc = gTateLizaMatchCallDesc,
|
||||
.name = NULL,
|
||||
.textData = sTateLizaTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sJuanTextScripts[] = {
|
||||
{ gText_Juan_Pokenav_2B3249, 0xFFFE, 0xFFFF },
|
||||
@ -513,42 +635,96 @@ static const match_call_text_data_t sJuanTextScripts[] = {
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sJuanMatchCallHeader, 5, 14, FLAG_ENABLE_JUAN_MATCH_CALL, 0x48, gJuanMatchCallDesc, NULL, sJuanTextScripts);
|
||||
static const struct MatchCallStruct5 sJuanMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 14,
|
||||
.flag = FLAG_ENABLE_JUAN_MATCH_CALL,
|
||||
.rematchTableIdx = REMATCH_JUAN,
|
||||
.desc = gJuanMatchCallDesc,
|
||||
.name = NULL,
|
||||
.textData = sJuanTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sSidneyTextScripts[] = {
|
||||
{ gText_Sidney_Pokenav_2B34CC, 0xFFFF, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sSidneyMatchCallHeader, 5, 15, FLAG_REMATCH_JUAN, 0x49, gEliteFourMatchCallDesc, NULL, sSidneyTextScripts);
|
||||
static const struct MatchCallStruct5 sSidneyMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 15,
|
||||
.flag = FLAG_REMATCH_SIDNEY,
|
||||
.rematchTableIdx = REMATCH_SIDNEY,
|
||||
.desc = gEliteFourMatchCallDesc,
|
||||
.name = NULL,
|
||||
.textData = sSidneyTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sPhoebeTextScripts[] = {
|
||||
{ gText_Phoebe_Pokenav_2B3561, 0xFFFF, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sPhoebeMatchCallHeader, 5, 15, FLAG_REMATCH_SIDNEY, 0x4A, gEliteFourMatchCallDesc, NULL, sPhoebeTextScripts);
|
||||
static const struct MatchCallStruct5 sPhoebeMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 15,
|
||||
.flag = FLAG_REMATCH_PHOEBE,
|
||||
.rematchTableIdx = REMATCH_PHOEBE,
|
||||
.desc = gEliteFourMatchCallDesc,
|
||||
.name = NULL,
|
||||
.textData = sPhoebeTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sGlaciaTextScripts[] = {
|
||||
{ gText_Glacia_Pokenav_2B35E4, 0xFFFF, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sGlaciaMatchCallHeader, 5, 15, FLAG_REMATCH_PHOEBE, 0x4B, gEliteFourMatchCallDesc, NULL, sGlaciaTextScripts);
|
||||
static const struct MatchCallStruct5 sGlaciaMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 15,
|
||||
.flag = FLAG_REMATCH_GLACIA,
|
||||
.rematchTableIdx = REMATCH_GLACIA,
|
||||
.desc = gEliteFourMatchCallDesc,
|
||||
.name = NULL,
|
||||
.textData = sGlaciaTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sDrakeTextScripts[] = {
|
||||
{ gText_Drake_Pokenav_2B368B, 0xFFFF, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sDrakeMatchCallHeader, 5, 15, FLAG_REMATCH_GLACIA, 0x4C, gEliteFourMatchCallDesc, NULL, sDrakeTextScripts);
|
||||
static const struct MatchCallStruct5 sDrakeMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 15,
|
||||
.flag = FLAG_REMATCH_DRAKE,
|
||||
.rematchTableIdx = REMATCH_DRAKE,
|
||||
.desc = gEliteFourMatchCallDesc,
|
||||
.name = NULL,
|
||||
.textData = sDrakeTextScripts
|
||||
};
|
||||
|
||||
static const match_call_text_data_t sWallaceTextScripts[] = {
|
||||
{ gText_Wallace_Pokenav_2B3790, 0xFFFF, 0xFFFF },
|
||||
{ NULL, 0xFFFF, 0xFFFF }
|
||||
};
|
||||
|
||||
MATCHCALLDEF(sWallaceMatchCallHeader, 5, 15, FLAG_REMATCH_DRAKE, 0x4D, gChampionMatchCallDesc, NULL, sWallaceTextScripts);
|
||||
static const struct MatchCallStruct5 sWallaceMatchCallHeader =
|
||||
{
|
||||
.type = 5,
|
||||
.v1 = 15,
|
||||
.flag = FLAG_REMATCH_WALLACE,
|
||||
.rematchTableIdx = REMATCH_WALLACE,
|
||||
.desc = gChampionMatchCallDesc,
|
||||
.name = NULL,
|
||||
.textData = sWallaceTextScripts
|
||||
};
|
||||
|
||||
static const match_call_t sMatchCallHeaders[] = {
|
||||
{.type0 = &sMrStoneMatchCallHeader},
|
||||
@ -680,7 +856,7 @@ bool32 MatchCallFlagGetByIndex(u32 idx)
|
||||
match_call_t matchCall;
|
||||
u32 i;
|
||||
|
||||
if (idx > 20)
|
||||
if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
|
||||
return FALSE;
|
||||
matchCall = sMatchCallHeaders[idx];
|
||||
i = MatchCallGetFunctionIndex(matchCall);
|
||||
@ -727,7 +903,7 @@ u8 sub_81D16DC(u32 idx)
|
||||
match_call_t matchCall;
|
||||
u32 i;
|
||||
|
||||
if (idx > 20)
|
||||
if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
|
||||
return 0;
|
||||
matchCall = sMatchCallHeaders[idx];
|
||||
i = MatchCallGetFunctionIndex(matchCall);
|
||||
@ -771,7 +947,7 @@ bool32 MatchCall_IsRematchable(u32 idx)
|
||||
match_call_t matchCall;
|
||||
u32 i;
|
||||
|
||||
if (idx > 20)
|
||||
if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
|
||||
return 0;
|
||||
matchCall = sMatchCallHeaders[idx];
|
||||
i = MatchCallGetFunctionIndex(matchCall);
|
||||
@ -810,13 +986,13 @@ bool32 sub_81D17E8(u32 idx)
|
||||
match_call_t matchCall;
|
||||
u32 i;
|
||||
|
||||
if (idx > 20)
|
||||
if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
|
||||
return FALSE;
|
||||
matchCall = sMatchCallHeaders[idx];
|
||||
i = MatchCallGetFunctionIndex(matchCall);
|
||||
if (gUnknown_08625338[i](matchCall))
|
||||
return TRUE;
|
||||
for (i = 0; i < 4; i++)
|
||||
for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
|
||||
{
|
||||
if (sMatchCallCheckPageOverrides[i].idx == idx)
|
||||
return TRUE;
|
||||
@ -854,7 +1030,7 @@ u32 MatchCall_GetRematchTableIdx(u32 idx)
|
||||
match_call_t matchCall;
|
||||
u32 i;
|
||||
|
||||
if (idx > 20)
|
||||
if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
|
||||
return REMATCH_TABLE_ENTRIES;
|
||||
matchCall = sMatchCallHeaders[idx];
|
||||
i = MatchCallGetFunctionIndex(matchCall);
|
||||
@ -891,7 +1067,7 @@ void MatchCall_GetMessage(u32 idx, u8 *dest)
|
||||
match_call_t matchCall;
|
||||
u32 i;
|
||||
|
||||
if (idx > 20)
|
||||
if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
|
||||
return;
|
||||
matchCall = sMatchCallHeaders[idx];
|
||||
i = MatchCallGetFunctionIndex(matchCall);
|
||||
@ -906,9 +1082,9 @@ static void MatchCall_GetMessage_Type0(match_call_t matchCall, u8 *dest)
|
||||
static void MatchCall_GetMessage_Type1(match_call_t matchCall, u8 *dest)
|
||||
{
|
||||
if (matchCall.common->type != 5)
|
||||
sub_81D1920(matchCall.type5->textData, dest);
|
||||
sub_81D1920(matchCall.type1->textData, dest);
|
||||
else
|
||||
sub_81D199C(matchCall.type1->textData, matchCall.type1->rematchTableIdx, dest);
|
||||
sub_81D199C(matchCall.type5->textData, matchCall.type5->rematchTableIdx, dest);
|
||||
}
|
||||
|
||||
static void MatchCall_GetMessage_Type2(match_call_t matchCall, u8 *dest)
|
||||
@ -1093,7 +1269,7 @@ void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name)
|
||||
match_call_t matchCall;
|
||||
u32 i;
|
||||
|
||||
if (idx > 20)
|
||||
if (idx > ARRAY_COUNT(sMatchCallHeaders) - 1)
|
||||
return;
|
||||
matchCall = sMatchCallHeaders[idx];
|
||||
i = MatchCallGetFunctionIndex(matchCall);
|
||||
@ -1146,11 +1322,11 @@ const u8 *sub_81D1B40(u32 idx, u32 offset)
|
||||
{
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
|
||||
{
|
||||
if (sMatchCallCheckPageOverrides[i].idx == idx)
|
||||
{
|
||||
for (; i + 1 < 4 && sMatchCallCheckPageOverrides[i + 1].idx == idx; i++)
|
||||
for (; i + 1 < ARRAY_COUNT(sMatchCallCheckPageOverrides) && sMatchCallCheckPageOverrides[i + 1].idx == idx; i++)
|
||||
{
|
||||
if (!FlagGet(sMatchCallCheckPageOverrides[i + 1].v4))
|
||||
break;
|
||||
@ -1244,7 +1420,7 @@ s32 sub_81D1BD0(u32 idx)
|
||||
{
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
|
||||
{
|
||||
if (sMatchCallCheckPageOverrides[i].idx == idx)
|
||||
return sMatchCallCheckPageOverrides[i].v2;
|
||||
@ -1256,7 +1432,7 @@ bool32 sub_81D1BF8(u32 idx)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 21; i++)
|
||||
for (i = 0; i < (s32)ARRAY_COUNT(sMatchCallHeaders); i++)
|
||||
{
|
||||
u32 r0 = MatchCall_GetRematchTableIdx(i);
|
||||
if (r0 != REMATCH_TABLE_ENTRIES && r0 == idx)
|
||||
|
@ -405,7 +405,7 @@ bool32 sub_80991F8(void)
|
||||
u8 *sub_8099244(void)
|
||||
{
|
||||
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
|
||||
if (!sub_801B27C())
|
||||
if (!ValidateReceivedWonderCard())
|
||||
return NULL;
|
||||
if (scriptData->magic != RAM_SCRIPT_MAGIC)
|
||||
return NULL;
|
||||
|
@ -1183,7 +1183,7 @@ static void Task_HandleMultichoiceInput(u8 taskId)
|
||||
{
|
||||
gSpecialVar_Result = selection;
|
||||
}
|
||||
sub_80E2A78(tWindowId);
|
||||
ClearToTransparentAndRemoveWindow(tWindowId);
|
||||
DestroyTask(taskId);
|
||||
EnableBothScriptContexts();
|
||||
}
|
||||
@ -1219,8 +1219,6 @@ bool8 IsScriptActive(void)
|
||||
|
||||
static void Task_HandleYesNoInput(u8 taskId)
|
||||
{
|
||||
u8 left, top;
|
||||
|
||||
if (gTasks[taskId].tRight < 5)
|
||||
{
|
||||
gTasks[taskId].tRight++;
|
||||
@ -1229,9 +1227,9 @@ static void Task_HandleYesNoInput(u8 taskId)
|
||||
|
||||
switch (Menu_ProcessInputNoWrapClearOnChoose())
|
||||
{
|
||||
case -2:
|
||||
case MENU_NOTHING_CHOSEN:
|
||||
return;
|
||||
case -1:
|
||||
case MENU_B_PRESSED:
|
||||
case 1:
|
||||
PlaySE(SE_SELECT);
|
||||
gSpecialVar_Result = 0;
|
||||
@ -1247,8 +1245,6 @@ static void Task_HandleYesNoInput(u8 taskId)
|
||||
|
||||
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 columnCount)
|
||||
{
|
||||
u8 bottom = 0;
|
||||
|
||||
if (FuncIsActiveTask(Task_HandleMultichoiceGridInput) == TRUE)
|
||||
{
|
||||
return FALSE;
|
||||
@ -1256,10 +1252,8 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPr
|
||||
else
|
||||
{
|
||||
u8 taskId;
|
||||
u8 unk2;
|
||||
int width;
|
||||
int i;
|
||||
u8 newWidth;
|
||||
u8 rowCount, newWidth;
|
||||
int i, width;
|
||||
|
||||
gSpecialVar_Result = 0xFF;
|
||||
width = 0;
|
||||
@ -1272,15 +1266,15 @@ bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPr
|
||||
newWidth = convert_pixel_width_to_tile_width(width);
|
||||
|
||||
left = sub_80E2D5C(left, columnCount * newWidth);
|
||||
unk2 = gMultichoiceLists[multichoiceId].count / columnCount;
|
||||
rowCount = gMultichoiceLists[multichoiceId].count / columnCount;
|
||||
|
||||
taskId = CreateTask(Task_HandleMultichoiceGridInput, 80);
|
||||
|
||||
gTasks[taskId].tIgnoreBPress = ignoreBPress;
|
||||
gTasks[taskId].tWindowId = CreateWindowFromRect(left, top, columnCount * newWidth, unk2 * 2);
|
||||
gTasks[taskId].tWindowId = CreateWindowFromRect(left, top, columnCount * newWidth, rowCount * 2);
|
||||
SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, 0);
|
||||
sub_81997AC(gTasks[taskId].tWindowId, newWidth * 8, columnCount, unk2, gMultichoiceLists[multichoiceId].list);
|
||||
sub_8199944(gTasks[taskId].tWindowId, newWidth * 8, columnCount, unk2, 0);
|
||||
PrintMenuGridTable(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, gMultichoiceLists[multichoiceId].list);
|
||||
sub_8199944(gTasks[taskId].tWindowId, newWidth * 8, columnCount, rowCount, 0);
|
||||
CopyWindowToVram(gTasks[taskId].tWindowId, 3);
|
||||
return TRUE;
|
||||
}
|
||||
@ -1291,23 +1285,24 @@ static void Task_HandleMultichoiceGridInput(u8 taskId)
|
||||
s16 *data = gTasks[taskId].data;
|
||||
s8 selection = Menu_ProcessInputGridLayout();
|
||||
|
||||
if (selection != -2)
|
||||
{
|
||||
if (selection == -1)
|
||||
switch (selection)
|
||||
{
|
||||
case MENU_NOTHING_CHOSEN:
|
||||
return;
|
||||
case MENU_B_PRESSED:
|
||||
if (tIgnoreBPress)
|
||||
return;
|
||||
PlaySE(SE_SELECT);
|
||||
gSpecialVar_Result = 0x7F;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
default:
|
||||
gSpecialVar_Result = selection;
|
||||
break;
|
||||
}
|
||||
sub_80E2A78(tWindowId);
|
||||
|
||||
ClearToTransparentAndRemoveWindow(tWindowId);
|
||||
DestroyTask(taskId);
|
||||
EnableBothScriptContexts();
|
||||
}
|
||||
}
|
||||
|
||||
#undef tWindowId
|
||||
@ -1564,7 +1559,7 @@ static void Task_PokemonPicWindow(u8 taskId)
|
||||
task->tState++;
|
||||
break;
|
||||
case 3:
|
||||
sub_80E2A78(task->tWindowId);
|
||||
ClearToTransparentAndRemoveWindow(task->tWindowId);
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
}
|
||||
@ -1628,7 +1623,7 @@ u8 CreateWindowFromRect(u8 x, u8 y, u8 width, u8 height)
|
||||
return windowId;
|
||||
}
|
||||
|
||||
void sub_80E2A78(u8 windowId)
|
||||
void ClearToTransparentAndRemoveWindow(u8 windowId)
|
||||
{
|
||||
ClearStdWindowAndFrameToTransparent(windowId, TRUE);
|
||||
RemoveWindow(windowId);
|
||||
|
@ -395,7 +395,7 @@ static void sub_80F8EE8(u8 taskId)
|
||||
task->data[0]++;
|
||||
break;
|
||||
case 4:
|
||||
sub_80E2A78(gTasks[taskId].data[5]);
|
||||
ClearToTransparentAndRemoveWindow(gTasks[taskId].data[5]);
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
}
|
||||
@ -488,7 +488,7 @@ void sub_80F910C(void)
|
||||
if (gIsLinkContest & 2)
|
||||
{
|
||||
if (gReceivedRemoteLinkPlayers)
|
||||
sub_800E084();
|
||||
DestroyWirelessStatusIndicatorSprite();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -44,6 +44,7 @@
|
||||
#include "window.h"
|
||||
#include "constants/songs.h"
|
||||
#include "rom_8011DC0.h"
|
||||
#include "union_room.h"
|
||||
|
||||
// Menu actions
|
||||
enum
|
||||
@ -1184,7 +1185,7 @@ static bool32 sub_80A03E4(u8 *par1)
|
||||
InitBgsFromTemplates(0, sUnknown_085105A8, ARRAY_COUNT(sUnknown_085105A8));
|
||||
InitWindows(sUnknown_085105AC);
|
||||
LoadUserWindowBorderGfx_(0, 8, 224);
|
||||
sub_81978B0(240);
|
||||
Menu_LoadStdPalAt(240);
|
||||
break;
|
||||
case 3:
|
||||
ShowBg(0);
|
||||
@ -1233,7 +1234,7 @@ static void sub_80A0550(u8 taskId)
|
||||
2,
|
||||
1,
|
||||
3);
|
||||
sub_8098858(0, 8, 14);
|
||||
DrawTextBorderOuter(0, 8, 14);
|
||||
PutWindowTilemap(0);
|
||||
CopyWindowToVram(0, 3);
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
|
||||
|
@ -113,7 +113,7 @@ void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset)
|
||||
LoadWindowGfx(windowId, gSaveBlock2Ptr->optionsWindowFrameType, destOffset, palOffset);
|
||||
}
|
||||
|
||||
void sub_8098858(u8 windowId, u16 tileNum, u8 palNum)
|
||||
void DrawTextBorderOuter(u8 windowId, u16 tileNum, u8 palNum)
|
||||
{
|
||||
u8 bgLayer = GetWindowAttribute(windowId, WINDOW_BG);
|
||||
u16 tilemapLeft = GetWindowAttribute(windowId, WINDOW_TILEMAP_LEFT);
|
||||
@ -131,7 +131,7 @@ void sub_8098858(u8 windowId, u16 tileNum, u8 palNum)
|
||||
FillBgTilemapBufferRect(bgLayer, tileNum + 8, tilemapLeft + width, tilemapTop + height, 1, 1, palNum);
|
||||
}
|
||||
|
||||
void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum)
|
||||
void DrawTextBorderInner(u8 windowId, u16 tileNum, u8 palNum)
|
||||
{
|
||||
u8 bgLayer = GetWindowAttribute(windowId, WINDOW_BG);
|
||||
u16 tilemapLeft = GetWindowAttribute(windowId, WINDOW_TILEMAP_LEFT);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user