ref: ba5bc304f959d2387b45b9320808797272cf958a
parent: 7883e8f431a0b8f995c8f581af248b53896e5aa5
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Thu Oct 29 19:23:57 EDT 2020
Updates to more closely sync with pokegold
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -19,9 +19,9 @@
(The Windows `C:\` drive is called `/mnt/c/` in WSL. Replace *\<user>* 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 @@
Now you're ready to [build **pokecrystal**](#build-pokecrystal).
-## Mac OS X
+## macOS
Install [**Homebrew**](https://brew.sh/). Follow the official instructions.
--- a/audio/sfx.asm
+++ b/audio/sfx.asm
@@ -468,6 +468,7 @@
channel 6, Sfx_Unknown5F_Ch6
Sfx_Sandstorm:
channel 8, Sfx_Sandstorm_Ch8
+ assert Sfx_Sandstorm_Ch8 == Sfx_Unknown5F_Ch8
Sfx_HangUp:
channel_count 1
--- 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
--- 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 in Crystal
const_skip ; unused
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
--- a/constants/gfx_constants.asm
+++ b/constants/gfx_constants.asm
@@ -21,6 +21,7 @@
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
--- a/constants/landmark_constants.asm
+++ b/constants/landmark_constants.asm
@@ -102,8 +102,9 @@
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
--- 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
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -84,11 +84,12 @@
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
--- a/data/events/special_pointers.asm
+++ b/data/events/special_pointers.asm
@@ -179,6 +179,7 @@
add_special AskRememberPassword
add_special LoadMapPalettes
add_special UnusedFindItemInPCOrBag
+
add_special InitialSetDSTFlag
add_special InitialClearDSTFlag
add_special UnusedDummySpecial ; unused
--- a/data/player_names.asm
+++ b/data/player_names.asm
@@ -2,8 +2,8 @@
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 @@
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
--- a/data/text/battle.asm
+++ b/data/text/battle.asm
@@ -1085,7 +1085,7 @@
line "attack!"
done
-RefusedGiftText:
+PresentFailedText:
text "<TARGET>"
line "refused the gift!"
prompt
--- a/data/text/common_1.asm
+++ b/data/text/common_1.asm
@@ -1664,7 +1664,7 @@
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 @@
line "#MON for you?"
done
-_DayCareLadyOddEggText::
+_DayCareLadyIntroEggText::
text "I'm the DAY-CARE"
line "LADY. Do you know"
cont "about EGGS?"
--- a/engine/battle/move_effects/present.asm
+++ b/engine/battle/move_effects/present.asm
@@ -80,7 +80,7 @@
call _CheckBattleScene
jr nc, .do_animation
call AnimateFailedMove
- ld hl, RefusedGiftText
+ ld hl, PresentFailedText
call StdBattleTextbox
.do_animation
jp EndMoveEffect
--- 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 @@
.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,8 +298,8 @@
text_far _DayCareManIntroText
text_end
-.DayCareManOddEggText:
- text_far _DayCareManOddEggText
+.DayCareManIntroEggText:
+ text_far _DayCareManIntroEggText
text_end
.DayCareLadyIntroText:
@@ -306,8 +306,8 @@
text_far _DayCareLadyIntroText
text_end
-.DayCareLadyOddEggText:
- text_far _DayCareLadyOddEggText
+.DayCareLadyIntroEggText:
+ text_far _DayCareLadyIntroEggText
text_end
.WhatShouldIRaiseText:
--- a/engine/overworld/warp_connection.asm
+++ b/engine/overworld/warp_connection.asm
@@ -391,35 +391,33 @@
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
@@ -426,9 +424,9 @@
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
--- a/home/game_time.asm
+++ b/home/game_time.asm
@@ -22,7 +22,7 @@
ldh [rSVBK], a
ret
-.Function
+.Function:
; Increment the game timer by one frame.
; The game timer is capped at 999:59:59.00.
--- a/home/map.asm
+++ b/home/map.asm
@@ -124,12 +124,12 @@
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 @@
add hl, de
pop de
ld a, [wMapWidth]
- add 6
+ add MAP_CONNECTION_PADDING_WIDTH * 2
add e
ld e, a
jr nc, .ok2
--- a/home/menu.asm
+++ b/home/menu.asm
@@ -257,6 +257,7 @@
ld c, a
ld a, [wMenuBorderTopCoord]
ld b, a
+ ; fallthrough
Coord2Tile::
; Return the address of wTilemap(c, b) in hl.
@@ -430,12 +431,12 @@
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
--- a/macros/wram.asm
+++ b/macros/wram.asm
@@ -108,7 +108,8 @@
\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
--- a/main.asm
+++ b/main.asm
@@ -262,7 +262,7 @@
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"