mirror of
https://github.com/lscharen/iigs-game-engine.git
synced 2024-11-22 11:34:14 +00:00
Enable non-sprite, solid dynamic tiles
This commit is contained in:
parent
bab57f6e43
commit
596777da8d
@ -184,7 +184,7 @@ App_TileMapBG0
|
||||
dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0005,$0006,$0005,$0006,$0005,$0006,$0005,$0006,$0005,$0006,$0005,$0006,$0005,$0006,$0021,$0021,$0021,$0021
|
||||
dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0009,$000a,$0021,$0021,$0021,$0021,$0021,$0021,$001f,$0020,$0018,$0019,$0018,$0019,$0018,$0019,$001f,$0020,$0021,$0021
|
||||
|
||||
dw $0021,$0021,$0021,$0021,$0031,$0032,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021
|
||||
dw $0801,$0801,$0021,$0021,$0031,$0032,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021
|
||||
dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$000f,$0010,$0011,$0012,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0013,$0014,$0015,$0016,$0021,$0021,$0021,$0021,$0031,$0032,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0013,$0014,$0015,$0016,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021
|
||||
dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021
|
||||
dw $0021,$0021,$0021,$0021,$0031,$0032,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021
|
||||
@ -192,7 +192,7 @@ App_TileMapBG0
|
||||
dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0007,$0008,$0007,$0008,$0007,$0008,$0007,$0008,$0007,$0008,$0007,$0008,$0007,$0008,$0021,$0021,$0021,$0021
|
||||
dw $0021,$0021,$0021,$0021,$0031,$0032,$0021,$0021,$0021,$0021,$0021,$0021,$0009,$000a,$0021,$0021,$0021,$0021,$0021,$0021,$001a,$001a,$001a,$001a,$0039,$003a,$001a,$001a,$001a,$001a,$0021,$0021
|
||||
|
||||
dw $0021,$0021,$0021,$0030,$0015,$0036,$0033,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$000b,$000c,$000d,$000e,$0021,$0021,$0021,$0021
|
||||
dw $0801,$0801,$0021,$0030,$0015,$0036,$0033,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$000b,$000c,$000d,$000e,$0021,$0021,$0021,$0021
|
||||
dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0013,$0014,$0015,$0016,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0013,$0014,$0015,$0016,$0021,$0021,$0021,$0030,$0015,$0036,$0033,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0013,$0014,$0015,$0016,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021
|
||||
dw $0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021
|
||||
dw $0021,$0021,$0021,$0030,$0015,$0036,$0033,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021,$0021
|
||||
|
@ -404,7 +404,7 @@ ReadControl ENT
|
||||
put blitter/Template.s
|
||||
put blitter/Tiles.s
|
||||
put blitter/Tiles00000.s
|
||||
; put blitter/Tiles00001.s
|
||||
put blitter/Tiles00001.s
|
||||
; put blitter/Tiles00010.s
|
||||
; put blitter/Tiles00011.s
|
||||
put blitter/Tiles10000.s
|
||||
|
@ -133,7 +133,7 @@ _RenderTile2
|
||||
rep #$20
|
||||
lda TileStore+TS_CODE_ADDR_LOW,y ; load the address of the code field
|
||||
pha
|
||||
lda TileStore+TS_BASE_ADDR,y ; load the address of the code field
|
||||
lda TileStore+TS_BASE_ADDR,y ; load the base address of the code field
|
||||
sta _BASE_ADDR
|
||||
|
||||
lda TileStore+TS_WORD_OFFSET,y
|
||||
@ -152,45 +152,47 @@ _RenderTile2
|
||||
;
|
||||
; One set for normal, horizontally flipped, vertically flipped and hors & vert flipped.
|
||||
; A second set that are optimized for when EngineMode has BG1 disabled.
|
||||
TileProcs dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00000 : normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00001 : dynamic tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00010 : masked normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00011 : masked dynamic tiles
|
||||
TileProcs dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00000 : normal tiles
|
||||
dw _TBDynamicTile_00,_TBDynamicTile_00,_TBDynamicTile_00,_TBDynamicTile_00 ; 00001 : dynamic tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00010 : masked normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00011 : masked dynamic tiles
|
||||
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00100 : fringed normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00101 : fringed dynamic tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00110 : fringed masked normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00111 : fringed masked dynamic tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00100 : fringed normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00101 : fringed dynamic tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00110 : fringed masked normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 00111 : fringed masked dynamic tiles
|
||||
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01000 : high-priority normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01001 : high-priority dynamic tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01010 : high-priority masked normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01011 : high-priority masked dynamic tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01000 : high-priority normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01001 : high-priority dynamic tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01010 : high-priority masked normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01011 : high-priority masked dynamic tiles
|
||||
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01100 : high-priority fringed normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01101 : high-priority fringed dynamic tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01110 : high-priority fringed masked normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01111 : high-priority fringed masked dynamic tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01100 : high-priority fringed normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01101 : high-priority fringed dynamic tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01110 : high-priority fringed masked normal tiles
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 01111 : high-priority fringed masked dynamic tiles
|
||||
|
||||
dw _TBSolidSpriteTile_00,_TBSolidSpriteTile_0H,_TBSolidSpriteTile_V0,_TBSolidSpriteTile_VH ; 10000 : normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10001 : dynamic tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10010 : masked normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10011 : masked dynamic tiles w/sprite
|
||||
dw _TBSolidSpriteTile_00,_TBSolidSpriteTile_0H,
|
||||
dw _TBSolidSpriteTile_V0,_TBSolidSpriteTile_VH ; 10000 : normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10001 : dynamic tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10010 : masked normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10011 : masked dynamic tiles w/sprite
|
||||
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10100 : fringed normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10101 : fringed dynamic tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10110 : fringed masked normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10111 : fringed masked dynamic tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10100 : fringed normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10101 : fringed dynamic tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10110 : fringed masked normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 10111 : fringed masked dynamic tiles w/sprite
|
||||
|
||||
dw _TBSolidPrioritySpriteTile_00,_TBSolidPrioritySpriteTile_0H,_TBSolidPrioritySpriteTile_V0,_TBSolidPrioritySpriteTile_VH ; 11000 : high-priority normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11001 : high-priority dynamic tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11010 : high-priority masked normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11011 : high-priority masked dynamic tiles w/sprite
|
||||
dw _TBSolidPrioritySpriteTile_00,_TBSolidPrioritySpriteTile_0H,
|
||||
dw _TBSolidPrioritySpriteTile_V0,_TBSolidPrioritySpriteTile_VH ; 11000 : high-priority normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11001 : high-priority dynamic tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11010 : high-priority masked normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11011 : high-priority masked dynamic tiles w/sprite
|
||||
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11100 : high-priority fringed normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11101 : high-priority fringed dynamic tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11110 : high-priority fringed masked normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11111 : high-priority fringed masked dynamic tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11100 : high-priority fringed normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11101 : high-priority fringed dynamic tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11110 : high-priority fringed masked normal tiles w/sprite
|
||||
dw _TBSolidTile_00,_TBSolidTile_0H,_TBSolidTile_V0,_TBSolidTile_VH ; 11111 : high-priority fringed masked dynamic tiles w/sprite
|
||||
|
||||
; _TBConstTile
|
||||
;
|
||||
|
@ -8,19 +8,14 @@
|
||||
; This tile type does not explicitly support horizontal or vertical flipping. An appropriate tile
|
||||
; descriptor should be passed into CopyTileToDyn to put the horizontally or vertically flipped source
|
||||
; data into the dynamic tile buffer
|
||||
_TBDynamicTile dw _TBDynamicTile_00,_TBDynamicTile_00,_TBDynamicTile_00,_TBDynamicTile_00
|
||||
dw _TBDynamicTile_00,_TBDynamicTile_00,_TBDynamicTile_00,_TBDynamicTile_00
|
||||
|
||||
_TBDynamicTile_00
|
||||
jsr _TBDynamicData
|
||||
jmp _TBFillLdaDpOpcode
|
||||
|
||||
; Primitives to render a dynamic tile
|
||||
; Primitive to render a dynamic tile
|
||||
;
|
||||
; LDA 00,x / PHA where the operand is fixed when the tile is rendered
|
||||
; $B5 $00 $48
|
||||
;
|
||||
; A = dynamic tile id (must be <32)
|
||||
_TBDynamicData
|
||||
txa
|
||||
asl
|
||||
@ -43,6 +38,7 @@ _TBDynamicData
|
||||
lup 8
|
||||
sta: $0001+{]line*$1000},y
|
||||
]line equ ]line+1
|
||||
--^
|
||||
|
||||
rts
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user