diff options
author | entrpntr <entrpntr@gmail.com> | 2020-04-10 04:07:13 -0400 |
---|---|---|
committer | entrpntr <entrpntr@gmail.com> | 2020-04-10 10:48:29 -0400 |
commit | 18df0a5e3742278c8c373b196b47427f713a865d (patch) | |
tree | a220f29c9316e1fbb326ddd976093efa36a8e081 | |
parent | 9b816713e1ed9ca3df9ff4321a1f255635658a43 (diff) |
Add engine/rtc/rtc.asm and engine/overworld/overworld.asm.
140 files changed, 1456 insertions, 118 deletions
@@ -6,7 +6,8 @@ home.o \ main.o \ wram.o \ data/text/common.o \ -data/pokemon/dex_entries.o +data/pokemon/dex_entries.o \ +gfx/sprites.o # Distinguish asm files which are game-exclusive for building (*_[gold|silver].asm) gs_excl_asm := gfx/pics diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm index 5098e28d..05322ffc 100644 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -100,5 +100,5 @@ const_value = -1 NUM_SPAWNS EQU const_value ; outdoor sprite limits (see engine/overworld/overworld.asm) -MAX_OUTDOOR_SPRITES EQU 23 -SPRITE_GFX_LIST_CAPACITY EQU $20 +MAX_OUTDOOR_SPRITES EQU 11 +SPRITE_GFX_LIST_CAPACITY EQU 12 diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index caa6743c..b1ec6e12 100644 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -97,13 +97,6 @@ const SPRITE_FRUIT_TREE ; 5d const SPRITE_GOLD_TROPHY ; 5e const SPRITE_SILVER_TROPHY ; 5f - const SPRITE_KRIS ; 60 - const SPRITE_KRIS_BIKE ; 61 - const SPRITE_KURT_OUTSIDE ; 62 - const SPRITE_SUICUNE ; 63 - const SPRITE_ENTEI ; 64 - const SPRITE_RAIKOU ; 65 - const SPRITE_STANDING_YOUNGSTER ; 66 ; SpriteMons indexes (see data/sprites/sprite_mons.asm) const_def $80 diff --git a/data/maps/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm new file mode 100644 index 00000000..160ca804 --- /dev/null +++ b/data/maps/outdoor_sprites.asm @@ -0,0 +1,369 @@ +; Valid sprite IDs for each map group. +; Maps with environment ROUTE or TOWN can only use these sprites. + +OutdoorSprites: +; entries correspond to map groups + dw OlivineGroupSprites + dw MahoganyGroupSprites + dw DungeonsGroupSprites + dw EcruteakGroupSprites + dw BlackthornGroupSprites + dw CinnabarGroupSprites + dw CeruleanGroupSprites + dw AzaleaGroupSprites + dw LakeOfRageGroupSprites + dw VioletGroupSprites + dw GoldenrodGroupSprites + dw VermilionGroupSprites + dw PalletGroupSprites + dw PewterGroupSprites + dw FastShipGroupSprites + dw IndigoGroupSprites + dw FuchsiaGroupSprites + dw LavenderGroupSprites + dw SilverGroupSprites + dw CableClubGroupSprites + dw CeladonGroupSprites + dw CianwoodGroupSprites + dw ViridianGroupSprites + dw NewBarkGroupSprites + dw SaffronGroupSprites + dw CherrygroveGroupSprites + +PalletGroupSprites: + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +ViridianGroupSprites: + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +PewterGroupSprites: + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +CinnabarGroupSprites: + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_BLUE + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_SWIMMER_GIRL + db SPRITE_SWIMMER_GUY + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +CeruleanGroupSprites: + db SPRITE_COOLTRAINER_M + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_POKEFAN_M + db SPRITE_ROCKET + db SPRITE_MISTY + db SPRITE_POKE_BALL + db SPRITE_SLOWPOKE + +SaffronGroupSprites: + db SPRITE_COOLTRAINER_M + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_POKEFAN_M + db SPRITE_ROCKET + db SPRITE_MISTY + db SPRITE_POKE_BALL + db SPRITE_SLOWPOKE + +CeladonGroupSprites: + db SPRITE_FISHER + db SPRITE_POLIWAG + db SPRITE_TEACHER + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_BIKER + db SPRITE_SILVER + db SPRITE_BLUE + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +LavenderGroupSprites: + db SPRITE_POKEFAN_M + db SPRITE_MACHOP + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_BIG_SNORLAX + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +VermilionGroupSprites: + db SPRITE_POKEFAN_M + db SPRITE_MACHOP + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_BIG_SNORLAX + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +FuchsiaGroupSprites: + db SPRITE_POKEFAN_M + db SPRITE_MACHOP + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_BIG_SNORLAX + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +IndigoGroupSprites: + db SPRITE_POKEFAN_M + db SPRITE_BUENA + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_SUPER_NERD + db SPRITE_MACHOP + db SPRITE_BIKER + db SPRITE_POKE_BALL + db SPRITE_BOULDER + +NewBarkGroupSprites: + db SPRITE_SILVER + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_YOUNGSTER + db SPRITE_MONSTER + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +CherrygroveGroupSprites: + db SPRITE_SILVER + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_YOUNGSTER + db SPRITE_MONSTER + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +SilverGroupSprites: + db SPRITE_SILVER + db SPRITE_TEACHER + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_YOUNGSTER + db SPRITE_MONSTER + db SPRITE_GRAMPS + db SPRITE_BUG_CATCHER + db SPRITE_COOLTRAINER_F + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +VioletGroupSprites: + db SPRITE_FISHER + db SPRITE_LASS + db SPRITE_OFFICER + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_COOLTRAINER_M + db SPRITE_BUG_CATCHER + db SPRITE_SUPER_NERD + db SPRITE_WEIRD_TREE + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +EcruteakGroupSprites: + db SPRITE_FISHER + db SPRITE_LASS + db SPRITE_OFFICER + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_COOLTRAINER_M + db SPRITE_BUG_CATCHER + db SPRITE_SUPER_NERD + db SPRITE_WEIRD_TREE + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +AzaleaGroupSprites: + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_OFFICER + db SPRITE_POKEFAN_M + db SPRITE_BLACK_BELT + db SPRITE_TEACHER + db SPRITE_AZALEA_ROCKET + db SPRITE_LASS + db SPRITE_SILVER + db SPRITE_FRUIT_TREE + db SPRITE_SLOWPOKE + +GoldenrodGroupSprites: + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_OFFICER + db SPRITE_POKEFAN_M + db SPRITE_DAY_CARE_MON_1 + db SPRITE_COOLTRAINER_F + db SPRITE_ROCKET + db SPRITE_LASS + db SPRITE_DAY_CARE_MON_2 + db SPRITE_FRUIT_TREE + db SPRITE_SLOWPOKE + +CianwoodGroupSprites: + db SPRITE_OLIVINE_RIVAL + db SPRITE_POKEFAN_M + db SPRITE_LASS + db SPRITE_BUENA + db SPRITE_SWIMMER_GIRL + db SPRITE_SAILOR + db SPRITE_POKEFAN_F + db SPRITE_YOUNGSTER + db SPRITE_TAUROS + db SPRITE_FRUIT_TREE + db SPRITE_ROCK + +OlivineGroupSprites: + db SPRITE_OLIVINE_RIVAL + db SPRITE_POKEFAN_M + db SPRITE_LASS + db SPRITE_BUENA + db SPRITE_SWIMMER_GIRL + db SPRITE_SAILOR + db SPRITE_POKEFAN_F + db SPRITE_YOUNGSTER + db SPRITE_TAUROS + db SPRITE_FRUIT_TREE + db SPRITE_ROCK + +LakeOfRageGroupSprites: + db SPRITE_LANCE + db SPRITE_GRAMPS + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M + db SPRITE_LASS + db SPRITE_YOUNGSTER + db SPRITE_GYARADOS + db SPRITE_FRUIT_TREE + db SPRITE_POKE_BALL + +MahoganyGroupSprites: + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_M + db SPRITE_POKEFAN_M + db SPRITE_BLACK_BELT + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_FRUIT_TREE + db SPRITE_POKE_BALL + +BlackthornGroupSprites: + db SPRITE_GRAMPS + db SPRITE_YOUNGSTER + db SPRITE_LASS + db SPRITE_SUPER_NERD + db SPRITE_COOLTRAINER_M + db SPRITE_POKEFAN_M + db SPRITE_BLACK_BELT + db SPRITE_COOLTRAINER_F + db SPRITE_FISHER + db SPRITE_FRUIT_TREE + db SPRITE_POKE_BALL + +DungeonsGroupSprites: + db SPRITE_LASS + db SPRITE_POKEFAN_F + db SPRITE_TEACHER + db SPRITE_YOUNGSTER + db SPRITE_GROWLITHE + db SPRITE_POKEFAN_M + db SPRITE_ROCKER + db SPRITE_GAMEBOY_KID + db SPRITE_SCIENTIST + db SPRITE_POKE_BALL + db SPRITE_BOULDER + +FastShipGroupSprites: + db SPRITE_SAILOR + db SPRITE_FISHING_GURU + db SPRITE_GENTLEMAN + db SPRITE_SUPER_NERD + db SPRITE_HO_OH + db SPRITE_TEACHER + db SPRITE_COOLTRAINER_F + db SPRITE_YOUNGSTER + db SPRITE_FAIRY + db SPRITE_POKE_BALL + db SPRITE_ROCK + +CableClubGroupSprites: + db SPRITE_OAK + db SPRITE_FISHER + db SPRITE_TEACHER + db SPRITE_TWIN + db SPRITE_POKEFAN_M + db SPRITE_GRAMPS + db SPRITE_FAIRY + db SPRITE_SILVER + db SPRITE_FISHING_GURU + db SPRITE_POKE_BALL + db SPRITE_POKEDEX diff --git a/data/sprites/emotes.asm b/data/sprites/emotes.asm new file mode 100644 index 00000000..2371c462 --- /dev/null +++ b/data/sprites/emotes.asm @@ -0,0 +1,21 @@ +emote: MACRO +; graphics pointer, length, starting tile + dw \1 + db \2 tiles, BANK(\1) + dw vTiles0 tile \3 +ENDM + +Emotes: +; entries correspond to EMOTE_* constants + emote ShockEmote, 4, $f8 + emote QuestionEmote, 4, $f8 + emote HappyEmote, 4, $f8 + emote SadEmote, 4, $f8 + emote HeartEmote, 4, $f8 + emote BoltEmote, 4, $f8 + emote SleepEmote, 4, $f8 + emote FishEmote, 4, $f8 + emote JumpShadowGFX, 1, $fc + emote FishingRodGFX, 2, $fc + emote BoulderDustGFX, 2, $fe + emote GrassRustleGFX, 1, $fe diff --git a/data/sprites/player_sprites.asm b/data/sprites/player_sprites.asm new file mode 100644 index 00000000..63d3ab67 --- /dev/null +++ b/data/sprites/player_sprites.asm @@ -0,0 +1,6 @@ +ChrisStateSprites: + db PLAYER_NORMAL, SPRITE_CHRIS + db PLAYER_BIKE, SPRITE_CHRIS_BIKE + db PLAYER_SURF, SPRITE_SURF + db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU + db -1 ; end diff --git a/data/sprites/sprite_mons.asm b/data/sprites/sprite_mons.asm new file mode 100644 index 00000000..3d53804d --- /dev/null +++ b/data/sprites/sprite_mons.asm @@ -0,0 +1,37 @@ +SpriteMons: +; entries correspond to SPRITE_* constants past SPRITE_POKEMON + db UNOWN + db GEODUDE + db GROWLITHE + db WEEDLE + db SHELLDER + db ODDISH + db GENGAR + db ZUBAT + db MAGIKARP + db SQUIRTLE + db TOGEPI + db BUTTERFREE + db DIGLETT + db POLIWAG + db PIKACHU + db CLEFAIRY + db CHARMANDER + db JYNX + db STARMIE + db BULBASAUR + db JIGGLYPUFF + db GRIMER + db EKANS + db PARAS + db TENTACOOL + db TAUROS + db MACHOP + db VOLTORB + db LAPRAS + db RHYDON + db MOLTRES + db SNORLAX + db GYARADOS + db LUGIA + db HO_OH diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm new file mode 100644 index 00000000..b208b862 --- /dev/null +++ b/data/sprites/sprites.asm @@ -0,0 +1,103 @@ +overworld_sprite: MACRO +; pointer, length, type, palette + dw \1 + db \2 tiles, BANK(\1), \3, \4 +ENDM + +OverworldSprites: +; entries correspond to SPRITE_* constants + overworld_sprite ChrisSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite ChrisBikeSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite GameboyKidSpriteGFX, 12, STANDING_SPRITE, PAL_OW_GREEN + overworld_sprite SilverSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite OakSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite RedSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BlueSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BillSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite ElderSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite JanineSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite KurtSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite MomSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BlaineSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite RedsMomSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite DaisySpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite ElmSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite WillSpriteGFX, 12, STANDING_SPRITE, PAL_OW_RED + overworld_sprite FalknerSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite WhitneySpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BugsySpriteGFX, 12, WALKING_SPRITE, PAL_OW_GREEN + overworld_sprite MortySpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite ChuckSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite JasmineSpriteGFX, 12, WALKING_SPRITE, PAL_OW_GREEN + overworld_sprite PryceSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite ClairSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BrockSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite KarenSpriteGFX, 12, STANDING_SPRITE, PAL_OW_BLUE + overworld_sprite BrunoSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite MistySpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite LanceSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite SurgeSpriteGFX, 12, WALKING_SPRITE, PAL_OW_GREEN + overworld_sprite ErikaSpriteGFX, 12, WALKING_SPRITE, PAL_OW_GREEN + overworld_sprite KogaSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite SabrinaSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite CooltrainerMSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite CooltrainerFSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite BugCatcherSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite TwinSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite YoungsterSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite LassSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite TeacherSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BuenaSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite SuperNerdSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite RockerSpriteGFX, 12, WALKING_SPRITE, PAL_OW_GREEN + overworld_sprite PokefanMSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite PokefanFSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite GrampsSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite GrannySpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite SwimmerGuySpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite SwimmerGirlSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite BigSnorlaxSpriteGFX, 12, STANDING_SPRITE, PAL_OW_BLUE + overworld_sprite SurfingPikachuSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite RocketSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite RocketGirlSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite NurseSpriteGFX, 12, STANDING_SPRITE, PAL_OW_RED + overworld_sprite LinkReceptionistSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite ClerkSpriteGFX, 12, WALKING_SPRITE, PAL_OW_GREEN + overworld_sprite FisherSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite FishingGuruSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite ScientistSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite KimonoGirlSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite SageSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite UnusedGuySpriteGFX, 12, STANDING_SPRITE, PAL_OW_RED + overworld_sprite GentlemanSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite BlackBeltSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite ReceptionistSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite OfficerSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite CalSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite SlowpokeSpriteGFX, 4, STILL_SPRITE, PAL_OW_RED + overworld_sprite CaptainSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite BigLaprasSpriteGFX, 12, STANDING_SPRITE, PAL_OW_BLUE + overworld_sprite GymGuySpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite SailorSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite BikerSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BROWN + overworld_sprite PharmacistSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite MonsterSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite FairySpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BirdSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite DragonSpriteGFX, 12, WALKING_SPRITE, PAL_OW_RED + overworld_sprite BigOnixSpriteGFX, 12, STANDING_SPRITE, PAL_OW_BROWN + overworld_sprite N64SpriteGFX, 4, STILL_SPRITE, PAL_OW_BROWN + overworld_sprite SudowoodoSpriteGFX, 12, STANDING_SPRITE, PAL_OW_GREEN + overworld_sprite SurfSpriteGFX, 12, WALKING_SPRITE, PAL_OW_BLUE + overworld_sprite PokeBallSpriteGFX, 4, STILL_SPRITE, PAL_OW_RED + overworld_sprite PokedexSpriteGFX, 4, STILL_SPRITE, PAL_OW_BROWN + overworld_sprite PaperSpriteGFX, 4, STILL_SPRITE, PAL_OW_BLUE + overworld_sprite VirtualBoySpriteGFX, 4, STILL_SPRITE, PAL_OW_RED + overworld_sprite OldLinkReceptionistSpriteGFX, 12, STANDING_SPRITE, PAL_OW_RED + overworld_sprite RockSpriteGFX, 4, STILL_SPRITE, PAL_OW_ROCK + overworld_sprite BoulderSpriteGFX, 4, STILL_SPRITE, PAL_OW_ROCK + overworld_sprite SnesSpriteGFX, 4, STILL_SPRITE, PAL_OW_BLUE + overworld_sprite FamicomSpriteGFX, 4, STILL_SPRITE, PAL_OW_RED + overworld_sprite FruitTreeSpriteGFX, 4, STILL_SPRITE, PAL_OW_TREE + overworld_sprite GoldTrophySpriteGFX, 4, STILL_SPRITE, PAL_OW_BROWN + overworld_sprite SilverTrophySpriteGFX, 4, STILL_SPRITE, PAL_OW_SILVER diff --git a/engine/events/overworld.asm b/engine/events/overworld.asm index 086587b2..f4e420bb 100755 --- a/engine/events/overworld.asm +++ b/engine/events/overworld.asm @@ -416,7 +416,7 @@ UsedSurfScript: closetext readmem wBuffer2 writevar VAR_MOVEMENT - special ReplacePlayerSprite + special ReplaceChrisSprite special PlayMapMusic ; step into the water (slow_step DIR, step_end) special SurfStartStep @@ -537,7 +537,7 @@ TryToFly: ld de, ENGINE_STORMBADGE call FieldMoveBadgeCheck jr c, .asm_caa4 - call GetMapPermission + call GetMapEnvironment call CheckOutdoorMap jr z, .asm_ca83 jr .asm_caa7 @@ -597,7 +597,7 @@ FlyScript: newloadmap MAPSETUP_TELEPORT callasm FlyToAnimation special WaitSFX - special ReplacePlayerSprite + special ReplaceChrisSprite callasm Function1415c end @@ -737,7 +737,7 @@ asm_cbaa: dw FailToEscapeFromDungeon TryEscapeFromDungeon: - call GetMapPermission + call GetMapEnvironment cp CAVE jr z, .asm_cbcf cp DUNGEON @@ -853,7 +853,7 @@ TeleportFunction: dw FailTeleport TryTeleport: - call GetMapPermission + call GetMapEnvironment call CheckOutdoorMap jr z, .asm_cc85 jr .asm_cc9c @@ -1556,7 +1556,7 @@ PutTheRodAway: ; d096 ld a, $1 ld [wPlayerAction], a call UpdateSprites - call ReplacePlayerSprite + call ReplaceChrisSprite ret Text_OhABite: @@ -1637,7 +1637,7 @@ ChooseScriptBasedOnWhetherBikeIsRegistered: ; d126 (3:5126) ret CheckBikePermission: ; d12e (3:512e) - call GetMapPermission + call GetMapEnvironment call CheckOutdoorMap jr z, .asm_d140 cp CAVE @@ -1664,13 +1664,13 @@ Script_GetOnBike: ; d14b writetext GotOnBikeText waitbutton closetext - special ReplacePlayerSprite + special ReplaceChrisSprite end Script_GetOnBike_Register: loadvar VAR_MOVEMENT, PLAYER_BIKE closetext - special ReplacePlayerSprite + special ReplaceChrisSprite end nop @@ -1684,7 +1684,7 @@ Script_GetOffBike: waitbutton FinishGettingOffBike: closetext - special ReplacePlayerSprite + special ReplaceChrisSprite special PlayMapMusic end diff --git a/engine/events/specials.asm b/engine/events/specials.asm index 770b8cfb..8b7243d1 100755 --- a/engine/events/specials.asm +++ b/engine/events/specials.asm @@ -85,7 +85,7 @@ SpecialsPointers: add_special UpdateTimePals add_special ClearTilemap add_special UpdateSprites - add_special ReplacePlayerSprite + add_special ReplaceChrisSprite add_special GameCornerPrizeMonCheckDex add_special UnusedSetSeenMon add_special WaitSFX, $03 diff --git a/engine/menus/intro_menu.asm b/engine/menus/intro_menu.asm index 41b93708..763b4fbb 100644 --- a/engine/menus/intro_menu.asm +++ b/engine/menus/intro_menu.asm @@ -961,7 +961,7 @@ ShrinkPlayer: ; 6123 (1:6123) ld c, 3 call DelayFrames - call Intro_PlacePlayerSprite + call Intro_PlaceChrisSprite call LoadFontsExtra ld c, 50 @@ -1059,9 +1059,9 @@ ShrinkFrame: ; 61f7 (1:61f7) predef PlaceGraphic ret -Intro_PlacePlayerSprite: ; 6210 (1:6210) - ld de, PlayerSpriteGFX - lb bc, BANK(PlayerSpriteGFX), 12 +Intro_PlaceChrisSprite: ; 6210 (1:6210) + ld de, ChrisSpriteGFX + lb bc, BANK(ChrisSpriteGFX), 12 ld hl, $8000 call Request2bpp ld hl, wVirtualOAM diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index d5b35a8e..55c6ca82 100644 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -112,7 +112,7 @@ Function11b2a: db "NICKNAME?@" Function11b79: - ld de, PlayerSpriteGFX ; $4000 + ld de, ChrisSpriteGFX ; $4000 call Function11c11 hlcoord 5, 2 ld de, .String @@ -174,7 +174,7 @@ Function11bda: Function11c11: ; 11c11 (4:5c11) push de ld hl, $8000 - lb bc, BANK(PlayerSpriteGFX), 4 + lb bc, BANK(ChrisSpriteGFX), 4 call Request2bpp pop de ld hl, $c0 @@ -182,7 +182,7 @@ Function11c11: ; 11c11 (4:5c11) ld e, l ld d, h ld hl, $8040 - lb bc, BANK(PlayerSpriteGFX), 4 + lb bc, BANK(ChrisSpriteGFX), 4 call Request2bpp xor a ld hl, wMisc diff --git a/engine/overworld/map_object_action.asm b/engine/overworld/map_object_action.asm index f895fe15..7701ec4f 100755 --- a/engine/overworld/map_object_action.asm +++ b/engine/overworld/map_object_action.asm @@ -216,7 +216,7 @@ Function4597: ret Function459e: - ld a, [wd558] + ld a, [wVariableSprites + SPRITE_BIG_DOLL - SPRITE_VARS] ld d, $17 cp $33 jr z, .asm_45ad diff --git a/engine/overworld/overworld.asm b/engine/overworld/overworld.asm new file mode 100644 index 00000000..fec0b95a --- /dev/null +++ b/engine/overworld/overworld.asm @@ -0,0 +1,504 @@ +_ReplaceChrisSprite:: + call GetChrisSprite + ld a, [wUsedSprites] + ld c, a + ld a, [wUsedSprites + 1] + ld b, a + call GetUsedSprite + ret + +Function1414b:: + ld hl, wSpriteFlags + ld a, [hl] + push af + res 7, [hl] + set 6, [hl] + call LoadUsedSpritesGFX + pop af + ld [wSpriteFlags], a + ret + +Function1415c:: + ld hl, wSpriteFlags + ld a, [hl] + push af + set 7, [hl] + res 6, [hl] + call LoadUsedSpritesGFX + pop af + ld [wSpriteFlags], a + ret + +RefreshSprites:: + call .Refresh + call LoadUsedSpritesGFX + ret + +.Refresh: + xor a + ld bc, SPRITE_GFX_LIST_CAPACITY * 2 + ld hl, wUsedSprites + call ByteFill + call GetChrisSprite + call AddMapSprites + ret + +GetChrisSprite: + ld a, [wPlayerState] + ld c, a +; Get Chris's sprite. + ld hl, ChrisStateSprites +.loop + ld a, [hli] + cp c + jr z, .good + inc hl + cp -1 + jr nz, .loop + +; Any player state not in the array defaults to Chris's sprite. + xor a ; ld a, PLAYER_NORMAL + ld [wPlayerState], a + ld a, SPRITE_CHRIS + jr .finish + +.good + ld a, [hl] + +.finish + ld [wUsedSprites + 0], a + ld [wPlayerSprite], a + ld [wPlayerObjectSprite], a + ret + +INCLUDE "data/sprites/player_sprites.asm" + +AddMapSprites: + call GetMapEnvironment + call CheckOutdoorMap + jr z, .outdoor + call AddIndoorSprites + ret + +.outdoor + call AddOutdoorSprites + ret + +AddIndoorSprites: + ld hl, wMap2ObjectSprite + ld a, 2 +.loop + push af + ld a, [hl] + call AddSpriteGFX + ld de, MAPOBJECT_LENGTH + add hl, de + pop af + inc a + cp NUM_OBJECTS + jr nz, .loop + ret + +AddOutdoorSprites: + ld a, [wMapGroup] + dec a + ld c, a + ld b, 0 + ld hl, OutdoorSprites + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld c, MAX_OUTDOOR_SPRITES +.loop + push bc + ld a, [hli] + call AddSpriteGFX + pop bc + dec c + jr nz, .loop + + ld a, [wd05a] + ld c, a + ret + +AddSpriteGFX: + and a + ret z + + ld c, a + call _DoesSpriteHaveFacings + jr nc, .nope + + ld de, wUsedSprites + (SPRITE_GFX_LIST_CAPACITY - 2) * 2 + ld b, 2 + call Function14212 + jr nc, .ok + +.nope: + ld de, wUsedSprites + 2 + ld b, SPRITE_GFX_LIST_CAPACITY - 3 + call Function14212 + jr .ok + +.ok: + ret + +Function14212: +.loop + ld a, [de] + and a + jr z, .new + + cp c + jr z, .exists + + inc de + inc de + dec b + jr nz, .loop + + scf + ret + +.new: + ld a, c + ld [de], a + xor a + ret + +.exists: + xor a + ret + +LoadUsedSpritesGFX: + ld a, MAPCALLBACK_SPRITES + call RunMapCallback + call GetUsedSprites + ret c + + call Function14265 + call LoadMiscTiles + ret + +GetUsedSprites: + xor a + ldh [hUsedSpriteTile], a + ld hl, wUsedSprites + ld a, $a + +.loop + push af + ld a, [hli] + ldh [hUsedSpriteIndex], a + and a + jr z, .dont_set + + call GetSprite + push hl + push bc + ldh a, [hUsedSpriteTile] + call CopyToVram + pop bc + pop hl + ldh a, [hUsedSpriteTile] + ld [hl], a + add c + ldh [hUsedSpriteTile], a + cp $80 + jr nc, .done + +.dont_set + inc hl + pop af + dec a + jr nz, .loop + + xor a + ret + +.done + pop af + scf + ret + +Function14265: + ld a, [wUsedSprites + (SPRITE_GFX_LIST_CAPACITY - 2) * 2] + and a + jr z, .asm_14274 + + call GetSprite + ld hl, vTiles0 tile $78 + call Get2bpp + +.asm_14274 + ld a, $78 + ld [wUsedSprites + (SPRITE_GFX_LIST_CAPACITY - 2) * 2 + 1], a + ld a, [wUsedSprites + (SPRITE_GFX_LIST_CAPACITY - 1) * 2] + and a + jr z, .asm_14288 + + call GetSprite + ld hl, vTiles0 tile $7c + call Get2bpp + +.asm_14288 + ld a, $7c + ld [wUsedSprites + (SPRITE_GFX_LIST_CAPACITY - 1) * 2 + 1], a + ret + +LoadMiscTiles: + ld a, [wSpriteFlags] + bit 6, a + ret nz + + ld c, EMOTE_SHADOW + farcall LoadEmote + call GetMapEnvironment + call CheckOutdoorMap + ld c, EMOTE_GRASS_RUSTLE + jr z, .outdoor + ld c, EMOTE_BOULDER_DUST +.outdoor + farcall LoadEmote + ret + +GetSprite: + call GetMonSprite + ret c + + push hl + ld hl, OverworldSprites + SPRITEDATA_ADDR + dec a + ld c, a + ld b, 0 + ld a, NUM_SPRITEDATA_FIELDS + call AddNTimes + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + swap a + ld c, a + ld b, [hl] + pop hl + ret + +GetMonSprite: +; Return carry if a monster sprite was loaded. + + cp SPRITE_POKEMON + jr c, .Normal + cp SPRITE_DAY_CARE_MON_1 + jr z, .BreedMon1 + cp SPRITE_DAY_CARE_MON_2 + jr z, .BreedMon2 + cp SPRITE_VARS + jr nc, .Variable + jr .Icon + +.Normal: + and a + ret + +.Icon: + push hl + sub SPRITE_POKEMON + ld e, a + ld d, 0 + ld hl, SpriteMons + add hl, de + ld a, [hl] + pop hl + jr .Mon + +.BreedMon1 + ld a, [wBreedMon1Species] + jr .Mon + +.BreedMon2 + ld a, [wBreedMon2Species] + +.Mon: + ld e, a + and a + jr z, .NoBreedmon + + push hl + farcall LoadOverworldMonIcon + pop hl + + scf + ret + +.Variable: + push hl + sub SPRITE_VARS + ld e, a + ld d, 0 + ld hl, wVariableSprites + add hl, de + ld a, [hl] + pop hl + and a + jp nz, GetMonSprite + +.NoBreedmon: + ld a, 1 + and a + ret + +_DoesSpriteHaveFacings:: +; Checks to see whether we can apply a facing to a sprite. +; Returns carry unless the sprite is a Pokemon or a Still Sprite. + cp SPRITE_POKEMON + jr nc, .only_down + + push hl + push bc + ld hl, OverworldSprites + SPRITEDATA_TYPE + dec a + ld c, a + ld b, 0 + ld a, NUM_SPRITEDATA_FIELDS + call AddNTimes + ld a, [hl] + pop bc + pop hl + cp STILL_SPRITE + jr nz, .only_down + scf + ret + +.only_down + and a + ret + +_GetSpritePalette:: + ld a, c + call GetMonSprite + jr c, .is_pokemon + + ld hl, OverworldSprites + SPRITEDATA_PALETTE + dec a + ld c, a + ld b, 0 + ld a, NUM_SPRITEDATA_FIELDS + call AddNTimes + ld c, [hl] + ret + +.is_pokemon + xor a + ld c, a + ret + +CopyToVram: + ld l, a + ld h, 0 +rept 4 + add hl, hl +endr + ld a, l + add LOW(vTiles0) + ld l, a + ld a, h + adc HIGH(vTiles0) + ld h, a + push hl + push de + push bc + ld a, [wSpriteFlags] + bit 7, a + jr nz, .skip + call Get2bpp + +.skip: + pop bc + ld l, c + ld h, 0 +rept 4 + add hl, hl +endr + pop de + add hl, de + ld e, l + ld d, h + pop hl + ld a, h + add HIGH(vTiles1 - vTiles0) + ld h, a + ldh a, [hUsedSpriteIndex] + call _DoesSpriteHaveFacings + jr c, .done + + ld a, [wSpriteFlags] + bit 6, a + jr nz, .done + + call Get2bpp + +.done: + ret + +Function1438a: + ld a, c + jr GetUsedSprite + + ld a, c + ld b, 0 + jr GetUsedSprite + + ld a, c + ld b, 12 + jr GetUsedSprite + +GetUsedSprite: + push bc + ld a, c + ldh [hUsedSpriteIndex], a + call GetSprite + pop af + call CopyToVram + ret + +LoadEmote:: +; Get the address of the pointer to emote c. + ld a, c + ld bc, 6 ; sizeof(emote) + ld hl, Emotes + call AddNTimes +; Load the emote address into de + ld e, [hl] + inc hl + ld d, [hl] +; load the length of the emote (in tiles) into c + inc hl + ld c, [hl] + swap c +; load the emote pointer bank into b + inc hl + ld b, [hl] +; load the VRAM destination into hl + inc hl + ld a, [hli] + ld h, [hl] + ld l, a +; if the emote has a length of 0, do not proceed (error handling) + ld a, c + and a + ret z + call Get2bpp + ret + +INCLUDE "data/sprites/emotes.asm" + +INCLUDE "gfx/emotes.asm" + +INCLUDE "data/sprites/sprite_mons.asm" + +INCLUDE "data/maps/outdoor_sprites.asm" + +INCLUDE "data/sprites/sprites.asm" diff --git a/engine/overworld/player_movement.asm b/engine/overworld/player_movement.asm index 579ae6f9..1ac7fc6a 100755 --- a/engine/overworld/player_movement.asm +++ b/engine/overworld/player_movement.asm @@ -700,7 +700,7 @@ Function103f9: ; 103f9 (4:43f9) push bc ld a, $0 ld [wPlayerState], a - call ReplacePlayerSprite + call ReplaceChrisSprite pop bc ret diff --git a/engine/overworld/time.asm b/engine/overworld/time.asm index 9cce323c..6324420f 100755 --- a/engine/overworld/time.asm +++ b/engine/overworld/time.asm @@ -137,12 +137,12 @@ CheckBugContestTimer: Function118c9: ; 118c9 (4:58c9) call UpdateTime - ld hl, wStartDay + ld hl, wTimerEventStartDay call CopyDayToHL ret CheckPokerusTick: - ld hl, wStartDay + ld hl, wTimerEventStartDay call CalcDaysSince call Function119b4 and a diff --git a/engine/rtc/rtc.asm b/engine/rtc/rtc.asm new file mode 100644 index 00000000..4f9bdcbb --- /dev/null +++ b/engine/rtc/rtc.asm @@ -0,0 +1,210 @@ +Unreferenced_StopRTC: + ld a, SRAM_ENABLE + ld [MBC3SRamEnable], a + call LatchClock + ld a, RTC_DH + ld [MBC3SRamBank], a + ld a, [MBC3RTC] + set 6, a ; halt + ld [MBC3RTC], a + call CloseSRAM + ret + +StartRTC: + ld a, SRAM_ENABLE + ld [MBC3SRamEnable], a + call LatchClock + ld a, RTC_DH + ld [MBC3SRamBank], a + ld a, [MBC3RTC] + res 6, a ; halt + ld [MBC3RTC], a + call CloseSRAM + ret + +GetTimeOfDay:: +; get time of day based on the current hour + ldh a, [hHours] ; hour + ld hl, TimesOfDay + +.check +; if we're within the given time period, +; get the corresponding time of day + cp [hl] + jr c, .match +; else, get the next entry + inc hl + inc hl +; try again + jr .check + +.match +; get time of day + inc hl + ld a, [hl] + ld [wTimeOfDay], a + ret + +TimesOfDay: +; hours for the time of day +; 0400-0959 morn | 1000-1759 day | 1800-0359 nite + db MORN_HOUR, NITE_F + db DAY_HOUR, MORN_F + db NITE_HOUR, DAY_F + db MAX_HOUR, NITE_F + db -1, MORN_F + +Unreferenced_14044: + db 20, NITE_F + db 40, MORN_F + db 60, DAY_F + db -1, MORN_F + +StageRTCTimeForSave: + call UpdateTime + ld hl, wRTC + ld a, [wCurDay] + ld [hli], a + ldh a, [hHours] + ld [hli], a + ldh a, [hMinutes] + ld [hli], a + ldh a, [hSeconds] + ld [hli], a + ret + +UnreferencedSaveRTC: + ld a, $a + ld [MBC3SRamEnable], a + call LatchClock + ld hl, MBC3RTC + ld a, $c + ld [MBC3SRamBank], a + res 7, [hl] + ld a, BANK(sRTCStatusFlags) + ld [MBC3SRamBank], a + xor a + ld [sRTCStatusFlags], a + call CloseSRAM + ret + +StartClock:: + call SaveRTC + call GetClock + call Function1409e + call FixDays + jr nc, .skip_set + ; bit 5: Day count exceeds 139 + ; bit 6: Day count exceeds 255 + call RecordRTCStatus ; set flag on sRTCStatusFlags + +.skip_set + call StartRTC + ret + +Function1409e: + ld hl, hRTCDayHi + bit 7, [hl] + jr nz, .set_bit_7 + bit 6, [hl] + jr nz, .set_bit_7 + xor a + ret + +.set_bit_7 + ; Day count exceeds 16383 + ld a, %10000000 + call RecordRTCStatus ; set bit 7 on sRTCStatusFlags + ret + +SaveRTC: + ld a, $a + ld [MBC3SRamEnable], a + call LatchClock + ld a, $c + ld [MBC3SRamBank], a + ld a, [MBC3RTC] + push af + call CloseSRAM + pop af + bit 6, a + ret z + + ld a, BANK(sRTCStatusFlags) + call OpenSRAM + ld a, $34 + ld [s0_b7ef], a + ld a, $12 + ld [s0_b7f0], a + call CloseSRAM + ret + +ClockContinue: + call CheckRTCStatus + ld c, a + and %11000000 ; Day count exceeded 255 or 16383 + jr nz, .time_overflow + + ld a, c + and %00100000 ; Day count exceeded 139 + jr z, .dont_update + + call UpdateTime + ld a, [wRTC + 0] + ld b, a + ld a, [wCurDay] + cp b + jr c, .dont_update + +.time_overflow + farcall ClearDailyTimers + ret + +.dont_update + xor a + ret + +_InitTime:: + call GetClock + call FixDays + ld hl, hRTCSeconds + ld de, wStartSecond + + ld a, [wStringBuffer2 + 3] + sub [hl] + dec hl + jr nc, .okay_secs + add 60 +.okay_secs + ld [de], a + dec de + + ld a, [wStringBuffer2 + 2] + sbc [hl] + dec hl + jr nc, .okay_mins + add 60 +.okay_mins + ld [de], a + dec de + + ld a, [wStringBuffer2 + 1] + sbc [hl] + dec hl + jr nc, .okay_hrs + add 24 +.okay_hrs + ld [de], a + dec de + + ld a, [wStringBuffer2] + sbc [hl] + dec hl + jr nc, .okay_days + add 140 + ld c, 7 + call SimpleDivide + +.okay_days + ld [de], a + ret diff --git a/gfx/emotes.asm b/gfx/emotes.asm new file mode 100644 index 00000000..1de06de2 --- /dev/null +++ b/gfx/emotes.asm @@ -0,0 +1,12 @@ +ShockEmote: INCBIN "gfx/emotes/shock.2bpp" +QuestionEmote: INCBIN "gfx/emotes/question.2bpp" +HappyEmote: INCBIN "gfx/emotes/happy.2bpp" +SadEmote: INCBIN "gfx/emotes/sad.2bpp" +HeartEmote: INCBIN "gfx/emotes/heart.2bpp" +BoltEmote: INCBIN "gfx/emotes/bolt.2bpp" +SleepEmote: INCBIN "gfx/emotes/sleep.2bpp" +FishEmote: INCBIN "gfx/emotes/fish.2bpp" +JumpShadowGFX: INCBIN "gfx/overworld/shadow.2bpp" +FishingRodGFX: INCBIN "gfx/overworld/fishing_rod.2bpp" +BoulderDustGFX: INCBIN "gfx/overworld/boulder_dust.2bpp" +GrassRustleGFX: INCBIN "gfx/overworld/grass_rustle.2bpp" diff --git a/gfx/emotes/bolt.2bpp b/gfx/emotes/bolt.2bpp Binary files differnew file mode 100644 index 00000000..019f4733 --- /dev/null +++ b/gfx/emotes/bolt.2bpp diff --git a/gfx/emotes/fish.2bpp b/gfx/emotes/fish.2bpp Binary files differnew file mode 100644 index 00000000..310ec175 --- /dev/null +++ b/gfx/emotes/fish.2bpp diff --git a/gfx/emotes/happy.2bpp b/gfx/emotes/happy.2bpp Binary files differnew file mode 100644 index 00000000..babc52ec --- /dev/null +++ b/gfx/emotes/happy.2bpp diff --git a/gfx/emotes/heart.2bpp b/gfx/emotes/heart.2bpp Binary files differnew file mode 100644 index 00000000..15cdc88b --- /dev/null +++ b/gfx/emotes/heart.2bpp diff --git a/gfx/emotes/question.2bpp b/gfx/emotes/question.2bpp Binary files differnew file mode 100644 index 00000000..2408bbf4 --- /dev/null +++ b/gfx/emotes/question.2bpp diff --git a/gfx/emotes/sad.2bpp b/gfx/emotes/sad.2bpp Binary files differnew file mode 100644 index 00000000..cccdcf97 --- /dev/null +++ b/gfx/emotes/sad.2bpp diff --git a/gfx/emotes/shock.2bpp b/gfx/emotes/shock.2bpp Binary files differnew file mode 100644 index 00000000..35192165 --- /dev/null +++ b/gfx/emotes/shock.2bpp diff --git a/gfx/emotes/sleep.2bpp b/gfx/emotes/sleep.2bpp Binary files differnew file mode 100644 index 00000000..1c9e26ec --- /dev/null +++ b/gfx/emotes/sleep.2bpp diff --git a/gfx/overworld/boulder_dust.2bpp b/gfx/overworld/boulder_dust.2bpp Binary files differnew file mode 100644 index 00000000..f8b9f018 --- /dev/null +++ b/gfx/overworld/boulder_dust.2bpp diff --git a/gfx/overworld/celebi.2bpp b/gfx/overworld/celebi.2bpp Binary files differnew file mode 100644 index 00000000..80e9953e --- /dev/null +++ b/gfx/overworld/celebi.2bpp diff --git a/gfx/overworld/chris_fish.2bpp b/gfx/overworld/chris_fish.2bpp Binary files differnew file mode 100644 index 00000000..c3609ab5 --- /dev/null +++ b/gfx/overworld/chris_fish.2bpp diff --git a/gfx/overworld/cut_grass.2bpp b/gfx/overworld/cut_grass.2bpp Binary files differnew file mode 100644 index 00000000..1c8a3f9a --- /dev/null +++ b/gfx/overworld/cut_grass.2bpp diff --git a/gfx/overworld/cut_tree.2bpp b/gfx/overworld/cut_tree.2bpp Binary files differnew file mode 100644 index 00000000..aa8078f3 --- /dev/null +++ b/gfx/overworld/cut_tree.2bpp diff --git a/gfx/overworld/fishing_rod.2bpp b/gfx/overworld/fishing_rod.2bpp Binary files differnew file mode 100644 index 00000000..bb3ed2bb --- /dev/null +++ b/gfx/overworld/fishing_rod.2bpp diff --git a/gfx/overworld/grass_rustle.2bpp b/gfx/overworld/grass_rustle.2bpp new file mode 100644 index 00000000..987a4ad3 --- /dev/null +++ b/gfx/overworld/grass_rustle.2bpp @@ -0,0 +1 @@ +@ 2d 6
\ No newline at end of file diff --git a/gfx/overworld/headbutt_tree.2bpp b/gfx/overworld/headbutt_tree.2bpp Binary files differnew file mode 100644 index 00000000..9aeb905c --- /dev/null +++ b/gfx/overworld/headbutt_tree.2bpp diff --git a/gfx/overworld/kris_fish.2bpp b/gfx/overworld/kris_fish.2bpp Binary files differnew file mode 100644 index 00000000..9d47dc14 --- /dev/null +++ b/gfx/overworld/kris_fish.2bpp diff --git a/gfx/overworld/shadow.2bpp b/gfx/overworld/shadow.2bpp new file mode 100644 index 00000000..b62b99ff --- /dev/null +++ b/gfx/overworld/shadow.2bpp @@ -0,0 +1 @@ +????
\ No newline at end of file diff --git a/gfx/sprites.asm b/gfx/sprites.asm new file mode 100644 index 00000000..8ab2da94 --- /dev/null +++ b/gfx/sprites.asm @@ -0,0 +1,101 @@ +SECTION "Sprites 1", ROMX + +ChrisSpriteGFX:: INCBIN "gfx/sprites/chris.2bpp" +ChrisBikeSpriteGFX:: INCBIN "gfx/sprites/chris_bike.2bpp" +GameboyKidSpriteGFX:: INCBIN "gfx/sprites/gameboy_kid.2bpp" +SilverSpriteGFX:: INCBIN "gfx/sprites/silver.2bpp" +OakSpriteGFX:: INCBIN "gfx/sprites/oak.2bpp" +RedSpriteGFX:: INCBIN "gfx/sprites/red.2bpp" +BlueSpriteGFX:: INCBIN "gfx/sprites/blue.2bpp" +BillSpriteGFX:: INCBIN "gfx/sprites/bill.2bpp" +ElderSpriteGFX:: INCBIN "gfx/sprites/elder.2bpp" +JanineSpriteGFX:: INCBIN "gfx/sprites/janine.2bpp" +KurtSpriteGFX:: INCBIN "gfx/sprites/kurt.2bpp" +MomSpriteGFX:: INCBIN "gfx/sprites/mom.2bpp" +BlaineSpriteGFX:: INCBIN "gfx/sprites/blaine.2bpp" +RedsMomSpriteGFX:: INCBIN "gfx/sprites/reds_mom.2bpp" +DaisySpriteGFX:: INCBIN "gfx/sprites/daisy.2bpp" +ElmSpriteGFX:: INCBIN "gfx/sprites/elm.2bpp" +WillSpriteGFX:: INCBIN "gfx/sprites/will.2bpp" +FalknerSpriteGFX:: INCBIN "gfx/sprites/falkner.2bpp" +WhitneySpriteGFX:: INCBIN "gfx/sprites/whitney.2bpp" +BugsySpriteGFX:: INCBIN "gfx/sprites/bugsy.2bpp" +MortySpriteGFX:: INCBIN "gfx/sprites/morty.2bpp" +ChuckSpriteGFX:: INCBIN "gfx/sprites/chuck.2bpp" +JasmineSpriteGFX:: INCBIN "gfx/sprites/jasmine.2bpp" +PryceSpriteGFX:: INCBIN "gfx/sprites/pryce.2bpp" +ClairSpriteGFX:: INCBIN "gfx/sprites/clair.2bpp" +BrockSpriteGFX:: INCBIN "gfx/sprites/brock.2bpp" +KarenSpriteGFX:: INCBIN "gfx/sprites/karen.2bpp" +BrunoSpriteGFX:: INCBIN "gfx/sprites/bruno.2bpp" +MistySpriteGFX:: INCBIN "gfx/sprites/misty.2bpp" +LanceSpriteGFX:: INCBIN "gfx/sprites/lance.2bpp" +SurgeSpriteGFX:: INCBIN "gfx/sprites/surge.2bpp" +ErikaSpriteGFX:: INCBIN "gfx/sprites/erika.2bpp" +KogaSpriteGFX:: INCBIN "gfx/sprites/koga.2bpp" +SabrinaSpriteGFX:: INCBIN "gfx/sprites/sabrina.2bpp" +CooltrainerMSpriteGFX:: INCBIN "gfx/sprites/cooltrainer_m.2bpp" +CooltrainerFSpriteGFX:: INCBIN "gfx/sprites/cooltrainer_f.2bpp" +BugCatcherSpriteGFX:: INCBIN "gfx/sprites/bug_catcher.2bpp" +TwinSpriteGFX:: INCBIN "gfx/sprites/twin.2bpp" +YoungsterSpriteGFX:: INCBIN "gfx/sprites/youngster.2bpp" +LassSpriteGFX:: INCBIN "gfx/sprites/lass.2bpp" +TeacherSpriteGFX:: INCBIN "gfx/sprites/teacher.2bpp" +BuenaSpriteGFX:: INCBIN "gfx/sprites/buena.2bpp" +SuperNerdSpriteGFX:: INCBIN "gfx/sprites/super_nerd.2bpp" +RockerSpriteGFX:: INCBIN "gfx/sprites/rocker.2bpp" + + +SECTION "Sprites 2", ROMX + +PokefanMSpriteGFX:: INCBIN "gfx/sprites/pokefan_m.2bpp" +PokefanFSpriteGFX:: INCBIN "gfx/sprites/pokefan_f.2bpp" +GrampsSpriteGFX:: INCBIN "gfx/sprites/gramps.2bpp" +GrannySpriteGFX:: INCBIN "gfx/sprites/granny.2bpp" +SwimmerGuySpriteGFX:: INCBIN "gfx/sprites/swimmer_guy.2bpp" +SwimmerGirlSpriteGFX:: INCBIN "gfx/sprites/swimmer_girl.2bpp" +BigSnorlaxSpriteGFX:: INCBIN "gfx/sprites/big_snorlax.2bpp" +SurfingPikachuSpriteGFX:: INCBIN "gfx/sprites/surfing_pikachu.2bpp" +RocketSpriteGFX:: INCBIN "gfx/sprites/rocket.2bpp" +RocketGirlSpriteGFX:: INCBIN "gfx/sprites/rocket_girl.2bpp" +NurseSpriteGFX:: INCBIN "gfx/sprites/nurse.2bpp" +LinkReceptionistSpriteGFX:: INCBIN "gfx/sprites/link_receptionist.2bpp" +ClerkSpriteGFX:: INCBIN "gfx/sprites/clerk.2bpp" +FisherSpriteGFX:: INCBIN "gfx/sprites/fisher.2bpp" +FishingGuruSpriteGFX:: INCBIN "gfx/sprites/fishing_guru.2bpp" +ScientistSpriteGFX:: INCBIN "gfx/sprites/scientist.2bpp" +KimonoGirlSpriteGFX:: INCBIN "gfx/sprites/kimono_girl.2bpp" +SageSpriteGFX:: INCBIN "gfx/sprites/sage.2bpp" +UnusedGuySpriteGFX:: INCBIN "gfx/sprites/unused_guy.2bpp" +GentlemanSpriteGFX:: INCBIN "gfx/sprites/gentleman.2bpp" +BlackBeltSpriteGFX:: INCBIN "gfx/sprites/black_belt.2bpp" +ReceptionistSpriteGFX:: INCBIN "gfx/sprites/receptionist.2bpp" +OfficerSpriteGFX:: INCBIN "gfx/sprites/officer.2bpp" +CalSpriteGFX:: INCBIN "gfx/sprites/cal.2bpp" +SlowpokeSpriteGFX:: INCBIN "gfx/sprites/slowpoke.2bpp" +CaptainSpriteGFX:: INCBIN "gfx/sprites/captain.2bpp" +BigLaprasSpriteGFX:: INCBIN "gfx/sprites/big_lapras.2bpp" +GymGuySpriteGFX:: INCBIN "gfx/sprites/gym_guy.2bpp" +SailorSpriteGFX:: INCBIN "gfx/sprites/sailor.2bpp" +BikerSpriteGFX:: INCBIN "gfx/sprites/biker.2bpp" +PharmacistSpriteGFX:: INCBIN "gfx/sprites/pharmacist.2bpp" +MonsterSpriteGFX:: INCBIN "gfx/sprites/monster.2bpp" +FairySpriteGFX:: INCBIN "gfx/sprites/fairy.2bpp" +BirdSpriteGFX:: INCBIN "gfx/sprites/bird.2bpp" +DragonSpriteGFX:: INCBIN "gfx/sprites/dragon.2bpp" +BigOnixSpriteGFX:: INCBIN "gfx/sprites/big_onix.2bpp" +N64SpriteGFX:: INCBIN "gfx/sprites/n64.2bpp" +SudowoodoSpriteGFX:: INCBIN "gfx/sprites/sudowoodo.2bpp" +SurfSpriteGFX:: INCBIN "gfx/sprites/surf.2bpp" +PokeBallSpriteGFX:: INCBIN "gfx/sprites/poke_ball.2bpp" +PokedexSpriteGFX:: INCBIN "gfx/sprites/pokedex.2bpp" +PaperSpriteGFX:: INCBIN "gfx/sprites/paper.2bpp" +VirtualBoySpriteGFX:: INCBIN "gfx/sprites/virtual_boy.2bpp" +OldLinkReceptionistSpriteGFX:: INCBIN "gfx/sprites/old_link_receptionist.2bpp" +RockSpriteGFX:: INCBIN "gfx/sprites/rock.2bpp" +BoulderSpriteGFX:: INCBIN "gfx/sprites/boulder.2bpp" +SnesSpriteGFX:: INCBIN "gfx/sprites/snes.2bpp" +FamicomSpriteGFX:: INCBIN "gfx/sprites/famicom.2bpp" +FruitTreeSpriteGFX:: INCBIN "gfx/sprites/fruit_tree.2bpp" +GoldTrophySpriteGFX:: INCBIN "gfx/sprites/gold_trophy.2bpp" +SilverTrophySpriteGFX:: INCBIN "gfx/sprites/silver_trophy.2bpp" diff --git a/gfx/sprites/big_lapras.2bpp b/gfx/sprites/big_lapras.2bpp Binary files differnew file mode 100644 index 00000000..f13f3a80 --- /dev/null +++ b/gfx/sprites/big_lapras.2bpp diff --git a/gfx/sprites/big_onix.2bpp b/gfx/sprites/big_onix.2bpp Binary files differnew file mode 100644 index 00000000..91659bdc --- /dev/null +++ b/gfx/sprites/big_onix.2bpp diff --git a/gfx/sprites/big_snorlax.2bpp b/gfx/sprites/big_snorlax.2bpp Binary files differnew file mode 100644 index 00000000..9b45a1c2 --- /dev/null +++ b/gfx/sprites/big_snorlax.2bpp diff --git a/gfx/sprites/biker.2bpp b/gfx/sprites/biker.2bpp new file mode 100644 index 00000000..e650a0fa --- /dev/null +++ b/gfx/sprites/biker.2bpp @@ -0,0 +1,2 @@ +???:?0ToR\*J?0?'<'x<x??????_o_?0?/</< +~<$?9gc??0c??t`ߤT`<3OxO?<0xȰ``??߿`?0_x_7???0x``???7?4xH+</3s~99`|
\ No newline at end of file diff --git a/gfx/sprites/bill.2bpp b/gfx/sprites/bill.2bpp Binary files differnew file mode 100644 index 00000000..2f14207b --- /dev/null +++ b/gfx/sprites/bill.2bpp diff --git a/gfx/sprites/bird.2bpp b/gfx/sprites/bird.2bpp Binary files differnew file mode 100644 index 00000000..d74e9980 --- /dev/null +++ b/gfx/sprites/bird.2bpp diff --git a/gfx/sprites/black_belt.2bpp b/gfx/sprites/black_belt.2bpp Binary files differnew file mode 100644 index 00000000..28c141df --- /dev/null +++ b/gfx/sprites/black_belt.2bpp diff --git a/gfx/sprites/blaine.2bpp b/gfx/sprites/blaine.2bpp Binary files differnew file mode 100644 index 00000000..fc40c0f1 --- /dev/null +++ b/gfx/sprites/blaine.2bpp diff --git a/gfx/sprites/blue.2bpp b/gfx/sprites/blue.2bpp Binary files differnew file mode 100644 index 00000000..f5499ff9 --- /dev/null +++ b/gfx/sprites/blue.2bpp diff --git a/gfx/sprites/boulder.2bpp b/gfx/sprites/boulder.2bpp new file mode 100644 index 00000000..f3386f2a --- /dev/null +++ b/gfx/sprites/boulder.2bpp @@ -0,0 +1 @@ +? @ժѮR^C+ҭu??+W~
\ No newline at end of file diff --git a/gfx/sprites/brock.2bpp b/gfx/sprites/brock.2bpp Binary files differnew file mode 100644 index 00000000..4ed34a45 --- /dev/null +++ b/gfx/sprites/brock.2bpp diff --git a/gfx/sprites/bruno.2bpp b/gfx/sprites/bruno.2bpp Binary files differnew file mode 100644 index 00000000..9381d755 --- /dev/null +++ b/gfx/sprites/bruno.2bpp diff --git a/gfx/sprites/buena.2bpp b/gfx/sprites/buena.2bpp Binary files differnew file mode 100644 index 00000000..00886ad6 --- /dev/null +++ b/gfx/sprites/buena.2bpp diff --git a/gfx/sprites/bug_catcher.2bpp b/gfx/sprites/bug_catcher.2bpp Binary files differnew file mode 100644 index 00000000..6edb8a30 --- /dev/null +++ b/gfx/sprites/bug_catcher.2bpp diff --git a/gfx/sprites/bugsy.2bpp b/gfx/sprites/bugsy.2bpp Binary files differnew file mode 100644 index 00000000..298a3835 --- /dev/null +++ b/gfx/sprites/bugsy.2bpp diff --git a/gfx/sprites/cal.2bpp b/gfx/sprites/cal.2bpp Binary files differnew file mode 100644 index 00000000..b3529654 --- /dev/null +++ b/gfx/sprites/cal.2bpp diff --git a/gfx/sprites/captain.2bpp b/gfx/sprites/captain.2bpp Binary files differnew file mode 100644 index 00000000..8b5d0dc3 --- /dev/null +++ b/gfx/sprites/captain.2bpp diff --git a/gfx/sprites/chris.2bpp b/gfx/sprites/chris.2bpp Binary files differnew file mode 100644 index 00000000..e05a2c3f --- /dev/null +++ b/gfx/sprites/chris.2bpp diff --git a/gfx/sprites/chris_bike.2bpp b/gfx/sprites/chris_bike.2bpp new file mode 100644 index 00000000..af04601a --- /dev/null +++ b/gfx/sprites/chris_bike.2bpp @@ -0,0 +1,2 @@ +3?<?PB< +B?2>9OO3>L||Hp0?;<_O<??;7\t?<:.<p8???>?<?3S|D88h_>"?(?!!?9?<OO?>&>|x@?/?'5;?.>?X谰 ? ?p?)?) 8|0? ?<?3SuM88 ?
\ No newline at end of file diff --git a/gfx/sprites/chuck.2bpp b/gfx/sprites/chuck.2bpp Binary files differnew file mode 100644 index 00000000..82240e62 --- /dev/null +++ b/gfx/sprites/chuck.2bpp diff --git a/gfx/sprites/clair.2bpp b/gfx/sprites/clair.2bpp Binary files differnew file mode 100644 index 00000000..32bef007 --- /dev/null +++ b/gfx/sprites/clair.2bpp diff --git a/gfx/sprites/clerk.2bpp b/gfx/sprites/clerk.2bpp Binary files differnew file mode 100644 index 00000000..6d69aee6 --- /dev/null +++ b/gfx/sprites/clerk.2bpp diff --git a/gfx/sprites/cooltrainer_f.2bpp b/gfx/sprites/cooltrainer_f.2bpp Binary files differnew file mode 100644 index 00000000..17c6687a --- /dev/null +++ b/gfx/sprites/cooltrainer_f.2bpp diff --git a/gfx/sprites/cooltrainer_m.2bpp b/gfx/sprites/cooltrainer_m.2bpp Binary files differnew file mode 100644 index 00000000..ae075c33 --- /dev/null +++ b/gfx/sprites/cooltrainer_m.2bpp diff --git a/gfx/sprites/daisy.2bpp b/gfx/sprites/daisy.2bpp Binary files differnew file mode 100644 index 00000000..58ce7537 --- /dev/null +++ b/gfx/sprites/daisy.2bpp diff --git a/gfx/sprites/dragon.2bpp b/gfx/sprites/dragon.2bpp Binary files differnew file mode 100644 index 00000000..bd2dcea8 --- /dev/null +++ b/gfx/sprites/dragon.2bpp diff --git a/gfx/sprites/elder.2bpp b/gfx/sprites/elder.2bpp new file mode 100644 index 00000000..94df75fc --- /dev/null +++ b/gfx/sprites/elder.2bpp @@ -0,0 +1,7 @@ +(7P@oR`0 +J?0/9M~^??9???~z/0PP@`0 + +?0_xW~Os?39?>>~8||>!? ? ?( pd? x(7P@oR`0 +J?0Oy_~??~80/0P@oP`0 + +?0_x_~Os?3~80 #<}B@@P@ (@>1=#(p pp
\ No newline at end of file diff --git a/gfx/sprites/elm.2bpp b/gfx/sprites/elm.2bpp Binary files differnew file mode 100644 index 00000000..5de05555 --- /dev/null +++ b/gfx/sprites/elm.2bpp diff --git a/gfx/sprites/erika.2bpp b/gfx/sprites/erika.2bpp Binary files differnew file mode 100644 index 00000000..16691d98 --- /dev/null +++ b/gfx/sprites/erika.2bpp diff --git a/gfx/sprites/fairy.2bpp b/gfx/sprites/fairy.2bpp Binary files differnew file mode 100644 index 00000000..32e75d48 --- /dev/null +++ b/gfx/sprites/fairy.2bpp diff --git a/gfx/sprites/falkner.2bpp b/gfx/sprites/falkner.2bpp Binary files differnew file mode 100644 index 00000000..f51ec247 --- /dev/null +++ b/gfx/sprites/falkner.2bpp diff --git a/gfx/sprites/famicom.2bpp b/gfx/sprites/famicom.2bpp Binary files differnew file mode 100644 index 00000000..182a360f --- /dev/null +++ b/gfx/sprites/famicom.2bpp diff --git a/gfx/sprites/fisher.2bpp b/gfx/sprites/fisher.2bpp Binary files differnew file mode 100644 index 00000000..0c62b196 --- /dev/null +++ b/gfx/sprites/fisher.2bpp diff --git a/gfx/sprites/fishing_guru.2bpp b/gfx/sprites/fishing_guru.2bpp Binary files differnew file mode 100644 index 00000000..702f325a --- /dev/null +++ b/gfx/sprites/fishing_guru.2bpp diff --git a/gfx/sprites/fruit_tree.2bpp b/gfx/sprites/fruit_tree.2bpp new file mode 100644 index 00000000..3c38a9b3 --- /dev/null +++ b/gfx/sprites/fruit_tree.2bpp @@ -0,0 +1 @@ +;2nO]i6)]`йlLvږl3MGx0?>
\ No newline at end of file diff --git a/gfx/sprites/gameboy_kid.2bpp b/gfx/sprites/gameboy_kid.2bpp new file mode 100644 index 00000000..ec1facf4 --- /dev/null +++ b/gfx/sprites/gameboy_kid.2bpp @@ -0,0 +1 @@ +?7S@oRJ?3
p(0pp????_Oo_;7</?+<pp???9|
p(0pp
\ No newline at end of file diff --git a/gfx/sprites/gentleman.2bpp b/gfx/sprites/gentleman.2bpp Binary files differnew file mode 100644 index 00000000..e7fd2bc1 --- /dev/null +++ b/gfx/sprites/gentleman.2bpp diff --git a/gfx/sprites/gold_trophy.2bpp b/gfx/sprites/gold_trophy.2bpp Binary files differnew file mode 100644 index 00000000..594985e4 --- /dev/null +++ b/gfx/sprites/gold_trophy.2bpp diff --git a/gfx/sprites/gramps.2bpp b/gfx/sprites/gramps.2bpp Binary files differnew file mode 100644 index 00000000..8a5d7ec6 --- /dev/null +++ b/gfx/sprites/gramps.2bpp diff --git a/gfx/sprites/granny.2bpp b/gfx/sprites/granny.2bpp Binary files differnew file mode 100644 index 00000000..7b563b1c --- /dev/null +++ b/gfx/sprites/granny.2bpp diff --git a/gfx/sprites/gym_guy.2bpp b/gfx/sprites/gym_guy.2bpp Binary files differnew file mode 100644 index 00000000..de6d4772 --- /dev/null +++ b/gfx/sprites/gym_guy.2bpp diff --git a/gfx/sprites/janine.2bpp b/gfx/sprites/janine.2bpp Binary files differnew file mode 100644 index 00000000..65cbdb1a --- /dev/null +++ b/gfx/sprites/janine.2bpp diff --git a/gfx/sprites/jasmine.2bpp b/gfx/sprites/jasmine.2bpp Binary files differnew file mode 100644 index 00000000..2fd8ce8b --- /dev/null +++ b/gfx/sprites/jasmine.2bpp diff --git a/gfx/sprites/karen.2bpp b/gfx/sprites/karen.2bpp new file mode 100644 index 00000000..7be42b2d --- /dev/null +++ b/gfx/sprites/karen.2bpp @@ -0,0 +1,2 @@ +?"='?(HJ0DR?*?$C?% T$А``? ? ? @@0? ?!C?' А``0 +,@
\ No newline at end of file diff --git a/gfx/sprites/kimono_girl.2bpp b/gfx/sprites/kimono_girl.2bpp Binary files differnew file mode 100644 index 00000000..32daceb6 --- /dev/null +++ b/gfx/sprites/kimono_girl.2bpp diff --git a/gfx/sprites/koga.2bpp b/gfx/sprites/koga.2bpp Binary files differnew file mode 100644 index 00000000..db7652bb --- /dev/null +++ b/gfx/sprites/koga.2bpp diff --git a/gfx/sprites/kurt.2bpp b/gfx/sprites/kurt.2bpp Binary files differnew file mode 100644 index 00000000..1f21db12 --- /dev/null +++ b/gfx/sprites/kurt.2bpp diff --git a/gfx/sprites/lance.2bpp b/gfx/sprites/lance.2bpp Binary files differnew file mode 100644 index 00000000..12fc0c18 --- /dev/null +++ b/gfx/sprites/lance.2bpp diff --git a/gfx/sprites/lass.2bpp b/gfx/sprites/lass.2bpp Binary files differnew file mode 100644 index 00000000..4e8485fc --- /dev/null +++ b/gfx/sprites/lass.2bpp diff --git a/gfx/sprites/link_receptionist.2bpp b/gfx/sprites/link_receptionist.2bpp Binary files differnew file mode 100644 index 00000000..df716add --- /dev/null +++ b/gfx/sprites/link_receptionist.2bpp diff --git a/gfx/sprites/misty.2bpp b/gfx/sprites/misty.2bpp Binary files differnew file mode 100644 index 00000000..f5450a0f --- /dev/null +++ b/gfx/sprites/misty.2bpp diff --git a/gfx/sprites/mom.2bpp b/gfx/sprites/mom.2bpp Binary files differnew file mode 100644 index 00000000..36f409c4 --- /dev/null +++ b/gfx/sprites/mom.2bpp diff --git a/gfx/sprites/monster.2bpp b/gfx/sprites/monster.2bpp Binary files differnew file mode 100644 index 00000000..542d6ef2 --- /dev/null +++ b/gfx/sprites/monster.2bpp diff --git a/gfx/sprites/morty.2bpp b/gfx/sprites/morty.2bpp Binary files differnew file mode 100644 index 00000000..2c1da80c --- /dev/null +++ b/gfx/sprites/morty.2bpp diff --git a/gfx/sprites/n64.2bpp b/gfx/sprites/n64.2bpp new file mode 100644 index 00000000..c03f2a4d --- /dev/null +++ b/gfx/sprites/n64.2bpp @@ -0,0 +1 @@ +78??4???xS08X<tk?/?1?"\w5ͷ22
\ No newline at end of file diff --git a/gfx/sprites/nurse.2bpp b/gfx/sprites/nurse.2bpp Binary files differnew file mode 100644 index 00000000..fec70f27 --- /dev/null +++ b/gfx/sprites/nurse.2bpp diff --git a/gfx/sprites/oak.2bpp b/gfx/sprites/oak.2bpp Binary files differnew file mode 100644 index 00000000..c4f817c1 --- /dev/null +++ b/gfx/sprites/oak.2bpp diff --git a/gfx/sprites/officer.2bpp b/gfx/sprites/officer.2bpp Binary files differnew file mode 100644 index 00000000..da551977 --- /dev/null +++ b/gfx/sprites/officer.2bpp diff --git a/gfx/sprites/old_link_receptionist.2bpp b/gfx/sprites/old_link_receptionist.2bpp new file mode 100644 index 00000000..7d28ef27 --- /dev/null +++ b/gfx/sprites/old_link_receptionist.2bpp @@ -0,0 +1 @@ + ?"?'=Ox0DGny Ov``
\ No newline at end of file diff --git a/gfx/sprites/paper.2bpp b/gfx/sprites/paper.2bpp Binary files differnew file mode 100644 index 00000000..3d7694f4 --- /dev/null +++ b/gfx/sprites/paper.2bpp diff --git a/gfx/sprites/pharmacist.2bpp b/gfx/sprites/pharmacist.2bpp Binary files differnew file mode 100644 index 00000000..2407b11d --- /dev/null +++ b/gfx/sprites/pharmacist.2bpp diff --git a/gfx/sprites/poke_ball.2bpp b/gfx/sprites/poke_ball.2bpp Binary files differnew file mode 100644 index 00000000..feb6d7d1 --- /dev/null +++ b/gfx/sprites/poke_ball.2bpp diff --git a/gfx/sprites/pokedex.2bpp b/gfx/sprites/pokedex.2bpp Binary files differnew file mode 100644 index 00000000..40ee737a --- /dev/null +++ b/gfx/sprites/pokedex.2bpp diff --git a/gfx/sprites/pokefan_f.2bpp b/gfx/sprites/pokefan_f.2bpp new file mode 100644 index 00000000..1f623951 --- /dev/null +++ b/gfx/sprites/pokefan_f.2bpp @@ -0,0 +1 @@ +;>?8|HH ?/?(?<p<8;?=?px?/_X~~>?=3xp;>?8|HH ?/?(?<p<8;?=?px?/_X~x>?=3
xp||
\ No newline at end of file diff --git a/gfx/sprites/pokefan_m.2bpp b/gfx/sprites/pokefan_m.2bpp Binary files differnew file mode 100644 index 00000000..2e167caf --- /dev/null +++ b/gfx/sprites/pokefan_m.2bpp diff --git a/gfx/sprites/pryce.2bpp b/gfx/sprites/pryce.2bpp Binary files differnew file mode 100644 index 00000000..745b1afc --- /dev/null +++ b/gfx/sprites/pryce.2bpp diff --git a/gfx/sprites/receptionist.2bpp b/gfx/sprites/receptionist.2bpp Binary files differnew file mode 100644 index 00000000..826e6460 --- /dev/null +++ b/gfx/sprites/receptionist.2bpp diff --git a/gfx/sprites/red.2bpp b/gfx/sprites/red.2bpp Binary files differnew file mode 100644 index 00000000..e550d7ad --- /dev/null +++ b/gfx/sprites/red.2bpp diff --git a/gfx/sprites/reds_mom.2bpp b/gfx/sprites/reds_mom.2bpp Binary files differnew file mode 100644 index 00000000..df6b3a16 --- /dev/null +++ b/gfx/sprites/reds_mom.2bpp diff --git a/gfx/sprites/rock.2bpp b/gfx/sprites/rock.2bpp new file mode 100644 index 00000000..da35730d --- /dev/null +++ b/gfx/sprites/rock.2bpp @@ -0,0 +1 @@ +7\tp|zq~Go??>px
\ No newline at end of file diff --git a/gfx/sprites/rocker.2bpp b/gfx/sprites/rocker.2bpp Binary files differnew file mode 100644 index 00000000..2542203c --- /dev/null +++ b/gfx/sprites/rocker.2bpp diff --git a/gfx/sprites/rocket.2bpp b/gfx/sprites/rocket.2bpp Binary files differnew file mode 100644 index 00000000..2bc8793a --- /dev/null +++ b/gfx/sprites/rocket.2bpp diff --git a/gfx/sprites/rocket_girl.2bpp b/gfx/sprites/rocket_girl.2bpp Binary files differnew file mode 100644 index 00000000..97a5e6ab --- /dev/null +++ b/gfx/sprites/rocket_girl.2bpp diff --git a/gfx/sprites/sabrina.2bpp b/gfx/sprites/sabrina.2bpp Binary files differnew file mode 100644 index 00000000..d2aff635 --- /dev/null +++ b/gfx/sprites/sabrina.2bpp diff --git a/gfx/sprites/sage.2bpp b/gfx/sprites/sage.2bpp Binary files differnew file mode 100644 index 00000000..69b2e4e7 --- /dev/null +++ b/gfx/sprites/sage.2bpp diff --git a/gfx/sprites/sailor.2bpp b/gfx/sprites/sailor.2bpp Binary files differnew file mode 100644 index 00000000..bbd9e6f3 --- /dev/null +++ b/gfx/sprites/sailor.2bpp diff --git a/gfx/sprites/scientist.2bpp b/gfx/sprites/scientist.2bpp Binary files differnew file mode 100644 index 00000000..a4e8d689 --- /dev/null +++ b/gfx/sprites/scientist.2bpp diff --git a/gfx/sprites/silver.2bpp b/gfx/sprites/silver.2bpp Binary files differnew file mode 100644 index 00000000..1db1ee7e --- /dev/null +++ b/gfx/sprites/silver.2bpp diff --git a/gfx/sprites/silver_trophy.2bpp b/gfx/sprites/silver_trophy.2bpp Binary files differnew file mode 100644 index 00000000..73964d04 --- /dev/null +++ b/gfx/sprites/silver_trophy.2bpp diff --git a/gfx/sprites/slowpoke.2bpp b/gfx/sprites/slowpoke.2bpp new file mode 100644 index 00000000..3cac02f7 --- /dev/null +++ b/gfx/sprites/slowpoke.2bpp @@ -0,0 +1 @@ +88GP|c<+<#@O88|xx? ? ?pp
\ No newline at end of file diff --git a/gfx/sprites/snes.2bpp b/gfx/sprites/snes.2bpp Binary files differnew file mode 100644 index 00000000..ec7867d5 --- /dev/null +++ b/gfx/sprites/snes.2bpp diff --git a/gfx/sprites/sudowoodo.2bpp b/gfx/sprites/sudowoodo.2bpp Binary files differnew file mode 100644 index 00000000..d9efd679 --- /dev/null +++ b/gfx/sprites/sudowoodo.2bpp diff --git a/gfx/sprites/super_nerd.2bpp b/gfx/sprites/super_nerd.2bpp Binary files differnew file mode 100644 index 00000000..c3a13624 --- /dev/null +++ b/gfx/sprites/super_nerd.2bpp diff --git a/gfx/sprites/surf.2bpp b/gfx/sprites/surf.2bpp Binary files differnew file mode 100644 index 00000000..f6395da9 --- /dev/null +++ b/gfx/sprites/surf.2bpp diff --git a/gfx/sprites/surfing_pikachu.2bpp b/gfx/sprites/surfing_pikachu.2bpp Binary files differnew file mode 100644 index 00000000..1e4f970a --- /dev/null +++ b/gfx/sprites/surfing_pikachu.2bpp diff --git a/gfx/sprites/surge.2bpp b/gfx/sprites/surge.2bpp Binary files differnew file mode 100644 index 00000000..cdb942ab --- /dev/null +++ b/gfx/sprites/surge.2bpp diff --git a/gfx/sprites/swimmer_girl.2bpp b/gfx/sprites/swimmer_girl.2bpp Binary files differnew file mode 100644 index 00000000..b1e79ffb --- /dev/null +++ b/gfx/sprites/swimmer_girl.2bpp diff --git a/gfx/sprites/swimmer_guy.2bpp b/gfx/sprites/swimmer_guy.2bpp Binary files differnew file mode 100644 index 00000000..882f016c --- /dev/null +++ b/gfx/sprites/swimmer_guy.2bpp diff --git a/gfx/sprites/teacher.2bpp b/gfx/sprites/teacher.2bpp Binary files differnew file mode 100644 index 00000000..0901ed9b --- /dev/null +++ b/gfx/sprites/teacher.2bpp diff --git a/gfx/sprites/twin.2bpp b/gfx/sprites/twin.2bpp Binary files differnew file mode 100644 index 00000000..597f0e4b --- /dev/null +++ b/gfx/sprites/twin.2bpp diff --git a/gfx/sprites/unused_guy.2bpp b/gfx/sprites/unused_guy.2bpp Binary files differnew file mode 100644 index 00000000..b1f5b464 --- /dev/null +++ b/gfx/sprites/unused_guy.2bpp diff --git a/gfx/sprites/virtual_boy.2bpp b/gfx/sprites/virtual_boy.2bpp Binary files differnew file mode 100644 index 00000000..bbe5b9fa --- /dev/null +++ b/gfx/sprites/virtual_boy.2bpp diff --git a/gfx/sprites/whitney.2bpp b/gfx/sprites/whitney.2bpp Binary files differnew file mode 100644 index 00000000..354fcfdc --- /dev/null +++ b/gfx/sprites/whitney.2bpp diff --git a/gfx/sprites/will.2bpp b/gfx/sprites/will.2bpp new file mode 100644 index 00000000..bdce93ad --- /dev/null +++ b/gfx/sprites/will.2bpp @@ -0,0 +1 @@ +"?"?*?O_y0$4r/??'>' |p`` ? ? ?@D0"$??/?/ $Xp`` ?DI.?0
``@
\ No newline at end of file diff --git a/gfx/sprites/youngster.2bpp b/gfx/sprites/youngster.2bpp Binary files differnew file mode 100644 index 00000000..f0f329b6 --- /dev/null +++ b/gfx/sprites/youngster.2bpp diff --git a/home/gfx.asm b/home/gfx.asm index 6e73f57d..7a22086d 100644 --- a/home/gfx.asm +++ b/home/gfx.asm @@ -24,8 +24,8 @@ Functiond70:: ; d70 (0:0d70) rst Bankswitch ret -ReplacePlayerSprite:: - farcall Function1413c +ReplaceChrisSprite:: + farcall _ReplaceChrisSprite ret LoadStandardFont:: diff --git a/home/map.asm b/home/map.asm index 225f1bb6..b372f600 100644 --- a/home/map.asm +++ b/home/map.asm @@ -268,7 +268,7 @@ Function2112:: ldh [hMapAnims], a xor a ldh [hTileAnimFrame], a - farcall Function1416d + farcall RefreshSprites call LoadFontsExtra ret @@ -619,7 +619,7 @@ Function2349:: ret Function2362:: ; 2362 (0:2362) - call GetMapPermission + call GetMapEnvironment call CheckOutdoorMap ret nz ld a, [wNextMapGroup] @@ -647,7 +647,7 @@ Function2362:: ; 2362 (0:2362) ret Function239b:: ; 239b (0:239b) - call GetMapPermission + call GetMapEnvironment call CheckOutdoorMap ret nz ld a, [wNextMapGroup] @@ -2151,7 +2151,7 @@ ReturnToMapWithSpeechTextbox:: ReloadTilesetAndPalettes:: ; 2c87 (0:2c87) call DisableLCD call ClearSprites - farcall RefreshSprites + farcall Function1414b call LoadStandardFont call LoadFontsExtra ldh a, [hROMBank] @@ -2295,7 +2295,7 @@ GetSecondaryMapHeaderPointer:: ; 2d56 (0:2d56) pop bc ret -GetMapPermission:: ; 2d63 (0:2d63) +GetMapEnvironment:: ; 2d63 (0:2d63) push hl push de push bc diff --git a/home/time.asm b/home/time.asm index d3c400f7..aa2817f9 100644 --- a/home/time.asm +++ b/home/time.asm @@ -15,7 +15,7 @@ UpdateTime:: call GetClock call FixDays call FixTime - farcall Function14032 + farcall GetTimeOfDay ret GetClock:: @@ -127,7 +127,7 @@ FixTime:: ; second ldh a, [hRTCSeconds] ld c, a - ld a, [wd1df] + ld a, [wStartSecond] add c sub 60 jr nc, .updatesec @@ -139,7 +139,7 @@ FixTime:: ccf ; carry is set, so turn it off ldh a, [hRTCMinutes] ld c, a - ld a, [wd1de] + ld a, [wStartMinute] adc c sub 60 jr nc, .updatemin @@ -151,7 +151,7 @@ FixTime:: ccf ; carry is set, so turn it off ldh a, [hRTCHours] ld c, a - ld a, [wd1dd] + ld a, [wStartHour] adc c sub 24 jr nc, .updatehr @@ -163,7 +163,7 @@ FixTime:: ccf ; carry is set, so turn it off ldh a, [hRTCDayLo] ld c, a - ld a, [wd1dc] + ld a, [wStartDay] adc c ld [wCurDay], a ret @@ -186,7 +186,7 @@ InitDayOfWeek:: jr InitTime ; useless InitTime:: - farcall Function140ff + farcall _InitTime ret PanicResetClock:: diff --git a/home/window.asm b/home/window.asm index ac08375e..e2df3d4f 100644 --- a/home/window.asm +++ b/home/window.asm @@ -37,7 +37,7 @@ CloseText:: ld a, $90 ldh [hWY], a farcall Function1415c - call ReplacePlayerSprite + call ReplaceChrisSprite ld hl, wd565 res 7, [hl] call ResetBGWindow @@ -71,29 +71,9 @@ INCLUDE "engine/events/pokerus/apply_pokerus_tick.asm" INCLUDE "engine/events/bug_contest/contest_2.asm" SECTION "bank5", ROMX - dr $14000, $14032 -Function14032:: - dr $14032, $14089 -StartClock:: - dr $14089, $140dc -ClockContinue: - dr $140dc, $140ff -Function140ff:: - dr $140ff, $1413c -Function1413c:: - dr $1413c, $1414b -RefreshSprites:: - dr $1414b, $1415c -Function1415c:: - dr $1415c, $1416d -Function1416d:: - dr $1416d, $14226 -LoadUsedSpritesGFX: - dr $14226, $14317 -_DoesSpriteHaveFacings:: - dr $14317, $14334 -_GetSpritePalette:: - dr $14334, $14a18 + +INCLUDE "engine/rtc/rtc.asm" +INCLUDE "engine/overworld/overworld.asm" Function14a18:: dr $14a18, $14a2d Function14a2d:: @@ -565,7 +545,9 @@ IF DEF(_GOLD) dr $8d332, $8e774 ClearSpriteAnims2:: - dr $8e774, $8e79f + dr $8e774, $8e78b +LoadOverworldMonIcon:: + dr $8e78b, $8e79f LoadMenuMonIcon:: dr $8e79f, $8e922 UnfreezeMonIcons:: @@ -577,7 +559,9 @@ ELIF DEF(_SILVER) dr $8d332, $8e75a ClearSpriteAnims2:: - dr $8e75a, $8e785 + dr $8e75a, $8e771 +LoadOverworldMonIcon:: + dr $8e771, $8e785 LoadMenuMonIcon:: dr $8e785, $8e908 UnfreezeMonIcons:: @@ -670,18 +654,7 @@ INCLUDE "engine/events/treemons.asm" INCLUDE "engine/pokegear/radio.asm" INCLUDE "engine/pokemon/mail_2.asm" -SECTION "bank30", ROMX - -PlayerSpriteGFX: - dr $c0000, $c03c0 -SilverSpriteGFX: - dr $c03c0, $c0fc0 -MomSpriteGFX: - dr $c0fc0, $c3fc0 - -SECTION "bank31", ROMX - dr $c4000, $c7a40 - +SECTION "bank31_2", ROMX Functionc7a40: dr $c7a40, $c7a5a CheckForLuckyNumberWinners: diff --git a/pokegold.link b/pokegold.link index 3dce383b..8e683fc3 100644 --- a/pokegold.link +++ b/pokegold.link @@ -135,11 +135,11 @@ ROMX $2e org $6300 "bank2e_2" ROMX $30 - org $4000 - "bank30" + "Sprites 1" ROMX $31 - org $4000 - "bank31" + "Sprites 2" + org $7a40 + "bank31_2" ROMX $32 org $4000 "bank32" diff --git a/pokesilver.link b/pokesilver.link index 3dce383b..8e683fc3 100644 --- a/pokesilver.link +++ b/pokesilver.link @@ -135,11 +135,11 @@ ROMX $2e org $6300 "bank2e_2" ROMX $30 - org $4000 - "bank30" + "Sprites 1" ROMX $31 - org $4000 - "bank31" + "Sprites 2" + org $7a40 + "bank31_2" ROMX $32 org $4000 "bank32" @@ -2639,8 +2639,9 @@ wd05a:: ds 1 ; d05a wd05b:: ds 1 ; d05b wd05c:: ds 1 ; d05c -wUsedSprites:: ds SPRITE_GFX_LIST_CAPACITY ; d05d - +wUsedSprites:: ds SPRITE_GFX_LIST_CAPACITY * 2 +wUsedSpritesEnd:: + ds 8 wOverworldMapAnchor:: dw ; d07d wd07f:: ds 1 ; d07f @@ -2986,14 +2987,12 @@ wGreensName:: ds NAME_LENGTH ; d1cf wSavedAtLeastOnce:: ds 1 ; d1da wd1db:: ds 1 ; d1db -wd1dc:: ds 1 ; d1dc -wd1dd:: ds 1 ; d1dd -wd1de:: ds 1 ; d1de -wd1df:: ds 1 ; d1df -wd1e0:: ds 1 ; d1e0 -wd1e1:: ds 1 ; d1e1 -wd1e2:: ds 1 ; d1e2 -wd1e3:: ds 1 ; d1e3 +wStartDay:: db ; d1dc +wStartHour:: db ; d1dd +wStartMinute:: db ; d1de +wStartSecond:: db ; d1df +wRTC:: ds 4 ; d1e0 + wd1e4:: ds 1 ; d1e4 wd1e5:: ds 1 ; d1e5 wd1e6:: ds 1 ; d1e6 @@ -3076,22 +3075,7 @@ wd551:: ds 1 ; d551 wd552:: ds 1 ; d552 wd553:: ds 1 ; d553 wd554:: ds 1 ; d554 -wd555:: ds 1 ; d555 -wd556:: ds 1 ; d556 -wd557:: ds 1 ; d557 -wd558:: ds 1 ; d558 -wd559:: ds 1 ; d559 -wd55a:: ds 1 ; d55a -wd55b:: ds 1 ; d55b -wd55c:: ds 1 ; d55c -wd55d:: ds 1 ; d55d -wd55e:: ds 1 ; d55e -wd55f:: ds 1 ; d55f -wd560:: ds 1 ; d560 -wd561:: ds 1 ; d561 -wd562:: ds 1 ; d562 -wd563:: ds 1 ; d563 -wd564:: ds 1 ; d564 +wVariableSprites:: ds $100 - SPRITE_VARS ; d555 wd565:: ds 1 ; d565 wd566:: ds 1 ; d566 wd567:: ds 1 ; d567 @@ -3532,7 +3516,7 @@ wWeeklyFlags:: ds 1 ; d969 wd96a:: ds 1 ; d96a wd96b:: ds 1 ; d96b wd96c:: ds 1 ; d96c -wStartDay:: ds 1 ; d96d +wTimerEventStartDay:: db ; d96d wd96e:: ds 1 ; d96e wd96f:: ds 1 ; d96f wd970:: ds 1 ; d970 |