mirror of
https://github.com/blondie7575/GSCats.git
synced 2024-06-17 23:29:31 +00:00
Merged compile/span rendering working
This commit is contained in:
parent
4a8abaa1b4
commit
f0631386b1
|
@ -32,6 +32,8 @@ leftScreenEdge = $6E ; Reserved for leftScreenEdge (This is almost certainly m
|
||||||
STACKPTR = $70 ; Cache for stack pointer in fast graphics
|
STACKPTR = $70 ; Cache for stack pointer in fast graphics
|
||||||
SHADOWREGISTER = $72 ; Cache for shadow register in fast graphics
|
SHADOWREGISTER = $72 ; Cache for shadow register in fast graphics
|
||||||
STACKREGISTER = $73 ; Cache for stack register in fast graphics
|
STACKREGISTER = $73 ; Cache for stack register in fast graphics
|
||||||
|
lastCompiledTerrainY = $75 ; The highest Y value that the compiled renderer must handle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; Terrain constants
|
; Terrain constants
|
||||||
|
|
|
@ -30,12 +30,8 @@ beginGameplay:
|
||||||
stz leftScreenEdge
|
stz leftScreenEdge
|
||||||
jsr generateTerrain
|
jsr generateTerrain
|
||||||
|
|
||||||
jsr compileTerrain
|
|
||||||
; jsr clipTerrain
|
|
||||||
jsl renderTerrainSpans
|
|
||||||
|
|
||||||
; Create players
|
; Create players
|
||||||
lda #56
|
lda #106;#56
|
||||||
ldy #0
|
ldy #0
|
||||||
jsr playerCreate
|
jsr playerCreate
|
||||||
|
|
||||||
|
@ -50,18 +46,20 @@ beginGameplay:
|
||||||
jsr protectProjectiles
|
jsr protectProjectiles
|
||||||
jsr prepareRowRendering
|
jsr prepareRowRendering
|
||||||
|
|
||||||
|
jsr compileTerrain
|
||||||
|
jsr clipTerrain
|
||||||
|
|
||||||
gameplayLoop:
|
gameplayLoop:
|
||||||
|
|
||||||
jsr syncVBL
|
jsr syncVBL
|
||||||
BORDER_COLOR #$0
|
BORDER_COLOR #$0
|
||||||
|
|
||||||
; Render the terrain if needed
|
; Render the terrain if needed
|
||||||
; lda terrainDirty
|
lda terrainDirty
|
||||||
; beq gameplayLoopKbd
|
beq gameplayLoopKbd
|
||||||
BORDER_COLOR #$3
|
BORDER_COLOR #$3
|
||||||
jsl unrenderTerrainSpans
|
|
||||||
jsl renderTerrainSpans
|
jsl renderTerrainSpans
|
||||||
; jsr renderTerrain
|
jsr renderTerrain
|
||||||
|
|
||||||
stz terrainDirty
|
stz terrainDirty
|
||||||
BORDER_COLOR #$1
|
BORDER_COLOR #$1
|
||||||
|
@ -229,8 +227,8 @@ endGame:
|
||||||
; A = New map scroll position
|
; A = New map scroll position
|
||||||
;
|
;
|
||||||
scrollMap:
|
scrollMap:
|
||||||
; jsr unclipTerrain
|
jsr unclipTerrain
|
||||||
; jsl unrenderTerrainSpans
|
jsl unrenderTerrainSpans
|
||||||
jsr unrenderPlayers
|
jsr unrenderPlayers
|
||||||
jsr unrenderProjectiles
|
jsr unrenderProjectiles
|
||||||
|
|
||||||
|
@ -241,7 +239,7 @@ scrollMap:
|
||||||
adc #160-GAMEOBJECTWIDTH/4-1
|
adc #160-GAMEOBJECTWIDTH/4-1
|
||||||
sta rightScreenEdge
|
sta rightScreenEdge
|
||||||
|
|
||||||
; jsr clipTerrain
|
jsr clipTerrain
|
||||||
lda #$ffff
|
lda #$ffff
|
||||||
sta mapScrollRequested
|
sta mapScrollRequested
|
||||||
|
|
||||||
|
|
BIN
gscats.2mg
BIN
gscats.2mg
Binary file not shown.
11
terrain.s
11
terrain.s
|
@ -16,7 +16,7 @@ renderTerrain:
|
||||||
FASTGRAPHICS
|
FASTGRAPHICS
|
||||||
lda #0
|
lda #0
|
||||||
sta SCRATCHL2 ; Row counter
|
sta SCRATCHL2 ; Row counter
|
||||||
lda #$5f1f ; 4 Point stack to end of VRAM
|
lda #$5f1f ; 4 Point stack to end of affected VRAM
|
||||||
tcs ; 2
|
tcs ; 2
|
||||||
|
|
||||||
sec
|
sec
|
||||||
|
@ -44,8 +44,11 @@ renderRowComplete:
|
||||||
|
|
||||||
lda SCRATCHL2
|
lda SCRATCHL2
|
||||||
inc
|
inc
|
||||||
cmp #MAXTERRAINHEIGHT
|
cmp lastCompiledTerrainY
|
||||||
beq renderTerrainDone
|
beq renderRowCont
|
||||||
|
bcs renderTerrainDone
|
||||||
|
|
||||||
|
renderRowCont:
|
||||||
sta SCRATCHL2
|
sta SCRATCHL2
|
||||||
bra renderTerrainLoop
|
bra renderTerrainLoop
|
||||||
|
|
||||||
|
@ -387,6 +390,7 @@ prepareRowRendering:
|
||||||
|
|
||||||
ldx #199
|
ldx #199
|
||||||
stz SCRATCHL2
|
stz SCRATCHL2
|
||||||
|
stz lastCompiledTerrainY
|
||||||
|
|
||||||
prepareRowRenderingLoop:
|
prepareRowRenderingLoop:
|
||||||
lda #0
|
lda #0
|
||||||
|
@ -404,6 +408,7 @@ prepareRowRenderingLoop:
|
||||||
|
|
||||||
prepareRowRenderingCompileMode:
|
prepareRowRenderingCompileMode:
|
||||||
jsr disableFillMode
|
jsr disableFillMode
|
||||||
|
inc lastCompiledTerrainY
|
||||||
|
|
||||||
prepareRowRenderingLoopNext:
|
prepareRowRenderingLoopNext:
|
||||||
inc SCRATCHL2
|
inc SCRATCHL2
|
||||||
|
|
|
@ -29,6 +29,8 @@ renderTerrainSpans:
|
||||||
tcs
|
tcs
|
||||||
|
|
||||||
lda #MAXTERRAINHEIGHT-1
|
lda #MAXTERRAINHEIGHT-1
|
||||||
|
sec
|
||||||
|
sbc lastCompiledTerrainY
|
||||||
|
|
||||||
renderTerrainSpansLoop:
|
renderTerrainSpansLoop:
|
||||||
sta PARAML1
|
sta PARAML1
|
||||||
|
|
Loading…
Reference in New Issue
Block a user