shithub: pokecrystal

Download patch

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"