Fix kodongo ai slightly better.

Introduce a flag for the FixPrizeOnTheEyes bug
This commit is contained in:
aerinon
2023-03-30 15:00:39 -06:00
parent 0f541ad069
commit 67f22ab602
6 changed files with 32 additions and 20 deletions

View File

@@ -40,9 +40,9 @@ FixShopCode:
+ rtl
VitreousKeyReset:
lda.l DRMode : beq +
stz $0cba, x
+ JML $0db818 ;restore old code
LDA.l FixPrizeOnTheEyes : BEQ +
STZ.w $0CBA, X
+ JML $0DB818 ;restore old code - SpritePrep_LoadProperties
GuruguruFix:
lda $a0 : cmp #$df : !bge +
@@ -62,7 +62,7 @@ SuctionOverworldFix:
stz $49
+ rtl
!CutoffTable = "$27E000"
!CutoffTable = "$A7E000"
CutoffEntranceRug:
PHA : PHX

View File

@@ -10,8 +10,6 @@ incsrc hooks/bosses_hooks.asm
incsrc hooks/moldorm_hooks.asm
incsrc hooks/kodongo_hooks.asm
incsrc hooks/mimic_hooks.asm
incsrc hooks/damage_hooks.asm

View File

@@ -1,3 +0,0 @@
org $1EC147
JSL NewKodongoCollision
NOP #$05

View File

@@ -1,9 +1,18 @@
pushpc
org $9EC147
JSL NewKodongoCollision
NOP #$05
org $9EC152
Kodongo_SetDirection:
pullpc
NewKodongoCollision:
{
LDA $0DE0, X : INC A : AND.b #$03 : STA $0DE0, X
;If they collide more than 32time then kill them !
LDA $0DA0, X : INC A : STA $0DA0, X : CMP #$20 : BCC .continue
STZ $0DD0, X
;If they collide more than 4 times just set direction
LDA $0DA0, X : INC A : STA $0DA0, X : CMP #$04 : BCC .continue
PLA : PLA : PEA.w Kodongo_SetDirection-1
.continue
RTL
}
RTL

View File

@@ -32,9 +32,9 @@ incsrc DMA.asm
org $B68000 ; the original org is 368000 and B6 is the same bank but fastrom
EnemizerTablesStart:
incsrc enemizer_info_table.asm
incsrc enemizerflags.asm
incsrc bushes_table.asm
incsrc enemizer_info_table.asm ; B68000-B680FF
incsrc enemizerflags.asm ; B68100-B6811F
incsrc bushes_table.asm ; B68120-B6373
EnemizerCodeStart:
incsrc bushes.asm
@@ -46,7 +46,7 @@ incsrc bossdrop.asm
incsrc moldorm.asm
incsrc kodongo_fixes.asm
incsrc mimic_fixes.asm
; todo: vitreous key fix for boss shuffle
; vitreous key fix for boss shuffle - uses FixPrizeOnTheEyes flag
incsrc overworld_sprites.asm
incsrc underworld_sprites.asm

View File

@@ -1079,8 +1079,16 @@ db $00, $00, $00
org $308358
AllowAccidentalMajorGlitch:
db $00
; left a byte buffer here
;--------------------------------------------------------------------------------
; $30835A (0x18035A) fixes the Prize On The Eyes glitch
; 0x00 - don't fix
; this should be turned on for Door Rando and Boss Shuffle
org $30835A
FixPrizeOnTheEyes:
db $00
;================================================================================
; 0x180359 - 0x1814FF (unused)
; 0x18035B - 0x1814FF (unused)
;================================================================================
; $309500 (0x181500) - $309FFF (0x181FFF) original 0x39C bytes
; Replacement Ending Sequence Text Data