From 0634837dbc1298c8f65b89c977107fb7db2f7111 Mon Sep 17 00:00:00 2001 From: blondie7575 Date: Sat, 23 Dec 2023 10:33:24 -0700 Subject: [PATCH] Fixed player render glitch related to scrolling --- gamemanager.s | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/gamemanager.s b/gamemanager.s index de70aee..823418b 100644 --- a/gamemanager.s +++ b/gamemanager.s @@ -35,8 +35,6 @@ beginGameplay: ldy #0 jsr renderPlayerHeader - jsr protectPlayers - jsr protectProjectiles jsr prepareRowRendering jsr compileTerrain @@ -44,6 +42,7 @@ beginGameplay: jsr renderTerrain jsr renderInventory + jsr protectPlayers jsr renderPlayers ; Fade in from menu @@ -153,6 +152,12 @@ gameplayLoopRender: stz terrainDirty ; Render players + lda playersDirty ; Check if terrain moved since last protect + beq gameplayLoopRenderPlayersAnyway + jsr unrenderPlayers + jsr protectPlayers + +gameplayLoopRenderPlayersAnyway: jsr renderPlayers gameplayLoopExplosions: @@ -348,14 +353,10 @@ scrollMapApplyScrolling: lda #$ffff sta mapScrollRequested - jsr protectPlayers - jsr protectProjectiles - jsr renderPlayers - jsr renderProjectiles ; Prevents flicker, but ads jitter to shot tracking - lda #1 + sta playersDirty + sta projectilesDirty sta terrainDirty - stz projectilesDirty rts @@ -482,6 +483,8 @@ playerMoveRequested: .word $0000 terrainDirty: .word 1 +playersDirty: + .word 0 projectilesDirty: .word 1 inventoryDirty: