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/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/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 03dfa20..6cb3a5b 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 @@ -700,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 @@ -925,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 @@ -1073,7 +1076,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 104 events const_next 1600 ; Sprite visibility flags @@ -1490,11 +1505,18 @@ 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 - - ; Nihon Trainers - const EVENT_BEAT_BUG_CATCHER_ELWYN - const EVENT_BEAT_SCHOOLBOY_PERO + const EVENT_WINNERS_PATH_ITEM1 + const EVENT_WINNERS_PATH_ITEM2 + const EVENT_WINNERS_PATH_SWITCH_PRESSED + 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/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 27f19ca..821f691 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -617,18 +617,21 @@ ENDM newgroup SILENT_HILLS ; 35 map_const WINNERS_PATH, 10, 26 ; 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 + 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 d8caeef..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__ @@ -210,12 +211,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 @@ -245,8 +246,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 +258,7 @@ DEF KRIS EQU __trainer_class__ const KENDRA ; unused const VERONICA ; unused const JULIA - const THERESA ; unused + const THERESA const VALERIE const OLIVIA @@ -384,6 +385,7 @@ DEF KRIS EQU __trainer_class__ const RALPH4 const RALPH5 const TULLY4 + const BRAN trainerclass SWIMMERM ; 26 const HAROLD @@ -447,7 +449,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 @@ -517,7 +519,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 +715,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, give kotora, smeargle... + const DALI 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/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/maps/attributes.asm b/data/maps/attributes.asm index 0bcbaff..24db325 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,15 @@ ENDM ; Nihon map_attributes WinnersPath, WINNERS_PATH, $00, 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 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 ddec052..5871435 100644 --- a/data/maps/blocks.asm +++ b/data/maps/blocks.asm @@ -1201,3 +1201,12 @@ SinjohRuinsInterior_Blocks: WinnersPath_Blocks: INCBIN "maps/WinnersPath.ablk" + +WinnersPathOutside_Blocks: + INCBIN "maps/WinnersPathOutside.ablk" + +UnnumberedRoute_Blocks: + INCBIN "maps/UnnumberedRoute.ablk" + +BlueLab_Blocks: + INCBIN "maps/BlueLab.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 98c3eac..1c59fa4 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -674,18 +674,21 @@ 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 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 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 + 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/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm index d171cdc..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_SUDOWOODO - db SPRITE_BIG_SNORLAX 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/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 e08f580..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,7 +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" 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/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/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 0000000..ab36571 Binary files /dev/null and b/data/tilesets/bluelab_attributes.bin differ 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/data/tilesets/cave_attributes.bin b/data/tilesets/cave_attributes.bin index 88761b4..48efcf3 100644 Binary files a/data/tilesets/cave_attributes.bin and b/data/tilesets/cave_attributes.bin differ diff --git a/data/tilesets/cave_collision.asm b/data/tilesets/cave_collision.asm index 78e59de..9870e19 100644 --- a/data/tilesets/cave_collision.asm +++ b/data/tilesets/cave_collision.asm @@ -72,12 +72,12 @@ 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 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,3 +85,6 @@ tilecoll WATER, WATER, WATER, WATER ; 54 tilecoll WATER, WALL, WATER, WALL ; 55 tilecoll WATER, WALL, WALL, WALL ; 56 + 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 97c6f72..686eebd 100644 Binary files a/data/tilesets/cave_metatiles.bin and b/data/tilesets/cave_metatiles.bin differ diff --git a/data/tilesets/nihon01_attributes.bin b/data/tilesets/nihon01_attributes.bin index e956b3f..9b59fb1 100644 Binary files a/data/tilesets/nihon01_attributes.bin and b/data/tilesets/nihon01_attributes.bin differ diff --git a/data/tilesets/nihon01_collision.asm b/data/tilesets/nihon01_collision.asm index 2820da3..a6046d3 100644 --- a/data/tilesets/nihon01_collision.asm +++ b/data/tilesets/nihon01_collision.asm @@ -127,4 +127,17 @@ 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 + 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 dee8ef4..3d7354c 100644 Binary files a/data/tilesets/nihon01_metatiles.bin and b/data/tilesets/nihon01_metatiles.bin differ diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index a0487cb..40a4fd6 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -1161,10 +1161,9 @@ BirdKeeperGroup: LassGroup: next_list_item ; LASS (1) - db "CARRIE@", TRAINERTYPE_MOVES + db "CARRIE@", TRAINERTYPE_NORMAL db 18 dw SNUBBULL - dw SCARY_FACE, CHARM, BITE, LICK db -1 ; end next_list_item ; LASS (2) @@ -1353,16 +1352,13 @@ JanineGroup: CooltrainerMGroup: next_list_item ; COOLTRAINERM (1) - db "NICK@", TRAINERTYPE_MOVES + db "NICK@", TRAINERTYPE_NORMAL db 26 dw CHARMANDER - dw EMBER, SMOKESCREEN, RAGE, SCARY_FACE db 26 dw SQUIRTLE - dw WITHDRAW, WATER_GUN, BITE, CURSE db 26 dw BULBASAUR - dw LEECH_SEED, POISONPOWDER, SLEEP_POWDER, RAZOR_LEAF db -1 ; end next_list_item ; COOLTRAINERM (2) @@ -1796,8 +1792,12 @@ BeautyGroup: next_list_item ; BEAUTY (4) db "JACLYN@", TRAINERTYPE_NORMAL - db 15 - dw SENTRET + db 53 + dw FURRET + db 53 + dw MEGANIUM + db 55 + dw EUCALA db -1 ; end next_list_item ; BEAUTY (5) @@ -2833,6 +2833,14 @@ FisherGroup: dw ROLLOUT, SURF, PIN_MISSILE, TAKE_DOWN db -1 ; end + next_list_item ; FISHER (25) + db "BRAN@", TRAINERTYPE_NORMAL + db 54 + dw QWILFATHER + db 57 + dw KAZEPPELIN + db -1 ; end + end_list_items SwimmerMGroup: @@ -3314,13 +3322,13 @@ SuperNerdGroup: db -1 ; end next_list_item ; SUPER_NERD (3) - db "GREGG@", TRAINERTYPE_NORMAL ; seems to be unused - anything we can do? - db 20 - dw MAGNEMITE - db 20 - dw MAGNEMITE - db 20 - dw MAGNEMITE + db "GREGG@", TRAINERTYPE_NORMAL + db 50 + dw ELECTRODE + db 51 + dw PORYGON2 + db 50 + dw BELLEDAM db -1 ; end next_list_item ; SUPER_NERD (4) @@ -5475,99 +5483,3 @@ MysticalmanGroup: db -1 ; end end_list_items -; RBY / unused trainer types. Mostly placeholders. -ChannelerGroup: - next_list_item ; CHANNELER (1) - db "SHANNA@", TRAINERTYPE_NORMAL - db 23 - dw GASTLY - db -1 ; end - end_list_items - -CueBallGroup: - next_list_item ; CUE_BALL (1) - db "KIRBY@", TRAINERTYPE_NORMAL - db 23 - dw CLEFFA - db -1 ; end - end_list_items - -EngineerGroup: - next_list_item ; ENGINEER (1) - db "DASHU@", TRAINERTYPE_NORMAL - db 23 - dw MAGNEMITE - db -1 ; end - end_list_items - -RockerGroup: - next_list_item ; ROCKER (1) - db "BOWIE@", TRAINERTYPE_NORMAL - db 23 - dw VOLTORB - db -1 ; end - end_list_items - -TamerGroup: - next_list_item ; TAMER (1) - db "MOE@", TRAINERTYPE_NORMAL - db 23 - dw TAUROS - db -1 ; end - end_list_items - -FirefighterGroup: - next_list_item ; FIREFIGHTER (1) - db "REMY@", TRAINERTYPE_NORMAL - db 23 - dw POLIWAG - db -1 ; end - end_list_items - -TeacherMGroup: - next_list_item ; TEACHERM (1) - db "DORNYEI@", TRAINERTYPE_NORMAL - db 23 - dw BLISSEY - db -1 ; end - end_list_items - -PainterGroup: - next_list_item ; PAINTER (1) - db "RACHEL@", TRAINERTYPE_NORMAL - db 23 - dw SMEARGLE - db -1 ; end - end_list_items - -SoldierGroup: - next_list_item ; SOLDIER (1) - db "PEPPINO@", TRAINERTYPE_NORMAL - db 23 - dw FORRETRESS - db -1 ; end - end_list_items - -SportsmanGroup: - next_list_item ; SPORTSMAN (1) - db "JACQUES@", TRAINERTYPE_NORMAL - db 23 - dw DODUO - db -1 ; end - end_list_items - -AerofossilGroup: - next_list_item ; SPORTSMAN (1) - db "???@", TRAINERTYPE_NORMAL - db 99 - dw AERODACTYL - db -1 ; end - end_list_items - -KabufossilGroup: - next_list_item ; SPORTSMAN (1) - db "???@", TRAINERTYPE_NORMAL - db 99 - dw KABUTOPS - db -1 ; end - end_list_items diff --git a/data/trainers/parties_new_classes.asm b/data/trainers/parties_new_classes.asm new file mode 100644 index 0000000..d1b2751 --- /dev/null +++ b/data/trainers/parties_new_classes.asm @@ -0,0 +1,111 @@ +SECTION "Enemy Trainer Parties 4", ROMX + +; RBY / unused trainer types. Mostly placeholders. +ChannelerGroup: + next_list_item ; CHANNELER (1) + db "SHANNA@", TRAINERTYPE_NORMAL + db 23 + dw GASTLY + db -1 ; end + end_list_items + +CueBallGroup: + next_list_item ; CUE_BALL (1) + db "KIRBY@", TRAINERTYPE_NORMAL + db 23 + dw CLEFFA + db -1 ; end + end_list_items + +EngineerGroup: + next_list_item ; ENGINEER (1) + db "DASHU@", TRAINERTYPE_NORMAL + db 52 + dw MAGNEZONE + db 54 + dw ELECTIVIRE + db -1 ; end + end_list_items + +RockerGroup: + next_list_item ; ROCKER (1) + db "BOWIE@", TRAINERTYPE_NORMAL + db 23 + dw VOLTORB + db -1 ; end + end_list_items + +TamerGroup: + next_list_item ; TAMER (1) + db "MOE@", TRAINERTYPE_NORMAL + db 23 + dw TAUROS + db -1 ; end + end_list_items + +FirefighterGroup: + next_list_item ; FIREFIGHTER (1) + db "REMY@", TRAINERTYPE_NORMAL + db 23 + dw POLIWAG + db -1 ; end + end_list_items + +TeacherMGroup: + next_list_item ; TEACHERM (1) + db "DORNYEI@", TRAINERTYPE_NORMAL + db 23 + dw BLISSEY + db -1 ; end + end_list_items + +PainterGroup: + next_list_item ; PAINTER (1) + db "RACHEL@", TRAINERTYPE_NORMAL + db 23 + dw SMEARGLE + db -1 ; end + + 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 + db -1 ; end + + end_list_items + +SoldierGroup: + next_list_item ; SOLDIER (1) + db "PEPPINO@", TRAINERTYPE_NORMAL + db 23 + dw FORRETRESS + db -1 ; end + end_list_items + +SportsmanGroup: + next_list_item ; SPORTSMAN (1) + db "JACQUES@", TRAINERTYPE_NORMAL + db 23 + dw DODUO + db -1 ; end + end_list_items + +AerofossilGroup: + next_list_item ; SPORTSMAN (1) + db "???@", TRAINERTYPE_NORMAL + db 99 + dw AERODACTYL + db -1 ; end + end_list_items + +KabufossilGroup: + next_list_item ; SPORTSMAN (1) + db "???@", TRAINERTYPE_NORMAL + db 99 + dw KABUTOPS + db -1 ; end + end_list_items diff --git a/data/wild/nihon_grass.asm b/data/wild/nihon_grass.asm index 8ac384c..2df8182 100644 --- a/data/wild/nihon_grass.asm +++ b/data/wild/nihon_grass.asm @@ -1,32 +1,93 @@ NihonGrassWildMons: + ; Winner's Path is themed around Pokemon found in the PokeWalker map. + ; Additionally, it features Pokemon known to be successful in Nintendo Cup 2000. def_grass_wildmons WINNERS_PATH db 2 percent, 2 percent, 4 percent ; encounter rates: morn/day/nite ; 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, TAUROS + dbw 52, RHYDON dbw 52, FORRETRESS dbw 55, STEELIX ; day dbw 50, MUNCHLAX dbw 51, SKARMORY - dbw 50, CHANSEY + dbw 56, CHANSEY dbw 51, MUNCHLAX - dbw 52, TAUROS + dbw 52, RHYDON dbw 52, FORRETRESS dbw 55, STEELIX ; nite - dbw 50, MUNCHLAX + dbw 50, MAROWAK dbw 51, SKARMORY dbw 50, KITSEN - dbw 51, MUNCHLAX + dbw 51, MAROWAK dbw 52, HAUNTER dbw 52, MISDREAVUS dbw 55, STEELIX end_grass_wildmons - + + def_grass_wildmons WINNERS_PATH_OUTSIDE + db 2 percent, 2 percent, 4 percent ; encounter rates: morn/day/nite + ; morn + dbw 50, MUNCHLAX + dbw 51, SKARMORY + dbw 50, MILTANK + dbw 51, MUNCHLAX + dbw 52, TAUROS + dbw 52, QUAGSIRE + dbw 55, AMPHAROS + ; day + dbw 50, MUNCHLAX + dbw 51, SKARMORY + dbw 50, MILTANK + dbw 51, MUNCHLAX + dbw 52, TAUROS + dbw 52, QUAGSIRE + dbw 55, AMPHAROS + ; nite + dbw 50, KADABRA + dbw 51, SKARMORY + dbw 50, KITSEN + dbw 51, KADABRA + dbw 52, HAUNTER + dbw 52, MISDREAVUS + dbw 55, AMPHAROS + end_grass_wildmons + + ; Route east of Silent Hills + ; Encounter data based on what is in the SW97 demo. + ; https://tcrf.net/Proto:Pok%C3%A9mon_Gold_and_Silver/Spaceworld_1997_Demo/Maps + def_grass_wildmons UNNUMBERED_ROUTE + db 2 percent, 2 percent, 4 percent ; encounter rates: morn/day/nite + ; morn + dbw 29, PICHU + dbw 29, SMEARGLE + dbw 28, PICHU + dbw 29, ODDISH + dbw 32, GLOOM + dbw 27, PIKACHU + dbw 27, SMEARGLE + ; day + dbw 29, ODDISH + dbw 29, SMEARGLE + dbw 28, PICHU + dbw 29, MEOWTH + dbw 32, RATICATE + dbw 27, MEOWTH + dbw 27, SMEARGLE + ; nite + dbw 29, RATICATE + dbw 29, HOOTHOOT + dbw 28, EKANS + dbw 29, HOOTHOOT + dbw 32, ARBOK + dbw 27, NOCTOWL + dbw 27, SMEARGLE + end_grass_wildmons + def_grass_wildmons QUIET_CAVE db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn diff --git a/data/wild/nihon_water.asm b/data/wild/nihon_water.asm index d2b2764..26abf11 100644 --- a/data/wild/nihon_water.asm +++ b/data/wild/nihon_water.asm @@ -6,6 +6,13 @@ NihonWaterWildMons: dbw 40, GRANBO ; SHARPOON end_water_wildmons + def_water_wildmons UNNUMBERED_ROUTE + db 4 percent ; encounter rates: morn/day/nite + dbw 30, MAGIKARP + dbw 31, ANGORE + dbw 30, MOLAMBINO + end_water_wildmons + ; Placeholder def_water_wildmons ROUTE_49_2 db 4 percent ; encounter rates: morn/day/nite 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/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/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 c7216be..fe5b57c 100644 Binary files a/gfx/pokemon/caretorker/back.png and b/gfx/pokemon/caretorker/back.png differ diff --git a/gfx/pokemon/caretorker/front.png b/gfx/pokemon/caretorker/front.png index e0a9da9..7978ebb 100644 Binary files a/gfx/pokemon/caretorker/front.png and b/gfx/pokemon/caretorker/front.png differ 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 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 c7216be..f56f895 100644 Binary files a/gfx/pokemon/electivire/back.png and b/gfx/pokemon/electivire/back.png differ diff --git a/gfx/pokemon/electivire/front.png b/gfx/pokemon/electivire/front.png index e0a9da9..5747ddb 100644 Binary files a/gfx/pokemon/electivire/front.png and b/gfx/pokemon/electivire/front.png differ 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 c7216be..41996e8 100644 Binary files a/gfx/pokemon/honchkrow/back.png and b/gfx/pokemon/honchkrow/back.png differ diff --git a/gfx/pokemon/honchkrow/front.png b/gfx/pokemon/honchkrow/front.png index e0a9da9..d61af4f 100644 Binary files a/gfx/pokemon/honchkrow/front.png and b/gfx/pokemon/honchkrow/front.png differ 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 c7216be..3defc4f 100644 Binary files a/gfx/pokemon/magmortar/back.png and b/gfx/pokemon/magmortar/back.png differ diff --git a/gfx/pokemon/magmortar/front.png b/gfx/pokemon/magmortar/front.png index e0a9da9..8213d09 100644 Binary files a/gfx/pokemon/magmortar/front.png and b/gfx/pokemon/magmortar/front.png differ 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 c7216be..eff2f27 100644 Binary files a/gfx/pokemon/porygon_z/back.png and b/gfx/pokemon/porygon_z/back.png differ diff --git a/gfx/pokemon/porygon_z/front.png b/gfx/pokemon/porygon_z/front.png index e0a9da9..6fd94cf 100644 Binary files a/gfx/pokemon/porygon_z/front.png and b/gfx/pokemon/porygon_z/front.png differ diff --git a/gfx/pokemon/porygon_z/shiny.pal b/gfx/pokemon/porygon_z/shiny.pal index 5c88669..a3d4df8 100644 --- a/gfx/pokemon/porygon_z/shiny.pal +++ b/gfx/pokemon/porygon_z/shiny.pal @@ -1,2 +1,5 @@ - RGB 22, 22, 12 - RGB 07, 15, 25 \ No newline at end of file + + RGB 08, 11, 23 + RGB 20, 19, 24 + + diff --git a/gfx/pokemon/wyrdeer/anim.asm b/gfx/pokemon/wyrdeer/anim.asm index 875f7be..c9f8d1e 100644 --- a/gfx/pokemon/wyrdeer/anim.asm +++ b/gfx/pokemon/wyrdeer/anim.asm @@ -1 +1,11 @@ + frame 0, 04 + frame 1, 20 + frame 2, 04 + frame 1, 06 + frame 2, 06 + setrepeat 2 + frame 0, 06 + frame 3, 06 + frame 4, 06 + dorepeat 6 endanim \ No newline at end of file diff --git a/gfx/pokemon/wyrdeer/anim_idle.asm b/gfx/pokemon/wyrdeer/anim_idle.asm index 875f7be..35de514 100644 --- a/gfx/pokemon/wyrdeer/anim_idle.asm +++ b/gfx/pokemon/wyrdeer/anim_idle.asm @@ -1 +1,6 @@ - endanim \ No newline at end of file + frame 5, 08 + setrepeat 2 + frame 0, 06 + frame 6, 06 + dorepeat 2 + endanim diff --git a/gfx/pokemon/wyrdeer/back.png b/gfx/pokemon/wyrdeer/back.png index c7216be..936da1e 100644 Binary files a/gfx/pokemon/wyrdeer/back.png and b/gfx/pokemon/wyrdeer/back.png differ diff --git a/gfx/pokemon/wyrdeer/front.png b/gfx/pokemon/wyrdeer/front.png index e0a9da9..9091506 100644 Binary files a/gfx/pokemon/wyrdeer/front.png and b/gfx/pokemon/wyrdeer/front.png differ 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/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 0000000..7d9c5cf Binary files /dev/null and b/gfx/tilesets/bluelab.png differ diff --git a/gfx/tilesets/cave.png b/gfx/tilesets/cave.png index dc3348a..40eaacc 100644 Binary files a/gfx/tilesets/cave.png and b/gfx/tilesets/cave.png differ diff --git a/home/map_objects.asm b/home/map_objects.asm index bd17c0f..9bd0377 100644 --- a/home/map_objects.asm +++ b/home/map_objects.asm @@ -153,7 +153,7 @@ CheckCounterTile:: CheckPitTile:: cp COLL_PIT ret z - cp COLL_PIT_68 + cp COLL_SWITCH ret CheckIceTile:: @@ -519,16 +519,6 @@ _GetMovementIndex:: ld a, h ret -SetVramState_Bit0:: ; unreferenced - ld hl, wVramState - set 0, [hl] - ret - -ResetVramState_Bit0:: ; unreferenced - ld hl, wVramState - res 0, [hl] - ret - UpdateSprites:: ld a, [wVramState] bit 0, a diff --git a/layout.link b/layout.link index e5d64da..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" @@ -313,11 +313,12 @@ ROMX $7d ROMX $7e "Crystal Events" ROMX $7f - org $7de0 - "Stadium 2 Checksums" + ROMX $80 "Cries" "Pic Pointers" +ROMX $81 + "Enemy Trainer Parties 4" WRAM0 "Stack" "Audio RAM" diff --git a/main.asm b/main.asm index cfbe5f7..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" @@ -440,14 +441,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 @@ -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" @@ -662,14 +664,12 @@ SECTION "European Mail", ROMX INCLUDE "engine/pokemon/european_mail.asm" - +if DEF(_DEBUG) SECTION "Debug Room", ROMX -if DEF(_DEBUG) INCLUDE "engine/debug/debug_room.asm" endc - SECTION "Battle Tower Text", ROMX INCLUDE "data/battle_tower/trainer_text.asm" @@ -691,7 +691,7 @@ INCLUDE "engine/events/battle_tower/load_trainer.asm" INCLUDE "engine/events/odd_egg.asm" -SECTION "Stadium 2 Checksums", ROMX[$7DE0], BANK[$7F] +;SECTION "Stadium 2 Checksums", ROMX[$7DE0], BANK[$7F] ; The end of the ROM is taken up by checksums of the content, apparently used ; by Pokémon Stadium 2 due to the checksums' "N64PS3" header. (In Japan, @@ -703,5 +703,6 @@ SECTION "16-bit ID stuff", ROMX INCLUDE "engine/16/table_functions.asm" -; own section +; own sections INCLUDE "data/trainers/parties.asm" +INCLUDE "data/trainers/parties_new_classes.asm" diff --git a/maps/BlueLab.ablk b/maps/BlueLab.ablk new file mode 100644 index 0000000..dd94aaf Binary files /dev/null and b/maps/BlueLab.ablk differ diff --git a/maps/BlueLab.asm b/maps/BlueLab.asm new file mode 100644 index 0000000..59853a3 --- /dev/null +++ b/maps/BlueLab.asm @@ -0,0 +1,790 @@ +; Text in this area uses translations from Minamitoku. +; https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku +; https://www.youtube.com/watch?v=EyAHU12OKDI&t=1741s&ab_channel=Minamitoku + +; There is much abridging of course, for the purposes of JEP's storyline. +; Some tweaks are made to be reminiscent of RBY, showing Blue taking after Oak. + + object_const_def + const BLUELAB_BLUE + const BLUELAB_CUBBURN + const BLUELAB_PALSSIO + const BLUELAB_CHIKORITA + const BLUELAB_KEN + const BLUELAB_OAK + +BlueLab_MapScripts: + def_scene_scripts + scene_script EnterLabWithBlue, SCENE_ENTER_LAB_WITH_BLUE + scene_script EnterStarterRoomWithBlue, SCENE_ENTER_STARTER_ROOM_WITH_BLUE + scene_script BlueLabWhereGoing, SCENE_BLUELAB_WHERE_GOING + scene_script BlueLabNoopScene, SCENE_BLUELAB_NOOP + + def_callbacks + callback MAPCALLBACK_OBJECTS, BlueLabSetup + +BlueLabNoopScene: + end + +BlueLabSetup: + checkevent EVENT_DRAGGED_BY_BLUE + iffalse .skip1 + moveobject BLUELAB_BLUE, 4, 18 +.skip1 + checkevent EVENT_GONE_THROUGH_STARTER_DOOR + iffalse .skip2 + appear BLUELAB_BLUE + appear BLUELAB_KEN + moveobject BLUELAB_BLUE, 20, 2 + moveobject BLUELAB_KEN, 19, 4 +.skip2 + checkevent EVENT_BRIEFED_BY_BLUE + iffalse .skip3 + moveobject BLUELAB_OAK, 6, 2 + moveobject BLUELAB_KEN, 23, 19 +.skip3 + endcallback + end + +EnterLabWithBlue: + applymovement BLUELAB_BLUE, BlueIllusion + moveobject BLUELAB_BLUE, 5, 4 + applymovement PLAYER, EnterLabWithBlueMovement + turnobject BLUELAB_BLUE, UP + opentext + writetext BlueIBroughtEm + waitbutton + closetext + opentext + writetext KenWowText + waitbutton + closetext + opentext + writetext OakAhYesIAmOak + waitbutton + closetext + opentext + writetext OakStoryAskText + waitbutton + closetext + yesorno + iffalse .No1 + sjump .Yes1 +.No1 + opentext + writetext OakDiscerningEye + waitbutton + closetext + yesorno + iffalse .No1 +.Yes1 + opentext + writetext OakStoryText + waitbutton + closetext + turnobject BLUELAB_KEN, RIGHT + opentext + writetext KenResponseText + waitbutton + closetext + opentext + writetext BlueTakeText + waitbutton + closetext + opentext + writetext OakThanksText + waitbutton + closetext + applymovement BLUELAB_BLUE, KenBlueMovement + applymovement BLUELAB_BLUE, BlueEnterStarterRoomMovement + disappear BLUELAB_BLUE + playsound SFX_ENTER_DOOR + pause 10 + applymovement BLUELAB_KEN, KenBlueMovement + applymovement BLUELAB_KEN, KenEnterStarterRoomMovement + disappear BLUELAB_KEN + playsound SFX_ENTER_DOOR + pause 10 + applymovement PLAYER, EnterStarterRoomMovement1 + setscene SCENE_BLUELAB_NOOP + end + +EnterStarterRoomWithBlue: + applymovement PLAYER, EnterStarterRoomMovement2 + opentext + writetext BlueChooseText + waitbutton + closetext + opentext + writetext KenPickText + waitbutton + closetext + applymovement BLUELAB_KEN, KenPickMovement1 + opentext + writetext KenChikoritaText + waitbutton + closetext + disappear BLUELAB_CHIKORITA + opentext + writetext KenReceivedChikoritaText + waitbutton + closetext + playsound SFX_CAUGHT_MON + waitsfx + applymovement BLUELAB_KEN, KenPickMovement2 + moveobject BLUELAB_KEN, 23, 19 + playsound SFX_ENTER_DOOR + pause 10 + opentext + writetext BlueWeirdText + waitbutton + closetext +.goBack + opentext + writetext BlueProposalText + waitbutton + closetext + yesorno + iffalse .No + sjump .Yes +.No + opentext + writetext BlueLabINeedYouText + waitbutton + closetext + yesorno + iffalse .goBack +.Yes + opentext + writetext BlueAcceptText + waitbutton + closetext + setscene SCENE_BLUELAB_NOOP + clearevent EVENT_GOT_POKEMON_FROM_BLUE ; Player is now trapped! + end + +BlueIllusion: ; Blue steps up, then gets directly moved to the right spot once he's off-screen. + step UP + step UP + step UP + step UP + step UP + step_end + +EnterLabWithBlueMovement: + step UP + step UP + step UP + step UP + step UP + step UP + step UP + step UP + step UP + step UP + step UP + step UP + step UP + step UP + step UP + step_end + +EnterStarterRoomMovement1: + step RIGHT + step UP + step UP + step UP + step LEFT + step UP + step_end + +KenBlueMovement: + step UP + step UP + step UP + step_end + +KenEnterStarterRoomMovement: + step RIGHT + step UP + step_end + +BlueEnterStarterRoomMovement: + step LEFT + step UP + step_end + +EnterStarterRoomMovement2: + step UP + step UP + step UP + step UP + step UP + step_end + +CubburnPokeBallScript: + checkevent EVENT_GOT_POKEMON_FROM_BLUE + iftrue LookAtBluePokeBallScript + turnobject BLUELAB_BLUE, DOWN + refreshscreen + pokepic CUBBURN + cry CUBBURN + waitbutton + closepokepic + opentext + writetext TakeCubburnText + yesorno + iffalse BlueDidntChooseStarterScript + disappear BLUELAB_CUBBURN + setevent EVENT_GOT_CUBBURN_FROM_BLUE + writetext BlueChoseCubburnText + promptbutton + waitsfx + getmonname STRING_BUFFER_3, CUBBURN + writetext BlueLabReceivedStarterText + playsound SFX_CAUGHT_MON + waitsfx + promptbutton + givepoke CUBBURN, 5 + closetext + readvar VAR_FACING + ifequal RIGHT, BlueAfterStarterScript + applymovement PLAYER, AfterCubburnMovement + sjump BlueAfterStarterScript + +PalssioPokeBallScript: + checkevent EVENT_GOT_POKEMON_FROM_BLUE + iftrue LookAtBluePokeBallScript + turnobject BLUELAB_BLUE, DOWN + refreshscreen + pokepic PALSSIO + cry PALSSIO + waitbutton + closepokepic + opentext + writetext TakePalssioText + yesorno + iffalse BlueDidntChooseStarterScript + disappear BLUELAB_PALSSIO + setevent EVENT_GOT_PALSSIO_FROM_BLUE + writetext BlueChosePalssioText + promptbutton + waitsfx + getmonname STRING_BUFFER_3, PALSSIO + writetext BlueLabReceivedStarterText + playsound SFX_CAUGHT_MON + waitsfx + promptbutton + givepoke PALSSIO, 5 + closetext + readvar VAR_FACING + ifequal RIGHT, BlueAfterStarterScript + applymovement PLAYER, AfterPalssioMovement + sjump BlueAfterStarterScript + +BlueAfterStarterScript: + opentext + writetext BlueAfterStarterText + waitbutton + closetext + addcellnum PHONE_BLUE + opentext + writetext GotBluesNumberText + playsound SFX_REGISTER_PHONE_NUMBER + waitsfx + waitbutton + closetext + moveobject BLUELAB_OAK, 6, 2 + setevent EVENT_BRIEFED_BY_BLUE + end + +BlueDidntChooseStarterScript: + writetext BlueDidntChooseStarterText + waitbutton + closetext + end + +BlueLabReceivedStarterText: + text " 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/BurnedTower1F.asm b/maps/BurnedTower1F.asm index 60e0b8a..cb0e7d4 100644 --- a/maps/BurnedTower1F.asm +++ b/maps/BurnedTower1F.asm @@ -282,17 +282,17 @@ BurnedTower1F_MapEvents: warp_event 9, 15, ECRUTEAK_CITY, 13 warp_event 10, 15, ECRUTEAK_CITY, 13 warp_event 10, 9, BURNED_TOWER_B1F, 1 - warp_event 5, 5, BURNED_TOWER_B1F, 1 ; inaccessible, left over from G/S - warp_event 5, 6, BURNED_TOWER_B1F, 1 ; inaccessible, left over from G/S - warp_event 4, 6, BURNED_TOWER_B1F, 1 ; inaccessible, left over from G/S - warp_event 15, 4, BURNED_TOWER_B1F, 2 ; inaccessible, left over from G/S - warp_event 15, 5, BURNED_TOWER_B1F, 2 ; inaccessible, left over from G/S - warp_event 10, 7, BURNED_TOWER_B1F, 3 ; inaccessible, left over from G/S - warp_event 5, 14, BURNED_TOWER_B1F, 4 ; inaccessible, left over from G/S - warp_event 4, 14, BURNED_TOWER_B1F, 4 ; inaccessible, left over from G/S - warp_event 14, 14, BURNED_TOWER_B1F, 5 ; inaccessible, left over from G/S - warp_event 15, 14, BURNED_TOWER_B1F, 5 ; inaccessible, left over from G/S - warp_event 7, 15, BURNED_TOWER_B1F, 6 ; inaccessible, left over from G/S +; warp_event 5, 5, BURNED_TOWER_B1F, 1 ; inaccessible, left over from G/S +; warp_event 5, 6, BURNED_TOWER_B1F, 1 ; inaccessible, left over from G/S +; warp_event 4, 6, BURNED_TOWER_B1F, 1 ; inaccessible, left over from G/S +; warp_event 15, 4, BURNED_TOWER_B1F, 2 ; inaccessible, left over from G/S +; warp_event 15, 5, BURNED_TOWER_B1F, 2 ; inaccessible, left over from G/S +; warp_event 10, 7, BURNED_TOWER_B1F, 3 ; inaccessible, left over from G/S +; warp_event 5, 14, BURNED_TOWER_B1F, 4 ; inaccessible, left over from G/S +; warp_event 4, 14, BURNED_TOWER_B1F, 4 ; inaccessible, left over from G/S +; warp_event 14, 14, BURNED_TOWER_B1F, 5 ; inaccessible, left over from G/S +; warp_event 15, 14, BURNED_TOWER_B1F, 5 ; inaccessible, left over from G/S +; warp_event 7, 15, BURNED_TOWER_B1F, 6 ; inaccessible, left over from G/S def_coord_events coord_event 11, 9, SCENE_BURNEDTOWER1F_RIVAL_BATTLE, BurnedTowerRivalBattleScript diff --git a/maps/BurnedTowerB1F.asm b/maps/BurnedTowerB1F.asm index c3d148b..f8ab6b1 100644 --- a/maps/BurnedTowerB1F.asm +++ b/maps/BurnedTowerB1F.asm @@ -155,12 +155,6 @@ BurnedTowerSuicuneMovement2: remove_sliding step_end -BurnedTowerUnusedMovement: ; unreferenced - set_sliding - big_step DOWN - remove_sliding - step_end - BurnedTowerSuicuneMovement3: set_sliding big_step UP diff --git a/maps/DebugRoom.asm b/maps/DebugRoom.asm index 6d2aeae..583029a 100644 --- a/maps/DebugRoom.asm +++ b/maps/DebugRoom.asm @@ -502,7 +502,7 @@ DebugRoom_MapEvents: warp_event 19, 34, BLUE_FOREST, 1 ; southern warp warp_event 33, 33, BLUE_FOREST, 1 ; southeast warp warp_event 5, 3, AZALEA_TOWN, 1 - warp_event 34, 11, WINNERS_PATH, 1 + warp_event 34, 11, WINNERS_PATH, 3 def_coord_events 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/IlexForest.asm b/maps/IlexForest.asm index 4db77c3..d503cc8 100644 --- a/maps/IlexForest.asm +++ b/maps/IlexForest.asm @@ -420,9 +420,6 @@ IlexForestHiddenSuperPotion: IlexForestHiddenFullHeal: hiddenitem FULL_HEAL, EVENT_ILEX_FOREST_HIDDEN_FULL_HEAL -IlexForestBoulder: ; unreferenced - jumpstd StrengthBoulderScript - IlexForestSignpost: jumptext IlexForestSignpostText diff --git a/maps/SilentHills.ablk b/maps/SilentHills.ablk index 964b648..6b93fa7 100644 --- a/maps/SilentHills.ablk +++ b/maps/SilentHills.ablk @@ -1,2 +1 @@ -IJHF|}+BF~E/JIJ - !A|}G~E$AAAAAATnnnnUX5555Y \ No newline at end of file +IJHF|}+BF~E/JIJ !A|}G~E$AAAAAATnnnnUX5555Y \ No newline at end of file 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/maps/UnnumberedRoute.ablk b/maps/UnnumberedRoute.ablk new file mode 100644 index 0000000..0bb7fd7 --- /dev/null +++ b/maps/UnnumberedRoute.ablk @@ -0,0 +1,6 @@ +k))(k)))))))))))(efj''%eeeeeeeeeej'''''''''''%-`-TnnnUptt]^"C"X555Yb""X555Y`beeeeeeee"eeeX555Yeee` + + + + +nnnnnnnnnnn555Y \ No newline at end of file diff --git a/maps/UnnumberedRoute.asm b/maps/UnnumberedRoute.asm new file mode 100644 index 0000000..383d31a --- /dev/null +++ b/maps/UnnumberedRoute.asm @@ -0,0 +1,137 @@ + object_const_def + +UnnumberedRoute_MapScripts: + def_scene_scripts + + def_callbacks + +UnnumberedRouteSign1Script: + jumptext UnnumberedRouteSign1Text + +UnnumberedRouteSign1Text: + text "Route XX" + line "WEST: SILENT" + cont "HILLS" + + para "SOUTH: WINNER'S" + line "PATH" + done + +UnnumberedRouteSign2Script: + jumptext UnnumberedRouteSign2Text + +UnnumberedRouteSign2Text: + text "TRAINER TIPS" + + para "If you use DEF-" + line "ENSE CURL before" + cont "ROLLOUT, its" + cont "power doubles!" + done + +TrainerPainterDali: + trainer PAINTER, DALI, EVENT_BEAT_PAINTER_DALI, PainterDaliSeenText, PainterDaliBeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext PainterDaliAfterBattleText + waitbutton + closetext + end + +PainterDaliSeenText: + text "I'm not strange!" + line "I'm just normal." + done + +PainterDaliBeatenText: + text "You're certainly" + line "not imitating!" + prompt + +PainterDaliAfterBattleText: + text "Have no fear" + line "of perfection!" + + para "You'll never" + line "reach it!" + done + +TrainerSuperNerdGregg: + trainer SUPER_NERD, GREGG, EVENT_BEAT_SUPER_NERD_GREGG, SuperNerdGreggSeenText, SuperNerdGreggBeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext SuperNerdGreggAfterBattleText + waitbutton + closetext + end + +SuperNerdGreggSeenText: + text "We're on the" + line "verge of a" + cont "revolution!" + done + +SuperNerdGreggBeatenText: + text "It won't be" + line "televised!" + prompt + +SuperNerdGreggAfterBattleText: + text "Isn't it crazy?" + + para "Virtual reality!" + + para "The VIRTUAL BOY" + line "will change the" + cont "world!" + done + +TrainerFisherBran: + trainer FISHER, BRAN, EVENT_BEAT_FISHER_BRAN, FisherBranSeenText, FisherBranBeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext FisherBranAfterBattleText + waitbutton + closetext + end + +FisherBranSeenText: + text "Agh! You made me" + line "lose my catch!" + done + +FisherBranBeatenText: + text "Now I can't catch" + line "any!" + prompt + +FisherBranAfterBattleText: + text "SILENT HILLS has" + line "a #MON CENTER" + + para "Isn't that just" + line "incredible?" + done + +UnnumberedRoute_MapEvents: + db 0, 0 ; filler + + def_warp_events + warp_event 57, 9, DEBUG_ROOM, 1 ; Unsure, probably the other route. + + def_coord_events + + def_bg_events + bg_event 2, 4, BGEVENT_READ, UnnumberedRouteSign1Script + bg_event 30, 6, BGEVENT_READ, UnnumberedRouteSign2Script + + def_object_events + object_event 47, 4, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 1, TrainerPainterDali, -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/VictoryRoadGate.asm b/maps/VictoryRoadGate.asm index 8521389..a5394b7 100644 --- a/maps/VictoryRoadGate.asm +++ b/maps/VictoryRoadGate.asm @@ -77,7 +77,9 @@ VictoryRoadGateEightBadgesText: VictoryRoadGateLeftBlackBeltText: text "This way leads to" - line "MT.SILVER." + line "WINNER'S PATH," + cont "which leads to" + cont "NIHON." para "You'll see scary-" line "strong #MON out" @@ -105,8 +107,8 @@ VictoryRoadGate_MapEvents: warp_event 10, 17, ROUTE_26, 1 warp_event 9, 0, VICTORY_ROAD, 1 warp_event 10, 0, VICTORY_ROAD, 1 - warp_event 1, 7, ROUTE_28, 2 - warp_event 2, 7, ROUTE_28, 2 + warp_event 1, 7, WINNERS_PATH_OUTSIDE, 1 + warp_event 2, 7, WINNERS_PATH_OUTSIDE, 2 def_coord_events coord_event 10, 11, SCENE_VICTORYROADGATE_BADGE_CHECK, VictoryRoadGateBadgeCheckScript diff --git a/maps/WinnersPath.ablk b/maps/WinnersPath.ablk index 781ddbe..5ae8447 100644 --- a/maps/WinnersPath.ablk +++ b/maps/WinnersPath.ablk @@ -2,11 +2,11 @@ @&%R A&1@2' ST 0U -A&VN#M ....................  -+)K -)))! -))( -( !+JN#M ....................   +$&VN#M ....................  + +K +)O+) ) +(*))(( +( +JXJN#M ....................   *E*B   diff --git a/maps/WinnersPath.asm b/maps/WinnersPath.asm index 73281ba..ee5c7df 100644 --- a/maps/WinnersPath.asm +++ b/maps/WinnersPath.asm @@ -1,9 +1,71 @@ object_const_def + const WINNERS_PATH_COOLTRAINERM1 + const WINNERS_PATH_COOLTRAINERM2 + const WINNERS_PATH_BEAUTY + const WINNERS_PATH_BOULDER1 + const WINNERS_PATH_NPCITEM1 + const WINNERS_PATH_NPCITEM2 + const WINNERS_PATH_ROCK WinnersPath_MapScripts: def_scene_scripts def_callbacks + callback MAPCALLBACK_TILES, WinnersPathSwitchClickCallback + callback MAPCALLBACK_CMDQUEUE, WinnersPathSwitchCallback + +; This replicates the boulder switch functionality of RBY. +; Not sure why they removed this to be honest, it's quite nice. +; This is extremely hacky and the boulder won't move if you reload the map and put it back on the switch, but given there's no function for switches and I can't be bothered to make one, this will do. +WinnersPathSwitchCallback: + checkevent EVENT_WINNERS_PATH_SWITCH_PRESSED + iftrue .noBoulderNeeded + writecmdqueue .CommandQueue +.noBoulderNeeded + endcallback + +.CommandQueue: + cmdqueue CMDQUEUE_STONETABLE, .StoneTable ; check if any stones are sitting on a warp (or in our case, the switch) + +.StoneTable: + stonetable 7, WINNERS_PATH_BOULDER1, .Boulder1 + db -1 ; end + +.Boulder1: + checkevent EVENT_WINNERS_PATH_SWITCH_PRESSED + iftrue .skip + pause 30 + scall .switchClicked + setevent EVENT_WINNERS_PATH_SWITCH_PRESSED + opentext + writetext WinnersPathDoorOpenedText + waitbutton + closetext + changeblock 2, 22, $1C ; boulder gate + changeblock 4, 24, $59 ; switch + reloadmappart + delcmdqueue CMDQUEUE_STONETABLE, .StoneTable + ; fallthrough +.skip + end + +.switchClicked: + playsound SFX_STRENGTH + earthquake 80 + end + +WinnersPathSwitchClickCallback: + checkevent EVENT_WINNERS_PATH_SWITCH_PRESSED + iffalse .keepBlock + changeblock 2, 22, $1C ; boulder gate + changeblock 4, 24, $59 ; switch +.keepBlock + endcallback + +WinnersPathDoorOpenedText: + text "The switch was" + line "pressed!" + done WinnersPathSign1Script: jumptext WinnersPathSign1Text @@ -86,59 +148,74 @@ CoolTrainerAndyAfterBattleText: line "fault!" done -TrainerCoolTrainerSteve: - trainer COOLTRAINERM, STEVE, EVENT_BEAT_COOLTRAINERM_STEVE, CoolTrainerSteveSeenText, CoolTrainerSteveBeatenText, 0, .AfterScript +TrainerBeautyJaclyn: + trainer BEAUTY, JACLYN, EVENT_BEAT_BEAUTY_JACLYN, BeautyJaclynSeenText, BeautyJaclynBeatenText, 0, .AfterScript .AfterScript: endifjustbattled opentext - writetext CoolTrainerSteveAfterBattleText + writetext BeautyJaclynAfterBattleText waitbutton closetext end -CoolTrainerSteveSeenText: - text "NIHON is a great" - line "place! But do" - cont "you have what it" - cont "takes to get" - cont "there?" +BeautyJaclynSeenText: + text "Oh, a cute" + line "TRAINER! Let's" + cont "see how you" + cont "got here!" done -CoolTrainerSteveBeatenText: - text "Haha! Whoa!" +BeautyJaclynBeatenText: + text "Hey, take it" + line "easy! You won" + cont "already!" prompt -CoolTrainerSteveAfterBattleText: - text "WINNER'S PATH is" - line "known for having" - cont "some of the stro-" - cont "-ngest #MON of" - cont "all!" +BeautyJaclynAfterBattleText: + text "I love meeting" + line "the strong" + cont "TRAINERs here." - para "Obvious when" - line "you think about" - cont "it, right?" + para "Many used to be" + line "CHAMPIONs! Eek!" done +WinnersPathBoulder: + jumpstd StrengthBoulderScript + +WinnersPathRock: + jumpstd SmashRockScript + +WinnersPathItem1: + itemball TM_CURSE + +WinnersPathItem2: + itemball TM_ROLLOUT + WinnersPath_MapEvents: db 0, 0 ; filler def_warp_events - warp_event 3, 49, DEBUG_ROOM, 1 ; Will be...Indigo Plateau? + warp_event 3, 49, WINNERS_PATH_OUTSIDE, 3 warp_event 17, 39, WINNERS_PATH, 3 - warp_event 17, 29, WINNERS_PATH, 2 + warp_event 15, 29, WINNERS_PATH, 2 warp_event 3, 21, WINNERS_PATH, 5 warp_event 3, 11, WINNERS_PATH, 4 - warp_event 17, 5, DEBUG_ROOM, 3 ; Some Route... + warp_event 17, 5, WINNERS_PATH_OUTSIDE, 4 ; Some Route... + warp_event 5, 24, WINNERS_PATH_OUTSIDE, 4 ; Dummy warp for the switch. Hope this works! def_coord_events def_bg_events - bg_event 2, 48, BGEVENT_READ, WinnersPathSign1Text - bg_event 16, 4, BGEVENT_READ, WinnersPathSign2Text + bg_event 2, 48, BGEVENT_READ, WinnersPathSign1Script + bg_event 16, 4, BGEVENT_READ, WinnersPathSign2Script def_object_events object_event 9, 43, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerCoolTrainerErick, -1 - object_event 5, 22, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerCoolTrainerAndy, -1 - object_event 7, 8, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerCoolTrainerSteve, -1 + object_event 8, 22, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerCoolTrainerAndy, -1 + object_event 7, 8, SPRITE_BEAUTY, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 2, TrainerBeautyJaclyn, -1 + object_event 14, 23, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, WinnersPathBoulder, -1 + object_event 10, 6, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, WinnersPathItem1, EVENT_WINNERS_PATH_ITEM1 + object_event 2, 29, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, WinnersPathItem2, EVENT_WINNERS_PATH_ITEM2 + object_event 3, 28, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, WinnersPathRock, -1 diff --git a/maps/WinnersPathOutside.ablk b/maps/WinnersPathOutside.ablk new file mode 100644 index 0000000..34c49d5 --- /dev/null +++ b/maps/WinnersPathOutside.ablk @@ -0,0 +1 @@ +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 new file mode 100644 index 0000000..4f1d6c4 --- /dev/null +++ b/maps/WinnersPathOutside.asm @@ -0,0 +1,122 @@ + object_const_def + +WinnersPathOutside_MapScripts: + def_scene_scripts + + def_callbacks + +WinnersPathOutsideSign1Script: + jumptext WinnersPathOutsideSign1Text + +WinnersPathOutsideSign2Script: + jumptext WinnersPathOutsideSign2Text + +WinnersPathOutsideSign3Script: + jumptext WinnersPathOutsideSign3Text + +WinnersPathOutsideSign1Text: + text "#MON LEAGUE" + line "RECEPTION" + done + +WinnersPathOutsideSign2Text: + text "WINNER'S PATH" + line "Warning: Strong" + cont "#MON ahead!" + done + +WinnersPathOutsideSign3Text: + text "WINNER'S PATH" + line "NORTH: NIHON" + cont "SOUTH: KANTO" + done + +TrainerEngineerDashu: + trainer ENGINEER, DASHU, EVENT_BEAT_ENGINEER_DASHU, EngineerDashuSeenText, EngineerDashuBeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext EngineerDashuAfterBattleText + waitbutton + closetext + end + +EngineerDashuSeenText: + text "Whoa! We don't" + line "see many folks" + cont "from JOHTO in" + cont "these parts!" + done + +EngineerDashuBeatenText: + text "Gahaha! And you're" + line "always strong!" + prompt + +EngineerDashuAfterBattleText: + text "There's a huge" + line "POWER PLANT near" + cont "NEW TYPE." ; Change name when necessary. + + para "Why aren't I there" + line "right now" + + para "Aren't you a nosy" + cont "one, eh?" + done + +TrainerCoolTrainerSteve: + trainer COOLTRAINERM, STEVE, EVENT_BEAT_COOLTRAINERM_STEVE, CoolTrainerSteveSeenText, CoolTrainerSteveBeatenText, 0, .AfterScript + +.AfterScript: + endifjustbattled + opentext + writetext CoolTrainerSteveAfterBattleText + waitbutton + closetext + end + +CoolTrainerSteveSeenText: + text "NIHON is a great" + line "place! But do" + cont "you have what it" + cont "takes to get" + cont "there?" + done + +CoolTrainerSteveBeatenText: + text "Haha! Whoa!" + prompt + +CoolTrainerSteveAfterBattleText: + text "WINNER'S PATH is" + line "known for having" + cont "some of the stro-" + cont "-ngest #MON of" + cont "all!" + + para "Obvious when" + line "you think about" + cont "it, right?" + done + +WinnersPathOutside_MapEvents: + db 0, 0 ; filler + + def_warp_events + warp_event 12, 53, VICTORY_ROAD_GATE, 7 + warp_event 13, 53, VICTORY_ROAD_GATE, 8 + warp_event 4, 41, WINNERS_PATH, 1 + warp_event 10, 23, WINNERS_PATH, 6 + + def_coord_events + + def_bg_events + bg_event 14, 54, BGEVENT_READ, WinnersPathOutsideSign1Script + bg_event 6, 42, BGEVENT_READ, WinnersPathOutsideSign2Script + bg_event 6, 16, BGEVENT_READ, WinnersPathOutsideSign3Script + + 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, 4, TrainerEngineerDashu, -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