more fixes

This commit is contained in:
May Evans 2022-08-31 15:50:28 +01:00
parent a216a0f2e7
commit c1d2bc7678
11 changed files with 36 additions and 18 deletions

View file

@ -9,7 +9,7 @@ QoL Enhancements
Bug Fixes Bug Fixes
==== ====
May non-multiplayer, non-battle related bugs have been fixed. The aforementioned have been preserved for the RBY battle experience. Bugs that are fixed are ones that objectively hurt the gameplay experience. May non-multiplayer, non-battle related bugs have been fixed. The aforementioned have been preserved for the RBY battle experience. Bugs that are fixed are ones that objectively hurt the gameplay experience. Much of this can be attributed to [the tutorials](https://github.com/pret/pokered/wiki/Bugs-and-Glitches) made by the good people at pret.
- Blaine is no longer addicted to Super Potions. - Blaine is no longer addicted to Super Potions.
- CoolTrainerF no longer switches a lot. - CoolTrainerF no longer switches a lot.
- Transformed Pokemon aren't presumed to be Dittos! (very important given Animon) - Transformed Pokemon aren't presumed to be Dittos! (very important given Animon)
@ -20,7 +20,7 @@ May non-multiplayer, non-battle related bugs have been fixed. The aforementioned
- The Item Finder will correctly find items at X/Y 0.0 - The Item Finder will correctly find items at X/Y 0.0
- Glitch Pokémon will no longer corrupt the Hall of Fame. - Glitch Pokémon will no longer corrupt the Hall of Fame.
- Strength smoke puffs now show properly. - Strength smoke puffs now show properly.
- Game Corner slots no longer load too many tiles; the lucky machine stops when it should if there's a 7, few other objective issues. Also, the 40-coin hidden item is fixed. - Game Corner slots no longer load too many tiles; the lucky machine stops when it should if there's a 7, few other objective issues. Also, the 40-coin hidden item is fixed, and there can always be a lucky machine.
- 2 invisible stars that show on the title screen are cut off; also, the "presents" logo from RG is re-used! - 2 invisible stars that show on the title screen are cut off; also, the "presents" logo from RG is re-used!
- The healing machine animates correctly! - The healing machine animates correctly!
- Using Minimize or Substitute, looking at the Pokedex, and then battling won't cause sprite corruption. - Using Minimize or Substitute, looking at the Pokedex, and then battling won't cause sprite corruption.
@ -28,6 +28,12 @@ May non-multiplayer, non-battle related bugs have been fixed. The aforementioned
- Trainer Card transition no longer shows weird garbage on DMGs; this was due to not having enough time to load properly. - Trainer Card transition no longer shows weird garbage on DMGs; this was due to not having enough time to load properly.
- Battle victory music plays at the right time; there were some situations where it would happen when you lost. - Battle victory music plays at the right time; there were some situations where it would happen when you lost.
- Music in Oak's Lab is delayed a frame so it always plays with the correct channels; V-Blank could otherwise interrupt it. - Music in Oak's Lab is delayed a frame so it always plays with the correct channels; V-Blank could otherwise interrupt it.
- The hidden item sfx no longer gets cut off sometimes
- The audio engine no longer borrows from the high bytes of the wrong frequency.
- Oak no longer has his line overwrite itself when giving Poke Balls.
- Player correctly faces the Route 8 guard when stopped.
- Weird behaviour when going to 11F in Silph Co. and forcing a player to leave despite not moving is fixed.
- Fixed weirdness in Pokemon Tower where saving Mr. Fuji won't immediately let you leave. Also fixed coord termination on 2F which could cause some terribleness.
and more! and more!
Credits Credits

View file

@ -1190,13 +1190,13 @@ Audio1_InitPitchSlideVars:
; This means that the result will be 0x200 greater than it should be if the ; This means that the result will be 0x200 greater than it should be if the
; low byte of the current frequency is greater than the low byte of the ; low byte of the current frequency is greater than the low byte of the
; target frequency. ; target frequency.
ld a, d ; kep fixes this - PvK
sbc b push af
ld d, a
ld hl, wChannelPitchSlideTargetFrequencyHighBytes ld hl, wChannelPitchSlideTargetFrequencyHighBytes
add hl, bc add hl, bc
pop af
ld a, [hl] ld a, [hl]
sbc b
sub d sub d
ld d, a ld d, a
ld b, 0 ld b, 0

View file

@ -1253,13 +1253,13 @@ Audio2_InitPitchSlideVars:
; This means that the result will be 0x200 greater than it should be if the ; This means that the result will be 0x200 greater than it should be if the
; low byte of the current frequency is greater than the low byte of the ; low byte of the current frequency is greater than the low byte of the
; target frequency. ; target frequency.
ld a, d ; kep fixes this - PvK
sbc b push af
ld d, a
ld hl, wChannelPitchSlideTargetFrequencyHighBytes ld hl, wChannelPitchSlideTargetFrequencyHighBytes
add hl, bc add hl, bc
pop af
ld a, [hl] ld a, [hl]
sbc b
sub d sub d
ld d, a ld d, a
ld b, 0 ld b, 0

View file

@ -1190,13 +1190,13 @@ Audio3_InitPitchSlideVars:
; This means that the result will be 0x200 greater than it should be if the ; This means that the result will be 0x200 greater than it should be if the
; low byte of the current frequency is greater than the low byte of the ; low byte of the current frequency is greater than the low byte of the
; target frequency. ; target frequency.
ld a, d ; kep fixes this - PvK
sbc b push af
ld d, a
ld hl, wChannelPitchSlideTargetFrequencyHighBytes ld hl, wChannelPitchSlideTargetFrequencyHighBytes
add hl, bc add hl, bc
pop af
ld a, [hl] ld a, [hl]
sbc b
sub d sub d
ld d, a ld d, a
ld b, 0 ld b, 0

View file

@ -12,6 +12,7 @@ DoorTileIDPointers:
dbw LAB, .LabDoorTileIDs dbw LAB, .LabDoorTileIDs
dbw FACILITY, .FacilityDoorTileIDs dbw FACILITY, .FacilityDoorTileIDs
dbw PLATEAU, .PlateauDoorTileIDs dbw PLATEAU, .PlateauDoorTileIDs
dbw INTERIOR, .InteriorDoorTileIDs ; fixes weirdness in silph co.
db -1 ; end db -1 ; end
MACRO door_tiles MACRO door_tiles
@ -53,3 +54,6 @@ ENDM
.PlateauDoorTileIDs: .PlateauDoorTileIDs:
door_tiles $3b, $1b door_tiles $3b, $1b
.InteriorDoorTileIDs:
door_tiles $04, $15

View file

@ -33,9 +33,15 @@ FoundHiddenItemText::
ld c, a ld c, a
ld b, FLAG_SET ld b, FLAG_SET
predef FlagActionPredef predef FlagActionPredef
ld a, [wAudioFadeOutControl] ; this stops it from getting cut off - PvK
push af
xor a
ld [wAudioFadeOutControl], a
ld a, SFX_GET_ITEM_2 ld a, SFX_GET_ITEM_2
call PlaySoundWaitForCurrent call PlaySoundWaitForCurrent
call WaitForSoundToFinish call WaitForSoundToFinish
pop af
ld [wAudioFadeOutControl], a
jp TextScriptEnd jp TextScriptEnd
.bagFull .bagFull
call WaitForTextScrollButtonPress ; wait for button press call WaitForTextScrollButtonPress ; wait for button press

View file

@ -15,7 +15,7 @@ CeladonGameCornerScript_48bcf:
ldh a, [hRandomAdd] ldh a, [hRandomAdd]
cp $7 cp $7
jr nc, .asm_48be2 jr nc, .asm_48be2
ld a, $8 ld a, $7 ; no longer makes the lucky machine a nonexistent one
.asm_48be2 .asm_48be2
srl a srl a
srl a srl a

View file

@ -60,7 +60,7 @@ ENDC
CoordsData_6055e: CoordsData_6055e:
dbmapcoord 15, 5 dbmapcoord 15, 5
dbmapcoord 14, 6 dbmapcoord 14, 6
db $0F ; end? (should be $ff?) db -1 ; fixes coord termination which can have adverse effects
PokemonTower2Script1: PokemonTower2Script1:
ld a, [wIsInBattle] ld a, [wIsInBattle]

View file

@ -77,6 +77,8 @@ PokemonTower7Script4:
ld [wDestinationWarpID], a ld [wDestinationWarpID], a
ld a, LAVENDER_TOWN ld a, LAVENDER_TOWN
ld [wLastMap], a ld [wLastMap], a
ld hl, wd736
set 2, [hl] ; fixes some weirdness when saving fuji - PvK
ld hl, wd72d ld hl, wd72d
set 3, [hl] set 3, [hl]
ld a, $0 ld a, $0

View file

@ -27,7 +27,7 @@ Route8GateScript0:
ld hl, CoordsData_1e22c ld hl, CoordsData_1e22c
call ArePlayerCoordsInArray call ArePlayerCoordsInArray
ret nc ret nc
ld a, PLAYER_DIR_LEFT ld a, PLAYER_DIR_UP ; fix - PvK
ld [wPlayerMovingDirection], a ld [wPlayerMovingDirection], a
xor a xor a
ldh [hJoyHeld], a ldh [hJoyHeld], a

View file

@ -137,7 +137,7 @@ _OaksLabGivePokeballsText2::
para "Just throw a #" para "Just throw a #"
line "BALL at it and try" line "BALL at it and try"
line "to catch it!" cont "to catch it!" ; this prevents the text overwriting weirdness
para "This won't always" para "This won't always"
line "work, though." line "work, though."