@@ -1311,7 +1311,7 @@
|
||||
various \battler, 15
|
||||
.endm
|
||||
|
||||
.macro arenajudmengtstring id:req
|
||||
.macro arenajudgmentstring id:req
|
||||
various \id, VARIOUS_ARENA_JUDGMENT_STRING
|
||||
.endm
|
||||
|
||||
|
||||
@@ -434,8 +434,8 @@ RESUME_MUSIC = FC 18
|
||||
|
||||
TRANSPARENT = 00
|
||||
WHITE = 01
|
||||
DARK_GREY = 02
|
||||
LIGHT_GREY = 03
|
||||
DARK_GRAY = 02
|
||||
LIGHT_GRAY = 03
|
||||
RED = 04
|
||||
LIGHT_RED = 05
|
||||
GREEN = 06
|
||||
|
||||
@@ -434,8 +434,8 @@ RESUME_MUSIC = FC 18
|
||||
|
||||
TRANSPARENT = 00
|
||||
WHITE = 01
|
||||
DARK_GREY = 02
|
||||
LIGHT_GREY = 03
|
||||
DARK_GRAY = 02
|
||||
LIGHT_GRAY = 03
|
||||
RED = 04
|
||||
LIGHT_RED = 05
|
||||
GREEN = 06
|
||||
|
||||
+2
-2
@@ -438,8 +438,8 @@ RESUME_MUSIC = FC 18
|
||||
|
||||
TRANSPARENT = 00
|
||||
WHITE = 01
|
||||
DARK_GREY = 02
|
||||
LIGHT_GREY = 03
|
||||
DARK_GRAY = 02
|
||||
LIGHT_GRAY = 03
|
||||
RED = 04
|
||||
LIGHT_RED = 05
|
||||
GREEN = 06
|
||||
|
||||
+587
-582
File diff suppressed because it is too large
Load Diff
+34
-39
@@ -34,7 +34,7 @@ gBattlescriptsForUsingItem:: @ 82DBD3C
|
||||
.4byte BattleScript_OpponentUsesHealItem @ AI_ITEM_HEAL_HP
|
||||
.4byte BattleScript_OpponentUsesStatusCureItem @ AI_ITEM_CURE_CONDITION
|
||||
.4byte BattleScript_OpponentUsesXItem @ AI_ITEM_X_STAT
|
||||
.4byte BattleScript_OpponentUsesGuardSpecs @ AI_ITEM_GUARD_SPECS
|
||||
.4byte BattleScript_OpponentUsesGuardSpec @ AI_ITEM_GUARD_SPEC
|
||||
|
||||
.align 2
|
||||
gBattlescriptsForRunningByItem:: @ 82DBD54
|
||||
@@ -69,16 +69,16 @@ BattleScript_PrintCaughtMonInfo::
|
||||
trysetcaughtmondexflags BattleScript_TryNicknameCaughtMon
|
||||
printstring STRINGID_PKMNDATAADDEDTODEX
|
||||
waitstate
|
||||
setbyte gBattleCommunication, 0x0
|
||||
setbyte gBattleCommunication, 0
|
||||
displaydexinfo
|
||||
BattleScript_TryNicknameCaughtMon::
|
||||
printstring STRINGID_GIVENICKNAMECAPTURED
|
||||
waitstate
|
||||
setbyte gBattleCommunication, 0x0
|
||||
setbyte gBattleCommunication, 0
|
||||
trygivecaughtmonnick BattleScript_GiveCaughtMonEnd
|
||||
givecaughtmon
|
||||
printfromtable gCaughtMonStringIds
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
goto BattleScript_SuccessBallThrowEnd
|
||||
BattleScript_GiveCaughtMonEnd::
|
||||
givecaughtmon
|
||||
@@ -93,83 +93,78 @@ BattleScript_WallyBallThrow::
|
||||
|
||||
BattleScript_ShakeBallThrow::
|
||||
printfromtable gBallEscapeStringIds
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_ShakeBallThrowEnd
|
||||
jumpifbyte CMP_NOT_EQUAL, gNumSafariBalls, 0x0, BattleScript_ShakeBallThrowEnd
|
||||
jumpifbyte CMP_NOT_EQUAL, gNumSafariBalls, 0, BattleScript_ShakeBallThrowEnd
|
||||
printstring STRINGID_OUTOFSAFARIBALLS
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
setbyte gBattleOutcome, B_OUTCOME_NO_SAFARI_BALLS
|
||||
BattleScript_ShakeBallThrowEnd::
|
||||
finishaction
|
||||
|
||||
BattleScript_TrainerBallBlock::
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
printstring STRINGID_TRAINERBLOCKEDBALL
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
printstring STRINGID_DONTBEATHIEF
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
finishaction
|
||||
|
||||
BattleScript_PlayerUsesItem::
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
moveendcase MOVEEND_MIRROR_MOVE
|
||||
end
|
||||
|
||||
BattleScript_OpponentUsesHealItem::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
pause 0x30
|
||||
pause B_WAIT_TIME_MED
|
||||
playse SE_USE_ITEM
|
||||
printstring STRINGID_TRAINER1USEDITEM
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
useitemonopponent
|
||||
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
||||
healthbarupdate BS_ATTACKER
|
||||
datahpupdate BS_ATTACKER
|
||||
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
updatestatusicon BS_ATTACKER
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
moveendcase MOVEEND_MIRROR_MOVE
|
||||
finishaction
|
||||
|
||||
BattleScript_OpponentUsesStatusCureItem::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
pause 0x30
|
||||
pause B_WAIT_TIME_MED
|
||||
playse SE_USE_ITEM
|
||||
printstring STRINGID_TRAINER1USEDITEM
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
useitemonopponent
|
||||
printfromtable gTrainerItemCuredStatusStringIds
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
updatestatusicon BS_ATTACKER
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
moveendcase MOVEEND_MIRROR_MOVE
|
||||
finishaction
|
||||
|
||||
BattleScript_OpponentUsesXItem::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
pause 0x30
|
||||
pause B_WAIT_TIME_MED
|
||||
playse SE_USE_ITEM
|
||||
printstring STRINGID_TRAINER1USEDITEM
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
useitemonopponent
|
||||
printfromtable gStatUpStringIds
|
||||
waitmessage 0x40
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
moveendcase MOVEEND_MIRROR_MOVE
|
||||
finishaction
|
||||
|
||||
BattleScript_OpponentUsesGuardSpecs::
|
||||
BattleScript_OpponentUsesGuardSpec::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
pause 0x30
|
||||
pause B_WAIT_TIME_MED
|
||||
playse SE_USE_ITEM
|
||||
printstring STRINGID_TRAINER1USEDITEM
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
useitemonopponent
|
||||
printfromtable gMistUsedStringIds
|
||||
waitmessage 0x40
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
moveendcase MOVEEND_MIRROR_MOVE
|
||||
finishaction
|
||||
|
||||
BattleScript_RunByUsingItem::
|
||||
@@ -179,29 +174,29 @@ BattleScript_RunByUsingItem::
|
||||
|
||||
BattleScript_ActionWatchesCarefully:
|
||||
printstring STRINGID_PKMNWATCHINGCAREFULLY
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end2
|
||||
|
||||
BattleScript_ActionGetNear:
|
||||
printfromtable gSafariGetNearStringIds
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end2
|
||||
|
||||
BattleScript_ActionThrowPokeblock:
|
||||
printstring STRINGID_THREWPOKEBLOCKATPKMN
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
playanimation BS_ATTACKER, B_ANIM_POKEBLOCK_THROW, NULL
|
||||
printfromtable gSafariPokeblockResultStringIds
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end2
|
||||
|
||||
BattleScript_ActionWallyThrow:
|
||||
printstring STRINGID_RETURNMON
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
returnatktoball
|
||||
waitstate
|
||||
trainerslidein BS_TARGET
|
||||
waitstate
|
||||
printstring STRINGID_YOUTHROWABALLNOWRIGHT
|
||||
waitmessage 0x40
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end2
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"connections": null,
|
||||
"object_events": [
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_GROUDON_1",
|
||||
"graphics_id": "OBJ_EVENT_GFX_GROUDON_FRONT",
|
||||
"x": 16,
|
||||
"y": 17,
|
||||
"elevation": 0,
|
||||
@@ -25,7 +25,7 @@
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "0x0",
|
||||
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1"
|
||||
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_MAGMA_MEMBER_M",
|
||||
@@ -93,7 +93,7 @@
|
||||
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_GROUDON_2",
|
||||
"graphics_id": "OBJ_EVENT_GFX_GROUDON_ASLEEP",
|
||||
"x": 16,
|
||||
"y": 17,
|
||||
"elevation": 3,
|
||||
@@ -103,7 +103,7 @@
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "0x0",
|
||||
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_2"
|
||||
"flag": "FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_ASLEEP"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_ITEM_BALL",
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"connections": null,
|
||||
"object_events": [
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_KYOGRE_1",
|
||||
"graphics_id": "OBJ_EVENT_GFX_KYOGRE_FRONT",
|
||||
"x": 9,
|
||||
"y": 22,
|
||||
"elevation": 1,
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"connections": null,
|
||||
"object_events": [
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_KYOGRE_1",
|
||||
"graphics_id": "OBJ_EVENT_GFX_KYOGRE_FRONT",
|
||||
"x": 17,
|
||||
"y": 38,
|
||||
"elevation": 3,
|
||||
@@ -25,7 +25,7 @@
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "0x0",
|
||||
"flag": "FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1"
|
||||
"flag": "FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_ARCHIE",
|
||||
@@ -93,7 +93,7 @@
|
||||
"flag": "FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_26"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_KYOGRE_2",
|
||||
"graphics_id": "OBJ_EVENT_GFX_KYOGRE_ASLEEP",
|
||||
"x": 17,
|
||||
"y": 38,
|
||||
"elevation": 3,
|
||||
@@ -103,7 +103,7 @@
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "0x0",
|
||||
"flag": "FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_2"
|
||||
"flag": "FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_ASLEEP"
|
||||
}
|
||||
],
|
||||
"warp_events": [
|
||||
|
||||
@@ -142,7 +142,7 @@ SeafloorCavern_Room9_EventScript_ArchieAwakenKyogre:: @ 8234DC9
|
||||
setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE
|
||||
setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE
|
||||
setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS
|
||||
setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1
|
||||
setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE
|
||||
setflag FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS
|
||||
setflag FLAG_HIDE_MAP_NAME_POPUP
|
||||
warp MAP_ROUTE128, 255, 38, 22
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"connections": null,
|
||||
"object_events": [
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_RAYQUAZA_2",
|
||||
"graphics_id": "OBJ_EVENT_GFX_RAYQUAZA",
|
||||
"x": 14,
|
||||
"y": 7,
|
||||
"elevation": 3,
|
||||
@@ -25,10 +25,10 @@
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "0x0",
|
||||
"flag": "FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_2"
|
||||
"flag": "FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_RAYQUAZA_1",
|
||||
"graphics_id": "OBJ_EVENT_GFX_RAYQUAZA_STILL",
|
||||
"x": 14,
|
||||
"y": 6,
|
||||
"elevation": 3,
|
||||
@@ -38,7 +38,7 @@
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "SkyPillar_Top_EventScript_Rayquaza",
|
||||
"flag": "FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT"
|
||||
"flag": "FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_STILL"
|
||||
}
|
||||
],
|
||||
"warp_events": [
|
||||
|
||||
@@ -34,7 +34,7 @@ SkyPillar_Top_EventScript_TryShowRayquaza:: @ 8239705
|
||||
return
|
||||
|
||||
SkyPillar_Top_EventScript_ShowRayquaza:: @ 823970F
|
||||
clearflag FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT
|
||||
clearflag FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_STILL
|
||||
return
|
||||
|
||||
SkyPillar_Top_OnWarp: @ 8239713
|
||||
@@ -138,17 +138,19 @@ SkyPillar_Top_EventScript_AwakenRayquaza:: @ 823979A
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ Rayquaza has unusual movement frames
|
||||
@ See comments, or sAnimTable_Rayquaza
|
||||
SkyPillar_Top_Movement_RayquazaStir: @ 823983A
|
||||
delay_16
|
||||
walk_in_place_fast_left
|
||||
walk_in_place_fast_left @ Coiled, awake
|
||||
delay_16
|
||||
delay_16
|
||||
delay_16
|
||||
delay_16
|
||||
delay_16
|
||||
walk_in_place_left
|
||||
walk_in_place_left @ Coiled, mouth open
|
||||
delay_16
|
||||
walk_in_place_right
|
||||
walk_in_place_right @ Normal, awake
|
||||
delay_16
|
||||
delay_16
|
||||
delay_16
|
||||
@@ -159,11 +161,11 @@ SkyPillar_Top_Movement_RayquazaStir: @ 823983A
|
||||
|
||||
SkyPillar_Top_Movement_RayquazaFlyOff: @ 823984B
|
||||
delay_16
|
||||
walk_in_place_down
|
||||
walk_in_place_down @ Coiled, asleep
|
||||
delay_8
|
||||
walk_in_place_right
|
||||
walk_in_place_right @ Normal, awake
|
||||
delay_8
|
||||
walk_fastest_up
|
||||
walk_fastest_up @ Fly up
|
||||
slide_up
|
||||
slide_up
|
||||
slide_up
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
"flag": "0"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_GROUDON_3",
|
||||
"graphics_id": "OBJ_EVENT_GFX_GROUDON_SIDE",
|
||||
"x": 28,
|
||||
"y": 44,
|
||||
"elevation": 0,
|
||||
@@ -132,7 +132,7 @@
|
||||
"flag": "FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_KYOGRE_3",
|
||||
"graphics_id": "OBJ_EVENT_GFX_KYOGRE_SIDE",
|
||||
"x": 34,
|
||||
"y": 44,
|
||||
"elevation": 1,
|
||||
@@ -145,7 +145,7 @@
|
||||
"flag": "FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_RAYQUAZA_2",
|
||||
"graphics_id": "OBJ_EVENT_GFX_RAYQUAZA",
|
||||
"x": 31,
|
||||
"y": 41,
|
||||
"elevation": 1,
|
||||
|
||||
@@ -258,8 +258,8 @@ SootopolisCity_EventScript_LegendariesSceneFromPokeCenter:: @ 81E5946
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_GROUDON, 2
|
||||
applymovement LOCALID_KYOGRE, SootopolisCity_Movement_GroudonAttack
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_KyogreDefend
|
||||
applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreDefend
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonAttack
|
||||
waitmovement 0
|
||||
setvar VAR_0x8004, 1 @ vertical pan
|
||||
setvar VAR_0x8005, 1 @ horizontal pan
|
||||
@@ -358,8 +358,8 @@ SootopolisCity_EventScript_LegendariesSceneFromDive:: @ 81E5A82
|
||||
waitmovement 0
|
||||
waitse
|
||||
playmoncry SPECIES_GROUDON, 2
|
||||
applymovement LOCALID_KYOGRE, SootopolisCity_Movement_GroudonAttack
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_KyogreDefend
|
||||
applymovement LOCALID_KYOGRE, SootopolisCity_Movement_KyogreDefend
|
||||
applymovement LOCALID_GROUDON, SootopolisCity_Movement_GroudonAttack
|
||||
waitmovement 0
|
||||
setvar VAR_0x8004, 1 @ vertical pan
|
||||
setvar VAR_0x8005, 1 @ horizontal pan
|
||||
@@ -431,7 +431,7 @@ SootopolisCity_Movement_KyogreAttack: @ 81E5BB8
|
||||
clear_affine_anim
|
||||
step_end
|
||||
|
||||
SootopolisCity_Movement_GroudonAttack: @ 81E5BC2
|
||||
SootopolisCity_Movement_KyogreDefend: @ 81E5BC2
|
||||
delay_16
|
||||
delay_16
|
||||
delay_16
|
||||
@@ -464,7 +464,7 @@ SootopolisCity_Movement_KyogreIdle: @ 81E5BD6
|
||||
walk_in_place_slow_left
|
||||
step_end
|
||||
|
||||
SootopolisCity_Movement_KyogreDefend: @ 81E5BDD
|
||||
SootopolisCity_Movement_GroudonAttack: @ 81E5BDD
|
||||
walk_in_place_slow_right
|
||||
walk_in_place_slow_right
|
||||
walk_in_place_slow_right
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"connections": null,
|
||||
"object_events": [
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_GROUDON_1",
|
||||
"graphics_id": "OBJ_EVENT_GFX_GROUDON_FRONT",
|
||||
"x": 17,
|
||||
"y": 22,
|
||||
"elevation": 1,
|
||||
|
||||
@@ -889,7 +889,7 @@ RecordCorner_EventScript_AlreadyMixed:: @ 82774E0
|
||||
closemessage
|
||||
end
|
||||
|
||||
EventScript_ConfirmLeaveTradeRoom:: @ 82774EF
|
||||
EventScript_ConfirmLeaveCableClubRoom:: @ 82774EF
|
||||
msgbox Text_TerminateLinkConfirmation, MSGBOX_YESNO
|
||||
compare VAR_RESULT, YES
|
||||
goto_if_eq EventScript_TerminateLink
|
||||
|
||||
@@ -179,8 +179,8 @@ EventScript_ResetAllMapFlags:: @ 82715DE
|
||||
setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE
|
||||
setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE
|
||||
setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS
|
||||
setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1
|
||||
setflag FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1
|
||||
setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE
|
||||
setflag FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON
|
||||
setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN
|
||||
setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT
|
||||
setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE
|
||||
@@ -271,6 +271,6 @@ EventScript_ResetAllMapFlags:: @ 82715DE
|
||||
setflag FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT
|
||||
setflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT
|
||||
setflag FLAG_HIDE_SKY_PILLAR_WALLACE
|
||||
setflag FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT
|
||||
setflag FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_STILL
|
||||
call EventScript_ResetAllBerries
|
||||
end
|
||||
|
||||
+4
-4
@@ -2925,7 +2925,7 @@ gTVInSearchOfTrainersText08:: @ 0828C011
|
||||
.string "That's all for today!\n"
|
||||
.string "See you again on our next broadcast!$"
|
||||
|
||||
gTVPokemonContestLiveUpdates2Text00:: @ 0828C137
|
||||
ContestLadyShow_Text_Intro:: @ 0828C137
|
||||
.string "“POKéMON CONTEST LIVE UPDATES!”\p"
|
||||
.string "MC: Sorry to interrupt the regular\n"
|
||||
.string "programming, and thanks for joining us!\p"
|
||||
@@ -2940,7 +2940,7 @@ gTVPokemonContestLiveUpdates2Text00:: @ 0828C137
|
||||
.string "Spectators: ?!!!!\n"
|
||||
.string "?!!!!$"
|
||||
|
||||
gTVPokemonContestLiveUpdates2Text01:: @ 0828C28C
|
||||
ContestLadyShow_Text_Won:: @ 0828C28C
|
||||
.string "MC: Excuse me!\n"
|
||||
.string "Thanks for joining us on live TV!\p"
|
||||
.string "May I congratulate you on your win?\p"
|
||||
@@ -2959,7 +2959,7 @@ gTVPokemonContestLiveUpdates2Text01:: @ 0828C28C
|
||||
.string "We did it!\l"
|
||||
.string "Thank you!$"
|
||||
|
||||
gTVPokemonContestLiveUpdates2Text02:: @ 0828C45B
|
||||
ContestLadyShow_Text_Lost:: @ 0828C45B
|
||||
.string "MC: Excuse me!\n"
|
||||
.string "Thanks for joining us on live TV!\p"
|
||||
.string "You must be disappointed by that turn\n"
|
||||
@@ -2979,7 +2979,7 @@ gTVPokemonContestLiveUpdates2Text02:: @ 0828C45B
|
||||
.string "Uh… That's all the time we have today!\n"
|
||||
.string "Thanks for tuning in!$"
|
||||
|
||||
gTVPokemonContestLiveUpdates2Text03:: @ 0828C662
|
||||
ContestLadyShow_Text_LostBadly:: @ 0828C662
|
||||
.string "MC: Excuse me!\n"
|
||||
.string "Thanks for joining us on live TV!\p"
|
||||
.string "How did your CONTEST appearance go?\p"
|
||||
|
||||
+2
-2
@@ -1416,9 +1416,9 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
|
||||
|
||||
fgColor = TEXT_COLOR_WHITE;
|
||||
bgColor = TEXT_COLOR_TRANSPARENT;
|
||||
shadowColor = TEXT_COLOR_LIGHT_GREY;
|
||||
shadowColor = TEXT_COLOR_LIGHT_GRAY;
|
||||
|
||||
GenerateFontHalfRowLookupTable(TEXT_COLOR_WHITE, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY);
|
||||
GenerateFontHalfRowLookupTable(TEXT_COLOR_WHITE, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GRAY);
|
||||
strLocal = str;
|
||||
strPos = 0;
|
||||
|
||||
|
||||
+2
-2
@@ -233,8 +233,8 @@
|
||||
|
||||
#define TEXT_COLOR_TRANSPARENT 0x0
|
||||
#define TEXT_COLOR_WHITE 0x1
|
||||
#define TEXT_COLOR_DARK_GREY 0x2
|
||||
#define TEXT_COLOR_LIGHT_GREY 0x3
|
||||
#define TEXT_COLOR_DARK_GRAY 0x2
|
||||
#define TEXT_COLOR_LIGHT_GRAY 0x3
|
||||
#define TEXT_COLOR_RED 0x4
|
||||
#define TEXT_COLOR_LIGHT_RED 0x5
|
||||
#define TEXT_COLOR_GREEN 0x6
|
||||
|
||||
+11
-10
@@ -40,16 +40,17 @@
|
||||
#define MAX_TRAINER_ITEMS 4
|
||||
|
||||
// array entries for battle communication
|
||||
#define MULTIUSE_STATE 0x0
|
||||
#define CURSOR_POSITION 0x1
|
||||
#define TASK_ID 0x1 // task Id and cursor position share the same field
|
||||
#define SPRITES_INIT_STATE1 0x1 // shares the Id as well
|
||||
#define SPRITES_INIT_STATE2 0x2
|
||||
#define MOVE_EFFECT_BYTE 0x3
|
||||
#define ACTIONS_CONFIRMED_COUNT 0x4
|
||||
#define MULTISTRING_CHOOSER 0x5
|
||||
#define MSG_DISPLAY 0x7
|
||||
#define BATTLE_COMMUNICATION_ENTRIES_COUNT 0x8
|
||||
#define MULTIUSE_STATE 0
|
||||
#define CURSOR_POSITION 1
|
||||
#define TASK_ID 1 // task Id and cursor position share the same field
|
||||
#define SPRITES_INIT_STATE1 1 // shares the Id as well
|
||||
#define SPRITES_INIT_STATE2 2
|
||||
#define MOVE_EFFECT_BYTE 3
|
||||
#define ACTIONS_CONFIRMED_COUNT 4
|
||||
#define MULTISTRING_CHOOSER 5
|
||||
#define MISS_TYPE 6
|
||||
#define MSG_DISPLAY 7
|
||||
#define BATTLE_COMMUNICATION_ENTRIES_COUNT 8
|
||||
|
||||
#define MOVE_TARGET_SELECTED 0x0
|
||||
#define MOVE_TARGET_DEPENDS 0x1
|
||||
|
||||
@@ -7,10 +7,30 @@ enum
|
||||
AI_ITEM_HEAL_HP,
|
||||
AI_ITEM_CURE_CONDITION,
|
||||
AI_ITEM_X_STAT,
|
||||
AI_ITEM_GUARD_SPECS,
|
||||
AI_ITEM_GUARD_SPEC,
|
||||
AI_ITEM_NOT_RECOGNIZABLE
|
||||
};
|
||||
|
||||
enum {
|
||||
AI_HEAL_CONFUSION,
|
||||
AI_HEAL_PARALYSIS,
|
||||
AI_HEAL_FREEZE,
|
||||
AI_HEAL_BURN,
|
||||
AI_HEAL_POISON,
|
||||
AI_HEAL_SLEEP,
|
||||
};
|
||||
|
||||
enum {
|
||||
AI_X_ATTACK,
|
||||
AI_X_DEFEND,
|
||||
AI_X_SPEED,
|
||||
AI_X_SPATK,
|
||||
AI_X_SPDEF, // Unused
|
||||
AI_X_ACCURACY,
|
||||
AI_X_EVASION, // Unused
|
||||
AI_DIRE_HIT,
|
||||
};
|
||||
|
||||
void AI_TrySwitchOrUseItem(void);
|
||||
u8 GetMostSuitableMonToSwitchInto(void);
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@ enum
|
||||
CONTROLLER_CLEARUNKFLAG,
|
||||
CONTROLLER_TOGGLEUNKFLAG,
|
||||
CONTROLLER_HITANIMATION,
|
||||
CONTROLLER_42,
|
||||
CONTROLLER_CANTSWITCH,
|
||||
CONTROLLER_PLAYSE,
|
||||
CONTROLLER_PLAYFANFAREORBGM,
|
||||
CONTROLLER_FAINTINGCRY,
|
||||
@@ -227,7 +227,7 @@ void BtlController_EmitSetUnkVar(u8 bufferId, u8 b); // unused
|
||||
void BtlController_EmitClearUnkFlag(u8 bufferId); // unused
|
||||
void BtlController_EmitToggleUnkFlag(u8 bufferId); // unused
|
||||
void BtlController_EmitHitAnimation(u8 bufferId);
|
||||
void BtlController_EmitCmd42(u8 bufferId);
|
||||
void BtlController_EmitCantSwitch(u8 bufferId);
|
||||
void BtlController_EmitPlaySE(u8 bufferId, u16 songId);
|
||||
void BtlController_EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM);
|
||||
void BtlController_EmitFaintingCry(u8 bufferId);
|
||||
|
||||
@@ -223,7 +223,6 @@ extern const u8* const gBattleStringsTable[];
|
||||
extern const u8* const gStatNamesTable[];
|
||||
extern const u8* const gPokeblockWasTooXStringTable[];
|
||||
extern const u8* const gRefereeStringsTable[];
|
||||
extern const u8* const gStatNamesTable2[];
|
||||
extern const u8 *const gRoundsStringTable[];
|
||||
|
||||
extern const u8 gText_PkmnIsEvolving[];
|
||||
@@ -269,7 +268,7 @@ extern const u8 gText_Win[];
|
||||
extern const u8 gText_Loss[];
|
||||
extern const u8 gText_Draw[];
|
||||
extern const u8 gText_StatRose[];
|
||||
extern const u8 gText_PkmnsStatChanged2[];
|
||||
extern const u8 gText_DefendersStatRose[];
|
||||
extern const u8 gText_PkmnGettingPumped[];
|
||||
extern const u8 gText_PkmnShroudedInMist[];
|
||||
extern const u8 gText_PkmnsXPreventsSwitching[];
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define GUARD_CABLE_CLUB_H
|
||||
|
||||
#include "task.h"
|
||||
#include "constants/cable_club.h"
|
||||
|
||||
void CreateTask_EnterCableClubSeat(TaskFunc taskFunc);
|
||||
u8 CreateTask_ReestablishCableClubLink(void);
|
||||
|
||||
@@ -302,4 +302,8 @@
|
||||
#define BATTLE_TERRAIN_BUILDING 8
|
||||
#define BATTLE_TERRAIN_PLAIN 9
|
||||
|
||||
#define B_WAIT_TIME_LONG 64
|
||||
#define B_WAIT_TIME_MED 48
|
||||
#define B_WAIT_TIME_SHORT 32
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_H
|
||||
|
||||
@@ -32,14 +32,17 @@
|
||||
|
||||
#define cEFFECT_CHOOSER gBattleCommunication + 3
|
||||
#define cMULTISTRING_CHOOSER gBattleCommunication + 5
|
||||
#define cMISS_TYPE gBattleCommunication + 6
|
||||
|
||||
// Battle Script defines for getting the wanted battler
|
||||
#define BS_TARGET 0
|
||||
#define BS_ATTACKER 1
|
||||
#define BS_EFFECT_BATTLER 2
|
||||
#define BS_FAINTED 3
|
||||
#define BS_BATTLER_0 7
|
||||
#define BS_ATTACKER_WITH_PARTNER 4 // for Cmd_updatestatusicon
|
||||
#define BS_UNK_5 5
|
||||
#define BS_UNK_6 6
|
||||
#define BS_BATTLER_0 7
|
||||
#define BS_ATTACKER_SIDE 8 // for Cmd_jumpifability
|
||||
#define BS_NOT_ATTACKER_SIDE 9 // for Cmd_jumpifability
|
||||
#define BS_SCRIPTING 10
|
||||
@@ -54,12 +57,12 @@
|
||||
#define ACC_CURR_MOVE 0
|
||||
|
||||
// compare operands
|
||||
#define CMP_EQUAL 0x0
|
||||
#define CMP_NOT_EQUAL 0x1
|
||||
#define CMP_GREATER_THAN 0x2
|
||||
#define CMP_LESS_THAN 0x3
|
||||
#define CMP_COMMON_BITS 0x4
|
||||
#define CMP_NO_COMMON_BITS 0x5
|
||||
#define CMP_EQUAL 0
|
||||
#define CMP_NOT_EQUAL 1
|
||||
#define CMP_GREATER_THAN 2
|
||||
#define CMP_LESS_THAN 3
|
||||
#define CMP_COMMON_BITS 4
|
||||
#define CMP_NO_COMMON_BITS 5
|
||||
|
||||
// Cmd_various
|
||||
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
|
||||
@@ -92,27 +95,29 @@
|
||||
#define DMG_DOUBLED 2
|
||||
|
||||
// Cmd_jumpifcantswitch
|
||||
#define SWITCH_IGNORE_ESCAPE_PREVENTION 0x80
|
||||
#define SWITCH_IGNORE_ESCAPE_PREVENTION (1 << 7)
|
||||
|
||||
// Cmd_statbuffchange
|
||||
#define STAT_BUFF_ALLOW_PTR 0x1 // If set, allow use of jumpptr. Set in every use of statbuffchange
|
||||
#define STAT_BUFF_NOT_PROTECT_AFFECTED 0x20
|
||||
#define STAT_BUFF_ALLOW_PTR (1 << 0) // If set, allow use of jumpptr. Set in every use of statbuffchange
|
||||
#define STAT_BUFF_NOT_PROTECT_AFFECTED (1 << 5)
|
||||
|
||||
// stat change flags for Cmd_playstatchangeanimation
|
||||
#define STAT_CHANGE_NEGATIVE 0x1
|
||||
#define STAT_CHANGE_BY_TWO 0x2
|
||||
#define STAT_CHANGE_MULTIPLE_STATS 0x4
|
||||
#define STAT_CHANGE_CANT_PREVENT 0x8
|
||||
#define STAT_CHANGE_NEGATIVE (1 << 0)
|
||||
#define STAT_CHANGE_BY_TWO (1 << 1)
|
||||
#define STAT_CHANGE_MULTIPLE_STATS (1 << 2)
|
||||
#define STAT_CHANGE_CANT_PREVENT (1 << 3)
|
||||
|
||||
// stat flags for Cmd_playstatchangeanimation
|
||||
#define BIT_HP 0x1
|
||||
#define BIT_ATK 0x2
|
||||
#define BIT_DEF 0x4
|
||||
#define BIT_SPEED 0x8
|
||||
#define BIT_SPATK 0x10
|
||||
#define BIT_SPDEF 0x20
|
||||
#define BIT_ACC 0x40
|
||||
#define BIT_EVASION 0x80
|
||||
#define BIT_HP (1 << 0)
|
||||
#define BIT_ATK (1 << 1)
|
||||
#define BIT_DEF (1 << 2)
|
||||
#define BIT_SPEED (1 << 3)
|
||||
#define BIT_SPATK (1 << 4)
|
||||
#define BIT_SPDEF (1 << 5)
|
||||
#define BIT_ACC (1 << 6)
|
||||
#define BIT_EVASION (1 << 7)
|
||||
|
||||
#define PARTY_SCREEN_OPTIONAL (1 << 7) // Flag for first argument to openpartyscreen
|
||||
|
||||
// cases for Cmd_moveend
|
||||
#define MOVEEND_RAGE 0
|
||||
|
||||
@@ -214,10 +214,10 @@
|
||||
#define STRINGID_STATROSE 210
|
||||
#define STRINGID_STATHARSHLY 211
|
||||
#define STRINGID_STATFELL 212
|
||||
#define STRINGID_PKMNSSTATCHANGED 213
|
||||
#define STRINGID_PKMNSSTATCHANGED2 214
|
||||
#define STRINGID_PKMNSSTATCHANGED3 215
|
||||
#define STRINGID_PKMNSSTATCHANGED4 216
|
||||
#define STRINGID_ATTACKERSSTATROSE 213
|
||||
#define STRINGID_DEFENDERSSTATROSE 214
|
||||
#define STRINGID_ATTACKERSSTATFELL 215
|
||||
#define STRINGID_DEFENDERSSTATFELL 216
|
||||
#define STRINGID_CRITICALHIT 217
|
||||
#define STRINGID_ONEHITKO 218
|
||||
#define STRINGID_123POOF 219
|
||||
@@ -326,7 +326,7 @@
|
||||
#define STRINGID_SOOTHINGAROMA 322
|
||||
#define STRINGID_ITEMSCANTBEUSEDNOW 323
|
||||
#define STRINGID_FORXCOMMAYZ 324
|
||||
#define STRINGID_USINGXTHEYOFZN 325
|
||||
#define STRINGID_USINGITEMSTATOFPKMNROSE 325
|
||||
#define STRINGID_PKMNUSEDXTOGETPUMPED 326
|
||||
#define STRINGID_PKMNSXMADEYUSELESS 327
|
||||
#define STRINGID_PKMNTRAPPEDBYSANDTOMB 328
|
||||
@@ -383,4 +383,218 @@
|
||||
#define STRINGID_TRAINER1WINTEXT 379
|
||||
#define STRINGID_TRAINER2WINTEXT 380
|
||||
|
||||
|
||||
// The below IDs are all indexes into battle message tables,
|
||||
// used to determine which of a set of messages to print.
|
||||
// They are assigned to the MULTISTRING_CHOOSER byte of gBattleCommunication
|
||||
// and read when e.g. the command printfromtable is used.
|
||||
|
||||
// gStatUpStringIds
|
||||
#define B_MSG_ATTACKER_STAT_ROSE 0
|
||||
#define B_MSG_DEFENDER_STAT_ROSE 1
|
||||
#define B_MSG_STAT_WONT_INCREASE 2
|
||||
#define B_MSG_STAT_ROSE_EMPTY 3
|
||||
#define B_MSG_STAT_ROSE_ITEM 4
|
||||
#define B_MSG_USED_DIRE_HIT 5
|
||||
|
||||
// gStatDownStringIds
|
||||
#define B_MSG_ATTACKER_STAT_FELL 0
|
||||
#define B_MSG_DEFENDER_STAT_FELL 1
|
||||
#define B_MSG_STAT_WONT_DECREASE 2
|
||||
#define B_MSG_STAT_FELL_EMPTY 3
|
||||
|
||||
// gMissStringIds
|
||||
#define B_MSG_MISSED 0
|
||||
#define B_MSG_PROTECTED 1
|
||||
#define B_MSG_AVOIDED_ATK 2
|
||||
#define B_MSG_AVOIDED_DMG 3
|
||||
#define B_MSG_GROUND_MISS 4
|
||||
|
||||
// gAbsorbDrainStringIds
|
||||
#define B_MSG_ABSORB 0
|
||||
#define B_MSG_ABSORB_OOZE 1
|
||||
|
||||
// gLeechSeedStringIds
|
||||
#define B_MSG_LEECH_SEED_SET 0
|
||||
#define B_MSG_LEECH_SEED_MISS 1
|
||||
#define B_MSG_LEECH_SEED_FAIL 2
|
||||
#define B_MSG_LEECH_SEED_DRAIN 3
|
||||
#define B_MSG_LEECH_SEED_OOZE 4
|
||||
|
||||
// gFirstTurnOfTwoStringIds
|
||||
#define B_MSG_TURN1_RAZOR_WIND 0
|
||||
#define B_MSG_TURN1_SOLAR_BEAM 1
|
||||
#define B_MSG_TURN1_SKULL_BASH 2
|
||||
#define B_MSG_TURN1_SKY_ATTACK 3
|
||||
#define B_MSG_TURN1_FLY 4
|
||||
#define B_MSG_TURN1_DIG 5
|
||||
#define B_MSG_TURN1_DIVE 6
|
||||
#define B_MSG_TURN1_BOUNCE 7
|
||||
|
||||
// gMoveWeatherChangeStringIds
|
||||
#define B_MSG_STARTED_RAIN 0
|
||||
#define B_MSG_STARTED_DOWNPOUR 1
|
||||
#define B_MSG_WEATHER_FAILED 2
|
||||
#define B_MSG_STARTED_SANDSTORM 3
|
||||
#define B_MSG_STARTED_SUNLIGHT 4
|
||||
#define B_MSG_STARTED_HAIL 5
|
||||
|
||||
// gRainContinuesStringIds
|
||||
#define B_MSG_RAIN_CONTINUES 0
|
||||
#define B_MSG_DOWNPOUR_CONTINUES 1
|
||||
#define B_MSG_RAIN_STOPPED 2
|
||||
|
||||
// gSandStormHailContinuesStringIds / gSandStormHailDmgStringIds/ gSandStormHailEndStringIds
|
||||
#define B_MSG_SANDSTORM 0
|
||||
#define B_MSG_HAIL 1
|
||||
|
||||
// gReflectLightScreenSafeguardStringIds
|
||||
#define B_MSG_SIDE_STATUS_FAILED 0
|
||||
#define B_MSG_SET_REFLECT_SINGLE 1
|
||||
#define B_MSG_SET_REFLECT_DOUBLE 2
|
||||
#define B_MSG_SET_LIGHTSCREEN_SINGLE 3
|
||||
#define B_MSG_SET_LIGHTSCREEN_DOUBLE 4
|
||||
#define B_MSG_SET_SAFEGUARD 5
|
||||
|
||||
// gProtectLikeUsedStringIds
|
||||
#define B_MSG_PROTECTED_ITSELF 0
|
||||
#define B_MSG_BRACED_ITSELF 1
|
||||
#define B_MSG_PROTECT_FAILED 2
|
||||
|
||||
// gRestUsedStringIds
|
||||
#define B_MSG_REST 0
|
||||
#define B_MSG_REST_STATUSED 1
|
||||
|
||||
// gWokeUpStringIds
|
||||
#define B_MSG_WOKE_UP 0
|
||||
#define B_MSG_WOKE_UP_UPROAR 1
|
||||
|
||||
// gUproarAwakeStringIds
|
||||
#define B_MSG_CANT_SLEEP_UPROAR 0
|
||||
#define B_MSG_UPROAR_KEPT_AWAKE 1
|
||||
#define B_MSG_STAYED_AWAKE_USING 2
|
||||
|
||||
// gUproarOverTurnStringIds
|
||||
#define B_MSG_UPROAR_CONTINUES 0
|
||||
#define B_MSG_UPROAR_ENDS 1
|
||||
|
||||
// gStockpileUsedStringIds
|
||||
#define B_MSG_STOCKPILED 0
|
||||
#define B_MSG_CANT_STOCKPILE 1
|
||||
|
||||
// gSwallowFailStringIds
|
||||
#define B_MSG_SWALLOW_FAILED 0
|
||||
#define B_MSG_SWALLOW_FULL_HP 1
|
||||
|
||||
// gKOFailedStringIds
|
||||
#define B_MSG_KO_MISS 0
|
||||
#define B_MSG_KO_UNAFFECTED 1
|
||||
|
||||
// gMistUsedStringIds
|
||||
#define B_MSG_SET_MIST 0
|
||||
#define B_MSG_MIST_FAILED 1
|
||||
|
||||
// gFocusEnergyUsedStringIds
|
||||
#define B_MSG_GETTING_PUMPED 0
|
||||
#define B_MSG_FOCUS_ENERGY_FAILED 1
|
||||
|
||||
// gTransformUsedStringIds
|
||||
#define B_MSG_TRANSFORMED 0
|
||||
#define B_MSG_TRANSFORM_FAILED 1
|
||||
|
||||
// gSubsituteUsedStringIds
|
||||
#define B_MSG_SET_SUBSTITUTE 0
|
||||
#define B_MSG_SUBSTITUTE_FAILED 1
|
||||
|
||||
// gPartyStatusHealStringIds
|
||||
#define B_MSG_BELL 0
|
||||
#define B_MSG_BELL_SOUNDPROOF_ATTACKER 1
|
||||
#define B_MSG_BELL_SOUNDPROOF_PARTNER 2
|
||||
#define B_MSG_BELL_BOTH_SOUNDPROOF 3
|
||||
#define B_MSG_SOOTHING_AROMA 4
|
||||
|
||||
// gFutureMoveUsedStringIds
|
||||
#define B_MSG_FUTURE_SIGHT 0
|
||||
#define B_MSG_DOOM_DESIRE 1
|
||||
|
||||
// gItemSwapStringIds
|
||||
#define B_MSG_ITEM_SWAP_TAKEN 0
|
||||
#define B_MSG_ITEM_SWAP_GIVEN 1
|
||||
#define B_MSG_ITEM_SWAP_BOTH 2
|
||||
|
||||
// gSportsUsedStringIds
|
||||
#define B_MSG_WEAKEN_ELECTRIC 0
|
||||
#define B_MSG_WEAKEN_FIRE 1
|
||||
|
||||
// gCaughtMonStringIds
|
||||
#define B_MSG_SENT_SOMEONES_PC 0
|
||||
#define B_MSG_SENT_LANETTES_PC 1
|
||||
#define B_MSG_SOMEONES_BOX_FULL 2
|
||||
#define B_MSG_LANETTES_BOX_FULL 3
|
||||
|
||||
// gInobedientStringIds
|
||||
#define B_MSG_LOAFING 0
|
||||
#define B_MSG_WONT_OBEY 1
|
||||
#define B_MSG_TURNED_AWAY 2
|
||||
#define B_MSG_PRETEND_NOT_NOTICE 3
|
||||
#define B_MSG_INCAPABLE_OF_POWER 4
|
||||
// For randomly selecting a disobey string
|
||||
// Skips the one used for Battle Palace
|
||||
#define NUM_LOAF_STRINGS 4
|
||||
|
||||
// gSafariGetNearStringIds
|
||||
#define B_MSG_CREPT_CLOSER 0
|
||||
#define B_MSG_CANT_GET_CLOSER 1
|
||||
|
||||
// gSafariPokeblockResultStringIds
|
||||
#define B_MSG_MON_CURIOUS 0
|
||||
#define B_MSG_MON_ENTHRALLED 1
|
||||
#define B_MSG_MON_IGNORED 2
|
||||
|
||||
// gFlashFireStringIds
|
||||
#define B_MSG_FLASH_FIRE_BOOST 0
|
||||
#define B_MSG_FLASH_FIRE_NO_BOOST 1
|
||||
|
||||
// gBerryEffectStringIds
|
||||
#define B_MSG_CURED_PROBLEM 0
|
||||
#define B_MSG_NORMALIZED_STATUS 1
|
||||
|
||||
// gNoEscapeStringIds
|
||||
#define B_MSG_CANT_ESCAPE 0
|
||||
#define B_MSG_DONT_LEAVE_BIRCH 1
|
||||
#define B_MSG_PREVENTS_ESCAPE 2
|
||||
#define B_MSG_CANT_ESCAPE_2 3
|
||||
#define B_MSG_ATTACKER_CANT_ESCAPE 4
|
||||
|
||||
// gGotPoisonedStringIds / gGotParalyzedStringIds / gFellAsleepStringIds
|
||||
// gGotBurnedStringIds / gGotFrozenStringIds / gAttractUsedStringIds
|
||||
#define B_MSG_STATUSED 0
|
||||
#define B_MSG_STATUSED_BY_ABILITY 1
|
||||
|
||||
// gBRNPreventionStringIds / gPRLZPreventionStringIds / gPSNPreventionStringIds
|
||||
#define B_MSG_ABILITY_PREVENTS_MOVE_STATUS 0
|
||||
#define B_MSG_ABILITY_PREVENTS_ABILITY_STATUS 1
|
||||
#define B_MSG_STATUS_HAD_NO_EFFECT 2
|
||||
|
||||
// gGotDefrostedStringIds
|
||||
#define B_MSG_DEFROSTED 0
|
||||
#define B_MSG_DEFROSTED_BY_MOVE 1
|
||||
|
||||
// gBattlePalaceFlavorTextTable
|
||||
#define B_MSG_GLINT_IN_EYE 0
|
||||
#define B_MSG_GETTING_IN_POS 1
|
||||
#define B_MSG_GROWL_DEEPLY 2
|
||||
#define B_MSG_EAGER_FOR_MORE 3
|
||||
|
||||
// gRefereeStringsTable
|
||||
#define B_MSG_REF_NOTHING_IS_DECIDED 0
|
||||
#define B_MSG_REF_THATS_IT 1
|
||||
#define B_MSG_REF_JUDGE_MIND 2
|
||||
#define B_MSG_REF_JUDGE_SKILL 3
|
||||
#define B_MSG_REF_JUDGE_BODY 4
|
||||
#define B_MSG_REF_PLAYER_WON 5
|
||||
#define B_MSG_REF_OPPONENT_WON 6
|
||||
#define B_MSG_REF_DRAW 7
|
||||
#define B_MSG_REF_COMMENCE_BATTLE 8
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_STRING_IDS_H
|
||||
|
||||
@@ -28,4 +28,8 @@
|
||||
#define LINKUP_FAILED_BATTLE_TOWER 11
|
||||
#define LINKUP_FOREIGN_GAME 12
|
||||
|
||||
#define CABLE_SEAT_WAITING 0
|
||||
#define CABLE_SEAT_SUCCESS 1
|
||||
#define CABLE_SEAT_FAILED 2
|
||||
|
||||
#endif //GUARD_CONSTANTS_CABLE_CLUB_H
|
||||
|
||||
@@ -237,11 +237,12 @@
|
||||
#define MOVEMENT_ACTION_WALK_RIGHT_AFFINE 0x97
|
||||
#define MOVEMENT_ACTION_LEVITATE 0x98
|
||||
#define MOVEMENT_ACTION_STOP_LEVITATE 0x99
|
||||
#define MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP 0x9A
|
||||
#define MOVEMENT_ACTION_STOP_LEVITATE_AT_TOP 0x9A
|
||||
#define MOVEMENT_ACTION_FIGURE_8 0x9B
|
||||
#define MOVEMENT_ACTION_FLY_UP 0x9C
|
||||
#define MOVEMENT_ACTION_FLY_DOWN 0x9D
|
||||
|
||||
#define MOVEMENT_ACTION_STEP_END 0xFE
|
||||
#define MOVEMENT_ACTION_NONE 0xFF
|
||||
|
||||
#endif // GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
#define OBJ_EVENT_GFX_SCHOOL_KID_M 38
|
||||
#define OBJ_EVENT_GFX_MANIAC 39
|
||||
#define OBJ_EVENT_GFX_HEX_MANIAC 40
|
||||
#define OBJ_EVENT_GFX_RAYQUAZA_1 41
|
||||
#define OBJ_EVENT_GFX_RAYQUAZA_STILL 41
|
||||
#define OBJ_EVENT_GFX_SWIMMER_M 42
|
||||
#define OBJ_EVENT_GFX_SWIMMER_F 43
|
||||
#define OBJ_EVENT_GFX_BLACK_BELT 44
|
||||
@@ -198,17 +198,17 @@
|
||||
#define OBJ_EVENT_GFX_MAY_DECORATING 194
|
||||
#define OBJ_EVENT_GFX_ARCHIE 195
|
||||
#define OBJ_EVENT_GFX_MAXIE 196
|
||||
#define OBJ_EVENT_GFX_KYOGRE_1 197
|
||||
#define OBJ_EVENT_GFX_GROUDON_1 198
|
||||
#define OBJ_EVENT_GFX_KYOGRE_FRONT 197
|
||||
#define OBJ_EVENT_GFX_GROUDON_FRONT 198
|
||||
#define OBJ_EVENT_GFX_FOSSIL 199
|
||||
#define OBJ_EVENT_GFX_REGIROCK 200
|
||||
#define OBJ_EVENT_GFX_REGICE 201
|
||||
#define OBJ_EVENT_GFX_REGISTEEL 202
|
||||
#define OBJ_EVENT_GFX_SKITTY 203
|
||||
#define OBJ_EVENT_GFX_KECLEON 204
|
||||
#define OBJ_EVENT_GFX_KYOGRE_2 205
|
||||
#define OBJ_EVENT_GFX_GROUDON_2 206
|
||||
#define OBJ_EVENT_GFX_RAYQUAZA_2 207
|
||||
#define OBJ_EVENT_GFX_KYOGRE_ASLEEP 205
|
||||
#define OBJ_EVENT_GFX_GROUDON_ASLEEP 206
|
||||
#define OBJ_EVENT_GFX_RAYQUAZA 207
|
||||
#define OBJ_EVENT_GFX_ZIGZAGOON_2 208
|
||||
#define OBJ_EVENT_GFX_PIKACHU 209
|
||||
#define OBJ_EVENT_GFX_AZUMARILL 210
|
||||
@@ -222,8 +222,8 @@
|
||||
#define OBJ_EVENT_GFX_JUAN 218
|
||||
#define OBJ_EVENT_GFX_SCOTT 219
|
||||
#define OBJ_EVENT_GFX_POOCHYENA 220
|
||||
#define OBJ_EVENT_GFX_KYOGRE_3 221
|
||||
#define OBJ_EVENT_GFX_GROUDON_3 222
|
||||
#define OBJ_EVENT_GFX_KYOGRE_SIDE 221
|
||||
#define OBJ_EVENT_GFX_GROUDON_SIDE 222
|
||||
#define OBJ_EVENT_GFX_MYSTERY_GIFT_MAN 223
|
||||
#define OBJ_EVENT_GFX_TRICK_HOUSE_STATUE 224
|
||||
#define OBJ_EVENT_GFX_KIRLIA 225
|
||||
|
||||
@@ -91,10 +91,10 @@
|
||||
#define FLAG_UNUSED_0x04F 0x4F // Unused Flag
|
||||
|
||||
// Scripts
|
||||
#define FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT 0x50
|
||||
#define FLAG_SET_WALL_CLOCK 0x51
|
||||
#define FLAG_RESCUED_BIRCH 0x52
|
||||
#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
|
||||
#define FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_STILL 0x50
|
||||
#define FLAG_SET_WALL_CLOCK 0x51
|
||||
#define FLAG_RESCUED_BIRCH 0x52
|
||||
#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
|
||||
|
||||
#define FLAG_UNUSED_0x054 0x54 // Unused Flag
|
||||
#define FLAG_UNUSED_0x055 0x55 // Unused Flag
|
||||
@@ -775,7 +775,7 @@
|
||||
#define FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER 0x2DA
|
||||
#define FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT 0x2DB
|
||||
#define FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1 0x2DC
|
||||
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_2 0x2DD
|
||||
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_ASLEEP 0x2DD
|
||||
#define FLAG_HIDE_PLAYERS_HOUSE_DAD 0x2DE
|
||||
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING 0x2DF
|
||||
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING 0x2E0
|
||||
@@ -815,7 +815,7 @@
|
||||
#define FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE 0x302
|
||||
#define FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE 0x303
|
||||
#define FLAG_HIDE_PETALBURG_GYM_NORMAN 0x304
|
||||
#define FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_2 0x305
|
||||
#define FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA 0x305
|
||||
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1 0x306
|
||||
#define FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR 0x307
|
||||
#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1 0x308
|
||||
@@ -892,16 +892,16 @@
|
||||
#define FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD 0x34F
|
||||
#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW 0x350
|
||||
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL 0x351
|
||||
#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_2 0x352
|
||||
#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_ASLEEP 0x352
|
||||
#define FLAG_HIDE_ROUTE_119_RIVAL 0x353
|
||||
#define FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS 0x354
|
||||
#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1 0x355
|
||||
#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON 0x355
|
||||
#define FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS 0x356
|
||||
#define FLAG_HIDE_SKY_PILLAR_WALLACE 0x357
|
||||
#define FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE 0x358
|
||||
#define FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS 0x359
|
||||
#define FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY 0x35A
|
||||
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1 0x35B
|
||||
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE 0x35B
|
||||
#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL 0x35C
|
||||
#define FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL 0x35D
|
||||
#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA 0x35E
|
||||
|
||||
@@ -21,6 +21,12 @@
|
||||
#define QUIZ_AUTHOR_NAME_PLAYER 1
|
||||
#define QUIZ_AUTHOR_NAME_OTHER_PLAYER 2
|
||||
|
||||
#define QUIZ_QUESTION_LEN 9
|
||||
#define QUIZ_QUESTION_LEN 9
|
||||
|
||||
#endif
|
||||
// Constants for how many good Pokéblocks the Contest Lady was given
|
||||
// This determines how her performance is described when her TV show comes on
|
||||
#define CONTEST_LADY_NORMAL 0
|
||||
#define CONTEST_LADY_GOOD 1
|
||||
#define CONTEST_LADY_BAD 2
|
||||
|
||||
#endif // GUARD_LILYCOVE_LADY_CONSTANTS_H
|
||||
|
||||
@@ -241,5 +241,6 @@
|
||||
#define MB_UNUSED_ED 0xED
|
||||
#define MB_UNUSED_EE 0xEE
|
||||
#define MB_UNUSED_EF 0xEF
|
||||
#define MB_INVALID 0xFF
|
||||
|
||||
#endif // GUARD_METATILE_BEHAVIORS_H
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#define TVSHOW_3_CHEERS_FOR_POKEBLOCKS 9
|
||||
#define TVSHOW_BATTLE_UPDATE 10
|
||||
#define TVSHOW_FAN_CLUB_SPECIAL 11
|
||||
#define TVSHOW_CONTEST_LIVE_UPDATES_2 12
|
||||
#define TVSHOW_LILYCOVE_CONTEST_LADY 12
|
||||
// //
|
||||
#define TVSHOW_POKEMON_TODAY_CAUGHT 21
|
||||
#define TVSHOW_SMART_SHOPPER 22
|
||||
@@ -215,4 +215,10 @@
|
||||
#define TRENDWATCHER_STATE_BIGGER_FEMALE 5
|
||||
#define TRENDWATCHER_STATE_OUTRO 6
|
||||
|
||||
// TV Show states for the Contest Lady's Live Updates show
|
||||
#define CONTESTLADYLIVE_STATE_INTRO 0
|
||||
#define CONTESTLADYLIVE_STATE_WON 1
|
||||
#define CONTESTLADYLIVE_STATE_LOST 2
|
||||
#define CONTESTLADYLIVE_STATE_LOST_BADLY 3
|
||||
|
||||
#endif //GUARD_CONSTANTS_TV_H
|
||||
|
||||
@@ -47,7 +47,7 @@ enum ReflectionTypes
|
||||
#define GROUND_EFFECT_FLAG_HOT_SPRINGS (1 << 18)
|
||||
#define GROUND_EFFECT_FLAG_SEAWEED (1 << 19)
|
||||
|
||||
struct UnkStruct_085094AC
|
||||
struct StepAnimTable
|
||||
{
|
||||
const union AnimCmd *const *anims;
|
||||
u8 animPos[4];
|
||||
@@ -65,7 +65,6 @@ struct LockedAnimObjectEvents
|
||||
u8 count;
|
||||
};
|
||||
|
||||
extern const struct SpriteFrameImage gObjectEventPicTable_PechaBerryTree[];
|
||||
extern const struct OamData gObjectEventBaseOam_32x8;
|
||||
extern const struct OamData gObjectEventBaseOam_32x32;
|
||||
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
|
||||
@@ -87,9 +86,9 @@ void LoadPlayerObjectReflectionPalette(u16, u8);
|
||||
void LoadSpecialObjectReflectionPalette(u16, u8);
|
||||
void TryMoveObjectEventToMapCoords(u8, u8, u8, s16, s16);
|
||||
void PatchObjectPalette(u16, u8);
|
||||
void sub_808E16C(s16, s16);
|
||||
void SpawnObjectEventsOnReturnToField(s16, s16);
|
||||
void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
|
||||
void sub_8092FF0(s16, s16, s16 *, s16 *);
|
||||
void GetMapCoordsFromSpritePos(s16, s16, s16 *, s16 *);
|
||||
u8 GetFaceDirectionAnimNum(u8);
|
||||
void SetSpritePosToOffsetMapCoords(s16 *, s16 *, s16, s16);
|
||||
void ObjectEventClearHeldMovement(struct ObjectEvent *);
|
||||
@@ -111,7 +110,7 @@ void FreeAndReserveObjectSpritePalettes(void);
|
||||
void SetObjectEventSpritePosByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y);
|
||||
void ResetObjectPriority(u8, u8, u8);
|
||||
void SetObjectPriority(u8, u8, u8, u8);
|
||||
void sub_808E75C(s16, s16);
|
||||
void AllowObjectAtPosTriggerGroundEffects(s16, s16);
|
||||
void ObjectEventGetLocalIdAndMap(struct ObjectEvent *objectEvent, void *localId, void *mapNum, void *mapGroup);
|
||||
void ShiftObjectEventCoords(struct ObjectEvent *, s16, s16);
|
||||
void MoveObjectEventToMapCoords(struct ObjectEvent *, s16, s16);
|
||||
@@ -175,17 +174,8 @@ void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
|
||||
bool8 IsZCoordMismatchAt(u8, s16, s16);
|
||||
void UnfreezeObjectEvent(struct ObjectEvent *);
|
||||
u8 FindLockedObjectEventIndex(struct ObjectEvent *);
|
||||
bool8 obj_npc_ministep(struct Sprite *sprite);
|
||||
bool8 sub_80976EC(struct Sprite *sprite);
|
||||
void sub_80976DC(struct Sprite *, u8);
|
||||
void sub_809783C(struct Sprite *, u8, u8, u8);
|
||||
void DoShadowFieldEffect(struct ObjectEvent *);
|
||||
u8 sub_809785C(struct Sprite *);
|
||||
u8 sub_80978E4(struct Sprite *);
|
||||
void SetAndStartSpriteAnim(struct Sprite *, u8, u8);
|
||||
bool8 SpriteAnimEnded(struct Sprite *);
|
||||
void CreateLevitateMovementTask(struct ObjectEvent *);
|
||||
void DestroyExtraMovementTask(u8);
|
||||
void UnfreezeObjectEvents(void);
|
||||
void FreezeObjectEventsExceptOne(u8 objectEventId);
|
||||
void TurnObjectEventSprite(u8, u8);
|
||||
@@ -196,9 +186,9 @@ u8 GetMoveDirectionFastAnimNum(u8);
|
||||
u8 GetMoveDirectionFasterAnimNum(u8);
|
||||
u8 GetMoveDirectionFastestAnimNum(u8);
|
||||
u8 GetLedgeJumpDirection(s16, s16, u8);
|
||||
void CameraObjectSetFollowedObjectId(u8 objectId);
|
||||
void CameraObjectSetFollowedSpriteId(u8 objectId);
|
||||
u16 GetObjectPaletteTag(u8 palSlot);
|
||||
void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible);
|
||||
void UpdateObjectEventSpriteInvisibility(struct Sprite *sprite, bool8 invisible);
|
||||
s16 GetFigure8XOffset(s16 idx);
|
||||
s16 GetFigure8YOffset(s16 idx);
|
||||
void CameraObjectReset2(void);
|
||||
|
||||
@@ -344,10 +344,10 @@ extern const u8 gTVInSearchOfTrainersText05[];
|
||||
extern const u8 gTVInSearchOfTrainersText06[];
|
||||
extern const u8 gTVInSearchOfTrainersText07[];
|
||||
extern const u8 gTVInSearchOfTrainersText08[];
|
||||
extern const u8 gTVPokemonContestLiveUpdates2Text00[];
|
||||
extern const u8 gTVPokemonContestLiveUpdates2Text01[];
|
||||
extern const u8 gTVPokemonContestLiveUpdates2Text02[];
|
||||
extern const u8 gTVPokemonContestLiveUpdates2Text03[];
|
||||
extern const u8 ContestLadyShow_Text_Intro[];
|
||||
extern const u8 ContestLadyShow_Text_Won[];
|
||||
extern const u8 ContestLadyShow_Text_Lost[];
|
||||
extern const u8 ContestLadyShow_Text_LostBadly[];
|
||||
extern const u8 gPokeNewsTextSlateport_Upcoming[];
|
||||
extern const u8 gPokeNewsTextSlateport_Ongoing[];
|
||||
extern const u8 gPokeNewsTextSlateport_Ending[];
|
||||
@@ -607,7 +607,7 @@ extern const u8 EventScript_BattleColosseum_2P_PlayerSpot0[];
|
||||
extern const u8 EventScript_BattleColosseum_2P_PlayerSpot1[];
|
||||
extern const u8 EventScript_TradeCenter_Chair1[];
|
||||
extern const u8 EventScript_TradeCenter_Chair0[];
|
||||
extern const u8 EventScript_ConfirmLeaveTradeRoom[];
|
||||
extern const u8 EventScript_ConfirmLeaveCableClubRoom[];
|
||||
extern const u8 EventScript_TerminateLink[];
|
||||
|
||||
#endif // GUARD_EVENT_SCRIPTS_H
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#ifndef GUARD_FIELD_CAMERA_H
|
||||
#define GUARD_FIELD_CAMERA_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
struct CameraObject
|
||||
{
|
||||
void (*callback)(struct CameraObject *);
|
||||
@@ -13,18 +11,15 @@ struct CameraObject
|
||||
s32 y;
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
extern struct CameraObject gFieldCamera;
|
||||
extern u16 gTotalCameraPixelOffsetX;
|
||||
extern u16 gTotalCameraPixelOffsetY;
|
||||
|
||||
// Exported ROM declarations
|
||||
void DrawWholeMapView(void);
|
||||
void CurrentMapDrawMetatileAt(int x, int y);
|
||||
void sub_8089C08(s16 *a0, s16 *a1);
|
||||
void GetCameraOffsetWithPan(s16 *a0, s16 *a1);
|
||||
void DrawDoorMetatileAt(int x, int y, u16 *arr);
|
||||
void ResetFieldCamera(void);
|
||||
void sub_8057A58(void);
|
||||
void ResetCameraUpdateInfo(void);
|
||||
u32 InitCameraUpdateCallback(u8 a);
|
||||
void CameraUpdate(void);
|
||||
|
||||
@@ -1,18 +1,24 @@
|
||||
#ifndef GUARD_FIELD_EFFECT_HELPERS_H
|
||||
#define GUARD_FIELD_EFFECT_HELPERS_H
|
||||
|
||||
// Exported type declarations
|
||||
// States for bobbing up and down while surfing
|
||||
enum {
|
||||
// No bobbing
|
||||
BOB_NONE,
|
||||
// Both the surf blob/mon should bob up and down
|
||||
BOB_PLAYER_AND_MON,
|
||||
// Only the surf blob/mon should bob up and down
|
||||
// For when the player has jumped/flown off
|
||||
BOB_JUST_MON,
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
u8 CreateWarpArrowSprite(void);
|
||||
u8 sub_8155800(u8 oldSpriteId);
|
||||
void SetSurfBobState(u8 spriteId, u8 value);
|
||||
void SetSurfBobWhileFlyingOutState(u8 spriteId, u8 value);
|
||||
void SetSurfBobWhileFishingState(u8 spriteId, u8 value, s16 data1);
|
||||
bool8 sub_8155DA0(struct ObjectEvent *);
|
||||
void sub_8155D78(struct ObjectEvent *);
|
||||
u8 StartUnderwaterSurfBlobBobbing(u8 oldSpriteId);
|
||||
void SetSurfBlob_BobState(u8 spriteId, u8 state);
|
||||
void SetSurfBlob_DontSyncAnim(u8 spriteId, bool8 dontSync);
|
||||
void SetSurfBlob_PlayerOffset(u8 spriteId, bool8 hasOffset, s16 offset);
|
||||
bool8 UpdateRevealDisguise(struct ObjectEvent *);
|
||||
void StartRevealDisguise(struct ObjectEvent *);
|
||||
void StartAshFieldEffect(s16, s16, u16, s16);
|
||||
void SetUpReflection(struct ObjectEvent*, struct Sprite*, u8);
|
||||
u32 StartFieldEffectForObjectEvent(u8, struct ObjectEvent*);
|
||||
|
||||
@@ -6,7 +6,7 @@ void ClearPlayerAvatarInfo(void);
|
||||
void SetPlayerAvatarExtraStateTransition(u8, u8);
|
||||
u8 GetPlayerAvatarGenderByGraphicsId(u8);
|
||||
bool8 TestPlayerAvatarFlags(u8);
|
||||
u8 GetPlayerAvatarObjectId(void);
|
||||
u8 GetPlayerAvatarSpriteId(void);
|
||||
void PlayerGetDestCoords(s16 *, s16 *);
|
||||
u8 GetPlayerFacingDirection(void);
|
||||
u8 GetPlayerMovementDirection(void);
|
||||
|
||||
+49
-32
@@ -4,6 +4,21 @@
|
||||
#include "sprite.h"
|
||||
#include "constants/field_weather.h"
|
||||
|
||||
#define TAG_WEATHER_START 0x1200
|
||||
enum {
|
||||
GFXTAG_CLOUD = TAG_WEATHER_START,
|
||||
GFXTAG_FOG_H,
|
||||
GFXTAG_ASH,
|
||||
GFXTAG_FOG_D,
|
||||
GFXTAG_SANDSTORM,
|
||||
GFXTAG_BUBBLE,
|
||||
GFXTAG_RAIN,
|
||||
};
|
||||
enum {
|
||||
PALTAG_WEATHER = TAG_WEATHER_START,
|
||||
PALTAG_WEATHER_2
|
||||
};
|
||||
|
||||
struct Weather
|
||||
{
|
||||
union
|
||||
@@ -31,12 +46,12 @@ struct Weather
|
||||
u8 gammaStepDelay;
|
||||
u8 gammaStepFrameCounter;
|
||||
u16 fadeDestColor;
|
||||
/*0x6C6*/ u8 palProcessingState;
|
||||
/*0x6C7*/ u8 fadeScreenCounter;
|
||||
/*0x6C8*/ bool8 readyForInit;
|
||||
/*0x6C9*/ u8 taskId;
|
||||
/*0x6CA*/ u8 unknown_6CA;
|
||||
u8 unknown_6CB;
|
||||
u8 palProcessingState;
|
||||
u8 fadeScreenCounter;
|
||||
bool8 readyForInit;
|
||||
u8 taskId;
|
||||
u8 fadeInFirstFrame;
|
||||
u8 fadeInTimer;
|
||||
u16 initStep;
|
||||
u16 finishStep;
|
||||
u8 currWeather;
|
||||
@@ -45,6 +60,7 @@ struct Weather
|
||||
bool8 weatherChangeComplete;
|
||||
u8 weatherPicSpritePalIndex;
|
||||
u8 altGammaSpritePalIndex;
|
||||
// Rain
|
||||
u16 rainSpriteVisibleCounter;
|
||||
u8 curRainSpriteIndex;
|
||||
u8 targetRainSpriteCount;
|
||||
@@ -52,37 +68,41 @@ struct Weather
|
||||
u8 rainSpriteVisibleDelay;
|
||||
u8 isDownpour;
|
||||
u8 rainStrength;
|
||||
/*0x6DE*/ u8 cloudSpritesCreated;
|
||||
u8 filler_6DF[1];
|
||||
u8 cloudSpritesCreated;
|
||||
// Snow
|
||||
u16 snowflakeVisibleCounter;
|
||||
u16 unknown_6E2;
|
||||
u16 snowflakeTimer;
|
||||
u8 snowflakeSpriteCount;
|
||||
u8 targetSnowflakeSpriteCount;
|
||||
u16 unknown_6E6;
|
||||
// Thunderstorm
|
||||
u16 thunderDelay;
|
||||
u16 thunderCounter;
|
||||
u8 unknown_6EA;
|
||||
u8 unknown_6EB;
|
||||
u8 unknown_6EC;
|
||||
u8 thunderTriggered;
|
||||
bool8 thunderAllowEnd;
|
||||
bool8 thunderSkipShort;
|
||||
u8 thunderShortRetries;
|
||||
bool8 thunderTriggered;
|
||||
// Horizontal fog
|
||||
u16 fogHScrollPosX;
|
||||
u16 fogHScrollCounter;
|
||||
u16 fogHScrollOffset;
|
||||
u8 lightenedFogSpritePals[6];
|
||||
u8 lightenedFogSpritePalsCount;
|
||||
u8 fogHSpritesCreated;
|
||||
// Ash
|
||||
u16 ashBaseSpritesX;
|
||||
u16 unknown_6FE;
|
||||
u16 ashUnused;
|
||||
u8 ashSpritesCreated;
|
||||
u8 filler_701[3];
|
||||
// Sandstorm
|
||||
u32 sandstormXOffset;
|
||||
u32 sandstormYOffset;
|
||||
u8 filler_70C[2];
|
||||
u16 sandstormUnused;
|
||||
u16 sandstormBaseSpritesX;
|
||||
u16 sandstormPosY;
|
||||
u16 sandstormWaveIndex;
|
||||
u16 sandstormWaveCounter;
|
||||
u8 sandstormSpritesCreated;
|
||||
u8 sandstormSwirlSpritesCreated;
|
||||
// Diagonal fog
|
||||
u16 fogDBaseSpritesX;
|
||||
u16 fogDPosY;
|
||||
u16 fogDScrollXCounter;
|
||||
@@ -90,13 +110,13 @@ struct Weather
|
||||
u16 fogDXOffset;
|
||||
u16 fogDYOffset;
|
||||
u8 fogDSpritesCreated;
|
||||
u8 filler_725[1];
|
||||
// Bubbles
|
||||
u16 bubblesDelayCounter;
|
||||
u16 bubblesDelayIndex;
|
||||
u16 bubblesCoordsIndex;
|
||||
u16 bubblesSpriteCount;
|
||||
u8 bubblesSpritesCreated;
|
||||
u8 filler_72F;
|
||||
|
||||
u16 currBlendEVA;
|
||||
u16 currBlendEVB;
|
||||
u16 targetBlendEVA;
|
||||
@@ -104,12 +124,12 @@ struct Weather
|
||||
u8 blendUpdateCounter;
|
||||
u8 blendFrameCounter;
|
||||
u8 blendDelay;
|
||||
u8 filler_73B[0x3C-0x3B];
|
||||
s16 unknown_73C;
|
||||
s16 unknown_73E;
|
||||
s16 unknown_740;
|
||||
s16 unknown_742;
|
||||
u8 filler_744[0xD-4];
|
||||
// Drought
|
||||
s16 droughtBrightnessStage;
|
||||
s16 droughtLastBrightnessStage;
|
||||
s16 droughtTimer;
|
||||
s16 droughtState;
|
||||
u8 droughtUnused[9];
|
||||
s8 loadDroughtPalsIndex;
|
||||
u8 loadDroughtPalsOffset;
|
||||
};
|
||||
@@ -126,29 +146,26 @@ void StartWeather(void);
|
||||
void SetNextWeather(u8 weather);
|
||||
void SetCurrentAndNextWeather(u8 weather);
|
||||
void SetCurrentAndNextWeatherNoDelay(u8 weather);
|
||||
void sub_80ABC48(s8 gammaIndex);
|
||||
void ApplyWeatherGammaShiftIfIdle(s8 gammaIndex);
|
||||
void sub_80ABC7C(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay);
|
||||
void FadeScreen(u8 mode, s8 delay);
|
||||
bool8 IsWeatherNotFadingIn(void);
|
||||
void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex);
|
||||
void ApplyWeatherGammaShiftToPal(u8 paletteIndex);
|
||||
u8 sub_80ABF20(void);
|
||||
void LoadCustomWeatherSpritePalette(const u16 *palette);
|
||||
void ResetDroughtWeatherPaletteLoading(void);
|
||||
bool8 LoadDroughtWeatherPalettes(void);
|
||||
void sub_80ABFE0(s8 gammaIndex);
|
||||
void sub_80ABFF0(void);
|
||||
void sub_80AC01C(void);
|
||||
void DroughtStateInit(void);
|
||||
void DroughtStateRun(void);
|
||||
void Weather_SetBlendCoeffs(u8 eva, u8 evb);
|
||||
void Weather_SetTargetBlendCoeffs(u8 eva, u8 evb, int delay);
|
||||
bool8 Weather_UpdateBlend(void);
|
||||
void sub_80AC274(u8 a);
|
||||
u8 GetCurrentWeather(void);
|
||||
void SetRainStrengthFromSoundEffect(u16 soundEffect);
|
||||
void PlayRainStoppingSoundEffect(void);
|
||||
u8 IsWeatherChangeComplete(void);
|
||||
void SetWeatherScreenFadeOut(void);
|
||||
void sub_80AC3E4(void);
|
||||
void SetWeatherPalStateIdle(void);
|
||||
void PreservePaletteInWeather(u8 preservedPalIndex);
|
||||
void ResetPreservedPalettesInWeather(void);
|
||||
|
||||
|
||||
+2
-5
@@ -20,16 +20,13 @@ void MapGridSetMetatileEntryAt(int, int, u16);
|
||||
void GetCameraCoords(u16*, u16*);
|
||||
bool8 MapGridIsImpassableAt(int, int);
|
||||
int GetMapBorderIdAt(int x, int y);
|
||||
int CanCameraMoveInDirection(int direction);
|
||||
bool32 CanCameraMoveInDirection(int direction);
|
||||
u16 GetBehaviorByMetatileId(u16 metatileId);
|
||||
void GetCameraFocusCoords(u16 *x, u16 *y);
|
||||
u8 MapGridGetMetatileLayerTypeAt(int x, int y);
|
||||
u8 MapGridGetZCoordAt(int x, int y);
|
||||
bool8 CameraMove(int deltaX, int deltaY);
|
||||
struct MapConnection *sub_8088950(u8 direction, int x, int y);
|
||||
bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection);
|
||||
bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset);
|
||||
void save_serialize_map(void);
|
||||
void SaveMapView(void);
|
||||
void SetCameraFocusCoords(u16 x, u16 y);
|
||||
void InitMap(void);
|
||||
void InitMapFromSavedGame(void);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef GUARD_GLOBAL_FIELDMAP_H
|
||||
#define GUARD_GLOBAL_FIELDMAP_H
|
||||
|
||||
#define METATILE_BEHAVIOR_MASK 0x00FF
|
||||
#define METATILE_COLLISION_MASK 0x0C00
|
||||
#define METATILE_ID_MASK 0x03FF
|
||||
#define METATILE_ID_UNDEFINED 0x03FF
|
||||
@@ -12,7 +13,9 @@
|
||||
|
||||
enum
|
||||
{
|
||||
CONNECTION_SOUTH = 1,
|
||||
CONNECTION_INVALID = -1,
|
||||
CONNECTION_NONE,
|
||||
CONNECTION_SOUTH,
|
||||
CONNECTION_NORTH,
|
||||
CONNECTION_WEST,
|
||||
CONNECTION_EAST,
|
||||
|
||||
@@ -1055,14 +1055,4 @@ struct MapPosition
|
||||
s8 height;
|
||||
};
|
||||
|
||||
struct TradeRoomPlayer
|
||||
{
|
||||
u8 playerId;
|
||||
u8 isLocalPlayer;
|
||||
u8 c;
|
||||
u8 facing;
|
||||
struct MapPosition pos;
|
||||
u16 field_C;
|
||||
};
|
||||
|
||||
#endif // GUARD_GLOBAL_H
|
||||
|
||||
+2
-2
@@ -179,7 +179,7 @@ typedef union // size = 0x24
|
||||
/*0x18*/ u8 idolNameLanguage;
|
||||
} fanClubSpecial;
|
||||
|
||||
// TVSHOW_CONTEST_LIVE_UPDATES_2
|
||||
// TVSHOW_LILYCOVE_CONTEST_LADY
|
||||
struct {
|
||||
/*0x00*/ u8 kind;
|
||||
/*0x01*/ bool8 active;
|
||||
@@ -189,7 +189,7 @@ typedef union // size = 0x24
|
||||
/*0x16*/ u8 pokeblockState;
|
||||
/*0x17*/ u8 language;
|
||||
/*0x18*/ u8 pokemonNameLanguage;
|
||||
} contestLiveUpdates2;
|
||||
} contestLady;
|
||||
|
||||
// Record Mixing Shows
|
||||
// TVSHOW_POKEMON_TODAY_CAUGHT
|
||||
|
||||
@@ -12,6 +12,6 @@ void BufferContestLadyMonName(u8 *dest1, u8 *dest2);
|
||||
void BufferContestLadyPlayerName(u8 *dest);
|
||||
void BufferContestLadyLanguage(u8 *dest);
|
||||
void BufferContestName(u8 *dest, u8 category);
|
||||
u8 sub_818E880(void);
|
||||
u8 GetContestLadyPokeblockState(void);
|
||||
|
||||
#endif //GUARD_LILYCOVE_LADY_H
|
||||
|
||||
+8
-9
@@ -7,17 +7,17 @@
|
||||
#define LINK_KEY_CODE_DPAD_UP 0x13
|
||||
#define LINK_KEY_CODE_DPAD_LEFT 0x14
|
||||
#define LINK_KEY_CODE_DPAD_RIGHT 0x15
|
||||
#define LINK_KEY_CODE_UNK_2 0x16
|
||||
#define LINK_KEY_CODE_READY 0x16
|
||||
#define LINK_KEY_CODE_EXIT_ROOM 0x17
|
||||
#define LINK_KEY_CODE_START_BUTTON 0x18
|
||||
#define LINK_KEY_CODE_A_BUTTON 0x19
|
||||
#define LINK_KEY_CODE_UNK_4 0x1A // I'd guess this is the B button?
|
||||
#define LINK_KEY_CODE_IDLE 0x1A
|
||||
|
||||
// These two are a hack to stop user input until link stuff can be
|
||||
// resolved.
|
||||
#define LINK_KEY_CODE_HANDLE_RECV_QUEUE 0x1B
|
||||
#define LINK_KEY_CODE_HANDLE_SEND_QUEUE 0x1C
|
||||
#define LINK_KEY_CODE_UNK_7 0x1D
|
||||
#define LINK_KEY_CODE_EXIT_SEAT 0x1D
|
||||
#define LINK_KEY_CODE_UNK_8 0x1E
|
||||
|
||||
#define MOVEMENT_MODE_FREE 0
|
||||
@@ -143,15 +143,14 @@ void CB2_ReturnToFieldFromMultiplayer(void);
|
||||
void CB2_ReturnToFieldWithOpenMenu(void);
|
||||
void CB2_ReturnToFieldContinueScript(void);
|
||||
void CB2_ReturnToFieldContinueScriptPlayMapMusic(void);
|
||||
void sub_80861E8(void);
|
||||
void CB2_ReturnToFieldFadeFromBlack(void);
|
||||
void CB2_ContinueSavedGame(void);
|
||||
void ResetAllMultiplayerState(void);
|
||||
u32 sub_8087214(void);
|
||||
bool32 sub_808727C(void);
|
||||
u16 sub_8087288(void);
|
||||
u16 sub_808729C(void);
|
||||
u32 GetCableClubPartnersReady(void);
|
||||
u16 SetInCableClubSeat(void);
|
||||
u16 SetLinkWaitingForScript(void);
|
||||
u16 QueueExitLinkRoomKey(void);
|
||||
u16 sub_80872C4(void);
|
||||
u16 SetStartedCableClubActivity(void);
|
||||
bool32 Overworld_LinkRecvQueueLengthMoreThan2(void);
|
||||
bool32 Overworld_RecvKeysFromLinkIsRunning(void);
|
||||
bool32 Overworld_SendKeysToLinkIsRunning(void);
|
||||
|
||||
@@ -789,7 +789,7 @@ static u8 GetAI_ItemType(u8 itemId, const u8 *itemEffect) // NOTE: should take u
|
||||
else if (itemEffect[0] & (ITEM0_DIRE_HIT | ITEM0_X_ATTACK) || itemEffect[1] != 0 || itemEffect[2] != 0)
|
||||
return AI_ITEM_X_STAT;
|
||||
else if (itemEffect[3] & ITEM3_GUARD_SPEC)
|
||||
return AI_ITEM_GUARD_SPECS;
|
||||
return AI_ITEM_GUARD_SPEC;
|
||||
else
|
||||
return AI_ITEM_NOT_RECOGNIZABLE;
|
||||
}
|
||||
@@ -863,32 +863,33 @@ static bool8 ShouldUseItem(void)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) = 0;
|
||||
if (itemEffects[3] & ITEM3_SLEEP && gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP)
|
||||
{
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20;
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_HEAL_SLEEP);
|
||||
shouldUse = TRUE;
|
||||
}
|
||||
if (itemEffects[3] & ITEM3_POISON && (gBattleMons[gActiveBattler].status1 & STATUS1_POISON || gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON))
|
||||
if (itemEffects[3] & ITEM3_POISON && (gBattleMons[gActiveBattler].status1 & STATUS1_POISON
|
||||
|| gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON))
|
||||
{
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x10;
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_HEAL_POISON);
|
||||
shouldUse = TRUE;
|
||||
}
|
||||
if (itemEffects[3] & ITEM3_BURN && gBattleMons[gActiveBattler].status1 & STATUS1_BURN)
|
||||
{
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x8;
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_HEAL_BURN);
|
||||
shouldUse = TRUE;
|
||||
}
|
||||
if (itemEffects[3] & ITEM3_FREEZE && gBattleMons[gActiveBattler].status1 & STATUS1_FREEZE)
|
||||
{
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x4;
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_HEAL_FREEZE);
|
||||
shouldUse = TRUE;
|
||||
}
|
||||
if (itemEffects[3] & ITEM3_PARALYSIS && gBattleMons[gActiveBattler].status1 & STATUS1_PARALYSIS)
|
||||
{
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x2;
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_HEAL_PARALYSIS);
|
||||
shouldUse = TRUE;
|
||||
}
|
||||
if (itemEffects[3] & ITEM3_CONFUSION && gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION)
|
||||
{
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x1;
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_HEAL_CONFUSION);
|
||||
shouldUse = TRUE;
|
||||
}
|
||||
break;
|
||||
@@ -897,20 +898,20 @@ static bool8 ShouldUseItem(void)
|
||||
if (gDisableStructs[gActiveBattler].isFirstTurn == 0)
|
||||
break;
|
||||
if (itemEffects[0] & ITEM0_X_ATTACK)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x1;
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_X_ATTACK);
|
||||
if (itemEffects[1] & ITEM1_X_DEFEND)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x2;
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_X_DEFEND);
|
||||
if (itemEffects[1] & ITEM1_X_SPEED)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x4;
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_X_SPEED);
|
||||
if (itemEffects[2] & ITEM2_X_SPATK)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x8;
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_X_SPATK);
|
||||
if (itemEffects[2] & ITEM2_X_ACCURACY)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20;
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_X_ACCURACY);
|
||||
if (itemEffects[0] & ITEM0_DIRE_HIT)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x80;
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= (1 << AI_DIRE_HIT);
|
||||
shouldUse = TRUE;
|
||||
break;
|
||||
case AI_ITEM_GUARD_SPECS:
|
||||
case AI_ITEM_GUARD_SPEC:
|
||||
battlerSide = GetBattlerSide(gActiveBattler);
|
||||
if (gDisableStructs[gActiveBattler].isFirstTurn != 0 && gSideTimers[battlerSide].mistTimer == 0)
|
||||
shouldUse = TRUE;
|
||||
|
||||
@@ -74,7 +74,7 @@ static void LinkOpponentHandleSetUnkVar(void);
|
||||
static void LinkOpponentHandleClearUnkFlag(void);
|
||||
static void LinkOpponentHandleToggleUnkFlag(void);
|
||||
static void LinkOpponentHandleHitAnimation(void);
|
||||
static void LinkOpponentHandleCmd42(void);
|
||||
static void LinkOpponentHandleCantSwitch(void);
|
||||
static void LinkOpponentHandlePlaySE(void);
|
||||
static void LinkOpponentHandlePlayFanfareOrBGM(void);
|
||||
static void LinkOpponentHandleFaintingCry(void);
|
||||
@@ -146,7 +146,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
[CONTROLLER_CLEARUNKFLAG] = LinkOpponentHandleClearUnkFlag,
|
||||
[CONTROLLER_TOGGLEUNKFLAG] = LinkOpponentHandleToggleUnkFlag,
|
||||
[CONTROLLER_HITANIMATION] = LinkOpponentHandleHitAnimation,
|
||||
[CONTROLLER_42] = LinkOpponentHandleCmd42,
|
||||
[CONTROLLER_CANTSWITCH] = LinkOpponentHandleCantSwitch,
|
||||
[CONTROLLER_PLAYSE] = LinkOpponentHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = LinkOpponentHandlePlayFanfareOrBGM,
|
||||
[CONTROLLER_FAINTINGCRY] = LinkOpponentHandleFaintingCry,
|
||||
@@ -1647,7 +1647,7 @@ static void LinkOpponentHandleHitAnimation(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void LinkOpponentHandleCmd42(void)
|
||||
static void LinkOpponentHandleCantSwitch(void)
|
||||
{
|
||||
LinkOpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ static void LinkPartnerHandleSetUnkVar(void);
|
||||
static void LinkPartnerHandleClearUnkFlag(void);
|
||||
static void LinkPartnerHandleToggleUnkFlag(void);
|
||||
static void LinkPartnerHandleHitAnimation(void);
|
||||
static void LinkPartnerHandleCmd42(void);
|
||||
static void LinkPartnerHandleCantSwitch(void);
|
||||
static void LinkPartnerHandlePlaySE(void);
|
||||
static void LinkPartnerHandlePlayFanfareOrBGM(void);
|
||||
static void LinkPartnerHandleFaintingCry(void);
|
||||
@@ -143,7 +143,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
[CONTROLLER_CLEARUNKFLAG] = LinkPartnerHandleClearUnkFlag,
|
||||
[CONTROLLER_TOGGLEUNKFLAG] = LinkPartnerHandleToggleUnkFlag,
|
||||
[CONTROLLER_HITANIMATION] = LinkPartnerHandleHitAnimation,
|
||||
[CONTROLLER_42] = LinkPartnerHandleCmd42,
|
||||
[CONTROLLER_CANTSWITCH] = LinkPartnerHandleCantSwitch,
|
||||
[CONTROLLER_PLAYSE] = LinkPartnerHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = LinkPartnerHandlePlayFanfareOrBGM,
|
||||
[CONTROLLER_FAINTINGCRY] = LinkPartnerHandleFaintingCry,
|
||||
@@ -1477,7 +1477,7 @@ static void LinkPartnerHandleHitAnimation(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void LinkPartnerHandleCmd42(void)
|
||||
static void LinkPartnerHandleCantSwitch(void)
|
||||
{
|
||||
LinkPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ static void OpponentHandleSetUnkVar(void);
|
||||
static void OpponentHandleClearUnkFlag(void);
|
||||
static void OpponentHandleToggleUnkFlag(void);
|
||||
static void OpponentHandleHitAnimation(void);
|
||||
static void OpponentHandleCmd42(void);
|
||||
static void OpponentHandleCantSwitch(void);
|
||||
static void OpponentHandlePlaySE(void);
|
||||
static void OpponentHandlePlayFanfareOrBGM(void);
|
||||
static void OpponentHandleFaintingCry(void);
|
||||
@@ -151,7 +151,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
[CONTROLLER_CLEARUNKFLAG] = OpponentHandleClearUnkFlag,
|
||||
[CONTROLLER_TOGGLEUNKFLAG] = OpponentHandleToggleUnkFlag,
|
||||
[CONTROLLER_HITANIMATION] = OpponentHandleHitAnimation,
|
||||
[CONTROLLER_42] = OpponentHandleCmd42,
|
||||
[CONTROLLER_CANTSWITCH] = OpponentHandleCantSwitch,
|
||||
[CONTROLLER_PLAYSE] = OpponentHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = OpponentHandlePlayFanfareOrBGM,
|
||||
[CONTROLLER_FAINTINGCRY] = OpponentHandleFaintingCry,
|
||||
@@ -1813,7 +1813,7 @@ static void OpponentHandleHitAnimation(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void OpponentHandleCmd42(void)
|
||||
static void OpponentHandleCantSwitch(void)
|
||||
{
|
||||
OpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ static void PlayerHandleSetUnkVar(void);
|
||||
static void PlayerHandleClearUnkFlag(void);
|
||||
static void PlayerHandleToggleUnkFlag(void);
|
||||
static void PlayerHandleHitAnimation(void);
|
||||
static void PlayerHandleCmd42(void);
|
||||
static void PlayerHandleCantSwitch(void);
|
||||
static void PlayerHandlePlaySE(void);
|
||||
static void PlayerHandlePlayFanfareOrBGM(void);
|
||||
static void PlayerHandleFaintingCry(void);
|
||||
@@ -167,7 +167,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
[CONTROLLER_CLEARUNKFLAG] = PlayerHandleClearUnkFlag,
|
||||
[CONTROLLER_TOGGLEUNKFLAG] = PlayerHandleToggleUnkFlag,
|
||||
[CONTROLLER_HITANIMATION] = PlayerHandleHitAnimation,
|
||||
[CONTROLLER_42] = PlayerHandleCmd42,
|
||||
[CONTROLLER_CANTSWITCH] = PlayerHandleCantSwitch,
|
||||
[CONTROLLER_PLAYSE] = PlayerHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = PlayerHandlePlayFanfareOrBGM,
|
||||
[CONTROLLER_FAINTINGCRY] = PlayerHandleFaintingCry,
|
||||
@@ -2890,7 +2890,7 @@ static void PlayerHandleHitAnimation(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void PlayerHandleCmd42(void)
|
||||
static void PlayerHandleCantSwitch(void)
|
||||
{
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ static void PlayerPartnerHandleSetUnkVar(void);
|
||||
static void PlayerPartnerHandleClearUnkFlag(void);
|
||||
static void PlayerPartnerHandleToggleUnkFlag(void);
|
||||
static void PlayerPartnerHandleHitAnimation(void);
|
||||
static void PlayerPartnerHandleCmd42(void);
|
||||
static void PlayerPartnerHandleCantSwitch(void);
|
||||
static void PlayerPartnerHandlePlaySE(void);
|
||||
static void PlayerPartnerHandlePlayFanfareOrBGM(void);
|
||||
static void PlayerPartnerHandleFaintingCry(void);
|
||||
@@ -146,7 +146,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
[CONTROLLER_CLEARUNKFLAG] = PlayerPartnerHandleClearUnkFlag,
|
||||
[CONTROLLER_TOGGLEUNKFLAG] = PlayerPartnerHandleToggleUnkFlag,
|
||||
[CONTROLLER_HITANIMATION] = PlayerPartnerHandleHitAnimation,
|
||||
[CONTROLLER_42] = PlayerPartnerHandleCmd42,
|
||||
[CONTROLLER_CANTSWITCH] = PlayerPartnerHandleCantSwitch,
|
||||
[CONTROLLER_PLAYSE] = PlayerPartnerHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = PlayerPartnerHandlePlayFanfareOrBGM,
|
||||
[CONTROLLER_FAINTINGCRY] = PlayerPartnerHandleFaintingCry,
|
||||
@@ -1727,7 +1727,7 @@ static void PlayerPartnerHandleHitAnimation(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void PlayerPartnerHandleCmd42(void)
|
||||
static void PlayerPartnerHandleCantSwitch(void)
|
||||
{
|
||||
PlayerPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ static void RecordedOpponentHandleSetUnkVar(void);
|
||||
static void RecordedOpponentHandleClearUnkFlag(void);
|
||||
static void RecordedOpponentHandleToggleUnkFlag(void);
|
||||
static void RecordedOpponentHandleHitAnimation(void);
|
||||
static void RecordedOpponentHandleCmd42(void);
|
||||
static void RecordedOpponentHandleCantSwitch(void);
|
||||
static void RecordedOpponentHandlePlaySE(void);
|
||||
static void RecordedOpponentHandlePlayFanfareOrBGM(void);
|
||||
static void RecordedOpponentHandleFaintingCry(void);
|
||||
@@ -146,7 +146,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void
|
||||
[CONTROLLER_CLEARUNKFLAG] = RecordedOpponentHandleClearUnkFlag,
|
||||
[CONTROLLER_TOGGLEUNKFLAG] = RecordedOpponentHandleToggleUnkFlag,
|
||||
[CONTROLLER_HITANIMATION] = RecordedOpponentHandleHitAnimation,
|
||||
[CONTROLLER_42] = RecordedOpponentHandleCmd42,
|
||||
[CONTROLLER_CANTSWITCH] = RecordedOpponentHandleCantSwitch,
|
||||
[CONTROLLER_PLAYSE] = RecordedOpponentHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = RecordedOpponentHandlePlayFanfareOrBGM,
|
||||
[CONTROLLER_FAINTINGCRY] = RecordedOpponentHandleFaintingCry,
|
||||
@@ -1587,7 +1587,7 @@ static void RecordedOpponentHandleHitAnimation(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void RecordedOpponentHandleCmd42(void)
|
||||
static void RecordedOpponentHandleCantSwitch(void)
|
||||
{
|
||||
RecordedOpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ static void RecordedPlayerHandleSetUnkVar(void);
|
||||
static void RecordedPlayerHandleClearUnkFlag(void);
|
||||
static void RecordedPlayerHandleToggleUnkFlag(void);
|
||||
static void RecordedPlayerHandleHitAnimation(void);
|
||||
static void RecordedPlayerHandleCmd42(void);
|
||||
static void RecordedPlayerHandleCantSwitch(void);
|
||||
static void RecordedPlayerHandlePlaySE(void);
|
||||
static void RecordedPlayerHandlePlayFanfareOrBGM(void);
|
||||
static void RecordedPlayerHandleFaintingCry(void);
|
||||
@@ -141,7 +141,7 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void)
|
||||
[CONTROLLER_CLEARUNKFLAG] = RecordedPlayerHandleClearUnkFlag,
|
||||
[CONTROLLER_TOGGLEUNKFLAG] = RecordedPlayerHandleToggleUnkFlag,
|
||||
[CONTROLLER_HITANIMATION] = RecordedPlayerHandleHitAnimation,
|
||||
[CONTROLLER_42] = RecordedPlayerHandleCmd42,
|
||||
[CONTROLLER_CANTSWITCH] = RecordedPlayerHandleCantSwitch,
|
||||
[CONTROLLER_PLAYSE] = RecordedPlayerHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = RecordedPlayerHandlePlayFanfareOrBGM,
|
||||
[CONTROLLER_FAINTINGCRY] = RecordedPlayerHandleFaintingCry,
|
||||
@@ -1610,7 +1610,7 @@ static void RecordedPlayerHandleHitAnimation(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void RecordedPlayerHandleCmd42(void)
|
||||
static void RecordedPlayerHandleCantSwitch(void)
|
||||
{
|
||||
RecordedPlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ static void SafariHandleSetUnkVar(void);
|
||||
static void SafariHandleClearUnkFlag(void);
|
||||
static void SafariHandleToggleUnkFlag(void);
|
||||
static void SafariHandleHitAnimation(void);
|
||||
static void SafariHandleCmd42(void);
|
||||
static void SafariHandleCantSwitch(void);
|
||||
static void SafariHandlePlaySE(void);
|
||||
static void SafariHandlePlayFanfareOrBGM(void);
|
||||
static void SafariHandleFaintingCry(void);
|
||||
@@ -131,7 +131,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
[CONTROLLER_CLEARUNKFLAG] = SafariHandleClearUnkFlag,
|
||||
[CONTROLLER_TOGGLEUNKFLAG] = SafariHandleToggleUnkFlag,
|
||||
[CONTROLLER_HITANIMATION] = SafariHandleHitAnimation,
|
||||
[CONTROLLER_42] = SafariHandleCmd42,
|
||||
[CONTROLLER_CANTSWITCH] = SafariHandleCantSwitch,
|
||||
[CONTROLLER_PLAYSE] = SafariHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = SafariHandlePlayFanfareOrBGM,
|
||||
[CONTROLLER_FAINTINGCRY] = SafariHandleFaintingCry,
|
||||
@@ -580,7 +580,7 @@ static void SafariHandleHitAnimation(void)
|
||||
SafariBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void SafariHandleCmd42(void)
|
||||
static void SafariHandleCantSwitch(void)
|
||||
{
|
||||
SafariBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ static void WallyHandleSetUnkVar(void);
|
||||
static void WallyHandleClearUnkFlag(void);
|
||||
static void WallyHandleToggleUnkFlag(void);
|
||||
static void WallyHandleHitAnimation(void);
|
||||
static void WallyHandleCmd42(void);
|
||||
static void WallyHandleCantSwitch(void);
|
||||
static void WallyHandlePlaySE(void);
|
||||
static void WallyHandlePlayFanfareOrBGM(void);
|
||||
static void WallyHandleFaintingCry(void);
|
||||
@@ -144,7 +144,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
[CONTROLLER_CLEARUNKFLAG] = WallyHandleClearUnkFlag,
|
||||
[CONTROLLER_TOGGLEUNKFLAG] = WallyHandleToggleUnkFlag,
|
||||
[CONTROLLER_HITANIMATION] = WallyHandleHitAnimation,
|
||||
[CONTROLLER_42] = WallyHandleCmd42,
|
||||
[CONTROLLER_CANTSWITCH] = WallyHandleCantSwitch,
|
||||
[CONTROLLER_PLAYSE] = WallyHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = WallyHandlePlayFanfareOrBGM,
|
||||
[CONTROLLER_FAINTINGCRY] = WallyHandleFaintingCry,
|
||||
@@ -190,7 +190,7 @@ static void WallyHandleActions(void)
|
||||
switch (gBattleStruct->wallyBattleState)
|
||||
{
|
||||
case 0:
|
||||
gBattleStruct->wallyWaitFrames = 64;
|
||||
gBattleStruct->wallyWaitFrames = B_WAIT_TIME_LONG;
|
||||
gBattleStruct->wallyBattleState++;
|
||||
case 1:
|
||||
if (--gBattleStruct->wallyWaitFrames == 0)
|
||||
@@ -200,7 +200,7 @@ static void WallyHandleActions(void)
|
||||
WallyBufferExecCompleted();
|
||||
gBattleStruct->wallyBattleState++;
|
||||
gBattleStruct->wallyMovesState = 0;
|
||||
gBattleStruct->wallyWaitFrames = 64;
|
||||
gBattleStruct->wallyWaitFrames = B_WAIT_TIME_LONG;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
@@ -211,17 +211,17 @@ static void WallyHandleActions(void)
|
||||
WallyBufferExecCompleted();
|
||||
gBattleStruct->wallyBattleState++;
|
||||
gBattleStruct->wallyMovesState = 0;
|
||||
gBattleStruct->wallyWaitFrames = 64;
|
||||
gBattleStruct->wallyWaitFrames = B_WAIT_TIME_LONG;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (--gBattleStruct->wallyWaitFrames == 0)
|
||||
{
|
||||
BtlController_EmitTwoReturnValues(1, 9, 0);
|
||||
BtlController_EmitTwoReturnValues(1, B_ACTION_WALLY_THROW, 0);
|
||||
WallyBufferExecCompleted();
|
||||
gBattleStruct->wallyBattleState++;
|
||||
gBattleStruct->wallyMovesState = 0;
|
||||
gBattleStruct->wallyWaitFrames = 64;
|
||||
gBattleStruct->wallyWaitFrames = B_WAIT_TIME_LONG;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
@@ -230,7 +230,7 @@ static void WallyHandleActions(void)
|
||||
PlaySE(SE_SELECT);
|
||||
ActionSelectionDestroyCursorAt(0);
|
||||
ActionSelectionCreateCursorAt(1, 0);
|
||||
gBattleStruct->wallyWaitFrames = 64;
|
||||
gBattleStruct->wallyWaitFrames = B_WAIT_TIME_LONG;
|
||||
gBattleStruct->wallyBattleState++;
|
||||
}
|
||||
break;
|
||||
@@ -1385,7 +1385,7 @@ static void WallyHandleHitAnimation(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void WallyHandleCmd42(void)
|
||||
static void WallyHandleCantSwitch(void)
|
||||
{
|
||||
WallyBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1385,12 +1385,12 @@ void BtlController_EmitHitAnimation(u8 bufferId)
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
|
||||
}
|
||||
|
||||
void BtlController_EmitCmd42(u8 bufferId)
|
||||
void BtlController_EmitCantSwitch(u8 bufferId)
|
||||
{
|
||||
sBattleBuffersTransferData[0] = CONTROLLER_42;
|
||||
sBattleBuffersTransferData[1] = CONTROLLER_42;
|
||||
sBattleBuffersTransferData[2] = CONTROLLER_42;
|
||||
sBattleBuffersTransferData[3] = CONTROLLER_42;
|
||||
sBattleBuffersTransferData[0] = CONTROLLER_CANTSWITCH;
|
||||
sBattleBuffersTransferData[1] = CONTROLLER_CANTSWITCH;
|
||||
sBattleBuffersTransferData[2] = CONTROLLER_CANTSWITCH;
|
||||
sBattleBuffersTransferData[3] = CONTROLLER_CANTSWITCH;
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -5397,7 +5397,7 @@ static void Task_ShowTourneyTree(u8 taskId)
|
||||
{
|
||||
if (DOME_TRAINERS[i].trainerId == TRAINER_PLAYER)
|
||||
{
|
||||
textPrinter.fgColor = TEXT_COLOR_LIGHT_GREY;
|
||||
textPrinter.fgColor = TEXT_COLOR_LIGHT_GRAY;
|
||||
textPrinter.shadowColor = TEXT_COLOR_RED;
|
||||
}
|
||||
else
|
||||
@@ -5410,7 +5410,7 @@ static void Task_ShowTourneyTree(u8 taskId)
|
||||
{
|
||||
if (DOME_TRAINERS[i].trainerId == TRAINER_PLAYER)
|
||||
{
|
||||
textPrinter.fgColor = TEXT_COLOR_LIGHT_GREY;
|
||||
textPrinter.fgColor = TEXT_COLOR_LIGHT_GRAY;
|
||||
textPrinter.shadowColor = TEXT_COLOR_RED;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -402,7 +402,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] =
|
||||
};
|
||||
|
||||
static const u16 sSelectText_Pal[] = INCBIN_U16("graphics/battle_frontier/factory_screen/text.gbapal");
|
||||
static const u8 sMenuOptionTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_TRANSPARENT};
|
||||
static const u8 sMenuOptionTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_TRANSPARENT};
|
||||
static const u8 sSpeciesNameTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_TRANSPARENT};
|
||||
|
||||
static const struct OamData sOam_Select_Pokeball =
|
||||
@@ -1024,7 +1024,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] =
|
||||
};
|
||||
|
||||
static const u16 sSwapText_Pal[] = INCBIN_U16("graphics/battle_frontier/factory_screen/text.gbapal"); // Identical to sSelectText_Pal
|
||||
static const u8 sSwapMenuOptionsTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_TRANSPARENT};
|
||||
static const u8 sSwapMenuOptionsTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_TRANSPARENT};
|
||||
static const u8 sSwapSpeciesNameTextColors[] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_TRANSPARENT};
|
||||
|
||||
#define SWAPACTION_MON 1
|
||||
|
||||
+5
-5
@@ -3959,7 +3959,7 @@ u8 IsRunningFromBattleImpossible(void)
|
||||
{
|
||||
gBattleScripting.battler = i;
|
||||
gLastUsedAbility = gBattleMons[i].ability;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_PREVENTS_ESCAPE;
|
||||
return 2;
|
||||
}
|
||||
if (side != GetBattlerSide(i)
|
||||
@@ -3969,7 +3969,7 @@ u8 IsRunningFromBattleImpossible(void)
|
||||
{
|
||||
gBattleScripting.battler = i;
|
||||
gLastUsedAbility = gBattleMons[i].ability;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_PREVENTS_ESCAPE;
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
@@ -3978,18 +3978,18 @@ u8 IsRunningFromBattleImpossible(void)
|
||||
{
|
||||
gBattleScripting.battler = i - 1;
|
||||
gLastUsedAbility = gBattleMons[i - 1].ability;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_PREVENTS_ESCAPE;
|
||||
return 2;
|
||||
}
|
||||
if ((gBattleMons[gActiveBattler].status2 & (STATUS2_ESCAPE_PREVENTION | STATUS2_WRAPPED))
|
||||
|| (gStatuses3[gActiveBattler] & STATUS3_ROOTED))
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CANT_ESCAPE;
|
||||
return 1;
|
||||
}
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DONT_LEAVE_BIRCH;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
+176
-95
@@ -305,11 +305,11 @@ static const u8 sText_StatSharply[] = _("sharply ");
|
||||
const u8 gText_StatRose[] = _("rose!");
|
||||
static const u8 sText_StatHarshly[] = _("harshly ");
|
||||
static const u8 sText_StatFell[] = _("fell!");
|
||||
static const u8 sText_PkmnsStatChanged[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
|
||||
const u8 gText_PkmnsStatChanged2[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
|
||||
static const u8 sText_UsingXTheYOfZN[] = _("Using {B_LAST_ITEM}, the {B_BUFF1}\nof {B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}");
|
||||
static const u8 sText_PkmnsStatChanged3[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
|
||||
static const u8 sText_PkmnsStatChanged4[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
|
||||
static const u8 sText_AttackersStatRose[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
|
||||
const u8 gText_DefendersStatRose[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
|
||||
static const u8 sText_UsingItemTheStatOfPkmnRose[] = _("Using {B_LAST_ITEM}, the {B_BUFF1}\nof {B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}");
|
||||
static const u8 sText_AttackersStatFell[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
|
||||
static const u8 sText_DefendersStatFell[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
|
||||
static const u8 sText_StatsWontIncrease2[] = _("{B_ATK_NAME_WITH_PREFIX}'s stats won't\ngo any higher!");
|
||||
static const u8 sText_StatsWontDecrease2[] = _("{B_DEF_NAME_WITH_PREFIX}'s stats won't\ngo any lower!");
|
||||
static const u8 sText_CriticalHit[] = _("A critical hit!");
|
||||
@@ -721,10 +721,10 @@ const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT] =
|
||||
[STRINGID_STATROSE - 12] = gText_StatRose,
|
||||
[STRINGID_STATHARSHLY - 12] = sText_StatHarshly,
|
||||
[STRINGID_STATFELL - 12] = sText_StatFell,
|
||||
[STRINGID_PKMNSSTATCHANGED - 12] = sText_PkmnsStatChanged,
|
||||
[STRINGID_PKMNSSTATCHANGED2 - 12] = gText_PkmnsStatChanged2,
|
||||
[STRINGID_PKMNSSTATCHANGED3 - 12] = sText_PkmnsStatChanged3,
|
||||
[STRINGID_PKMNSSTATCHANGED4 - 12] = sText_PkmnsStatChanged4,
|
||||
[STRINGID_ATTACKERSSTATROSE - 12] = sText_AttackersStatRose,
|
||||
[STRINGID_DEFENDERSSTATROSE - 12] = gText_DefendersStatRose,
|
||||
[STRINGID_ATTACKERSSTATFELL - 12] = sText_AttackersStatFell,
|
||||
[STRINGID_DEFENDERSSTATFELL - 12] = sText_DefendersStatFell,
|
||||
[STRINGID_CRITICALHIT - 12] = sText_CriticalHit,
|
||||
[STRINGID_ONEHITKO - 12] = sText_OneHitKO,
|
||||
[STRINGID_123POOF - 12] = sText_123Poof,
|
||||
@@ -833,7 +833,7 @@ const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT] =
|
||||
[STRINGID_SOOTHINGAROMA - 12] = sText_SoothingAroma,
|
||||
[STRINGID_ITEMSCANTBEUSEDNOW - 12] = sText_ItemsCantBeUsedNow,
|
||||
[STRINGID_FORXCOMMAYZ - 12] = sText_ForXCommaYZ,
|
||||
[STRINGID_USINGXTHEYOFZN - 12] = sText_UsingXTheYOfZN,
|
||||
[STRINGID_USINGITEMSTATOFPKMNROSE - 12] = sText_UsingItemTheStatOfPkmnRose,
|
||||
[STRINGID_PKMNUSEDXTOGETPUMPED - 12] = sText_PkmnUsedXToGetPumped,
|
||||
[STRINGID_PKMNSXMADEYUSELESS - 12] = sText_PkmnsXMadeYUseless,
|
||||
[STRINGID_PKMNTRAPPEDBYSANDTOMB - 12] = sText_PkmnTrappedBySandTomb,
|
||||
@@ -893,112 +893,149 @@ const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT] =
|
||||
|
||||
const u16 gMissStringIds[] =
|
||||
{
|
||||
STRINGID_ATTACKMISSED, STRINGID_PKMNPROTECTEDITSELF,
|
||||
STRINGID_PKMNAVOIDEDATTACK, STRINGID_AVOIDEDDAMAGE,
|
||||
STRINGID_PKMNMAKESGROUNDMISS
|
||||
[B_MSG_MISSED] = STRINGID_ATTACKMISSED,
|
||||
[B_MSG_PROTECTED] = STRINGID_PKMNPROTECTEDITSELF,
|
||||
[B_MSG_AVOIDED_ATK] = STRINGID_PKMNAVOIDEDATTACK,
|
||||
[B_MSG_AVOIDED_DMG] = STRINGID_AVOIDEDDAMAGE,
|
||||
[B_MSG_GROUND_MISS] = STRINGID_PKMNMAKESGROUNDMISS
|
||||
};
|
||||
|
||||
const u16 gNoEscapeStringIds[] =
|
||||
{
|
||||
STRINGID_CANTESCAPE, STRINGID_DONTLEAVEBIRCH, STRINGID_PREVENTSESCAPE,
|
||||
STRINGID_CANTESCAPE2, STRINGID_ATTACKERCANTESCAPE
|
||||
[B_MSG_CANT_ESCAPE] = STRINGID_CANTESCAPE,
|
||||
[B_MSG_DONT_LEAVE_BIRCH] = STRINGID_DONTLEAVEBIRCH,
|
||||
[B_MSG_PREVENTS_ESCAPE] = STRINGID_PREVENTSESCAPE,
|
||||
[B_MSG_CANT_ESCAPE_2] = STRINGID_CANTESCAPE2,
|
||||
[B_MSG_ATTACKER_CANT_ESCAPE] = STRINGID_ATTACKERCANTESCAPE
|
||||
};
|
||||
|
||||
const u16 gMoveWeatherChangeStringIds[] =
|
||||
{
|
||||
STRINGID_STARTEDTORAIN, STRINGID_DOWNPOURSTARTED, STRINGID_BUTITFAILED,
|
||||
STRINGID_SANDSTORMBREWED, STRINGID_SUNLIGHTGOTBRIGHT, STRINGID_STARTEDHAIL
|
||||
[B_MSG_STARTED_RAIN] = STRINGID_STARTEDTORAIN,
|
||||
[B_MSG_STARTED_DOWNPOUR] = STRINGID_DOWNPOURSTARTED, // Unused
|
||||
[B_MSG_WEATHER_FAILED] = STRINGID_BUTITFAILED,
|
||||
[B_MSG_STARTED_SANDSTORM] = STRINGID_SANDSTORMBREWED,
|
||||
[B_MSG_STARTED_SUNLIGHT] = STRINGID_SUNLIGHTGOTBRIGHT,
|
||||
[B_MSG_STARTED_HAIL] = STRINGID_STARTEDHAIL,
|
||||
};
|
||||
|
||||
const u16 gSandStormHailContinuesStringIds[] =
|
||||
{
|
||||
STRINGID_SANDSTORMRAGES, STRINGID_HAILCONTINUES
|
||||
[B_MSG_SANDSTORM] = STRINGID_SANDSTORMRAGES,
|
||||
[B_MSG_HAIL] = STRINGID_HAILCONTINUES
|
||||
};
|
||||
|
||||
const u16 gSandStormHailDmgStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNBUFFETEDBYSANDSTORM, STRINGID_PKMNPELTEDBYHAIL
|
||||
[B_MSG_SANDSTORM] = STRINGID_PKMNBUFFETEDBYSANDSTORM,
|
||||
[B_MSG_HAIL] = STRINGID_PKMNPELTEDBYHAIL
|
||||
};
|
||||
|
||||
const u16 gSandStormHailEndStringIds[] =
|
||||
{
|
||||
STRINGID_SANDSTORMSUBSIDED, STRINGID_HAILSTOPPED
|
||||
[B_MSG_SANDSTORM] = STRINGID_SANDSTORMSUBSIDED,
|
||||
[B_MSG_HAIL] = STRINGID_HAILSTOPPED
|
||||
};
|
||||
|
||||
const u16 gRainContinuesStringIds[] =
|
||||
{
|
||||
STRINGID_RAINCONTINUES, STRINGID_DOWNPOURCONTINUES, STRINGID_RAINSTOPPED
|
||||
[B_MSG_RAIN_CONTINUES] = STRINGID_RAINCONTINUES,
|
||||
[B_MSG_DOWNPOUR_CONTINUES] = STRINGID_DOWNPOURCONTINUES,
|
||||
[B_MSG_RAIN_STOPPED] = STRINGID_RAINSTOPPED
|
||||
};
|
||||
|
||||
const u16 gProtectLikeUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNPROTECTEDITSELF2, STRINGID_PKMNBRACEDITSELF, STRINGID_BUTITFAILED
|
||||
[B_MSG_PROTECTED_ITSELF] = STRINGID_PKMNPROTECTEDITSELF2,
|
||||
[B_MSG_BRACED_ITSELF] = STRINGID_PKMNBRACEDITSELF,
|
||||
[B_MSG_PROTECT_FAILED] = STRINGID_BUTITFAILED,
|
||||
};
|
||||
|
||||
const u16 gReflectLightScreenSafeguardStringIds[] =
|
||||
{
|
||||
STRINGID_BUTITFAILED, STRINGID_PKMNRAISEDDEF, STRINGID_PKMNRAISEDDEFALITTLE,
|
||||
STRINGID_PKMNRAISEDSPDEF, STRINGID_PKMNRAISEDSPDEFALITTLE, STRINGID_PKMNCOVEREDBYVEIL
|
||||
[B_MSG_SIDE_STATUS_FAILED] = STRINGID_BUTITFAILED,
|
||||
[B_MSG_SET_REFLECT_SINGLE] = STRINGID_PKMNRAISEDDEF,
|
||||
[B_MSG_SET_REFLECT_DOUBLE] = STRINGID_PKMNRAISEDDEFALITTLE,
|
||||
[B_MSG_SET_LIGHTSCREEN_SINGLE] = STRINGID_PKMNRAISEDSPDEF,
|
||||
[B_MSG_SET_LIGHTSCREEN_DOUBLE] = STRINGID_PKMNRAISEDSPDEFALITTLE,
|
||||
[B_MSG_SET_SAFEGUARD] = STRINGID_PKMNCOVEREDBYVEIL,
|
||||
};
|
||||
|
||||
const u16 gLeechSeedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSEEDED, STRINGID_PKMNEVADEDATTACK,
|
||||
STRINGID_ITDOESNTAFFECT, STRINGID_PKMNSAPPEDBYLEECHSEED, STRINGID_ITSUCKEDLIQUIDOOZE,
|
||||
[B_MSG_LEECH_SEED_SET] = STRINGID_PKMNSEEDED,
|
||||
[B_MSG_LEECH_SEED_MISS] = STRINGID_PKMNEVADEDATTACK,
|
||||
[B_MSG_LEECH_SEED_FAIL] = STRINGID_ITDOESNTAFFECT,
|
||||
[B_MSG_LEECH_SEED_DRAIN] = STRINGID_PKMNSAPPEDBYLEECHSEED,
|
||||
[B_MSG_LEECH_SEED_OOZE] = STRINGID_ITSUCKEDLIQUIDOOZE,
|
||||
};
|
||||
|
||||
const u16 gRestUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWENTTOSLEEP, STRINGID_PKMNSLEPTHEALTHY
|
||||
[B_MSG_REST] = STRINGID_PKMNWENTTOSLEEP,
|
||||
[B_MSG_REST_STATUSED] = STRINGID_PKMNSLEPTHEALTHY
|
||||
};
|
||||
|
||||
const u16 gUproarOverTurnStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNMAKINGUPROAR, STRINGID_PKMNCALMEDDOWN
|
||||
[B_MSG_UPROAR_CONTINUES] = STRINGID_PKMNMAKINGUPROAR,
|
||||
[B_MSG_UPROAR_ENDS] = STRINGID_PKMNCALMEDDOWN
|
||||
};
|
||||
|
||||
const u16 gStockpileUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSTOCKPILED, STRINGID_PKMNCANTSTOCKPILE,
|
||||
[B_MSG_STOCKPILED] = STRINGID_PKMNSTOCKPILED,
|
||||
[B_MSG_CANT_STOCKPILE] = STRINGID_PKMNCANTSTOCKPILE,
|
||||
};
|
||||
|
||||
const u16 gWokeUpStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWOKEUP, STRINGID_PKMNWOKEUPINUPROAR
|
||||
[B_MSG_WOKE_UP] = STRINGID_PKMNWOKEUP,
|
||||
[B_MSG_WOKE_UP_UPROAR] = STRINGID_PKMNWOKEUPINUPROAR
|
||||
};
|
||||
|
||||
const u16 gSwallowFailStringIds[] =
|
||||
{
|
||||
STRINGID_FAILEDTOSWALLOW, STRINGID_PKMNHPFULL
|
||||
[B_MSG_SWALLOW_FAILED] = STRINGID_FAILEDTOSWALLOW,
|
||||
[B_MSG_SWALLOW_FULL_HP] = STRINGID_PKMNHPFULL
|
||||
};
|
||||
|
||||
const u16 gUproarAwakeStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNCANTSLEEPINUPROAR2, STRINGID_UPROARKEPTPKMNAWAKE, STRINGID_PKMNSTAYEDAWAKEUSING
|
||||
[B_MSG_CANT_SLEEP_UPROAR] = STRINGID_PKMNCANTSLEEPINUPROAR2,
|
||||
[B_MSG_UPROAR_KEPT_AWAKE] = STRINGID_UPROARKEPTPKMNAWAKE,
|
||||
[B_MSG_STAYED_AWAKE_USING] = STRINGID_PKMNSTAYEDAWAKEUSING,
|
||||
};
|
||||
|
||||
const u16 gStatUpStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSSTATCHANGED, STRINGID_PKMNSSTATCHANGED2, STRINGID_STATSWONTINCREASE,
|
||||
STRINGID_EMPTYSTRING3, STRINGID_USINGXTHEYOFZN, STRINGID_PKMNUSEDXTOGETPUMPED
|
||||
[B_MSG_ATTACKER_STAT_ROSE] = STRINGID_ATTACKERSSTATROSE,
|
||||
[B_MSG_DEFENDER_STAT_ROSE] = STRINGID_DEFENDERSSTATROSE,
|
||||
[B_MSG_STAT_WONT_INCREASE] = STRINGID_STATSWONTINCREASE,
|
||||
[B_MSG_STAT_ROSE_EMPTY] = STRINGID_EMPTYSTRING3,
|
||||
[B_MSG_STAT_ROSE_ITEM] = STRINGID_USINGITEMSTATOFPKMNROSE,
|
||||
[B_MSG_USED_DIRE_HIT] = STRINGID_PKMNUSEDXTOGETPUMPED,
|
||||
};
|
||||
|
||||
const u16 gStatDownStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4, STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3
|
||||
[B_MSG_ATTACKER_STAT_FELL] = STRINGID_ATTACKERSSTATFELL,
|
||||
[B_MSG_DEFENDER_STAT_FELL] = STRINGID_DEFENDERSSTATFELL,
|
||||
[B_MSG_STAT_WONT_DECREASE] = STRINGID_STATSWONTDECREASE,
|
||||
[B_MSG_STAT_FELL_EMPTY] = STRINGID_EMPTYSTRING3,
|
||||
};
|
||||
|
||||
// Index read from sTWOTURN_STRINGID
|
||||
const u16 gFirstTurnOfTwoStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWHIPPEDWHIRLWIND, // MOVE_RAZOR_WIND
|
||||
STRINGID_PKMNTOOKSUNLIGHT, // MOVE_SOLAR_BEAM
|
||||
STRINGID_PKMNLOWEREDHEAD, // MOVE_SKULL_BASH
|
||||
STRINGID_PKMNISGLOWING, // MOVE_SKY_ATTACK
|
||||
STRINGID_PKMNFLEWHIGH, // MOVE_FLY
|
||||
STRINGID_PKMNDUGHOLE, // MOVE_DIG
|
||||
STRINGID_PKMNHIDUNDERWATER, // MOVE_DIVE
|
||||
STRINGID_PKMNSPRANGUP // MOVE_BOUNCE
|
||||
[B_MSG_TURN1_RAZOR_WIND] = STRINGID_PKMNWHIPPEDWHIRLWIND,
|
||||
[B_MSG_TURN1_SOLAR_BEAM] = STRINGID_PKMNTOOKSUNLIGHT,
|
||||
[B_MSG_TURN1_SKULL_BASH] = STRINGID_PKMNLOWEREDHEAD,
|
||||
[B_MSG_TURN1_SKY_ATTACK] = STRINGID_PKMNISGLOWING,
|
||||
[B_MSG_TURN1_FLY] = STRINGID_PKMNFLEWHIGH,
|
||||
[B_MSG_TURN1_DIG] = STRINGID_PKMNDUGHOLE,
|
||||
[B_MSG_TURN1_DIVE] = STRINGID_PKMNHIDUNDERWATER,
|
||||
[B_MSG_TURN1_BOUNCE] = STRINGID_PKMNSPRANGUP,
|
||||
};
|
||||
|
||||
// Index copied from move's index in gTrappingMoves
|
||||
@@ -1014,89 +1051,109 @@ const u16 gWrappedStringIds[] =
|
||||
|
||||
const u16 gMistUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSHROUDEDINMIST, STRINGID_BUTITFAILED
|
||||
[B_MSG_SET_MIST] = STRINGID_PKMNSHROUDEDINMIST,
|
||||
[B_MSG_MIST_FAILED] = STRINGID_BUTITFAILED
|
||||
};
|
||||
|
||||
const u16 gFocusEnergyUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNGETTINGPUMPED, STRINGID_BUTITFAILED
|
||||
[B_MSG_GETTING_PUMPED] = STRINGID_PKMNGETTINGPUMPED,
|
||||
[B_MSG_FOCUS_ENERGY_FAILED] = STRINGID_BUTITFAILED
|
||||
};
|
||||
|
||||
const u16 gTransformUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNTRANSFORMEDINTO, STRINGID_BUTITFAILED
|
||||
[B_MSG_TRANSFORMED] = STRINGID_PKMNTRANSFORMEDINTO,
|
||||
[B_MSG_TRANSFORM_FAILED] = STRINGID_BUTITFAILED
|
||||
};
|
||||
|
||||
const u16 gSubsituteUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNMADESUBSTITUTE, STRINGID_TOOWEAKFORSUBSTITUTE
|
||||
[B_MSG_SET_SUBSTITUTE] = STRINGID_PKMNMADESUBSTITUTE,
|
||||
[B_MSG_SUBSTITUTE_FAILED] = STRINGID_TOOWEAKFORSUBSTITUTE
|
||||
};
|
||||
|
||||
const u16 gGotPoisonedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWASPOISONED, STRINGID_PKMNPOISONEDBY
|
||||
[B_MSG_STATUSED] = STRINGID_PKMNWASPOISONED,
|
||||
[B_MSG_STATUSED_BY_ABILITY] = STRINGID_PKMNPOISONEDBY
|
||||
};
|
||||
|
||||
const u16 gGotParalyzedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWASPARALYZED, STRINGID_PKMNWASPARALYZEDBY
|
||||
[B_MSG_STATUSED] = STRINGID_PKMNWASPARALYZED,
|
||||
[B_MSG_STATUSED_BY_ABILITY] = STRINGID_PKMNWASPARALYZEDBY
|
||||
};
|
||||
|
||||
const u16 gFellAsleepStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNFELLASLEEP, STRINGID_PKMNMADESLEEP,
|
||||
[B_MSG_STATUSED] = STRINGID_PKMNFELLASLEEP,
|
||||
[B_MSG_STATUSED_BY_ABILITY] = STRINGID_PKMNMADESLEEP,
|
||||
};
|
||||
|
||||
const u16 gGotBurnedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWASBURNED, STRINGID_PKMNBURNEDBY
|
||||
[B_MSG_STATUSED] = STRINGID_PKMNWASBURNED,
|
||||
[B_MSG_STATUSED_BY_ABILITY] = STRINGID_PKMNBURNEDBY
|
||||
};
|
||||
|
||||
const u16 gGotFrozenStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWASFROZEN, STRINGID_PKMNFROZENBY
|
||||
[B_MSG_STATUSED] = STRINGID_PKMNWASFROZEN,
|
||||
[B_MSG_STATUSED_BY_ABILITY] = STRINGID_PKMNFROZENBY
|
||||
};
|
||||
|
||||
const u16 gGotDefrostedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWASDEFROSTED2, STRINGID_PKMNWASDEFROSTEDBY
|
||||
[B_MSG_DEFROSTED] = STRINGID_PKMNWASDEFROSTED2,
|
||||
[B_MSG_DEFROSTED_BY_MOVE] = STRINGID_PKMNWASDEFROSTEDBY
|
||||
};
|
||||
|
||||
const u16 gKOFailedStringIds[] =
|
||||
{
|
||||
STRINGID_ATTACKMISSED, STRINGID_PKMNUNAFFECTED
|
||||
[B_MSG_KO_MISS] = STRINGID_ATTACKMISSED,
|
||||
[B_MSG_KO_UNAFFECTED] = STRINGID_PKMNUNAFFECTED
|
||||
};
|
||||
|
||||
const u16 gAttractUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNFELLINLOVE, STRINGID_PKMNSXINFATUATEDY
|
||||
[B_MSG_STATUSED] = STRINGID_PKMNFELLINLOVE,
|
||||
[B_MSG_STATUSED_BY_ABILITY] = STRINGID_PKMNSXINFATUATEDY
|
||||
};
|
||||
|
||||
const u16 gLeechSeedDrainStringIds[] =
|
||||
const u16 gAbsorbDrainStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNENERGYDRAINED, STRINGID_ITSUCKEDLIQUIDOOZE
|
||||
[B_MSG_ABSORB] = STRINGID_PKMNENERGYDRAINED,
|
||||
[B_MSG_ABSORB_OOZE] = STRINGID_ITSUCKEDLIQUIDOOZE
|
||||
};
|
||||
|
||||
const u16 gSportsUsedStringIds[] =
|
||||
{
|
||||
STRINGID_ELECTRICITYWEAKENED, STRINGID_FIREWEAKENED
|
||||
[B_MSG_WEAKEN_ELECTRIC] = STRINGID_ELECTRICITYWEAKENED,
|
||||
[B_MSG_WEAKEN_FIRE] = STRINGID_FIREWEAKENED
|
||||
};
|
||||
|
||||
const u16 gPartyStatusHealStringIds[] =
|
||||
{
|
||||
STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED,
|
||||
// interesting how there are four instances of the same string
|
||||
STRINGID_SOOTHINGAROMA
|
||||
[B_MSG_BELL] = STRINGID_BELLCHIMED,
|
||||
[B_MSG_BELL_SOUNDPROOF_ATTACKER] = STRINGID_BELLCHIMED,
|
||||
[B_MSG_BELL_SOUNDPROOF_PARTNER] = STRINGID_BELLCHIMED,
|
||||
[B_MSG_BELL_BOTH_SOUNDPROOF] = STRINGID_BELLCHIMED,
|
||||
[B_MSG_SOOTHING_AROMA] = STRINGID_SOOTHINGAROMA
|
||||
};
|
||||
|
||||
const u16 gFutureMoveUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNFORESAWATTACK, STRINGID_PKMNCHOSEXASDESTINY
|
||||
[B_MSG_FUTURE_SIGHT] = STRINGID_PKMNFORESAWATTACK,
|
||||
[B_MSG_DOOM_DESIRE] = STRINGID_PKMNCHOSEXASDESTINY
|
||||
};
|
||||
|
||||
const u16 gBallEscapeStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT, STRINGID_SHOOTSOCLOSE
|
||||
[BALL_NO_SHAKES] = STRINGID_PKMNBROKEFREE,
|
||||
[BALL_1_SHAKE] = STRINGID_ITAPPEAREDCAUGHT,
|
||||
[BALL_2_SHAKES] = STRINGID_AARGHALMOSTHADIT,
|
||||
[BALL_3_SHAKES_FAIL] = STRINGID_SHOOTSOCLOSE
|
||||
};
|
||||
|
||||
// Overworld weathers that don't have an associated battle weather default to "It is raining."
|
||||
@@ -1122,59 +1179,82 @@ const u16 gWeatherStartsStringIds[] =
|
||||
|
||||
const u16 gInobedientStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNLOAFING, STRINGID_PKMNWONTOBEY, STRINGID_PKMNTURNEDAWAY,
|
||||
STRINGID_PKMNPRETENDNOTNOTICE, STRINGID_PKMNINCAPABLEOFPOWER
|
||||
[B_MSG_LOAFING] = STRINGID_PKMNLOAFING,
|
||||
[B_MSG_WONT_OBEY] = STRINGID_PKMNWONTOBEY,
|
||||
[B_MSG_TURNED_AWAY] = STRINGID_PKMNTURNEDAWAY,
|
||||
[B_MSG_PRETEND_NOT_NOTICE] = STRINGID_PKMNPRETENDNOTNOTICE,
|
||||
[B_MSG_INCAPABLE_OF_POWER] = STRINGID_PKMNINCAPABLEOFPOWER
|
||||
};
|
||||
|
||||
const u16 gSafariGetNearStringIds[] =
|
||||
{
|
||||
STRINGID_CREPTCLOSER, STRINGID_CANTGETCLOSER
|
||||
[B_MSG_CREPT_CLOSER] = STRINGID_CREPTCLOSER,
|
||||
[B_MSG_CANT_GET_CLOSER] = STRINGID_CANTGETCLOSER
|
||||
};
|
||||
|
||||
const u16 gSafariPokeblockResultStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNCURIOUSABOUTX, STRINGID_PKMNENTHRALLEDBYX, STRINGID_PKMNIGNOREDX
|
||||
[B_MSG_MON_CURIOUS] = STRINGID_PKMNCURIOUSABOUTX,
|
||||
[B_MSG_MON_ENTHRALLED] = STRINGID_PKMNENTHRALLEDBYX,
|
||||
[B_MSG_MON_IGNORED] = STRINGID_PKMNIGNOREDX
|
||||
};
|
||||
|
||||
const u16 gTrainerItemCuredStatusStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSITEMSNAPPEDOUT, STRINGID_PKMNSITEMCUREDPARALYSIS, STRINGID_PKMNSITEMDEFROSTEDIT,
|
||||
STRINGID_PKMNSITEMHEALEDBURN, STRINGID_PKMNSITEMCUREDPOISON, STRINGID_PKMNSITEMWOKEIT
|
||||
[AI_HEAL_CONFUSION] = STRINGID_PKMNSITEMSNAPPEDOUT,
|
||||
[AI_HEAL_PARALYSIS] = STRINGID_PKMNSITEMCUREDPARALYSIS,
|
||||
[AI_HEAL_FREEZE] = STRINGID_PKMNSITEMDEFROSTEDIT,
|
||||
[AI_HEAL_BURN] = STRINGID_PKMNSITEMHEALEDBURN,
|
||||
[AI_HEAL_POISON] = STRINGID_PKMNSITEMCUREDPOISON,
|
||||
[AI_HEAL_SLEEP] = STRINGID_PKMNSITEMWOKEIT
|
||||
};
|
||||
|
||||
const u16 gBerryEffectStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSITEMCUREDPROBLEM, STRINGID_PKMNSITEMNORMALIZEDSTATUS
|
||||
[B_MSG_CURED_PROBLEM] = STRINGID_PKMNSITEMCUREDPROBLEM,
|
||||
[B_MSG_NORMALIZED_STATUS] = STRINGID_PKMNSITEMNORMALIZEDSTATUS
|
||||
};
|
||||
|
||||
const u16 gBRNPreventionStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSXPREVENTSBURNS, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY
|
||||
[B_MSG_ABILITY_PREVENTS_MOVE_STATUS] = STRINGID_PKMNSXPREVENTSBURNS,
|
||||
[B_MSG_ABILITY_PREVENTS_ABILITY_STATUS] = STRINGID_PKMNSXPREVENTSYSZ,
|
||||
[B_MSG_STATUS_HAD_NO_EFFECT] = STRINGID_PKMNSXHADNOEFFECTONY
|
||||
};
|
||||
|
||||
const u16 gPRLZPreventionStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNPREVENTSPARALYSISWITH, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY
|
||||
[B_MSG_ABILITY_PREVENTS_MOVE_STATUS] = STRINGID_PKMNPREVENTSPARALYSISWITH,
|
||||
[B_MSG_ABILITY_PREVENTS_ABILITY_STATUS] = STRINGID_PKMNSXPREVENTSYSZ,
|
||||
[B_MSG_STATUS_HAD_NO_EFFECT] = STRINGID_PKMNSXHADNOEFFECTONY
|
||||
};
|
||||
|
||||
const u16 gPSNPreventionStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNPREVENTSPOISONINGWITH, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY
|
||||
[B_MSG_ABILITY_PREVENTS_MOVE_STATUS] = STRINGID_PKMNPREVENTSPOISONINGWITH,
|
||||
[B_MSG_ABILITY_PREVENTS_ABILITY_STATUS] = STRINGID_PKMNSXPREVENTSYSZ,
|
||||
[B_MSG_STATUS_HAD_NO_EFFECT] = STRINGID_PKMNSXHADNOEFFECTONY
|
||||
};
|
||||
|
||||
const u16 gItemSwapStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNOBTAINEDX, STRINGID_PKMNOBTAINEDX2, STRINGID_PKMNOBTAINEDXYOBTAINEDZ
|
||||
[B_MSG_ITEM_SWAP_TAKEN] = STRINGID_PKMNOBTAINEDX,
|
||||
[B_MSG_ITEM_SWAP_GIVEN] = STRINGID_PKMNOBTAINEDX2,
|
||||
[B_MSG_ITEM_SWAP_BOTH] = STRINGID_PKMNOBTAINEDXYOBTAINEDZ
|
||||
};
|
||||
|
||||
const u16 gFlashFireStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNRAISEDFIREPOWERWITH, STRINGID_PKMNSXMADEYINEFFECTIVE
|
||||
[B_MSG_FLASH_FIRE_BOOST] = STRINGID_PKMNRAISEDFIREPOWERWITH,
|
||||
[B_MSG_FLASH_FIRE_NO_BOOST] = STRINGID_PKMNSXMADEYINEFFECTIVE
|
||||
};
|
||||
|
||||
const u16 gCaughtMonStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNTRANSFERREDSOMEONESPC, STRINGID_PKMNTRANSFERREDLANETTESPC, STRINGID_PKMNBOXSOMEONESPCFULL, STRINGID_PKMNBOXLANETTESPCFULL,
|
||||
[B_MSG_SENT_SOMEONES_PC] = STRINGID_PKMNTRANSFERREDSOMEONESPC,
|
||||
[B_MSG_SENT_LANETTES_PC] = STRINGID_PKMNTRANSFERREDLANETTESPC,
|
||||
[B_MSG_SOMEONES_BOX_FULL] = STRINGID_PKMNBOXSOMEONESPCFULL,
|
||||
[B_MSG_LANETTES_BOX_FULL] = STRINGID_PKMNBOXLANETTESPCFULL,
|
||||
};
|
||||
|
||||
const u16 gTrappingMoves[] =
|
||||
@@ -1216,14 +1296,15 @@ static const u8 sText_Defense[] = _("DEFENSE");
|
||||
static const u8 sText_SpAtk[] = _("SP. ATK");
|
||||
static const u8 sText_SpDef[] = _("SP. DEF");
|
||||
|
||||
const u8 * const gStatNamesTable2[] =
|
||||
// Unused
|
||||
static const u8 * const sStatNamesTable2[] =
|
||||
{
|
||||
sText_HP, sText_SpAtk, sText_Attack,
|
||||
sText_SpDef, sText_Defense, sText_Speed
|
||||
};
|
||||
|
||||
const u8 gText_SafariBalls[] = _("{HIGHLIGHT DARK_GREY}SAFARI BALLS");
|
||||
const u8 gText_SafariBallLeft[] = _("{HIGHLIGHT DARK_GREY}Left: $" "{HIGHLIGHT DARK_GREY}");
|
||||
const u8 gText_SafariBalls[] = _("{HIGHLIGHT DARK_GRAY}SAFARI BALLS");
|
||||
const u8 gText_SafariBallLeft[] = _("{HIGHLIGHT DARK_GRAY}Left: $" "{HIGHLIGHT DARK_GRAY}");
|
||||
const u8 gText_Sleep[] = _("sleep");
|
||||
const u8 gText_Poison[] = _("poison");
|
||||
const u8 gText_Burn[] = _("burn");
|
||||
@@ -1309,10 +1390,10 @@ static const u8 sText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is
|
||||
|
||||
const u16 gBattlePalaceFlavorTextTable[] =
|
||||
{
|
||||
STRINGID_GLINTAPPEARSINEYE,
|
||||
STRINGID_PKMNGETTINGINTOPOSITION,
|
||||
STRINGID_PKMNBEGANGROWLINGDEEPLY,
|
||||
STRINGID_PKMNEAGERFORMORE
|
||||
[B_MSG_GLINT_IN_EYE] = STRINGID_GLINTAPPEARSINEYE,
|
||||
[B_MSG_GETTING_IN_POS] = STRINGID_PKMNGETTINGINTOPOSITION,
|
||||
[B_MSG_GROWL_DEEPLY] = STRINGID_PKMNBEGANGROWLINGDEEPLY,
|
||||
[B_MSG_EAGER_FOR_MORE] = STRINGID_PKMNEAGERFORMORE,
|
||||
};
|
||||
|
||||
static const u8 sText_RefIfNothingIsDecided[] = _("REFEREE: If nothing is decided in\n3 turns, we will go to judging!");
|
||||
@@ -1320,9 +1401,9 @@ static const u8 sText_RefThatsIt[] = _("REFEREE: That's it! We will now go to\nj
|
||||
static const u8 sText_RefJudgeMind[] = _("REFEREE: Judging category 1, Mind!\nThe POKéMON showing the most guts!\p");
|
||||
static const u8 sText_RefJudgeSkill[] = _("REFEREE: Judging category 2, Skill!\nThe POKéMON using moves the best!\p");
|
||||
static const u8 sText_RefJudgeBody[] = _("REFEREE: Judging category 3, Body!\nThe POKéMON with the most vitality!\p");
|
||||
static const u8 sText_RefJudgement1[] = _("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}!\nThe winner is {B_PLAYER_NAME}'s {B_PLAYER_MON1_NAME}!\p");
|
||||
static const u8 sText_RefJudgement2[] = _("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}!\nThe winner is {B_TRAINER1_NAME}'s {B_OPPONENT_MON1_NAME}!\p");
|
||||
static const u8 sText_RefJudgement3[] = _("REFEREE: Judgment: 3 to 3!\nWe have a draw!\p");
|
||||
static const u8 sText_RefPlayerWon[] = _("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}!\nThe winner is {B_PLAYER_NAME}'s {B_PLAYER_MON1_NAME}!\p");
|
||||
static const u8 sText_RefOpponentWon[] = _("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}!\nThe winner is {B_TRAINER1_NAME}'s {B_OPPONENT_MON1_NAME}!\p");
|
||||
static const u8 sText_RefDraw[] = _("REFEREE: Judgment: 3 to 3!\nWe have a draw!\p");
|
||||
static const u8 sText_DefeatedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} defeated the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!");
|
||||
static const u8 sText_LostToOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} lost to the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!");
|
||||
static const u8 sText_TiedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} tied the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!");
|
||||
@@ -1330,15 +1411,15 @@ static const u8 sText_RefCommenceBattle[] = _("REFEREE: {B_PLAYER_MON1_NAME} VS
|
||||
|
||||
const u8 * const gRefereeStringsTable[] =
|
||||
{
|
||||
sText_RefIfNothingIsDecided,
|
||||
sText_RefThatsIt,
|
||||
sText_RefJudgeMind,
|
||||
sText_RefJudgeSkill,
|
||||
sText_RefJudgeBody,
|
||||
sText_RefJudgement1,
|
||||
sText_RefJudgement2,
|
||||
sText_RefJudgement3,
|
||||
sText_RefCommenceBattle,
|
||||
[B_MSG_REF_NOTHING_IS_DECIDED] = sText_RefIfNothingIsDecided,
|
||||
[B_MSG_REF_THATS_IT] = sText_RefThatsIt,
|
||||
[B_MSG_REF_JUDGE_MIND] = sText_RefJudgeMind,
|
||||
[B_MSG_REF_JUDGE_SKILL] = sText_RefJudgeSkill,
|
||||
[B_MSG_REF_JUDGE_BODY] = sText_RefJudgeBody,
|
||||
[B_MSG_REF_PLAYER_WON] = sText_RefPlayerWon,
|
||||
[B_MSG_REF_OPPONENT_WON] = sText_RefOpponentWon,
|
||||
[B_MSG_REF_DRAW] = sText_RefDraw,
|
||||
[B_MSG_REF_COMMENCE_BATTLE] = sText_RefCommenceBattle,
|
||||
};
|
||||
|
||||
static const u8 sText_QuestionForfeitMatch[] = _("Would you like to forfeit the match\nand quit now?");
|
||||
|
||||
+1
-1
@@ -711,7 +711,7 @@ static void SavePikeChallenge(void)
|
||||
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
|
||||
VarSet(VAR_TEMP_0, 0);
|
||||
gSaveBlock2Ptr->frontier.challengePaused = TRUE;
|
||||
save_serialize_map();
|
||||
SaveMapView();
|
||||
TrySavingData(SAVE_LINK);
|
||||
}
|
||||
|
||||
|
||||
@@ -933,7 +933,7 @@ static void SavePyramidChallenge(void)
|
||||
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
|
||||
VarSet(VAR_TEMP_0, 0);
|
||||
gSaveBlock2Ptr->frontier.challengePaused = TRUE;
|
||||
save_serialize_map();
|
||||
SaveMapView();
|
||||
TrySavingData(SAVE_LINK);
|
||||
}
|
||||
|
||||
|
||||
+151
-148
@@ -876,34 +876,33 @@ const ALIGNED(4) u8 gBattlePalaceNatureToMoveGroupLikelihood[NUM_NATURES][4] =
|
||||
[NATURE_QUIRKY] = PALACE_STYLE(56, 22, 56, 22) // 22%, 22%
|
||||
};
|
||||
|
||||
// Indices into gBattlePalaceFlavorTextTable
|
||||
static const u8 sBattlePalaceNatureToFlavorTextId[NUM_NATURES] =
|
||||
{
|
||||
[NATURE_HARDY] = 3,
|
||||
[NATURE_LONELY] = 0,
|
||||
[NATURE_BRAVE] = 1,
|
||||
[NATURE_ADAMANT] = 0,
|
||||
[NATURE_NAUGHTY] = 0,
|
||||
[NATURE_BOLD] = 1,
|
||||
[NATURE_DOCILE] = 3,
|
||||
[NATURE_RELAXED] = 0,
|
||||
[NATURE_IMPISH] = 1,
|
||||
[NATURE_LAX] = 2,
|
||||
[NATURE_TIMID] = 2,
|
||||
[NATURE_HASTY] = 0,
|
||||
[NATURE_SERIOUS] = 3,
|
||||
[NATURE_JOLLY] = 1,
|
||||
[NATURE_NAIVE] = 3,
|
||||
[NATURE_MODEST] = 1,
|
||||
[NATURE_MILD] = 2,
|
||||
[NATURE_QUIET] = 3,
|
||||
[NATURE_BASHFUL] = 3,
|
||||
[NATURE_RASH] = 2,
|
||||
[NATURE_CALM] = 1,
|
||||
[NATURE_GENTLE] = 0,
|
||||
[NATURE_SASSY] = 2,
|
||||
[NATURE_CAREFUL] = 2,
|
||||
[NATURE_QUIRKY] = 3,
|
||||
[NATURE_HARDY] = B_MSG_EAGER_FOR_MORE,
|
||||
[NATURE_LONELY] = B_MSG_GLINT_IN_EYE,
|
||||
[NATURE_BRAVE] = B_MSG_GETTING_IN_POS,
|
||||
[NATURE_ADAMANT] = B_MSG_GLINT_IN_EYE,
|
||||
[NATURE_NAUGHTY] = B_MSG_GLINT_IN_EYE,
|
||||
[NATURE_BOLD] = B_MSG_GETTING_IN_POS,
|
||||
[NATURE_DOCILE] = B_MSG_EAGER_FOR_MORE,
|
||||
[NATURE_RELAXED] = B_MSG_GLINT_IN_EYE,
|
||||
[NATURE_IMPISH] = B_MSG_GETTING_IN_POS,
|
||||
[NATURE_LAX] = B_MSG_GROWL_DEEPLY,
|
||||
[NATURE_TIMID] = B_MSG_GROWL_DEEPLY,
|
||||
[NATURE_HASTY] = B_MSG_GLINT_IN_EYE,
|
||||
[NATURE_SERIOUS] = B_MSG_EAGER_FOR_MORE,
|
||||
[NATURE_JOLLY] = B_MSG_GETTING_IN_POS,
|
||||
[NATURE_NAIVE] = B_MSG_EAGER_FOR_MORE,
|
||||
[NATURE_MODEST] = B_MSG_GETTING_IN_POS,
|
||||
[NATURE_MILD] = B_MSG_GROWL_DEEPLY,
|
||||
[NATURE_QUIET] = B_MSG_EAGER_FOR_MORE,
|
||||
[NATURE_BASHFUL] = B_MSG_EAGER_FOR_MORE,
|
||||
[NATURE_RASH] = B_MSG_GROWL_DEEPLY,
|
||||
[NATURE_CALM] = B_MSG_GETTING_IN_POS,
|
||||
[NATURE_GENTLE] = B_MSG_GLINT_IN_EYE,
|
||||
[NATURE_SASSY] = B_MSG_GROWL_DEEPLY,
|
||||
[NATURE_CAREFUL] = B_MSG_GROWL_DEEPLY,
|
||||
[NATURE_QUIRKY] = B_MSG_EAGER_FOR_MORE,
|
||||
};
|
||||
|
||||
static void Cmd_attackcanceler(void)
|
||||
@@ -991,7 +990,7 @@ static void Cmd_attackcanceler(void)
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gLastLandedMoves[gBattlerTarget] = 0;
|
||||
gLastHitByType[gBattlerTarget] = 0;
|
||||
gBattleCommunication[6] = 1;
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_PROTECTED;
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
else
|
||||
@@ -1024,7 +1023,7 @@ static void Cmd_jumpifaffectedbyprotect(void)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
JumpIfMoveFailed(5, 0);
|
||||
gBattleCommunication[6] = 1;
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_PROTECTED;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1039,7 +1038,7 @@ bool8 JumpIfMoveAffectedByProtect(u16 move)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
JumpIfMoveFailed(7, move);
|
||||
gBattleCommunication[6] = 1;
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_PROTECTED;
|
||||
affected = TRUE;
|
||||
}
|
||||
return affected;
|
||||
@@ -1172,9 +1171,9 @@ static void Cmd_accuracycheck(void)
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE &&
|
||||
(gBattleMoves[move].target == MOVE_TARGET_BOTH || gBattleMoves[move].target == MOVE_TARGET_FOES_AND_ALLY))
|
||||
gBattleCommunication[6] = 2;
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_AVOIDED_ATK;
|
||||
else
|
||||
gBattleCommunication[6] = 0;
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_MISSED;
|
||||
|
||||
CheckWonderGuardAndLevitate();
|
||||
}
|
||||
@@ -1370,7 +1369,7 @@ static void Cmd_typecalc(void)
|
||||
gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE);
|
||||
gLastLandedMoves[gBattlerTarget] = 0;
|
||||
gLastHitByType[gBattlerTarget] = 0;
|
||||
gBattleCommunication[6] = moveType;
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_GROUND_MISS;
|
||||
RecordAbilityBattle(gBattlerTarget, gLastUsedAbility);
|
||||
}
|
||||
else
|
||||
@@ -1406,7 +1405,7 @@ static void Cmd_typecalc(void)
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gLastLandedMoves[gBattlerTarget] = 0;
|
||||
gLastHitByType[gBattlerTarget] = 0;
|
||||
gBattleCommunication[6] = 3;
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_AVOIDED_DMG;
|
||||
RecordAbilityBattle(gBattlerTarget, gLastUsedAbility);
|
||||
}
|
||||
if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE)
|
||||
@@ -1429,7 +1428,7 @@ static void CheckWonderGuardAndLevitate(void)
|
||||
if (gBattleMons[gBattlerTarget].ability == ABILITY_LEVITATE && moveType == TYPE_GROUND)
|
||||
{
|
||||
gLastUsedAbility = ABILITY_LEVITATE;
|
||||
gBattleCommunication[6] = moveType;
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_GROUND_MISS;
|
||||
RecordAbilityBattle(gBattlerTarget, ABILITY_LEVITATE);
|
||||
return;
|
||||
}
|
||||
@@ -1484,7 +1483,7 @@ static void CheckWonderGuardAndLevitate(void)
|
||||
if (((flags & 2) || !(flags & 1)) && gBattleMoves[gCurrentMove].power)
|
||||
{
|
||||
gLastUsedAbility = ABILITY_WONDER_GUARD;
|
||||
gBattleCommunication[6] = 3;
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_AVOIDED_DMG;
|
||||
RecordAbilityBattle(gBattlerTarget, ABILITY_WONDER_GUARD);
|
||||
}
|
||||
}
|
||||
@@ -2019,9 +2018,9 @@ static void Cmd_resultmessage(void)
|
||||
if (gBattleControllerExecFlags)
|
||||
return;
|
||||
|
||||
if (gMoveResultFlags & MOVE_RESULT_MISSED && (!(gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) || gBattleCommunication[6] > 2))
|
||||
if (gMoveResultFlags & MOVE_RESULT_MISSED && (!(gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) || gBattleCommunication[MISS_TYPE] > B_MSG_AVOIDED_ATK))
|
||||
{
|
||||
stringId = gMissStringIds[gBattleCommunication[6]];
|
||||
stringId = gMissStringIds[gBattleCommunication[MISS_TYPE]];
|
||||
gBattleCommunication[MSG_DISPLAY] = 1;
|
||||
}
|
||||
else
|
||||
@@ -2273,12 +2272,12 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
|
||||
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_ABILITY_STATUS;
|
||||
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_MOVE_STATUS;
|
||||
}
|
||||
RESET_RETURN
|
||||
}
|
||||
@@ -2289,7 +2288,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
BattleScriptPush(gBattlescriptCurrInstr + 1);
|
||||
gBattlescriptCurrInstr = BattleScript_PSNPrevention;
|
||||
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STATUS_HAD_NO_EFFECT;
|
||||
RESET_RETURN
|
||||
}
|
||||
if (IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_POISON))
|
||||
@@ -2314,12 +2313,12 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
gBattlescriptCurrInstr = BattleScript_BRNPrevention;
|
||||
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_ABILITY_STATUS;
|
||||
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_MOVE_STATUS;
|
||||
}
|
||||
RESET_RETURN
|
||||
}
|
||||
@@ -2330,7 +2329,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
BattleScriptPush(gBattlescriptCurrInstr + 1);
|
||||
gBattlescriptCurrInstr = BattleScript_BRNPrevention;
|
||||
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STATUS_HAD_NO_EFFECT;
|
||||
RESET_RETURN
|
||||
}
|
||||
if (IS_BATTLER_OF_TYPE(gEffectBattler, TYPE_FIRE))
|
||||
@@ -2370,12 +2369,12 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
|
||||
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_ABILITY_STATUS;
|
||||
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_MOVE_STATUS;
|
||||
}
|
||||
RESET_RETURN
|
||||
}
|
||||
@@ -2398,12 +2397,12 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
|
||||
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_ABILITY_STATUS;
|
||||
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABILITY_PREVENTS_MOVE_STATUS;
|
||||
}
|
||||
RESET_RETURN
|
||||
}
|
||||
@@ -2414,7 +2413,7 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
BattleScriptPush(gBattlescriptCurrInstr + 1);
|
||||
gBattlescriptCurrInstr = BattleScript_PSNPrevention;
|
||||
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STATUS_HAD_NO_EFFECT;
|
||||
RESET_RETURN
|
||||
}
|
||||
if (gBattleMons[gEffectBattler].status1)
|
||||
@@ -2453,12 +2452,12 @@ void SetMoveEffect(bool8 primary, u8 certain)
|
||||
|
||||
if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STATUSED_BY_ABILITY;
|
||||
gHitMarker &= ~(HITMARKER_IGNORE_SAFEGUARD);
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STATUSED;
|
||||
}
|
||||
|
||||
// for synchronize
|
||||
@@ -3579,7 +3578,7 @@ static void MoveValuesCleanUp(void)
|
||||
gBattleScripting.dmgMultiplier = 1;
|
||||
gCritMultiplier = 1;
|
||||
gBattleCommunication[MOVE_EFFECT_BYTE] = 0;
|
||||
gBattleCommunication[6] = 0;
|
||||
gBattleCommunication[MISS_TYPE] = 0;
|
||||
gHitMarker &= ~(HITMARKER_DESTINYBOND);
|
||||
gHitMarker &= ~(HITMARKER_SYNCHRONISE_EFFECT);
|
||||
}
|
||||
@@ -4459,7 +4458,7 @@ static void Cmd_typecalc2(void)
|
||||
gLastUsedAbility = gBattleMons[gBattlerTarget].ability;
|
||||
gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE);
|
||||
gLastLandedMoves[gBattlerTarget] = 0;
|
||||
gBattleCommunication[6] = moveType;
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_GROUND_MISS;
|
||||
RecordAbilityBattle(gBattlerTarget, gLastUsedAbility);
|
||||
}
|
||||
else
|
||||
@@ -4534,7 +4533,7 @@ static void Cmd_typecalc2(void)
|
||||
gLastUsedAbility = ABILITY_WONDER_GUARD;
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gLastLandedMoves[gBattlerTarget] = 0;
|
||||
gBattleCommunication[6] = 3;
|
||||
gBattleCommunication[MISS_TYPE] = B_MSG_AVOIDED_DMG;
|
||||
RecordAbilityBattle(gBattlerTarget, gLastUsedAbility);
|
||||
}
|
||||
if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE)
|
||||
@@ -4802,7 +4801,9 @@ static void Cmd_jumpifcantswitch(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_804CF10(u8 slotId)
|
||||
// Opens the party screen to choose a new Pokémon to send out
|
||||
// slotId is the Pokémon to replace
|
||||
static void ChooseMonToSendOut(u8 slotId)
|
||||
{
|
||||
*(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler];
|
||||
*(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE;
|
||||
@@ -4823,7 +4824,7 @@ static void Cmd_openpartyscreen(void)
|
||||
flags = 0;
|
||||
jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
|
||||
|
||||
if (gBattlescriptCurrInstr[1] == 5)
|
||||
if (gBattlescriptCurrInstr[1] == BS_UNK_5)
|
||||
{
|
||||
if ((gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE)
|
||||
{
|
||||
@@ -4831,7 +4832,7 @@ static void Cmd_openpartyscreen(void)
|
||||
{
|
||||
if (gHitMarker & HITMARKER_FAINTED(gActiveBattler))
|
||||
{
|
||||
if (HasNoMonsToSwitch(gActiveBattler, 6, 6))
|
||||
if (HasNoMonsToSwitch(gActiveBattler, PARTY_SIZE, PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
@@ -4840,7 +4841,7 @@ static void Cmd_openpartyscreen(void)
|
||||
}
|
||||
else if (!gSpecialStatuses[gActiveBattler].flag40)
|
||||
{
|
||||
sub_804CF10(PARTY_SIZE);
|
||||
ChooseMonToSendOut(PARTY_SIZE);
|
||||
gSpecialStatuses[gActiveBattler].flag40 = 1;
|
||||
}
|
||||
}
|
||||
@@ -4860,16 +4861,16 @@ static void Cmd_openpartyscreen(void)
|
||||
if (gBitTable[0] & hitmarkerFaintBits)
|
||||
{
|
||||
gActiveBattler = 0;
|
||||
if (HasNoMonsToSwitch(0, 6, 6))
|
||||
if (HasNoMonsToSwitch(0, PARTY_SIZE, PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
BtlController_EmitCmd42(0);
|
||||
BtlController_EmitCantSwitch(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
else if (!gSpecialStatuses[gActiveBattler].flag40)
|
||||
{
|
||||
sub_804CF10(gBattleStruct->monToSwitchIntoId[2]);
|
||||
ChooseMonToSendOut(gBattleStruct->monToSwitchIntoId[2]);
|
||||
gSpecialStatuses[gActiveBattler].flag40 = 1;
|
||||
}
|
||||
else
|
||||
@@ -4882,16 +4883,16 @@ static void Cmd_openpartyscreen(void)
|
||||
if (gBitTable[2] & hitmarkerFaintBits && !(gBitTable[0] & hitmarkerFaintBits))
|
||||
{
|
||||
gActiveBattler = 2;
|
||||
if (HasNoMonsToSwitch(2, 6, 6))
|
||||
if (HasNoMonsToSwitch(2, PARTY_SIZE, PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
BtlController_EmitCmd42(0);
|
||||
BtlController_EmitCantSwitch(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
else if (!gSpecialStatuses[gActiveBattler].flag40)
|
||||
{
|
||||
sub_804CF10(gBattleStruct->monToSwitchIntoId[0]);
|
||||
ChooseMonToSendOut(gBattleStruct->monToSwitchIntoId[0]);
|
||||
gSpecialStatuses[gActiveBattler].flag40 = 1;
|
||||
}
|
||||
else if (!(flags & 1))
|
||||
@@ -4903,16 +4904,16 @@ static void Cmd_openpartyscreen(void)
|
||||
if (gBitTable[1] & hitmarkerFaintBits)
|
||||
{
|
||||
gActiveBattler = 1;
|
||||
if (HasNoMonsToSwitch(1, 6, 6))
|
||||
if (HasNoMonsToSwitch(1, PARTY_SIZE, PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
BtlController_EmitCmd42(0);
|
||||
BtlController_EmitCantSwitch(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
else if (!gSpecialStatuses[gActiveBattler].flag40)
|
||||
{
|
||||
sub_804CF10(gBattleStruct->monToSwitchIntoId[3]);
|
||||
ChooseMonToSendOut(gBattleStruct->monToSwitchIntoId[3]);
|
||||
gSpecialStatuses[gActiveBattler].flag40 = 1;
|
||||
}
|
||||
else
|
||||
@@ -4925,16 +4926,16 @@ static void Cmd_openpartyscreen(void)
|
||||
if (gBitTable[3] & hitmarkerFaintBits && !(gBitTable[1] & hitmarkerFaintBits))
|
||||
{
|
||||
gActiveBattler = 3;
|
||||
if (HasNoMonsToSwitch(3, 6, 6))
|
||||
if (HasNoMonsToSwitch(3, PARTY_SIZE, PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
BtlController_EmitCmd42(0);
|
||||
BtlController_EmitCantSwitch(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
else if (!gSpecialStatuses[gActiveBattler].flag40)
|
||||
{
|
||||
sub_804CF10(gBattleStruct->monToSwitchIntoId[1]);
|
||||
ChooseMonToSendOut(gBattleStruct->monToSwitchIntoId[1]);
|
||||
gSpecialStatuses[gActiveBattler].flag40 = 1;
|
||||
}
|
||||
else if (!(flags & 2))
|
||||
@@ -4978,7 +4979,7 @@ static void Cmd_openpartyscreen(void)
|
||||
}
|
||||
gBattlescriptCurrInstr += 6;
|
||||
}
|
||||
else if (gBattlescriptCurrInstr[1] == 6)
|
||||
else if (gBattlescriptCurrInstr[1] == BS_UNK_6)
|
||||
{
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
|
||||
{
|
||||
@@ -4988,32 +4989,32 @@ static void Cmd_openpartyscreen(void)
|
||||
if (gBitTable[2] & hitmarkerFaintBits && gBitTable[0] & hitmarkerFaintBits)
|
||||
{
|
||||
gActiveBattler = 2;
|
||||
if (HasNoMonsToSwitch(2, gBattleBufferB[0][1], 6))
|
||||
if (HasNoMonsToSwitch(2, gBattleBufferB[0][1], PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
BtlController_EmitCmd42(0);
|
||||
BtlController_EmitCantSwitch(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
else if (!gSpecialStatuses[gActiveBattler].flag40)
|
||||
{
|
||||
sub_804CF10(gBattleStruct->monToSwitchIntoId[0]);
|
||||
ChooseMonToSendOut(gBattleStruct->monToSwitchIntoId[0]);
|
||||
gSpecialStatuses[gActiveBattler].flag40 = 1;
|
||||
}
|
||||
}
|
||||
if (gBitTable[3] & hitmarkerFaintBits && hitmarkerFaintBits & gBitTable[1])
|
||||
{
|
||||
gActiveBattler = 3;
|
||||
if (HasNoMonsToSwitch(3, gBattleBufferB[1][1], 6))
|
||||
if (HasNoMonsToSwitch(3, gBattleBufferB[1][1], PARTY_SIZE))
|
||||
{
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler));
|
||||
BtlController_EmitCmd42(0);
|
||||
BtlController_EmitCantSwitch(0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
else if (!gSpecialStatuses[gActiveBattler].flag40)
|
||||
{
|
||||
sub_804CF10(gBattleStruct->monToSwitchIntoId[1]);
|
||||
ChooseMonToSendOut(gBattleStruct->monToSwitchIntoId[1]);
|
||||
gSpecialStatuses[gActiveBattler].flag40 = 1;
|
||||
}
|
||||
}
|
||||
@@ -5041,17 +5042,17 @@ static void Cmd_openpartyscreen(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gBattlescriptCurrInstr[1] & 0x80)
|
||||
if (gBattlescriptCurrInstr[1] & PARTY_SCREEN_OPTIONAL)
|
||||
hitmarkerFaintBits = PARTY_ACTION_CHOOSE_MON; // Used here as the caseId for the EmitChoose function.
|
||||
else
|
||||
hitmarkerFaintBits = PARTY_ACTION_SEND_OUT;
|
||||
|
||||
battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(0x80));
|
||||
battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(PARTY_SCREEN_OPTIONAL));
|
||||
if (gSpecialStatuses[battlerId].flag40)
|
||||
{
|
||||
gBattlescriptCurrInstr += 6;
|
||||
}
|
||||
else if (HasNoMonsToSwitch(battlerId, 6, 6))
|
||||
else if (HasNoMonsToSwitch(battlerId, PARTY_SIZE, PARTY_SIZE))
|
||||
{
|
||||
gActiveBattler = battlerId;
|
||||
gAbsentBattlerFlags |= gBitTable[gActiveBattler];
|
||||
@@ -6033,7 +6034,7 @@ static void PutLevelAndGenderOnLvlUpBox(void)
|
||||
printerTemplate.unk = 0;
|
||||
printerTemplate.fgColor = TEXT_COLOR_WHITE;
|
||||
printerTemplate.bgColor = TEXT_COLOR_TRANSPARENT;
|
||||
printerTemplate.shadowColor = TEXT_COLOR_DARK_GREY;
|
||||
printerTemplate.shadowColor = TEXT_COLOR_DARK_GRAY;
|
||||
|
||||
AddTextPrinter(&printerTemplate, 0xFF, NULL);
|
||||
|
||||
@@ -6373,10 +6374,10 @@ static void Cmd_various(void)
|
||||
break;
|
||||
case VARIOUS_ARENA_JUDGMENT_STRING:
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gRefereeStringsTable[gBattlescriptCurrInstr[1]]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, 0x16);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, 22);
|
||||
break;
|
||||
case VARIOUS_ARENA_WAIT_STRING:
|
||||
if (IsTextPrinterActive(0x16))
|
||||
if (IsTextPrinterActive(22))
|
||||
return;
|
||||
break;
|
||||
case VARIOUS_WAIT_CRY:
|
||||
@@ -6446,19 +6447,19 @@ static void Cmd_setprotectlike(void) // protect and endure
|
||||
if (gBattleMoves[gCurrentMove].effect == EFFECT_PROTECT)
|
||||
{
|
||||
gProtectStructs[gBattlerAttacker].protected = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_PROTECTED_ITSELF;
|
||||
}
|
||||
if (gBattleMoves[gCurrentMove].effect == EFFECT_ENDURE)
|
||||
{
|
||||
gProtectStructs[gBattlerAttacker].endured = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_BRACED_ITSELF;
|
||||
}
|
||||
gDisableStructs[gBattlerAttacker].protectUses++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gDisableStructs[gBattlerAttacker].protectUses = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_PROTECT_FAILED;
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
}
|
||||
|
||||
@@ -6611,12 +6612,12 @@ static void Cmd_setrain(void)
|
||||
if (gBattleWeather & WEATHER_RAIN_ANY)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WEATHER_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleWeather = WEATHER_RAIN_TEMPORARY;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STARTED_RAIN;
|
||||
gWishFutureKnock.weatherDuration = 5;
|
||||
}
|
||||
gBattlescriptCurrInstr++;
|
||||
@@ -6627,7 +6628,7 @@ static void Cmd_setreflect(void)
|
||||
if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_REFLECT)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SIDE_STATUS_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -6636,9 +6637,9 @@ static void Cmd_setreflect(void)
|
||||
gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].reflectBattlerId = gBattlerAttacker;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_ATK_SIDE) == 2)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_REFLECT_DOUBLE;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_REFLECT_SINGLE;
|
||||
}
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
@@ -6648,18 +6649,18 @@ static void Cmd_setseeded(void)
|
||||
if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || gStatuses3[gBattlerTarget] & STATUS3_LEECHSEED)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_LEECH_SEED_MISS;
|
||||
}
|
||||
else if (IS_BATTLER_OF_TYPE(gBattlerTarget, TYPE_GRASS))
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_LEECH_SEED_FAIL;
|
||||
}
|
||||
else
|
||||
{
|
||||
gStatuses3[gBattlerTarget] |= gBattlerAttacker;
|
||||
gStatuses3[gBattlerTarget] |= STATUS3_LEECHSEED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_LEECH_SEED_SET;
|
||||
}
|
||||
|
||||
gBattlescriptCurrInstr++;
|
||||
@@ -6700,11 +6701,11 @@ static void Cmd_trysetrest(void)
|
||||
else
|
||||
{
|
||||
if (gBattleMons[gBattlerTarget].status1 & ((u8)(~STATUS1_SLEEP)))
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_REST_STATUSED;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_REST;
|
||||
|
||||
gBattleMons[gBattlerTarget].status1 = 3;
|
||||
gBattleMons[gBattlerTarget].status1 = STATUS1_SLEEP_TURN(3);
|
||||
BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
gBattlescriptCurrInstr += 5;
|
||||
@@ -6740,9 +6741,9 @@ bool8 UproarWakeUpCheck(u8 battlerId)
|
||||
if (gBattlerTarget == 0xFF)
|
||||
gBattlerTarget = i;
|
||||
else if (gBattlerTarget == i)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CANT_SLEEP_UPROAR;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_UPROAR_KEPT_AWAKE;
|
||||
|
||||
break;
|
||||
}
|
||||
@@ -6765,7 +6766,7 @@ static void Cmd_jumpifcantmakeasleep(void)
|
||||
|| gBattleMons[gBattlerTarget].ability == ABILITY_VITAL_SPIRIT)
|
||||
{
|
||||
gLastUsedAbility = gBattleMons[gBattlerTarget].ability;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STAYED_AWAKE_USING;
|
||||
gBattlescriptCurrInstr = jumpPtr;
|
||||
RecordAbilityBattle(gBattlerTarget, gLastUsedAbility);
|
||||
}
|
||||
@@ -6780,7 +6781,7 @@ static void Cmd_stockpile(void)
|
||||
if (gDisableStructs[gBattlerAttacker].stockpileCounter == 3)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CANT_STOCKPILE;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -6788,7 +6789,7 @@ static void Cmd_stockpile(void)
|
||||
|
||||
PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gBattlerAttacker].stockpileCounter)
|
||||
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STOCKPILED;
|
||||
}
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
@@ -6802,7 +6803,7 @@ static void Cmd_stockpiletobasedamage(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gBattleCommunication[6] != 1)
|
||||
if (gBattleCommunication[MISS_TYPE] != B_MSG_PROTECTED)
|
||||
{
|
||||
gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerTarget], gCurrentMove,
|
||||
gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)], 0,
|
||||
@@ -6826,14 +6827,14 @@ static void Cmd_stockpiletohpheal(void)
|
||||
if (gDisableStructs[gBattlerAttacker].stockpileCounter == 0)
|
||||
{
|
||||
gBattlescriptCurrInstr = jumpPtr;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SWALLOW_FAILED;
|
||||
}
|
||||
else if (gBattleMons[gBattlerAttacker].maxHP == gBattleMons[gBattlerAttacker].hp)
|
||||
{
|
||||
gDisableStructs[gBattlerAttacker].stockpileCounter = 0;
|
||||
gBattlescriptCurrInstr = jumpPtr;
|
||||
gBattlerTarget = gBattlerAttacker;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SWALLOW_FULL_HP;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -6985,9 +6986,9 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
|
||||
gBattleTextBuff2[index] = B_BUFF_EOS;
|
||||
|
||||
if (gBattleMons[gActiveBattler].statStages[statId] == MIN_STAT_STAGE)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STAT_WONT_DECREASE;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == gActiveBattler);
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == gActiveBattler); // B_MSG_ATTACKER_STAT_FELL or B_MSG_DEFENDER_STAT_FELL
|
||||
|
||||
}
|
||||
}
|
||||
@@ -7012,9 +7013,9 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
|
||||
gBattleTextBuff2[index] = B_BUFF_EOS;
|
||||
|
||||
if (gBattleMons[gActiveBattler].statStages[statId] == MAX_STAT_STAGE)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STAT_WONT_INCREASE;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == gActiveBattler);
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == gActiveBattler); // B_MSG_ATTACKER_STAT_ROSE or B_MSG_DEFENDER_STAT_ROSE
|
||||
}
|
||||
|
||||
gBattleMons[gActiveBattler].statStages[statId] += statValue;
|
||||
@@ -7023,10 +7024,10 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr)
|
||||
if (gBattleMons[gActiveBattler].statStages[statId] > MAX_STAT_STAGE)
|
||||
gBattleMons[gActiveBattler].statStages[statId] = MAX_STAT_STAGE;
|
||||
|
||||
if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && flags & STAT_BUFF_ALLOW_PTR)
|
||||
if (gBattleCommunication[MULTISTRING_CHOOSER] == B_MSG_STAT_WONT_INCREASE && flags & STAT_BUFF_ALLOW_PTR)
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
|
||||
if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && !(flags & STAT_BUFF_ALLOW_PTR))
|
||||
if (gBattleCommunication[MULTISTRING_CHOOSER] == B_MSG_STAT_WONT_INCREASE && !(flags & STAT_BUFF_ALLOW_PTR))
|
||||
return STAT_BUFF_DIDNT_WORK;
|
||||
|
||||
return STAT_BUFF_WORKED;
|
||||
@@ -7314,7 +7315,7 @@ static void Cmd_tryconversiontypechange(void) // randomly changes user's type to
|
||||
do
|
||||
{
|
||||
|
||||
while ((moveChecked = Random() & 3) >= validMoves);
|
||||
while ((moveChecked = Random() & (MAX_MON_MOVES - 1)) >= validMoves);
|
||||
|
||||
moveType = gBattleMoves[gBattleMons[gBattlerAttacker].moves[moveChecked]].type;
|
||||
|
||||
@@ -7358,7 +7359,7 @@ static void Cmd_setlightscreen(void)
|
||||
if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_LIGHTSCREEN)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SIDE_STATUS_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -7367,9 +7368,9 @@ static void Cmd_setlightscreen(void)
|
||||
gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].lightscreenBattlerId = gBattlerAttacker;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_ATK_SIDE) == 2)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_LIGHTSCREEN_DOUBLE;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 3;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_LIGHTSCREEN_SINGLE;
|
||||
}
|
||||
|
||||
gBattlescriptCurrInstr++;
|
||||
@@ -7453,9 +7454,9 @@ static void Cmd_tryKO(void)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
if (gBattleMons[gBattlerAttacker].level >= gBattleMons[gBattlerTarget].level)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_KO_MISS;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_KO_UNAFFECTED;
|
||||
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
|
||||
}
|
||||
}
|
||||
@@ -7475,12 +7476,12 @@ static void Cmd_setsandstorm(void)
|
||||
if (gBattleWeather & WEATHER_SANDSTORM_ANY)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WEATHER_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleWeather = WEATHER_SANDSTORM_TEMPORARY;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 3;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STARTED_SANDSTORM;
|
||||
gWishFutureKnock.weatherDuration = 5;
|
||||
}
|
||||
gBattlescriptCurrInstr++;
|
||||
@@ -7621,14 +7622,14 @@ static void Cmd_setmist(void)
|
||||
if (gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].mistTimer)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_FAILED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MIST_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].mistTimer = 5;
|
||||
gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].mistBattlerId = gBattlerAttacker;
|
||||
gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] |= SIDE_STATUS_MIST;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_MIST;
|
||||
}
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
@@ -7638,12 +7639,12 @@ static void Cmd_setfocusenergy(void)
|
||||
if (gBattleMons[gBattlerAttacker].status2 & STATUS2_FOCUS_ENERGY)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_FAILED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FOCUS_ENERGY_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleMons[gBattlerAttacker].status2 |= STATUS2_FOCUS_ENERGY;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_GETTING_PUMPED;
|
||||
}
|
||||
gBattlescriptCurrInstr++;
|
||||
}
|
||||
@@ -7656,7 +7657,7 @@ static void Cmd_transformdataexecution(void)
|
||||
|| gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_FAILED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TRANSFORM_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -7688,7 +7689,7 @@ static void Cmd_transformdataexecution(void)
|
||||
gActiveBattler = gBattlerAttacker;
|
||||
BtlController_EmitResetActionMoveSelection(0, RESET_MOVE_SELECTION);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TRANSFORMED;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7701,7 +7702,7 @@ static void Cmd_setsubstitute(void)
|
||||
if (gBattleMons[gBattlerAttacker].hp <= hp)
|
||||
{
|
||||
gBattleMoveDamage = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SUBSTITUTE_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -7712,7 +7713,7 @@ static void Cmd_setsubstitute(void)
|
||||
gBattleMons[gBattlerAttacker].status2 |= STATUS2_SUBSTITUTE;
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_WRAPPED);
|
||||
gDisableStructs[gBattlerAttacker].substituteHP = gBattleMoveDamage;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_SUBSTITUTE;
|
||||
gHitMarker |= HITMARKER_IGNORE_SUBSTITUTE;
|
||||
}
|
||||
|
||||
@@ -8139,7 +8140,7 @@ static void Cmd_trychoosesleeptalkmove(void)
|
||||
|
||||
do
|
||||
{
|
||||
movePosition = Random() & 3;
|
||||
movePosition = Random() & (MAX_MON_MOVES - 1);
|
||||
} while ((gBitTable[movePosition] & unusableMovesBits));
|
||||
|
||||
gCalledMove = gBattleMons[gBattlerAttacker].moves[movePosition];
|
||||
@@ -8250,7 +8251,7 @@ static void Cmd_healpartystatus(void)
|
||||
struct Pokemon *party;
|
||||
s32 i;
|
||||
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_BELL;
|
||||
|
||||
if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER)
|
||||
party = gPlayerParty;
|
||||
@@ -8265,7 +8266,7 @@ static void Cmd_healpartystatus(void)
|
||||
else
|
||||
{
|
||||
RecordAbilityBattle(gBattlerAttacker, gBattleMons[gBattlerAttacker].ability);
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] |= 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] |= B_MSG_BELL_SOUNDPROOF_ATTACKER;
|
||||
}
|
||||
|
||||
gActiveBattler = gBattleScripting.battler = GetBattlerAtPosition(GetBattlerPosition(gBattlerAttacker) ^ BIT_FLANK);
|
||||
@@ -8281,10 +8282,12 @@ static void Cmd_healpartystatus(void)
|
||||
else
|
||||
{
|
||||
RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability);
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] |= 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] |= B_MSG_BELL_SOUNDPROOF_PARTNER;
|
||||
}
|
||||
}
|
||||
|
||||
// Because the above MULTISTRING_CHOOSER are ORd, if both are set then it will be B_MSG_BELL_BOTH_SOUNDPROOF
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
u16 species = GetMonData(&party[i], MON_DATA_SPECIES2);
|
||||
@@ -8310,7 +8313,7 @@ static void Cmd_healpartystatus(void)
|
||||
}
|
||||
else // Aromatherapy
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SOOTHING_AROMA;
|
||||
toHeal = 0x3F;
|
||||
|
||||
gBattleMons[gBattlerAttacker].status1 = 0;
|
||||
@@ -8514,14 +8517,14 @@ static void Cmd_setsafeguard(void)
|
||||
if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_SAFEGUARD)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SIDE_STATUS_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] |= SIDE_STATUS_SAFEGUARD;
|
||||
gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].safeguardTimer = 5;
|
||||
gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].safeguardBattlerId = gBattlerAttacker;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 5;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_SAFEGUARD;
|
||||
}
|
||||
|
||||
gBattlescriptCurrInstr++;
|
||||
@@ -8630,12 +8633,12 @@ static void Cmd_setsunny(void)
|
||||
if (gBattleWeather & WEATHER_SUN_ANY)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WEATHER_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleWeather = WEATHER_SUN_TEMPORARY;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STARTED_SUNLIGHT;
|
||||
gWishFutureKnock.weatherDuration = 5;
|
||||
}
|
||||
|
||||
@@ -8806,9 +8809,9 @@ static void Cmd_trysetfutureattack(void)
|
||||
gWishFutureKnock.futureSightDmg[gBattlerTarget] = gWishFutureKnock.futureSightDmg[gBattlerTarget] * 15 / 10;
|
||||
|
||||
if (gCurrentMove == MOVE_DOOM_DESIRE)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DOOM_DESIRE;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FUTURE_SIGHT;
|
||||
|
||||
gBattlescriptCurrInstr += 5;
|
||||
}
|
||||
@@ -8912,12 +8915,12 @@ static void Cmd_sethail(void)
|
||||
if (gBattleWeather & WEATHER_HAIL_ANY)
|
||||
{
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WEATHER_FAILED;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleWeather = WEATHER_HAIL;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 5;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STARTED_HAIL;
|
||||
gWishFutureKnock.weatherDuration = 5;
|
||||
}
|
||||
|
||||
@@ -8928,7 +8931,7 @@ static void Cmd_jumpifattackandspecialattackcannotfall(void) // memento
|
||||
{
|
||||
if (gBattleMons[gBattlerTarget].statStages[STAT_ATK] == MIN_STAT_STAGE
|
||||
&& gBattleMons[gBattlerTarget].statStages[STAT_SPATK] == MIN_STAT_STAGE
|
||||
&& gBattleCommunication[6] != 1)
|
||||
&& gBattleCommunication[MISS_TYPE] != B_MSG_PROTECTED)
|
||||
{
|
||||
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
|
||||
}
|
||||
@@ -9113,11 +9116,11 @@ static void Cmd_tryswapitems(void) // trick
|
||||
PREPARE_ITEM_BUFFER(gBattleTextBuff2, oldItemAtk)
|
||||
|
||||
if (oldItemAtk != 0 && *newItemAtk != 0)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2; // attacker's item -> <- target's item
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ITEM_SWAP_BOTH; // attacker's item -> <- target's item
|
||||
else if (oldItemAtk == 0 && *newItemAtk != 0)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0; // nothing -> <- target's item
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ITEM_SWAP_TAKEN; // nothing -> <- target's item
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1; // attacker's item -> <- nothing
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ITEM_SWAP_GIVEN; // attacker's item -> <- nothing
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9605,7 +9608,7 @@ static void Cmd_settypebasedhalvers(void) // water and mud sport
|
||||
if (!(gStatuses3[gBattlerAttacker] & STATUS3_MUDSPORT))
|
||||
{
|
||||
gStatuses3[gBattlerAttacker] |= STATUS3_MUDSPORT;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WEAKEN_ELECTRIC;
|
||||
worked = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -9614,7 +9617,7 @@ static void Cmd_settypebasedhalvers(void) // water and mud sport
|
||||
if (!(gStatuses3[gBattlerAttacker] & STATUS3_WATERSPORT))
|
||||
{
|
||||
gStatuses3[gBattlerAttacker] |= STATUS3_WATERSPORT;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WEAKEN_FIRE;
|
||||
worked = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -9883,7 +9886,6 @@ static void Cmd_handleballthrow(void)
|
||||
else // not caught
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = shakes;
|
||||
// Maybe inject SpriteCB_TestBallThrow here
|
||||
gBattlescriptCurrInstr = BattleScript_ShakeBallThrow;
|
||||
}
|
||||
}
|
||||
@@ -9896,7 +9898,7 @@ static void Cmd_givecaughtmon(void)
|
||||
{
|
||||
if (!ShouldShowBoxWasFullMessage())
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SENT_SOMEONES_PC;
|
||||
StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON)));
|
||||
GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2);
|
||||
}
|
||||
@@ -9905,9 +9907,10 @@ static void Cmd_givecaughtmon(void)
|
||||
StringCopy(gStringVar1, GetBoxNamePtr(VarGet(VAR_PC_BOX_TO_SEND_MON))); // box the mon was sent to
|
||||
GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerAttacker ^ BIT_SIDE]], MON_DATA_NICKNAME, gStringVar2);
|
||||
StringCopy(gStringVar3, GetBoxNamePtr(GetPCBoxToSendMon())); //box the mon was going to be sent to
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SOMEONES_BOX_FULL;
|
||||
}
|
||||
|
||||
// Change to B_MSG_SENT_LANETTES_PC or B_MSG_LANETTES_BOX_FULL
|
||||
if (FlagGet(FLAG_SYS_PC_LANETTE))
|
||||
gBattleCommunication[MULTISTRING_CHOOSER]++;
|
||||
}
|
||||
|
||||
@@ -3675,7 +3675,7 @@ static bool8 Phase1_TransitionAll_Func2(struct Task *task)
|
||||
static void InitTransitionStructVars(void)
|
||||
{
|
||||
memset(sTransitionStructPtr, 0, sizeof(*sTransitionStructPtr));
|
||||
sub_8089C08(&sTransitionStructPtr->field_14, &sTransitionStructPtr->field_16);
|
||||
GetCameraOffsetWithPan(&sTransitionStructPtr->field_14, &sTransitionStructPtr->field_16);
|
||||
}
|
||||
|
||||
static void VBlankCB_BattleTransition(void)
|
||||
|
||||
+4
-4
@@ -666,7 +666,7 @@ void BattleTv_SetDataBasedOnString(u16 stringId)
|
||||
case STRINGID_CRITICALHIT:
|
||||
AddMovePoints(PTS_CRITICAL_HIT, moveSlot, 0, 0);
|
||||
break;
|
||||
case STRINGID_PKMNSSTATCHANGED:
|
||||
case STRINGID_ATTACKERSSTATROSE:
|
||||
if (gBattleTextBuff1[2] != 0)
|
||||
{
|
||||
if (*statStringId == STRINGID_STATSHARPLY)
|
||||
@@ -675,7 +675,7 @@ void BattleTv_SetDataBasedOnString(u16 stringId)
|
||||
AddMovePoints(PTS_STAT_INCREASE_1, moveSlot, gBattleTextBuff1[2] - 1, 0);
|
||||
}
|
||||
break;
|
||||
case STRINGID_PKMNSSTATCHANGED2:
|
||||
case STRINGID_DEFENDERSSTATROSE:
|
||||
if (gBattleTextBuff1[2] != 0)
|
||||
{
|
||||
if (gBattlerAttacker == gBattlerTarget)
|
||||
@@ -691,11 +691,11 @@ void BattleTv_SetDataBasedOnString(u16 stringId)
|
||||
}
|
||||
}
|
||||
break;
|
||||
case STRINGID_PKMNSSTATCHANGED3:
|
||||
case STRINGID_ATTACKERSSTATFELL:
|
||||
if (gBattleTextBuff1[2] != 0)
|
||||
AddMovePoints(PTS_STAT_DECREASE_SELF, moveSlot, gBattleTextBuff1[2] - 1, 0);
|
||||
break;
|
||||
case STRINGID_PKMNSSTATCHANGED4:
|
||||
case STRINGID_DEFENDERSSTATFELL:
|
||||
if (gBattleTextBuff1[2] != 0)
|
||||
{
|
||||
if (*statStringId == STRINGID_STATHARSHLY)
|
||||
|
||||
+93
-54
@@ -49,7 +49,29 @@ extern const u8 *const gBattlescriptsForRunningByItem[];
|
||||
extern const u8 *const gBattlescriptsForUsingItem[];
|
||||
extern const u8 *const gBattlescriptsForSafariActions[];
|
||||
|
||||
static const u8 sPkblToEscapeFactor[][3] = {{0, 0, 0}, {3, 5, 0}, {2, 3, 0}, {1, 2, 0}, {1, 1, 0}};
|
||||
static const u8 sPkblToEscapeFactor[][3] = {
|
||||
{
|
||||
[B_MSG_MON_CURIOUS] = 0,
|
||||
[B_MSG_MON_ENTHRALLED] = 0,
|
||||
[B_MSG_MON_IGNORED] = 0
|
||||
},{
|
||||
[B_MSG_MON_CURIOUS] = 3,
|
||||
[B_MSG_MON_ENTHRALLED] = 5,
|
||||
[B_MSG_MON_IGNORED] = 0
|
||||
},{
|
||||
[B_MSG_MON_CURIOUS] = 2,
|
||||
[B_MSG_MON_ENTHRALLED] = 3,
|
||||
[B_MSG_MON_IGNORED] = 0
|
||||
},{
|
||||
[B_MSG_MON_CURIOUS] = 1,
|
||||
[B_MSG_MON_ENTHRALLED] = 2,
|
||||
[B_MSG_MON_IGNORED] = 0
|
||||
},{
|
||||
[B_MSG_MON_CURIOUS] = 1,
|
||||
[B_MSG_MON_ENTHRALLED] = 1,
|
||||
[B_MSG_MON_IGNORED] = 0
|
||||
}
|
||||
};
|
||||
static const u8 sGoNearCounterToCatchFactor[] = {4, 3, 2, 1};
|
||||
static const u8 sGoNearCounterToEscapeFactor[] = {4, 4, 4, 4};
|
||||
|
||||
@@ -238,10 +260,9 @@ void HandleAction_UseMove(void)
|
||||
}
|
||||
}
|
||||
|
||||
// choose battlescript
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE
|
||||
&& gProtectStructs[gBattlerAttacker].palaceUnableToUseMove)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE && gProtectStructs[gBattlerAttacker].palaceUnableToUseMove)
|
||||
{
|
||||
// Battle Palace, select battle script for failure to use move
|
||||
if (gBattleMons[gBattlerAttacker].hp == 0)
|
||||
{
|
||||
gCurrentActionFuncId = B_ACTION_FINISHED;
|
||||
@@ -249,13 +270,13 @@ void HandleAction_UseMove(void)
|
||||
}
|
||||
else if (gPalaceSelectionBattleScripts[gBattlerAttacker] != NULL)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_INCAPABLE_OF_POWER;
|
||||
gBattlescriptCurrInstr = gPalaceSelectionBattleScripts[gBattlerAttacker];
|
||||
gPalaceSelectionBattleScripts[gBattlerAttacker] = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_INCAPABLE_OF_POWER;
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround;
|
||||
}
|
||||
}
|
||||
@@ -318,26 +339,29 @@ void HandleAction_UseItem(void)
|
||||
case AI_ITEM_HEAL_HP:
|
||||
break;
|
||||
case AI_ITEM_CURE_CONDITION:
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
if (*(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) & 1)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = AI_HEAL_CONFUSION;
|
||||
if (*(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) & (1 << AI_HEAL_CONFUSION))
|
||||
{
|
||||
if (*(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) & 0x3E)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 5;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = AI_HEAL_SLEEP;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Check for other statuses, stopping at first (shouldn't be more than one)
|
||||
while (!(*(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) & 1))
|
||||
{
|
||||
*(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) >>= 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER]++;
|
||||
// MULTISTRING_CHOOSER will be either AI_HEAL_PARALYSIS, AI_HEAL_FREEZE,
|
||||
// AI_HEAL_BURN, AI_HEAL_POISON, or AI_HEAL_SLEEP
|
||||
}
|
||||
}
|
||||
break;
|
||||
case AI_ITEM_X_STAT:
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
|
||||
if (*(gBattleStruct->AI_itemFlags + (gBattlerAttacker >> 1)) & 0x80)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STAT_ROSE_ITEM;
|
||||
if (*(gBattleStruct->AI_itemFlags + (gBattlerAttacker >> 1)) & (1 << AI_DIRE_HIT))
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 5;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_USED_DIRE_HIT;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -354,11 +378,20 @@ void HandleAction_UseItem(void)
|
||||
gBattleScripting.animArg2 = 0;
|
||||
}
|
||||
break;
|
||||
case AI_ITEM_GUARD_SPECS:
|
||||
case AI_ITEM_GUARD_SPEC:
|
||||
// It seems probable that at some point there was a special message for
|
||||
// an AI trainer using Guard Spec in a double battle.
|
||||
// There isn't now however, and the assignment to 2 below goes out of
|
||||
// bounds for gMistUsedStringIds and instead prints "{mon} is getting pumped"
|
||||
// from the next table, gFocusEnergyUsedStringIds.
|
||||
// In any case this isn't an issue in the retail version, as no trainers
|
||||
// are ever given any Guard Spec to use.
|
||||
#ifndef UBFIX
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
#endif
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_MIST;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -479,7 +512,7 @@ void HandleAction_Run(void)
|
||||
if (!TryRunFromBattle(gBattlerAttacker)) // failed to run away
|
||||
{
|
||||
ClearFuryCutterDestinyBondGrudge(gBattlerAttacker);
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 3;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CANT_ESCAPE_2;
|
||||
gBattlescriptCurrInstr = BattleScript_PrintFailedToRunString;
|
||||
gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT;
|
||||
}
|
||||
@@ -488,7 +521,7 @@ void HandleAction_Run(void)
|
||||
{
|
||||
if (gBattleMons[gBattlerAttacker].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION))
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ATTACKER_CANT_ESCAPE;
|
||||
gBattlescriptCurrInstr = BattleScript_PrintFailedToRunString;
|
||||
gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT;
|
||||
}
|
||||
@@ -567,11 +600,11 @@ void HandleAction_GoNear(void)
|
||||
if (gBattleStruct->safariGoNearCounter < 3)
|
||||
{
|
||||
gBattleStruct->safariGoNearCounter++;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CREPT_CLOSER;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1; // Can't get closer.
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CANT_GET_CLOSER;
|
||||
}
|
||||
gBattlescriptCurrInstr = gBattlescriptsForSafariActions[1];
|
||||
gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT;
|
||||
@@ -1295,20 +1328,20 @@ u8 DoFieldEndTurnEffects(void)
|
||||
{
|
||||
gBattleWeather &= ~WEATHER_RAIN_TEMPORARY;
|
||||
gBattleWeather &= ~WEATHER_RAIN_DOWNPOUR;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_RAIN_STOPPED;
|
||||
}
|
||||
else if (gBattleWeather & WEATHER_RAIN_DOWNPOUR)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DOWNPOUR_CONTINUES;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_RAIN_CONTINUES;
|
||||
}
|
||||
else if (gBattleWeather & WEATHER_RAIN_DOWNPOUR)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DOWNPOUR_CONTINUES;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_RAIN_CONTINUES;
|
||||
}
|
||||
|
||||
BattleScriptExecute(BattleScript_RainContinuesOrEnds);
|
||||
@@ -1330,7 +1363,7 @@ u8 DoFieldEndTurnEffects(void)
|
||||
}
|
||||
|
||||
gBattleScripting.animArg1 = B_ANIM_SANDSTORM_CONTINUES;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SANDSTORM;
|
||||
BattleScriptExecute(gBattlescriptCurrInstr);
|
||||
effect++;
|
||||
}
|
||||
@@ -1368,7 +1401,7 @@ u8 DoFieldEndTurnEffects(void)
|
||||
}
|
||||
|
||||
gBattleScripting.animArg1 = B_ANIM_HAIL_CONTINUES;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_HAIL;
|
||||
BattleScriptExecute(gBattlescriptCurrInstr);
|
||||
effect++;
|
||||
}
|
||||
@@ -1597,16 +1630,16 @@ u8 DoBattlerEndTurnEffects(void)
|
||||
if (WasUnableToUseMove(gActiveBattler))
|
||||
{
|
||||
CancelMultiTurnMoves(gActiveBattler);
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_UPROAR_ENDS;
|
||||
}
|
||||
else if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_UPROAR_CONTINUES;
|
||||
gBattleMons[gActiveBattler].status2 |= STATUS2_MULTIPLETURNS;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_UPROAR_ENDS;
|
||||
CancelMultiTurnMoves(gActiveBattler);
|
||||
}
|
||||
BattleScriptExecute(BattleScript_PrintUproarOverTurns);
|
||||
@@ -1749,9 +1782,9 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
|
||||
&& gBattleMons[gActiveBattler].hp != 0)
|
||||
{
|
||||
if (gWishFutureKnock.futureSightMove[gActiveBattler] == MOVE_FUTURE_SIGHT)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FUTURE_SIGHT;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DOOM_DESIRE;
|
||||
|
||||
PREPARE_MOVE_BUFFER(gBattleTextBuff1, gWishFutureKnock.futureSightMove[gActiveBattler]);
|
||||
|
||||
@@ -1850,7 +1883,7 @@ bool8 HandleFaintedMonActions(void)
|
||||
gBattleStruct->faintedActionsState++;
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
{
|
||||
if (gAbsentBattlerFlags & gBitTable[i] && !HasNoMonsToSwitch(i, 6, 6))
|
||||
if (gAbsentBattlerFlags & gBitTable[i] && !HasNoMonsToSwitch(i, PARTY_SIZE, PARTY_SIZE))
|
||||
gAbsentBattlerFlags &= ~(gBitTable[i]);
|
||||
}
|
||||
// fall through
|
||||
@@ -1962,7 +1995,7 @@ u8 AtkCanceller_UnableToUseMove(void)
|
||||
gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_SLEEP);
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
BattleScriptPushCursor();
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP_UPROAR;
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp;
|
||||
effect = 2;
|
||||
}
|
||||
@@ -1990,7 +2023,7 @@ u8 AtkCanceller_UnableToUseMove(void)
|
||||
{
|
||||
gBattleMons[gBattlerAttacker].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
BattleScriptPushCursor();
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP;
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp;
|
||||
effect = 2;
|
||||
}
|
||||
@@ -2019,7 +2052,7 @@ u8 AtkCanceller_UnableToUseMove(void)
|
||||
gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_FREEZE);
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DEFROSTED;
|
||||
}
|
||||
effect = 2;
|
||||
}
|
||||
@@ -2030,7 +2063,7 @@ u8 AtkCanceller_UnableToUseMove(void)
|
||||
{
|
||||
CancelMultiTurnMoves(gBattlerAttacker);
|
||||
gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_LOAFING;
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround;
|
||||
gMoveResultFlags |= MOVE_RESULT_MISSED;
|
||||
effect = 1;
|
||||
@@ -2103,12 +2136,14 @@ u8 AtkCanceller_UnableToUseMove(void)
|
||||
{
|
||||
if (Random() & 1)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
// The MULTISTRING_CHOOSER is used here as a bool to signal
|
||||
// to BattleScript_MoveUsedIsConfused whether or not damage was taken
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = FALSE;
|
||||
BattleScriptPushCursor();
|
||||
}
|
||||
else // confusion dmg
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = TRUE;
|
||||
gBattlerTarget = gBattlerAttacker;
|
||||
gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBattlerAttacker], &gBattleMons[gBattlerAttacker], MOVE_POUND, 0, 40, 0, gBattlerAttacker, gBattlerAttacker);
|
||||
gProtectStructs[gBattlerAttacker].confusionSelfDmg = 1;
|
||||
@@ -2195,7 +2230,7 @@ u8 AtkCanceller_UnableToUseMove(void)
|
||||
gBattleMons[gBattlerAttacker].status1 &= ~(STATUS1_FREEZE);
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DEFROSTED_BY_MOVE;
|
||||
}
|
||||
effect = 2;
|
||||
}
|
||||
@@ -2593,7 +2628,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
|
||||
if (gBattleMons[battler].statStages[STAT_SPEED] < MAX_STAT_STAGE && gDisableStructs[battler].isFirstTurn != 2)
|
||||
{
|
||||
gBattleMons[battler].statStages[STAT_SPEED]++;
|
||||
gBattleScripting.animArg1 = 0x11;
|
||||
gBattleScripting.animArg1 = 14 + STAT_SPEED;
|
||||
gBattleScripting.animArg2 = 0;
|
||||
BattleScriptPushCursorAndCallback(BattleScript_SpeedBoostActivates);
|
||||
gBattleScripting.battler = battler;
|
||||
@@ -2655,7 +2690,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
|
||||
{
|
||||
if (!(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE))
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FLASH_FIRE_BOOST;
|
||||
if (gProtectStructs[gBattlerAttacker].notFirstStrike)
|
||||
gBattlescriptCurrInstr = BattleScript_FlashFireBoost;
|
||||
else
|
||||
@@ -2666,7 +2701,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FLASH_FIRE_NO_BOOST;
|
||||
if (gProtectStructs[gBattlerAttacker].notFirstStrike)
|
||||
gBattlescriptCurrInstr = BattleScript_FlashFireBoost;
|
||||
else
|
||||
@@ -3431,7 +3466,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
|
||||
gEffectBattler = battlerId;
|
||||
SET_STATCHANGER(STAT_ATK, 1, FALSE);
|
||||
gBattleScripting.animArg1 = 0xE + STAT_ATK;
|
||||
gBattleScripting.animArg1 = 14 + STAT_ATK;
|
||||
gBattleScripting.animArg2 = 0;
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
effect = ITEM_STATS_CHANGE;
|
||||
@@ -3445,7 +3480,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
|
||||
gEffectBattler = battlerId;
|
||||
SET_STATCHANGER(STAT_DEF, 1, FALSE);
|
||||
gBattleScripting.animArg1 = 0xE + STAT_DEF;
|
||||
gBattleScripting.animArg1 = 14 + STAT_DEF;
|
||||
gBattleScripting.animArg2 = 0;
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
effect = ITEM_STATS_CHANGE;
|
||||
@@ -3459,7 +3494,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
|
||||
gEffectBattler = battlerId;
|
||||
SET_STATCHANGER(STAT_SPEED, 1, FALSE);
|
||||
gBattleScripting.animArg1 = 0xE + STAT_SPEED;
|
||||
gBattleScripting.animArg1 = 14 + STAT_SPEED;
|
||||
gBattleScripting.animArg2 = 0;
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
effect = ITEM_STATS_CHANGE;
|
||||
@@ -3473,7 +3508,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
|
||||
gEffectBattler = battlerId;
|
||||
SET_STATCHANGER(STAT_SPATK, 1, FALSE);
|
||||
gBattleScripting.animArg1 = 0xE + STAT_SPATK;
|
||||
gBattleScripting.animArg1 = 14 + STAT_SPATK;
|
||||
gBattleScripting.animArg2 = 0;
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
effect = ITEM_STATS_CHANGE;
|
||||
@@ -3487,7 +3522,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
|
||||
gEffectBattler = battlerId;
|
||||
SET_STATCHANGER(STAT_SPDEF, 1, FALSE);
|
||||
gBattleScripting.animArg1 = 0xE + STAT_SPDEF;
|
||||
gBattleScripting.animArg1 = 14 + STAT_SPDEF;
|
||||
gBattleScripting.animArg2 = 0;
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
effect = ITEM_STATS_CHANGE;
|
||||
@@ -3622,9 +3657,9 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
i++;
|
||||
}
|
||||
if (!(i > 1))
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_NORMALIZED_STATUS;
|
||||
gBattleMons[battlerId].status1 = 0;
|
||||
gBattleMons[battlerId].status2 &= ~(STATUS2_CONFUSION);
|
||||
BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2);
|
||||
@@ -3637,7 +3672,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
gBattleMons[battlerId].status2 &= ~(STATUS2_INFATUATION);
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn);
|
||||
BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2);
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM;
|
||||
effect = ITEM_EFFECT_OTHER;
|
||||
}
|
||||
break;
|
||||
@@ -3740,7 +3775,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
gBattleMons[battlerId].status2 &= ~(STATUS2_INFATUATION);
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn);
|
||||
BattleScriptPushCursor();
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM;
|
||||
gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet;
|
||||
effect = ITEM_EFFECT_OTHER;
|
||||
}
|
||||
@@ -3776,7 +3811,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
gBattleMons[battlerId].status1 = 0;
|
||||
gBattleMons[battlerId].status2 &= ~(STATUS2_CONFUSION);
|
||||
BattleScriptPushCursor();
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM;
|
||||
gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet;
|
||||
effect = ITEM_STATUS_CHANGE;
|
||||
}
|
||||
@@ -4016,7 +4051,9 @@ u8 IsMonDisobedient(void)
|
||||
calc = CheckMoveLimitations(gBattlerAttacker, gBitTable[gCurrMovePos], 0xFF);
|
||||
if (calc == 0xF) // all moves cannot be used
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = Random() & 3;
|
||||
// Randomly select, then print a disobedient string
|
||||
// B_MSG_LOAFING, B_MSG_WONT_OBEY, B_MSG_TURNED_AWAY, or B_MSG_PRETEND_NOT_NOTICE
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = Random() & (NUM_LOAF_STRINGS - 1);
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround;
|
||||
return 1;
|
||||
}
|
||||
@@ -4024,7 +4061,7 @@ u8 IsMonDisobedient(void)
|
||||
{
|
||||
do
|
||||
{
|
||||
gCurrMovePos = gChosenMovePos = Random() & 3;
|
||||
gCurrMovePos = gChosenMovePos = Random() & (MAX_MON_MOVES - 1);
|
||||
} while (gBitTable[gCurrMovePos] & calc);
|
||||
|
||||
gCalledMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos];
|
||||
@@ -4065,7 +4102,9 @@ u8 IsMonDisobedient(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = Random() & 3;
|
||||
// Randomly select, then print a disobedient string
|
||||
// B_MSG_LOAFING, B_MSG_WONT_OBEY, B_MSG_TURNED_AWAY, or B_MSG_PRETEND_NOT_NOTICE
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = Random() & (NUM_LOAF_STRINGS - 1);
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround;
|
||||
return 1;
|
||||
}
|
||||
|
||||
+4
-3
@@ -10,6 +10,7 @@
|
||||
#include "constants/abilities.h"
|
||||
#include "random.h"
|
||||
#include "battle_scripts.h"
|
||||
#include "constants/battle_string_ids.h"
|
||||
|
||||
void AllocateBattleResources(void)
|
||||
{
|
||||
@@ -136,7 +137,7 @@ u32 sub_805725C(u8 battlerId)
|
||||
gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP);
|
||||
gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
BattleScriptPushCursor();
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP_UPROAR;
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp;
|
||||
effect = 2;
|
||||
}
|
||||
@@ -163,7 +164,7 @@ u32 sub_805725C(u8 battlerId)
|
||||
{
|
||||
gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
BattleScriptPushCursor();
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP;
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp;
|
||||
effect = 2;
|
||||
}
|
||||
@@ -183,7 +184,7 @@ u32 sub_805725C(u8 battlerId)
|
||||
gBattleMons[battlerId].status1 &= ~(STATUS1_FREEZE);
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DEFROSTED;
|
||||
}
|
||||
effect = 2;
|
||||
}
|
||||
|
||||
+4
-4
@@ -3859,13 +3859,13 @@ static void Blender_AddTextPrinter(u8 windowId, const u8 *string, u8 x, u8 y, s3
|
||||
case 0:
|
||||
case 3:
|
||||
txtColor[0] = TEXT_COLOR_WHITE;
|
||||
txtColor[1] = TEXT_COLOR_DARK_GREY;
|
||||
txtColor[2] = TEXT_COLOR_LIGHT_GREY;
|
||||
txtColor[1] = TEXT_COLOR_DARK_GRAY;
|
||||
txtColor[2] = TEXT_COLOR_LIGHT_GRAY;
|
||||
break;
|
||||
case 1:
|
||||
txtColor[0] = TEXT_COLOR_TRANSPARENT;
|
||||
txtColor[1] = TEXT_COLOR_DARK_GREY;
|
||||
txtColor[2] = TEXT_COLOR_LIGHT_GREY;
|
||||
txtColor[1] = TEXT_COLOR_DARK_GRAY;
|
||||
txtColor[2] = TEXT_COLOR_LIGHT_GRAY;
|
||||
break;
|
||||
case 2:
|
||||
txtColor[0] = TEXT_COLOR_TRANSPARENT;
|
||||
|
||||
+21
-21
@@ -152,9 +152,9 @@ enum {
|
||||
#define PLAY_AGAIN_NO_BERRIES 3
|
||||
|
||||
enum {
|
||||
COLORID_GREY,
|
||||
COLORID_GRAY,
|
||||
COLORID_BLACK,
|
||||
COLORID_LIGHT_GREY,
|
||||
COLORID_LIGHT_GRAY,
|
||||
COLORID_BLUE,
|
||||
COLORID_GREEN,
|
||||
COLORID_RED,
|
||||
@@ -457,9 +457,9 @@ static const struct BgTemplate sBgTemplates[4] =
|
||||
|
||||
static const u8 sTextColorTable[][3] =
|
||||
{
|
||||
[COLORID_GREY] = {TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY},
|
||||
[COLORID_BLACK] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY},
|
||||
[COLORID_LIGHT_GREY] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_RED},
|
||||
[COLORID_GRAY] = {TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY},
|
||||
[COLORID_BLACK] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY},
|
||||
[COLORID_LIGHT_GRAY] = {TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GRAY, TEXT_COLOR_RED},
|
||||
[COLORID_BLUE] = {TEXT_COLOR_WHITE, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_BLUE},
|
||||
[COLORID_GREEN] = {TEXT_COLOR_WHITE, TEXT_COLOR_GREEN, TEXT_COLOR_LIGHT_GREEN},
|
||||
[COLORID_RED] = {TEXT_COLOR_WHITE, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED},
|
||||
@@ -1653,7 +1653,7 @@ static void PrintResultsText(struct BerryCrushGame * game, u8 page, u8 sp14, u8
|
||||
break;
|
||||
}
|
||||
x = GetStringRightAlignXOffset(2, gStringVar4, sp14 - 4);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GREY], 0, gStringVar4);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
if (playerId == game->localId)
|
||||
StringCopy(gStringVar3, gText_1DotBlueF700);
|
||||
else
|
||||
@@ -1661,7 +1661,7 @@ static void PrintResultsText(struct BerryCrushGame * game, u8 page, u8 sp14, u8
|
||||
gStringVar3[0] = ranking + CHAR_1;
|
||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, game->players[playerId].name);
|
||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gStringVar3);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, 4, y, sTextColorTable[COLORID_GREY], 0, gStringVar4);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, 4, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1676,34 +1676,34 @@ static void PrintCrushingResults(struct BerryCrushGame *game)
|
||||
FramesToMinSec(&game->gfx, results->time);
|
||||
|
||||
// Print time text
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GREY], 0, gText_TimeColon);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gText_TimeColon);
|
||||
|
||||
// Print seconds text
|
||||
x = 176 - (u8)GetStringWidth(2, gText_SpaceSec, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GREY], 0, gText_SpaceSec);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gText_SpaceSec);
|
||||
|
||||
// Print seconds value
|
||||
ConvertIntToDecimalStringN(gStringVar1, game->gfx.secondsInt, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
ConvertIntToDecimalStringN(gStringVar2, game->gfx.secondsFrac, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_XDotY2);
|
||||
x -= GetStringWidth(2, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GREY], 0, gStringVar4);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
|
||||
// Print minutes text
|
||||
x -= GetStringWidth(2, gText_SpaceMin, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GREY], 0, gText_SpaceMin);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gText_SpaceMin);
|
||||
|
||||
// Print minutes value
|
||||
ConvertIntToDecimalStringN(gStringVar1, game->gfx.minutes, STR_CONV_MODE_LEADING_ZEROS, 1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_StrVar1);
|
||||
x -= GetStringWidth(2, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GREY], 0, gStringVar4);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
|
||||
// Print pressing speed text
|
||||
y += 14;
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, 0, y, sTextColorTable[COLORID_GREY], 0, gText_PressingSpeed);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, 0, y, sTextColorTable[COLORID_GRAY], 0, gText_PressingSpeed);
|
||||
x = 176 - (u8)GetStringWidth(2, gText_TimesPerSec, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GREY], 0, gText_TimesPerSec);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gText_TimesPerSec);
|
||||
|
||||
// Print pressing speed value
|
||||
for (i = 0; i < 8; i++)
|
||||
@@ -1716,17 +1716,17 @@ static void PrintCrushingResults(struct BerryCrushGame *game)
|
||||
if (game->newRecord)
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_RED], 0, gStringVar4);
|
||||
else
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GREY], 0, gStringVar4);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
|
||||
// Print silkiness text
|
||||
y += 14;
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, 0, y, sTextColorTable[COLORID_GREY], 0, gText_Silkiness);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, 0, y, sTextColorTable[COLORID_GRAY], 0, gText_Silkiness);
|
||||
|
||||
// Print silkiness value
|
||||
ConvertIntToDecimalStringN(gStringVar1, results->silkiness, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
StringExpandPlaceholders(gStringVar4, gText_Var1Percent);
|
||||
x = 176 - (u8)GetStringWidth(2, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GREY], 0, gStringVar4);
|
||||
AddTextPrinterParameterized3(game->gfx.resultsWindowId, 2, x, y, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
}
|
||||
|
||||
static bool32 OpenResultsWindow(struct BerryCrushGame *game, struct BerryCrushGame_Gfx *gfx)
|
||||
@@ -1825,9 +1825,9 @@ static void Task_ShowRankings(u8 taskId)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar1, i + 2, STR_CONV_MODE_LEFT_ALIGN, 1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_Var1Players);
|
||||
AddTextPrinterParameterized3(tWindowId, 1, 0, yPos, sTextColorTable[COLORID_GREY], 0, gStringVar4);
|
||||
AddTextPrinterParameterized3(tWindowId, 1, 0, yPos, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
xPos = 192 - (u8)GetStringWidth(1, gText_TimesPerSec, -1);
|
||||
AddTextPrinterParameterized3(tWindowId, 1, xPos, yPos, sTextColorTable[COLORID_GREY], 0, gText_TimesPerSec);
|
||||
AddTextPrinterParameterized3(tWindowId, 1, xPos, yPos, sTextColorTable[COLORID_GRAY], 0, gText_TimesPerSec);
|
||||
for (j = 0; j < 8; j++)
|
||||
{
|
||||
if (((tPressingSpeeds(i) & 0xFF) >> (7 - j)) & 1)
|
||||
@@ -1837,7 +1837,7 @@ static void Task_ShowRankings(u8 taskId)
|
||||
ConvertIntToDecimalStringN(gStringVar2, score / 1000000, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
StringExpandPlaceholders(gStringVar4, gText_XDotY3);
|
||||
xPos -= GetStringWidth(1, gStringVar4, -1);
|
||||
AddTextPrinterParameterized3(tWindowId, 1, xPos, yPos, sTextColorTable[COLORID_GREY], 0, gStringVar4);
|
||||
AddTextPrinterParameterized3(tWindowId, 1, xPos, yPos, sTextColorTable[COLORID_GRAY], 0, gStringVar4);
|
||||
yPos += 16;
|
||||
score = 0;
|
||||
}
|
||||
@@ -1933,7 +1933,7 @@ static void DrawPlayerNameWindows(struct BerryCrushGame *game)
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
sTextColorTable[COLORID_LIGHT_GREY],
|
||||
sTextColorTable[COLORID_LIGHT_GRAY],
|
||||
0,
|
||||
game->players[i].name
|
||||
);
|
||||
|
||||
+9
-7
@@ -1053,29 +1053,31 @@ static void Task_EnterCableClubSeat(u8 taskId)
|
||||
case 1:
|
||||
if (IsFieldMessageBoxHidden())
|
||||
{
|
||||
sub_8087288();
|
||||
SetInCableClubSeat();
|
||||
SetLocalLinkPlayerId(gSpecialVar_0x8005);
|
||||
task->tState = 2;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
switch (sub_8087214())
|
||||
switch (GetCableClubPartnersReady())
|
||||
{
|
||||
case 0:
|
||||
case CABLE_SEAT_WAITING:
|
||||
break;
|
||||
case 1:
|
||||
case CABLE_SEAT_SUCCESS:
|
||||
// Partners linked and ready, switch to relevant link function
|
||||
HideFieldMessageBox();
|
||||
task->tState = 0;
|
||||
sub_80872C4();
|
||||
SetStartedCableClubActivity();
|
||||
SwitchTaskToFollowupFunc(taskId);
|
||||
break;
|
||||
case 2:
|
||||
case CABLE_SEAT_FAILED:
|
||||
task->tState = 3;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
sub_808729C();
|
||||
// Exit, failure
|
||||
SetLinkWaitingForScript();
|
||||
sub_8197AE8(TRUE);
|
||||
DestroyTask(taskId);
|
||||
EnableBothScriptContexts();
|
||||
|
||||
+2
-2
@@ -391,13 +391,13 @@ static void PrintCreditsText(const u8 *string, u8 y, bool8 isTitle)
|
||||
|
||||
if (isTitle == TRUE)
|
||||
{
|
||||
color[1] = TEXT_COLOR_LIGHT_GREY;
|
||||
color[1] = TEXT_COLOR_LIGHT_GRAY;
|
||||
color[2] = TEXT_COLOR_RED;
|
||||
}
|
||||
else
|
||||
{
|
||||
color[1] = TEXT_COLOR_WHITE;
|
||||
color[2] = TEXT_COLOR_DARK_GREY;
|
||||
color[2] = TEXT_COLOR_DARK_GRAY;
|
||||
}
|
||||
|
||||
x = GetStringCenterAlignXOffsetWithLetterSpacing(1, string, DISPLAY_WIDTH, 1);
|
||||
|
||||
@@ -1263,16 +1263,16 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_SmallSparkle = {
|
||||
|
||||
const struct SpritePalette gSpritePalette_SmallSparkle = {gFieldEffectPal_SmallSparkle, FLDEFF_PAL_TAG_SMALL_SPARKLE};
|
||||
|
||||
static const union AnimCmd sAnim_Rayquaza[] = {
|
||||
static const union AnimCmd sAnim_RayquazaSpotlightEffect[] = {
|
||||
ANIMCMD_FRAME(0, 1),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sAnimTable_Rayquaza[] = {
|
||||
sAnim_Rayquaza,
|
||||
static const union AnimCmd *const sAnimTable_RayquazaSpotlightEffect[] = {
|
||||
sAnim_RayquazaSpotlightEffect,
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage sPicTable_Rayquaza[] = {
|
||||
const struct SpriteFrameImage sPicTable_RayquazaSpotlightEffect[] = {
|
||||
overworld_frame(gObjectEventPic_Rayquaza, 4, 4, 0),
|
||||
};
|
||||
|
||||
@@ -1280,8 +1280,8 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0xFFFF,
|
||||
.oam = &gObjectEventBaseOam_32x32,
|
||||
.anims = sAnimTable_Rayquaza,
|
||||
.images = sPicTable_Rayquaza,
|
||||
.anims = sAnimTable_RayquazaSpotlightEffect,
|
||||
.images = sPicTable_RayquazaSpotlightEffect,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = UpdateRayquazaSpotlightEffect,
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const struct SpriteFrameImage gObjectEventPicTable_PechaBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_PechaBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -12,7 +12,7 @@ const struct SpriteFrameImage gObjectEventPicTable_PechaBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Pecha[] = {3, 4, 4, 4, 4};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_KelpsyBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_KelpsyBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -26,7 +26,7 @@ const struct SpriteFrameImage gObjectEventPicTable_KelpsyBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Kelpsy[] = {3, 4, 2, 2, 2};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_WepearBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_WepearBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -40,7 +40,7 @@ const struct SpriteFrameImage gObjectEventPicTable_WepearBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Wepear[] = {3, 4, 2, 2, 2};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_IapapaBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_IapapaBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -54,7 +54,7 @@ const struct SpriteFrameImage gObjectEventPicTable_IapapaBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Iapapa[] = {3, 4, 3, 3, 3};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_CheriBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_CheriBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -68,7 +68,7 @@ const struct SpriteFrameImage gObjectEventPicTable_CheriBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Cheri[] = {3, 4, 4, 4, 4};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_FigyBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_FigyBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -82,7 +82,7 @@ const struct SpriteFrameImage gObjectEventPicTable_FigyBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Figy[] = {3, 4, 3, 3, 3};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_MagoBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_MagoBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -96,7 +96,7 @@ const struct SpriteFrameImage gObjectEventPicTable_MagoBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Mago[] = {3, 4, 3, 3, 3};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_LumBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_LumBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -110,7 +110,7 @@ const struct SpriteFrameImage gObjectEventPicTable_LumBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Lum[] = {3, 4, 4, 4, 4};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_RazzBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_RazzBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -124,7 +124,7 @@ const struct SpriteFrameImage gObjectEventPicTable_RazzBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Razz[] = {3, 4, 4, 4, 4};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_GrepaBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_GrepaBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -138,7 +138,7 @@ const struct SpriteFrameImage gObjectEventPicTable_GrepaBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Grepa[] = {3, 4, 3, 3, 3};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_RabutaBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_RabutaBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -152,7 +152,7 @@ const struct SpriteFrameImage gObjectEventPicTable_RabutaBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Rabuta[] = {3, 4, 4, 4, 4};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_NomelBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_NomelBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -166,7 +166,7 @@ const struct SpriteFrameImage gObjectEventPicTable_NomelBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Nomel[] = {3, 4, 3, 3, 3};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_LeppaBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_LeppaBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -180,7 +180,7 @@ const struct SpriteFrameImage gObjectEventPicTable_LeppaBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Leppa[] = {3, 4, 3, 3, 3};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_LiechiBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_LiechiBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -194,7 +194,7 @@ const struct SpriteFrameImage gObjectEventPicTable_LiechiBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Liechi[] = {3, 4, 4, 4, 4};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_HondewBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_HondewBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -208,7 +208,7 @@ const struct SpriteFrameImage gObjectEventPicTable_HondewBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Hondew[] = {3, 4, 5, 5, 5};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_AguavBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_AguavBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -222,7 +222,7 @@ const struct SpriteFrameImage gObjectEventPicTable_AguavBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Aguav[] = {3, 4, 4, 4, 4};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_WikiBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_WikiBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -236,7 +236,7 @@ const struct SpriteFrameImage gObjectEventPicTable_WikiBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Wiki[] = {3, 4, 3, 3, 3};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_PomegBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_PomegBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -250,7 +250,7 @@ const struct SpriteFrameImage gObjectEventPicTable_PomegBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Pomeg[] = {3, 4, 3, 3, 3};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_RawstBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_RawstBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -264,7 +264,7 @@ const struct SpriteFrameImage gObjectEventPicTable_RawstBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Rawst[] = {3, 4, 4, 4, 4};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_SpelonBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_SpelonBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -278,7 +278,7 @@ const struct SpriteFrameImage gObjectEventPicTable_SpelonBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Spelon[] = {3, 4, 3, 3, 3};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_ChestoBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_ChestoBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -292,7 +292,7 @@ const struct SpriteFrameImage gObjectEventPicTable_ChestoBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Chesto[] = {3, 4, 2, 2, 2};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_OranBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_OranBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -306,7 +306,7 @@ const struct SpriteFrameImage gObjectEventPicTable_OranBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Oran[] = {3, 4, 2, 2, 2};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_PersimBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_PersimBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -320,7 +320,7 @@ const struct SpriteFrameImage gObjectEventPicTable_PersimBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Persim[] = {3, 4, 2, 2, 2};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_SitrusBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_SitrusBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -334,7 +334,7 @@ const struct SpriteFrameImage gObjectEventPicTable_SitrusBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Sitrus[] = {3, 4, 4, 4, 4};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_AspearBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_AspearBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -348,7 +348,7 @@ const struct SpriteFrameImage gObjectEventPicTable_AspearBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Aspear[] = {3, 4, 3, 3, 3};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_PamtreBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_PamtreBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -362,7 +362,7 @@ const struct SpriteFrameImage gObjectEventPicTable_PamtreBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Pamtre[] = {3, 4, 2, 2, 2};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_CornnBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_CornnBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -376,7 +376,7 @@ const struct SpriteFrameImage gObjectEventPicTable_CornnBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Cornn[] = {3, 4, 2, 2, 2};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_LansatBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_LansatBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -390,7 +390,7 @@ const struct SpriteFrameImage gObjectEventPicTable_LansatBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Lansat[] = {3, 4, 2, 2, 2};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_DurinBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_DurinBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -404,7 +404,7 @@ const struct SpriteFrameImage gObjectEventPicTable_DurinBerryTree[] = {
|
||||
|
||||
const u8 gBerryTreePaletteSlotTable_Durin[] = {3, 4, 4, 4, 4};
|
||||
|
||||
const struct SpriteFrameImage gObjectEventPicTable_TamatoBerryTree[] = {
|
||||
static const struct SpriteFrameImage sPicTable_TamatoBerryTree[] = {
|
||||
overworld_frame(gObjectEventPic_BerryTreeDirtPile, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 0),
|
||||
overworld_frame(gObjectEventPic_BerryTreeSprout, 2, 2, 1),
|
||||
@@ -423,49 +423,49 @@ const u8 gDeadBerryTreeObjectEventGraphicsIdTable[] = {OBJ_EVENT_GFX_BERRY_TREE_
|
||||
const u8 gBerryTreeObjectEventGraphicsIdTable[] = {OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES, OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES, OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES, OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES};
|
||||
|
||||
const struct SpriteFrameImage *const gBerryTreePicTablePointers[] = {
|
||||
[ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_CheriBerryTree,
|
||||
[ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_ChestoBerryTree,
|
||||
[ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_PechaBerryTree,
|
||||
[ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_RawstBerryTree,
|
||||
[ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_AspearBerryTree,
|
||||
[ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_LeppaBerryTree,
|
||||
[ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_OranBerryTree,
|
||||
[ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_PersimBerryTree,
|
||||
[ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_LumBerryTree,
|
||||
[ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_SitrusBerryTree,
|
||||
[ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_FigyBerryTree,
|
||||
[ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_WikiBerryTree,
|
||||
[ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_MagoBerryTree,
|
||||
[ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_AguavBerryTree,
|
||||
[ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_IapapaBerryTree,
|
||||
[ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_RazzBerryTree,
|
||||
[ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_RazzBerryTree,
|
||||
[ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_MagoBerryTree,
|
||||
[ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_WepearBerryTree,
|
||||
[ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_IapapaBerryTree,
|
||||
[ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_PomegBerryTree,
|
||||
[ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_KelpsyBerryTree,
|
||||
[ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_WepearBerryTree,
|
||||
[ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_HondewBerryTree,
|
||||
[ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_GrepaBerryTree,
|
||||
[ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_TamatoBerryTree,
|
||||
[ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_CornnBerryTree,
|
||||
[ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_PomegBerryTree,
|
||||
[ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_RabutaBerryTree,
|
||||
[ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_NomelBerryTree,
|
||||
[ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_SpelonBerryTree,
|
||||
[ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_PamtreBerryTree,
|
||||
[ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_RabutaBerryTree,
|
||||
[ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_DurinBerryTree,
|
||||
[ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_HondewBerryTree,
|
||||
[ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_LiechiBerryTree,
|
||||
[ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_HondewBerryTree,
|
||||
[ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_AguavBerryTree,
|
||||
[ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_PomegBerryTree,
|
||||
[ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_GrepaBerryTree,
|
||||
[ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_LansatBerryTree,
|
||||
[ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_CornnBerryTree,
|
||||
[ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = gObjectEventPicTable_DurinBerryTree,
|
||||
[ITEM_CHERI_BERRY - FIRST_BERRY_INDEX] = sPicTable_CheriBerryTree,
|
||||
[ITEM_CHESTO_BERRY - FIRST_BERRY_INDEX] = sPicTable_ChestoBerryTree,
|
||||
[ITEM_PECHA_BERRY - FIRST_BERRY_INDEX] = sPicTable_PechaBerryTree,
|
||||
[ITEM_RAWST_BERRY - FIRST_BERRY_INDEX] = sPicTable_RawstBerryTree,
|
||||
[ITEM_ASPEAR_BERRY - FIRST_BERRY_INDEX] = sPicTable_AspearBerryTree,
|
||||
[ITEM_LEPPA_BERRY - FIRST_BERRY_INDEX] = sPicTable_LeppaBerryTree,
|
||||
[ITEM_ORAN_BERRY - FIRST_BERRY_INDEX] = sPicTable_OranBerryTree,
|
||||
[ITEM_PERSIM_BERRY - FIRST_BERRY_INDEX] = sPicTable_PersimBerryTree,
|
||||
[ITEM_LUM_BERRY - FIRST_BERRY_INDEX] = sPicTable_LumBerryTree,
|
||||
[ITEM_SITRUS_BERRY - FIRST_BERRY_INDEX] = sPicTable_SitrusBerryTree,
|
||||
[ITEM_FIGY_BERRY - FIRST_BERRY_INDEX] = sPicTable_FigyBerryTree,
|
||||
[ITEM_WIKI_BERRY - FIRST_BERRY_INDEX] = sPicTable_WikiBerryTree,
|
||||
[ITEM_MAGO_BERRY - FIRST_BERRY_INDEX] = sPicTable_MagoBerryTree,
|
||||
[ITEM_AGUAV_BERRY - FIRST_BERRY_INDEX] = sPicTable_AguavBerryTree,
|
||||
[ITEM_IAPAPA_BERRY - FIRST_BERRY_INDEX] = sPicTable_IapapaBerryTree,
|
||||
[ITEM_RAZZ_BERRY - FIRST_BERRY_INDEX] = sPicTable_RazzBerryTree,
|
||||
[ITEM_BLUK_BERRY - FIRST_BERRY_INDEX] = sPicTable_RazzBerryTree,
|
||||
[ITEM_NANAB_BERRY - FIRST_BERRY_INDEX] = sPicTable_MagoBerryTree,
|
||||
[ITEM_WEPEAR_BERRY - FIRST_BERRY_INDEX] = sPicTable_WepearBerryTree,
|
||||
[ITEM_PINAP_BERRY - FIRST_BERRY_INDEX] = sPicTable_IapapaBerryTree,
|
||||
[ITEM_POMEG_BERRY - FIRST_BERRY_INDEX] = sPicTable_PomegBerryTree,
|
||||
[ITEM_KELPSY_BERRY - FIRST_BERRY_INDEX] = sPicTable_KelpsyBerryTree,
|
||||
[ITEM_QUALOT_BERRY - FIRST_BERRY_INDEX] = sPicTable_WepearBerryTree,
|
||||
[ITEM_HONDEW_BERRY - FIRST_BERRY_INDEX] = sPicTable_HondewBerryTree,
|
||||
[ITEM_GREPA_BERRY - FIRST_BERRY_INDEX] = sPicTable_GrepaBerryTree,
|
||||
[ITEM_TAMATO_BERRY - FIRST_BERRY_INDEX] = sPicTable_TamatoBerryTree,
|
||||
[ITEM_CORNN_BERRY - FIRST_BERRY_INDEX] = sPicTable_CornnBerryTree,
|
||||
[ITEM_MAGOST_BERRY - FIRST_BERRY_INDEX] = sPicTable_PomegBerryTree,
|
||||
[ITEM_RABUTA_BERRY - FIRST_BERRY_INDEX] = sPicTable_RabutaBerryTree,
|
||||
[ITEM_NOMEL_BERRY - FIRST_BERRY_INDEX] = sPicTable_NomelBerryTree,
|
||||
[ITEM_SPELON_BERRY - FIRST_BERRY_INDEX] = sPicTable_SpelonBerryTree,
|
||||
[ITEM_PAMTRE_BERRY - FIRST_BERRY_INDEX] = sPicTable_PamtreBerryTree,
|
||||
[ITEM_WATMEL_BERRY - FIRST_BERRY_INDEX] = sPicTable_RabutaBerryTree,
|
||||
[ITEM_DURIN_BERRY - FIRST_BERRY_INDEX] = sPicTable_DurinBerryTree,
|
||||
[ITEM_BELUE_BERRY - FIRST_BERRY_INDEX] = sPicTable_HondewBerryTree,
|
||||
[ITEM_LIECHI_BERRY - FIRST_BERRY_INDEX] = sPicTable_LiechiBerryTree,
|
||||
[ITEM_GANLON_BERRY - FIRST_BERRY_INDEX] = sPicTable_HondewBerryTree,
|
||||
[ITEM_SALAC_BERRY - FIRST_BERRY_INDEX] = sPicTable_AguavBerryTree,
|
||||
[ITEM_PETAYA_BERRY - FIRST_BERRY_INDEX] = sPicTable_PomegBerryTree,
|
||||
[ITEM_APICOT_BERRY - FIRST_BERRY_INDEX] = sPicTable_GrepaBerryTree,
|
||||
[ITEM_LANSAT_BERRY - FIRST_BERRY_INDEX] = sPicTable_LansatBerryTree,
|
||||
[ITEM_STARF_BERRY - FIRST_BERRY_INDEX] = sPicTable_CornnBerryTree,
|
||||
[ITEM_ENIGMA_BERRY - FIRST_BERRY_INDEX] = sPicTable_DurinBerryTree,
|
||||
};
|
||||
|
||||
const u8 *const gBerryTreePaletteSlotTablePointers[] = {
|
||||
|
||||
@@ -252,7 +252,7 @@ u8 MovementAction_AcroEndWheelieMoveRight_Step0(struct ObjectEvent *, struct Spr
|
||||
u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_Levitate_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_StopLevitate_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_DestroyExtraTaskIfAtTop_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_StopLevitateAtTop_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_StoreAndLockAnim_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_Finish(struct ObjectEvent *, struct Sprite *);
|
||||
u8 MovementAction_FreeAndUnlockAnim_Step0(struct ObjectEvent *, struct Sprite *);
|
||||
@@ -416,7 +416,7 @@ u8 (*const gMovementActionFuncs_WalkLeftAffine[])(struct ObjectEvent *, struct S
|
||||
u8 (*const gMovementActionFuncs_WalkRightAffine[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_Levitate[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_StopLevitate[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_DestroyExtraTaskIfAtTop[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_StopLevitateAtTop[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_Figure8[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_FlyUp[])(struct ObjectEvent *, struct Sprite *);
|
||||
u8 (*const gMovementActionFuncs_FlyDown[])(struct ObjectEvent *, struct Sprite *);
|
||||
@@ -576,7 +576,7 @@ u8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sprite *)
|
||||
[MOVEMENT_ACTION_WALK_RIGHT_AFFINE] = gMovementActionFuncs_WalkRightAffine,
|
||||
[MOVEMENT_ACTION_LEVITATE] = gMovementActionFuncs_Levitate,
|
||||
[MOVEMENT_ACTION_STOP_LEVITATE] = gMovementActionFuncs_StopLevitate,
|
||||
[MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP] = gMovementActionFuncs_DestroyExtraTaskIfAtTop,
|
||||
[MOVEMENT_ACTION_STOP_LEVITATE_AT_TOP] = gMovementActionFuncs_StopLevitateAtTop,
|
||||
[MOVEMENT_ACTION_FIGURE_8] = gMovementActionFuncs_Figure8,
|
||||
[MOVEMENT_ACTION_FLY_UP] = gMovementActionFuncs_FlyUp,
|
||||
[MOVEMENT_ACTION_FLY_DOWN] = gMovementActionFuncs_FlyDown,
|
||||
@@ -602,7 +602,7 @@ u8 (*const gMovementActionFuncs_FaceRight[])(struct ObjectEvent *, struct Sprite
|
||||
MovementAction_PauseSpriteAnim,
|
||||
};
|
||||
|
||||
u8 (*const gUnknown_0850DEE8[])(u8) = {
|
||||
static u8 (*const sDirectionAnimFuncsBySpeed[])(u8) = {
|
||||
GetMoveDirectionAnimNum,
|
||||
GetMoveDirectionFastAnimNum,
|
||||
GetMoveDirectionFastAnimNum,
|
||||
@@ -706,8 +706,8 @@ u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct ObjectEvent *, struct
|
||||
MovementAction_PauseSpriteAnim,
|
||||
};
|
||||
|
||||
const s16 gUnknown_0850DFBC[] = {0, 1, 1};
|
||||
const s16 gUnknown_0850DFC2[] = {0, 0, 1};
|
||||
static const s16 sJumpInitDisplacements[] = {0, 1, 1};
|
||||
static const s16 sJumpDisplacements[] = {0, 0, 1};
|
||||
|
||||
u8 (*const gMovementActionFuncs_Jump2Down[])(struct ObjectEvent *, struct Sprite *) = {
|
||||
MovementAction_Jump2Down_Step0,
|
||||
@@ -1507,7 +1507,7 @@ u8 (*const gMovementActionFuncs_StopLevitate[])(struct ObjectEvent *, struct Spr
|
||||
MovementAction_Finish,
|
||||
};
|
||||
|
||||
u8 (*const gMovementActionFuncs_DestroyExtraTaskIfAtTop[])(struct ObjectEvent *, struct Sprite *) = {
|
||||
MovementAction_DestroyExtraTaskIfAtTop_Step0,
|
||||
u8 (*const gMovementActionFuncs_StopLevitateAtTop[])(struct ObjectEvent *, struct Sprite *) = {
|
||||
MovementAction_StopLevitateAtTop_Step0,
|
||||
MovementAction_Finish,
|
||||
};
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,245 +1,245 @@
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BrendanMayNormal, gObjectEventPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_AcroBike, gObjectEventPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Surfing, gObjectEventPicTable_BrendanSurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_FieldMove, gObjectEventPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump = {0xFFFF, OBJ_EVENT_PAL_TAG_QUINTY_PLUMP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_QuintyPlump, gObjectEventPicTable_QuintyPlump, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_NinjaBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Twin, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Boy1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Girl1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Boy2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Girl2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_LittleBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_LittleGirl, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Boy3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Girl3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RichBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Woman1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_FatMan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_PokefanF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Man1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Woman2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_ExpertM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_ExpertF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Man2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Woman3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_PokefanM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Woman4, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Cook, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_LinkReceptionist, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_OldMan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_OldWoman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Camper, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Picnicker, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Man3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Woman5, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Youngster, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_BugCatcher, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_PsychicM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_SchoolKidM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Maniac, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_HexManiac, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, gObjectEventSpriteOamTables_64x64, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RayquazaStill, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_SwimmerM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_SwimmerF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_BlackBelt, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Beauty, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Scientist1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Lass, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Gentleman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Sailor, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Fisherman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_TuberF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_TuberM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Hiker, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_AcroBike, gObjectEventPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_AcroBike, gObjectEventPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Nurse, gObjectEventPicTable_Nurse, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_ItemBall, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, NULL, gObjectEventImageAnimTable_BerryTree, gObjectEventPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_BerryTree, gObjectEventPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BerryTree, gObjectEventPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_ProfBirch, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Man4, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Man5, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_ReporterM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_ReporterF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_CuttableTree, gObjectEventPicTable_CuttableTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MartEmployee, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Teala, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_BreakableRock, gObjectEventPicTable_BreakableRock, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_PushableBoulder, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BrendanMayNormal, gObjectEventPicTable_MayNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MayMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_AcroBike, gObjectEventPicTable_MayAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Surfing, gObjectEventPicTable_MaySurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_FieldMove, gObjectEventPicTable_MayFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck = {0xFFFF, OBJ_EVENT_PAL_TAG_TRUCK, OBJ_EVENT_PAL_TAG_NONE, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_48x48, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_Truck, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox = {0xFFFF, OBJ_EVENT_PAL_TAG_VIGOROTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway = {0xFFFF, OBJ_EVENT_PAL_TAG_VIGOROTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BirchsBag, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon = {0xFFFF, OBJ_EVENT_PAL_TAG_ZIGZAGOON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena = {0xFFFF, OBJ_EVENT_PAL_TAG_POOCHYENA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Poochyena, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Artist, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BrendanMayNormal, gObjectEventPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_AcroBike, gObjectEventPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Surfing, gObjectEventPicTable_BrendanSurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_FieldMove, gObjectEventPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BrendanMayNormal, gObjectEventPicTable_MayNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MayMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_AcroBike, gObjectEventPicTable_MayAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Surfing, gObjectEventPicTable_MaySurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_FieldMove, gObjectEventPicTable_MayFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Cameraman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater = {0xFFFF, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater = {0xFFFF, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MayUnderwater, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox = {0xFFFF, OBJ_EVENT_PAL_TAG_MOVING_BOX, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_MovingBox, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar = {0xFFFF, OBJ_EVENT_PAL_TAG_CABLE_CAR, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_64x64, gObjectEventSpriteOamTables_64x64, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_CableCar, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Scientist2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_DevonEmployee, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_AquaMemberM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_AquaMemberF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MagmaMemberM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MagmaMemberF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Sidney, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Phoebe, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Glacia, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Drake, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Roxanne, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Brawly, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Wattson, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Flannery, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Norman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Winona, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Liza, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Tate, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Wallace, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Steven, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Wally, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Fishing, gObjectEventPicTable_BrendanFishing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Fishing, gObjectEventPicTable_MayFishing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal = {0xFFFF, OBJ_EVENT_PAL_TAG_SSTIDAL, OBJ_EVENT_PAL_TAG_NONE, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, gObjectEventSpriteOamTables_96x40, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_SSTidal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow = {0xFFFF, OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, OBJ_EVENT_PAL_TAG_NONE, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, gObjectEventSpriteOamTables_88x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_SubmarineShadow, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_PichuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_PikachuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_MarillDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_TogepiDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_TotodileDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_MeowthDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_ClefairyDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_DittoDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_SmoochumDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_TreeckoDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_TorchicDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_MudkipDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_DuskullDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_WynautDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BaltoyDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_KecleonDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_AzurillDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_SkittyDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_SwabluDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_GulpinDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_LotadDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_SeedotDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_PikaCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_RoundCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_KissCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_ZigzagCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_SpinCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_DiamondCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BallCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_GrassCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_FireCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_WaterCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_LatiasLatios, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_LatiasLatios, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_GameboyKid, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_ContestJudge, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_BrendanWatering, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MayWatering, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BrendanDecorating, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_MayDecorating, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Archie, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Maxie, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_KyogreFront, gObjectEventRotScalAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_GroudonFront, gObjectEventRotScalAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_KyogreSide, gObjectEventRotScalAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Groudon3, gObjectEventPicTable_GroudonSide, gObjectEventRotScalAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_Fossil, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Regi, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Regi, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Regi, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Skitty, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Kecleon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre2 = {0xFFFF, OBJ_EVENT_PAL_TAG_KYOGRE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_KyogreFront, gObjectEventRotScalAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon2 = {0xFFFF, OBJ_EVENT_PAL_TAG_GROUDON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_GroudonFront, gObjectEventRotScalAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, gObjectEventSpriteOamTables_64x64, gObjectEventImageAnimTable_Rayquaza2, gObjectEventPicTable_Rayquaza, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Zigzagoon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Pikachu, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Azumarill, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Wingull, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShadow = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Kecleon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_TuberMSwimming, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, gObjectEventSpriteOamTables_16x16, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Azurill, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Mom, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BrendanMayNormal, gObjectEventPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_BrendanMayNormal, gObjectEventPicTable_MayNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Juan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Scott, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_Statue, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Kirlia, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Dusclops, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red = {0xFFFF, OBJ_EVENT_PAL_TAG_RED_LEAF, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Red, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf = {0xFFFF, OBJ_EVENT_PAL_TAG_RED_LEAF, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Leaf, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Sudowoodo, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Mew, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys = {0xFFFF, OBJ_EVENT_PAL_TAG_DEOXYS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Deoxys, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone = {0xFFFF, OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Inanimate, gObjectEventPicTable_BirthIslandStone, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Anabel, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Tucker, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Greta, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Spenser, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Noland, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Lucy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Brandon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan = {0xFFFF, OBJ_EVENT_PAL_TAG_RS_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay = {0xFFFF, OBJ_EVENT_PAL_TAG_RS_MAY, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RubySapphireMay, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia = {0xFFFF, OBJ_EVENT_PAL_TAG_LUGIA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Lugia, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = {0xFFFF, OBJ_EVENT_PAL_TAG_HO_OH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_HoOh, gObjectEventPicTable_HoOh, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_BrendanSurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump = {0xFFFF, OBJ_EVENT_PAL_TAG_QUINTY_PLUMP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_QuintyPlump, sPicTable_QuintyPlump, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_NinjaBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Twin, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_LittleBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_LittleGirl, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RichBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_FatMan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PokefanF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ExpertM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ExpertF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PokefanM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman4, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Cook, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_LinkReceptionist, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_OldMan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_OldWoman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Camper, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Picnicker, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man3, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman5, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Youngster, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_BugCatcher, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PsychicM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SchoolKidM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Maniac, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_HexManiac, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Standard, sPicTable_RayquazaStill, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SwimmerM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SwimmerF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_BlackBelt, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Beauty, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scientist1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Lass, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Gentleman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sailor, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Fisherman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Hiker, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Nurse, sPicTable_Nurse, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ItemBall, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, NULL, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ProfBirch, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man4, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man5, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ReporterM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ReporterF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_CuttableTree, sPicTable_CuttableTree, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MartEmployee, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Teala, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_BreakableRock, sPicTable_BreakableRock, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PushableBoulder, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_MayAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_MaySurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_MayFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck = {0xFFFF, OBJ_EVENT_PAL_TAG_TRUCK, OBJ_EVENT_PAL_TAG_NONE, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_48x48, sAnimTable_Inanimate, sPicTable_Truck, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox = {0xFFFF, OBJ_EVENT_PAL_TAG_VIGOROTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway = {0xFFFF, OBJ_EVENT_PAL_TAG_VIGOROTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BirchsBag, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon = {0xFFFF, OBJ_EVENT_PAL_TAG_ZIGZAGOON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena = {0xFFFF, OBJ_EVENT_PAL_TAG_POOCHYENA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Poochyena, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Artist, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_BrendanSurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayMachBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_MayAcroBike, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_MaySurfing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_MayFieldMove, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Cameraman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater = {0xFFFF, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater = {0xFFFF, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayUnderwater, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox = {0xFFFF, OBJ_EVENT_PAL_TAG_MOVING_BOX, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MovingBox, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar = {0xFFFF, OBJ_EVENT_PAL_TAG_CABLE_CAR, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Inanimate, sPicTable_CableCar, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2 = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scientist2, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_DevonEmployee, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_AquaMemberM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_AquaMemberF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MagmaMemberM, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MagmaMemberF, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sidney, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Phoebe, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Glacia, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Drake, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Roxanne, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Brawly, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wattson, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Flannery, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Norman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Winona, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Liza, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Tate, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wallace, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Steven, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wally, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Fishing, sPicTable_BrendanFishing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Fishing, sPicTable_MayFishing, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal = {0xFFFF, OBJ_EVENT_PAL_TAG_SSTIDAL, OBJ_EVENT_PAL_TAG_NONE, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, sOamTables_96x40, sAnimTable_Standard, sPicTable_SSTidal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow = {0xFFFF, OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, OBJ_EVENT_PAL_TAG_NONE, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, sOamTables_88x32, sAnimTable_Standard, sPicTable_SubmarineShadow, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PichuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PikachuDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MarillDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TogepiDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TotodileDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MeowthDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ClefairyDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DittoDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SmoochumDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TreeckoDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TorchicDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MudkipDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DuskullDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_WynautDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BaltoyDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_KecleonDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_AzurillDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SkittyDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SwabluDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_GulpinDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_LotadDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SeedotDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PikaCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_RoundCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_KissCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ZigzagCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SpinCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DiamondCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BallCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_GrassCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_FireCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_WaterCushion, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_LatiasLatios, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_LatiasLatios, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_GameboyKid, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ContestJudge, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanWatering, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayWatering, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating = {0xFFFF, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_BrendanDecorating, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_MayDecorating, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Archie, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Maxie, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreFront, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_GroudonFront, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreSide, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_GroudonSide, sPicTable_GroudonSide, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_Fossil, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Skitty, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Kecleon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep = {0xFFFF, OBJ_EVENT_PAL_TAG_KYOGRE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreFront, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep = {0xFFFF, OBJ_EVENT_PAL_TAG_GROUDON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_GroudonFront, sAffineAnimTable_KyogreGroudon};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Rayquaza, sPicTable_Rayquaza, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Zigzagoon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Pikachu, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Azumarill, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Wingull, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShadow = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Kecleon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberMSwimming, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Azurill, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Mom, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay = {0xFFFF, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Juan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scott, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_Statue, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Kirlia, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Dusclops, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red = {0xFFFF, OBJ_EVENT_PAL_TAG_RED_LEAF, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Red, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf = {0xFFFF, OBJ_EVENT_PAL_TAG_RED_LEAF, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Leaf, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sudowoodo, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Mew, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys = {0xFFFF, OBJ_EVENT_PAL_TAG_DEOXYS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Deoxys, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone = {0xFFFF, OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BirthIslandStone, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Anabel, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Tucker, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Greta, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Spenser, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Noland, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Lucy, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon = {0xFFFF, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Brandon, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan = {0xFFFF, OBJ_EVENT_PAL_TAG_RS_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay = {0xFFFF, OBJ_EVENT_PAL_TAG_RS_MAY, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RubySapphireMay, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia = {0xFFFF, OBJ_EVENT_PAL_TAG_LUGIA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Lugia, gDummySpriteAffineAnimTable};
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = {0xFFFF, OBJ_EVENT_PAL_TAG_HO_OH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_HoOh, sPicTable_HoOh, gDummySpriteAffineAnimTable};
|
||||
|
||||
@@ -39,7 +39,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza1;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt;
|
||||
@@ -195,17 +195,17 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre1;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon1;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre2;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon2;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza2;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill;
|
||||
@@ -219,8 +219,8 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kyogre3;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Groudon3;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue;
|
||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia;
|
||||
@@ -288,7 +288,7 @@ const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM
|
||||
[OBJ_EVENT_GFX_SCHOOL_KID_M] = &gObjectEventGraphicsInfo_SchoolKidM,
|
||||
[OBJ_EVENT_GFX_MANIAC] = &gObjectEventGraphicsInfo_Maniac,
|
||||
[OBJ_EVENT_GFX_HEX_MANIAC] = &gObjectEventGraphicsInfo_HexManiac,
|
||||
[OBJ_EVENT_GFX_RAYQUAZA_1] = &gObjectEventGraphicsInfo_Rayquaza1,
|
||||
[OBJ_EVENT_GFX_RAYQUAZA_STILL] = &gObjectEventGraphicsInfo_RayquazaStill,
|
||||
[OBJ_EVENT_GFX_SWIMMER_M] = &gObjectEventGraphicsInfo_SwimmerM,
|
||||
[OBJ_EVENT_GFX_SWIMMER_F] = &gObjectEventGraphicsInfo_SwimmerF,
|
||||
[OBJ_EVENT_GFX_BLACK_BELT] = &gObjectEventGraphicsInfo_BlackBelt,
|
||||
@@ -444,17 +444,17 @@ const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM
|
||||
[OBJ_EVENT_GFX_MAY_DECORATING] = &gObjectEventGraphicsInfo_MayDecorating,
|
||||
[OBJ_EVENT_GFX_ARCHIE] = &gObjectEventGraphicsInfo_Archie,
|
||||
[OBJ_EVENT_GFX_MAXIE] = &gObjectEventGraphicsInfo_Maxie,
|
||||
[OBJ_EVENT_GFX_KYOGRE_1] = &gObjectEventGraphicsInfo_Kyogre1,
|
||||
[OBJ_EVENT_GFX_GROUDON_1] = &gObjectEventGraphicsInfo_Groudon1,
|
||||
[OBJ_EVENT_GFX_KYOGRE_FRONT] = &gObjectEventGraphicsInfo_KyogreFront,
|
||||
[OBJ_EVENT_GFX_GROUDON_FRONT] = &gObjectEventGraphicsInfo_GroudonFront,
|
||||
[OBJ_EVENT_GFX_FOSSIL] = &gObjectEventGraphicsInfo_Fossil,
|
||||
[OBJ_EVENT_GFX_REGIROCK] = &gObjectEventGraphicsInfo_Regirock,
|
||||
[OBJ_EVENT_GFX_REGICE] = &gObjectEventGraphicsInfo_Regice,
|
||||
[OBJ_EVENT_GFX_REGISTEEL] = &gObjectEventGraphicsInfo_Registeel,
|
||||
[OBJ_EVENT_GFX_SKITTY] = &gObjectEventGraphicsInfo_Skitty,
|
||||
[OBJ_EVENT_GFX_KECLEON] = &gObjectEventGraphicsInfo_Kecleon,
|
||||
[OBJ_EVENT_GFX_KYOGRE_2] = &gObjectEventGraphicsInfo_Kyogre2,
|
||||
[OBJ_EVENT_GFX_GROUDON_2] = &gObjectEventGraphicsInfo_Groudon2,
|
||||
[OBJ_EVENT_GFX_RAYQUAZA_2] = &gObjectEventGraphicsInfo_Rayquaza2,
|
||||
[OBJ_EVENT_GFX_KYOGRE_ASLEEP] = &gObjectEventGraphicsInfo_KyogreAsleep,
|
||||
[OBJ_EVENT_GFX_GROUDON_ASLEEP] = &gObjectEventGraphicsInfo_GroudonAsleep,
|
||||
[OBJ_EVENT_GFX_RAYQUAZA] = &gObjectEventGraphicsInfo_Rayquaza,
|
||||
[OBJ_EVENT_GFX_ZIGZAGOON_2] = &gObjectEventGraphicsInfo_Zigzagoon,
|
||||
[OBJ_EVENT_GFX_PIKACHU] = &gObjectEventGraphicsInfo_Pikachu,
|
||||
[OBJ_EVENT_GFX_AZUMARILL] = &gObjectEventGraphicsInfo_Azumarill,
|
||||
@@ -468,8 +468,8 @@ const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM
|
||||
[OBJ_EVENT_GFX_JUAN] = &gObjectEventGraphicsInfo_Juan,
|
||||
[OBJ_EVENT_GFX_SCOTT] = &gObjectEventGraphicsInfo_Scott,
|
||||
[OBJ_EVENT_GFX_POOCHYENA] = &gObjectEventGraphicsInfo_Poochyena,
|
||||
[OBJ_EVENT_GFX_KYOGRE_3] = &gObjectEventGraphicsInfo_Kyogre3,
|
||||
[OBJ_EVENT_GFX_GROUDON_3] = &gObjectEventGraphicsInfo_Groudon3,
|
||||
[OBJ_EVENT_GFX_KYOGRE_SIDE] = &gObjectEventGraphicsInfo_KyogreSide,
|
||||
[OBJ_EVENT_GFX_GROUDON_SIDE] = &gObjectEventGraphicsInfo_GroudonSide,
|
||||
[OBJ_EVENT_GFX_MYSTERY_GIFT_MAN] = &gObjectEventGraphicsInfo_MysteryEventDeliveryman,
|
||||
[OBJ_EVENT_GFX_TRICK_HOUSE_STATUE] = &gObjectEventGraphicsInfo_Statue,
|
||||
[OBJ_EVENT_GFX_KIRLIA] = &gObjectEventGraphicsInfo_Kirlia,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
const struct Subsprite gObjectEventSpriteOamTable_16x16_0[] = {
|
||||
static const struct Subsprite sOamTable_16x16_0[] = {
|
||||
{
|
||||
.x = -8,
|
||||
.y = -8,
|
||||
@@ -9,7 +9,7 @@ const struct Subsprite gObjectEventSpriteOamTable_16x16_0[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_16x16_1[] = {
|
||||
static const struct Subsprite sOamTable_16x16_1[] = {
|
||||
{
|
||||
.x = -8,
|
||||
.y = -8,
|
||||
@@ -20,7 +20,7 @@ const struct Subsprite gObjectEventSpriteOamTable_16x16_1[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_16x16_2[] = {
|
||||
static const struct Subsprite sOamTable_16x16_2[] = {
|
||||
{
|
||||
.x = -8,
|
||||
.y = -8,
|
||||
@@ -39,7 +39,7 @@ const struct Subsprite gObjectEventSpriteOamTable_16x16_2[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_16x16_3[] = {
|
||||
static const struct Subsprite sOamTable_16x16_3[] = {
|
||||
{
|
||||
.x = -8,
|
||||
.y = -8,
|
||||
@@ -58,7 +58,7 @@ const struct Subsprite gObjectEventSpriteOamTable_16x16_3[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_16x16_4[] = {
|
||||
static const struct Subsprite sOamTable_16x16_4[] = {
|
||||
{
|
||||
.x = -8,
|
||||
.y = -8,
|
||||
@@ -77,16 +77,16 @@ const struct Subsprite gObjectEventSpriteOamTable_16x16_4[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct SubspriteTable gObjectEventSpriteOamTables_16x16[] = {
|
||||
static const struct SubspriteTable sOamTables_16x16[] = {
|
||||
{0, NULL},
|
||||
{1, gObjectEventSpriteOamTable_16x16_0},
|
||||
{1, gObjectEventSpriteOamTable_16x16_1},
|
||||
{2, gObjectEventSpriteOamTable_16x16_2},
|
||||
{2, gObjectEventSpriteOamTable_16x16_3},
|
||||
{2, gObjectEventSpriteOamTable_16x16_4}
|
||||
{1, sOamTable_16x16_0},
|
||||
{1, sOamTable_16x16_1},
|
||||
{2, sOamTable_16x16_2},
|
||||
{2, sOamTable_16x16_3},
|
||||
{2, sOamTable_16x16_4}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_16x32_0[] = {
|
||||
static const struct Subsprite sOamTable_16x32_0[] = {
|
||||
{
|
||||
.x = -8,
|
||||
.y = -16,
|
||||
@@ -97,7 +97,7 @@ const struct Subsprite gObjectEventSpriteOamTable_16x32_0[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_16x32_1[] = {
|
||||
static const struct Subsprite sOamTable_16x32_1[] = {
|
||||
{
|
||||
.x = -8,
|
||||
.y = -16,
|
||||
@@ -108,7 +108,7 @@ const struct Subsprite gObjectEventSpriteOamTable_16x32_1[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_16x32_2[] = {
|
||||
static const struct Subsprite sOamTable_16x32_2[] = {
|
||||
{
|
||||
.x = -8,
|
||||
.y = -16,
|
||||
@@ -135,7 +135,7 @@ const struct Subsprite gObjectEventSpriteOamTable_16x32_2[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_16x32_3[] = {
|
||||
static const struct Subsprite sOamTable_16x32_3[] = {
|
||||
{
|
||||
.x = -8,
|
||||
.y = -16,
|
||||
@@ -154,7 +154,7 @@ const struct Subsprite gObjectEventSpriteOamTable_16x32_3[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_16x32_4[] = {
|
||||
static const struct Subsprite sOamTable_16x32_4[] = {
|
||||
{
|
||||
.x = -8,
|
||||
.y = -16,
|
||||
@@ -173,16 +173,16 @@ const struct Subsprite gObjectEventSpriteOamTable_16x32_4[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct SubspriteTable gObjectEventSpriteOamTables_16x32[] = {
|
||||
static const struct SubspriteTable sOamTables_16x32[] = {
|
||||
{0, NULL},
|
||||
{1, gObjectEventSpriteOamTable_16x32_0},
|
||||
{1, gObjectEventSpriteOamTable_16x32_1},
|
||||
{3, gObjectEventSpriteOamTable_16x32_2},
|
||||
{2, gObjectEventSpriteOamTable_16x32_3},
|
||||
{2, gObjectEventSpriteOamTable_16x32_4}
|
||||
{1, sOamTable_16x32_0},
|
||||
{1, sOamTable_16x32_1},
|
||||
{3, sOamTable_16x32_2},
|
||||
{2, sOamTable_16x32_3},
|
||||
{2, sOamTable_16x32_4}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_32x32_0[] = {
|
||||
static const struct Subsprite sOamTable_32x32_0[] = {
|
||||
{
|
||||
.x = -16,
|
||||
.y = -16,
|
||||
@@ -193,7 +193,7 @@ const struct Subsprite gObjectEventSpriteOamTable_32x32_0[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_32x32_1[] = {
|
||||
static const struct Subsprite sOamTable_32x32_1[] = {
|
||||
{
|
||||
.x = -16,
|
||||
.y = -16,
|
||||
@@ -204,7 +204,7 @@ const struct Subsprite gObjectEventSpriteOamTable_32x32_1[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_32x32_2[] = {
|
||||
static const struct Subsprite sOamTable_32x32_2[] = {
|
||||
{
|
||||
.x = -16,
|
||||
.y = -16,
|
||||
@@ -231,7 +231,7 @@ const struct Subsprite gObjectEventSpriteOamTable_32x32_2[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_32x32_3[] = {
|
||||
static const struct Subsprite sOamTable_32x32_3[] = {
|
||||
{
|
||||
.x = -16,
|
||||
.y = -16,
|
||||
@@ -250,7 +250,7 @@ const struct Subsprite gObjectEventSpriteOamTable_32x32_3[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_32x32_4[] = {
|
||||
static const struct Subsprite sOamTable_32x32_4[] = {
|
||||
{
|
||||
.x = -16,
|
||||
.y = -16,
|
||||
@@ -269,16 +269,16 @@ const struct Subsprite gObjectEventSpriteOamTable_32x32_4[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct SubspriteTable gObjectEventSpriteOamTables_32x32[] = {
|
||||
static const struct SubspriteTable sOamTables_32x32[] = {
|
||||
{0, NULL},
|
||||
{1, gObjectEventSpriteOamTable_32x32_0},
|
||||
{1, gObjectEventSpriteOamTable_32x32_1},
|
||||
{3, gObjectEventSpriteOamTable_32x32_2},
|
||||
{2, gObjectEventSpriteOamTable_32x32_3},
|
||||
{2, gObjectEventSpriteOamTable_32x32_4}
|
||||
{1, sOamTable_32x32_0},
|
||||
{1, sOamTable_32x32_1},
|
||||
{3, sOamTable_32x32_2},
|
||||
{2, sOamTable_32x32_3},
|
||||
{2, sOamTable_32x32_4}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_48x48[] = {
|
||||
static const struct Subsprite sOamTable_48x48[] = {
|
||||
{
|
||||
.x = -24,
|
||||
.y = -24,
|
||||
@@ -377,16 +377,16 @@ const struct Subsprite gObjectEventSpriteOamTable_48x48[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct SubspriteTable gObjectEventSpriteOamTables_48x48[] = {
|
||||
{12, gObjectEventSpriteOamTable_48x48},
|
||||
{12, gObjectEventSpriteOamTable_48x48},
|
||||
{12, gObjectEventSpriteOamTable_48x48},
|
||||
{12, gObjectEventSpriteOamTable_48x48},
|
||||
{12, gObjectEventSpriteOamTable_48x48},
|
||||
{12, gObjectEventSpriteOamTable_48x48}
|
||||
static const struct SubspriteTable sOamTables_48x48[] = {
|
||||
{12, sOamTable_48x48},
|
||||
{12, sOamTable_48x48},
|
||||
{12, sOamTable_48x48},
|
||||
{12, sOamTable_48x48},
|
||||
{12, sOamTable_48x48},
|
||||
{12, sOamTable_48x48}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_64x32_0[] = {
|
||||
static const struct Subsprite sOamTable_64x32_0[] = {
|
||||
{
|
||||
.x = -32,
|
||||
.y = -16,
|
||||
@@ -397,7 +397,7 @@ const struct Subsprite gObjectEventSpriteOamTable_64x32_0[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_64x32_1[] = {
|
||||
static const struct Subsprite sOamTable_64x32_1[] = {
|
||||
{
|
||||
.x = -32,
|
||||
.y = -16,
|
||||
@@ -408,7 +408,7 @@ const struct Subsprite gObjectEventSpriteOamTable_64x32_1[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_64x32_2[] = {
|
||||
static const struct Subsprite sOamTable_64x32_2[] = {
|
||||
{
|
||||
.x = -32,
|
||||
.y = -16,
|
||||
@@ -419,7 +419,7 @@ const struct Subsprite gObjectEventSpriteOamTable_64x32_2[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_64x32_3[] = {
|
||||
static const struct Subsprite sOamTable_64x32_3[] = {
|
||||
{
|
||||
.x = -32,
|
||||
.y = -16,
|
||||
@@ -431,16 +431,16 @@ const struct Subsprite gObjectEventSpriteOamTable_64x32_3[] = {
|
||||
};
|
||||
|
||||
// Unused
|
||||
const struct SubspriteTable gObjectEventSpriteOamTables_64x32[] = {
|
||||
static const struct SubspriteTable sOamTables_64x32[] = {
|
||||
{0, NULL},
|
||||
{1, gObjectEventSpriteOamTable_64x32_0},
|
||||
{1, gObjectEventSpriteOamTable_64x32_1},
|
||||
{1, gObjectEventSpriteOamTable_64x32_2},
|
||||
{1, gObjectEventSpriteOamTable_64x32_3},
|
||||
{1, gObjectEventSpriteOamTable_64x32_3}
|
||||
{1, sOamTable_64x32_0},
|
||||
{1, sOamTable_64x32_1},
|
||||
{1, sOamTable_64x32_2},
|
||||
{1, sOamTable_64x32_3},
|
||||
{1, sOamTable_64x32_3}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_64x64_0[] = {
|
||||
static const struct Subsprite sOamTable_64x64_0[] = {
|
||||
{
|
||||
.x = -32,
|
||||
.y = -32,
|
||||
@@ -451,7 +451,7 @@ const struct Subsprite gObjectEventSpriteOamTable_64x64_0[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_64x64_1[] = {
|
||||
static const struct Subsprite sOamTable_64x64_1[] = {
|
||||
{
|
||||
.x = -32,
|
||||
.y = -32,
|
||||
@@ -462,7 +462,7 @@ const struct Subsprite gObjectEventSpriteOamTable_64x64_1[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_64x64_2[] = {
|
||||
static const struct Subsprite sOamTable_64x64_2[] = {
|
||||
{
|
||||
.x = -32,
|
||||
.y = -32,
|
||||
@@ -473,7 +473,7 @@ const struct Subsprite gObjectEventSpriteOamTable_64x64_2[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_64x64_3[] = {
|
||||
static const struct Subsprite sOamTable_64x64_3[] = {
|
||||
{
|
||||
.x = -32,
|
||||
.y = -32,
|
||||
@@ -484,16 +484,16 @@ const struct Subsprite gObjectEventSpriteOamTable_64x64_3[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct SubspriteTable gObjectEventSpriteOamTables_64x64[] = {
|
||||
static const struct SubspriteTable sOamTables_64x64[] = {
|
||||
{0, NULL},
|
||||
{1, gObjectEventSpriteOamTable_64x64_0},
|
||||
{1, gObjectEventSpriteOamTable_64x64_1},
|
||||
{1, gObjectEventSpriteOamTable_64x64_2},
|
||||
{1, gObjectEventSpriteOamTable_64x64_3},
|
||||
{1, gObjectEventSpriteOamTable_64x64_3}
|
||||
{1, sOamTable_64x64_0},
|
||||
{1, sOamTable_64x64_1},
|
||||
{1, sOamTable_64x64_2},
|
||||
{1, sOamTable_64x64_3},
|
||||
{1, sOamTable_64x64_3}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_96x40_0[] = {
|
||||
static const struct Subsprite sOamTable_96x40_0[] = {
|
||||
{
|
||||
.x = -48,
|
||||
.y = -20,
|
||||
@@ -616,7 +616,7 @@ const struct Subsprite gObjectEventSpriteOamTable_96x40_0[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_96x40_1[] = {
|
||||
static const struct Subsprite sOamTable_96x40_1[] = {
|
||||
{
|
||||
.x = -48,
|
||||
.y = -20,
|
||||
@@ -739,7 +739,7 @@ const struct Subsprite gObjectEventSpriteOamTable_96x40_1[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_96x40_2[] = {
|
||||
static const struct Subsprite sOamTable_96x40_2[] = {
|
||||
{
|
||||
.x = -48,
|
||||
.y = -20,
|
||||
@@ -862,7 +862,7 @@ const struct Subsprite gObjectEventSpriteOamTable_96x40_2[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_96x40_3[] = {
|
||||
static const struct Subsprite sOamTable_96x40_3[] = {
|
||||
{
|
||||
.x = -48,
|
||||
.y = -20,
|
||||
@@ -986,16 +986,16 @@ const struct Subsprite gObjectEventSpriteOamTable_96x40_3[] = {
|
||||
};
|
||||
|
||||
// Used by SS Tidal
|
||||
const struct SubspriteTable gObjectEventSpriteOamTables_96x40[] = {
|
||||
{15, gObjectEventSpriteOamTable_96x40_0},
|
||||
{15, gObjectEventSpriteOamTable_96x40_0},
|
||||
{15, gObjectEventSpriteOamTable_96x40_1},
|
||||
{15, gObjectEventSpriteOamTable_96x40_2},
|
||||
{15, gObjectEventSpriteOamTable_96x40_3},
|
||||
{15, gObjectEventSpriteOamTable_96x40_3}
|
||||
static const struct SubspriteTable sOamTables_96x40[] = {
|
||||
{15, sOamTable_96x40_0},
|
||||
{15, sOamTable_96x40_0},
|
||||
{15, sOamTable_96x40_1},
|
||||
{15, sOamTable_96x40_2},
|
||||
{15, sOamTable_96x40_3},
|
||||
{15, sOamTable_96x40_3}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_88x32_0[] = {
|
||||
static const struct Subsprite sOamTable_88x32_0[] = {
|
||||
{
|
||||
.x = -48,
|
||||
.y = -20,
|
||||
@@ -1126,7 +1126,7 @@ const struct Subsprite gObjectEventSpriteOamTable_88x32_0[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_88x32_1[] = {
|
||||
static const struct Subsprite sOamTable_88x32_1[] = {
|
||||
{
|
||||
.x = -48,
|
||||
.y = -20,
|
||||
@@ -1257,7 +1257,7 @@ const struct Subsprite gObjectEventSpriteOamTable_88x32_1[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_88x32_2[] = {
|
||||
static const struct Subsprite sOamTable_88x32_2[] = {
|
||||
{
|
||||
.x = -48,
|
||||
.y = -20,
|
||||
@@ -1388,7 +1388,7 @@ const struct Subsprite gObjectEventSpriteOamTable_88x32_2[] = {
|
||||
}
|
||||
};
|
||||
|
||||
const struct Subsprite gObjectEventSpriteOamTable_88x32_3[] = {
|
||||
static const struct Subsprite sOamTable_88x32_3[] = {
|
||||
{
|
||||
.x = -48,
|
||||
.y = -20,
|
||||
@@ -1520,11 +1520,11 @@ const struct Subsprite gObjectEventSpriteOamTable_88x32_3[] = {
|
||||
};
|
||||
|
||||
// Used by Submarine Shadow
|
||||
const struct SubspriteTable gObjectEventSpriteOamTables_88x32[] = {
|
||||
{16, gObjectEventSpriteOamTable_88x32_0},
|
||||
{16, gObjectEventSpriteOamTable_88x32_0},
|
||||
{16, gObjectEventSpriteOamTable_88x32_1},
|
||||
{16, gObjectEventSpriteOamTable_88x32_2},
|
||||
{16, gObjectEventSpriteOamTable_88x32_3},
|
||||
{16, gObjectEventSpriteOamTable_88x32_3}
|
||||
static const struct SubspriteTable sOamTables_88x32[] = {
|
||||
{16, sOamTable_88x32_0},
|
||||
{16, sOamTable_88x32_0},
|
||||
{16, sOamTable_88x32_1},
|
||||
{16, sOamTable_88x32_2},
|
||||
{16, sOamTable_88x32_3},
|
||||
{16, sOamTable_88x32_3}
|
||||
};
|
||||
|
||||
@@ -118,12 +118,12 @@ static const u32 sCancelButton_Tilemap[] = INCBIN_U32("graphics/interface/party_
|
||||
// Text colors for BG, FG, and Shadow in that order
|
||||
static const u8 sFontColorTable[][3] =
|
||||
{
|
||||
{TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_DARK_GREY}, // Default
|
||||
{TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GRAY, TEXT_COLOR_DARK_GRAY}, // Default
|
||||
{TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_GREEN}, // Unused
|
||||
{TEXT_COLOR_TRANSPARENT, TEXT_DYNAMIC_COLOR_2, TEXT_DYNAMIC_COLOR_3}, // Gender symbol
|
||||
{TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY}, // Selection actions
|
||||
{TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY}, // Selection actions
|
||||
{TEXT_COLOR_WHITE, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_BLUE}, // Field moves
|
||||
{TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY}, // Unused
|
||||
{TEXT_COLOR_TRANSPARENT, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY}, // Unused
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sSinglePartyMenuWindowTemplate[] =
|
||||
|
||||
+5
-5
@@ -15,7 +15,7 @@ static const u16 sTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_
|
||||
static const u8 sTradeStripesBG2Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg2_map.bin");
|
||||
static const u8 sTradeStripesBG3Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg3_map.bin");
|
||||
static const u8 sText_EmptyString[] = _("");
|
||||
static const u8 sText_UnusedTextFormat[] = _("{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}");
|
||||
static const u8 sText_UnusedTextFormat[] = _("{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GRAY}");
|
||||
const u8 gText_MaleSymbol4[] = _("♂");
|
||||
const u8 gText_FemaleSymbol4[] = _("♀");
|
||||
const u8 gText_GenderlessSymbol[] = _("");
|
||||
@@ -35,10 +35,10 @@ static const u8 sText_CancelTrade[] = _("Cancel trade?");
|
||||
static const u8 sJPText_PressBButtonToQuit[] = _("Bボタン で もどります");
|
||||
static const u8 sText_Summary2[] = _("SUMMARY");
|
||||
static const u8 sText_Trade2[] = _("TRADE");
|
||||
static const u8 sText_CommunicationStandby[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait.");
|
||||
static const u8 sText_TheTradeHasBeenCanceled[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled.");
|
||||
static const u8 sText_CommunicationStandby[] = _("{COLOR DARK_GRAY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GRAY}Communication standby…\nPlease wait.");
|
||||
static const u8 sText_TheTradeHasBeenCanceled[] = _("{COLOR DARK_GRAY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GRAY}The trade has\nbeen canceled.");
|
||||
static const u8 sText_OnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle.");
|
||||
static const u8 sText_WaitingForYourFriend[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…");
|
||||
static const u8 sText_WaitingForYourFriend[] = _("{COLOR DARK_GRAY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GRAY}Waiting for your friend\nto finish…");
|
||||
static const u8 sText_YourFriendWantsToTrade[] = _("Your friend wants\nto trade POKéMON.");
|
||||
|
||||
static const struct OamData sTradeOamData_32x16 =
|
||||
@@ -392,7 +392,7 @@ static const u8 sTradeTextColors[] =
|
||||
{
|
||||
TEXT_COLOR_TRANSPARENT, //bg color
|
||||
TEXT_COLOR_WHITE, //fg color
|
||||
TEXT_COLOR_DARK_GREY //shadow color
|
||||
TEXT_COLOR_DARK_GRAY //shadow color
|
||||
};
|
||||
|
||||
static const struct BgTemplate sTradeMenuBgTemplates[] =
|
||||
|
||||
+1
-1
@@ -121,7 +121,7 @@ static void Task_DiplomaFadeOut(u8 taskId)
|
||||
Free(sDiplomaTilemapPtr);
|
||||
FreeAllWindowBuffers();
|
||||
DestroyTask(taskId);
|
||||
SetMainCallback2(sub_80861E8);
|
||||
SetMainCallback2(CB2_ReturnToFieldFadeFromBlack);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4500,7 +4500,7 @@ struct WinCoords
|
||||
};
|
||||
|
||||
enum {
|
||||
COLORID_GREY,
|
||||
COLORID_GRAY,
|
||||
COLORID_RED,
|
||||
COLORID_BLUE,
|
||||
COLORID_GREEN, // Unused
|
||||
@@ -4508,7 +4508,7 @@ enum {
|
||||
|
||||
static const u8 sTextColorTable[][3] =
|
||||
{
|
||||
[COLORID_GREY] = {TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY},
|
||||
[COLORID_GRAY] = {TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY},
|
||||
[COLORID_RED] = {TEXT_COLOR_WHITE, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED},
|
||||
[COLORID_BLUE] = {TEXT_COLOR_WHITE, TEXT_COLOR_BLUE, TEXT_COLOR_LIGHT_BLUE},
|
||||
[COLORID_GREEN] = {TEXT_COLOR_WHITE, TEXT_COLOR_GREEN, TEXT_COLOR_LIGHT_GREEN},
|
||||
@@ -4638,7 +4638,7 @@ static void ShowNames(void)
|
||||
window.baseBlock = 0x13;
|
||||
for (i = 0; i < numPlayers; coords++, i++)
|
||||
{
|
||||
colorsId = COLORID_GREY;
|
||||
colorsId = COLORID_GRAY;
|
||||
playerId = GetPlayerIdByPos(i);
|
||||
left = (56 - GetStringWidth(1, GetPlayerName(playerId), -1)) / 2u;
|
||||
window.tilemapLeft = coords->left;
|
||||
@@ -4729,7 +4729,7 @@ static void PrintRankedScores(u8 numPlayers_)
|
||||
x = 216 - GetStringWidth(1, gText_SpacePoints, 0);
|
||||
for (i = 0; i < numPlayers; i++)
|
||||
{
|
||||
u8 colorsId = COLORID_GREY;
|
||||
u8 colorsId = COLORID_GRAY;
|
||||
u8 playerId = playersByRanking[i];
|
||||
u32 points = scoreResults[playerId].score;
|
||||
|
||||
@@ -4776,7 +4776,7 @@ static void ShowResults(void)
|
||||
AddTextPrinterParameterized(sGfx->windowIds[1], 1, gText_10P30P50P50P, 68, 17, -1, NULL);
|
||||
for (i = 0; i < numPlayers; i++)
|
||||
{
|
||||
u8 colorsId = COLORID_GREY;
|
||||
u8 colorsId = COLORID_GRAY;
|
||||
if (i == GetMultiplayerId())
|
||||
colorsId = COLORID_BLUE;
|
||||
|
||||
|
||||
+2
-2
@@ -3932,7 +3932,7 @@ static void PrintTitle(void)
|
||||
|
||||
xOffset = GetStringCenterAlignXOffset(1, titleText, 144);
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||
PrintEasyChatTextWithColors(0, 1, titleText, xOffset, 1, TEXT_SPEED_FF, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GREY, TEXT_COLOR_LIGHT_GREY);
|
||||
PrintEasyChatTextWithColors(0, 1, titleText, xOffset, 1, TEXT_SPEED_FF, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY);
|
||||
PutWindowTilemap(0);
|
||||
CopyWindowToVram(0, 3);
|
||||
}
|
||||
@@ -4330,7 +4330,7 @@ static void PrintWordSelectText(u8 scrollOffset, u8 numRows)
|
||||
if (!DummyWordCheck(easyChatWord))
|
||||
PrintEasyChatText(2, 1, sScreenControl->wordSelectPrintBuffer, (j * 13 + 3) * 8, y, TEXT_SPEED_FF, NULL);
|
||||
else // Never reached
|
||||
PrintEasyChatTextWithColors(2, 1, sScreenControl->wordSelectPrintBuffer, (j * 13 + 3) * 8, y, TEXT_SPEED_FF, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_RED, TEXT_COLOR_LIGHT_GREY);
|
||||
PrintEasyChatTextWithColors(2, 1, sScreenControl->wordSelectPrintBuffer, (j * 13 + 3) * 8, y, TEXT_SPEED_FF, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_RED, TEXT_COLOR_LIGHT_GRAY);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+952
-979
File diff suppressed because it is too large
Load Diff
+7
-7
@@ -39,7 +39,7 @@ static void CameraPanningCB_PanAhead(void);
|
||||
static struct FieldCameraOffset sFieldCameraOffset;
|
||||
static s16 sHorizontalCameraPan;
|
||||
static s16 sVerticalCameraPan;
|
||||
static bool8 gUnknown_03000E2C;
|
||||
static bool8 sBikeCameraPanFlag;
|
||||
static void (*sFieldCameraPanningCallback)(void);
|
||||
|
||||
struct CameraObject gFieldCamera;
|
||||
@@ -89,7 +89,7 @@ void FieldUpdateBgTilemapScroll(void)
|
||||
SetGpuReg(REG_OFFSET_BG3VOFS, r4);
|
||||
}
|
||||
|
||||
void sub_8089C08(s16 *x, s16 *y)
|
||||
void GetCameraOffsetWithPan(s16 *x, s16 *y)
|
||||
{
|
||||
*x = sFieldCameraOffset.xPixelOffset + sHorizontalCameraPan;
|
||||
*y = sFieldCameraOffset.yPixelOffset + sVerticalCameraPan + 8;
|
||||
@@ -450,7 +450,7 @@ void SetCameraPanning(s16 a, s16 b)
|
||||
void InstallCameraPanAheadCallback(void)
|
||||
{
|
||||
sFieldCameraPanningCallback = CameraPanningCB_PanAhead;
|
||||
gUnknown_03000E2C = FALSE;
|
||||
sBikeCameraPanFlag = FALSE;
|
||||
sHorizontalCameraPan = 0;
|
||||
sVerticalCameraPan = 32;
|
||||
}
|
||||
@@ -474,16 +474,16 @@ static void CameraPanningCB_PanAhead(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
// this code is never reached.
|
||||
// this code is never reached
|
||||
if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION)
|
||||
{
|
||||
gUnknown_03000E2C ^= 1;
|
||||
if (gUnknown_03000E2C == FALSE)
|
||||
sBikeCameraPanFlag ^= 1;
|
||||
if (sBikeCameraPanFlag == FALSE)
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
gUnknown_03000E2C = FALSE;
|
||||
sBikeCameraPanFlag = FALSE;
|
||||
}
|
||||
|
||||
var = GetPlayerMovementDirection();
|
||||
|
||||
+5
-5
@@ -3053,7 +3053,7 @@ static void SurfFieldEffect_End(struct Task *task)
|
||||
gPlayerAvatar.preventStep = FALSE;
|
||||
gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_5;
|
||||
ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(objectEvent->movementDirection));
|
||||
SetSurfBobState(objectEvent->fieldEffectSpriteId, 1);
|
||||
SetSurfBlob_BobState(objectEvent->fieldEffectSpriteId, BOB_PLAYER_AND_MON);
|
||||
UnfreezeObjectEvents();
|
||||
ScriptContext2_Disable();
|
||||
FieldEffectActiveListRemove(FLDEFF_USE_SURF);
|
||||
@@ -3204,8 +3204,8 @@ static void FlyOutFieldEffect_BirdLeaveBall(struct Task *task)
|
||||
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
if (task->tAvatarFlags & PLAYER_AVATAR_FLAG_SURFING)
|
||||
{
|
||||
SetSurfBobState(objectEvent->fieldEffectSpriteId, 2);
|
||||
SetSurfBobWhileFlyingOutState(objectEvent->fieldEffectSpriteId, 0);
|
||||
SetSurfBlob_BobState(objectEvent->fieldEffectSpriteId, BOB_JUST_MON);
|
||||
SetSurfBlob_DontSyncAnim(objectEvent->fieldEffectSpriteId, FALSE);
|
||||
}
|
||||
task->tBirdSpriteId = CreateFlyBirdSprite(); // Does "leave ball" animation by default
|
||||
task->tState++;
|
||||
@@ -3473,7 +3473,7 @@ static void FlyInFieldEffect_BirdSwoopDown(struct Task *task)
|
||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT);
|
||||
if (task->tAvatarFlags & PLAYER_AVATAR_FLAG_SURFING)
|
||||
{
|
||||
SetSurfBobState(objectEvent->fieldEffectSpriteId, 0);
|
||||
SetSurfBlob_BobState(objectEvent->fieldEffectSpriteId, BOB_NONE);
|
||||
}
|
||||
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING));
|
||||
CameraObjectReset2();
|
||||
@@ -3582,7 +3582,7 @@ static void FlyInFieldEffect_End(struct Task *task)
|
||||
if (task->tAvatarFlags & PLAYER_AVATAR_FLAG_SURFING)
|
||||
{
|
||||
state = PLAYER_AVATAR_STATE_SURFING;
|
||||
SetSurfBobState(objectEvent->fieldEffectSpriteId, 1);
|
||||
SetSurfBlob_BobState(objectEvent->fieldEffectSpriteId, BOB_PLAYER_AND_MON);
|
||||
}
|
||||
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(state));
|
||||
ObjectEventTurn(objectEvent, DIR_SOUTH);
|
||||
|
||||
+283
-194
@@ -19,19 +19,22 @@ static void UpdateObjectReflectionSprite(struct Sprite *);
|
||||
static void LoadObjectReflectionPalette(struct ObjectEvent *objectEvent, struct Sprite *sprite);
|
||||
static void LoadObjectHighBridgeReflectionPalette(struct ObjectEvent *, u8);
|
||||
static void LoadObjectRegularReflectionPalette(struct ObjectEvent *, u8);
|
||||
static void sub_81561FC(struct Sprite *, u8, u8);
|
||||
static void UpdateGrassFieldEffectSubpriority(struct Sprite *, u8, u8);
|
||||
static void FadeFootprintsTireTracks_Step0(struct Sprite *);
|
||||
static void FadeFootprintsTireTracks_Step1(struct Sprite *);
|
||||
static void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *);
|
||||
static void UpdateAshFieldEffect_Step0(struct Sprite *);
|
||||
static void UpdateAshFieldEffect_Step1(struct Sprite *);
|
||||
static void UpdateAshFieldEffect_Step2(struct Sprite *);
|
||||
static void UpdateAshFieldEffect_Wait(struct Sprite *);
|
||||
static void UpdateAshFieldEffect_Show(struct Sprite *);
|
||||
static void UpdateAshFieldEffect_End(struct Sprite *);
|
||||
static void SynchroniseSurfAnim(struct ObjectEvent *, struct Sprite *);
|
||||
static void sub_81556E8(struct ObjectEvent *, struct Sprite *);
|
||||
static void CreateBobbingEffect(struct ObjectEvent *, struct Sprite *, struct Sprite *);
|
||||
static void sub_8155850(struct Sprite *);
|
||||
static void SynchroniseSurfPosition(struct ObjectEvent *, struct Sprite *);
|
||||
static void UpdateBobbingEffect(struct ObjectEvent *, struct Sprite *, struct Sprite *);
|
||||
static void SpriteCB_UnderwaterSurfBlob(struct Sprite *);
|
||||
static u32 ShowDisguiseFieldEffect(u8, u8, u8);
|
||||
|
||||
// Used by several field effects to determine which of a group it is
|
||||
#define sFldEff data[1]
|
||||
|
||||
#define sReflectionObjEventId data[0]
|
||||
#define sReflectionObjEventLocalId data[1]
|
||||
#define sReflectionVerticalOffset data[2]
|
||||
@@ -273,6 +276,16 @@ void UpdateShadowFieldEffect(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
// Sprite data for FLDEFF_TALL_GRASS and FLDEFF_LONG_GRASS
|
||||
#define sElevation data[0]
|
||||
#define sX data[1]
|
||||
#define sY data[2]
|
||||
#define sMapNum data[3] // Lower 8 bits
|
||||
#define sLocalId data[3] >> 8 // Upper 8 bits
|
||||
#define sMapGroup data[4]
|
||||
#define sCurrentMap data[5]
|
||||
#define sObjectMoved data[7]
|
||||
|
||||
u32 FldEff_TallGrass(void)
|
||||
{
|
||||
s16 x;
|
||||
@@ -289,16 +302,15 @@ u32 FldEff_TallGrass(void)
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
sprite->oam.priority = gFieldEffectArguments[3];
|
||||
sprite->data[0] = gFieldEffectArguments[2];
|
||||
sprite->data[1] = gFieldEffectArguments[0];
|
||||
sprite->data[2] = gFieldEffectArguments[1];
|
||||
sprite->data[3] = gFieldEffectArguments[4];
|
||||
sprite->data[4] = gFieldEffectArguments[5];
|
||||
sprite->data[5] = gFieldEffectArguments[6];
|
||||
sprite->sElevation = gFieldEffectArguments[2];
|
||||
sprite->sX = gFieldEffectArguments[0];
|
||||
sprite->sY = gFieldEffectArguments[1];
|
||||
sprite->sMapNum = gFieldEffectArguments[4]; // Also sLocalId
|
||||
sprite->sMapGroup = gFieldEffectArguments[5];
|
||||
sprite->sCurrentMap = gFieldEffectArguments[6];
|
||||
|
||||
if (gFieldEffectArguments[7])
|
||||
{
|
||||
SeekSpriteAnim(sprite, 4);
|
||||
}
|
||||
SeekSpriteAnim(sprite, 4); // Skip to end of anim
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -312,34 +324,42 @@ void UpdateTallGrassFieldEffect(struct Sprite *sprite)
|
||||
u8 objectEventId;
|
||||
struct ObjectEvent *objectEvent;
|
||||
|
||||
mapNum = sprite->data[5] >> 8;
|
||||
mapGroup = sprite->data[5];
|
||||
mapNum = sprite->sCurrentMap >> 8;
|
||||
mapGroup = sprite->sCurrentMap;
|
||||
if (gCamera.active && (gSaveBlock1Ptr->location.mapNum != mapNum || gSaveBlock1Ptr->location.mapGroup != mapGroup))
|
||||
{
|
||||
sprite->data[1] -= gCamera.x;
|
||||
sprite->data[2] -= gCamera.y;
|
||||
sprite->data[5] = ((u8)gSaveBlock1Ptr->location.mapNum << 8) | (u8)gSaveBlock1Ptr->location.mapGroup;
|
||||
sprite->sX -= gCamera.x;
|
||||
sprite->sY -= gCamera.y;
|
||||
sprite->sCurrentMap = ((u8)gSaveBlock1Ptr->location.mapNum << 8) | (u8)gSaveBlock1Ptr->location.mapGroup;
|
||||
}
|
||||
localId = sprite->data[3] >> 8;
|
||||
mapNum = sprite->data[3];
|
||||
mapGroup = sprite->data[4];
|
||||
metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data[1], sprite->data[2]);
|
||||
if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId) || !MetatileBehavior_IsTallGrass(metatileBehavior) || (sprite->data[7] && sprite->animEnded))
|
||||
localId = sprite->sLocalId;
|
||||
mapNum = sprite->sMapNum;
|
||||
mapGroup = sprite->sMapGroup;
|
||||
metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->sX, sprite->sY);
|
||||
|
||||
if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)
|
||||
|| !MetatileBehavior_IsTallGrass(metatileBehavior)
|
||||
|| (sprite->sObjectMoved && sprite->animEnded))
|
||||
{
|
||||
FieldEffectStop(sprite, FLDEFF_TALL_GRASS);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Check if the object that triggered the effect has moved away
|
||||
objectEvent = &gObjectEvents[objectEventId];
|
||||
if ((objectEvent->currentCoords.x != sprite->data[1] || objectEvent->currentCoords.y != sprite->data[2]) && (objectEvent->previousCoords.x != sprite->data[1] || objectEvent->previousCoords.y != sprite->data[2]))
|
||||
sprite->data[7] = TRUE;
|
||||
if ((objectEvent->currentCoords.x != sprite->sX
|
||||
|| objectEvent->currentCoords.y != sprite->sY)
|
||||
&& (objectEvent->previousCoords.x != sprite->sX
|
||||
|| objectEvent->previousCoords.y != sprite->sY))
|
||||
sprite->sObjectMoved = TRUE;
|
||||
|
||||
// Metatile behavior var re-used
|
||||
metatileBehavior = 0;
|
||||
if (sprite->animCmdIndex == 0)
|
||||
metatileBehavior = 4;
|
||||
|
||||
UpdateObjectEventSpriteVisibility(sprite, 0);
|
||||
sub_81561FC(sprite, sprite->data[0], metatileBehavior);
|
||||
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
|
||||
UpdateGrassFieldEffectSubpriority(sprite, sprite->sElevation, metatileBehavior);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -355,8 +375,8 @@ u32 FldEff_JumpTallGrass(void)
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
sprite->oam.priority = gFieldEffectArguments[3];
|
||||
sprite->data[0] = gFieldEffectArguments[2];
|
||||
sprite->data[1] = FLDEFF_JUMP_TALL_GRASS;
|
||||
sprite->sElevation = gFieldEffectArguments[2];
|
||||
sprite->sFldEff = FLDEFF_JUMP_TALL_GRASS;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -371,11 +391,14 @@ u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s
|
||||
if (gSprites[i].inUse)
|
||||
{
|
||||
sprite = &gSprites[i];
|
||||
if (sprite->callback == UpdateTallGrassFieldEffect && (x == sprite->data[1] && y == sprite->data[2]) && (localId == (u8)(sprite->data[3] >> 8) && mapNum == (sprite->data[3] & 0xFF) && mapGroup == sprite->data[4]))
|
||||
if (sprite->callback == UpdateTallGrassFieldEffect
|
||||
&& (x == sprite->sX && y == sprite->sY)
|
||||
&& localId == (u8)(sprite->sLocalId)
|
||||
&& mapNum == (sprite->sMapNum & 0xFF)
|
||||
&& mapGroup == sprite->sMapGroup)
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return MAX_SPRITES;
|
||||
}
|
||||
|
||||
@@ -395,16 +418,15 @@ u32 FldEff_LongGrass(void)
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
sprite->oam.priority = ZCoordToPriority(gFieldEffectArguments[2]);
|
||||
sprite->data[0] = gFieldEffectArguments[2];
|
||||
sprite->data[1] = gFieldEffectArguments[0];
|
||||
sprite->data[2] = gFieldEffectArguments[1];
|
||||
sprite->data[3] = gFieldEffectArguments[4];
|
||||
sprite->data[4] = gFieldEffectArguments[5];
|
||||
sprite->data[5] = gFieldEffectArguments[6];
|
||||
sprite->sElevation = gFieldEffectArguments[2];
|
||||
sprite->sX = gFieldEffectArguments[0];
|
||||
sprite->sY = gFieldEffectArguments[1];
|
||||
sprite->sMapNum = gFieldEffectArguments[4]; // Also sLocalId
|
||||
sprite->sMapGroup = gFieldEffectArguments[5];
|
||||
sprite->sCurrentMap = gFieldEffectArguments[6];
|
||||
|
||||
if (gFieldEffectArguments[7])
|
||||
{
|
||||
SeekSpriteAnim(sprite, 6);
|
||||
}
|
||||
SeekSpriteAnim(sprite, 6); // Skip to end of anim
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -418,34 +440,47 @@ void UpdateLongGrassFieldEffect(struct Sprite *sprite)
|
||||
u8 objectEventId;
|
||||
struct ObjectEvent *objectEvent;
|
||||
|
||||
mapNum = sprite->data[5] >> 8;
|
||||
mapGroup = sprite->data[5];
|
||||
mapNum = sprite->sCurrentMap >> 8;
|
||||
mapGroup = sprite->sCurrentMap;
|
||||
if (gCamera.active && (gSaveBlock1Ptr->location.mapNum != mapNum || gSaveBlock1Ptr->location.mapGroup != mapGroup))
|
||||
{
|
||||
sprite->data[1] -= gCamera.x;
|
||||
sprite->data[2] -= gCamera.y;
|
||||
sprite->data[5] = ((u8)gSaveBlock1Ptr->location.mapNum << 8) | (u8)gSaveBlock1Ptr->location.mapGroup;
|
||||
sprite->sX -= gCamera.x;
|
||||
sprite->sY -= gCamera.y;
|
||||
sprite->sCurrentMap = ((u8)gSaveBlock1Ptr->location.mapNum << 8) | (u8)gSaveBlock1Ptr->location.mapGroup;
|
||||
}
|
||||
localId = sprite->data[3] >> 8;
|
||||
mapNum = sprite->data[3];
|
||||
mapGroup = sprite->data[4];
|
||||
localId = sprite->sLocalId;
|
||||
mapNum = sprite->sMapNum;
|
||||
mapGroup = sprite->sMapGroup;
|
||||
metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data[1], sprite->data[2]);
|
||||
if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId) || !MetatileBehavior_IsLongGrass(metatileBehavior) || (sprite->data[7] && sprite->animEnded))
|
||||
if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)
|
||||
|| !MetatileBehavior_IsLongGrass(metatileBehavior)
|
||||
|| (sprite->sObjectMoved && sprite->animEnded))
|
||||
{
|
||||
FieldEffectStop(sprite, FLDEFF_LONG_GRASS);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Check if the object that triggered the effect has moved away
|
||||
objectEvent = &gObjectEvents[objectEventId];
|
||||
if ((objectEvent->currentCoords.x != sprite->data[1] || objectEvent->currentCoords.y != sprite->data[2]) && (objectEvent->previousCoords.x != sprite->data[1] || objectEvent->previousCoords.y != sprite->data[2]))
|
||||
{
|
||||
sprite->data[7] = TRUE;
|
||||
}
|
||||
UpdateObjectEventSpriteVisibility(sprite, 0);
|
||||
sub_81561FC(sprite, sprite->data[0], 0);
|
||||
if ((objectEvent->currentCoords.x != sprite->data[1]
|
||||
|| objectEvent->currentCoords.y != sprite->data[2])
|
||||
&& (objectEvent->previousCoords.x != sprite->data[1]
|
||||
|| objectEvent->previousCoords.y != sprite->data[2]))
|
||||
sprite->sObjectMoved = TRUE;
|
||||
|
||||
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
|
||||
UpdateGrassFieldEffectSubpriority(sprite, sprite->sElevation, 0);
|
||||
}
|
||||
}
|
||||
|
||||
#undef sX
|
||||
#undef sY
|
||||
#undef sMapNum
|
||||
#undef sLocalId
|
||||
#undef sMapGroup
|
||||
#undef sCurrentMap
|
||||
#undef sObjectMoved
|
||||
|
||||
u32 FldEff_JumpLongGrass(void)
|
||||
{
|
||||
u8 spriteId;
|
||||
@@ -458,8 +493,8 @@ u32 FldEff_JumpLongGrass(void)
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
sprite->oam.priority = gFieldEffectArguments[3];
|
||||
sprite->data[0] = gFieldEffectArguments[2];
|
||||
sprite->data[1] = FLDEFF_JUMP_LONG_GRASS;
|
||||
sprite->sElevation = gFieldEffectArguments[2];
|
||||
sprite->sFldEff = FLDEFF_JUMP_LONG_GRASS;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -520,7 +555,7 @@ void UpdateShortGrassFieldEffect(struct Sprite *sprite)
|
||||
sprite->pos2.y = (graphicsInfo->height >> 1) - 8;
|
||||
sprite->subpriority = linkedSprite->subpriority - 1;
|
||||
sprite->oam.priority = linkedSprite->oam.priority;
|
||||
UpdateObjectEventSpriteVisibility(sprite, linkedSprite->invisible);
|
||||
UpdateObjectEventSpriteInvisibility(sprite, linkedSprite->invisible);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -594,14 +629,14 @@ static void FadeFootprintsTireTracks_Step0(struct Sprite *sprite)
|
||||
if (++sprite->data[1] > 40)
|
||||
sprite->data[0] = 1;
|
||||
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
|
||||
}
|
||||
|
||||
static void FadeFootprintsTireTracks_Step1(struct Sprite *sprite)
|
||||
{
|
||||
sprite->invisible ^= 1;
|
||||
sprite->data[1]++;
|
||||
UpdateObjectEventSpriteVisibility(sprite, sprite->invisible);
|
||||
UpdateObjectEventSpriteInvisibility(sprite, sprite->invisible);
|
||||
if (sprite->data[1] > 56)
|
||||
{
|
||||
FieldEffectStop(sprite, sprite->data[7]);
|
||||
@@ -648,7 +683,7 @@ void UpdateSplashFieldEffect(struct Sprite *sprite)
|
||||
{
|
||||
sprite->pos1.x = gSprites[gObjectEvents[objectEventId].spriteId].pos1.x;
|
||||
sprite->pos1.y = gSprites[gObjectEvents[objectEventId].spriteId].pos1.y;
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -734,7 +769,7 @@ static void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *sprite)
|
||||
sprite->pos1.x = linkedSprite->pos1.x;
|
||||
sprite->pos1.y = linkedSprite->pos1.y;
|
||||
sprite->subpriority = linkedSprite->subpriority;
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
|
||||
if (objectEvent->currentCoords.x != sprite->data[3] || objectEvent->currentCoords.y != sprite->data[4])
|
||||
{
|
||||
sprite->data[3] = objectEvent->currentCoords.x;
|
||||
@@ -804,7 +839,7 @@ void UpdateHotSpringsWaterFieldEffect(struct Sprite *sprite)
|
||||
sprite->pos1.x = linkedSprite->pos1.x;
|
||||
sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 8;
|
||||
sprite->subpriority = linkedSprite->subpriority - 1;
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -876,14 +911,21 @@ u32 FldEff_WaterSurfacing(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void StartAshFieldEffect(s16 x, s16 y, u16 metatileId, s16 d)
|
||||
// Sprite data for FLDEFF_ASH
|
||||
#define sState data[0]
|
||||
#define sX data[1]
|
||||
#define sY data[2]
|
||||
#define sMetatileId data[3]
|
||||
#define sDelay data[4]
|
||||
|
||||
void StartAshFieldEffect(s16 x, s16 y, u16 metatileId, s16 delay)
|
||||
{
|
||||
gFieldEffectArguments[0] = x;
|
||||
gFieldEffectArguments[1] = y;
|
||||
gFieldEffectArguments[2] = 0x52;
|
||||
gFieldEffectArguments[3] = 1;
|
||||
gFieldEffectArguments[2] = 82; // subpriority
|
||||
gFieldEffectArguments[3] = 1; // priority
|
||||
gFieldEffectArguments[4] = metatileId;
|
||||
gFieldEffectArguments[5] = d;
|
||||
gFieldEffectArguments[5] = delay;
|
||||
FieldEffectStart(FLDEFF_ASH);
|
||||
}
|
||||
|
||||
@@ -903,50 +945,62 @@ u32 FldEff_Ash(void)
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
sprite->oam.priority = gFieldEffectArguments[3];
|
||||
sprite->data[1] = gFieldEffectArguments[0];
|
||||
sprite->data[2] = gFieldEffectArguments[1];
|
||||
sprite->data[3] = gFieldEffectArguments[4];
|
||||
sprite->data[4] = gFieldEffectArguments[5];
|
||||
sprite->sX = gFieldEffectArguments[0];
|
||||
sprite->sY = gFieldEffectArguments[1];
|
||||
sprite->sMetatileId = gFieldEffectArguments[4];
|
||||
sprite->sDelay = gFieldEffectArguments[5];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void (*const gAshFieldEffectFuncs[])(struct Sprite *) = {
|
||||
UpdateAshFieldEffect_Step0,
|
||||
UpdateAshFieldEffect_Step1,
|
||||
UpdateAshFieldEffect_Step2
|
||||
UpdateAshFieldEffect_Wait,
|
||||
UpdateAshFieldEffect_Show,
|
||||
UpdateAshFieldEffect_End
|
||||
};
|
||||
|
||||
void UpdateAshFieldEffect(struct Sprite *sprite)
|
||||
{
|
||||
gAshFieldEffectFuncs[sprite->data[0]](sprite);
|
||||
gAshFieldEffectFuncs[sprite->sState](sprite);
|
||||
}
|
||||
|
||||
static void UpdateAshFieldEffect_Step0(struct Sprite *sprite)
|
||||
static void UpdateAshFieldEffect_Wait(struct Sprite *sprite)
|
||||
{
|
||||
sprite->invisible = TRUE;
|
||||
sprite->animPaused = TRUE;
|
||||
if (--sprite->data[4] == 0)
|
||||
sprite->data[0] = 1;
|
||||
if (--sprite->sDelay == 0)
|
||||
sprite->sState = 1;
|
||||
}
|
||||
|
||||
static void UpdateAshFieldEffect_Step1(struct Sprite *sprite)
|
||||
static void UpdateAshFieldEffect_Show(struct Sprite *sprite)
|
||||
{
|
||||
sprite->invisible = FALSE;
|
||||
sprite->animPaused = FALSE;
|
||||
MapGridSetMetatileIdAt(sprite->data[1], sprite->data[2], sprite->data[3]);
|
||||
CurrentMapDrawMetatileAt(sprite->data[1], sprite->data[2]);
|
||||
MapGridSetMetatileIdAt(sprite->sX, sprite->sY, sprite->sMetatileId);
|
||||
CurrentMapDrawMetatileAt(sprite->sX, sprite->sY);
|
||||
gObjectEvents[gPlayerAvatar.objectEventId].triggerGroundEffectsOnMove = TRUE;
|
||||
sprite->data[0] = 2;
|
||||
sprite->sState = 2;
|
||||
}
|
||||
|
||||
static void UpdateAshFieldEffect_Step2(struct Sprite *sprite)
|
||||
static void UpdateAshFieldEffect_End(struct Sprite *sprite)
|
||||
{
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
|
||||
if (sprite->animEnded)
|
||||
FieldEffectStop(sprite, FLDEFF_ASH);
|
||||
}
|
||||
|
||||
#undef sState
|
||||
#undef sX
|
||||
#undef sY
|
||||
#undef sMetatileId
|
||||
#undef sDelay
|
||||
|
||||
// Sprite data for FLDEFF_SURF_BLOB
|
||||
#define tBitfield data[0]
|
||||
#define tPlayerOffset data[1]
|
||||
#define tPlayerObjId data[2]
|
||||
|
||||
|
||||
u32 FldEff_SurfBlob(void)
|
||||
{
|
||||
u8 spriteId;
|
||||
@@ -954,12 +1008,12 @@ u32 FldEff_SurfBlob(void)
|
||||
|
||||
SetSpritePosToOffsetMapCoords((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8);
|
||||
spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_SURF_BLOB], gFieldEffectArguments[0], gFieldEffectArguments[1], 0x96);
|
||||
if (spriteId !=MAX_SPRITES)
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
sprite->oam.paletteNum = 0;
|
||||
sprite->data[2] = gFieldEffectArguments[2];
|
||||
sprite->tPlayerObjId = gFieldEffectArguments[2];
|
||||
sprite->data[3] = -1;
|
||||
sprite->data[6] = -1;
|
||||
sprite->data[7] = -1;
|
||||
@@ -968,53 +1022,55 @@ u32 FldEff_SurfBlob(void)
|
||||
return spriteId;
|
||||
}
|
||||
|
||||
// States for bobbing up and down while surfing
|
||||
void SetSurfBobState(u8 spriteId, u8 value)
|
||||
|
||||
void SetSurfBlob_BobState(u8 spriteId, u8 state)
|
||||
{
|
||||
gSprites[spriteId].data[0] = (gSprites[spriteId].data[0] & ~0xF) | (value & 0xF);
|
||||
gSprites[spriteId].data[0] = (gSprites[spriteId].data[0] & ~0xF) | (state & 0xF);
|
||||
}
|
||||
|
||||
void SetSurfBobWhileFlyingOutState(u8 spriteId, u8 value)
|
||||
void SetSurfBlob_DontSyncAnim(u8 spriteId, bool8 dontSync)
|
||||
{
|
||||
gSprites[spriteId].data[0] = (gSprites[spriteId].data[0] & ~0xF0) | ((value & 0xF) << 4);
|
||||
gSprites[spriteId].data[0] = (gSprites[spriteId].data[0] & ~0xF0) | ((dontSync & 0xF) << 4);
|
||||
}
|
||||
|
||||
void SetSurfBobWhileFishingState(u8 spriteId, u8 value, s16 data1)
|
||||
void SetSurfBlob_PlayerOffset(u8 spriteId, bool8 hasOffset, s16 offset)
|
||||
{
|
||||
gSprites[spriteId].data[0] = (gSprites[spriteId].data[0] & ~0xF00) | ((value & 0xF) << 8);
|
||||
gSprites[spriteId].data[1] = data1;
|
||||
gSprites[spriteId].data[0] = (gSprites[spriteId].data[0] & ~0xF00) | ((hasOffset & 0xF) << 8);
|
||||
gSprites[spriteId].tPlayerOffset = offset;
|
||||
}
|
||||
|
||||
static u8 GetSurfBobState(struct Sprite *sprite)
|
||||
static u8 GetSurfBlob_BobState(struct Sprite *sprite)
|
||||
{
|
||||
return sprite->data[0] & 0xF;
|
||||
}
|
||||
|
||||
static u8 GetSurfBobWhileFlyingOutState(struct Sprite *sprite)
|
||||
// Never TRUE
|
||||
static u8 GetSurfBlob_DontSyncAnim(struct Sprite *sprite)
|
||||
{
|
||||
return (sprite->data[0] & 0xF0) >> 4;
|
||||
}
|
||||
|
||||
static u8 GetSurfBobWhileFishingState(struct Sprite *sprite)
|
||||
static u8 GetSurfBlob_HasPlayerOffset(struct Sprite *sprite)
|
||||
{
|
||||
return (sprite->data[0] & 0xF00) >> 8;
|
||||
}
|
||||
|
||||
void UpdateSurfBlobFieldEffect(struct Sprite *sprite)
|
||||
{
|
||||
struct ObjectEvent *objectEvent;
|
||||
struct Sprite *linkedSprite;
|
||||
struct ObjectEvent *playerObj;
|
||||
struct Sprite *playerSprite;
|
||||
|
||||
objectEvent = &gObjectEvents[sprite->data[2]];
|
||||
linkedSprite = &gSprites[objectEvent->spriteId];
|
||||
SynchroniseSurfAnim(objectEvent, sprite);
|
||||
sub_81556E8(objectEvent, sprite);
|
||||
CreateBobbingEffect(objectEvent, linkedSprite, sprite);
|
||||
sprite->oam.priority = linkedSprite->oam.priority;
|
||||
playerObj = &gObjectEvents[sprite->tPlayerObjId];
|
||||
playerSprite = &gSprites[playerObj->spriteId];
|
||||
SynchroniseSurfAnim(playerObj, sprite);
|
||||
SynchroniseSurfPosition(playerObj, sprite);
|
||||
UpdateBobbingEffect(playerObj, playerSprite, sprite);
|
||||
sprite->oam.priority = playerSprite->oam.priority;
|
||||
}
|
||||
|
||||
static void SynchroniseSurfAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
static void SynchroniseSurfAnim(struct ObjectEvent *playerObj, struct Sprite *sprite)
|
||||
{
|
||||
// Indexes into sAnimTable_SurfBlob
|
||||
u8 surfBlobDirectionAnims[] = {
|
||||
[DIR_NONE] = 0,
|
||||
[DIR_SOUTH] = 0,
|
||||
@@ -1027,15 +1083,15 @@ static void SynchroniseSurfAnim(struct ObjectEvent *objectEvent, struct Sprite *
|
||||
[DIR_NORTHEAST] = 1,
|
||||
};
|
||||
|
||||
if (GetSurfBobWhileFlyingOutState(sprite) == 0)
|
||||
StartSpriteAnimIfDifferent(sprite, surfBlobDirectionAnims[objectEvent->movementDirection]);
|
||||
if (!GetSurfBlob_DontSyncAnim(sprite))
|
||||
StartSpriteAnimIfDifferent(sprite, surfBlobDirectionAnims[playerObj->movementDirection]);
|
||||
}
|
||||
|
||||
void sub_81556E8(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
void SynchroniseSurfPosition(struct ObjectEvent *playerObj, struct Sprite *sprite)
|
||||
{
|
||||
u8 i;
|
||||
s16 x = objectEvent->currentCoords.x;
|
||||
s16 y = objectEvent->currentCoords.y;
|
||||
s16 x = playerObj->currentCoords.x;
|
||||
s16 y = playerObj->currentCoords.y;
|
||||
s32 spriteY = sprite->pos2.y;
|
||||
|
||||
if (spriteY == 0 && (x != sprite->data[6] || y != sprite->data[7]))
|
||||
@@ -1048,68 +1104,81 @@ void sub_81556E8(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
MoveCoords(i, &x, &y);
|
||||
if (MapGridGetZCoordAt(x, y) == 3)
|
||||
{
|
||||
sprite->data[5] ++;
|
||||
sprite->data[5]++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void CreateBobbingEffect(struct ObjectEvent *objectEvent, struct Sprite *linkedSprite, struct Sprite *sprite)
|
||||
static void UpdateBobbingEffect(struct ObjectEvent *playerObj, struct Sprite *playerSprite, struct Sprite *sprite)
|
||||
{
|
||||
u16 unk_085CDC6A[] = {3, 7};
|
||||
u8 bobState = GetSurfBobState(sprite);
|
||||
if (bobState != 0)
|
||||
u16 intervals[] = {3, 7};
|
||||
u8 bobState = GetSurfBlob_BobState(sprite);
|
||||
if (bobState != BOB_NONE)
|
||||
{
|
||||
if (((u16)(++ sprite->data[4]) & unk_085CDC6A[sprite->data[5]]) == 0)
|
||||
// Update bobbing position of surf blob
|
||||
if (((u16)(++sprite->data[4]) & intervals[sprite->data[5]]) == 0)
|
||||
{
|
||||
sprite->pos2.y += sprite->data[3];
|
||||
}
|
||||
if ((sprite->data[4] & 0x0F) == 0)
|
||||
if ((sprite->data[4] & 15) == 0)
|
||||
{
|
||||
sprite->data[3] = -sprite->data[3];
|
||||
}
|
||||
if (bobState != 2)
|
||||
if (bobState != BOB_JUST_MON)
|
||||
{
|
||||
if (GetSurfBobWhileFishingState(sprite) == 0)
|
||||
linkedSprite->pos2.y = sprite->pos2.y;
|
||||
// Update bobbing position of player
|
||||
if (!GetSurfBlob_HasPlayerOffset(sprite))
|
||||
playerSprite->pos2.y = sprite->pos2.y;
|
||||
else
|
||||
linkedSprite->pos2.y = sprite->data[1] + sprite->pos2.y;
|
||||
sprite->pos1.x = linkedSprite->pos1.x;
|
||||
sprite->pos1.y = linkedSprite->pos1.y + 8;
|
||||
playerSprite->pos2.y = sprite->tPlayerOffset + sprite->pos2.y;
|
||||
sprite->pos1.x = playerSprite->pos1.x;
|
||||
sprite->pos1.y = playerSprite->pos1.y + 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
u8 sub_8155800(u8 oldSpriteId)
|
||||
#define sSpriteId data[0]
|
||||
#define sBobY data[1]
|
||||
#define sTimer data[2]
|
||||
|
||||
u8 StartUnderwaterSurfBlobBobbing(u8 blobSpriteId)
|
||||
{
|
||||
u8 spriteId;
|
||||
struct Sprite *sprite;
|
||||
|
||||
// Create a dummy sprite with its own callback
|
||||
// that tracks the actual surf blob sprite and
|
||||
// makes it bob up and down underwater
|
||||
spriteId = CreateSpriteAtEnd(&gDummySpriteTemplate, 0, 0, -1);
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->callback = sub_8155850;
|
||||
sprite->callback = SpriteCB_UnderwaterSurfBlob;
|
||||
sprite->invisible = TRUE;
|
||||
sprite->data[0] = oldSpriteId;
|
||||
sprite->data[1] = 1;
|
||||
sprite->sSpriteId = blobSpriteId;
|
||||
sprite->sBobY = 1;
|
||||
return spriteId;
|
||||
}
|
||||
|
||||
static void sub_8155850(struct Sprite *sprite)
|
||||
static void SpriteCB_UnderwaterSurfBlob(struct Sprite *sprite)
|
||||
{
|
||||
struct Sprite *oldSprite;
|
||||
struct Sprite *blobSprite;
|
||||
|
||||
oldSprite = &gSprites[sprite->data[0]];
|
||||
if (((sprite->data[2]++) & 0x03) == 0)
|
||||
blobSprite = &gSprites[sprite->sSpriteId];
|
||||
if (((sprite->sTimer++) & 3) == 0)
|
||||
{
|
||||
oldSprite->pos2.y += sprite->data[1];
|
||||
blobSprite->pos2.y += sprite->sBobY;
|
||||
}
|
||||
if ((sprite->data[2] & 0x0F) == 0)
|
||||
if ((sprite->sTimer & 15) == 0)
|
||||
{
|
||||
sprite->data[1] = -sprite->data[1];
|
||||
sprite->sBobY = -sprite->sBobY;
|
||||
}
|
||||
}
|
||||
|
||||
#undef sSpriteId
|
||||
#undef sBobY
|
||||
#undef sTimer
|
||||
|
||||
u32 FldEff_Dust(void)
|
||||
{
|
||||
u8 spriteId;
|
||||
@@ -1182,7 +1251,7 @@ void UpdateSandPileFieldEffect(struct Sprite *sprite)
|
||||
sprite->pos1.x = x;
|
||||
sprite->pos1.y = y;
|
||||
sprite->subpriority = gSprites[gObjectEvents[objectEventId].spriteId].subpriority;
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1207,7 +1276,7 @@ void UpdateBubblesFieldEffect(struct Sprite *sprite)
|
||||
sprite->data[0] += 0x80;
|
||||
sprite->data[0] &= 0x100;
|
||||
sprite->pos1.y -= sprite->data[0] >> 8;
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
|
||||
if (sprite->invisible || sprite->animEnded)
|
||||
{
|
||||
FieldEffectStop(sprite, FLDEFF_BUBBLES);
|
||||
@@ -1232,6 +1301,13 @@ u32 FldEff_BerryTreeGrowthSparkle(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Sprite data for FLDEFF_TREE_DISGUISE / FLDEFF_MOUNTAIN_DISGUISE / FLDEFF_SAND_DISGUISE
|
||||
#define sState data[0]
|
||||
#define sLocalId data[2]
|
||||
#define sMapNum data[3]
|
||||
#define sMapGroup data[4]
|
||||
#define sReadyToEnd data[7]
|
||||
|
||||
u32 ShowTreeDisguiseFieldEffect(void)
|
||||
{
|
||||
return ShowDisguiseFieldEffect(FLDEFF_TREE_DISGUISE, FLDEFFOBJ_TREE_DISGUISE, 4);
|
||||
@@ -1263,10 +1339,10 @@ static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 fldEffObj, u8 paletteNum)
|
||||
sprite = &gSprites[spriteId];
|
||||
sprite->coordOffsetEnabled ++;
|
||||
sprite->oam.paletteNum = paletteNum;
|
||||
sprite->data[1] = fldEff;
|
||||
sprite->data[2] = gFieldEffectArguments[0];
|
||||
sprite->data[3] = gFieldEffectArguments[1];
|
||||
sprite->data[4] = gFieldEffectArguments[2];
|
||||
sprite->sFldEff = fldEff;
|
||||
sprite->sLocalId = gFieldEffectArguments[0];
|
||||
sprite->sMapNum = gFieldEffectArguments[1];
|
||||
sprite->sMapGroup = gFieldEffectArguments[2];
|
||||
}
|
||||
return spriteId;
|
||||
}
|
||||
@@ -1277,10 +1353,8 @@ void UpdateDisguiseFieldEffect(struct Sprite *sprite)
|
||||
const struct ObjectEventGraphicsInfo *graphicsInfo;
|
||||
struct Sprite *linkedSprite;
|
||||
|
||||
if (TryGetObjectEventIdByLocalIdAndMap(sprite->data[2], sprite->data[3], sprite->data[4], &objectEventId))
|
||||
{
|
||||
FieldEffectStop(sprite, sprite->data[1]);
|
||||
}
|
||||
if (TryGetObjectEventIdByLocalIdAndMap(sprite->sLocalId, sprite->sMapNum, sprite->sMapGroup, &objectEventId))
|
||||
FieldEffectStop(sprite, sprite->sFldEff);
|
||||
|
||||
graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[objectEventId].graphicsId);
|
||||
linkedSprite = &gSprites[gObjectEvents[objectEventId].spriteId];
|
||||
@@ -1288,51 +1362,56 @@ void UpdateDisguiseFieldEffect(struct Sprite *sprite)
|
||||
sprite->pos1.x = linkedSprite->pos1.x;
|
||||
sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 16;
|
||||
sprite->subpriority = linkedSprite->subpriority - 1;
|
||||
if (sprite->data[0] == 1)
|
||||
|
||||
if (sprite->sState == 1)
|
||||
{
|
||||
sprite->data[0] ++;
|
||||
sprite->sState++;
|
||||
StartSpriteAnim(sprite, 1);
|
||||
}
|
||||
if (sprite->data[0] == 2 && sprite->animEnded)
|
||||
{
|
||||
sprite->data[7] = 1;
|
||||
}
|
||||
if (sprite->data[0] == 3)
|
||||
{
|
||||
FieldEffectStop(sprite, sprite->data[1]);
|
||||
}
|
||||
|
||||
if (sprite->sState == 2 && sprite->animEnded)
|
||||
sprite->sReadyToEnd = TRUE;
|
||||
|
||||
if (sprite->sState == 3)
|
||||
FieldEffectStop(sprite, sprite->sFldEff);
|
||||
}
|
||||
|
||||
void sub_8155D78(struct ObjectEvent *objectEvent)
|
||||
void StartRevealDisguise(struct ObjectEvent *objectEvent)
|
||||
{
|
||||
if (objectEvent->directionSequenceIndex == 1)
|
||||
{
|
||||
gSprites[objectEvent->fieldEffectSpriteId].data[0]++;
|
||||
}
|
||||
gSprites[objectEvent->fieldEffectSpriteId].sState++;
|
||||
}
|
||||
|
||||
bool8 sub_8155DA0(struct ObjectEvent *objectEvent)
|
||||
bool8 UpdateRevealDisguise(struct ObjectEvent *objectEvent)
|
||||
{
|
||||
struct Sprite *sprite;
|
||||
|
||||
if (objectEvent->directionSequenceIndex == 2)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (objectEvent->directionSequenceIndex == 0)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
sprite = &gSprites[objectEvent->fieldEffectSpriteId];
|
||||
if (sprite->data[7])
|
||||
if (sprite->sReadyToEnd)
|
||||
{
|
||||
objectEvent->directionSequenceIndex = 2;
|
||||
sprite->data[0]++;
|
||||
sprite->sState++;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#undef sState
|
||||
#undef sLocalId
|
||||
#undef sMapNum
|
||||
#undef sMapGroup
|
||||
#undef sReadyToEnd
|
||||
|
||||
// Sprite data for FLDEFF_SPARKLE
|
||||
#define sFinished data[0]
|
||||
#define sEndTimer data[1]
|
||||
|
||||
u32 FldEff_Sparkle(void)
|
||||
{
|
||||
u8 spriteId;
|
||||
@@ -1351,22 +1430,22 @@ u32 FldEff_Sparkle(void)
|
||||
|
||||
void UpdateSparkleFieldEffect(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] == 0)
|
||||
if (!sprite->sFinished)
|
||||
{
|
||||
if (sprite->animEnded)
|
||||
{
|
||||
sprite->invisible = TRUE;
|
||||
sprite->data[0]++;
|
||||
sprite->sFinished++;
|
||||
}
|
||||
|
||||
if (sprite->data[0] == 0)
|
||||
return;
|
||||
}
|
||||
|
||||
if (++sprite->data[1] > 34)
|
||||
if (sprite->sFinished && ++sprite->sEndTimer > 34)
|
||||
FieldEffectStop(sprite, FLDEFF_SPARKLE);
|
||||
}
|
||||
|
||||
#undef sFinished
|
||||
#undef sEndTimer
|
||||
|
||||
#define sTimer data[0]
|
||||
#define sState data[2]
|
||||
#define sStartY data[4]
|
||||
@@ -1551,16 +1630,17 @@ void UpdateRayquazaSpotlightEffect(struct Sprite *sprite)
|
||||
#undef sAnimCounter
|
||||
#undef sAnimState
|
||||
|
||||
// Used by FLDEFF_JUMP_TALL_GRASS and FLDEFF_JUMP_LONG_GRASS
|
||||
void UpdateJumpImpactEffect(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->animEnded)
|
||||
{
|
||||
FieldEffectStop(sprite, sprite->data[1]);
|
||||
FieldEffectStop(sprite, sprite->sFldEff);
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
SetObjectSubpriorityByZCoord(sprite->data[0], sprite, 0);
|
||||
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
|
||||
SetObjectSubpriorityByZCoord(sprite->sElevation, sprite, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1569,10 +1649,10 @@ void WaitFieldEffectSpriteAnim(struct Sprite *sprite)
|
||||
if (sprite->animEnded)
|
||||
FieldEffectStop(sprite, sprite->data[0]);
|
||||
else
|
||||
UpdateObjectEventSpriteVisibility(sprite, FALSE);
|
||||
UpdateObjectEventSpriteInvisibility(sprite, FALSE);
|
||||
}
|
||||
|
||||
static void sub_81561FC(struct Sprite *sprite, u8 z, u8 offset)
|
||||
static void UpdateGrassFieldEffectSubpriority(struct Sprite *sprite, u8 z, u8 offset)
|
||||
{
|
||||
u8 i;
|
||||
s16 var, xhi, lyhi, yhi, ylo;
|
||||
@@ -1605,18 +1685,27 @@ static void sub_81561FC(struct Sprite *sprite, u8 z, u8 offset)
|
||||
}
|
||||
}
|
||||
|
||||
// Unused data. Feel free to remove.
|
||||
static const u8 gUnknown_085CDC6E[] =
|
||||
{
|
||||
0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02,
|
||||
0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02,
|
||||
0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00,
|
||||
0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,
|
||||
0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
|
||||
0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00
|
||||
// Unused, duplicates of data in event_object_movement.c
|
||||
static const s8 sFigure8XOffsets[FIGURE_8_LENGTH] = {
|
||||
1, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2, 2, 1, 2, 2, 1, 2,
|
||||
2, 1, 2, 2, 1, 2, 1, 1,
|
||||
2, 1, 1, 2, 1, 1, 2, 1,
|
||||
1, 2, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 1, 1, 1, 0, 1, 1, 0,
|
||||
1, 0, 1, 0, 1, 0, 0, 0,
|
||||
0, 1, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
|
||||
static const s8 sFigure8YOffsets[FIGURE_8_LENGTH] = {
|
||||
0, 0, 1, 0, 0, 1, 0, 0,
|
||||
1, 0, 1, 1, 0, 1, 1, 0,
|
||||
1, 1, 0, 1, 1, 0, 1, 1,
|
||||
0, 0, 1, 0, 0, 1, 0, 0,
|
||||
1, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, -1, 0, 0, -1, 0, 0,
|
||||
-1, 0, -1, -1, 0, -1, -1, 0,
|
||||
-1, -1, -1, -1, -1, -1, -1, -2,
|
||||
};
|
||||
|
||||
@@ -722,9 +722,9 @@ static bool8 CanStopSurfing(s16 x, s16 y, u8 direction)
|
||||
}
|
||||
}
|
||||
|
||||
static bool8 ShouldJumpLedge(s16 x, s16 y, u8 z)
|
||||
static bool8 ShouldJumpLedge(s16 x, s16 y, u8 direction)
|
||||
{
|
||||
if (GetLedgeJumpDirection(x, y, z) != 0)
|
||||
if (GetLedgeJumpDirection(x, y, direction) != DIR_NONE)
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
@@ -863,7 +863,7 @@ static void PlayerAvatarTransition_Surfing(struct ObjectEvent *objEvent)
|
||||
gFieldEffectArguments[2] = gPlayerAvatar.objectEventId;
|
||||
spriteId = FieldEffectStart(FLDEFF_SURF_BLOB);
|
||||
objEvent->fieldEffectSpriteId = spriteId;
|
||||
SetSurfBobState(spriteId, 1);
|
||||
SetSurfBlob_BobState(spriteId, BOB_PLAYER_AND_MON);
|
||||
}
|
||||
|
||||
static void PlayerAvatarTransition_Underwater(struct ObjectEvent *objEvent)
|
||||
@@ -871,7 +871,7 @@ static void PlayerAvatarTransition_Underwater(struct ObjectEvent *objEvent)
|
||||
ObjectEventSetGraphicsId(objEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_UNDERWATER));
|
||||
ObjectEventTurn(objEvent, objEvent->movementDirection);
|
||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_UNDERWATER);
|
||||
objEvent->fieldEffectSpriteId = sub_8155800(objEvent->spriteId);
|
||||
objEvent->fieldEffectSpriteId = StartUnderwaterSurfBlobBobbing(objEvent->spriteId);
|
||||
}
|
||||
|
||||
static void PlayerAvatarTransition_ReturnToField(struct ObjectEvent *objEvent)
|
||||
@@ -1192,7 +1192,7 @@ u8 GetPlayerAvatarFlags(void)
|
||||
return gPlayerAvatar.flags;
|
||||
}
|
||||
|
||||
u8 GetPlayerAvatarObjectId(void)
|
||||
u8 GetPlayerAvatarSpriteId(void)
|
||||
{
|
||||
return gPlayerAvatar.spriteId;
|
||||
}
|
||||
@@ -1646,7 +1646,7 @@ static void Task_StopSurfingInit(u8 taskId)
|
||||
if (!ObjectEventClearHeldMovementIfFinished(playerObjEvent))
|
||||
return;
|
||||
}
|
||||
SetSurfBobState(playerObjEvent->fieldEffectSpriteId, 2);
|
||||
SetSurfBlob_BobState(playerObjEvent->fieldEffectSpriteId, BOB_JUST_MON);
|
||||
ObjectEventSetHeldMovement(playerObjEvent, GetJumpSpecialMovementAction((u8)gTasks[taskId].data[0]));
|
||||
gTasks[taskId].func = Task_WaitStopSurfing;
|
||||
}
|
||||
@@ -1932,7 +1932,7 @@ static bool8 Fishing_StartEncounter(struct Task *task)
|
||||
ObjectEventSetGraphicsId(playerObjEvent, task->tPlayerGfxId);
|
||||
ObjectEventTurn(playerObjEvent, playerObjEvent->movementDirection);
|
||||
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
|
||||
SetSurfBobWhileFishingState(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, 0, 0);
|
||||
SetSurfBlob_PlayerOffset(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, FALSE, 0);
|
||||
gSprites[gPlayerAvatar.spriteId].pos2.x = 0;
|
||||
gSprites[gPlayerAvatar.spriteId].pos2.y = 0;
|
||||
ClearDialogWindowAndFrame(0, TRUE);
|
||||
@@ -1989,7 +1989,7 @@ static bool8 Fishing_PutRodAway(struct Task *task)
|
||||
ObjectEventSetGraphicsId(playerObjEvent, task->tPlayerGfxId);
|
||||
ObjectEventTurn(playerObjEvent, playerObjEvent->movementDirection);
|
||||
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
|
||||
SetSurfBobWhileFishingState(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, 0, 0);
|
||||
SetSurfBlob_PlayerOffset(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, FALSE, 0);
|
||||
gSprites[gPlayerAvatar.spriteId].pos2.x = 0;
|
||||
gSprites[gPlayerAvatar.spriteId].pos2.y = 0;
|
||||
task->tStep++;
|
||||
@@ -2048,7 +2048,7 @@ static void AlignFishingAnimationFrames(void)
|
||||
if (animType == 10 || animType == 11)
|
||||
playerSprite->pos2.y = 8;
|
||||
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
|
||||
SetSurfBobWhileFishingState(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, 1, playerSprite->pos2.y);
|
||||
SetSurfBlob_PlayerOffset(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, TRUE, playerSprite->pos2.y);
|
||||
}
|
||||
|
||||
void SetSpinStartFacingDir(u8 direction)
|
||||
|
||||
@@ -1087,7 +1087,7 @@ static void LoadOrbEffectPalette(bool8 blueOrb)
|
||||
}
|
||||
}
|
||||
|
||||
static bool8 sub_80B02C8(u16 shakeDir)
|
||||
static bool8 UpdateOrbEffectBlend(u16 shakeDir)
|
||||
{
|
||||
u8 lo = REG_BLDALPHA & 0xFF;
|
||||
u8 hi = REG_BLDALPHA >> 8;
|
||||
@@ -1095,21 +1095,17 @@ static bool8 sub_80B02C8(u16 shakeDir)
|
||||
if (shakeDir != 0)
|
||||
{
|
||||
if (lo)
|
||||
{
|
||||
lo--;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (hi < 0x10)
|
||||
{
|
||||
if (hi < 16)
|
||||
hi++;
|
||||
}
|
||||
}
|
||||
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(lo, hi));
|
||||
|
||||
if (lo == 0 && hi == 0x10)
|
||||
if (lo == 0 && hi == 16)
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
@@ -1193,7 +1189,7 @@ static void Task_OrbEffect(u8 taskId)
|
||||
{
|
||||
tShakeDelay = 8;
|
||||
tShakeDir ^= 1;
|
||||
if (sub_80B02C8(tShakeDir) == TRUE)
|
||||
if (UpdateOrbEffectBlend(tShakeDir) == TRUE)
|
||||
{
|
||||
tState = 5;
|
||||
sub_8199DF0(0, PIXEL_FILL(0), 0, 1);
|
||||
|
||||
@@ -1301,12 +1301,12 @@ void SpawnCameraObject(void)
|
||||
{
|
||||
u8 obj = SpawnSpecialObjectEventParameterized(OBJ_EVENT_GFX_BOY_1, MOVEMENT_TYPE_FACE_DOWN, OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3);
|
||||
gObjectEvents[obj].invisible = TRUE;
|
||||
CameraObjectSetFollowedObjectId(gObjectEvents[obj].spriteId);
|
||||
CameraObjectSetFollowedSpriteId(gObjectEvents[obj].spriteId);
|
||||
}
|
||||
|
||||
void RemoveCameraObject(void)
|
||||
{
|
||||
CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId());
|
||||
CameraObjectSetFollowedSpriteId(GetPlayerAvatarSpriteId());
|
||||
RemoveObjectEventByLocalIdAndMap(OBJ_EVENT_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
}
|
||||
|
||||
|
||||
+53
-51
@@ -160,11 +160,11 @@ void StartWeather(void)
|
||||
{
|
||||
if (!FuncIsActiveTask(Task_WeatherMain))
|
||||
{
|
||||
u8 index = AllocSpritePalette(0x1200);
|
||||
u8 index = AllocSpritePalette(TAG_WEATHER_START);
|
||||
CpuCopy32(gFogPalette, &gPlttBufferUnfaded[0x100 + index * 16], 32);
|
||||
BuildGammaShiftTables();
|
||||
gWeatherPtr->altGammaSpritePalIndex = index;
|
||||
gWeatherPtr->weatherPicSpritePalIndex = AllocSpritePalette(0x1201);
|
||||
gWeatherPtr->weatherPicSpritePalIndex = AllocSpritePalette(PALTAG_WEATHER_2);
|
||||
gWeatherPtr->rainSpriteCount = 0;
|
||||
gWeatherPtr->curRainSpriteIndex = 0;
|
||||
gWeatherPtr->cloudSpritesCreated = 0;
|
||||
@@ -365,8 +365,8 @@ static void UpdateWeatherGammaShift(void)
|
||||
|
||||
static void FadeInScreenWithWeather(void)
|
||||
{
|
||||
if (++gWeatherPtr->unknown_6CB > 1)
|
||||
gWeatherPtr->unknown_6CA = 0;
|
||||
if (++gWeatherPtr->fadeInTimer > 1)
|
||||
gWeatherPtr->fadeInFirstFrame = FALSE;
|
||||
|
||||
switch (gWeatherPtr->currWeather)
|
||||
{
|
||||
@@ -710,7 +710,7 @@ static bool8 LightenSpritePaletteInFog(u8 paletteIndex)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_80ABC48(s8 gammaIndex)
|
||||
void ApplyWeatherGammaShiftIfIdle(s8 gammaIndex)
|
||||
{
|
||||
if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE)
|
||||
{
|
||||
@@ -728,7 +728,7 @@ void sub_80ABC7C(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay)
|
||||
gWeatherPtr->gammaTargetIndex = gammaTargetIndex;
|
||||
gWeatherPtr->gammaStepFrameCounter = 0;
|
||||
gWeatherPtr->gammaStepDelay = gammaStepDelay;
|
||||
sub_80ABC48(gammaIndex);
|
||||
ApplyWeatherGammaShiftIfIdle(gammaIndex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -793,8 +793,8 @@ void FadeScreen(u8 mode, s8 delay)
|
||||
BeginNormalPaletteFade(PALETTES_ALL, delay, 16, 0, fadeColor);
|
||||
|
||||
gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_SCREEN_FADING_IN;
|
||||
gWeatherPtr->unknown_6CA = 1;
|
||||
gWeatherPtr->unknown_6CB = 0;
|
||||
gWeatherPtr->fadeInFirstFrame = TRUE;
|
||||
gWeatherPtr->fadeInTimer = 0;
|
||||
Weather_SetBlendCoeffs(gWeatherPtr->currBlendEVA, gWeatherPtr->currBlendEVB);
|
||||
gWeatherPtr->readyForInit = TRUE;
|
||||
}
|
||||
@@ -813,7 +813,7 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex)
|
||||
switch (gWeatherPtr->palProcessingState)
|
||||
{
|
||||
case WEATHER_PAL_STATE_SCREEN_FADING_IN:
|
||||
if (gWeatherPtr->unknown_6CA != 0)
|
||||
if (gWeatherPtr->fadeInFirstFrame)
|
||||
{
|
||||
if (gWeatherPtr->currWeather == WEATHER_FOG_HORIZONTAL)
|
||||
MarkFogSpritePalToLighten(paletteIndex);
|
||||
@@ -848,12 +848,13 @@ void ApplyWeatherGammaShiftToPal(u8 paletteIndex)
|
||||
ApplyGammaShift(paletteIndex, 1, gWeatherPtr->gammaIndex);
|
||||
}
|
||||
|
||||
u8 sub_80ABF20(void)
|
||||
// Unused
|
||||
static bool8 IsFirstFrameOfWeatherFadeIn(void)
|
||||
{
|
||||
if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_SCREEN_FADING_IN)
|
||||
return gWeatherPtr->unknown_6CA;
|
||||
return gWeatherPtr->fadeInFirstFrame;
|
||||
else
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void LoadCustomWeatherSpritePalette(const u16 *palette)
|
||||
@@ -885,50 +886,50 @@ bool8 LoadDroughtWeatherPalettes(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_80ABFE0(s8 gammaIndex)
|
||||
static void SetDroughtGamma(s8 gammaIndex)
|
||||
{
|
||||
sub_80ABC48(-gammaIndex - 1);
|
||||
ApplyWeatherGammaShiftIfIdle(-gammaIndex - 1);
|
||||
}
|
||||
|
||||
void sub_80ABFF0(void)
|
||||
void DroughtStateInit(void)
|
||||
{
|
||||
gWeatherPtr->unknown_73C = 0;
|
||||
gWeatherPtr->unknown_740 = 0;
|
||||
gWeatherPtr->unknown_742 = 0;
|
||||
gWeatherPtr->unknown_73E = 0;
|
||||
gWeatherPtr->droughtBrightnessStage = 0;
|
||||
gWeatherPtr->droughtTimer = 0;
|
||||
gWeatherPtr->droughtState = 0;
|
||||
gWeatherPtr->droughtLastBrightnessStage = 0;
|
||||
}
|
||||
|
||||
void sub_80AC01C(void)
|
||||
void DroughtStateRun(void)
|
||||
{
|
||||
switch (gWeatherPtr->unknown_742)
|
||||
switch (gWeatherPtr->droughtState)
|
||||
{
|
||||
case 0:
|
||||
if (++gWeatherPtr->unknown_740 > 5)
|
||||
if (++gWeatherPtr->droughtTimer > 5)
|
||||
{
|
||||
gWeatherPtr->unknown_740 = 0;
|
||||
sub_80ABFE0(gWeatherPtr->unknown_73C++);
|
||||
if (gWeatherPtr->unknown_73C > 5)
|
||||
gWeatherPtr->droughtTimer = 0;
|
||||
SetDroughtGamma(gWeatherPtr->droughtBrightnessStage++);
|
||||
if (gWeatherPtr->droughtBrightnessStage > 5)
|
||||
{
|
||||
gWeatherPtr->unknown_73E = gWeatherPtr->unknown_73C;
|
||||
gWeatherPtr->unknown_742 = 1;
|
||||
gWeatherPtr->unknown_740 = 0x3C;
|
||||
gWeatherPtr->droughtLastBrightnessStage = gWeatherPtr->droughtBrightnessStage;
|
||||
gWeatherPtr->droughtState = 1;
|
||||
gWeatherPtr->droughtTimer = 60;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
gWeatherPtr->unknown_740 = (gWeatherPtr->unknown_740 + 3) & 0x7F;
|
||||
gWeatherPtr->unknown_73C = ((gSineTable[gWeatherPtr->unknown_740] - 1) >> 6) + 2;
|
||||
if (gWeatherPtr->unknown_73C != gWeatherPtr->unknown_73E)
|
||||
sub_80ABFE0(gWeatherPtr->unknown_73C);
|
||||
gWeatherPtr->unknown_73E = gWeatherPtr->unknown_73C;
|
||||
gWeatherPtr->droughtTimer = (gWeatherPtr->droughtTimer + 3) & 0x7F;
|
||||
gWeatherPtr->droughtBrightnessStage = ((gSineTable[gWeatherPtr->droughtTimer] - 1) >> 6) + 2;
|
||||
if (gWeatherPtr->droughtBrightnessStage != gWeatherPtr->droughtLastBrightnessStage)
|
||||
SetDroughtGamma(gWeatherPtr->droughtBrightnessStage);
|
||||
gWeatherPtr->droughtLastBrightnessStage = gWeatherPtr->droughtBrightnessStage;
|
||||
break;
|
||||
case 2:
|
||||
if (++gWeatherPtr->unknown_740 > 5)
|
||||
if (++gWeatherPtr->droughtTimer > 5)
|
||||
{
|
||||
gWeatherPtr->unknown_740 = 0;
|
||||
sub_80ABFE0(--gWeatherPtr->unknown_73C);
|
||||
if (gWeatherPtr->unknown_73C == 3)
|
||||
gWeatherPtr->unknown_742 = 0;
|
||||
gWeatherPtr->droughtTimer = 0;
|
||||
SetDroughtGamma(--gWeatherPtr->droughtBrightnessStage);
|
||||
if (gWeatherPtr->droughtBrightnessStage == 3)
|
||||
gWeatherPtr->droughtState = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -989,38 +990,39 @@ bool8 Weather_UpdateBlend(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_80AC274(u8 a)
|
||||
// Unused. Uses the same numbering scheme as the coord events
|
||||
static void SetFieldWeather(u8 weather)
|
||||
{
|
||||
switch (a)
|
||||
switch (weather)
|
||||
{
|
||||
case 1:
|
||||
case COORD_EVENT_WEATHER_SUNNY_CLOUDS:
|
||||
SetWeather(WEATHER_SUNNY_CLOUDS);
|
||||
break;
|
||||
case 2:
|
||||
case COORD_EVENT_WEATHER_SUNNY:
|
||||
SetWeather(WEATHER_SUNNY);
|
||||
break;
|
||||
case 3:
|
||||
case COORD_EVENT_WEATHER_RAIN:
|
||||
SetWeather(WEATHER_RAIN);
|
||||
break;
|
||||
case 4:
|
||||
case COORD_EVENT_WEATHER_SNOW:
|
||||
SetWeather(WEATHER_SNOW);
|
||||
break;
|
||||
case 5:
|
||||
case COORD_EVENT_WEATHER_RAIN_THUNDERSTORM:
|
||||
SetWeather(WEATHER_RAIN_THUNDERSTORM);
|
||||
break;
|
||||
case 6:
|
||||
case COORD_EVENT_WEATHER_FOG_HORIZONTAL:
|
||||
SetWeather(WEATHER_FOG_HORIZONTAL);
|
||||
break;
|
||||
case 7:
|
||||
case COORD_EVENT_WEATHER_FOG_DIAGONAL:
|
||||
SetWeather(WEATHER_FOG_DIAGONAL);
|
||||
break;
|
||||
case 8:
|
||||
case COORD_EVENT_WEATHER_VOLCANIC_ASH:
|
||||
SetWeather(WEATHER_VOLCANIC_ASH);
|
||||
break;
|
||||
case 9:
|
||||
case COORD_EVENT_WEATHER_SANDSTORM:
|
||||
SetWeather(WEATHER_SANDSTORM);
|
||||
break;
|
||||
case 10:
|
||||
case COORD_EVENT_WEATHER_SHADE:
|
||||
SetWeather(WEATHER_SHADE);
|
||||
break;
|
||||
}
|
||||
@@ -1084,7 +1086,7 @@ void SetWeatherScreenFadeOut(void)
|
||||
gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_SCREEN_FADING_OUT;
|
||||
}
|
||||
|
||||
void sub_80AC3E4(void)
|
||||
void SetWeatherPalStateIdle(void)
|
||||
{
|
||||
gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE;
|
||||
}
|
||||
|
||||
+143
-115
@@ -51,7 +51,7 @@ static const struct SpriteSheet sCloudSpriteSheet =
|
||||
{
|
||||
.data = gWeatherCloudTiles,
|
||||
.size = sizeof(gWeatherCloudTiles),
|
||||
.tag = 0x1200
|
||||
.tag = GFXTAG_CLOUD
|
||||
};
|
||||
|
||||
static const struct OamData sCloudSpriteOamData =
|
||||
@@ -84,8 +84,8 @@ static const union AnimCmd *const sCloudSpriteAnimCmds[] =
|
||||
|
||||
static const struct SpriteTemplate sCloudSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0x1200,
|
||||
.paletteTag = 0x1201,
|
||||
.tileTag = GFXTAG_CLOUD,
|
||||
.paletteTag = PALTAG_WEATHER_2,
|
||||
.oam = &sCloudSpriteOamData,
|
||||
.anims = sCloudSpriteAnimCmds,
|
||||
.images = NULL,
|
||||
@@ -214,7 +214,7 @@ static void DestroyCloudSprites(void)
|
||||
DestroySprite(gWeatherPtr->sprites.s1.cloudSprites[i]);
|
||||
}
|
||||
|
||||
FreeSpriteTilesByTag(0x1200);
|
||||
FreeSpriteTilesByTag(GFXTAG_CLOUD);
|
||||
gWeatherPtr->cloudSpritesCreated = FALSE;
|
||||
}
|
||||
|
||||
@@ -264,19 +264,19 @@ void Drought_Main(void)
|
||||
gWeatherPtr->initStep++;
|
||||
break;
|
||||
case 3:
|
||||
sub_80ABFF0();
|
||||
DroughtStateInit();
|
||||
gWeatherPtr->initStep++;
|
||||
break;
|
||||
case 4:
|
||||
sub_80AC01C();
|
||||
if (gWeatherPtr->unknown_73C == 6)
|
||||
DroughtStateRun();
|
||||
if (gWeatherPtr->droughtBrightnessStage == 6)
|
||||
{
|
||||
gWeatherPtr->weatherGfxLoaded = TRUE;
|
||||
gWeatherPtr->initStep++;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
sub_80AC01C();
|
||||
DroughtStateRun();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -288,7 +288,7 @@ bool8 Drought_Finish(void)
|
||||
|
||||
void StartDroughtWeatherBlend(void)
|
||||
{
|
||||
CreateTask(UpdateDroughtBlend, 0x50);
|
||||
CreateTask(UpdateDroughtBlend, 80);
|
||||
}
|
||||
|
||||
#define tState data[0]
|
||||
@@ -437,8 +437,8 @@ static const union AnimCmd *const sRainSpriteAnimCmds[] =
|
||||
|
||||
static const struct SpriteTemplate sRainSpriteTemplate =
|
||||
{
|
||||
.tileTag = 4614,
|
||||
.paletteTag = 0x1200,
|
||||
.tileTag = GFXTAG_RAIN,
|
||||
.paletteTag = PALTAG_WEATHER,
|
||||
.oam = &sRainSpriteOamData,
|
||||
.anims = sRainSpriteAnimCmds,
|
||||
.images = NULL,
|
||||
@@ -466,7 +466,7 @@ static const struct SpriteSheet sRainSpriteSheet =
|
||||
{
|
||||
.data = gWeatherRainTiles,
|
||||
.size = sizeof(gWeatherRainTiles),
|
||||
.tag = 0x1206,
|
||||
.tag = GFXTAG_RAIN,
|
||||
};
|
||||
|
||||
void Rain_InitVars(void)
|
||||
@@ -677,7 +677,7 @@ static bool8 CreateRainSprite(void)
|
||||
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
gSprites[spriteId].tActive = 0;
|
||||
gSprites[spriteId].tActive = FALSE;
|
||||
gSprites[spriteId].tRandom = spriteIndex * 145;
|
||||
while (gSprites[spriteId].tRandom >= 600)
|
||||
gSprites[spriteId].tRandom -= 600;
|
||||
@@ -722,12 +722,12 @@ static bool8 UpdateVisibleRainSprites(void)
|
||||
gWeatherPtr->rainSpriteVisibleCounter = 0;
|
||||
if (gWeatherPtr->curRainSpriteIndex < gWeatherPtr->targetRainSpriteCount)
|
||||
{
|
||||
gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->curRainSpriteIndex++]->tActive = 1;
|
||||
gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->curRainSpriteIndex++]->tActive = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
gWeatherPtr->curRainSpriteIndex--;
|
||||
gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->curRainSpriteIndex]->tActive = 0;
|
||||
gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->curRainSpriteIndex]->tActive = FALSE;
|
||||
gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->curRainSpriteIndex]->invisible = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -744,7 +744,7 @@ static void DestroyRainSprites(void)
|
||||
DestroySprite(gWeatherPtr->sprites.s1.rainSprites[i]);
|
||||
}
|
||||
gWeatherPtr->rainSpriteCount = 0;
|
||||
FreeSpriteTilesByTag(0x1206);
|
||||
FreeSpriteTilesByTag(GFXTAG_RAIN);
|
||||
}
|
||||
|
||||
#undef tCounter
|
||||
@@ -879,7 +879,7 @@ static const union AnimCmd *const sSnowflakeAnimCmds[] =
|
||||
static const struct SpriteTemplate sSnowflakeSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0xFFFF,
|
||||
.paletteTag = 0x1200,
|
||||
.paletteTag = PALTAG_WEATHER,
|
||||
.oam = &sSnowflakeSpriteOamData,
|
||||
.anims = sSnowflakeAnimCmds,
|
||||
.images = sSnowflakeSpriteImages,
|
||||
@@ -941,13 +941,14 @@ static void InitSnowflakeSpriteMovement(struct Sprite *sprite)
|
||||
|
||||
static void WaitSnowflakeSprite(struct Sprite *sprite)
|
||||
{
|
||||
if (gWeatherPtr->unknown_6E2 > 18)
|
||||
// Timer is never incremented
|
||||
if (gWeatherPtr->snowflakeTimer > 18)
|
||||
{
|
||||
sprite->invisible = FALSE;
|
||||
sprite->callback = UpdateSnowflakeSprite;
|
||||
sprite->pos1.y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
|
||||
sprite->tPosY = sprite->pos1.y * 128;
|
||||
gWeatherPtr->unknown_6E2 = 0;
|
||||
gWeatherPtr->snowflakeTimer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1011,9 +1012,32 @@ static void UpdateSnowflakeSprite(struct Sprite *sprite)
|
||||
// WEATHER_RAIN_THUNDERSTORM
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
enum {
|
||||
// This block of states is run only once
|
||||
// when first setting up the thunderstorm
|
||||
TSTORM_STATE_LOAD_RAIN,
|
||||
TSTORM_STATE_CREATE_RAIN,
|
||||
TSTORM_STATE_INIT_RAIN,
|
||||
TSTORM_STATE_WAIT_CHANGE,
|
||||
|
||||
// The thunderstorm loops through these states,
|
||||
// not necessarily in order.
|
||||
TSTORM_STATE_LOOP_START,
|
||||
TSTORM_STATE_LOOP_WAIT,
|
||||
TSTORM_STATE_INIT_THUNDER_SHORT_1,
|
||||
TSTORM_STATE_INIT_THUNDER_SHORT_2,
|
||||
TSTORM_STATE_TRY_THUNDER_SHORT,
|
||||
TSTORM_STATE_TRY_NEW_THUNDER,
|
||||
TSTORM_STATE_WAIT_THUNDER_SHORT,
|
||||
TSTORM_STATE_INIT_THUNDER_LONG,
|
||||
TSTORM_STATE_WAIT_THUNDER_LONG,
|
||||
TSTORM_STATE_FADE_THUNDER_LONG,
|
||||
TSTORM_STATE_END_THUNDER_LONG,
|
||||
};
|
||||
|
||||
void Thunderstorm_InitVars(void)
|
||||
{
|
||||
gWeatherPtr->initStep = 0;
|
||||
gWeatherPtr->initStep = TSTORM_STATE_LOAD_RAIN;
|
||||
gWeatherPtr->weatherGfxLoaded = FALSE;
|
||||
gWeatherPtr->rainSpriteVisibleCounter = 0;
|
||||
gWeatherPtr->rainSpriteVisibleDelay = 4;
|
||||
@@ -1022,7 +1046,7 @@ void Thunderstorm_InitVars(void)
|
||||
gWeatherPtr->gammaTargetIndex = 3;
|
||||
gWeatherPtr->gammaStepDelay = 20;
|
||||
gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment
|
||||
gWeatherPtr->thunderTriggered = 0;
|
||||
gWeatherPtr->thunderTriggered = FALSE;
|
||||
SetRainStrengthFromSoundEffect(SE_THUNDERSTORM);
|
||||
}
|
||||
|
||||
@@ -1042,7 +1066,7 @@ static void SetThunderCounter(u16);
|
||||
|
||||
void Downpour_InitVars(void)
|
||||
{
|
||||
gWeatherPtr->initStep = 0;
|
||||
gWeatherPtr->initStep = TSTORM_STATE_LOAD_RAIN;
|
||||
gWeatherPtr->weatherGfxLoaded = FALSE;
|
||||
gWeatherPtr->rainSpriteVisibleCounter = 0;
|
||||
gWeatherPtr->rainSpriteVisibleDelay = 4;
|
||||
@@ -1066,100 +1090,105 @@ void Thunderstorm_Main(void)
|
||||
UpdateThunderSound();
|
||||
switch (gWeatherPtr->initStep)
|
||||
{
|
||||
case 0:
|
||||
case TSTORM_STATE_LOAD_RAIN:
|
||||
LoadRainSpriteSheet();
|
||||
gWeatherPtr->initStep++;
|
||||
break;
|
||||
case 1:
|
||||
case TSTORM_STATE_CREATE_RAIN:
|
||||
if (!CreateRainSprite())
|
||||
gWeatherPtr->initStep++;
|
||||
break;
|
||||
case 2:
|
||||
case TSTORM_STATE_INIT_RAIN:
|
||||
if (!UpdateVisibleRainSprites())
|
||||
{
|
||||
gWeatherPtr->weatherGfxLoaded = TRUE;
|
||||
gWeatherPtr->initStep++;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
case TSTORM_STATE_WAIT_CHANGE:
|
||||
if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_CHANGING_WEATHER)
|
||||
gWeatherPtr->initStep = 6;
|
||||
gWeatherPtr->initStep = TSTORM_STATE_INIT_THUNDER_SHORT_1;
|
||||
break;
|
||||
case 4:
|
||||
gWeatherPtr->unknown_6EA = 1;
|
||||
gWeatherPtr->unknown_6E6 = (Random() % 360) + 360;
|
||||
case TSTORM_STATE_LOOP_START:
|
||||
gWeatherPtr->thunderAllowEnd = TRUE;
|
||||
gWeatherPtr->thunderDelay = (Random() % 360) + 360;
|
||||
gWeatherPtr->initStep++;
|
||||
// fall through
|
||||
case 5:
|
||||
if (--gWeatherPtr->unknown_6E6 == 0)
|
||||
case TSTORM_STATE_LOOP_WAIT:
|
||||
// Wait between 360-720 frames before trying thunder again
|
||||
if (--gWeatherPtr->thunderDelay == 0)
|
||||
gWeatherPtr->initStep++;
|
||||
break;
|
||||
case 6:
|
||||
gWeatherPtr->unknown_6EA = 1;
|
||||
gWeatherPtr->unknown_6EB = Random() % 2;
|
||||
case TSTORM_STATE_INIT_THUNDER_SHORT_1:
|
||||
gWeatherPtr->thunderAllowEnd = TRUE;
|
||||
gWeatherPtr->thunderSkipShort = Random() % 2;
|
||||
gWeatherPtr->initStep++;
|
||||
break;
|
||||
case 7:
|
||||
gWeatherPtr->unknown_6EC = (Random() & 1) + 1;
|
||||
case TSTORM_STATE_INIT_THUNDER_SHORT_2:
|
||||
gWeatherPtr->thunderShortRetries = (Random() & 1) + 1;
|
||||
gWeatherPtr->initStep++;
|
||||
// fall through
|
||||
case 8:
|
||||
sub_80ABC48(19);
|
||||
if (gWeatherPtr->unknown_6EB == 0 && gWeatherPtr->unknown_6EC == 1)
|
||||
SetThunderCounter(20);
|
||||
case TSTORM_STATE_TRY_THUNDER_SHORT:
|
||||
ApplyWeatherGammaShiftIfIdle(19);
|
||||
if (!gWeatherPtr->thunderSkipShort && gWeatherPtr->thunderShortRetries == 1)
|
||||
SetThunderCounter(20); // Do short thunder
|
||||
|
||||
gWeatherPtr->unknown_6E6 = (Random() % 3) + 6;
|
||||
gWeatherPtr->thunderDelay = (Random() % 3) + 6;
|
||||
gWeatherPtr->initStep++;
|
||||
break;
|
||||
case 9:
|
||||
if (--gWeatherPtr->unknown_6E6 == 0)
|
||||
case TSTORM_STATE_TRY_NEW_THUNDER:
|
||||
if (--gWeatherPtr->thunderDelay == 0)
|
||||
{
|
||||
sub_80ABC48(3);
|
||||
gWeatherPtr->unknown_6EA = 1;
|
||||
if (--gWeatherPtr->unknown_6EC != 0)
|
||||
ApplyWeatherGammaShiftIfIdle(3);
|
||||
gWeatherPtr->thunderAllowEnd = TRUE;
|
||||
if (--gWeatherPtr->thunderShortRetries != 0)
|
||||
{
|
||||
gWeatherPtr->unknown_6E6 = (Random() % 16) + 60;
|
||||
gWeatherPtr->initStep = 10;
|
||||
// Try a short thunder again
|
||||
gWeatherPtr->thunderDelay = (Random() % 16) + 60;
|
||||
gWeatherPtr->initStep = TSTORM_STATE_WAIT_THUNDER_SHORT;
|
||||
}
|
||||
else if (gWeatherPtr->unknown_6EB == 0)
|
||||
else if (!gWeatherPtr->thunderSkipShort)
|
||||
{
|
||||
gWeatherPtr->initStep = 4;
|
||||
// No more thunder, restart loop
|
||||
gWeatherPtr->initStep = TSTORM_STATE_LOOP_START;
|
||||
}
|
||||
else
|
||||
{
|
||||
gWeatherPtr->initStep = 11;
|
||||
// Set up long thunder
|
||||
gWeatherPtr->initStep = TSTORM_STATE_INIT_THUNDER_LONG;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
if (--gWeatherPtr->unknown_6E6 == 0)
|
||||
gWeatherPtr->initStep = 8;
|
||||
case TSTORM_STATE_WAIT_THUNDER_SHORT:
|
||||
if (--gWeatherPtr->thunderDelay == 0)
|
||||
gWeatherPtr->initStep = TSTORM_STATE_TRY_THUNDER_SHORT;
|
||||
break;
|
||||
case 11:
|
||||
gWeatherPtr->unknown_6E6 = (Random() % 16) + 60;
|
||||
case TSTORM_STATE_INIT_THUNDER_LONG:
|
||||
gWeatherPtr->thunderDelay = (Random() % 16) + 60;
|
||||
gWeatherPtr->initStep++;
|
||||
break;
|
||||
case 12:
|
||||
if (--gWeatherPtr->unknown_6E6 == 0)
|
||||
case TSTORM_STATE_WAIT_THUNDER_LONG:
|
||||
if (--gWeatherPtr->thunderDelay == 0)
|
||||
{
|
||||
// Do long thunder
|
||||
SetThunderCounter(100);
|
||||
sub_80ABC48(19);
|
||||
gWeatherPtr->unknown_6E6 = (Random() & 0xF) + 30;
|
||||
ApplyWeatherGammaShiftIfIdle(19);
|
||||
gWeatherPtr->thunderDelay = (Random() & 0xF) + 30;
|
||||
gWeatherPtr->initStep++;
|
||||
}
|
||||
break;
|
||||
case 13:
|
||||
if (--gWeatherPtr->unknown_6E6 == 0)
|
||||
case TSTORM_STATE_FADE_THUNDER_LONG:
|
||||
if (--gWeatherPtr->thunderDelay == 0)
|
||||
{
|
||||
sub_80ABC7C(19, 3, 5);
|
||||
gWeatherPtr->initStep++;
|
||||
}
|
||||
break;
|
||||
case 14:
|
||||
case TSTORM_STATE_END_THUNDER_LONG:
|
||||
if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE)
|
||||
{
|
||||
gWeatherPtr->unknown_6EA = 1;
|
||||
gWeatherPtr->initStep = 4;
|
||||
gWeatherPtr->thunderAllowEnd = TRUE;
|
||||
gWeatherPtr->initStep = TSTORM_STATE_LOOP_START;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1170,12 +1199,12 @@ bool8 Thunderstorm_Finish(void)
|
||||
switch (gWeatherPtr->finishStep)
|
||||
{
|
||||
case 0:
|
||||
gWeatherPtr->unknown_6EA = 0;
|
||||
gWeatherPtr->thunderAllowEnd = FALSE;
|
||||
gWeatherPtr->finishStep++;
|
||||
// fall through
|
||||
case 1:
|
||||
Thunderstorm_Main();
|
||||
if (gWeatherPtr->unknown_6EA)
|
||||
if (gWeatherPtr->thunderAllowEnd)
|
||||
{
|
||||
if (gWeatherPtr->nextWeather == WEATHER_RAIN
|
||||
|| gWeatherPtr->nextWeather == WEATHER_RAIN_THUNDERSTORM
|
||||
@@ -1203,16 +1232,16 @@ bool8 Thunderstorm_Finish(void)
|
||||
|
||||
static void SetThunderCounter(u16 max)
|
||||
{
|
||||
if (gWeatherPtr->thunderTriggered == 0)
|
||||
if (!gWeatherPtr->thunderTriggered)
|
||||
{
|
||||
gWeatherPtr->thunderCounter = Random() % max;
|
||||
gWeatherPtr->thunderTriggered = 1;
|
||||
gWeatherPtr->thunderTriggered = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
static void UpdateThunderSound(void)
|
||||
{
|
||||
if (gWeatherPtr->thunderTriggered == 1)
|
||||
if (gWeatherPtr->thunderTriggered == TRUE)
|
||||
{
|
||||
if (gWeatherPtr->thunderCounter == 0)
|
||||
{
|
||||
@@ -1224,7 +1253,7 @@ static void UpdateThunderSound(void)
|
||||
else
|
||||
PlaySE(SE_THUNDER2);
|
||||
|
||||
gWeatherPtr->thunderTriggered = 0;
|
||||
gWeatherPtr->thunderTriggered = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1237,10 +1266,9 @@ static void UpdateThunderSound(void)
|
||||
// WEATHER_FOG_HORIZONTAL and WEATHER_UNDERWATER
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
// unused data
|
||||
static const u16 unusedData_839AB1C[] = {0, 6, 6, 12, 18, 42, 300, 300};
|
||||
static const u16 sUnusedData[] = {0, 6, 6, 12, 18, 42, 300, 300};
|
||||
|
||||
static const struct OamData gOamData_839AB2C =
|
||||
static const struct OamData sOamData_FogH =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
@@ -1257,72 +1285,72 @@ static const struct OamData gOamData_839AB2C =
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_839AB34[] =
|
||||
static const union AnimCmd sAnim_FogH_0[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 16),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_839AB3C[] =
|
||||
static const union AnimCmd sAnim_FogH_1[] =
|
||||
{
|
||||
ANIMCMD_FRAME(32, 16),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_839AB44[] =
|
||||
static const union AnimCmd sAnim_FogH_2[] =
|
||||
{
|
||||
ANIMCMD_FRAME(64, 16),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_839AB4C[] =
|
||||
static const union AnimCmd sAnim_FogH_3[] =
|
||||
{
|
||||
ANIMCMD_FRAME(96, 16),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_839AB54[] =
|
||||
static const union AnimCmd sAnim_FogH_4[] =
|
||||
{
|
||||
ANIMCMD_FRAME(128, 16),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd gSpriteAnim_839AB5C[] =
|
||||
static const union AnimCmd sAnim_FogH_5[] =
|
||||
{
|
||||
ANIMCMD_FRAME(160, 16),
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd *const gSpriteAnimTable_839AB64[] =
|
||||
static const union AnimCmd *const sAnims_FogH[] =
|
||||
{
|
||||
gSpriteAnim_839AB34,
|
||||
gSpriteAnim_839AB3C,
|
||||
gSpriteAnim_839AB44,
|
||||
gSpriteAnim_839AB4C,
|
||||
gSpriteAnim_839AB54,
|
||||
gSpriteAnim_839AB5C,
|
||||
sAnim_FogH_0,
|
||||
sAnim_FogH_1,
|
||||
sAnim_FogH_2,
|
||||
sAnim_FogH_3,
|
||||
sAnim_FogH_4,
|
||||
sAnim_FogH_5,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_839AB7C[] =
|
||||
static const union AffineAnimCmd sAffineAnim_FogH[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const gSpriteAffineAnimTable_839AB8C[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_FogH[] =
|
||||
{
|
||||
gSpriteAffineAnim_839AB7C,
|
||||
sAffineAnim_FogH,
|
||||
};
|
||||
|
||||
static void FogHorizontalSpriteCallback(struct Sprite *);
|
||||
static const struct SpriteTemplate sFogHorizontalSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0x1201,
|
||||
.paletteTag = 0x1200,
|
||||
.oam = &gOamData_839AB2C,
|
||||
.anims = gSpriteAnimTable_839AB64,
|
||||
.tileTag = GFXTAG_FOG_H,
|
||||
.paletteTag = PALTAG_WEATHER,
|
||||
.oam = &sOamData_FogH,
|
||||
.anims = sAnims_FogH,
|
||||
.images = NULL,
|
||||
.affineAnims = gSpriteAffineAnimTable_839AB8C,
|
||||
.affineAnims = sAffineAnims_FogH,
|
||||
.callback = FogHorizontalSpriteCallback,
|
||||
};
|
||||
|
||||
@@ -1433,7 +1461,7 @@ static void CreateFogHorizontalSprites(void)
|
||||
struct SpriteSheet fogHorizontalSpriteSheet = {
|
||||
.data = gWeatherFogHorizontalTiles,
|
||||
.size = sizeof(gWeatherFogHorizontalTiles),
|
||||
.tag = 0x1201,
|
||||
.tag = GFXTAG_FOG_H,
|
||||
};
|
||||
LoadSpriteSheet(&fogHorizontalSpriteSheet);
|
||||
for (i = 0; i < NUM_FOG_HORIZONTAL_SPRITES; i++)
|
||||
@@ -1469,7 +1497,7 @@ static void DestroyFogHorizontalSprites(void)
|
||||
DestroySprite(gWeatherPtr->sprites.s2.fogHSprites[i]);
|
||||
}
|
||||
|
||||
FreeSpriteTilesByTag(0x1201);
|
||||
FreeSpriteTilesByTag(GFXTAG_FOG_H);
|
||||
gWeatherPtr->fogHSpritesCreated = 0;
|
||||
}
|
||||
}
|
||||
@@ -1491,7 +1519,7 @@ void Ash_InitVars(void)
|
||||
gWeatherPtr->weatherGfxLoaded = FALSE;
|
||||
gWeatherPtr->gammaTargetIndex = 0;
|
||||
gWeatherPtr->gammaStepDelay = 20;
|
||||
gWeatherPtr->unknown_6FE = 20;
|
||||
gWeatherPtr->ashUnused = 20; // Never read
|
||||
if (!gWeatherPtr->ashSpritesCreated)
|
||||
{
|
||||
Weather_SetBlendCoeffs(0, 16);
|
||||
@@ -1567,7 +1595,7 @@ static const struct SpriteSheet sAshSpriteSheet =
|
||||
{
|
||||
.data = gWeatherAshTiles,
|
||||
.size = sizeof(gWeatherAshTiles),
|
||||
.tag = 0x1202,
|
||||
.tag = GFXTAG_ASH,
|
||||
};
|
||||
|
||||
static void LoadAshSpriteSheet(void)
|
||||
@@ -1603,8 +1631,8 @@ static const union AnimCmd *const sAshSpriteAnimCmds[] =
|
||||
|
||||
static const struct SpriteTemplate sAshSpriteTemplate =
|
||||
{
|
||||
.tileTag = 4610,
|
||||
.paletteTag = 0x1200,
|
||||
.tileTag = GFXTAG_ASH,
|
||||
.paletteTag = PALTAG_WEATHER,
|
||||
.oam = &sAshSpriteOamData,
|
||||
.anims = sAshSpriteAnimCmds,
|
||||
.images = NULL,
|
||||
@@ -1659,7 +1687,7 @@ static void DestroyAshSprites(void)
|
||||
DestroySprite(gWeatherPtr->sprites.s2.ashSprites[i]);
|
||||
}
|
||||
|
||||
FreeSpriteTilesByTag(0x1202);
|
||||
FreeSpriteTilesByTag(GFXTAG_ASH);
|
||||
gWeatherPtr->ashSpritesCreated = FALSE;
|
||||
}
|
||||
}
|
||||
@@ -1790,7 +1818,7 @@ static const struct SpriteSheet gFogDiagonalSpriteSheet =
|
||||
{
|
||||
.data = gWeatherFogDiagonalTiles,
|
||||
.size = sizeof(gWeatherFogDiagonalTiles),
|
||||
.tag = 0x1203,
|
||||
.tag = GFXTAG_FOG_D,
|
||||
};
|
||||
|
||||
static const struct OamData sFogDiagonalSpriteOamData =
|
||||
@@ -1820,8 +1848,8 @@ static const union AnimCmd *const sFogDiagonalSpriteAnimCmds[] =
|
||||
|
||||
static const struct SpriteTemplate sFogDiagonalSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0x1203,
|
||||
.paletteTag = 0x1200,
|
||||
.tileTag = GFXTAG_FOG_D,
|
||||
.paletteTag = PALTAG_WEATHER,
|
||||
.oam = &sFogDiagonalSpriteOamData,
|
||||
.anims = sFogDiagonalSpriteAnimCmds,
|
||||
.images = NULL,
|
||||
@@ -1875,7 +1903,7 @@ static void DestroyFogDiagonalSprites(void)
|
||||
DestroySprite(gWeatherPtr->sprites.s2.fogDSprites[i]);
|
||||
}
|
||||
|
||||
FreeSpriteTilesByTag(0x1203);
|
||||
FreeSpriteTilesByTag(GFXTAG_FOG_D);
|
||||
gWeatherPtr->fogDSpritesCreated = FALSE;
|
||||
}
|
||||
}
|
||||
@@ -2018,7 +2046,7 @@ static void DestroySandstormSprites(void)
|
||||
}
|
||||
|
||||
gWeatherPtr->sandstormSpritesCreated = FALSE;
|
||||
FreeSpriteTilesByTag(0x1204);
|
||||
FreeSpriteTilesByTag(GFXTAG_SANDSTORM);
|
||||
}
|
||||
|
||||
if (gWeatherPtr->sandstormSwirlSpritesCreated)
|
||||
@@ -2067,8 +2095,8 @@ static const union AnimCmd *const sSandstormSpriteAnimCmds[] =
|
||||
|
||||
static const struct SpriteTemplate sSandstormSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0x1204,
|
||||
.paletteTag = 0x1201,
|
||||
.tileTag = GFXTAG_SANDSTORM,
|
||||
.paletteTag = PALTAG_WEATHER_2,
|
||||
.oam = &sSandstormSpriteOamData,
|
||||
.anims = sSandstormSpriteAnimCmds,
|
||||
.images = NULL,
|
||||
@@ -2080,7 +2108,7 @@ static const struct SpriteSheet sSandstormSpriteSheet =
|
||||
{
|
||||
.data = gWeatherSandstormTiles,
|
||||
.size = sizeof(gWeatherSandstormTiles),
|
||||
.tag = 0x1204,
|
||||
.tag = GFXTAG_SANDSTORM,
|
||||
};
|
||||
|
||||
// Regular sandstorm sprites
|
||||
@@ -2242,7 +2270,7 @@ static const struct SpriteSheet sWeatherBubbleSpriteSheet =
|
||||
{
|
||||
.data = gWeatherBubbleTiles,
|
||||
.size = sizeof(gWeatherBubbleTiles),
|
||||
.tag = 0x1205,
|
||||
.tag = GFXTAG_BUBBLE,
|
||||
};
|
||||
|
||||
static const s16 sBubbleStartCoords[][2] =
|
||||
@@ -2322,8 +2350,8 @@ static const union AnimCmd *const sBubbleSpriteAnimCmds[] =
|
||||
|
||||
static const struct SpriteTemplate sBubbleSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0x1205,
|
||||
.paletteTag = 0x1200,
|
||||
.tileTag = GFXTAG_BUBBLE,
|
||||
.paletteTag = PALTAG_WEATHER,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_8x8,
|
||||
.anims = sBubbleSpriteAnimCmds,
|
||||
.images = NULL,
|
||||
@@ -2363,7 +2391,7 @@ static void DestroyBubbleSprites(void)
|
||||
DestroySprite(&gSprites[i]);
|
||||
}
|
||||
|
||||
FreeSpriteTilesByTag(0x1205);
|
||||
FreeSpriteTilesByTag(GFXTAG_BUBBLE);
|
||||
gWeatherPtr->bubblesSpriteCount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
+98
-229
@@ -15,6 +15,7 @@
|
||||
#include "trainer_hill.h"
|
||||
#include "tv.h"
|
||||
#include "constants/rgb.h"
|
||||
#include "constants/metatile_behaviors.h"
|
||||
|
||||
struct ConnectionFlags
|
||||
{
|
||||
@@ -43,6 +44,24 @@ static void FillEastConnection(struct MapHeader const *mapHeader, struct MapHead
|
||||
static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader);
|
||||
static void LoadSavedMapView(void);
|
||||
static bool8 SkipCopyingMetatileFromSavedMap(u16* mapMetatilePtr, u16 mapWidth, u8 yMode);
|
||||
static struct MapConnection *GetIncomingConnection(u8 direction, int x, int y);
|
||||
static bool8 IsPosInIncomingConnectingMap(u8 direction, int x, int y, struct MapConnection *connection);
|
||||
static bool8 IsCoordInIncomingConnectingMap(int coord, int srcMax, int destMax, int offset);
|
||||
|
||||
#define MapGridGetBorderTileAt(x, y) ({ \
|
||||
u16 block; \
|
||||
int i; \
|
||||
u16 *border = gMapHeader.mapLayout->border; \
|
||||
\
|
||||
i = (x + 1) & 1; \
|
||||
i += ((y + 1) & 1) * 2; \
|
||||
\
|
||||
block = gMapHeader.mapLayout->border[i] | METATILE_COLLISION_MASK; \
|
||||
})
|
||||
|
||||
#define AreCoordsWithinMapGridBounds(x, y) (x >= 0 && x < gBackupMapLayout.width && y >= 0 && y < gBackupMapLayout.height)
|
||||
|
||||
#define MapGridGetTileAt(x, y) (AreCoordsWithinMapGridBounds(x, y) ? gBackupMapLayout.map[x + gBackupMapLayout.width * y] : MapGridGetBorderTileAt(x, y))
|
||||
|
||||
struct MapHeader const *const GetMapHeaderFromConnection(struct MapConnection *connection)
|
||||
{
|
||||
@@ -68,13 +87,13 @@ void InitMapFromSavedGame(void)
|
||||
|
||||
void InitBattlePyramidMap(bool8 setPlayerPosition)
|
||||
{
|
||||
CpuFastFill(0x03ff03ff, gBackupMapData, sizeof(gBackupMapData));
|
||||
CpuFastFill(METATILE_ID_UNDEFINED << 16 | METATILE_ID_UNDEFINED, gBackupMapData, sizeof(gBackupMapData));
|
||||
GenerateBattlePyramidFloorLayout(gBackupMapData, setPlayerPosition);
|
||||
}
|
||||
|
||||
void InitTrainerHillMap(void)
|
||||
{
|
||||
CpuFastFill(0x03ff03ff, gBackupMapData, sizeof(gBackupMapData));
|
||||
CpuFastFill(METATILE_ID_UNDEFINED << 16 | METATILE_ID_UNDEFINED, gBackupMapData, sizeof(gBackupMapData));
|
||||
GenerateTrainerHillFloorLayout(gBackupMapData);
|
||||
}
|
||||
|
||||
@@ -84,7 +103,7 @@ static void InitMapLayoutData(struct MapHeader *mapHeader)
|
||||
int width;
|
||||
int height;
|
||||
mapLayout = mapHeader->mapLayout;
|
||||
CpuFastFill16(0x03ff, gBackupMapData, sizeof(gBackupMapData));
|
||||
CpuFastFill16(METATILE_ID_UNDEFINED, gBackupMapData, sizeof(gBackupMapData));
|
||||
gBackupMapLayout.map = gBackupMapData;
|
||||
width = mapLayout->width + 15;
|
||||
gBackupMapLayout.width = width;
|
||||
@@ -130,26 +149,26 @@ static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader)
|
||||
{
|
||||
case CONNECTION_SOUTH:
|
||||
FillSouthConnection(mapHeader, cMap, offset);
|
||||
gMapConnectionFlags.south = 1;
|
||||
gMapConnectionFlags.south = TRUE;
|
||||
break;
|
||||
case CONNECTION_NORTH:
|
||||
FillNorthConnection(mapHeader, cMap, offset);
|
||||
gMapConnectionFlags.north = 1;
|
||||
gMapConnectionFlags.north = TRUE;
|
||||
break;
|
||||
case CONNECTION_WEST:
|
||||
FillWestConnection(mapHeader, cMap, offset);
|
||||
gMapConnectionFlags.west = 1;
|
||||
gMapConnectionFlags.west = TRUE;
|
||||
break;
|
||||
case CONNECTION_EAST:
|
||||
FillEastConnection(mapHeader, cMap, offset);
|
||||
gMapConnectionFlags.east = 1;
|
||||
gMapConnectionFlags.east = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_8087F54(int x, int y, struct MapHeader const *connectedMapHeader, int x2, int y2, int width, int height)
|
||||
static void FillConnection(int x, int y, struct MapHeader const *connectedMapHeader, int x2, int y2, int width, int height)
|
||||
{
|
||||
int i;
|
||||
u16 *src;
|
||||
@@ -185,29 +204,21 @@ static void FillSouthConnection(struct MapHeader const *mapHeader, struct MapHea
|
||||
x2 = -x;
|
||||
x += cWidth;
|
||||
if (x < gBackupMapLayout.width)
|
||||
{
|
||||
width = x;
|
||||
}
|
||||
else
|
||||
{
|
||||
width = gBackupMapLayout.width;
|
||||
}
|
||||
x = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
x2 = 0;
|
||||
if (x + cWidth < gBackupMapLayout.width)
|
||||
{
|
||||
width = cWidth;
|
||||
}
|
||||
else
|
||||
{
|
||||
width = gBackupMapLayout.width - x;
|
||||
}
|
||||
}
|
||||
|
||||
sub_8087F54(
|
||||
FillConnection(
|
||||
x, y,
|
||||
connectedMapHeader,
|
||||
x2, /*y2*/ 0,
|
||||
@@ -233,29 +244,21 @@ static void FillNorthConnection(struct MapHeader const *mapHeader, struct MapHea
|
||||
x2 = -x;
|
||||
x += cWidth;
|
||||
if (x < gBackupMapLayout.width)
|
||||
{
|
||||
width = x;
|
||||
}
|
||||
else
|
||||
{
|
||||
width = gBackupMapLayout.width;
|
||||
}
|
||||
x = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
x2 = 0;
|
||||
if (x + cWidth < gBackupMapLayout.width)
|
||||
{
|
||||
width = cWidth;
|
||||
}
|
||||
else
|
||||
{
|
||||
width = gBackupMapLayout.width - x;
|
||||
}
|
||||
}
|
||||
|
||||
sub_8087F54(
|
||||
FillConnection(
|
||||
x, /*y*/ 0,
|
||||
connectedMapHeader,
|
||||
x2, y2,
|
||||
@@ -280,29 +283,21 @@ static void FillWestConnection(struct MapHeader const *mapHeader, struct MapHead
|
||||
{
|
||||
y2 = -y;
|
||||
if (y + cHeight < gBackupMapLayout.height)
|
||||
{
|
||||
height = y + cHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
height = gBackupMapLayout.height;
|
||||
}
|
||||
y = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
y2 = 0;
|
||||
if (y + cHeight < gBackupMapLayout.height)
|
||||
{
|
||||
height = cHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
height = gBackupMapLayout.height - y;
|
||||
}
|
||||
}
|
||||
|
||||
sub_8087F54(
|
||||
FillConnection(
|
||||
/*x*/ 0, y,
|
||||
connectedMapHeader,
|
||||
x2, y2,
|
||||
@@ -325,29 +320,21 @@ static void FillEastConnection(struct MapHeader const *mapHeader, struct MapHead
|
||||
{
|
||||
y2 = -y;
|
||||
if (y + cHeight < gBackupMapLayout.height)
|
||||
{
|
||||
height = y + cHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
height = gBackupMapLayout.height;
|
||||
}
|
||||
y = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
y2 = 0;
|
||||
if (y + cHeight < gBackupMapLayout.height)
|
||||
{
|
||||
height = cHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
height = gBackupMapLayout.height - y;
|
||||
}
|
||||
}
|
||||
|
||||
sub_8087F54(
|
||||
FillConnection(
|
||||
x, y,
|
||||
connectedMapHeader,
|
||||
/*x2*/ 0, y2,
|
||||
@@ -355,124 +342,52 @@ static void FillEastConnection(struct MapHeader const *mapHeader, struct MapHead
|
||||
}
|
||||
}
|
||||
|
||||
union Block
|
||||
{
|
||||
struct
|
||||
{
|
||||
u16 block:10;
|
||||
u16 collision:2;
|
||||
u16 elevation:4;
|
||||
} block;
|
||||
u16 value;
|
||||
};
|
||||
|
||||
u8 MapGridGetZCoordAt(int x, int y)
|
||||
{
|
||||
u16 block;
|
||||
int i;
|
||||
u16 *border;
|
||||
|
||||
if (x >= 0 && x < gBackupMapLayout.width
|
||||
&& y >= 0 && y < gBackupMapLayout.height)
|
||||
{
|
||||
block = gBackupMapLayout.map[x + gBackupMapLayout.width * y];
|
||||
}
|
||||
else
|
||||
{
|
||||
border = gMapHeader.mapLayout->border;
|
||||
i = (x + 1) & 1;
|
||||
i += ((y + 1) & 1) * 2;
|
||||
block = gMapHeader.mapLayout->border[i];
|
||||
block |= METATILE_COLLISION_MASK;
|
||||
}
|
||||
u16 block = MapGridGetTileAt(x, y);
|
||||
|
||||
if (block == METATILE_ID_UNDEFINED)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return block >> METATILE_ELEVATION_SHIFT;
|
||||
}
|
||||
|
||||
u8 MapGridIsImpassableAt(int x, int y)
|
||||
bool8 MapGridIsImpassableAt(int x, int y)
|
||||
{
|
||||
u16 block;
|
||||
int i;
|
||||
u16 *border;
|
||||
u16 block = MapGridGetTileAt(x, y);
|
||||
|
||||
if (x >= 0 && x < gBackupMapLayout.width
|
||||
&& y >= 0 && y < gBackupMapLayout.height)
|
||||
{
|
||||
block = gBackupMapLayout.map[x + gBackupMapLayout.width * y];
|
||||
}
|
||||
else
|
||||
{
|
||||
border = gMapHeader.mapLayout->border;
|
||||
i = (x + 1) & 1;
|
||||
i += ((y + 1) & 1) * 2;
|
||||
block = gMapHeader.mapLayout->border[i];
|
||||
block |= METATILE_COLLISION_MASK;
|
||||
}
|
||||
if (block == METATILE_ID_UNDEFINED)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
return (block & METATILE_COLLISION_MASK) >> METATILE_COLLISION_SHIFT;
|
||||
}
|
||||
|
||||
u32 MapGridGetMetatileIdAt(int x, int y)
|
||||
{
|
||||
u16 block;
|
||||
int i;
|
||||
int j;
|
||||
struct MapLayout const *mapLayout;
|
||||
u16 *border;
|
||||
u16 block2;
|
||||
u16 block = MapGridGetTileAt(x, y);
|
||||
|
||||
if (x >= 0 && x < gBackupMapLayout.width
|
||||
&& y >= 0 && y < gBackupMapLayout.height)
|
||||
{
|
||||
block = gBackupMapLayout.map[x + gBackupMapLayout.width * y];
|
||||
}
|
||||
else
|
||||
{
|
||||
mapLayout = gMapHeader.mapLayout;
|
||||
i = (x + 1) & 1;
|
||||
i += ((y + 1) & 1) * 2;
|
||||
block = mapLayout->border[i] | METATILE_COLLISION_MASK;
|
||||
}
|
||||
if (block == METATILE_ID_UNDEFINED)
|
||||
{
|
||||
border = gMapHeader.mapLayout->border;
|
||||
j = (x + 1) & 1;
|
||||
j += ((y + 1) & 1) * 2;
|
||||
block2 = gMapHeader.mapLayout->border[j];
|
||||
// This OR is completely pointless.
|
||||
block2 |= METATILE_COLLISION_MASK;
|
||||
return block2 & METATILE_ID_MASK;
|
||||
}
|
||||
return MapGridGetBorderTileAt(x, y) & METATILE_ID_MASK;
|
||||
|
||||
return block & METATILE_ID_MASK;
|
||||
}
|
||||
|
||||
u32 MapGridGetMetatileBehaviorAt(int x, int y)
|
||||
{
|
||||
u16 metatile;
|
||||
metatile = MapGridGetMetatileIdAt(x, y);
|
||||
return GetBehaviorByMetatileId(metatile) & 0xff;
|
||||
u16 metatile = MapGridGetMetatileIdAt(x, y);
|
||||
return GetBehaviorByMetatileId(metatile) & METATILE_BEHAVIOR_MASK;
|
||||
}
|
||||
|
||||
u8 MapGridGetMetatileLayerTypeAt(int x, int y)
|
||||
{
|
||||
u16 metatile;
|
||||
metatile = MapGridGetMetatileIdAt(x, y);
|
||||
u16 metatile = MapGridGetMetatileIdAt(x, y);
|
||||
return (GetBehaviorByMetatileId(metatile) & METATILE_ELEVATION_MASK) >> METATILE_ELEVATION_SHIFT;
|
||||
}
|
||||
|
||||
void MapGridSetMetatileIdAt(int x, int y, u16 metatile)
|
||||
{
|
||||
int i;
|
||||
if (x >= 0 && x < gBackupMapLayout.width
|
||||
&& y >= 0 && y < gBackupMapLayout.height)
|
||||
if (AreCoordsWithinMapGridBounds(x, y))
|
||||
{
|
||||
i = x + y * gBackupMapLayout.width;
|
||||
gBackupMapLayout.map[i] = (gBackupMapLayout.map[i] & METATILE_ELEVATION_MASK) | (metatile & ~METATILE_ELEVATION_MASK);
|
||||
@@ -482,8 +397,7 @@ void MapGridSetMetatileIdAt(int x, int y, u16 metatile)
|
||||
void MapGridSetMetatileEntryAt(int x, int y, u16 metatile)
|
||||
{
|
||||
int i;
|
||||
if (x >= 0 && x < gBackupMapLayout.width
|
||||
&& y >= 0 && y < gBackupMapLayout.height)
|
||||
if (AreCoordsWithinMapGridBounds(x, y))
|
||||
{
|
||||
i = x + gBackupMapLayout.width * y;
|
||||
gBackupMapLayout.map[i] = metatile;
|
||||
@@ -505,11 +419,11 @@ u16 GetBehaviorByMetatileId(u16 metatile)
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0xFF;
|
||||
return MB_INVALID;
|
||||
}
|
||||
}
|
||||
|
||||
void save_serialize_map(void)
|
||||
void SaveMapView(void)
|
||||
{
|
||||
int i, j;
|
||||
int x, y;
|
||||
@@ -522,9 +436,7 @@ void save_serialize_map(void)
|
||||
for (i = y; i < y + 14; i++)
|
||||
{
|
||||
for (j = x; j < x + 15; j++)
|
||||
{
|
||||
*mapView++ = gBackupMapData[width * i + j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -595,7 +507,7 @@ static void LoadSavedMapView(void)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80885C4(u8 a1)
|
||||
static void MoveMapViewToBackup(u8 direction)
|
||||
{
|
||||
int width;
|
||||
u16 *mapView;
|
||||
@@ -614,7 +526,7 @@ void sub_80885C4(u8 a1)
|
||||
y0 = gSaveBlock1Ptr->pos.y;
|
||||
x2 = 15;
|
||||
y2 = 14;
|
||||
switch (a1)
|
||||
switch (direction)
|
||||
{
|
||||
case CONNECTION_NORTH:
|
||||
y0 += 1;
|
||||
@@ -653,71 +565,40 @@ void sub_80885C4(u8 a1)
|
||||
|
||||
int GetMapBorderIdAt(int x, int y)
|
||||
{
|
||||
struct MapLayout const *mapLayout;
|
||||
u16 block, block2;
|
||||
int i, j;
|
||||
if (x >= 0 && x < gBackupMapLayout.width
|
||||
&& y >= 0 && y < gBackupMapLayout.height)
|
||||
{
|
||||
i = gBackupMapLayout.width;
|
||||
i *= y;
|
||||
block = gBackupMapLayout.map[x + i];
|
||||
if (block == METATILE_ID_UNDEFINED)
|
||||
{
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mapLayout = gMapHeader.mapLayout;
|
||||
j = (x + 1) & 1;
|
||||
j += ((y + 1) & 1) * 2;
|
||||
block2 = METATILE_COLLISION_MASK | mapLayout->border[j];
|
||||
if (block2 == METATILE_ID_UNDEFINED)
|
||||
{
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
goto success;
|
||||
fail:
|
||||
return -1;
|
||||
success:
|
||||
if (MapGridGetTileAt(x, y) == METATILE_ID_UNDEFINED)
|
||||
return CONNECTION_INVALID;
|
||||
|
||||
if (x >= (gBackupMapLayout.width - 8))
|
||||
{
|
||||
if (!gMapConnectionFlags.east)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
return CONNECTION_INVALID;
|
||||
|
||||
return CONNECTION_EAST;
|
||||
}
|
||||
else if (x < 7)
|
||||
{
|
||||
if (!gMapConnectionFlags.west)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
return CONNECTION_INVALID;
|
||||
|
||||
return CONNECTION_WEST;
|
||||
}
|
||||
else if (y >= (gBackupMapLayout.height - 7))
|
||||
{
|
||||
if (!gMapConnectionFlags.south)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
return CONNECTION_INVALID;
|
||||
|
||||
return CONNECTION_SOUTH;
|
||||
}
|
||||
else if (y < 7)
|
||||
{
|
||||
if (!gMapConnectionFlags.north)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
return CONNECTION_INVALID;
|
||||
|
||||
return CONNECTION_NORTH;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
return CONNECTION_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -726,19 +607,19 @@ int GetPostCameraMoveMapBorderId(int x, int y)
|
||||
return GetMapBorderIdAt(gSaveBlock1Ptr->pos.x + 7 + x, gSaveBlock1Ptr->pos.y + 7 + y);
|
||||
}
|
||||
|
||||
int CanCameraMoveInDirection(int direction)
|
||||
bool32 CanCameraMoveInDirection(int direction)
|
||||
{
|
||||
int x, y;
|
||||
x = gSaveBlock1Ptr->pos.x + 7 + gDirectionToVectors[direction].x;
|
||||
y = gSaveBlock1Ptr->pos.y + 7 + gDirectionToVectors[direction].y;
|
||||
if (GetMapBorderIdAt(x, y) == -1)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
|
||||
if (GetMapBorderIdAt(x, y) == CONNECTION_INVALID)
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_80887F8(struct MapConnection *connection, int direction, int x, int y)
|
||||
static void SetPositionFromConnection(struct MapConnection *connection, int direction, int x, int y)
|
||||
{
|
||||
struct MapHeader const *mapHeader;
|
||||
mapHeader = GetMapHeaderFromConnection(connection);
|
||||
@@ -765,69 +646,57 @@ void sub_80887F8(struct MapConnection *connection, int direction, int x, int y)
|
||||
|
||||
bool8 CameraMove(int x, int y)
|
||||
{
|
||||
unsigned int direction;
|
||||
int direction;
|
||||
struct MapConnection *connection;
|
||||
int old_x, old_y;
|
||||
gCamera.active = FALSE;
|
||||
direction = GetPostCameraMoveMapBorderId(x, y);
|
||||
if (direction + 1 <= 1)
|
||||
if (direction == CONNECTION_NONE || direction == CONNECTION_INVALID)
|
||||
{
|
||||
gSaveBlock1Ptr->pos.x += x;
|
||||
gSaveBlock1Ptr->pos.y += y;
|
||||
}
|
||||
else
|
||||
{
|
||||
save_serialize_map();
|
||||
SaveMapView();
|
||||
ClearMirageTowerPulseBlendEffect();
|
||||
old_x = gSaveBlock1Ptr->pos.x;
|
||||
old_y = gSaveBlock1Ptr->pos.y;
|
||||
connection = sub_8088950(direction, gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y);
|
||||
sub_80887F8(connection, direction, x, y);
|
||||
connection = GetIncomingConnection(direction, gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y);
|
||||
SetPositionFromConnection(connection, direction, x, y);
|
||||
LoadMapFromCameraTransition(connection->mapGroup, connection->mapNum);
|
||||
gCamera.active = TRUE;
|
||||
gCamera.x = old_x - gSaveBlock1Ptr->pos.x;
|
||||
gCamera.y = old_y - gSaveBlock1Ptr->pos.y;
|
||||
gSaveBlock1Ptr->pos.x += x;
|
||||
gSaveBlock1Ptr->pos.y += y;
|
||||
sub_80885C4(direction);
|
||||
MoveMapViewToBackup(direction);
|
||||
}
|
||||
return gCamera.active;
|
||||
}
|
||||
|
||||
struct MapConnection *sub_8088950(u8 direction, int x, int y)
|
||||
static struct MapConnection *GetIncomingConnection(u8 direction, int x, int y)
|
||||
{
|
||||
int count;
|
||||
int i;
|
||||
struct MapConnection *connection;
|
||||
const struct MapConnections *connections = gMapHeader.connections;
|
||||
// UB: Multiple possible null dereferences
|
||||
#ifdef UBFIX
|
||||
if (connections != NULL)
|
||||
{
|
||||
count = connections->count;
|
||||
connection = connections->connections;
|
||||
if (connection != NULL)
|
||||
{
|
||||
for (i = 0; i < count; i++, connection++)
|
||||
{
|
||||
if (connection->direction == direction && sub_80889A8(direction, x, y, connection) == TRUE)
|
||||
return connection;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
||||
#ifdef UBFIX // UB: Multiple possible null dereferences
|
||||
if (connections == NULL || connections->connections == NULL)
|
||||
return NULL;
|
||||
#endif
|
||||
count = connections->count;
|
||||
connection = connections->connections;
|
||||
for (i = 0; i < count; i++, connection++)
|
||||
{
|
||||
if (connection->direction == direction && sub_80889A8(direction, x, y, connection) == TRUE)
|
||||
if (connection->direction == direction && IsPosInIncomingConnectingMap(direction, x, y, connection) == TRUE)
|
||||
return connection;
|
||||
}
|
||||
#endif
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection)
|
||||
static bool8 IsPosInIncomingConnectingMap(u8 direction, int x, int y, struct MapConnection *connection)
|
||||
{
|
||||
struct MapHeader const *mapHeader;
|
||||
mapHeader = GetMapHeaderFromConnection(connection);
|
||||
@@ -835,15 +704,15 @@ bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection)
|
||||
{
|
||||
case CONNECTION_SOUTH:
|
||||
case CONNECTION_NORTH:
|
||||
return sub_8088A0C(x, gMapHeader.mapLayout->width, mapHeader->mapLayout->width, connection->offset);
|
||||
return IsCoordInIncomingConnectingMap(x, gMapHeader.mapLayout->width, mapHeader->mapLayout->width, connection->offset);
|
||||
case CONNECTION_WEST:
|
||||
case CONNECTION_EAST:
|
||||
return sub_8088A0C(y, gMapHeader.mapLayout->height, mapHeader->mapLayout->height, connection->offset);
|
||||
return IsCoordInIncomingConnectingMap(y, gMapHeader.mapLayout->height, mapHeader->mapLayout->height, connection->offset);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset)
|
||||
static bool8 IsCoordInIncomingConnectingMap(int coord, int srcMax, int destMax, int offset)
|
||||
{
|
||||
int offset2;
|
||||
offset2 = offset;
|
||||
@@ -851,24 +720,24 @@ bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset)
|
||||
if (offset2 < 0)
|
||||
offset2 = 0;
|
||||
|
||||
if (dest_width + offset < src_width)
|
||||
src_width = dest_width + offset;
|
||||
if (destMax + offset < srcMax)
|
||||
srcMax = destMax + offset;
|
||||
|
||||
if (offset2 <= x && x <= src_width)
|
||||
if (offset2 <= coord && coord <= srcMax)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int sub_8088A38(int x, int width)
|
||||
static int IsCoordInConnectingMap(int coord, int max)
|
||||
{
|
||||
if (x >= 0 && x < width)
|
||||
if (coord >= 0 && coord < max)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int sub_8088A4C(struct MapConnection *connection, int x, int y)
|
||||
static int IsPosInConnectingMap(struct MapConnection *connection, int x, int y)
|
||||
{
|
||||
struct MapHeader const *mapHeader;
|
||||
mapHeader = GetMapHeaderFromConnection(connection);
|
||||
@@ -876,10 +745,10 @@ int sub_8088A4C(struct MapConnection *connection, int x, int y)
|
||||
{
|
||||
case CONNECTION_SOUTH:
|
||||
case CONNECTION_NORTH:
|
||||
return sub_8088A38(x - connection->offset, mapHeader->mapLayout->width);
|
||||
return IsCoordInConnectingMap(x - connection->offset, mapHeader->mapLayout->width);
|
||||
case CONNECTION_WEST:
|
||||
case CONNECTION_EAST:
|
||||
return sub_8088A38(y - connection->offset, mapHeader->mapLayout->height);
|
||||
return IsCoordInConnectingMap(y - connection->offset, mapHeader->mapLayout->height);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
@@ -909,7 +778,7 @@ struct MapConnection *GetConnectionAtCoords(s16 x, s16 y)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (sub_8088A4C(connection, x - 7, y - 7) == TRUE)
|
||||
if (IsPosInConnectingMap(connection, x - 7, y - 7) == TRUE)
|
||||
{
|
||||
return connection;
|
||||
}
|
||||
@@ -945,7 +814,7 @@ void GetCameraCoords(u16 *x, u16 *y)
|
||||
|
||||
void MapGridSetMetatileImpassabilityAt(int x, int y, bool32 impassable)
|
||||
{
|
||||
if (x >= 0 && x < gBackupMapLayout.width && y >= 0 && y < gBackupMapLayout.height)
|
||||
if (AreCoordsWithinMapGridBounds(x, y))
|
||||
{
|
||||
if (impassable)
|
||||
gBackupMapLayout.map[x + gBackupMapLayout.width * y] |= METATILE_COLLISION_MASK;
|
||||
@@ -991,12 +860,12 @@ static void CopyTilesetToVramUsingHeap(struct Tileset const *tileset, u16 numTil
|
||||
}
|
||||
}
|
||||
|
||||
void nullsub_3(u16 a0, u16 a1)
|
||||
static void FieldmapPaletteDummy(u16 offset, u16 size)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void nullsub_90(void)
|
||||
static void FieldmapUnkDummy(void)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -1011,17 +880,17 @@ void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u16 size)
|
||||
{
|
||||
LoadPalette(&black, destOffset, 2);
|
||||
LoadPalette(((u16*)tileset->palettes) + 1, destOffset + 1, size - 2);
|
||||
nullsub_3(destOffset + 1, (size - 2) >> 1);
|
||||
FieldmapPaletteDummy(destOffset + 1, (size - 2) >> 1);
|
||||
}
|
||||
else if (tileset->isSecondary == TRUE)
|
||||
{
|
||||
LoadPalette(((u16*)tileset->palettes) + (NUM_PALS_IN_PRIMARY * 16), destOffset, size);
|
||||
nullsub_3(destOffset, size >> 1);
|
||||
FieldmapPaletteDummy(destOffset, size >> 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadCompressedPalette((u32*)tileset->palettes, destOffset, size);
|
||||
nullsub_3(destOffset, size >> 1);
|
||||
FieldmapPaletteDummy(destOffset, size >> 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -326,7 +326,7 @@ bool8 FldEff_CutGrass(void)
|
||||
y = yAdd + gPlayerFacingPosition.y;
|
||||
|
||||
SetCutGrassMetatile(x, y);
|
||||
sub_808E75C(x, y);
|
||||
AllowObjectAtPosTriggerGroundEffects(x, y);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -1298,7 +1298,7 @@ u8 CreateRecordMixingLights(void)
|
||||
else
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[spriteId];
|
||||
sub_8092FF0(16, 13, &sprite->pos1.x, &sprite->pos1.y);
|
||||
GetMapCoordsFromSpritePos(16, 13, &sprite->pos1.x, &sprite->pos1.y);
|
||||
sprite->coordOffsetEnabled = TRUE;
|
||||
sprite->pos1.x += 16;
|
||||
sprite->pos1.y += 2;
|
||||
|
||||
@@ -54,7 +54,7 @@ static void StartSweetScentFieldEffect(void)
|
||||
PlaySE(SE_M_SWEET_SCENT);
|
||||
CpuFastSet(gPlttBufferUnfaded, gPaletteDecompressionBuffer, 0x100);
|
||||
CpuFastSet(gPlttBufferFaded, gPlttBufferUnfaded, 0x100);
|
||||
BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 0, 8, RGB_RED);
|
||||
BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarSpriteId()].oam.paletteNum + 16)), 4, 0, 8, RGB_RED);
|
||||
taskId = CreateTask(TrySweetScentEncounter, 0);
|
||||
gTasks[taskId].data[0] = 0;
|
||||
FieldEffectActiveListRemove(FLDEFF_SWEET_SCENT);
|
||||
@@ -76,7 +76,7 @@ static void TrySweetScentEncounter(u8 taskId)
|
||||
else
|
||||
{
|
||||
gTasks[taskId].func = FailSweetScentEncounter;
|
||||
BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 8, 0, RGB_RED);
|
||||
BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarSpriteId()].oam.paletteNum + 16)), 4, 8, 0, RGB_RED);
|
||||
TryStartMirageTowerPulseBlendEffect();
|
||||
}
|
||||
}
|
||||
@@ -92,7 +92,7 @@ static void FailSweetScentEncounter(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
CpuFastSet(gPaletteDecompressionBuffer, gPlttBufferUnfaded, 0x100);
|
||||
sub_80AC3E4();
|
||||
SetWeatherPalStateIdle();
|
||||
ScriptContext1_SetupScript(EventScript_FailSweetScent);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user