mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-10-15 19:54:24 +13:00
lots of bug fixes
added a log for them in the readme
This commit is contained in:
parent
7c6bbb630f
commit
648289d4a9
28
README.md
28
README.md
|
@ -2,6 +2,30 @@ Kanto Expansion Pak
|
|||
===================
|
||||
This is a ROM Hack of Pokémon Red and Blue, aiming to expand the dex with
|
||||
|
||||
QoL Enhancements
|
||||
====
|
||||
- PC added to Celadon Hotel where the event usually is. Why not?
|
||||
- Artificial Save Delay has been removed.
|
||||
|
||||
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.
|
||||
- Blaine is no longer addicted to Super Potions.
|
||||
- CoolTrainerF no longer switches a lot.
|
||||
- Transformed Pokemon aren't presumed to be Dittos! (very important given Animon)
|
||||
- Status curing items don't remove modifiers anymore.
|
||||
- Learning new moves plays the sound in the correct bank.
|
||||
- Falling through a hole on a bike now properly resets the music, as you fall off a bike when going down.
|
||||
- Using an Escape Rope no longer shows weird characters on DMG and spins correctly on DMG.
|
||||
- The Item Finder will correctly find items at X/Y 0.0
|
||||
- Glitch Pokémon will no longer corrupt the Hall of Fame.
|
||||
- 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.
|
||||
- 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!
|
||||
- Using Minimize or Substitute, looking at the Pokedex, and then battling won't cause sprite corruption.
|
||||
and more!
|
||||
|
||||
Credits
|
||||
====
|
||||
* Plague von Karma - Creator of the Showdown Mod, Developer
|
||||
|
@ -11,11 +35,11 @@ Credits
|
|||
* Paulluxx - Showdown Mod assistance
|
||||
* DuoM2 - Showdown Mod assistance
|
||||
* Albatross - Much of the new sprites used in the hack
|
||||
* ZumiIsawhat? - Restorations of beta OST
|
||||
* Helix Chamber, RacieBeep, et al - Prototype Pokémon sprites
|
||||
* pret et al - Pokémon Red and Blue Disassembly Project
|
||||
* pret et al - Pokémon Red and Blue Disassembly Project, many tutorials helped us!
|
||||
|
||||
Original README.md proceeding;
|
||||
====
|
||||
# Pokémon Red and Blue [![Build Status][ci-badge]][ci]
|
||||
|
||||
This is a disassembly of Pokémon Red and Blue.
|
||||
|
|
|
@ -1339,8 +1339,7 @@ AdjustOAMBlockYPos2:
|
|||
add b
|
||||
cp 112
|
||||
jr c, .skipSettingPreviousEntrysAttribute
|
||||
dec hl
|
||||
ld a, 160 ; bug, sets previous OAM entry's attribute
|
||||
ld a, 160 ; fixes the smoke puff bug - PvK
|
||||
ld [hli], a
|
||||
.skipSettingPreviousEntrysAttribute
|
||||
ld [hl], a
|
||||
|
|
|
@ -2375,6 +2375,8 @@ PartyMenuOrRockOrRun:
|
|||
predef StatusScreen
|
||||
predef StatusScreen2
|
||||
; now we need to reload the enemy mon pic
|
||||
ld a, 1
|
||||
ldh [hWhoseTurn], a
|
||||
ld a, [wEnemyBattleStatus2]
|
||||
bit HAS_SUBSTITUTE_UP, a ; does the enemy mon have a substitute?
|
||||
ld hl, AnimationSubstitute
|
||||
|
|
|
@ -77,7 +77,7 @@ HiddenCoins:
|
|||
cp 20
|
||||
jr z, .bcd20
|
||||
cp 40
|
||||
jr z, .bcd20 ; should be bcd40
|
||||
jr z, .bcd40 ; fixes the 40 coin stash thing - PvK
|
||||
jr .bcd100
|
||||
.bcd10
|
||||
ld a, $10
|
||||
|
@ -87,7 +87,7 @@ HiddenCoins:
|
|||
ld a, $20
|
||||
ldh [hCoins + 1], a
|
||||
jr .bcdDone
|
||||
.bcd40 ; due to a typo, this is never used
|
||||
.bcd40
|
||||
ld a, $40
|
||||
ldh [hCoins + 1], a
|
||||
jr .bcdDone
|
||||
|
|
|
@ -27,7 +27,9 @@ HiddenItemNear:
|
|||
ld a, [wYCoord]
|
||||
call Sub5ClampTo0
|
||||
cp d
|
||||
jr z, .y_zflag ; starts to fix the y/x coord 0 no find bug - PvK
|
||||
jr nc, .loop
|
||||
y_zflag
|
||||
ld a, [wYCoord]
|
||||
add 4
|
||||
cp d
|
||||
|
@ -35,7 +37,9 @@ HiddenItemNear:
|
|||
ld a, [wXCoord]
|
||||
call Sub5ClampTo0
|
||||
cp e
|
||||
jr z, .x_zflag
|
||||
jr nc, .loop
|
||||
.x_zflag
|
||||
ld a, [wXCoord]
|
||||
add 5
|
||||
cp e
|
||||
|
@ -45,7 +49,7 @@ HiddenItemNear:
|
|||
|
||||
Sub5ClampTo0:
|
||||
; subtract 5 but clamp to 0
|
||||
sub 5
|
||||
sub 4
|
||||
cp $f0
|
||||
ret c
|
||||
xor a
|
||||
|
|
|
@ -326,9 +326,7 @@ DisplayNamingScreen:
|
|||
LoadEDTile:
|
||||
ld de, ED_Tile
|
||||
ld hl, vFont tile $70
|
||||
ld bc, (ED_TileEnd - ED_Tile) / $8
|
||||
; to fix the graphical bug on poor emulators
|
||||
;lb bc, BANK(ED_Tile), (ED_TileEnd - ED_Tile) / $8
|
||||
lb bc, BANK(ED_Tile), (ED_TileEnd - ED_Tile) / $8 ; bad emulators work fine w/ this
|
||||
jp CopyVideoDataDouble
|
||||
|
||||
ED_Tile:
|
||||
|
|
|
@ -124,7 +124,7 @@ AnimateShootingStar:
|
|||
ld a, [wMoveDownSmallStarsOAMCount]
|
||||
cp 24
|
||||
jr z, .next2
|
||||
add 6 ; should be 4, but the extra 2 aren't visible on screen
|
||||
add 4 ; fixes the invisible extra 2 stars that can take up ram
|
||||
ld [wMoveDownSmallStarsOAMCount], a
|
||||
.next2
|
||||
call MoveDownSmallStars
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
AnimateHealingMachine:
|
||||
ld de, PokeCenterFlashingMonitorAndHealBall
|
||||
ld hl, vChars0 tile $7c
|
||||
lb bc, BANK(PokeCenterFlashingMonitorAndHealBall), 3 ; should be 2
|
||||
lb bc, BANK(PokeCenterFlashingMonitorAndHealBall), 2 ; fixed from 3 - PvK
|
||||
call CopyVideoData
|
||||
ld hl, wUpdateSpritesEnabled
|
||||
ld a, [hl]
|
||||
|
|
|
@ -88,6 +88,7 @@ PlayerSpinWhileMovingDown:
|
|||
ld [hli], a ; wPlayerSpinWhileMovingUpOrDownAnimMaxY
|
||||
call GetPlayerTeleportAnimFrameDelay
|
||||
ld [hl], a ; wPlayerSpinWhileMovingUpOrDownAnimFrameDelay
|
||||
ld hl, wFacingDirectionList ; this fixes the jp characters on dmg/sgb - PvK
|
||||
jp PlayerSpinWhileMovingUpOrDown
|
||||
|
||||
_LeaveMapAnim::
|
||||
|
@ -108,6 +109,7 @@ _LeaveMapAnim::
|
|||
ld [hli], a ; wPlayerSpinWhileMovingUpOrDownAnimMaxY
|
||||
call GetPlayerTeleportAnimFrameDelay
|
||||
ld [hl], a ; wPlayerSpinWhileMovingUpOrDownAnimFrameDelay
|
||||
ld hl, wFacingDirectionList ; this fixes the thing too - PvK
|
||||
call PlayerSpinWhileMovingUpOrDown
|
||||
call IsPlayerStandingOnWarpPadOrHole
|
||||
ld a, b
|
||||
|
@ -202,6 +204,9 @@ FlyAnimationScreenCoords2:
|
|||
db $F0, $00
|
||||
|
||||
LeaveMapThroughHoleAnim:
|
||||
ld a, [wLastMusicSoundID]
|
||||
cp MUSIC_BIKE_RIDING
|
||||
call z, PlayDefaultMusic ; this fixes the bike music persisting - PvK
|
||||
ld a, $ff
|
||||
ld [wUpdateSpritesEnabled], a ; disable UpdateSprites
|
||||
; shift upper half of player's sprite down 8 pixels and hide lower half
|
||||
|
|
|
@ -304,7 +304,7 @@ SlotMachine_StopWheel1Early:
|
|||
.loop
|
||||
ld a, [hli]
|
||||
cp HIGH(SLOTS7)
|
||||
jr c, .stopWheel ; condition never true
|
||||
jr z, .stopWheel ; now works properly - PvK
|
||||
dec c
|
||||
jr nz, .loop
|
||||
ret
|
||||
|
@ -329,9 +329,13 @@ SlotMachine_StopWheel2Early:
|
|||
; player's odds.
|
||||
.sevenAndBarMode
|
||||
call SlotMachine_FindWheel1Wheel2Matches
|
||||
ret nz
|
||||
ld a, [de]
|
||||
cp HIGH(SLOTSBAR) + 1
|
||||
ret nc
|
||||
jr c, .stopWheel
|
||||
ld a, [wSlotMachineFlags]
|
||||
bit 6, a
|
||||
ret z
|
||||
.stopWheel
|
||||
xor a
|
||||
ld [wSlotMachineWheel2SlipCounter], a
|
||||
|
@ -850,7 +854,7 @@ LoadSlotMachineTiles:
|
|||
call DisableLCD
|
||||
ld hl, SlotMachineTiles2
|
||||
ld de, vChars0
|
||||
ld bc, $1c tiles ; should be SlotMachineTiles2End - SlotMachineTiles2, or $18 tiles
|
||||
ld bc, SlotMachineTiles2End - SlotMachineTiles2 ; fixes loading too many tiles - PvK
|
||||
ld a, BANK(SlotMachineTiles2)
|
||||
call FarCopyData2
|
||||
ld hl, SlotMachineTiles1
|
||||
|
@ -860,7 +864,7 @@ LoadSlotMachineTiles:
|
|||
call FarCopyData2
|
||||
ld hl, SlotMachineTiles2
|
||||
ld de, vChars2 tile $25
|
||||
ld bc, $1c tiles ; should be SlotMachineTiles2End - SlotMachineTiles2, or $18 tiles
|
||||
ld bc, SlotMachineTiles2End - SlotMachineTiles2
|
||||
ld a, BANK(SlotMachineTiles2)
|
||||
call FarCopyData2
|
||||
ld hl, SlotMachineMap
|
||||
|
|
|
@ -34,14 +34,20 @@ _UncompressSpriteData::
|
|||
ld [wSpriteLoadFlags], a
|
||||
call ReadNextInputByte ; first byte of input determines sprite width (high nybble) and height (low nybble) in tiles (8x8 pixels)
|
||||
ld b, a
|
||||
and $f
|
||||
and $7 ; this stops the hall of fame from being corrupted by missingno. - PvK
|
||||
jr nz, .skip1
|
||||
inc a
|
||||
.skip1
|
||||
add a
|
||||
add a
|
||||
add a
|
||||
ld [wSpriteHeight], a
|
||||
ld a, b
|
||||
swap a
|
||||
and $f
|
||||
and $7
|
||||
jr nz, .skip2
|
||||
inc a
|
||||
.skip2
|
||||
add a
|
||||
add a
|
||||
add a
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
|
||||
#
|
||||
|
Loading…
Reference in a new issue