From ba5bc304f959d2387b45b9320808797272cf958a Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 29 Oct 2020 23:23:57 -0400 Subject: [PATCH] Updates to more closely sync with pokegold --- INSTALL.md | 6 +-- audio/sfx.asm | 1 + constants/engine_flags.asm | 2 +- constants/event_flags.asm | 60 +++++++++++++------------- constants/gfx_constants.asm | 1 + constants/landmark_constants.asm | 5 ++- constants/pokemon_constants.asm | 4 +- constants/wram_constants.asm | 9 ++-- data/events/special_pointers.asm | 1 + data/player_names.asm | 8 ++-- data/text/battle.asm | 2 +- data/text/common_1.asm | 4 +- engine/battle/move_effects/present.asm | 2 +- engine/events/daycare.asm | 16 +++---- engine/overworld/warp_connection.asm | 40 ++++++++--------- home/game_time.asm | 2 +- home/map.asm | 6 +-- home/menu.asm | 9 ++-- macros/wram.asm | 3 +- main.asm | 2 +- 20 files changed, 94 insertions(+), 89 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 684ab8e9a9f..5dbd6a2b291 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -19,9 +19,9 @@ cd /mnt/c/Users//Desktop (The Windows `C:\` drive is called `/mnt/c/` in WSL. Replace *\* in the example path with your username.) -Then follow [the instructions for **Linux**](#linux). +If this works, then follow [the instructions for **Linux**](#linux) below for whatever distribution you installed for WSL. -If this doesn't work, try following [the regular Windows instructions](#windows) below. +Otherwise, continue reading below for [the older Windows instructions](#windows). ## Windows @@ -55,7 +55,7 @@ cd /cygdrive/c/Users//Desktop Now you're ready to [build **pokecrystal**](#build-pokecrystal). -## Mac OS X +## macOS Install [**Homebrew**](https://brew.sh/). Follow the official instructions. diff --git a/audio/sfx.asm b/audio/sfx.asm index c97f41522b7..83dd5f6d6f1 100644 --- a/audio/sfx.asm +++ b/audio/sfx.asm @@ -468,6 +468,7 @@ Sfx_Unknown5F: channel 6, Sfx_Unknown5F_Ch6 Sfx_Sandstorm: channel 8, Sfx_Sandstorm_Ch8 + assert Sfx_Sandstorm_Ch8 == Sfx_Unknown5F_Ch8 Sfx_HangUp: channel_count 1 diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm index 8fa25b4bbb4..5b45c4b22be 100644 --- a/constants/engine_flags.asm +++ b/constants/engine_flags.asm @@ -15,7 +15,7 @@ const ENGINE_MOM_SAVING_MONEY const ENGINE_MOM_ACTIVE ; wUnusedTwoDayTimerOn - const ENGINE_0A + const ENGINE_UNUSED_TWO_DAY_TIMER_ON ; wStatusFlags const ENGINE_POKEDEX const ENGINE_UNOWN_DEX diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 850b33e859a..f4541e46f7e 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -136,9 +136,9 @@ const EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE const EVENT_TIN_TOWER_5F_HIDDEN_CARBOS const EVENT_BURNED_TOWER_1F_HIDDEN_ETHER - const_skip ; unused - const_skip ; unused - const_skip ; unused + const_skip ; unused in Crystal + const_skip ; unused in Crystal + const_skip ; unused in Crystal const EVENT_NATIONAL_PARK_HIDDEN_FULL_HEAL const EVENT_OLIVINE_LIGHTHOUSE_5F_HIDDEN_HYPER_POTION const EVENT_TEAM_ROCKET_BASE_B1F_HIDDEN_REVIVE @@ -281,11 +281,11 @@ const EVENT_GAVE_KURT_PNK_APRICORN ; Phone events const EVENT_JACK_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_HUEY_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_GOT_PROTEIN_FROM_HUEY const EVENT_GOT_HP_UP_FROM_JOEY const EVENT_GOT_CARBOS_FROM_VANCE @@ -293,55 +293,55 @@ const EVENT_GOT_CALCIUM_FROM_ERIN const EVENT_KENJI_ON_BREAK const EVENT_GAVEN_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_BETH_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_JOSE_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_REENA_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_JOEY_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_WADE_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_RALPH_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_LIZ_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_ANTHONY_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_TODD_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_GINA_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_IRWIN_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_ARNIE_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_ALAN_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const_skip ; unused const_skip ; unused const EVENT_DANA_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_CHAD_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_DEREK_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_TULLY_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_BRENT_ASKED_FOR_PHONE_NUMBER const_skip ; unused const EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_VANCE_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_WILTON_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_KENJI_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_PARRY_ASKED_FOR_PHONE_NUMBER - const_skip ; unused + const_skip ; unused in Crystal const EVENT_ERIN_ASKED_FOR_PHONE_NUMBER const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD const_skip ; unused @@ -1229,7 +1229,7 @@ const EVENT_COPYCAT_2 const EVENT_GOLDENROD_SALE_OFF const EVENT_GOLDENROD_SALE_ON - const_skip ; unused + const_skip ; unused in Crystal const EVENT_ILEX_FOREST_APPRENTICE const EVENT_ILEX_FOREST_CHARCOAL_MASTER const EVENT_CHARCOAL_KILN_FARFETCH_D diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index f1d53085b2b..5e7391458c3 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -21,6 +21,7 @@ SCREEN_META_WIDTH EQU 6 ; metatiles SCREEN_META_HEIGHT EQU 5 ; metatiles SURROUNDING_WIDTH EQU SCREEN_META_WIDTH * METATILE_WIDTH ; tiles SURROUNDING_HEIGHT EQU SCREEN_META_HEIGHT * METATILE_WIDTH ; tiles +MAP_CONNECTION_PADDING_WIDTH EQU 3 ; metatiles HP_BAR_LENGTH EQU 6 ; tiles EXP_BAR_LENGTH EQU 8 ; tiles diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm index ccdc0f849e1..9b562288ced 100644 --- a/constants/landmark_constants.asm +++ b/constants/landmark_constants.asm @@ -102,8 +102,9 @@ KANTO_LANDMARK EQU const_value const LANDMARK_FAST_SHIP ; 5f ; used in CaughtData -LANDMARK_GIFT EQU $7e -LANDMARK_EVENT EQU $7f + const_def $7f, -1 + const LANDMARK_EVENT ; $7f + const LANDMARK_GIFT ; $7e ; Regions const_def diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index edb9fc2e084..6f38f20c769 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -10,14 +10,14 @@ ; - PokemonPalettes (see data/pokemon/palettes.asm) ; - PokedexDataPointerTable (see data/pokemon/dex_entry_pointers.asm) ; - AlphabeticalPokedexOrder (see data/pokemon/dex_order_alpha.asm) -; - EZChat_SortedPokemon (see data/pokemon/ezchat_order.asm) ; - NewPokedexOrder (see data/pokemon/dex_order_new.asm) ; - Pokered_MonIndices (see data/pokemon/gen1_order.asm) +; - Footprints (see gfx/footprints.asm) ; - AnimationPointers (see gfx/pokemon/anim_pointers.asm) ; - AnimationIdlePointers (see gfx/pokemon/idle_pointers.asm) ; - BitmasksPointers (see gfx/pokemon/bitmask_pointers.asm) ; - FramesPointers (see gfx/pokemon/frame_pointers.asm) -; - Footprints (see gfx/footprints.asm) +; - EZChat_SortedPokemon (see data/pokemon/ezchat_order.asm) const_def 1 const BULBASAUR ; 01 const IVYSAUR ; 02 diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index b4156e17162..2b3d61e369b 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -84,11 +84,12 @@ LEFT_MASK EQU 1 << LEFT RIGHT_MASK EQU 1 << RIGHT ; wFacingDirection:: + const_def NUM_DIRECTIONS - 1, -1 + shift_const FACE_DOWN ; 8 + shift_const FACE_UP ; 4 + shift_const FACE_LEFT ; 2 + shift_const FACE_RIGHT ; 1 FACE_CURRENT EQU 0 -FACE_DOWN EQU 8 -FACE_UP EQU 4 -FACE_LEFT EQU 2 -FACE_RIGHT EQU 1 ; wPokemonWithdrawDepositParameter:: PC_WITHDRAW EQU 0 diff --git a/data/events/special_pointers.asm b/data/events/special_pointers.asm index 5d6b0a16eb8..e2814b87945 100644 --- a/data/events/special_pointers.asm +++ b/data/events/special_pointers.asm @@ -179,6 +179,7 @@ SpecialsPointers:: add_special AskRememberPassword add_special LoadMapPalettes add_special UnusedFindItemInPCOrBag + add_special InitialSetDSTFlag add_special InitialClearDSTFlag add_special UnusedDummySpecial ; unused diff --git a/data/player_names.asm b/data/player_names.asm index 6263cb8282b..d537af5dcf1 100644 --- a/data/player_names.asm +++ b/data/player_names.asm @@ -2,8 +2,8 @@ ChrisNameMenuHeader: db MENU_BACKUP_TILES ; flags menu_coords 0, 0, 10, TEXTBOX_Y - 1 dw .MaleNames - db 1 ; ???? - db 0 ; default option + db 1 ; default option + db 0 ; ???? .MaleNames: db STATICMENU_CURSOR | STATICMENU_PLACE_TITLE | STATICMENU_DISABLE_B ; flags @@ -21,8 +21,8 @@ KrisNameMenuHeader: db MENU_BACKUP_TILES ; flags menu_coords 0, 0, 10, TEXTBOX_Y - 1 dw .FemaleNames - db 1 ; ???? - db 0 ; default option + db 1 ; default option + db 0 ; ???? .FemaleNames: db STATICMENU_CURSOR | STATICMENU_PLACE_TITLE | STATICMENU_DISABLE_B ; flags diff --git a/data/text/battle.asm b/data/text/battle.asm index a9836df4f59..fc2e3a1cf00 100644 --- a/data/text/battle.asm +++ b/data/text/battle.asm @@ -1085,7 +1085,7 @@ BeatUpAttackText: line "attack!" done -RefusedGiftText: +PresentFailedText: text "" line "refused the gift!" prompt diff --git a/data/text/common_1.asm b/data/text/common_1.asm index a07617e2c0b..46cf48b40d7 100644 --- a/data/text/common_1.asm +++ b/data/text/common_1.asm @@ -1664,7 +1664,7 @@ _DayCareManIntroText:: cont "raise a #MON?" done -_DayCareManOddEggText:: +_DayCareManIntroEggText:: text "I'm the DAY-CARE" line "MAN. Do you know" cont "about EGGS?" @@ -1691,7 +1691,7 @@ _DayCareLadyIntroText:: line "#MON for you?" done -_DayCareLadyOddEggText:: +_DayCareLadyIntroEggText:: text "I'm the DAY-CARE" line "LADY. Do you know" cont "about EGGS?" diff --git a/engine/battle/move_effects/present.asm b/engine/battle/move_effects/present.asm index 8d7461fa1d8..6aa35acbf39 100644 --- a/engine/battle/move_effects/present.asm +++ b/engine/battle/move_effects/present.asm @@ -80,7 +80,7 @@ BattleCommand_Present: call _CheckBattleScene jr nc, .do_animation call AnimateFailedMove - ld hl, RefusedGiftText + ld hl, PresentFailedText call StdBattleTextbox .do_animation jp EndMoveEffect diff --git a/engine/events/daycare.asm b/engine/events/daycare.asm index 98de75212de..9393ebc936f 100644 --- a/engine/events/daycare.asm +++ b/engine/events/daycare.asm @@ -1,9 +1,9 @@ ; PrintDayCareText.TextTable indexes const_def const DAYCARETEXT_MAN_INTRO - const DAYCARETEXT_MAN_ODD_EGG + const DAYCARETEXT_MAN_INTRO_EGG const DAYCARETEXT_LADY_INTRO - const DAYCARETEXT_LADY_ODD_EGG + const DAYCARETEXT_LADY_INTRO_EGG const DAYCARETEXT_WHICH_ONE const DAYCARETEXT_DEPOSIT const DAYCARETEXT_CANT_BREED_EGG @@ -274,9 +274,9 @@ PrintDayCareText: .TextTable: ; entries correspond to DAYCARETEXT_* constants dw .DayCareManIntroText ; 00 - dw .DayCareManOddEggText ; 01 + dw .DayCareManIntroEggText ; 01 dw .DayCareLadyIntroText ; 02 - dw .DayCareLadyOddEggText ; 03 + dw .DayCareLadyIntroEggText ; 03 dw .WhatShouldIRaiseText ; 04 dw .IllRaiseYourMonText ; 05 dw .CantAcceptEggText ; 06 @@ -298,16 +298,16 @@ PrintDayCareText: text_far _DayCareManIntroText text_end -.DayCareManOddEggText: - text_far _DayCareManOddEggText +.DayCareManIntroEggText: + text_far _DayCareManIntroEggText text_end .DayCareLadyIntroText: text_far _DayCareLadyIntroText text_end -.DayCareLadyOddEggText: - text_far _DayCareLadyOddEggText +.DayCareLadyIntroEggText: + text_far _DayCareLadyIntroEggText text_end .WhatShouldIRaiseText: diff --git a/engine/overworld/warp_connection.asm b/engine/overworld/warp_connection.asm index a74f2015fe8..0b87de7223e 100644 --- a/engine/overworld/warp_connection.asm +++ b/engine/overworld/warp_connection.asm @@ -391,44 +391,42 @@ GetMapScreenCoords:: ld hl, wOverworldMapBlocks ld a, [wXCoord] bit 0, a - jr nz, .increment_then_halve1 + jr nz, .odd_x +; even x srl a - add $1 - jr .resume - -.increment_then_halve1 - add $1 + add 1 + jr .got_block_x +.odd_x + add 1 srl a - -.resume +.got_block_x ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [wMapWidth] - add $6 + add MAP_CONNECTION_PADDING_WIDTH * 2 ld c, a - ld b, $0 + ld b, 0 ld a, [wYCoord] bit 0, a - jr nz, .increment_then_halve2 + jr nz, .odd_y +; even y srl a - add $1 - jr .resume2 - -.increment_then_halve2 - add $1 + add 1 + jr .got_block_y +.odd_y + add 1 srl a - -.resume2 +.got_block_y call AddNTimes ld a, l ld [wOverworldMapAnchor], a ld a, h ld [wOverworldMapAnchor + 1], a ld a, [wYCoord] - and $1 + and 1 ld [wMetatileStandingY], a ld a, [wXCoord] - and $1 + and 1 ld [wMetatileStandingX], a ret diff --git a/home/game_time.asm b/home/game_time.asm index 1ae33cc476b..5a673241448 100644 --- a/home/game_time.asm +++ b/home/game_time.asm @@ -22,7 +22,7 @@ GameTimer:: ldh [rSVBK], a ret -.Function +.Function: ; Increment the game timer by one frame. ; The game timer is capped at 999:59:59.00. diff --git a/home/map.asm b/home/map.asm index 7bc67823d9b..e329f6b6e85 100644 --- a/home/map.asm +++ b/home/map.asm @@ -124,12 +124,12 @@ LoadMetatiles:: ld a, [wOverworldMapAnchor + 1] ld d, a ld hl, wSurroundingTiles - ld b, SURROUNDING_HEIGHT / METATILE_WIDTH ; 5 + ld b, SCREEN_META_HEIGHT .row push de push hl - ld c, SURROUNDING_WIDTH / METATILE_WIDTH ; 6 + ld c, SCREEN_META_WIDTH .col push de @@ -195,7 +195,7 @@ endr add hl, de pop de ld a, [wMapWidth] - add 6 + add MAP_CONNECTION_PADDING_WIDTH * 2 add e ld e, a jr nc, .ok2 diff --git a/home/menu.asm b/home/menu.asm index 41c39ede651..abbe45d7a97 100644 --- a/home/menu.asm +++ b/home/menu.asm @@ -257,6 +257,7 @@ MenuBoxCoord2Tile:: ld c, a ld a, [wMenuBorderTopCoord] ld b, a + ; fallthrough Coord2Tile:: ; Return the address of wTilemap(c, b) in hl. @@ -430,12 +431,12 @@ _YesNoBox:: ld hl, YesNoMenuHeader call CopyMenuHeader pop bc -; This seems to be an overflow prevention, but -; it was coded wrong. +; This seems to be an overflow prevention, +; but it was coded wrong. ld a, b - cp SCREEN_WIDTH - 6 + cp SCREEN_WIDTH - 1 - 5 jr nz, .okay ; should this be "jr nc"? - ld a, SCREEN_WIDTH - 6 + ld a, SCREEN_WIDTH - 1 - 5 ld b, a .okay diff --git a/macros/wram.asm b/macros/wram.asm index b7da3df19a6..1fd5e572f50 100644 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -108,7 +108,8 @@ box: MACRO \1MonOT:: ds NAME_LENGTH * MONS_PER_BOX \1MonNicknames:: ds MON_NAME_LENGTH * MONS_PER_BOX \1MonNicknamesEnd:: -\1End:: ds 2 ; padding +\1End:: + ds 2 ; padding ENDM map_connection_struct: MACRO diff --git a/main.asm b/main.asm index 324ef8ac29c..67523b44e9c 100644 --- a/main.asm +++ b/main.asm @@ -262,7 +262,7 @@ INCLUDE "data/pokemon/names.asm" INCLUDE "data/pokemon/unused_pic_banks.asm" UnusedEggPic:: -; Another egg pic. This is shifted up a few pixels. +; The G/S Egg pic. This is shifted up a few pixels. INCBIN "gfx/pokemon/egg/unused_front.2bpp.lz"