diff --git a/doorrando/overrides.asm b/doorrando/overrides.asm index 37c8913..a78baca 100644 --- a/doorrando/overrides.asm +++ b/doorrando/overrides.asm @@ -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 diff --git a/enemizer/hooks.asm b/enemizer/hooks.asm index ec87fe0..1499062 100644 --- a/enemizer/hooks.asm +++ b/enemizer/hooks.asm @@ -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 diff --git a/enemizer/hooks/kodongo_hooks.asm b/enemizer/hooks/kodongo_hooks.asm deleted file mode 100644 index 473018a..0000000 --- a/enemizer/hooks/kodongo_hooks.asm +++ /dev/null @@ -1,3 +0,0 @@ -org $1EC147 -JSL NewKodongoCollision -NOP #$05 diff --git a/enemizer/kodongo_fixes.asm b/enemizer/kodongo_fixes.asm index d25923e..4329503 100644 --- a/enemizer/kodongo_fixes.asm +++ b/enemizer/kodongo_fixes.asm @@ -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 -} \ No newline at end of file +RTL \ No newline at end of file diff --git a/enemizer/main.asm b/enemizer/main.asm index 1a8df13..ea861cd 100644 --- a/enemizer/main.asm +++ b/enemizer/main.asm @@ -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 diff --git a/tables.asm b/tables.asm index f71e4b8..7de86e5 100644 --- a/tables.asm +++ b/tables.asm @@ -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