ref: 4a16bbe45a3d547c44aadd127253f6f5eaf78f54
parent: 1c1fe276ca59726bb0008c60006c6b48cd093573
author: PikalaxALT <[email protected]>
date: Tue Nov 3 04:16:56 EST 2015
sprite_header and emote_header
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -566,6 +566,7 @@
const MAPOBJECT_FLAG_HI ; d
const MAPOBJECT_E ; unused
const MAPOBJECT_F ; unused
+OBJECT_LENGTH EQU const_value
MAPOBJECT_SCREEN_HEIGHT EQU 11
MAPOBJECT_SCREEN_WIDTH EQU 12
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -54,7 +54,6 @@
PLAYER_OBJECT EQU 0
NUM_OBJECTS EQU $10
-OBJECT_LENGTH EQU $10
; InputType: ; c2c7
AUTO_INPUT EQU $ff
binary files a/gfx/misc/fishing.2bpp /dev/null differ
--- /dev/null
+++ b/gfx/misc/fishing1.2bpp
@@ -1,0 +1,1 @@
+????
\ No newline at end of file
binary files /dev/null b/gfx/misc/fishing2.2bpp differ
binary files /dev/null b/gfx/misc/fishing3.2bpp differ
--- /dev/null
+++ b/gfx/misc/fishing4.2bpp
@@ -1,0 +1,1 @@
+@ 2�d 6
\ No newline at end of file
--- a/gfx/overworld/sprite_headers.asm
+++ b/gfx/overworld/sprite_headers.asm
@@ -3,614 +3,416 @@
; Length, Bank
; Type, Palette
+sprite_header: MACRO
+ dw \1
+ db \2 * $40, BANK(\1)
+ db \3, \4
+ENDM
+
ChrisSprite: ; 14736
- dw ChrisSpriteGFX
- db $3 * $40, BANK(ChrisSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header ChrisSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 1473c
ChrisBikeSprite: ; 1473c
- dw ChrisBikeSpriteGFX
- db $3 * $40, BANK(ChrisBikeSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header ChrisBikeSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 14742
GameboyKidSprite: ; 14742
- dw GameboyKidSpriteGFX
- db $3 * $40, BANK(GameboyKidSpriteGFX)
- db STANDING_SPRITE, PAL_OW_GREEN
+ sprite_header GameboyKidSpriteGFX, 3, STANDING_SPRITE, PAL_OW_GREEN
; 14748
SilverSprite: ; 14748
- dw SilverSpriteGFX
- db $3 * $40, BANK(SilverSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header SilverSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 1474e
OakSprite: ; 1474e
- dw OakSpriteGFX
- db $3 * $40, BANK(OakSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header OakSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 14754
RedSprite: ; 14754
- dw RedSpriteGFX
- db $3 * $40, BANK(RedSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header RedSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 1475a
BlueSprite: ; 1475a
- dw BlueSpriteGFX
- db $3 * $40, BANK(BlueSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header BlueSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 14760
BillSprite: ; 14760
- dw BillSpriteGFX
- db $3 * $40, BANK(BillSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header BillSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 14766
ElderSprite: ; 14766
- dw ElderSpriteGFX
- db $3 * $40, BANK(ElderSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header ElderSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 1476c
JanineSprite: ; 1476c
- dw JanineSpriteGFX
- db $3 * $40, BANK(JanineSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header JanineSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 14772
KurtSprite: ; 14772
- dw KurtSpriteGFX
- db $3 * $40, BANK(KurtSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header KurtSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 14778
MomSprite: ; 14778
- dw MomSpriteGFX
- db $3 * $40, BANK(MomSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header MomSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 1477e
BlaineSprite: ; 1477e
- dw BlaineSpriteGFX
- db $3 * $40, BANK(BlaineSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header BlaineSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 14784
RedsMomSprite: ; 14784
- dw RedsMomSpriteGFX
- db $3 * $40, BANK(RedsMomSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header RedsMomSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 1478a
DaisySprite: ; 1478a
- dw DaisySpriteGFX
- db $3 * $40, BANK(DaisySpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header DaisySpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 14790
ElmSprite: ; 14790
- dw ElmSpriteGFX
- db $3 * $40, BANK(ElmSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header ElmSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 14796
WillSprite: ; 14796
- dw WillSpriteGFX
- db $3 * $40, BANK(WillSpriteGFX)
- db STANDING_SPRITE, PAL_OW_RED
+ sprite_header WillSpriteGFX, 3, STANDING_SPRITE, PAL_OW_RED
; 1479c
FalknerSprite: ; 1479c
- dw FalknerSpriteGFX
- db $3 * $40, BANK(FalknerSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header FalknerSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 147a2
WhitneySprite: ; 147a2
- dw WhitneySpriteGFX
- db $3 * $40, BANK(WhitneySpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header WhitneySpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 147a8
BugsySprite: ; 147a8
- dw BugsySpriteGFX
- db $3 * $40, BANK(BugsySpriteGFX)
- db WALKING_SPRITE, PAL_OW_GREEN
+ sprite_header BugsySpriteGFX, 3, WALKING_SPRITE, PAL_OW_GREEN
; 147ae
MortySprite: ; 147ae
- dw MortySpriteGFX
- db $3 * $40, BANK(MortySpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header MortySpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 147b4
ChuckSprite: ; 147b4
- dw ChuckSpriteGFX
- db $3 * $40, BANK(ChuckSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header ChuckSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 147ba
JasmineSprite: ; 147ba
- dw JasmineSpriteGFX
- db $3 * $40, BANK(JasmineSpriteGFX)
- db WALKING_SPRITE, PAL_OW_GREEN
+ sprite_header JasmineSpriteGFX, 3, WALKING_SPRITE, PAL_OW_GREEN
; 147c0
PryceSprite: ; 147c0
- dw PryceSpriteGFX
- db $3 * $40, BANK(PryceSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header PryceSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 147c6
ClairSprite: ; 147c6
- dw ClairSpriteGFX
- db $3 * $40, BANK(ClairSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header ClairSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 147cc
BrockSprite: ; 147cc
- dw BrockSpriteGFX
- db $3 * $40, BANK(BrockSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header BrockSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 147d2
KarenSprite: ; 147d2
- dw KarenSpriteGFX
- db $3 * $40, BANK(KarenSpriteGFX)
- db STANDING_SPRITE, PAL_OW_BLUE
+ sprite_header KarenSpriteGFX, 3, STANDING_SPRITE, PAL_OW_BLUE
; 147d8
BrunoSprite: ; 147d8
- dw BrunoSpriteGFX
- db $3 * $40, BANK(BrunoSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header BrunoSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 147de
MistySprite: ; 147de
- dw MistySpriteGFX
- db $3 * $40, BANK(MistySpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header MistySpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 147e4
LanceSprite: ; 147e4
- dw LanceSpriteGFX
- db $3 * $40, BANK(LanceSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header LanceSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 147ea
SurgeSprite: ; 147ea
- dw SurgeSpriteGFX
- db $3 * $40, BANK(SurgeSpriteGFX)
- db WALKING_SPRITE, PAL_OW_GREEN
+ sprite_header SurgeSpriteGFX, 3, WALKING_SPRITE, PAL_OW_GREEN
; 147f0
ErikaSprite: ; 147f0
- dw ErikaSpriteGFX
- db $3 * $40, BANK(ErikaSpriteGFX)
- db WALKING_SPRITE, PAL_OW_GREEN
+ sprite_header ErikaSpriteGFX, 3, WALKING_SPRITE, PAL_OW_GREEN
; 147f6
KogaSprite: ; 147f6
- dw KogaSpriteGFX
- db $3 * $40, BANK(KogaSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header KogaSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 147fc
SabrinaSprite: ; 147fc
- dw SabrinaSpriteGFX
- db $3 * $40, BANK(SabrinaSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header SabrinaSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 14802
CooltrainerMSprite: ; 14802
- dw CooltrainerMSpriteGFX
- db $3 * $40, BANK(CooltrainerMSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header CooltrainerMSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 14808
CooltrainerFSprite: ; 14808
- dw CooltrainerFSpriteGFX
- db $3 * $40, BANK(CooltrainerFSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header CooltrainerFSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 1480e
BugCatcherSprite: ; 1480e
- dw BugCatcherSpriteGFX
- db $3 * $40, BANK(BugCatcherSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header BugCatcherSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 14814
TwinSprite: ; 14814
- dw TwinSpriteGFX
- db $3 * $40, BANK(TwinSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header TwinSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 1481a
YoungsterSprite: ; 1481a
- dw YoungsterSpriteGFX
- db $3 * $40, BANK(YoungsterSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header YoungsterSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 14820
LassSprite: ; 14820
- dw LassSpriteGFX
- db $3 * $40, BANK(LassSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header LassSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 14826
TeacherSprite: ; 14826
- dw TeacherSpriteGFX
- db $3 * $40, BANK(TeacherSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header TeacherSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 1482c
BuenaSprite: ; 1482c
- dw BuenaSpriteGFX
- db $3 * $40, BANK(BuenaSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header BuenaSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 14832
SuperNerdSprite: ; 14832
- dw SuperNerdSpriteGFX
- db $3 * $40, BANK(SuperNerdSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header SuperNerdSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 14838
RockerSprite: ; 14838
- dw RockerSpriteGFX
- db $3 * $40, BANK(RockerSpriteGFX)
- db WALKING_SPRITE, PAL_OW_GREEN
+ sprite_header RockerSpriteGFX, 3, WALKING_SPRITE, PAL_OW_GREEN
; 1483e
PokefanMSprite: ; 1483e
- dw PokefanMSpriteGFX
- db $3 * $40, BANK(PokefanMSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header PokefanMSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 14844
PokefanFSprite: ; 14844
- dw PokefanFSpriteGFX
- db $3 * $40, BANK(PokefanFSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header PokefanFSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 1484a
GrampsSprite: ; 1484a
- dw GrampsSpriteGFX
- db $3 * $40, BANK(GrampsSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header GrampsSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 14850
GrannySprite: ; 14850
- dw GrannySpriteGFX
- db $3 * $40, BANK(GrannySpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header GrannySpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 14856
SwimmerGuySprite: ; 14856
- dw SwimmerGuySpriteGFX
- db $3 * $40, BANK(SwimmerGuySpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header SwimmerGuySpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 1485c
SwimmerGirlSprite: ; 1485c
- dw SwimmerGirlSpriteGFX
- db $3 * $40, BANK(SwimmerGirlSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header SwimmerGirlSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 14862
BigSnorlaxSprite: ; 14862
- dw BigSnorlaxSpriteGFX
- db $3 * $40, BANK(BigSnorlaxSpriteGFX)
- db STANDING_SPRITE, PAL_OW_BLUE
+ sprite_header BigSnorlaxSpriteGFX, 3, STANDING_SPRITE, PAL_OW_BLUE
; 14868
SurfingPikachuSprite: ; 14868
- dw SurfingPikachuSpriteGFX
- db $3 * $40, BANK(SurfingPikachuSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header SurfingPikachuSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 1486e
RocketSprite: ; 1486e
- dw RocketSpriteGFX
- db $3 * $40, BANK(RocketSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header RocketSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 14874
RocketGirlSprite: ; 14874
- dw RocketGirlSpriteGFX
- db $3 * $40, BANK(RocketGirlSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header RocketGirlSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 1487a
NurseSprite: ; 1487a
- dw NurseSpriteGFX
- db $3 * $40, BANK(NurseSpriteGFX)
- db STANDING_SPRITE, PAL_OW_RED
+ sprite_header NurseSpriteGFX, 3, STANDING_SPRITE, PAL_OW_RED
; 14880
LinkReceptionistSprite: ; 14880
- dw LinkReceptionistSpriteGFX
- db $3 * $40, BANK(LinkReceptionistSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header LinkReceptionistSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 14886
ClerkSprite: ; 14886
- dw ClerkSpriteGFX
- db $3 * $40, BANK(ClerkSpriteGFX)
- db WALKING_SPRITE, PAL_OW_GREEN
+ sprite_header ClerkSpriteGFX, 3, WALKING_SPRITE, PAL_OW_GREEN
; 1488c
FisherSprite: ; 1488c
- dw FisherSpriteGFX
- db $3 * $40, BANK(FisherSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header FisherSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 14892
FishingGuruSprite: ; 14892
- dw FishingGuruSpriteGFX
- db $3 * $40, BANK(FishingGuruSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header FishingGuruSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 14898
ScientistSprite: ; 14898
- dw ScientistSpriteGFX
- db $3 * $40, BANK(ScientistSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header ScientistSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 1489e
KimonoGirlSprite: ; 1489e
- dw KimonoGirlSpriteGFX
- db $3 * $40, BANK(KimonoGirlSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header KimonoGirlSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 148a4
SageSprite: ; 148a4
- dw SageSpriteGFX
- db $3 * $40, BANK(SageSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header SageSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 148aa
UnusedGuySprite: ; 148aa
- dw UnusedGuySpriteGFX
- db $3 * $40, BANK(UnusedGuySpriteGFX)
- db STANDING_SPRITE, PAL_OW_RED
+ sprite_header UnusedGuySpriteGFX, 3, STANDING_SPRITE, PAL_OW_RED
; 148b0
GentlemanSprite: ; 148b0
- dw GentlemanSpriteGFX
- db $3 * $40, BANK(GentlemanSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header GentlemanSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 148b6
BlackBeltSprite: ; 148b6
- dw BlackBeltSpriteGFX
- db $3 * $40, BANK(BlackBeltSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header BlackBeltSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 148bc
ReceptionistSprite: ; 148bc
- dw ReceptionistSpriteGFX
- db $3 * $40, BANK(ReceptionistSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header ReceptionistSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 148c2
OfficerSprite: ; 148c2
- dw OfficerSpriteGFX
- db $3 * $40, BANK(OfficerSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header OfficerSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 148c8
CalSprite: ; 148c8
- dw CalSpriteGFX
- db $3 * $40, BANK(CalSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header CalSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 148ce
SlowpokeSprite: ; 148ce
- dw SlowpokeSpriteGFX
- db $1 * $40, BANK(SlowpokeSpriteGFX)
- db STILL_SPRITE, PAL_OW_RED
+ sprite_header SlowpokeSpriteGFX, 1, STILL_SPRITE, PAL_OW_RED
; 148d4
CaptainSprite: ; 148d4
- dw CaptainSpriteGFX
- db $3 * $40, BANK(CaptainSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header CaptainSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 148da
BigLaprasSprite: ; 148da
- dw BigLaprasSpriteGFX
- db $3 * $40, BANK(BigLaprasSpriteGFX)
- db STANDING_SPRITE, PAL_OW_BLUE
+ sprite_header BigLaprasSpriteGFX, 3, STANDING_SPRITE, PAL_OW_BLUE
; 148e0
GymGuySprite: ; 148e0
- dw GymGuySpriteGFX
- db $3 * $40, BANK(GymGuySpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header GymGuySpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 148e6
SailorSprite: ; 148e6
- dw SailorSpriteGFX
- db $3 * $40, BANK(SailorSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header SailorSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 148ec
BikerSprite: ; 148ec
- dw BikerSpriteGFX
- db $3 * $40, BANK(BikerSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BROWN
+ sprite_header BikerSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BROWN
; 148f2
PharmacistSprite: ; 148f2
- dw PharmacistSpriteGFX
- db $3 * $40, BANK(PharmacistSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header PharmacistSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 148f8
MonsterSprite: ; 148f8
- dw MonsterSpriteGFX
- db $3 * $40, BANK(MonsterSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header MonsterSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 148fe
FairySprite: ; 148fe
- dw FairySpriteGFX
- db $3 * $40, BANK(FairySpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header FairySpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 14904
BirdSprite: ; 14904
- dw BirdSpriteGFX
- db $3 * $40, BANK(BirdSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header BirdSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 1490a
DragonSprite: ; 1490a
- dw DragonSpriteGFX
- db $3 * $40, BANK(DragonSpriteGFX)
- db WALKING_SPRITE, PAL_OW_RED
+ sprite_header DragonSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 14910
BigOnixSprite: ; 14910
- dw BigOnixSpriteGFX
- db $3 * $40, BANK(BigOnixSpriteGFX)
- db STANDING_SPRITE, PAL_OW_BROWN
+ sprite_header BigOnixSpriteGFX, 3, STANDING_SPRITE, PAL_OW_BROWN
; 14916
N64Sprite: ; 14916
- dw N64SpriteGFX
- db $1 * $40, BANK(N64SpriteGFX)
- db STILL_SPRITE, PAL_OW_BROWN
+ sprite_header N64SpriteGFX, 1, STILL_SPRITE, PAL_OW_BROWN
; 1491c
SudowoodoSprite: ; 1491c
- dw SudowoodoSpriteGFX
- db $3 * $40, BANK(SudowoodoSpriteGFX)
- db STANDING_SPRITE, PAL_OW_GREEN
+ sprite_header SudowoodoSpriteGFX, 3, STANDING_SPRITE, PAL_OW_GREEN
; 14922
SurfSprite: ; 14922
- dw SurfSpriteGFX
- db $3 * $40, BANK(SurfSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header SurfSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 14928
PokeBallSprite: ; 14928
- dw PokeBallSpriteGFX
- db $1 * $40, BANK(PokeBallSpriteGFX)
- db STILL_SPRITE, PAL_OW_RED
+ sprite_header PokeBallSpriteGFX, 1, STILL_SPRITE, PAL_OW_RED
; 1492e
PokedexSprite: ; 1492e
- dw PokedexSpriteGFX
- db $1 * $40, BANK(PokedexSpriteGFX)
- db STILL_SPRITE, PAL_OW_BROWN
+ sprite_header PokedexSpriteGFX, 1, STILL_SPRITE, PAL_OW_BROWN
; 14934
PaperSprite: ; 14934
- dw PaperSpriteGFX
- db $1 * $40, BANK(PaperSpriteGFX)
- db STILL_SPRITE, PAL_OW_BLUE
+ sprite_header PaperSpriteGFX, 1, STILL_SPRITE, PAL_OW_BLUE
; 1493a
VirtualBoySprite: ; 1493a
- dw VirtualBoySpriteGFX
- db $1 * $40, BANK(VirtualBoySpriteGFX)
- db STILL_SPRITE, PAL_OW_RED
+ sprite_header VirtualBoySpriteGFX, 1, STILL_SPRITE, PAL_OW_RED
; 14940
OldLinkReceptionistSprite: ; 14940
- dw OldLinkReceptionistSpriteGFX
- db $3 * $40, BANK(OldLinkReceptionistSpriteGFX)
- db STANDING_SPRITE, PAL_OW_RED
+ sprite_header OldLinkReceptionistSpriteGFX, 3, STANDING_SPRITE, PAL_OW_RED
; 14946
RockSprite: ; 14946
- dw RockSpriteGFX
- db $1 * $40, BANK(RockSpriteGFX)
- db STILL_SPRITE, PAL_OW_ROCK
+ sprite_header RockSpriteGFX, 1, STILL_SPRITE, PAL_OW_ROCK
; 1494c
BoulderSprite: ; 1494c
- dw BoulderSpriteGFX
- db $1 * $40, BANK(BoulderSpriteGFX)
- db STILL_SPRITE, PAL_OW_ROCK
+ sprite_header BoulderSpriteGFX, 1, STILL_SPRITE, PAL_OW_ROCK
; 14952
SnesSprite: ; 14952
- dw SnesSpriteGFX
- db $1 * $40, BANK(SnesSpriteGFX)
- db STILL_SPRITE, PAL_OW_BLUE
+ sprite_header SnesSpriteGFX, 1, STILL_SPRITE, PAL_OW_BLUE
; 14958
FamicomSprite: ; 14958
- dw FamicomSpriteGFX
- db $1 * $40, BANK(FamicomSpriteGFX)
- db STILL_SPRITE, PAL_OW_RED
+ sprite_header FamicomSpriteGFX, 1, STILL_SPRITE, PAL_OW_RED
; 1495e
FruitTreeSprite: ; 1495e
- dw FruitTreeSpriteGFX
- db $1 * $40, BANK(FruitTreeSpriteGFX)
- db STILL_SPRITE, PAL_OW_TREE
+ sprite_header FruitTreeSpriteGFX, 1, STILL_SPRITE, PAL_OW_TREE
; 14964
GoldTrophySprite: ; 14964
- dw GoldTrophySpriteGFX
- db $1 * $40, BANK(GoldTrophySpriteGFX)
- db STILL_SPRITE, PAL_OW_BROWN
+ sprite_header GoldTrophySpriteGFX, 1, STILL_SPRITE, PAL_OW_BROWN
; 1496a
SilverTrophySprite: ; 1496a
- dw SilverTrophySpriteGFX
- db $1 * $40, BANK(SilverTrophySpriteGFX)
- db STILL_SPRITE, PAL_OW_SILVER
+ sprite_header SilverTrophySpriteGFX, 1, STILL_SPRITE, PAL_OW_SILVER
; 14970
KrisSprite: ; 14970
- dw KrisSpriteGFX
- db $3 * $40, BANK(KrisSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header KrisSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 14976
KrisBikeSprite: ; 14976
- dw KrisBikeSpriteGFX
- db $3 * $40, BANK(KrisBikeSpriteGFX)
- db WALKING_SPRITE, PAL_OW_BLUE
+ sprite_header KrisBikeSpriteGFX, 3, WALKING_SPRITE, PAL_OW_BLUE
; 1497c
KurtOutsideSprite: ; 1497c
- dw KurtOutsideSpriteGFX
- db $3 * $40, BANK(KurtOutsideSpriteGFX)
- db STANDING_SPRITE, PAL_OW_BROWN
+ sprite_header KurtOutsideSpriteGFX, 3, STANDING_SPRITE, PAL_OW_BROWN
; 14982
SuicuneSprite: ; 14982
- dw SuicuneSpriteGFX
- db $1 * $40, BANK(SuicuneSpriteGFX)
- db STILL_SPRITE, PAL_OW_BLUE
+ sprite_header SuicuneSpriteGFX, 1, STILL_SPRITE, PAL_OW_BLUE
; 14988
EnteiSprite: ; 14988
- dw EnteiSpriteGFX
- db $1 * $40, BANK(EnteiSpriteGFX)
- db STILL_SPRITE, PAL_OW_RED
+ sprite_header EnteiSpriteGFX, 1, STILL_SPRITE, PAL_OW_RED
; 1498e
RaikouSprite: ; 1498e
- dw RaikouSpriteGFX
- db $1 * $40, BANK(RaikouSpriteGFX)
- db STILL_SPRITE, PAL_OW_RED
+ sprite_header RaikouSpriteGFX, 1, STILL_SPRITE, PAL_OW_RED
; 14994
StandingYoungsterSprite: ; 14994
- dw StandingYoungsterSpriteGFX
- db $3 * $40, BANK(StandingYoungsterSpriteGFX)
- db STANDING_SPRITE, PAL_OW_BLUE
+ sprite_header StandingYoungsterSpriteGFX, 3, STANDING_SPRITE, PAL_OW_BLUE
; 1499a
--- a/main.asm
+++ b/main.asm
@@ -16193,7 +16193,7 @@
; 14146
Function14146: ; 14146
- ld hl, wd13e
+ ld hl, wSpriteFlags
ld a, [hl]
push af
res 7, [hl]
@@ -16200,12 +16200,12 @@
set 6, [hl]
call RunCallback_04
pop af
- ld [wd13e], a
+ ld [wSpriteFlags], a
ret
; 14157
Function14157: ; 14157
- ld hl, wd13e
+ ld hl, wSpriteFlags
ld a, [hl]
push af
set 7, [hl]
@@ -16212,7 +16212,7 @@
res 6, [hl]
call RunCallback_04
pop af
- ld [wd13e], a
+ ld [wSpriteFlags], a
ret
; 14168
@@ -16225,7 +16225,7 @@
Function1416f: ; 1416f
xor a
- ld bc, $0040
+ ld bc, UsedSpritesEnd - UsedSprites
ld hl, UsedSprites
call ByteFill
call GetPlayerSprite
@@ -16254,7 +16254,7 @@
.loop
ld a, [hli]
cp c
- jr z, .asm_141ac
+ jr z, .good
inc hl
cp $ff
jr nz, .loop
@@ -16263,15 +16263,15 @@
xor a ; ld a, PLAYER_NORMAL
ld [PlayerState], a
ld a, SPRITE_CHRIS
- jr .asm_141ad
+ jr .finish
-.asm_141ac
+.good
ld a, [hl]
-.asm_141ad
+.finish
ld [UsedSprites + 0], a
- ld [PlayerStruct + 0], a
- ld [MapObjects + OBJECT_LENGTH * 0 + 1], a
+ ld [PlayerSprite], a
+ ld [MapObjects + OBJECT_LENGTH * PLAYER_OBJECT + MAPOBJECT_SPRITE], a
ret
.Chris
@@ -16303,7 +16303,7 @@
AddIndoorSprites: ; 141d9
- ld hl, MapObjects + 1 * OBJECT_LENGTH + 1 ; sprite
+ ld hl, MapObjects + 1 * OBJECT_LENGTH + MAPOBJECT_SPRITE ; sprite
ld a, 1
.loop
push af
@@ -16352,7 +16352,7 @@
; 14215
Function14215: ; 14215
- ld a, [wd13e]
+ ld a, [wSpriteFlags]
bit 6, a
ret nz
ld c, $8
@@ -16755,9 +16755,9 @@
ld hl, UsedSprites
ld c, SPRITE_GFX_LIST_CAPACITY
.loop
- ld a, [wd13e]
+ ld a, [wSpriteFlags]
res 5, a
- ld [wd13e], a
+ ld [wSpriteFlags], a
ld a, [hli]
and a
jr z, .done
@@ -16766,9 +16766,9 @@
ld [hUsedSpriteTile], a
bit 7, a
jr z, .dont_set
- ld a, [wd13e]
+ ld a, [wSpriteFlags]
set 5, a
- ld [wd13e], a
+ ld [wSpriteFlags], a
.dont_set
push bc
@@ -16791,7 +16791,7 @@
push hl
push de
push bc
- ld a, [wd13e]
+ ld a, [wSpriteFlags]
bit 7, a
jr nz, .asm_143df
call Function14418
@@ -16808,7 +16808,7 @@
ld d, h
ld e, l
pop hl
- ld a, [wd13e]
+ ld a, [wSpriteFlags]
bit 5, a
jr nz, .asm_14405
bit 6, a
@@ -16845,7 +16845,7 @@
Function14418: ; 14418
ld a, [rVBK]
push af
- ld a, [wd13e]
+ ld a, [wSpriteFlags]
bit 5, a
ld a, $1
jr z, .asm_14426
@@ -16889,59 +16889,29 @@
ret
; 1444d
+emote_header: MACRO
+ dw \1
+ db \2 * $10, BANK(\1)
+ dw \3
+ENDM
+
EmotesPointers: ; 144d
; dw source address
; db length, bank
; dw dest address
- dw ShockEmote
- db 4 * $10, BANK(ShockEmote)
- dw VTiles1 tile $78
-
- dw QuestionEmote
- db 4 * $10, BANK(QuestionEmote)
- dw VTiles1 tile $78
-
- dw HappyEmote
- db 4 * $10, BANK(HappyEmote)
- dw VTiles1 tile $78
-
- dw SadEmote
- db 4 * $10, BANK(SadEmote)
- dw VTiles1 tile $78
-
- dw HeartEmote
- db 4 * $10, BANK(HeartEmote)
- dw VTiles1 tile $78
-
- dw BoltEmote
- db 4 * $10, BANK(BoltEmote)
- dw VTiles1 tile $78
-
- dw SleepEmote
- db 4 * $10, BANK(SleepEmote)
- dw VTiles1 tile $78
-
- dw FishEmote
- db 4 * $10, BANK(FishEmote)
- dw VTiles1 tile $78
-
- dw FishingRodGFX + $00
- db 1 * $10, BANK(FishingRodGFX)
- dw VTiles1 tile $7c
-
- dw FishingRodGFX + $10
- db 2 * $10, BANK(FishingRodGFX)
- dw VTiles1 tile $7c
-
- dw FishingRodGFX + $30
- db 2 * $10, BANK(FishingRodGFX)
- dw VTiles1 tile $7e
-
- dw FishingRodGFX + $50
- db 1 * $10, BANK(FishingRodGFX)
- dw VTiles1 tile $7e
-
+ emote_header ShockEmote, 4, VTiles1 tile $78
+ emote_header QuestionEmote, 4, VTiles1 tile $78
+ emote_header HappyEmote, 4, VTiles1 tile $78
+ emote_header SadEmote, 4, VTiles1 tile $78
+ emote_header HeartEmote, 4, VTiles1 tile $78
+ emote_header BoltEmote, 4, VTiles1 tile $78
+ emote_header SleepEmote, 4, VTiles1 tile $78
+ emote_header FishEmote, 4, VTiles1 tile $78
+ emote_header FishingRodGFX1, 1, VTiles1 tile $7c
+ emote_header FishingRodGFX2, 2, VTiles1 tile $7c
+ emote_header FishingRodGFX3, 2, VTiles1 tile $7e
+ emote_header FishingRodGFX4, 1, VTiles1 tile $7e
; 14495
@@ -78058,7 +78028,10 @@
BoltEmote: INCBIN "gfx/emotes/bolt.2bpp"
SleepEmote: INCBIN "gfx/emotes/sleep.2bpp"
FishEmote: INCBIN "gfx/emotes/fish.2bpp"
-FishingRodGFX: INCBIN "gfx/misc/fishing.2bpp"
+FishingRodGFX1: INCBIN "gfx/misc/fishing1.2bpp"
+FishingRodGFX2: INCBIN "gfx/misc/fishing2.2bpp"
+FishingRodGFX3: INCBIN "gfx/misc/fishing3.2bpp"
+FishingRodGFX4: INCBIN "gfx/misc/fishing4.2bpp"
RunCallback_05_03: ; 1045b0
--- a/wram.asm
+++ b/wram.asm
@@ -1568,7 +1568,7 @@
TempMon::
party_struct TempMon
-wd13e:: ds 1
+wSpriteFlags:: ds 1
wd13f:: ds 2