@@ -353,10 +353,13 @@ draw_enemy_hitbox:
353353 LDY !OAM_STACK_POINTER ; Y = OAM stack pointer
354354
355355 .loopEnemies
356- ; skip enemy if extended spritemap or deleted enemy
357- LDA !ENEMY_EXTRA_PROPERTIES,X : AND #$0004 : BNE .skipEnemy
356+ ; skip enemy if deleted
358357 LDA !ENEMY_PROPERTIES,X : AND #$0200 : BNE .skipEnemy
358+ ; skip enemy if extended spritemap and not frozen
359+ LDA !ENEMY_FROZEN_TIMER,X : BNE .checkOffscreen
360+ LDA !ENEMY_EXTRA_PROPERTIES,X : AND #$0004 : BNE .skipEnemy
359361
362+ .checkOffscreen
360363 ; skip enemy if off-screen
361364 LDA !ENEMY_X,X : CLC : ADC !ENEMY_X_RADIUS,X
362365 CMP !LAYER1_X : BMI .skipEnemy
@@ -425,7 +428,10 @@ draw_ext_spritemap_hitbox:
425428 LDY !OAM_STACK_POINTER ; Y = OAM stack pointer
426429
427430 .loopEnemies
428- ; check if extended spritemap
431+ ; skip enemy if deleted
432+ LDA !ENEMY_PROPERTIES,X : AND #$0200 : BNE .nextEnemy
433+ ; check if extended spritemap and not frozen
434+ LDA !ENEMY_FROZEN_TIMER,X : BNE .nextEnemy
429435 LDA !ENEMY_EXTRA_PROPERTIES,X : AND #$0004 : BNE .extended
430436
431437 .nextEnemy
0 commit comments