From b705dbf6ae8f3192cb74a87546a6d2df90654e0e Mon Sep 17 00:00:00 2001 From: Martha Schilling Date: Thu, 18 Jul 2024 16:13:32 +0100 Subject: [PATCH 1/8] Caretorker! Sprites from Pokemon October, shiny palette by me, and I also gave it a cry that I think works. --- data/pokemon/cries.asm | 2 +- gfx/pokemon/caretorker/anim.asm | 16 +++++++++++++++- gfx/pokemon/caretorker/anim_idle.asm | 3 +++ gfx/pokemon/caretorker/back.png | Bin 304 -> 10216 bytes gfx/pokemon/caretorker/front.png | Bin 315 -> 1029 bytes gfx/pokemon/caretorker/shiny.pal | 4 ++-- 6 files changed, 21 insertions(+), 4 deletions(-) diff --git a/data/pokemon/cries.asm b/data/pokemon/cries.asm index 79c4014..09f1448 100644 --- a/data/pokemon/cries.asm +++ b/data/pokemon/cries.asm @@ -310,7 +310,7 @@ PokemonCries:: mon_cry CRY_TYPHLOSION, 239, 247 ; STEELIX mon_cry CRY_DUNSPARCE, 274, 232 ; SNUBBULL mon_cry CRY_DUNSPARCE, 0, 384 ; GRANBULL - mon_cry CRY_NIDORAN_M, 0, 0 ; CARETORKER (incomplete) + mon_cry CRY_RAIKOU, 64, 512 ; CARETORKER mon_cry CRY_SLOWKING, 352, 224 ; QWILFISH mon_cry CRY_NIDORAN_M, 0, 0 ; KAZEPPELIN (incomplete) mon_cry CRY_NIDORAN_M, 0, 0 ; QWILFATHER (incomplete) diff --git a/gfx/pokemon/caretorker/anim.asm b/gfx/pokemon/caretorker/anim.asm index 875f7be..01b1095 100644 --- a/gfx/pokemon/caretorker/anim.asm +++ b/gfx/pokemon/caretorker/anim.asm @@ -1 +1,15 @@ - endanim \ No newline at end of file + frame 0, 08 + frame 1, 06 + frame 2, 10 + frame 0, 06 + frame 2, 10 + frame 0, 04 + frame 3, 08 + frame 4, 08 + frame 3, 08 + frame 4, 08 + frame 3, 08 + frame 4, 08 + frame 3, 06 + frame 5, 18 + endanim diff --git a/gfx/pokemon/caretorker/anim_idle.asm b/gfx/pokemon/caretorker/anim_idle.asm index 875f7be..9328ab3 100644 --- a/gfx/pokemon/caretorker/anim_idle.asm +++ b/gfx/pokemon/caretorker/anim_idle.asm @@ -1 +1,4 @@ + frame 3, 08 + frame 0, 08 + frame 3, 08 endanim \ No newline at end of file diff --git a/gfx/pokemon/caretorker/back.png b/gfx/pokemon/caretorker/back.png index c7216be8a6b643ae0f808a7c3d303e86af6d8dfa..fe5b57c5b073254f8d5c013002a1a85af4f8c889 100644 GIT binary patch literal 10216 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 diff --git a/gfx/pokemon/caretorker/front.png b/gfx/pokemon/caretorker/front.png index e0a9da9b43992ebb15c6f0ee1221e0d9e64105eb..7978ebbdb2d95d4b1396d854be6ea6278f5e74c4 100644 GIT binary patch literal 1029 zcmeAS@N?(olHy`uVBq!ia0vp^77PrG0W8cwmPEyZbwG-}#M9T6{RO*#Ft4Io*RKmVemt6wxA|8W>u7XR}92C;zgihN~@QHqA~p{1&;;QTh9QhG0FhD#I7%De|`t zyiZzi__tZa%ZJ+{7S?{Z6aLx!L}q{H@r7---oGn1t;?y>9Q41?mM@{$(K zeYMzV?K{y@FGFEN7x%edYwm0965=V{b+>KtqZfNDY`RLP^t{wdnx!MwLzw^XQ1;+Ryu*Ev4#B-tgt*4N&2oRmyY3z(c)zfrBt>~)To@%v@huI>ms z9oyquwRxvmUeQXuRZ>-ov%lQydinR3mD}9@b0@rloHs6xzrAONc_6FoiLmb>8`-X9 zuV2}*bg7!x`9r?VLOL_`W>xf>?tanya?$F0oyOibj>HyccN{f|b-DKE)`_W&lj>yW z{tQnFIJ&m;ySS1dyHWI-K>hGNog(I&Ha>GHdbD0ie0uIWU2l#1F1`X+Z%vkobM@Pn ztlQ)WN@G8dbnot(_Lqv&SDp5muWvInMe zm)zS~>XcrXTG%QUZr7o0pS^$6zx@5*w6E_I4-fdwI&JUUy#`#X&Vw?Vr>mdK II;Vst0K#~_LjV8( literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sJOMr-uK)l4-}{`ScnXlu5R|)9 z9Z0d11o;I6#sBAOxK#rA2RvOILn>~)o$APU*nop2@caMzJkhJBYWG+dh3uV@Y^1zl z@-&oTG=oY!Xz2?|zvP!aNouVXD;D(Z%HM_H}%`{$`dFR36K>440+ZUZy&p)Ai z==I09cKiST@U&rE`-`*qw{lc8&@X(c5uRzjz6@GGHU|)cz@^~HAj;F#&t;ucLK6U- C0e)Bj diff --git a/gfx/pokemon/caretorker/shiny.pal b/gfx/pokemon/caretorker/shiny.pal index 5c88669..950185f 100644 --- a/gfx/pokemon/caretorker/shiny.pal +++ b/gfx/pokemon/caretorker/shiny.pal @@ -1,2 +1,2 @@ - RGB 22, 22, 12 - RGB 07, 15, 25 \ No newline at end of file + RGB 31, 22, 31 + RGB 04, 17, 28 \ No newline at end of file From 157bfdc15b940b95149739703a9c0efdbf177c13 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Thu, 18 Jul 2024 16:15:40 +0100 Subject: [PATCH 2/8] Winner's Path outside & connected This makes and connects Winner's Path Outside to Victory Road Gate. Also fixes bugs in Winner's Path that caused signs to crash the game. Next, making the route that connects to Silent Hills, and reintegrating Mt. Silver! --- constants/event_flags.asm | 14 ++- constants/map_constants.asm | 1 + constants/trainer_constants.asm | 29 ++++--- data/maps/attributes.asm | 1 + data/maps/blocks.asm | 3 + data/maps/maps.asm | 17 ++-- data/maps/outdoor_sprites.asm | 2 +- data/maps/scripts.asm | 1 + data/tilesets/nihon01_attributes.bin | Bin 2080 -> 2144 bytes data/tilesets/nihon01_collision.asm | 6 +- data/tilesets/nihon01_metatiles.bin | Bin 2080 -> 2144 bytes data/trainers/parties.asm | 21 ++++- data/wild/nihon_grass.asm | 40 +++++++-- maps/DebugRoom.asm | 2 +- maps/VictoryRoadGate.asm | 8 +- maps/WinnersPath.asm | 48 +++++------ maps/WinnersPathOutside.ablk | 1 + maps/WinnersPathOutside.asm | 122 +++++++++++++++++++++++++++ 18 files changed, 253 insertions(+), 63 deletions(-) create mode 100644 maps/WinnersPathOutside.ablk create mode 100644 maps/WinnersPathOutside.asm diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 03dfa20..27bc41e 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -1073,7 +1073,19 @@ const EVENT_BEAT_SAGE_GAKU const EVENT_BEAT_SAGE_MASA const EVENT_BEAT_SAGE_KOJI -; Unused: next 116 events +; New trainers + const EVENT_BEAT_CHANNELER_SHANNA ; unused + const EVENT_BEAT_CUE_BALL_KIRBY ; unused + const EVENT_BEAT_ENGINEER_DASHU + const EVENT_BEAT_ROCKER_BOWIE ; unused + const EVENT_BEAT_TAMER_MOE ; unused + const EVENT_BEAT_FIREFIGHTER_REMY ; unused + const EVENT_BEAT_TEACHERM_DORNYEI ; unused + const EVENT_BEAT_PAINTER_RACHEL ; unused + const EVENT_BEAT_PAINTER_DALI ; unused + const EVENT_BEAT_SOLDIER_PEPPINO ; unused + const EVENT_BEAT_SPORTSMAN_JACQUES ; unused +; Unused: next 106 events const_next 1600 ; Sprite visibility flags diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 27f19ca..92738d0 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -617,6 +617,7 @@ ENDM newgroup SILENT_HILLS ; 35 map_const WINNERS_PATH, 10, 26 ; 1 + map_const WINNERS_PATH_OUTSIDE, 9, 30 ; 1 map_const SILENT_HILLS, 10, 10 ; 2 map_const DEBUG_ROOM, 20, 20 ; 3 map_const ROUTE_49, 15, 9 ; 4 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index d8caeef..fea2577 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -245,8 +245,8 @@ DEF KRIS EQU __trainer_class__ trainerclass BEAUTY ; 1d const VICTORIA const SAMANTHA - const JULIE ; unused - const JACLYN ; unused + const JULIE + const JACLYN const BRENDA ; unused const CASSIE const CAROLINE ; unused @@ -257,7 +257,7 @@ DEF KRIS EQU __trainer_class__ const KENDRA ; unused const VERONICA ; unused const JULIA - const THERESA ; unused + const THERESA const VALERIE const OLIVIA @@ -517,7 +517,7 @@ DEF KRIS EQU __trainer_class__ trainerclass FIREBREATHER ; 30 const OTIS - const DICK ; unused + const DICK const NED ; unused const BURT const BILL @@ -713,34 +713,35 @@ DEF KRIS EQU __trainer_class__ const EUSINE trainerclass CHANNELER ; 44 - const SHANNA + const SHANNA ; unused trainerclass CUE_BALL ; 45 - const KIRBY ; That one Cleffa trainer. + const KIRBY ; unused, that one Cleffa trainer. trainerclass ENGINEER ; 46 - const DASHU ; From Mandarin 大叔, literally meaning "uncle". Affectionately refers to middle-aged men, and is the name for the class in Chinese. + const DASHU ; unused, From Mandarin 大叔, literally meaning "uncle". Affectionately refers to middle-aged men, and is the name for the class in Chinese. trainerclass ROCKER ; 47 - const BOWIE ; David Bowie! + const BOWIE ; unused trainerclass TAMER ; 48 - const MOE ; Ace Attorney reference + const MOE ; unused trainerclass FIREFIGHTER ; 49 - const REMY ; I am in France and larping at the time of doing this + const REMY ; unused trainerclass TEACHERM ; 50 - const DORNYEI ; Zoltan Dornyei, famous ELT teacher + const DORNYEI ; unused, Zoltan Dornyei, famous ELT teacher trainerclass PAINTER ; 51 - const RACHEL ; Could use Salvador Dali later, a surrealist painter. + const RACHEL ; Famous figure in the prototype Pokemon community and unused general girl name, unused + const DALI ; unused trainerclass SOLDIER ; 52 - const PEPPINO ; come on. COME ON. + const PEPPINO ; unused, may change trainerclass SPORTSMAN ; 53 - const JACQUES ; also an ace attorney reference. + const JACQUES ; unused trainerclass AEROFOSSIL ; 54 const FOSSIL1 diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index 0bcbaff..25a2852 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -807,6 +807,7 @@ ENDM ; Nihon map_attributes WinnersPath, WINNERS_PATH, $00, 0 + map_attributes WinnersPathOutside, WINNERS_PATH_OUTSIDE, $05, 0 map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later. map_attributes QuietCave, QUIET_CAVE, $76, 0 map_attributes SilentHillsPokecenter1F, SILENT_HILLS_POKECENTER_1F, $00, 0 diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm index ddec052..93fc205 100644 --- a/data/maps/blocks.asm +++ b/data/maps/blocks.asm @@ -1201,3 +1201,6 @@ SinjohRuinsInterior_Blocks: WinnersPath_Blocks: INCBIN "maps/WinnersPath.ablk" + +WinnersPathOutside_Blocks: + INCBIN "maps/WinnersPathOutside.ablk" diff --git a/data/maps/maps.asm b/data/maps/maps.asm index 98c3eac..458960c 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -674,18 +674,19 @@ MapGroup_SevenIsland: ; 34 MapGroup_SilentHills: table_width MAP_LENGTH, MapGroup_SilentHills map WinnersPath, TILESET_CAVE, CAVE, LANDMARK_WINNERS_PATH, MUSIC_VICTORY_ROAD, FALSE, PALETTE_NITE, FISHGROUP_DRATINI ; Sounds like a funny fishgroup - map SilentHills, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, TRUE, PALETTE_AUTO, FISHGROUP_SHORE + map WinnersPathOutside, TILESET_NIHON_01, ROUTE, LANDMARK_WINNERS_PATH, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_NONE + map SilentHills, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, TRUE, PALETTE_AUTO, FISHGROUP_NONE map DebugRoom, TILESET_NIHON_01, TOWN, LANDMARK_DEBUG_ROOM, MUSIC_SINJOH_RUINS, TRUE, PALETTE_AUTO, FISHGROUP_SHORE map Route49, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND map QuietCave, TILESET_NIHON_01, ROUTE, LANDMARK_QUIET_CAVE, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND map Route49_2, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND - map SilentHillsPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SilversHouse, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CalsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CalsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SinjohRuinsExterior, TILESET_CAVE, CAVE, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map SinjohRuinsInterior, TILESET_CAVE, CAVE, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map Route49OldCityGate, TILESET_GATE, GATE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SilentHillsPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_NONE + map SilversHouse, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_NONE + map CalsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_NONE + map CalsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_NONE + map SinjohRuinsExterior, TILESET_CAVE, CAVE, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_DAY, FISHGROUP_NONE + map SinjohRuinsInterior, TILESET_CAVE, CAVE, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_DAY, FISHGROUP_NONE + map Route49OldCityGate, TILESET_GATE, GATE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_NONE assert_table_length NUM_SILENT_HILLS_MAPS MapGroup_BlueForest: diff --git a/data/maps/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm index d171cdc..4086e26 100644 --- a/data/maps/outdoor_sprites.asm +++ b/data/maps/outdoor_sprites.asm @@ -704,7 +704,7 @@ SilentHillsGroupSprites: db SPRITE_BIG_LAPRAS db SPRITE_BIG_ONIX db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX + db SPRITE_POKEFAN_M db SPRITE_RIVAL db SPRITE_TEACHER db SPRITE_FISHER diff --git a/data/maps/scripts.asm b/data/maps/scripts.asm index e08f580..d970be7 100644 --- a/data/maps/scripts.asm +++ b/data/maps/scripts.asm @@ -593,3 +593,4 @@ INCLUDE "maps/SinjohRuinsInterior.asm" SECTION "Map Scripts 29", ROMX INCLUDE "maps/Route49OldCityGate.asm" INCLUDE "maps/WinnersPath.asm" +INCLUDE "maps/WinnersPathOutside.asm" diff --git a/data/tilesets/nihon01_attributes.bin b/data/tilesets/nihon01_attributes.bin index e956b3f759d41d655f7d07242a6c406f30c2a4c9..9969f03c266bbafa0fd4d1e37e0a28c63679c53e 100644 GIT binary patch delta 58 ycmZ1=@IYWg5DOm@69WSi9BfWt31DVn1A@t0*kdMMRN!Y~WCS4~05c{kDgpo;p9psV delta 53 icmaDLus~o#5DOmz3fP>$62Q#D3Ivn4u*V2+paB5fK?ZRE diff --git a/data/tilesets/nihon01_collision.asm b/data/tilesets/nihon01_collision.asm index 2820da3..77609b0 100644 --- a/data/tilesets/nihon01_collision.asm +++ b/data/tilesets/nihon01_collision.asm @@ -127,4 +127,8 @@ tilecoll WALL, DOOR, FLOOR, FLOOR ; 7e tilecoll WALL, WALL, FLOOR, FLOOR ; 7f tilecoll FLOOR, WALL, FLOOR, WALL ; 80 - tilecoll WALL, WALL, WALL, WALL ; 81 + tilecoll WALL, WALL, DOOR, WALL ; 81 + tilecoll FLOOR, FLOOR, FLOOR, WALL ; 82 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 83 + tilecoll FLOOR, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 84 + tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 85 diff --git a/data/tilesets/nihon01_metatiles.bin b/data/tilesets/nihon01_metatiles.bin index dee8ef46ecdea4935c4f459d5ea4d70bda3c3010..64b420bfcbe65588208b7aa8da18a131f5fe62a7 100644 GIT binary patch delta 135 zcmZ1=@IYWg5DOnGtAise9BfWt31DJWnY@whzW_H7NJ9Y=5KKP69uS}c1zz4JCQ;EQ pCNRE=N&t|p8o Date: Thu, 18 Jul 2024 17:51:01 +0100 Subject: [PATCH 3/8] Unnumbered Route This route is unnumbered for now, because it's technically the last Nihon Route (numbered 23 in-prototype) and I don't know how to number it yet. It's easily find/replaced once we're sure, anyway. Wild data uses the prototype's plus a couple edits, levels are kept low as you're actually entering here. It's official: Nihon is connected to Johto and Kanto now! --- Makefile | 1 - constants/event_flags.asm | 1 + constants/landmark_constants.asm | 1 + constants/map_constants.asm | 27 ++--- constants/trainer_constants.asm | 13 +-- data/maps/attributes.asm | 11 ++- data/maps/blocks.asm | 3 + data/maps/landmarks.asm | 11 ++- data/maps/maps.asm | 1 + data/maps/outdoor_sprites.asm | 2 +- data/maps/scripts.asm | 1 + data/tilesets/nihon01_attributes.bin | Bin 2144 -> 2288 bytes data/tilesets/nihon01_collision.asm | 9 ++ data/tilesets/nihon01_metatiles.bin | Bin 2144 -> 2288 bytes data/trainers/parties.asm | 135 ++++--------------------- data/trainers/parties_new_classes.asm | 108 ++++++++++++++++++++ data/wild/nihon_grass.asm | 31 ++++++ data/wild/nihon_water.asm | 7 ++ layout.link | 5 +- main.asm | 9 +- maps/SilentHills.ablk | 3 +- maps/UnnumberedRoute.ablk | 6 ++ maps/UnnumberedRoute.asm | 137 ++++++++++++++++++++++++++ maps/WinnersPathOutside.ablk | 2 +- 24 files changed, 368 insertions(+), 156 deletions(-) create mode 100644 data/trainers/parties_new_classes.asm create mode 100644 maps/UnnumberedRoute.ablk create mode 100644 maps/UnnumberedRoute.asm diff --git a/Makefile b/Makefile index 9c66400..c8582b0 100644 --- a/Makefile +++ b/Makefile @@ -132,7 +132,6 @@ pokecrystal_vc_opt = -Cjv -t PM_CRYSTAL -i BYTE -n 0 -k 01 -l 0x33 -m 0x10 %.gbc: $$(%_obj) layout.link $(RGBLINK) -n $*.sym -m $*.map -l layout.link -o $@ $(filter %.o,$^) $(RGBFIX) $($*_opt) $@ - tools/stadium $@ ### LZ compression rules diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 27bc41e..2a89ca6 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -672,6 +672,7 @@ const EVENT_BEAT_FISHER_WILTON2 const EVENT_BEAT_FISHER_SCOTT const EVENT_BEAT_FISHER_WILTON3 + const EVENT_BEAT_FISHER_BRAN ; Twins const EVENT_BEAT_TWINS_AMY_AND_MAY const EVENT_BEAT_TWINS_ANN_AND_ANNE diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm index 2878238..a39c85b 100644 --- a/constants/landmark_constants.asm +++ b/constants/landmark_constants.asm @@ -127,6 +127,7 @@ DEF KANTO_LANDMARK EQU const_value const LANDMARK_SEVEN_ISLAND DEF NIHON_LANDMARK EQU const_value const LANDMARK_WINNERS_PATH + const LANDMARK_UNNUMBERED_ROUTE const LANDMARK_SILENT_HILLS const LANDMARK_DEBUG_ROOM const LANDMARK_ROUTE_49 diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 92738d0..234ff96 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -617,19 +617,20 @@ ENDM newgroup SILENT_HILLS ; 35 map_const WINNERS_PATH, 10, 26 ; 1 - map_const WINNERS_PATH_OUTSIDE, 9, 30 ; 1 - map_const SILENT_HILLS, 10, 10 ; 2 - map_const DEBUG_ROOM, 20, 20 ; 3 - map_const ROUTE_49, 15, 9 ; 4 - map_const QUIET_CAVE, 27, 18 ; 5 - map_const ROUTE_49_2, 10, 19 ; 6 - map_const SILENT_HILLS_POKECENTER_1F, 10, 4 ; 7 - map_const SILVERS_HOUSE, 5, 5 ; 8 - map_const CALS_HOUSE_1F, 5, 4 ; 9 - map_const CALS_HOUSE_2F, 5, 4 ; 10 - map_const SINJOH_RUINS_EXTERIOR, 10, 10 ; 11 - map_const SINJOH_RUINS_INTERIOR, 10, 10 ; 12 - map_const ROUTE_49_OLD_CITY_GATE, 5, 4 ; 13 + map_const WINNERS_PATH_OUTSIDE, 9, 30 ; 2 + map_const UNNUMBERED_ROUTE, 31, 9 ; 3 + map_const SILENT_HILLS, 10, 10 ; 4 + map_const DEBUG_ROOM, 20, 20 ; 5 + map_const ROUTE_49, 15, 9 ; 6 + map_const QUIET_CAVE, 27, 18 ; 7 + map_const ROUTE_49_2, 10, 19 ; 8 + map_const SILENT_HILLS_POKECENTER_1F, 10, 4 ; 9 + map_const SILVERS_HOUSE, 5, 5 ; 10 + map_const CALS_HOUSE_1F, 5, 4 ; 11 + map_const CALS_HOUSE_2F, 5, 4 ; 12 + map_const SINJOH_RUINS_EXTERIOR, 10, 10 ; 13 + map_const SINJOH_RUINS_INTERIOR, 10, 10 ; 14 + map_const ROUTE_49_OLD_CITY_GATE, 5, 4 ; 15 endgroup newgroup BLUE_FOREST ; 36 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index fea2577..87902d3 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -210,12 +210,12 @@ DEF KRIS EQU __trainer_class__ const GAVEN3 const BLAKE const BRIAN - const ERICK ; unused - const ANDY ; unused + const ERICK + const ANDY const TYLER ; unused const SEAN const KEVIN - const STEVE ; unused + const STEVE const ALLEN const DARIN @@ -384,6 +384,7 @@ DEF KRIS EQU __trainer_class__ const RALPH4 const RALPH5 const TULLY4 + const BRAN trainerclass SWIMMERM ; 26 const HAROLD @@ -447,7 +448,7 @@ DEF KRIS EQU __trainer_class__ trainerclass SUPER_NERD ; 29 const STAN const ERIC - const GREGG ; unused + const GREGG const JAY ; unused const DAVE ; unused const SAM @@ -734,8 +735,8 @@ DEF KRIS EQU __trainer_class__ const DORNYEI ; unused, Zoltan Dornyei, famous ELT teacher trainerclass PAINTER ; 51 - const RACHEL ; Famous figure in the prototype Pokemon community and unused general girl name, unused - const DALI ; unused + const RACHEL ; Famous figure in the prototype Pokemon community and unused general girl name, unused, give kotora, smeargle... + const DALI trainerclass SOLDIER ; 52 const PEPPINO ; unused, may change diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index 25a2852..3365d3e 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -375,8 +375,9 @@ ENDM connection north, Route10North, ROUTE_10_NORTH, 0 connection south, LavenderTown, LAVENDER_TOWN, 0 - map_attributes SilentHills, SILENT_HILLS, $05, WEST ; Add Prince and east connections later + map_attributes SilentHills, SILENT_HILLS, $05, EAST | WEST ; Add Prince connections later connection west, Route49, ROUTE_49, 0 + connection east, UnnumberedRoute, UNNUMBERED_ROUTE, 0 map_attributes Route49, ROUTE_49, $05, EAST | WEST connection east, SilentHills, SILENT_HILLS, $05, 0 @@ -807,7 +808,13 @@ ENDM ; Nihon map_attributes WinnersPath, WINNERS_PATH, $00, 0 - map_attributes WinnersPathOutside, WINNERS_PATH_OUTSIDE, $05, 0 + map_attributes WinnersPathOutside, WINNERS_PATH_OUTSIDE, $05, NORTH + connection north, UnnumberedRoute, UNNUMBERED_ROUTE, 0 + + map_attributes UnnumberedRoute, UNNUMBERED_ROUTE, $05, WEST | SOUTH + connection south, WinnersPathOutside, WINNERS_PATH_OUTSIDE, 0 + connection west, SilentHills, SILENT_HILLS, 0 + map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later. map_attributes QuietCave, QUIET_CAVE, $76, 0 map_attributes SilentHillsPokecenter1F, SILENT_HILLS_POKECENTER_1F, $00, 0 diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm index 93fc205..686a0cf 100644 --- a/data/maps/blocks.asm +++ b/data/maps/blocks.asm @@ -1204,3 +1204,6 @@ WinnersPath_Blocks: WinnersPathOutside_Blocks: INCBIN "maps/WinnersPathOutside.ablk" + +UnnumberedRoute_Blocks: + INCBIN "maps/UnnumberedRoute.ablk" diff --git a/data/maps/landmarks.asm b/data/maps/landmarks.asm index 3bd67c4..06fa794 100644 --- a/data/maps/landmarks.asm +++ b/data/maps/landmarks.asm @@ -130,11 +130,12 @@ Landmarks: landmark 0, 0, UnknownName ; Six Island landmark 0, 0, UnknownName ; Seven Island assert_table_length NIHON_LANDMARK - landmark 0, 0, WinnersPathName - landmark 92, 108, SilentHillsName + landmark 108, 116, WinnersPathName + landmark 108, 108, UnknownName ; Unnumbered post-Winner's Path Route + landmark 92, 108, SilentHillsName landmark 20, 28, UnknownName ; Debug Room - landmark 91, 108, Route49Name ; probably not correct - landmark 91, 108, QuietCaveName ; probably not correct + landmark 84, 108, Route49Name + landmark 76, 108, QuietCaveName landmark 140, 60, BlueForestName assert_table_length NUM_LANDMARKS @@ -164,7 +165,7 @@ WhirlIslandsName: db "WHIRL¯ISLANDS@" MtMortarName: db "MT.MORTAR@" DragonsDenName: db "DRAGON'S¯DEN@" IcePathName: db "ICE PATH@" -NotApplicableName: db "N/A@" ; unreferenced ; "オバケやしき" ("HAUNTED HOUSE") in Japanese +HauntedHouseName: db "HAUNTED¯HOUSE@" ; unreferenced ; "オバケやしき" ("HAUNTED HOUSE") in Japanese PalletTownName: db "PALLET TOWN@" ViridianCityName: db "VIRIDIAN¯CITY@" PewterCityName: db "PEWTER CITY@" diff --git a/data/maps/maps.asm b/data/maps/maps.asm index 458960c..0409efd 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -675,6 +675,7 @@ MapGroup_SilentHills: table_width MAP_LENGTH, MapGroup_SilentHills map WinnersPath, TILESET_CAVE, CAVE, LANDMARK_WINNERS_PATH, MUSIC_VICTORY_ROAD, FALSE, PALETTE_NITE, FISHGROUP_DRATINI ; Sounds like a funny fishgroup map WinnersPathOutside, TILESET_NIHON_01, ROUTE, LANDMARK_WINNERS_PATH, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_NONE + map UnnumberedRoute, TILESET_NIHON_01, ROUTE, LANDMARK_UNNUMBERED_ROUTE, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN map SilentHills, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, TRUE, PALETTE_AUTO, FISHGROUP_NONE map DebugRoom, TILESET_NIHON_01, TOWN, LANDMARK_DEBUG_ROOM, MUSIC_SINJOH_RUINS, TRUE, PALETTE_AUTO, FISHGROUP_SHORE map Route49, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND diff --git a/data/maps/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm index 4086e26..c5e27e1 100644 --- a/data/maps/outdoor_sprites.asm +++ b/data/maps/outdoor_sprites.asm @@ -703,7 +703,7 @@ SilentHillsGroupSprites: db SPRITE_OLD_LINK_RECEPTIONIST db SPRITE_BIG_LAPRAS db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO + db SPRITE_SUPER_NERD db SPRITE_POKEFAN_M db SPRITE_RIVAL db SPRITE_TEACHER diff --git a/data/maps/scripts.asm b/data/maps/scripts.asm index d970be7..9edc155 100644 --- a/data/maps/scripts.asm +++ b/data/maps/scripts.asm @@ -594,3 +594,4 @@ SECTION "Map Scripts 29", ROMX INCLUDE "maps/Route49OldCityGate.asm" INCLUDE "maps/WinnersPath.asm" INCLUDE "maps/WinnersPathOutside.asm" +INCLUDE "maps/UnnumberedRoute.asm" diff --git a/data/tilesets/nihon01_attributes.bin b/data/tilesets/nihon01_attributes.bin index 9969f03c266bbafa0fd4d1e37e0a28c63679c53e..9b59fb17c590a61ac9e9b40b1894a49828314749 100644 GIT binary patch delta 79 ocmaDL@Ii1x0>?xHQ3w)bVr51JlNHz{G+3d42?`jXfCCKx0NV2hg8%>k delta 7 Ocmew$_&{Jo0tWyNbpr|j diff --git a/data/tilesets/nihon01_collision.asm b/data/tilesets/nihon01_collision.asm index 77609b0..a6046d3 100644 --- a/data/tilesets/nihon01_collision.asm +++ b/data/tilesets/nihon01_collision.asm @@ -132,3 +132,12 @@ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 83 tilecoll FLOOR, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 84 tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 85 + tilecoll FLOOR, FLOOR, FLOOR, HEADBUTT_TREE ; 86 + tilecoll FLOOR, FLOOR, HEADBUTT_TREE, FLOOR ; 87 + tilecoll HEADBUTT_TREE, FLOOR, FLOOR, FLOOR ; 88 + tilecoll FLOOR, HEADBUTT_TREE, FLOOR, FLOOR ; 89 + tilecoll WATER, WATER, WATER, WATER ; 8a + tilecoll WALL, WALL, WALL, DOOR ; 8b + tilecoll WALL, WALL, WALL, WALL ; 8c + tilecoll WARP_CARPET_UP, WARP_CARPET_UP, FLOOR, FLOOR ; 8d + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 8e diff --git a/data/tilesets/nihon01_metatiles.bin b/data/tilesets/nihon01_metatiles.bin index 64b420bfcbe65588208b7aa8da18a131f5fe62a7..3d7354c4bae5407bd352e9850d51d585c543fd9d 100644 GIT binary patch delta 193 zcmaDL@Ig?40SjP*i?K0mRA^>rG@iVKeNR0r9N5^hvc|;1xG)}!hKaMXqKcS`paL## qZf+@UIe95(00A0fdgn|sBXaE41Y7#gA delta 47 ccmew$_&`8`0S&OBfsG2y?2O)%m$2^v0C Date: Fri, 19 Jul 2024 08:19:25 +0100 Subject: [PATCH 4/8] Bug fixes - Fixed a bug where you couldn't walk through one of the Kanto rock tiles - Fixed a bug where you couldn't go back through the Winner's Path cave exits - Fixed a bug where some trainers would glitch when walking on Silent Hills mapgroups - Optimised the Silent Hills spriteset - Modified Painter Dali and Super Nerd Gregg's teams - Modified Winners Path's wild data to feature L56 Chanseys for use with the Repel Trick. - Fixed some text so it scrolls better --- data/maps/outdoor_sprites.asm | 13 ++++++------- data/tilesets/cave_attributes.bin | Bin 1392 -> 1408 bytes data/tilesets/cave_collision.asm | 3 ++- data/tilesets/cave_metatiles.bin | Bin 1392 -> 1408 bytes data/trainers/parties.asm | 4 ++-- data/trainers/parties_new_classes.asm | 3 +++ data/wild/nihon_grass.asm | 4 ++-- maps/UnnumberedRoute.ablk | 4 ++-- maps/UnnumberedRoute.asm | 2 +- maps/WinnersPath.ablk | 4 ++-- maps/WinnersPathOutside.ablk | 2 +- maps/WinnersPathOutside.asm | 14 +++++++------- 12 files changed, 28 insertions(+), 25 deletions(-) diff --git a/data/maps/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm index c5e27e1..65645d0 100644 --- a/data/maps/outdoor_sprites.asm +++ b/data/maps/outdoor_sprites.asm @@ -698,23 +698,22 @@ SilentHillsGroupSprites: db SPRITE_FAMICOM db SPRITE_POKEDEX db SPRITE_WILL - db SPRITE_KAREN + db SPRITE_ROCKER db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_FISHER db SPRITE_BIG_LAPRAS db SPRITE_BIG_ONIX - db SPRITE_SUPER_NERD - db SPRITE_POKEFAN_M + db SPRITE_SUDOWOODO db SPRITE_RIVAL - db SPRITE_TEACHER - db SPRITE_FISHER ; 9 walking sprites db SPRITE_COOLTRAINER_M db SPRITE_YOUNGSTER db SPRITE_POKEFAN_F db SPRITE_BEAUTY db SPRITE_BUG_CATCHER - db SPRITE_ROCKER + db SPRITE_BLUE + db SPRITE_POKEFAN_M + db SPRITE_SUPER_NERD ; 2 non-walking sprites db SPRITE_POKE_BALL db SPRITE_FRUIT_TREE diff --git a/data/tilesets/cave_attributes.bin b/data/tilesets/cave_attributes.bin index 88761b42f68327a8e8c8cdb906a84156911b3f41..be6ecaefd30717f116a6fac3fad0f5c35f545935 100644 GIT binary patch delta 24 Scmeys)xf=>fK`AM4FCW=hXV@$ delta 7 OcmZqR{=l`NfE54>mIA8) diff --git a/data/tilesets/cave_collision.asm b/data/tilesets/cave_collision.asm index 78e59de..f39e842 100644 --- a/data/tilesets/cave_collision.asm +++ b/data/tilesets/cave_collision.asm @@ -72,7 +72,7 @@ tilecoll FLOOR, WALL, FLOOR, WALL ; 47 tilecoll FLOOR, FLOOR, WALL, WALL ; 48 tilecoll WALL, FLOOR, FLOOR, FLOOR ; 49 - tilecoll FLOOR, WALL, FLOOR, FLOOR ; 4a + tilecoll FLOOR, FLOOR, FLOOR, WALL ; 4a tilecoll FLOOR, WALL, FLOOR, FLOOR ; 4b tilecoll FLOOR, FLOOR, WALL, FLOOR ; 4c tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 4d @@ -85,3 +85,4 @@ tilecoll WATER, WATER, WATER, WATER ; 54 tilecoll WATER, WALL, WATER, WALL ; 55 tilecoll WATER, WALL, WALL, WALL ; 56 + tilecoll WALL, WALL, FLOOR, WARP_CARPET_DOWN ; 57 diff --git a/data/tilesets/cave_metatiles.bin b/data/tilesets/cave_metatiles.bin index 97c6f7203f08e3a5bd9fd6e56e3faea01f31f01c..de979d11ffda5ceaedf98cd511cf19d35f393eb7 100644 GIT binary patch delta 24 Zcmeys)xf=>fK`BpmxotIRz{W)3IIZb17`pL delta 7 OcmZqR{=l`NfE54>mIA8) diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index de5e72b..40a4fd6 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -3324,9 +3324,9 @@ SuperNerdGroup: next_list_item ; SUPER_NERD (3) db "GREGG@", TRAINERTYPE_NORMAL db 50 - dw MAGNEZONE + dw ELECTRODE db 51 - dw MUK + dw PORYGON2 db 50 dw BELLEDAM db -1 ; end diff --git a/data/trainers/parties_new_classes.asm b/data/trainers/parties_new_classes.asm index 9a30ef2..d1b2751 100644 --- a/data/trainers/parties_new_classes.asm +++ b/data/trainers/parties_new_classes.asm @@ -68,6 +68,9 @@ PainterGroup: next_list_item ; PAINTER (1) db "DALI@", TRAINERTYPE_MOVES + db 50 + dw NOCTOWL + dw REFLECT, HYPNOSIS, WING_ATTACK, FORESIGHT db 53 dw SMEARGLE dw EXTREMESPEED, BELLY_DRUM, NO_MOVE, NO_MOVE ; lol diff --git a/data/wild/nihon_grass.asm b/data/wild/nihon_grass.asm index ea4cbc5..2df8182 100644 --- a/data/wild/nihon_grass.asm +++ b/data/wild/nihon_grass.asm @@ -6,7 +6,7 @@ NihonGrassWildMons: ; morn dbw 50, MUNCHLAX dbw 51, SKARMORY - dbw 50, CHANSEY + dbw 56, CHANSEY ; Allows a Repel trick. Thanks for the suggestion Molk! dbw 51, MUNCHLAX dbw 52, RHYDON dbw 52, FORRETRESS @@ -14,7 +14,7 @@ NihonGrassWildMons: ; day dbw 50, MUNCHLAX dbw 51, SKARMORY - dbw 50, CHANSEY + dbw 56, CHANSEY dbw 51, MUNCHLAX dbw 52, RHYDON dbw 52, FORRETRESS diff --git a/maps/UnnumberedRoute.ablk b/maps/UnnumberedRoute.ablk index 96e8514..0bb7fd7 100644 --- a/maps/UnnumberedRoute.ablk +++ b/maps/UnnumberedRoute.ablk @@ -1,6 +1,6 @@ -k))(k)))))))))))(efj''%eeeeeeeeeej'''''''''''%-`-TnnnUptt]^"C"X555Yb""X555Y`beeeeeee"eeeX555Yeee` +k))(k)))))))))))(efj''%eeeeeeeeeej'''''''''''%-`-TnnnUptt]^"C"X555Yb""X555Y`beeeeeeee"eeeX555Yeee` -nnnnnnnnnnn555Y \ No newline at end of file +nnnnnnnnnnn555Y \ No newline at end of file diff --git a/maps/UnnumberedRoute.asm b/maps/UnnumberedRoute.asm index 74c2eea..383d31a 100644 --- a/maps/UnnumberedRoute.asm +++ b/maps/UnnumberedRoute.asm @@ -133,5 +133,5 @@ UnnumberedRoute_MapEvents: def_object_events object_event 47, 4, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 1, TrainerPainterDali, -1 - object_event 12, 12, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 4, TrainerSuperNerdGregg, -1 + object_event 10, 12, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 4, TrainerSuperNerdGregg, -1 object_event 41, 8, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 1, TrainerFisherBran, -1 diff --git a/maps/WinnersPath.ablk b/maps/WinnersPath.ablk index 781ddbe..56b7247 100644 --- a/maps/WinnersPath.ablk +++ b/maps/WinnersPath.ablk @@ -2,11 +2,11 @@ @&%R A&1@2' ST 0U -A&VN#M ....................  +$&VN#M ....................  +)K )))! ))( -( !+JN#M ....................   +( !+JWN#M ....................   *E*B   diff --git a/maps/WinnersPathOutside.ablk b/maps/WinnersPathOutside.ablk index 14942ee..34c49d5 100644 --- a/maps/WinnersPathOutside.ablk +++ b/maps/WinnersPathOutside.ablk @@ -1 +1 @@ -WWWWWWWWWWWWWWWWWWWWWWWWEk))))("l**%"l**&l**&l**&l**&l***(l***&l***&l***&j''%EWWamC99WWWptttrq{{E \ No newline at end of file +WWWWWWWWWWWWWWWWWWWWWWWWEk))))("l**%"l**&l**&l**&l**&l***(l***&l***&l***&j''%EWWamC99WWWptttrq{{E \ No newline at end of file diff --git a/maps/WinnersPathOutside.asm b/maps/WinnersPathOutside.asm index c48a9da..4f1d6c4 100644 --- a/maps/WinnersPathOutside.asm +++ b/maps/WinnersPathOutside.asm @@ -56,13 +56,13 @@ EngineerDashuBeatenText: EngineerDashuAfterBattleText: text "There's a huge" - line "POWER PLANT" - cont "near NEW TYPE." ; Change name when necessary. + line "POWER PLANT near" + cont "NEW TYPE." ; Change name when necessary. - para "Why aren't I" - line "there right" - cont "now? Aren't" - cont "you a nosy" + para "Why aren't I there" + line "right now" + + para "Aren't you a nosy" cont "one, eh?" done @@ -119,4 +119,4 @@ WinnersPathOutside_MapEvents: def_object_events object_event 6, 48, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_SPINCLOCKWISE, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerCoolTrainerSteve, -1 - object_event 10, 12, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerEngineerDashu, -1 + object_event 10, 12, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 4, TrainerEngineerDashu, -1 From 13a253073b80317cc7145d33d45b75b39172b8e1 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Fri, 19 Jul 2024 11:48:04 +0100 Subject: [PATCH 5/8] Winner's Path modifications - Added a Strength Switch puzzle to floor 2, which took an unhealthy amount of time to do. This is possible in GSC but requires a lot of extremely hacky solutions. There is a glitch that causes the boulder not to move once on the switch if you reload the map but I have been doing this for 3-4 hours, shush. - Added a depressed switch tile to accomodate the new functionality. - New switch collision type for boulder puzzles. - Removed a lot of unused/unreferenced stuff that isn't necessary in Crystal to save space. --- constants/collision_constants.asm | 2 +- constants/event_flags.asm | 5 +- data/collision/collision_permissions.asm | 2 +- data/tilesets/cave_attributes.bin | Bin 1408 -> 1440 bytes data/tilesets/cave_collision.asm | 6 +- data/tilesets/cave_metatiles.bin | Bin 1408 -> 1440 bytes engine/overworld/map_setup.asm | 3 - engine/overworld/tile_events.asm | 2 - gfx/tilesets/cave.png | Bin 3368 -> 3570 bytes home/map_objects.asm | 12 +--- maps/BurnedTower1F.asm | 22 +++--- maps/BurnedTowerB1F.asm | 6 -- maps/DebugRoom.asm | 2 +- maps/IlexForest.asm | 3 - maps/WinnersPath.ablk | 8 +-- maps/WinnersPath.asm | 83 ++++++++++++++++++++++- 16 files changed, 108 insertions(+), 48 deletions(-) diff --git a/constants/collision_constants.asm b/constants/collision_constants.asm index a183e8c..c683ff6 100644 --- a/constants/collision_constants.asm +++ b/constants/collision_constants.asm @@ -62,7 +62,7 @@ DEF COLL_PIT EQU $60 DEF COLL_VIRTUAL_BOY EQU $61 ; garbage DEF COLL_64 EQU $64 ; garbage DEF COLL_65 EQU $65 ; garbage -DEF COLL_PIT_68 EQU $68 ; unused +DEF COLL_SWITCH EQU $68 ; Previously PIT_68, changed to make a non-warping equivalent to the pit, allowing for RBY cave switch mechanics DEF COLL_WARP_CARPET_DOWN EQU $70 DEF COLL_DOOR EQU $71 DEF COLL_LADDER EQU $72 diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 2a89ca6..a64e074 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -1503,7 +1503,10 @@ const EVENT_RADIO_TOWER_5F_ULTRA_BALL const EVENT_DARK_CAVE_VIOLET_ENTRANCE_DIRE_HIT const EVENT_BATTLE_TOWER_OPEN_CIVILIANS -; Unused: next 48 events + const EVENT_WINNERS_PATH_ITEM1 + const EVENT_WINNERS_PATH_ITEM2 + const EVENT_WINNERS_PATH_SWITCH_PRESSED +; Unused: next 45 events ; Nihon Trainers const EVENT_BEAT_BUG_CATCHER_ELWYN diff --git a/data/collision/collision_permissions.asm b/data/collision/collision_permissions.asm index 188338c..645ab3f 100644 --- a/data/collision/collision_permissions.asm +++ b/data/collision/collision_permissions.asm @@ -105,7 +105,7 @@ TileCollisionTable:: db LAND_TILE ; COLL_65 db LAND_TILE ; 66 db LAND_TILE ; 67 - db LAND_TILE ; COLL_PIT_68 + db LAND_TILE ; COLL_SWITCH db LAND_TILE ; 69 db WALL_TILE ; 6a db LAND_TILE ; 6b diff --git a/data/tilesets/cave_attributes.bin b/data/tilesets/cave_attributes.bin index be6ecaefd30717f116a6fac3fad0f5c35f545935..48efcf3d11aac1f17cc7a67b7f92fa1b694f8018 100644 GIT binary patch delta 30 lcmZqRUckNK6U*ciECQ1iSotOkuqI93#3D9PfD0(Z2LPb)36lT- delta 37 hcmZ3$-N3!!6AK$BCo3x_=j44X5|ag3llWLs005iB1>67t diff --git a/data/tilesets/cave_collision.asm b/data/tilesets/cave_collision.asm index f39e842..9870e19 100644 --- a/data/tilesets/cave_collision.asm +++ b/data/tilesets/cave_collision.asm @@ -77,7 +77,7 @@ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 4c tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 4d tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 4e - tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4f + tilecoll FLOOR, SWITCH, FLOOR, FLOOR ; 4f tilecoll FLOOR, WALL, FLOOR, FLOOR ; 50 tilecoll WALL, FLOOR, FLOOR, FLOOR ; 51 tilecoll WALL, FLOOR, FLOOR, LADDER ; 52 @@ -85,4 +85,6 @@ tilecoll WATER, WATER, WATER, WATER ; 54 tilecoll WATER, WALL, WATER, WALL ; 55 tilecoll WATER, WALL, WALL, WALL ; 56 - tilecoll WALL, WALL, FLOOR, WARP_CARPET_DOWN ; 57 + tilecoll WALL, WALL, WALL, FLOOR ; 57 + tilecoll FLOOR, WALL, FLOOR, WARP_CARPET_DOWN ; 58 + tilecoll FLOOR, SWITCH, FLOOR, FLOOR ; 59 diff --git a/data/tilesets/cave_metatiles.bin b/data/tilesets/cave_metatiles.bin index de979d11ffda5ceaedf98cd511cf19d35f393eb7..686eebdcd0b62675a60bda72bae5f167f48ba2b9 100644 GIT binary patch delta 54 rcmZqRUckMfh*gh)QASokkcXEMNHYQff(7C+GAb!EGODOT*o=$-t)T=p delta 22 XcmZ3$-N3z}h?S3rS4LJwmJtd7G{XY_ diff --git a/engine/overworld/map_setup.asm b/engine/overworld/map_setup.asm index e70f9ab..c55f308 100644 --- a/engine/overworld/map_setup.asm +++ b/engine/overworld/map_setup.asm @@ -82,9 +82,6 @@ LoadMapObjects: farcall InitializeVisibleSprites ret -MapSetup_DummyFunction: ; unreferenced - ret - ResetPlayerObjectAction: ld hl, wPlayerSpriteSetupFlags set PLAYERSPRITESETUP_RESET_ACTION_F, [hl] diff --git a/engine/overworld/tile_events.asm b/engine/overworld/tile_events.asm index d5d07c1..36b4944 100644 --- a/engine/overworld/tile_events.asm +++ b/engine/overworld/tile_events.asm @@ -3,8 +3,6 @@ CheckWarpCollision:: ld a, [wPlayerTile] cp COLL_PIT jr z, .warp - cp COLL_PIT_68 - jr z, .warp and $f0 cp HI_NYBBLE_WARPS jr z, .warp diff --git a/gfx/tilesets/cave.png b/gfx/tilesets/cave.png index dc3348a933284cfe1f0ee632e73bcc3e4ccbdd89..40eaacc1ef5aa44846c45449e8e31ef5d291e441 100644 GIT binary patch delta 3468 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 Date: Fri, 19 Jul 2024 12:05:35 +0100 Subject: [PATCH 6/8] why were these there? oh well --- constants/event_flags.asm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/constants/event_flags.asm b/constants/event_flags.asm index a64e074..01db8e2 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -701,6 +701,7 @@ const EVENT_BEAT_SCHOOLBOY_ALAN3 const EVENT_BEAT_SCHOOLBOY_CHAD2 const EVENT_BEAT_SCHOOLBOY_CHAD3 + const EVENT_BEAT_SCHOOLBOY_PERO ; Picnicker const EVENT_BEAT_PICNICKER_LIZ const EVENT_BEAT_PICNICKER_GINA @@ -926,6 +927,7 @@ const EVENT_BEAT_BUG_CATCHER_ELLIS const EVENT_BEAT_BUG_CATCHER_ABNER const EVENT_BEAT_BUG_CATCHER_SIONED + const EVENT_BEAT_BUG_CATCHER_ELWYN ; Officer const EVENT_BEAT_OFFICER_KEITH const EVENT_BEAT_OFFICER_DIRK @@ -1086,7 +1088,7 @@ const EVENT_BEAT_PAINTER_DALI ; unused const EVENT_BEAT_SOLDIER_PEPPINO ; unused const EVENT_BEAT_SPORTSMAN_JACQUES ; unused -; Unused: next 106 events +; Unused: next 104 events const_next 1600 ; Sprite visibility flags @@ -1506,11 +1508,7 @@ const EVENT_WINNERS_PATH_ITEM1 const EVENT_WINNERS_PATH_ITEM2 const EVENT_WINNERS_PATH_SWITCH_PRESSED -; Unused: next 45 events - - ; Nihon Trainers - const EVENT_BEAT_BUG_CATCHER_ELWYN - const EVENT_BEAT_SCHOOLBOY_PERO +; Unused: next 47 events const_next 2048 DEF NUM_EVENTS EQU const_value ; 800 From 6816e6bd8eed60f75dc0c357edd3a2eb3a7b11a4 Mon Sep 17 00:00:00 2001 From: Martha Schilling Date: Fri, 19 Jul 2024 17:02:36 +0100 Subject: [PATCH 7/8] Nuuk sprites 2 Adds sprites for Electivire, Magmortar, Honchkrow, Porygon-Z and Wyrdeer! Had to rearrange some things in both main.asm and layout.link but hopefully it won't break anything... --- README.md | 2 +- gfx/pokemon/electivire/anim.asm | 12 +++++++++++- gfx/pokemon/electivire/anim_idle.asm | 5 +++++ gfx/pokemon/electivire/back.png | Bin 304 -> 412 bytes gfx/pokemon/electivire/front.png | Bin 315 -> 1364 bytes gfx/pokemon/electivire/shiny.pal | 6 ++++-- gfx/pokemon/honchkrow/anim.asm | 8 +++++++- gfx/pokemon/honchkrow/anim_idle.asm | 1 + gfx/pokemon/honchkrow/back.png | Bin 304 -> 384 bytes gfx/pokemon/honchkrow/front.png | Bin 315 -> 1031 bytes gfx/pokemon/honchkrow/shiny.pal | 6 ++++-- gfx/pokemon/magmortar/anim.asm | 8 +++++++- gfx/pokemon/magmortar/anim_idle.asm | 5 +++++ gfx/pokemon/magmortar/back.png | Bin 304 -> 510 bytes gfx/pokemon/magmortar/front.png | Bin 315 -> 1306 bytes gfx/pokemon/magmortar/shiny.pal | 6 ++++-- gfx/pokemon/porygon_z/anim.asm | 13 ++++++++++++- gfx/pokemon/porygon_z/anim_idle.asm | 1 + gfx/pokemon/porygon_z/back.png | Bin 304 -> 427 bytes gfx/pokemon/porygon_z/front.png | Bin 315 -> 913 bytes gfx/pokemon/porygon_z/shiny.pal | 7 +++++-- gfx/pokemon/wyrdeer/anim.asm | 10 ++++++++++ gfx/pokemon/wyrdeer/anim_idle.asm | 7 ++++++- gfx/pokemon/wyrdeer/back.png | Bin 304 -> 509 bytes gfx/pokemon/wyrdeer/front.png | Bin 315 -> 1347 bytes gfx/pokemon/wyrdeer/shiny.pal | 7 +++++-- layout.link | 2 +- main.asm | 6 +++--- 28 files changed, 92 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index ed764be..169a839 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ Additionally, there have been many wild encounter tweaks. View this document for - Zeta_Null: Topaz sprites, numerous tileset bits, Omegadge, - Martha's Against Humanity: Shi-Shi, Fossil Aerodactyl, Fossil Kabutops - EyeDonutz: Walking Wake -- nuuk: (WIP) Azurill, Farigiraf, Glaceon, Leafeon, Magnezone, Sylveon, Togekiss +- nuuk: (WIP) Azurill, Electivire, Farigiraf, Glaceon, Honchkrow, Leafeon, Magmortar, Magnezone, Porygon-Z, Sylveon, Togekiss, Wyrdeer - SCMidna: Munchlax - Pokemon October et al: Bellignan, Caretorker, Inoshika, Bipulla, Sonegg, Kolta, Coinpur, Dodaerie, Bundra, Kiwooked, Koalyptus, Trebir - Tom Wang: Gold/Chris running sprite diff --git a/gfx/pokemon/electivire/anim.asm b/gfx/pokemon/electivire/anim.asm index 875f7be..dca674e 100644 --- a/gfx/pokemon/electivire/anim.asm +++ b/gfx/pokemon/electivire/anim.asm @@ -1 +1,11 @@ - endanim \ No newline at end of file + frame 1, 08 + frame 2, 24 + setrepeat 4 + frame 3, 03 + frame 2, 03 + dorepeat 3 + setrepeat 2 + frame 3, 06 + frame 2, 06 + dorepeat 7 + endanim diff --git a/gfx/pokemon/electivire/anim_idle.asm b/gfx/pokemon/electivire/anim_idle.asm index 875f7be..8340921 100644 --- a/gfx/pokemon/electivire/anim_idle.asm +++ b/gfx/pokemon/electivire/anim_idle.asm @@ -1 +1,6 @@ + setrepeat 2 + frame 4, 06 + frame 0, 06 + dorepeat 1 + frame 5, 08 endanim \ No newline at end of file diff --git a/gfx/pokemon/electivire/back.png b/gfx/pokemon/electivire/back.png index c7216be8a6b643ae0f808a7c3d303e86af6d8dfa..f56f8954a70960870def961e9195e43c8842811e 100644 GIT binary patch delta 377 zcmV-<0fzpt0-OVoEPwz1DaM2;0001!K!4x>00B!$L_t(|+U=FwlEWYjL$UP#|J-mh z!Z>OAuy5;`W=ik@S-7;6|M>F&`CGb~5kCN>RN{3$tpV?eD(DF~3Va5Dvq082;FI9E z$CZCWT#IFvbYKO(>g6cR=KN%C09K_deJ}!KKB*)}*i1TI(tl)SW^IT5JleLWc`Cw! zw#;mf9c?Swq1YF#vq%1Jk~tCk#Lo41E+C9ANlCCqNq9oY-`7E(3rRe06NOiU4a z!x>@|<;d*ae!giFsid`uN#(6-ibI@${y9gE()g1=Wx3*UHy1an?)mK0#t`Yiw zhdH2x4y}HyziKtIP%^j;oE|_GMhDIt2_fc1P2>cS5wgQh04X3fD1bbMrfAJ={?POR X#f1ujjM+ai00000NkvXXu0mjfiMh8k delta 269 zcmbQkyn$(gPW|5J9K}-@fFLM$r#g^gDGBlm{tpDX8g7+9{#H*H$B>F!N3R6(H5>3S zUs$p4|6KKjjtecyj9RYgYt-?wWE`nxe(~($*~PQn&Ht+%kUb&lQ8(XNQl?2lVnQ63 zV!*E3Egi=fJ8f$gnqJ~EMSeJZG$@SlTq+x0B3j(oAFitks3Km5nj z9U;oTDqJQ0p4#TM@Aog*eN+AcbDIy}Gk=e>wm={7rABzB`T8l)sRVj&{X6h;b4z?28!ws28&ikG68WIIzA%2p zZER!+sh^6Js8E&}CrU-H_YDMvY)A+}ZJBYMVGB!{gp8NJ|Gb6!nP3YDQbF&b36$aG zl-=Q3@2E6Zyy33t0v=34&ctM>sNt9wSTx{FgplMS%+dgKT+%5cH>!}Oc@3mss!CTJ zJ+lS$>Vk4bHjj}m9-=vAEG-+!K&UsSc)bzI47o`_l^u)1E)?&k)s6fWe)+Oa26 zHf0vFLJ5d&&|`?!E%E3kQ;!kl{7geVD-M*8sS;|_YQtCQ!yAPfaAKeq&5euIOFlBT znWyVAld|1|8KVjpaFy8vb;|B2vt0mvMNxOW`GTntaQ|glt+i?)m}0QNYKa0lM%{~4 z)JT~?^eqlmtaWJV;_4orO{B1%5e^}hY=qX&!085XE%UPFMs_9xa0<7>HFGn>d%TY@XyhOaQ4tKhSX_r?uWv`^u6tu z9H-mS{!dw;d~BWGz^T2Mt7dBM)T{G{(~x?pJLw%n9p|$~wx#T(c_b55n^#Tx|()hFwXVg??Nar1^Uea{nWAd)2dHQxj&*sNDtN z{MmDSv^2zea5UE8Jtrirzv<}?XmIs0?`Yx53*M1SdCfbxWM1Sqy5M`+ONE${m47okGw;QcNFg^-ch`xct?HT@$bLyDBe-Lqj*R0 zj^Z7~JBoJ{?OB!chvJ8^?XM?-%-zZ)bkzn zeMf!YQO|c2@A%8S13&T(Jmwv7HsOy-Z+J&ILW_44?~)o$APU*nop2@caMzJkhJBYWG+dh3uV@Y^1zl z@-&oTG=oY!Xz2?|zvP!aNouVXD;D(Z%HM_H}%`{$`dFR36K>440+ZUZy&p)Ai z==I09cKiST@U&rE`-`*qw{lc8&@X(c5uRzjz6@GGHU|)cz@^~HAj;F#&t;ucLK6U- C0e)Bj diff --git a/gfx/pokemon/electivire/shiny.pal b/gfx/pokemon/electivire/shiny.pal index 5c88669..e932aa4 100644 --- a/gfx/pokemon/electivire/shiny.pal +++ b/gfx/pokemon/electivire/shiny.pal @@ -1,2 +1,4 @@ - RGB 22, 22, 12 - RGB 07, 15, 25 \ No newline at end of file + + RGB 31, 25, 00 + RGB 18, 20, 00 + diff --git a/gfx/pokemon/honchkrow/anim.asm b/gfx/pokemon/honchkrow/anim.asm index 875f7be..2b95022 100644 --- a/gfx/pokemon/honchkrow/anim.asm +++ b/gfx/pokemon/honchkrow/anim.asm @@ -1 +1,7 @@ - endanim \ No newline at end of file + frame 0, 04 + frame 1, 52 + setrepeat 2 + frame 2, 08 + frame 3, 08 + dorepeat 3 + endanim diff --git a/gfx/pokemon/honchkrow/anim_idle.asm b/gfx/pokemon/honchkrow/anim_idle.asm index 875f7be..64f3f38 100644 --- a/gfx/pokemon/honchkrow/anim_idle.asm +++ b/gfx/pokemon/honchkrow/anim_idle.asm @@ -1 +1,2 @@ + frame 4, 16 endanim \ No newline at end of file diff --git a/gfx/pokemon/honchkrow/back.png b/gfx/pokemon/honchkrow/back.png index c7216be8a6b643ae0f808a7c3d303e86af6d8dfa..41996e82a203bb995bab1f30dd9712303667939a 100644 GIT binary patch delta 349 zcmV-j0iyn}0)PXMEPwa45II7e000051M5Qo00A#aL_t(|+U=Cl8p0q5MuGqR-?>yo zATf8-Rqm^nJ4bM$ME~~F2H+715xFxuiT5||jK&YRUAPzKbsaz>;9*9kVf{nUtWJWy zkie@kTh7GZeu`jS!NKg3jo~F-S%E=YemR!L?D0l!D@4enYxa8yzSB)WZ=IaU)q?&mN{xe4!^#fQ;7FJgi>uxLiC zBkE-=9F6(3^^Q}c-`QHV0h&W%dmP+JzdZ52~_C~#8@7rNlp z@R3E1JVp8#KvwxR*Ad_g|6x=C`r;`c3>0Ufu0Cf$YFtl~WZ;a?ia7{8>eX+JqoDO2 v_q8)p>8u?Qx1JXyZ`SRJQyoaLlmz(&{|ACx4Yx`lf2*g9V@SoVqgMj?nhkiE zFRa-2f3EsM$AuPUMlIL$HR^a-GLBR;zj$`>?Bdz(=Ks|W$es}OsGILBDbpk&F(Hmi zF<{s2mX70#owhX#@`_C~KP3ELR-$0u=ATP+IX!kW)qjqvW81g(^piS^Z4VEs)~Ry! zII?Jew4Lb~og_A+{XC=S3&s;QD=b(QADPIvJ{43=_|L(*?Ru71N50ro#rG@2AO7R% zju2&E6|NG0Pi^zs_xl&@zA68Jxy^^~nZL(bTc8j4QX@Rme0>?TfNTyR27yb#lR=cH ME1RFoI;Vst08a2}xc~qF diff --git a/gfx/pokemon/honchkrow/front.png b/gfx/pokemon/honchkrow/front.png index e0a9da9b43992ebb15c6f0ee1221e0d9e64105eb..d61af4f24deacdfc63d8e0e2db8c8974fd9ccce6 100644 GIT binary patch literal 1031 zcmV+i1o-=jP)3aW zUU;QZ9=nrUCBd6TGB(q6iF%h3(O^-YsSr7ck^4L&t27qtYY@X%E37VEk2DIyMb=}i zx$@yv=A<*3Xp(c#k+Dbd%joLlhUl9?VY&$GwAC%tiNb~TRZ&`A))=Ho!jbi&SvtKz znhmzv1VB#1nhCQGGy%$-;vJEDpY}Q^1%z@ilWr-L0C4&@j9r9vh3b?=7Jep)+xVJN z4zYNu%$ZFTa;RqG&?&UpW+EIzY)4VXnjX+bKMg=+A#~k9%ZP|=t<7mFzo^J2u2x|e zeRY}U$uPwt&G9d~@Q9vfUd5;i(`aqAj|ttb&>{27i&y=d?|Tacggqa^7=o4Pd6MgC*Tb`O69Y&oB!q zZ)xj*K{tIVSIIN2ZsI`mzp^l+t}#~v&6^Gj0dbJ=t`%h|m0hCb+}rhZQ3ti6r5Zuo z=2y0=+9b+RVp&pGgsQ#~u1>DC+ov zJ6KmALfZLHxkD#jlIV~-RF{M|+>v910C(KMO*eMV9bKn=!5wwQH?r8AgjXTD%{xa?W=MLu%znnXqJDfY5J0{#APoKD>BFiOr#AfB<^A6>X z{PBZ)0CC41qSJTwFSsLhQFzZC8Oa{FBlQdS+=0#=&K=Gj&K=Gj&K=Gj&K=Gj&K~)o$APU*nop2@caMzJkhJBYWG+dh3uV@Y^1zl z@-&oTG=oY!Xz2?|zvP!aNouVXD;D(Z%HM_H}%`{$`dFR36K>440+ZUZy&p)Ai z==I09cKiST@U&rE`-`*qw{lc8&@X(c5uRzjz6@GGHU|)cz@^~HAj;F#&t;ucLK6U- C0e)Bj diff --git a/gfx/pokemon/honchkrow/shiny.pal b/gfx/pokemon/honchkrow/shiny.pal index 5c88669..b576e76 100644 --- a/gfx/pokemon/honchkrow/shiny.pal +++ b/gfx/pokemon/honchkrow/shiny.pal @@ -1,2 +1,4 @@ - RGB 22, 22, 12 - RGB 07, 15, 25 \ No newline at end of file + + RGB 29, 30, 03 + RGB 21, 05, 19 + diff --git a/gfx/pokemon/magmortar/anim.asm b/gfx/pokemon/magmortar/anim.asm index 875f7be..6cdba32 100644 --- a/gfx/pokemon/magmortar/anim.asm +++ b/gfx/pokemon/magmortar/anim.asm @@ -1 +1,7 @@ - endanim \ No newline at end of file + frame 0, 04 + frame 1, 08 + setrepeat 4 + frame 2, 06 + frame 3, 06 + dorepeat 3 + endanim diff --git a/gfx/pokemon/magmortar/anim_idle.asm b/gfx/pokemon/magmortar/anim_idle.asm index 875f7be..8340921 100644 --- a/gfx/pokemon/magmortar/anim_idle.asm +++ b/gfx/pokemon/magmortar/anim_idle.asm @@ -1 +1,6 @@ + setrepeat 2 + frame 4, 06 + frame 0, 06 + dorepeat 1 + frame 5, 08 endanim \ No newline at end of file diff --git a/gfx/pokemon/magmortar/back.png b/gfx/pokemon/magmortar/back.png index c7216be8a6b643ae0f808a7c3d303e86af6d8dfa..3defc4fa5aeb7edace66a894bbb4ce76057ae22b 100644 GIT binary patch delta 476 zcmV<20VDpf0{#P#EPwx{0KGXe0000HoT7FB00FH@L_t(|+Le_FlEokhM1{Wpok!V4 zGs(C9l2rN$LTkoogL(Wkc;Ghx@)=m;ODvG8iRA8`0Z%0n@%$>oZ-7Wy38C;xu;@9E z4@4R7z*=cT@Tk0nm;|0WfZ1l80ORTa>Da74PC!DSl?%p9B7Y`Eu0rH|0aoWsheSz` zErfW1Bm~3sC73OQyCr1B)azXGkw47o$8l-xWK|5{;hGn4XVC74ZgJv(+r2m>R z2S8FB$-%M-!qb};UU8%w4y^eqkOahptEuFbw8?dqpgO$+Yi;H$gakU|A-Y~Goxlu% z1oXNlRE(=Y$bVHBSE{Gd4hJ%gjjwv^pD(dgMeZ!UlpB#XM+Mg1ib+iT25_{Y>l=_E z{5Q?`9k^^)czxj8Ecgqs%kXrqv$T5uOg?Ow0PVi(iSMt9efu&xAXPhl1919|>nT|PJp=v&^t8YQ zXuh*Q73IE@_b~W5L;^7e&YEnm#3$fdCO^MA&~^$c(De>r&k3H9`PUDrdHDy%jSh-v SV+L{n0000F!N3R6(H5>3S zUs$p4|6KKjjtecyj9RYgYt-?wWE`nxe(~($*~PQn&Ht+%kUb&lQ8(XNQl?2lVnQ63 zV!*E3Egi=fJ8f$gnqJ~EMSeJZG$@SlTq+x0B3j(oAFitks3Km5nj z9U;oTDqJQ0p4#TM@Aog*eN+AcbDIy}Gk=e>wm={7rABzB`T8C>TiGw5uHf637S!pU01iyEAOOn`)SRnn662OJH@r` z?=K^T&|bZcnB|s*gRXQX$X|S2-XuyeS?^!N$ExhDnc4j<;SEBj?(!wK)@+vvYb%OE z7U?BqQ~FDV_4gEZ$`A)a(i$Yk?GbOn>}dar}xm9U<)Al!xO!d)reR$Xh; z0vJ0hx*%-xMp}ukc84ekQ7mW(^M*$&Q=-mo?QgTc5{{3D2}tOnR~@KXSZ5B+LnkK7 z&|dF`NnI5%2ghiLNfIC1RGWnC!q;v~)}Wb`ezr9>3;U3vc0#n!z_vG{lCMW6d(;4@ zgmYDVz%Z!Mfkj(y+rpq9nyX;f1B+_UVMNw!2;o*WCWGei_+H{_!^f7Z;`qx7^Vvd$ zSY6)UxT#a}M%trMrv=5HXfT-9Ml}IQEQgYP5Y+1^qmi$ix9nohqr<~fo$XcF2d)Or z>td8+q{oUu^_ML&9Fu8SX(ps$yw44UjCd2a@TjmSexDW>21)NO+nBlPC-LYZh1`m+ zv~jF1j0B8%*D)8M0hICRlgwug>I1tKPWdDV*$FiUP@xTe%yAf7Bd>+Fj4>xTTJ2Zh zA(Yesf9q+VGH++0Dk&&&+Zh)^@ph}@9wpTw2&3{Y9P{xKdR_JPR5uB+?O@Q6JJ|Jw zHs8U`IvGOUwA?N}<)g`%OF!X!WDdB@8M0SMTJG!yJ2Qp(6B@gBmcb<>FXN&ckhF1G z#~oA1+i|)OK6i-FQ>|?<`l0u#EQNY(Z6CKpz`Q*^W4HrL9xg)tFxg)vbm$^f7_XBtMK7@@G8}4w&+_(vN^LOrWN8Jf@ zEWdYTnNGuZVClTlh2+u1?a|?W!%-Lm8KykgFbBDKz;IVBI*mlx@9Z z$sPTB3d$4i7|Jj8j?$5!CY=xUj$TF3!8@;ags=ERy(64OKGi#>u%FjEIQIO!-a!lD zQN6>NbcK?GdPf}F5A}{7scYwV^4(miXKbm_F+`$t)D0rZ+mo0Zp^k9DKoOs|4DmMx+7J1{28wD74eB=&K zEYIArQ~n}%@XF*@?uh>r@R2)iBXGhUZDJ;OBzGitBzGitBzGitBzGitWW6Kn9a-@nZI#|%d%g&qt^=Zx$=CjJh>yeBe^5FBe^5F<8O1vA3C&jk!EUY QRsaA107*qoM6N<$f+t&wh5!Hn literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sJOMr-uK)l4-}{`ScnXlu5R|)9 z9Z0d11o;I6#sBAOxK#rA2RvOILn>~)o$APU*nop2@caMzJkhJBYWG+dh3uV@Y^1zl z@-&oTG=oY!Xz2?|zvP!aNouVXD;D(Z%HM_H}%`{$`dFR36K>440+ZUZy&p)Ai z==I09cKiST@U&rE`-`*qw{lc8&@X(c5uRzjz6@GGHU|)cz@^~HAj;F#&t;ucLK6U- C0e)Bj diff --git a/gfx/pokemon/magmortar/shiny.pal b/gfx/pokemon/magmortar/shiny.pal index 5c88669..0ccf2a2 100644 --- a/gfx/pokemon/magmortar/shiny.pal +++ b/gfx/pokemon/magmortar/shiny.pal @@ -1,2 +1,4 @@ - RGB 22, 22, 12 - RGB 07, 15, 25 \ No newline at end of file + + RGB 31, 14, 30 + RGB 24, 04, 14 + diff --git a/gfx/pokemon/porygon_z/anim.asm b/gfx/pokemon/porygon_z/anim.asm index 875f7be..79eba45 100644 --- a/gfx/pokemon/porygon_z/anim.asm +++ b/gfx/pokemon/porygon_z/anim.asm @@ -1 +1,12 @@ - endanim \ No newline at end of file + frame 1, 16 + frame 2, 06 + frame 0, 06 + frame 2, 06 + setrepeat 3 + frame 3, 04 + frame 0, 04 + dorepeat 5 + frame 3, 06 + frame 0, 06 + frame 3, 06 + endanim diff --git a/gfx/pokemon/porygon_z/anim_idle.asm b/gfx/pokemon/porygon_z/anim_idle.asm index 875f7be..7cefe8a 100644 --- a/gfx/pokemon/porygon_z/anim_idle.asm +++ b/gfx/pokemon/porygon_z/anim_idle.asm @@ -1 +1,2 @@ + frame 3, 08 endanim \ No newline at end of file diff --git a/gfx/pokemon/porygon_z/back.png b/gfx/pokemon/porygon_z/back.png index c7216be8a6b643ae0f808a7c3d303e86af6d8dfa..eff2f2711f6ef33d18212cea69a210733480b7d7 100644 GIT binary patch delta 393 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 literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sJOMr-uK)l4-}{`ScnXlu5R|)9 z9Z0d11o;I6#sBAOxK#rA2RvOILn>~)o$APU*nop2@caMzJkhJBYWG+dh3uV@Y^1zl z@-&oTG=oY!Xz2?|zvP!aNouVXD;D(Z%HM_H}%`{$`dFR36K>440+ZUZy&p)Ai z==I09cKiST@U&rE`-`*qw{lc8&@X(c5uRzjz6@GGHU|)cz@^~HAj;F#&t;ucLK6U- C0e)Bj diff --git a/gfx/pokemon/wyrdeer/shiny.pal b/gfx/pokemon/wyrdeer/shiny.pal index 5c88669..63f19d4 100644 --- a/gfx/pokemon/wyrdeer/shiny.pal +++ b/gfx/pokemon/wyrdeer/shiny.pal @@ -1,2 +1,5 @@ - RGB 22, 22, 12 - RGB 07, 15, 25 \ No newline at end of file + + RGB 13, 22, 07 + RGB 12, 01, 04 + + diff --git a/layout.link b/layout.link index ad649eb..60cdaf1 100644 --- a/layout.link +++ b/layout.link @@ -152,7 +152,6 @@ ROMX $34 ROMX $35 "Pic Animations 2" ROMX $36 - "Font Inversed" "Pic Animations 3" ROMX $37 "Tileset Data 6" @@ -176,6 +175,7 @@ ROMX $3e ROMX $3f "bank3F" ROMX $40 + "Font Inversed" "mobile40" ROMX $41 "bank41" diff --git a/main.asm b/main.asm index f952487..c778218 100644 --- a/main.asm +++ b/main.asm @@ -440,14 +440,14 @@ INCLUDE "gfx/pokemon/bitmasks.asm" INCLUDE "gfx/pokemon/unown_bitmask_pointers.asm" INCLUDE "gfx/pokemon/unown_bitmasks.asm" INCLUDE "gfx/pokemon/frame_pointers.asm" -INCLUDE "gfx/pokemon/kanto_frames.asm" +INCLUDE "gfx/pokemon/unown_frame_pointers.asm" +INCLUDE "gfx/pokemon/unown_frames.asm" SECTION "Pic Animations 3", ROMX +INCLUDE "gfx/pokemon/kanto_frames.asm" INCLUDE "gfx/pokemon/johto_frames.asm" -INCLUDE "gfx/pokemon/unown_frame_pointers.asm" -INCLUDE "gfx/pokemon/unown_frames.asm" SECTION "bank38", ROMX From 30e57c9e3854d705454990fb580707f26738a5b6 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Fri, 19 Jul 2024 23:42:49 +0100 Subject: [PATCH 8/8] Blue's Lab Groundwork So the scenes are massively unfinished and need some bug fixes, namely; - Make the Silent Hills scene load properly. - Finish the interior scene; have the player walk into the map. - Make the scene loading in the second Blue's Lab room load properly (same issue as Silent Hills) Main issues come from the events not working like RBY: - You cannot be walked directly into a warp! - Coord events don't seem to trigger scenes on their own and I'm just kind of perplexed by it. If anyone more experienced wants to take a stab at it, by all means! This is looking really good! --- constants/event_flags.asm | 10 +- constants/map_constants.asm | 1 + constants/phone_constants.asm | 2 +- constants/tileset_constants.asm | 1 + constants/trainer_constants.asm | 1 + data/maps/attributes.asm | 1 + data/maps/blocks.asm | 3 + data/maps/maps.asm | 1 + data/maps/scenes.asm | 2 + data/maps/scripts.asm | 29 +- data/phone/non_trainer_names.asm | 2 + data/phone/permanent_numbers.asm | 1 + data/phone/phone_contacts.asm | 2 +- data/phone/text/blue_callee.asm | 17 + data/tilesets.asm | 1 + data/tilesets/bluelab_attributes.bin | Bin 0 -> 272 bytes data/tilesets/bluelab_collision.asm | 17 + data/tilesets/bluelab_metatiles.bin | 2 + engine/phone/scripts/blue.asm | 8 + engine/tilesets/tileset_anims.asm | 14 +- gfx/tilesets.asm | 12 + gfx/tilesets/bluelab.png | Bin 0 -> 851 bytes main.asm | 2 + maps/BlueLab.ablk | Bin 0 -> 119 bytes maps/BlueLab.asm | 790 +++++++++++++++++++++++++++ maps/ElmsLab.asm | 6 - maps/SilentHills.asm | 174 +++++- ram/wram.asm | 4 +- scan_includes.exe.stackdump | 44 +- 29 files changed, 1075 insertions(+), 72 deletions(-) create mode 100644 data/phone/text/blue_callee.asm create mode 100644 data/tilesets/bluelab_attributes.bin create mode 100644 data/tilesets/bluelab_collision.asm create mode 100644 data/tilesets/bluelab_metatiles.bin create mode 100644 engine/phone/scripts/blue.asm create mode 100644 gfx/tilesets/bluelab.png create mode 100644 maps/BlueLab.ablk create mode 100644 maps/BlueLab.asm diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 01db8e2..6cb3a5b 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -1508,7 +1508,15 @@ const EVENT_WINNERS_PATH_ITEM1 const EVENT_WINNERS_PATH_ITEM2 const EVENT_WINNERS_PATH_SWITCH_PRESSED -; Unused: next 47 events + const EVENT_DRAGGED_BY_BLUE + const EVENT_GOT_POKEMON_FROM_BLUE + const EVENT_GOT_PALSSIO_FROM_BLUE + const EVENT_GOT_CUBBURN_FROM_BLUE + const EVENT_CUBBURN_POKEBALL_IN_BLUES_LAB ; to hide + const EVENT_PALSSIO_POKEBALL_IN_BLUES_LAB ; to hide + const EVENT_GONE_THROUGH_STARTER_DOOR + const EVENT_BRIEFED_BY_BLUE +; Unused: next 40 events const_next 2048 DEF NUM_EVENTS EQU const_value ; 800 diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 234ff96..821f691 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -631,6 +631,7 @@ ENDM map_const SINJOH_RUINS_EXTERIOR, 10, 10 ; 13 map_const SINJOH_RUINS_INTERIOR, 10, 10 ; 14 map_const ROUTE_49_OLD_CITY_GATE, 5, 4 ; 15 + map_const BLUE_LAB, 12, 10 ; 16 endgroup newgroup BLUE_FOREST ; 36 diff --git a/constants/phone_constants.asm b/constants/phone_constants.asm index 0600dc2..f66e344 100644 --- a/constants/phone_constants.asm +++ b/constants/phone_constants.asm @@ -8,7 +8,7 @@ const PHONE_SCHOOLBOY_JACK const PHONE_POKEFAN_BEVERLY const PHONE_SAILOR_HUEY - const_skip + const PHONE_BLUE const_skip const_skip const PHONE_COOLTRAINERM_GAVEN diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm index c034e43..33874c9 100644 --- a/constants/tileset_constants.asm +++ b/constants/tileset_constants.asm @@ -47,6 +47,7 @@ const TILESET_NIHON_SOUTH ; 2D const TILESET_NIHON_WEST ; 2E const TILESET_LAVENDER_CRYPT ; 2F + const TILESET_BLUE_LAB ; 30 DEF NUM_TILESETS EQU const_value - 1 ; wTileset struct size diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 87902d3..9698630 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -25,6 +25,7 @@ DEF CHRIS EQU __trainer_class__ const PHONECONTACT_BILL const PHONECONTACT_ELM const PHONECONTACT_BUENA + const PHONECONTACT_BLUE DEF NUM_NONTRAINER_PHONECONTACTS EQU const_value - 1 DEF KRIS EQU __trainer_class__ diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index 3365d3e..24db325 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -816,6 +816,7 @@ ENDM connection west, SilentHills, SILENT_HILLS, 0 map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later. + map_attributes BlueLab, BLUE_LAB, $00, 0 map_attributes QuietCave, QUIET_CAVE, $76, 0 map_attributes SilentHillsPokecenter1F, SILENT_HILLS_POKECENTER_1F, $00, 0 map_attributes SilversHouse, SILVERS_HOUSE, $00, 0 diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm index 686a0cf..5871435 100644 --- a/data/maps/blocks.asm +++ b/data/maps/blocks.asm @@ -1207,3 +1207,6 @@ WinnersPathOutside_Blocks: UnnumberedRoute_Blocks: INCBIN "maps/UnnumberedRoute.ablk" + +BlueLab_Blocks: + INCBIN "maps/BlueLab.ablk" diff --git a/data/maps/maps.asm b/data/maps/maps.asm index 0409efd..1c59fa4 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -688,6 +688,7 @@ MapGroup_SilentHills: map SinjohRuinsExterior, TILESET_CAVE, CAVE, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_DAY, FISHGROUP_NONE map SinjohRuinsInterior, TILESET_CAVE, CAVE, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_DAY, FISHGROUP_NONE map Route49OldCityGate, TILESET_GATE, GATE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_NONE + map BlueLab, TILESET_BLUE_LAB, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_POKEMON_TALK, FALSE, PALETTE_DAY, FISHGROUP_NONE assert_table_length NUM_SILENT_HILLS_MAPS MapGroup_BlueForest: diff --git a/data/maps/scenes.asm b/data/maps/scenes.asm index 28304c7..39a825c 100644 --- a/data/maps/scenes.asm +++ b/data/maps/scenes.asm @@ -86,4 +86,6 @@ MapScenes:: scene_var MOBILE_BATTLE_ROOM, wMobileBattleRoomSceneID scene_var CERULEAN_CAVE_1F, wCeruleanCave1FSceneID scene_var PEWTER_MUSEUM_OF_SCIENCE_1F, wPewterMuseum1FSceneID + scene_var SILENT_HILLS, wSilentHillsSceneID + scene_var BLUE_LAB, wBlueLabSceneID db -1 ; end diff --git a/data/maps/scripts.asm b/data/maps/scripts.asm index 9edc155..7892d7c 100644 --- a/data/maps/scripts.asm +++ b/data/maps/scripts.asm @@ -494,13 +494,13 @@ INCLUDE "maps/CeruleanCave1F.asm" INCLUDE "maps/CeruleanCave2F.asm" INCLUDE "maps/CeruleanCaveB1F.asm" INCLUDE "maps/SilentHills.asm" + +SECTION "Map Scripts 26", ROMX + INCLUDE "maps/LakeOfRageTraderHouse.asm" INCLUDE "maps/LakeOfRagePokecenter1F.asm" INCLUDE "maps/LakeOfRageMart.asm" INCLUDE "maps/LakeOfRagePrycesHouse.asm" - -SECTION "Map Scripts 26", ROMX - INCLUDE "maps/DebugRoom.asm" INCLUDE "maps/CliffCave.asm" INCLUDE "maps/Route49.asm" @@ -514,6 +514,8 @@ INCLUDE "maps/KantoPokecenter2F.asm" INCLUDE "maps/CalsHouse1F.asm" INCLUDE "maps/CalsHouse2F.asm" INCLUDE "maps/CliffEdgeGate.asm" + +SECTION "Map Scripts 27", ROMX INCLUDE "maps/EmbeddedTower.asm" INCLUDE "maps/Route48.asm" INCLUDE "maps/JohtoSafariZoneGate.asm" @@ -521,8 +523,6 @@ INCLUDE "maps/JohtoSafariZone.asm" INCLUDE "maps/LavenderCrypt.asm" INCLUDE "maps/UnderwaterTunnel.asm" INCLUDE "maps/BillsGarden.asm" - -SECTION "Map Scripts 27", ROMX INCLUDE "maps/CeladonUniversityOutside.asm" INCLUDE "maps/CeladonUniversityInside.asm" INCLUDE "maps/MtMoonCrater.asm" @@ -544,6 +544,8 @@ INCLUDE "maps/MtEmberHiddenPath.asm" INCLUDE "maps/TwoIsland.asm" INCLUDE "maps/CapeBrink.asm" INCLUDE "maps/Route47.asm" + +SECTION "Map Scripts 28", ROMX INCLUDE "maps/ThreeIsland.asm" INCLUDE "maps/BondBridge.asm" INCLUDE "maps/BerryForest.asm" @@ -553,8 +555,6 @@ INCLUDE "maps/IcefallCave1F.asm" INCLUDE "maps/IcefallCaveB1F.asm" INCLUDE "maps/IcefallCaveBack.asm" INCLUDE "maps/FiveIsland.asm" - -SECTION "Map Scripts 28", ROMX INCLUDE "maps/FiveIslandMeadow.asm" INCLUDE "maps/MemorialPillar.asm" INCLUDE "maps/WaterLabyrinth.asm" @@ -570,6 +570,15 @@ INCLUDE "maps/OutcastIsland.asm" INCLUDE "maps/SevenIsland.asm" INCLUDE "maps/CanyonEntrance.asm" INCLUDE "maps/SevaultCanyon.asm" + +SECTION "Map Scripts 29", ROMX +INCLUDE "maps/Route49OldCityGate.asm" +INCLUDE "maps/WinnersPath.asm" +INCLUDE "maps/WinnersPathOutside.asm" +INCLUDE "maps/UnnumberedRoute.asm" +INCLUDE "maps/BlueLab.asm" + +SECTION "Map Scripts 30", ROMX INCLUDE "maps/TanobyRuins.asm" INCLUDE "maps/TanobyChambers.asm" INCLUDE "maps/NavalRockExterior.asm" @@ -589,9 +598,3 @@ INCLUDE "maps/ThreeIslandPort.asm" INCLUDE "maps/AlteringCave.asm" INCLUDE "maps/SinjohRuinsExterior.asm" INCLUDE "maps/SinjohRuinsInterior.asm" - -SECTION "Map Scripts 29", ROMX -INCLUDE "maps/Route49OldCityGate.asm" -INCLUDE "maps/WinnersPath.asm" -INCLUDE "maps/WinnersPathOutside.asm" -INCLUDE "maps/UnnumberedRoute.asm" diff --git a/data/phone/non_trainer_names.asm b/data/phone/non_trainer_names.asm index deef730..1b2be43 100644 --- a/data/phone/non_trainer_names.asm +++ b/data/phone/non_trainer_names.asm @@ -7,6 +7,7 @@ NonTrainerCallerNames: dw .bill dw .elm dw .buena + dw .blue assert_table_length NUM_NONTRAINER_PHONECONTACTS + 1 .none: db "----------@" @@ -15,3 +16,4 @@ NonTrainerCallerNames: .elm: db "PROF.ELM:@" .bikeshop: db "BIKE SHOP:@" .buena: db "BUENA: DISC JOCKEY@" +.blue: db "BILL:@" \ No newline at end of file diff --git a/data/phone/permanent_numbers.asm b/data/phone/permanent_numbers.asm index 98c6212..2a8dd10 100644 --- a/data/phone/permanent_numbers.asm +++ b/data/phone/permanent_numbers.asm @@ -1,4 +1,5 @@ PermanentNumbers: db PHONECONTACT_MOM db PHONECONTACT_ELM + db PHONECONTACT_BLUE db -1 ; end diff --git a/data/phone/phone_contacts.asm b/data/phone/phone_contacts.asm index ae6640e..2600106 100644 --- a/data/phone/phone_contacts.asm +++ b/data/phone/phone_contacts.asm @@ -19,7 +19,7 @@ PhoneContacts: phone SCHOOLBOY, JACK1, NATIONAL_PARK, ANYTIME, JackPhoneCalleeScript, ANYTIME, JackPhoneCallerScript phone POKEFANF, BEVERLY1, NATIONAL_PARK, ANYTIME, BeverlyPhoneCalleeScript, ANYTIME, BeverlyPhoneCallerScript phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, ANYTIME, HueyPhoneCalleeScript, ANYTIME, HueyPhoneCallerScript - phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript + phone TRAINER_NONE, PHONECONTACT_BLUE, BLUE_LAB, ANYTIME, BluePhoneCalleeScript, 0, UnusedPhoneScript phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript phone COOLTRAINERM, GAVEN3, ROUTE_26, ANYTIME, GavenPhoneCalleeScript, ANYTIME, GavenPhoneCallerScript diff --git a/data/phone/text/blue_callee.asm b/data/phone/text/blue_callee.asm new file mode 100644 index 0000000..0fac2ec --- /dev/null +++ b/data/phone/text/blue_callee.asm @@ -0,0 +1,17 @@ +; This'll serve as a story progression-ator, like Elm in Johto. + +BlueAnswerPhoneRegularText: + text "Yes? @" + text_ram wStringBuffer3 + text " here…" + + para "Ah, ." + + para "Nope, no updates" + line "on gramps yet." + + para "I'll let you know" + line "if I turn up any" + cont "clues!" + done + diff --git a/data/tilesets.asm b/data/tilesets.asm index 1cd055f..758e10d 100644 --- a/data/tilesets.asm +++ b/data/tilesets.asm @@ -59,4 +59,5 @@ Tilesets:: tileset TilesetNihonSouth tileset TilesetNihonWest tileset TilesetLavenderCrypt + tileset TilesetBlueLab assert_table_length NUM_TILESETS + 1 diff --git a/data/tilesets/bluelab_attributes.bin b/data/tilesets/bluelab_attributes.bin new file mode 100644 index 0000000000000000000000000000000000000000..ab36571683f7303b03c641d9073af0c0b321aeaa GIT binary patch literal 272 vcmZQzAQmt(GBAKJ1fcR@qST{VkpOm6Sy>qvKo~z@L<301LiNJTftUpVGb;eY literal 0 HcmV?d00001 diff --git a/data/tilesets/bluelab_collision.asm b/data/tilesets/bluelab_collision.asm new file mode 100644 index 0000000..c354c26 --- /dev/null +++ b/data/tilesets/bluelab_collision.asm @@ -0,0 +1,17 @@ + tilecoll WALL, WALL, WALL, WALL ; 00 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01 + tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 02 + tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 03 + tilecoll WALL, WALL, FLOOR, FLOOR ; 04 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05 + tilecoll WALL, WALL, WALL, WALL ; 06 + tilecoll WALL, FLOOR, WALL, FLOOR ; 07 + tilecoll FLOOR, WALL, FLOOR, WALL ; 08 + tilecoll WALL, WALL, WALL, WALL ; 09 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a + tilecoll WALL, WALL, WALL, WALL ; 0b + tilecoll DOOR, WALL, FLOOR, FLOOR ; 0c + tilecoll WALL, WALL, FLOOR, FLOOR ; 0d + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e + tilecoll WALL, WALL, FLOOR, FLOOR ; 0f + tilecoll FLOOR, WALL, FLOOR, FLOOR ; 10 diff --git a/data/tilesets/bluelab_metatiles.bin b/data/tilesets/bluelab_metatiles.bin new file mode 100644 index 0000000..c97b654 --- /dev/null +++ b/data/tilesets/bluelab_metatiles.bin @@ -0,0 +1,2 @@ +))))))))))))))))  8989 89 89#""$3224** !01"$ + 24 ::::::::"""$2224***#"32* \ No newline at end of file diff --git a/engine/phone/scripts/blue.asm b/engine/phone/scripts/blue.asm new file mode 100644 index 0000000..dfe63a9 --- /dev/null +++ b/engine/phone/scripts/blue.asm @@ -0,0 +1,8 @@ +; As the Nihon story progresses, Blue's responses should change based on story progression. +; Similar to Elm, he won't call much. Expect this to change a LOT! + +BluePhoneCalleeScript: + farwritetext BlueAnswerPhoneRegularText + promptbutton + end + diff --git a/engine/tilesets/tileset_anims.asm b/engine/tilesets/tileset_anims.asm index c91511d..a74cf86 100644 --- a/engine/tilesets/tileset_anims.asm +++ b/engine/tilesets/tileset_anims.asm @@ -236,19 +236,6 @@ TilesetTowerAnim: dw NULL, WaitTileAnimation dw NULL, DoneTileAnimation -UnusedTilesetAnim5: ; unreferenced -; Scrolls tile $4f like cave water. - dw vTiles2 tile $4f, ReadTileToAnimBuffer - dw wTileAnimBuffer, ScrollTileRightLeft - dw vTiles2 tile $4f, WriteTileFromAnimBuffer - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, WaitTileAnimation - dw NULL, DoneTileAnimation - TilesetNihon1Anim: TilesetNihonBirdonAnim: TilesetNihonFontAnim: @@ -331,6 +318,7 @@ TilesetOmanyteWordRoomAnim: TilesetAerodactylWordRoomAnim: TilesetMuseumAnim: TilesetLavenderCryptAnim: +TilesetBlueLabAnim: dw NULL, WaitTileAnimation dw NULL, WaitTileAnimation dw NULL, WaitTileAnimation diff --git a/gfx/tilesets.asm b/gfx/tilesets.asm index 8550176..09745a6 100644 --- a/gfx/tilesets.asm +++ b/gfx/tilesets.asm @@ -588,3 +588,15 @@ INCBIN "data/tilesets/lavendercrypt_metatiles.bin" TilesetLavenderCryptColl:: INCLUDE "data/tilesets/lavendercrypt_collision.asm" + +TilesetBlueLabAttr:: +INCBIN "data/tilesets/bluelab_attributes.bin" + +TilesetBlueLabGFX:: +INCBIN "gfx/tilesets/bluelab.2bpp.lz" + +TilesetBlueLabMeta:: +INCBIN "data/tilesets/bluelab_metatiles.bin" + +TilesetBlueLabColl:: +INCLUDE "data/tilesets/bluelab_collision.asm" diff --git a/gfx/tilesets/bluelab.png b/gfx/tilesets/bluelab.png new file mode 100644 index 0000000000000000000000000000000000000000..7d9c5cf235c596468b389d1416ff136c0782bb32 GIT binary patch literal 851 zcmV-Z1FZasP)Ec@fmcLgchE>uza28z(9}xF4%j5t$ z2UkHVVBo+67?Ms#07^Os9+nIEeo2y|DYMXJOAbVQlmXcc6P*dro_!V|1hCJC(TXay zD0`~ojTp#Kh@`=2jRW|#nr?W+AG65;5M_=XKq&`^jQ0SyXIg+(M-+tx#H|hxD+z#j zjm-t1%YIy42UUOfa7ujCvtxGna`UVUc%Wde4OnCL7+*O6^ig1-6T)sOC{~z7+`b~j z48T352Dvea(QIh36T$^#EY4&*9_Y%!9qt+NO7Qiw)K@b}nA>6>)@Jcb8<1}!Np=5x zz})xk>YrFS>8cCBZ!)4g?^jiz*qGV-s1;&P!!?jlYdIsFe~}w}I!XuZ0S3zB;D>>9 zIxSFwp8sHl?VP!2Rm|79UEZtRQgaXt21k-~VkKz#x51k^^jaq-w}s=k6_Rw$z~-fa zdRc$W)x8z2pccWBn?qA8wE7TWg&hXU+BZwCH5!m?K*}8QP}hP`4sB5YAB3`f0Th5N z`X*jV6}-KG+lOPko6da>rrtg21^8iIAiJ4D^vJ(-A3#Fbk5kr|$MJPP;Mh({g5ry- dLTKQBg}-^i)3gOKQzQTY002ovPDHLkV1j2adKmx! literal 0 HcmV?d00001 diff --git a/main.asm b/main.asm index c778218..c029bc2 100644 --- a/main.asm +++ b/main.asm @@ -401,6 +401,7 @@ INCLUDE "engine/phone/scripts/kenji.asm" INCLUDE "engine/phone/scripts/parry.asm" INCLUDE "engine/phone/scripts/erin.asm" INCLUDE "engine/phone/scripts/generic_callee.asm" +INCLUDE "engine/phone/scripts/blue.asm" INCLUDE "engine/events/trainer_scripts.asm" @@ -633,6 +634,7 @@ INCLUDE "data/phone/text/wilton_callee.asm" INCLUDE "data/phone/text/kenji_callee.asm" INCLUDE "data/phone/text/parry_callee.asm" INCLUDE "data/phone/text/erin_callee.asm" +INCLUDE "data/phone/text/blue_callee.asm" INCLUDE "data/phone/text/unused.asm" diff --git a/maps/BlueLab.ablk b/maps/BlueLab.ablk new file mode 100644 index 0000000000000000000000000000000000000000..dd94aaf4ec842c50f906da878e70c8844f572e94 GIT binary patch literal 119 zcmX|&(Gma<2m}oZA^!hsb received" + line "@" + text_ram wStringBuffer3 + text "!" + done + +BlueChoseCubburnText: + text "BLUE: This one" + line "is fierce! I" + cont "love it!" + done + +BlueChosePalssioText: + text "BLUE: This one" + line "is so smart!" + para "A favourite of" + line "mine for sure!" + done + +BlueDidntChooseStarterText: + text "Think it over" + line "carefully." + + para "This is really" + line "important, after" + cont "all." + done + +GotBluesNumberText: + text " got BLUE's" + line "phone number." + done + +AfterCubburnMovement: + step LEFT + step LEFT + turn_head UP + step_end + +AfterPalssioMovement: + step LEFT + step LEFT + step LEFT + turn_head UP + step_end + +TakeCubburnText: + text "So! You want the" + line "FIRE #MON," + cont "CUBBURN?" + done + +TakePalssioText: + text "So! You want the" + line "WATER #MON," + cont "PALSSIO?" + done + +LookAtBluePokeBallScript: + opentext + writetext BluePokeBallText + waitbutton + closetext + end + +BlueChikoritaPokeBallScript: +BluePokeBallText: + text "It contains a" + line "#MON caught by" + cont "PROF.OAK." + done + +KenIfItIsntYouText: + text "KEN: Haaah, what?" + line "If it isn't" + cont "!" + + para "I thought it was" + line "strange, so I" + cont "came here." + + para "But nobody is" + line "around!" + done + +PCText: + text "There's some mail" + line "here!" + + para "… … …" + + para "PROF.OAK!" + line "Have you vanished?" + + para "The whole world is" + line "worried!" + + para "That said…" + + para "I still haven't" + line "been able to" + cont "find that #MON" + cont "you wanted to" + cont "research." + + para "No clues, no" + line "chances to catch" + cont "it." + + para "Maybe it really" + line "is a tall tale…" + + para "- A concerned" + line "AIDE" + done + +ReportText: + text "Don't forget to" + line "SAVE!" + done + +PokedexText: + text "It's a #DEX!" + line "It looks diff-" + cont "erent to the" + cont "ones in JOHTO!" + done + +DoorLockedText: + text "The door is" + line "locked." + done + +BlueLabWhereAreYouGoingText: + text "BLUE: Whoa, hey," + line "you going some-" + cont "where?" + done + +BlueLabINeedYouText: + text "Look, I need you" + line "to do this with" + cont "me." + + para "These #MON are" + line "super rare! You" + cont "like those, right?" + done + +BlueIBroughtEm: + text "BLUE: Hey! Gramps!" + line "I brought 'em!" + done + +KenWowText: + text "KEN: Whoa, it's" + line "PROF.OAK!" + + para "I didn't expect" + line "him to be a" + cont "geez-- I mean," + cont "senior…" + done + +OakAhYesIAmOak: + text "OAK: Hm? Ah, yes," + line "I am OAK!" + + para "So nice of you" + line "to call me an" + cont "old geezer!" + + para "Yes! I, PROF.OAK," + line "called you two" + cont "here!" + done + +OakStoryAskText: + text "Will you listen" + line "to my story?" + done + +OakDiscerningEye: + text "I suppose I am" + line "not a good judge" + cont "of character…" + + para "Hmm…" + done + +OakStoryText: + text "OAK: Right! A year" + line "ago, I gave two" + cont "boys #MON so" + cont "they could carry" + cont "out my dream of" + cont "filling the" + cont "#DEX!" + + para "That dream was" + line "fulfilled! They" + cont "pulled it off" + cont "with aplomb!" + + para "They documented" + line "all 190 #MON!" + + para "But…the world is" + line "a big place! One" + cont "after another, new" + cont "#MON have been" + cont "discovered!" + + para "I moved to this" + line "place, SILENT" + cont "HILLS, to cont-" + cont "inue my research!" + + para "I must see all" + line "#MON up close!" + cont "That is my policy!" + + para "… … …" + + para "As you can see," + line "my nephew is here" + cont "to help, as are" + cont "everyone else." + + para "But…we're short-" + line "staffed." + + para "So! You two!" + + para "I need your help!" + done + +KenResponseText: + text "KEN: Oh, !" + line "This is super" + cont "interesting!" + done + +BlueTakeText: + text "BLUE: I'll take" + line "them in. You need" + cont "rest, gramps!" + done + +OakThanksText: + text "OAK: Ah, thank" + line "you!" + done + +BlueChooseText: + text "BLUE: So here we" + line "have 3 #" + cont "BALLS!" + + para "Haha! They contain" + line "#MON." + + para "I used to be a" + line "rough and tumble" + cont "sort of TRAINER," + cont "and even became" + cont "CHAMPION!" + + para "But I was too" + line "cocky for my own" + cont "good. My old RIVAL" + cont "set me straight." + + para "When picking these" + line "3, please treat" + cont "them with love" + cont "and respect." + + para "KEN, care to pick" + line "first?" + done + +KenPickText: + text "Ah! I already" + line "know which I want" + cont "want to pick!" + + para "I'm so excited!" + done + +KenPickMovement1: + step RIGHT + step RIGHT + step UP + step_end + +KenChikoritaText: + text "CHIKORITA!" + line "It's so cute" + cont "and cuddly!" + + para "Let's go on" + line "an adventure" + cont "together!" + + para "I'll show CAL!" + done + +KenReceivedChikoritaText: + text "KEN received" + line "CHIKORITA!" + done + +KenPickMovement2: + step LEFT + step DOWN + step DOWN + step DOWN + step DOWN + step DOWN + step DOWN + step_end + +BlueWeirdText: + text "BLUE: Such a" + line "starry-eyed" + cont "kid…" + + para "Well, champ…" + + para "You saw it too," + line "right? I mean," + cont "you have to be" + cont "blind to not." + + para "That ain't gramps." + + para "No one believes" + line "me! Not even" + cont "DAISY! Gramps's" + cont "research is top-" + cont "notch, but this" + cont "one hardly responds" + cont "to e-mails!" + + para "#MON TALK is" + line "down too, so the" + cont "news is catching" + cont "on!" + done + +BlueProposalText: + text "So here's the" + line "deal. I want you" + cont "to search for" + cont "gramps." + + para "In return, I" + line "will give you" + cont "one of these" + cont "#MON. Capische?" + done + +BlueAcceptText: + text "They're super" + line "rare! I'm sure" + cont "they'll be safe" + cont "with you!" + done + +BlueAfterStarterText: + text "Right place at" + line "the right time," + cont "huh, ?" + + para "I don't have any" + line "proof that gramps" + cont "has disappeared," + cont "only a hunch." + + para "I don't know" + line "where he could" + cont "have gone, even." + + para "The NIHON LEAGUE" + line "is wicked tough," + cont "so why not start" + cont "there?" + + para "The first GYM is" + line "in OLD CITY." + + para "Oh, say, do you" + line "want my #GEAR" + cont "number? I'll call" + cont "you if anything" + cont "comes up" + done + +BlueLabWhereAreYouGoingMovement: + step UP + step_end + +BlueLabWhereGoing: + checkevent EVENT_GOT_POKEMON_FROM_BLUE + iftrue .end + opentext + writetext BlueLabWhereGoing + waitbutton + closetext + applymovement PLAYER, BlueLabWhereAreYouGoingMovement + opentext + writetext BlueLabINeedYouText + waitbutton + closetext + setscene SCENE_BLUELAB_NOOP +.end + end + +OakRegularScript: + jumptextfaceplayer OakRegularText + +OakRegularText: + text "OAK: #MON the" + line "world over wait" + cont "for you…" + + para "What was your" + line "name again?" + + para "?" + + para "I'll remember it" + line "for you." + done + +KenRegularScript: + jumptextfaceplayer KenRegularText + +KenRegularText: + text "?" + done + +; To be expanded on later. +ProfBlueScript: + opentext + writetext BlueRegularText + waitbutton + closetext + end + +BlueRegularText: + text "Hey, !" + + para "I'll let you know" + line "If anything comes" + cont "up." + done + +BlueLab_MapEvents: + db 0, 0 ; filler + + def_warp_events + warp_event 3, 19, SILENT_HILLS, 3 + warp_event 4, 19, SILENT_HILLS, 4 + warp_event 4, 0, BLUE_LAB, 4 + warp_event 19, 9, BLUE_LAB, 3 + warp_event 20, 9, BLUE_LAB, 3 + + def_coord_events + coord_event 4, 19, SCENE_ENTER_LAB_WITH_BLUE, EnterLabWithBlue + coord_event 20, 9, SCENE_BLUELAB_WHERE_GOING, BlueLabWhereGoing + coord_event 19, 9, SCENE_BLUELAB_WHERE_GOING, BlueLabWhereGoing + + def_bg_events + + def_object_events + object_event 4, 2, SPRITE_BLUE, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ProfBlueScript, -1 + object_event 22, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CubburnPokeBallScript, EVENT_CUBBURN_POKEBALL_IN_BLUES_LAB + object_event 23, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, PalssioPokeBallScript, EVENT_PALSSIO_POKEBALL_IN_BLUES_LAB + object_event 21, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BlueChikoritaPokeBallScript, -1 + object_event 3, 4, SPRITE_ROCKER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, KenRegularScript, -1 + object_event 4, 2, SPRITE_OAK, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OakRegularScript, -1 diff --git a/maps/ElmsLab.asm b/maps/ElmsLab.asm index bdaa019..7b5376e 100644 --- a/maps/ElmsLab.asm +++ b/maps/ElmsLab.asm @@ -1209,12 +1209,6 @@ ElmGiveTicketText2: line "PROF.OAK in KANTO!" done -ElmsLabMonEggText: ; unreferenced - text "It's the #MON" - line "EGG being studied" - cont "by PROF.ELM." - done - AideText_GiveYouPotion: text ", I want" line "you to have this" diff --git a/maps/SilentHills.asm b/maps/SilentHills.asm index c18c7f9..1c40019 100644 --- a/maps/SilentHills.asm +++ b/maps/SilentHills.asm @@ -2,14 +2,82 @@ ; https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku object_const_def - ;const GLOBALTERMINALOUTSIDE_ROCKET + const SILENT_HILLS_POKEFAN_F + const SILENT_HILLS_YOUNGSTER + const SILENT_HILLS_BLUE SilentHills_MapScripts: def_scene_scripts + scene_script SilentHillsNoopScene, SCENE_SILENT_HILLS_NOOP + scene_script SilentHillsBlue1, SCENE_SILENT_HILLS_BLUE1 + scene_script SilentHillsBlue2, SCENE_SILENT_HILLS_BLUE2 def_callbacks callback MAPCALLBACK_NEWMAP, SilentHillsFlypointCallback +SilentHillsNoopScene: + end + +SilentHillsBlue1: + checkevent EVENT_DRAGGED_BY_BLUE + iftrue .end + moveobject SILENT_HILLS_BLUE, 4, 8 + opentext + writetext BlueWaitText1 + waitbutton + closetext + pause 15 + opentext + writetext BlueWaitText2 + waitbutton + closetext + opentext + writetext BlueFollowMeText + playmusic MUSIC_SHOW_ME_AROUND + appear SILENT_HILLS_BLUE + applymovement SILENT_HILLS_BLUE, BlueStrideMovement + opentext + writetext BlueFollowMeText + waitbutton + closetext + follow SILENT_HILLS_BLUE, PLAYER, BlueFollowMeMovement1 + stopfollow + setevent EVENT_DRAGGED_BY_BLUE + setevent EVENT_GOT_POKEMON_FROM_BLUE ; It's only for the moment, it gets reset once you're actually picking one. Just handles potentially stupid scenarios. +.end + setscene SCENE_SILENT_HILLS_NOOP + end + +SilentHillsBlue2: + checkevent EVENT_DRAGGED_BY_BLUE + iftrue .end + moveobject SILENT_HILLS_BLUE, 4, 8 + opentext + writetext BlueWaitText1 + waitbutton + closetext + pause 15 + opentext + writetext BlueWaitText2 + waitbutton + closetext + opentext + writetext BlueFollowMeText + playmusic MUSIC_SHOW_ME_AROUND + appear SILENT_HILLS_BLUE + applymovement SILENT_HILLS_BLUE, BlueStrideMovement + opentext + writetext BlueFollowMeText + waitbutton + closetext + follow SILENT_HILLS_BLUE, PLAYER, BlueFollowMeMovement2 + stopfollow + setevent EVENT_DRAGGED_BY_BLUE + setevent EVENT_GOT_POKEMON_FROM_BLUE ; It's only for the moment, it gets reset once you're actually picking one. Just handles potentially stupid scenarios. +.end + setscene SCENE_SILENT_HILLS_NOOP + end + SilentHillsFlypointCallback: setflag ENGINE_FLYPOINT_SILENT_HILLS endcallback @@ -67,9 +135,98 @@ SilentHillYoungster: jumptextfaceplayer SilentHillManText SilentHillManText: - text "Are there people" - line "who hate #MON" - cont "at night?" + text "Do some people" + line "hate nocturnal" + cont "#MON?" + done + +BlueWaitText1: + text "Hey! Hey! Wait!" + done + +BlueWaitText2: + text "I said WAIT, bozo!" + done + +BlueFollowMeText: + text "BLUE: Do you not" + line "know--" + + para "Huh?! It's you!" + line "You wiped the floor" + cont "with me before!" + + para "What are you doing" + line "in NIHON?!" + + para "…" + + para "You may be useful," + line "actually. Come with" + cont "me!" + done + +BlueStrideMovement: + step LEFT + step LEFT + step LEFT + step_end + +BlueFollowMeMovement1: + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step DOWN + step DOWN + step DOWN + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step UP + step_end + +BlueFollowMeMovement2: + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step DOWN + step DOWN + step DOWN + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step RIGHT + step UP + step_end + +; A little message for the cheaters. +SilentHillsWhatScript: + jumptextfaceplayer SilentHillsWhatText + +SilentHillsWhatText: + text "How on earth did" + line "you get here?!" + + para "You stinker!" + + para "…" + + para "Well, you must be" + line "smart…and dedicated." + + para "So, props! Thanks" + line "for playing!" done SilentHills_MapEvents: @@ -78,11 +235,13 @@ SilentHills_MapEvents: def_warp_events warp_event 13, 4, SILENT_HILLS_POKECENTER_1F, 1 ; Pokecenter warp_event 5, 4, CALS_HOUSE_1F, 1 ; Cal's House - warp_event 14, 11, PLAYERS_HOUSE_1F, 1 ; Blue's Lab - warp_event 15, 11, PLAYERS_HOUSE_1F, 1 ; Blue's Lab - warp_event 3, 12, SILVERS_HOUSE, 1 ; Silver's House + warp_event 14, 11, BLUE_LAB, 1 + warp_event 15, 11, BLUE_LAB, 2 + warp_event 3, 12, SILVERS_HOUSE, 1 def_coord_events + coord_event 1, 9, SCENE_SILENT_HILLS_BLUE1, SilentHillsBlue1 + coord_event 1, 8, SCENE_SILENT_HILLS_BLUE2, SilentHillsBlue2 def_bg_events bg_event 8, 4, BGEVENT_READ, SilentHillsSign1 @@ -96,3 +255,4 @@ SilentHills_MapEvents: def_object_events object_event 8, 7, SPRITE_POKEFAN_F, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SilentHillPokefanF, -1 object_event 9, 13, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SilentHillYoungster, -1 + object_event 0, 0, SPRITE_BLUE, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, SilentHillsWhatText, -1 diff --git a/ram/wram.asm b/ram/wram.asm index d76f8ee..000d98c 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -3111,7 +3111,9 @@ wMobileTradeRoomSceneID:: db wMobileBattleRoomSceneID:: db wCeruleanCave1FSceneID:: db wPewterMuseum1FSceneID:: db - ds 48 +wSilentHillsSceneID:: db +wBlueLabSceneID:: db + ds 46 ; fight counts wJackFightCount:: db diff --git a/scan_includes.exe.stackdump b/scan_includes.exe.stackdump index 33ee18b..f8f621e 100644 --- a/scan_includes.exe.stackdump +++ b/scan_includes.exe.stackdump @@ -1,32 +1,18 @@ -Exception: STATUS_ACCESS_VIOLATION at rip=000100401246 -rax=FFFFFFF5FFFD90D1 rbx=000000000000165C rcx=0000000A00000010 -rdx=0000000000000000 rsi=0000000A000257CB rdi=0000000000000000 -r8 =00000007FFFFC764 r9 =0000000000000000 r10=0000000800000000 -r11=0000000100401282 r12=0000000A00026F30 r13=0000000100403148 -r14=0000000000000000 r15=0000000000000001 -rbp=0000000100403156 rsp=00000007FFFFCA00 -program=C:\cygwin64\home\User\jep-hack\tools\scan_includes.exe, pid 8896, thread main +Exception: STATUS_ACCESS_VIOLATION at rip=00100401246 +rax=FFFFFFF7FFF941B1 rbx=0000000000000352 rcx=0000000800000010 +rdx=0000000000000000 rsi=000000080005BDC1 rdi=0000000000000000 +r8 =00000000FFFFC7C4 r9 =0000000000000000 r10=0000000100000000 +r11=00000001004013C6 r12=000000080006BE50 r13=0000000100403148 +r14=000000080005BDC0 r15=0000000000000001 +rbp=0000000100403156 rsp=00000000FFFFCA60 +program=C:\cygwin64\home\chipp\jep-hack\tools\scan_includes.exe, pid 4802, thread main cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B Stack trace: -Frame Function Args -000100403156 000100401246 (000A000257CB, 000000000022, 000100403166, 000100403148) scan_includes.exe+0x1246 -000100403156 000100401409 (000A00010A51, 000000000022, 000100403166, 0007FFFFCBB0) scan_includes.exe+0x1409 -000100403156 000100401409 (7FFA3CE2F0C0, 7FFA3CD45800, 7FFA3CE2F160, 000100407000) scan_includes.exe+0x1409 -000100403178 000100401C77 (000000000000, 000000000000, 000000000000, 000000000000) scan_includes.exe+0x1C77 -0007FFFFCD30 7FFA3CB580A3 (000000000000, 000000000000, 000000000000, 000000000000) cygwin1.dll+0x80A3 -0007FFFFFFF0 7FFA3CB55C86 (000000000000, 000000000000, 000000000000, 000000000000) cygwin1.dll+0x5C86 -0007FFFFFFF0 7FFA3CB55D34 (000000000000, 000000000000, 000000000000, 000000000000) cygwin1.dll+0x5D34 +Frame Function Args +00100403156 00100401246 (0080005BDC1, 00000000022, 00100403166, 000FFFFCB90) +00100403156 00100401409 (00000000000, 00100000001, 00180227860, 00100407000) +00100403178 00100401C87 (00000000020, 00000000000, 00180049B11, 00180048A70) +000FFFFCD30 00180049B7D (00000000000, 00000000000, 00000000000, 00000000000) +000FFFFFFF0 00180047746 (00000000000, 00000000000, 00000000000, 00000000000) +000FFFFFFF0 001800477F4 (00000000000, 00000000000, 00000000000, 00000000000) End of stack trace -Loaded modules: -000100400000 scan_includes.exe -7FFA8B470000 ntdll.dll -7FFA8B2B0000 KERNEL32.DLL -7FFA88E00000 KERNELBASE.dll -7FFA3CB50000 cygwin1.dll -7FFA8AD00000 advapi32.dll -7FFA8B200000 msvcrt.dll -7FFA8B150000 sechost.dll -7FFA88DD0000 bcrypt.dll -7FFA8ADC0000 RPCRT4.dll -7FFA88010000 CRYPTBASE.DLL -7FFA888C0000 bcryptPrimitives.dll