mirror of
https://frontier.innolan.net/github/AmigaExamples.git
synced 2026-09-12 02:31:47 +00:00
new assets, dbl buf background
This commit is contained in:
@@ -31,6 +31,14 @@ IMAGES=foreground.png \
|
||||
sprite_robot-5.png \
|
||||
sprite_robot-6.png \
|
||||
sprite_robot-7.png \
|
||||
sprite_tank-0.png \
|
||||
sprite_tank-1.png \
|
||||
sprite_tank-2.png \
|
||||
sprite_tank-3.png \
|
||||
sprite_tank-4.png \
|
||||
sprite_tank-5.png \
|
||||
sprite_tank-6.png \
|
||||
sprite_tank-7.png \
|
||||
sprite_coin-0.png \
|
||||
sprite_coin-1.png \
|
||||
sprite_coin-2.png \
|
||||
@@ -45,6 +53,11 @@ IMAGES=foreground.png \
|
||||
sprite_fallingRobot-2.png \
|
||||
sprite_fallingRobot-3.png \
|
||||
sprite_fallingRobot-4.png \
|
||||
sprite_fallingTank-0.png \
|
||||
sprite_fallingTank-1.png \
|
||||
sprite_fallingTank-2.png \
|
||||
sprite_fallingTank-3.png \
|
||||
sprite_fallingTank-4.png \
|
||||
font8x8.png\
|
||||
splash.png
|
||||
|
||||
@@ -81,12 +94,19 @@ out/sprite_pig-%.bin: out/sprite_pig-%.png
|
||||
out/sprite_robot-%.bin: out/sprite_robot-%.png
|
||||
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 4 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output out/sprite_robot-$* --palette-offset 16 --use-palette=assets/robot.pal
|
||||
|
||||
out/sprite_tank-%.bin: out/sprite_tank-%.png
|
||||
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 4 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output out/sprite_tank-$* --palette-offset 16 --use-palette=assets/tank.pal
|
||||
|
||||
|
||||
out/sprite_fallingPig-%.bin: out/sprite_fallingPig-%.png
|
||||
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 4 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output out/sprite_fallingPig-$* --palette-offset 16 --use-palette=assets/pig.pal
|
||||
|
||||
out/sprite_fallingRobot-%.bin: out/sprite_fallingRobot-%.png
|
||||
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 4 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output out/sprite_fallingRobot-$* --palette-offset 16 --use-palette=assets/robot.pal
|
||||
|
||||
out/sprite_fallingTank-%.bin: out/sprite_fallingTank-%.png
|
||||
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 4 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output out/sprite_fallingTank-$* --palette-offset 16 --use-palette=assets/tank.pal
|
||||
|
||||
out/sprite_coin%.bin: out/sprite_coin%.png
|
||||
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 4 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output out/sprite_coin$* --palette-offset 20 --use-palette=assets/coin.pal
|
||||
|
||||
@@ -96,12 +116,18 @@ out/sprite_pig%.png: assets/assets.png
|
||||
out/sprite_robot%.png: assets/assets.png
|
||||
../tools/croppa/out/croppa --input=assets/assets.png --output=out/sprite_robot --width=16 --height=16 --rows=1 --cols=8 --dx=16 --dy=16 --x=192 --y=176
|
||||
|
||||
out/sprite_tank%.png: assets/assets.png
|
||||
../tools/croppa/out/croppa --input=assets/assets.png --output=out/sprite_tank --width=16 --height=16 --rows=1 --cols=8 --dx=16 --dy=16 --x=192 --y=208
|
||||
|
||||
out/sprite_fallingPig%.png: assets/assets.png
|
||||
../tools/croppa/out/croppa --input=assets/assets.png --output=out/sprite_fallingPig --width=16 --height=16 --rows=1 --cols=5 --dx=16 --dy=16 --x=192 --y=128
|
||||
|
||||
out/sprite_fallingRobot%.png: assets/assets.png
|
||||
../tools/croppa/out/croppa --input=assets/assets.png --output=out/sprite_fallingRobot --width=16 --height=16 --rows=1 --cols=5 --dx=16 --dy=16 --x=192 --y=192
|
||||
|
||||
out/sprite_fallingTank%.png: assets/assets.png
|
||||
../tools/croppa/out/croppa --input=assets/assets.png --output=out/sprite_fallingTank --width=16 --height=16 --rows=1 --cols=5 --dx=16 --dy=16 --x=192 --y=224
|
||||
|
||||
out/sprite_coin%.png: assets/assets.png
|
||||
../tools/croppa/out/croppa --input=assets/assets.png --output=out/sprite_coin --width=16 --height=15 --rows=1 --cols=4 --dx=16 --dy=16 --x=192 --y=144
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
@@ -1,16 +1,17 @@
|
||||
000 153 238 255
|
||||
255 255 204 255
|
||||
238 187 153 255
|
||||
051 136 136 255
|
||||
255 255 255 255
|
||||
255 238 187 255
|
||||
255 255 221 255
|
||||
068 187 170 255
|
||||
000 000 000 255
|
||||
170 238 238 255
|
||||
255 221 000 255
|
||||
255 255 255 255
|
||||
000 034 051 255
|
||||
255 136 000 255
|
||||
000 068 119 255
|
||||
085 221 204 255
|
||||
255 000 064 255
|
||||
170 187 153 255
|
||||
170 238 238 255
|
||||
000 000 000 255
|
||||
255 255 204 255
|
||||
255 255 204 255
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 690 B |
@@ -0,0 +1,4 @@
|
||||
000 000 000 255
|
||||
135 137 068 255
|
||||
054 102 002 255
|
||||
052 038 026 255
|
||||
+12
-1
@@ -4,6 +4,7 @@
|
||||
xdef RenderNextBackgroundFrame
|
||||
xdef backgroundScrollX
|
||||
xdef backgroundOnscreen
|
||||
xdef backgroundOffscreen
|
||||
|
||||
|
||||
InitialiseBackground:
|
||||
@@ -36,6 +37,14 @@ RenderBackgroundTile:
|
||||
lsr.b #BACKGROUND_SCROLL_SHIFT_CONVERT,d2 ; convert to pixels
|
||||
andi.w #$f,d2 ; find the shift component
|
||||
jsr BlitTile
|
||||
cmp.l #backgroundBitplanes1,backgroundOffscreen
|
||||
bne .offsetSub
|
||||
add.l #IMAGESIZE*2,a0
|
||||
bra .doBlit
|
||||
.offsetSub:
|
||||
sub.l #IMAGESIZE*2,a0
|
||||
.doBlit:
|
||||
jsr BlitTile
|
||||
rts
|
||||
|
||||
RenderNextBackgroundFrame:
|
||||
@@ -62,11 +71,13 @@ backgroundMap:
|
||||
backgroundOnscreen:
|
||||
dc.l backgroundBitplanes1
|
||||
backgroundOffscreen:
|
||||
dc.l backgroundBitplanes1
|
||||
dc.l backgroundBitplanes2
|
||||
|
||||
section .bss
|
||||
backgroundBitplanes1:
|
||||
ds.b IMAGESIZE*2
|
||||
backgroundBitplanes2:
|
||||
ds.b IMAGESIZE*2
|
||||
|
||||
|
||||
|
||||
@@ -8,15 +8,15 @@
|
||||
</tileset>
|
||||
<layer name="foreground" width="100" height="8">
|
||||
<data encoding="base64" compression="zlib">
|
||||
eJxjZ2BgsGTEjtlH5eguZwekmYBYDAs9Kkd/OS0c8qNyAyNHSXxWkqlvVA5//tiNJ86WUxDXo3L0zR+jcrTJH4MtjYxkOWkG3G0wWsgNxjbmYJIDAGX6U4Q=
|
||||
eJxjZ2BgsGTEjtlH5eguZwekmYBYDAtNidxWPHKVNLBvuMhp4ZAflRsYOUriczSd0yZ/7MYTZ8spiOtROfrmj1E52uSPwZZGRrKcNAPuNhgt5AZjG3MwyQEArppUrg==
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="pathway" width="100" height="8">
|
||||
<data encoding="base64" compression="zlib">
|
||||
eJxjYBgFo2AUkAvOA/HHgXbECAbo4c/KyMDADcQngWxjIK3LCKFHAW0BLJwlgfgxlA8DsDhBByB1o3mH/gAUF6w48sRonNAf3AVieTxlFCw/wcqzUTAKhgsAAErmDLs=
|
||||
eJxjYBgFIwUYMzIw6DKi0qOAMnAeiD9S2UxuRoTZoHj6TmXzhxNAD39WRkj4nWSgXjpnZcROjwIEgIWzJBA/hvJhABYn6ACkjpy8AzMLnR4FxAFQeOFKw+TEyWj+oAzcBWJ5PGEGy0+w8owQgKmHmYmeH0fBKBgsAADYaBI9
|
||||
</data>
|
||||
</layer>
|
||||
<layer name="items" width="100" height="8">
|
||||
<layer name="items" width="100" height="8" visible="0">
|
||||
<data encoding="base64" compression="zlib">
|
||||
eJxjYBgFgw04MuLnE1JPCDgRqZ5YdcMdgMKX2DBGV+dKhD6QHucREtbUSFOwMMYVJy6MqGph6lxItJtU9SMduDISjhv0vERK3oLZQW0wlMs5kNuRMQiQU3/A1LiRERbk6KEmICX+Bktck1pnu1NRPal2j4JRQCsAAIdJC5A=
|
||||
</data>
|
||||
|
||||
+15
-12
@@ -47,7 +47,8 @@ Entry:
|
||||
|
||||
jsr StartMusic
|
||||
jsr ShowSplash
|
||||
|
||||
jsr BlueFill
|
||||
|
||||
;; d0 - fg bitplane pointer offset
|
||||
;; d1 - bg bitplane pointer offset
|
||||
move.l #0,d0
|
||||
@@ -55,7 +56,7 @@ Entry:
|
||||
jsr SwitchBuffers
|
||||
|
||||
move.w #(DMAF_BLITTER|DMAF_SETCLR!DMAF_MASTER),DMACON(a6)
|
||||
|
||||
|
||||
lea panelCopperListBpl1Ptr,a0
|
||||
lea panel,a1
|
||||
jsr PokePanelBitplanePointers
|
||||
@@ -68,10 +69,11 @@ Entry:
|
||||
lea mpanelCopperListBpl1Ptr,a0
|
||||
lea mpanel,a1
|
||||
jsr PokePanelBitplanePointers
|
||||
|
||||
|
||||
bsr ShowMessagePanel
|
||||
jsr Init ; enable the playfield
|
||||
|
||||
|
||||
jsr Init ; enable the playfield
|
||||
jsr InstallSpriteColorPalette
|
||||
|
||||
|
||||
@@ -88,6 +90,7 @@ Reset:
|
||||
move.l startForegroundMapPtr,foregroundMapPtr
|
||||
move.l startPathwayMapPtr,pathwayMapPtr
|
||||
move.w #0,pathwayRenderPending
|
||||
move.w #0,pathwayClearPending
|
||||
move.w #0,moving
|
||||
move.l #playareaFade,playareaFadePtr
|
||||
move.l #panelFade,panelFadePtr
|
||||
@@ -198,17 +201,17 @@ GameLoop:
|
||||
jsr RenderNextBackgroundFrame
|
||||
|
||||
|
||||
cmp.w #0,pathwayClearPending
|
||||
beq .dontClearPathway
|
||||
bsr ClearPathway
|
||||
.dontClearPathway:
|
||||
|
||||
cmp.w #0,pathwayRenderPending
|
||||
beq .dontRenderPathway
|
||||
jsr InstallTilePalette
|
||||
jsr RenderPathway
|
||||
.dontRenderPathway:
|
||||
|
||||
cmp.w #0,pathwayClearPending
|
||||
beq .dontClearPathway
|
||||
bsr ClearPathway
|
||||
.dontClearPathway:
|
||||
|
||||
|
||||
|
||||
if 0
|
||||
@@ -406,8 +409,6 @@ RenderNextForegroundFrame:
|
||||
rts
|
||||
|
||||
RenderPathway:
|
||||
;; only render when scroll complete
|
||||
|
||||
move.w #0,pathwayFadeCount
|
||||
sub.w #1,pathwayRenderPending
|
||||
move.w pathwayXIndex,d5 ; x index
|
||||
@@ -442,7 +443,7 @@ RenderPathway:
|
||||
jsr BlitTile
|
||||
bra .next
|
||||
.dontBlit:
|
||||
cmp.w pathwayXIndex,d5
|
||||
cmp.w pathwayXIndex,d5 ; skip the start column
|
||||
beq .next
|
||||
add.w #1,d7
|
||||
cmp.w #7,d7
|
||||
@@ -450,6 +451,8 @@ RenderPathway:
|
||||
.next:
|
||||
dbra d6,.loopY
|
||||
add.w #1,d5
|
||||
cmp.w #(FOREGROUND_PLAYAREA_WIDTH_WORDS/2)-1,d5 ; don't render pathways off the play area
|
||||
beq .skip
|
||||
bra .loopX
|
||||
|
||||
.skip:
|
||||
|
||||
+7
-8
@@ -14,6 +14,7 @@ SwitchBuffers:
|
||||
move.l foregroundOnscreen,foregroundOffscreen
|
||||
move.l a0,foregroundOnscreen
|
||||
move.l a0,a1
|
||||
|
||||
lea copperListBpl1Ptr,a0
|
||||
bsr.s PokeBitplanePointers
|
||||
|
||||
@@ -21,18 +22,19 @@ SwitchBuffers:
|
||||
bsr.s PokeBitplanePointers
|
||||
|
||||
add.l #BITPLANE_WIDTH_BYTES*SCREEN_BIT_DEPTH*(96-1),d0
|
||||
;; lea copperListBpl1Ptr2,a0
|
||||
;; bsr.s PokeBitplanePointers
|
||||
|
||||
lea copperListBpl1Ptr2_MP,a0
|
||||
bsr.s PokeBitplanePointers
|
||||
|
||||
|
||||
;; background is not double buffered
|
||||
move.l backgroundScrollX,d0
|
||||
lsr.w #BACKGROUND_SCROLL_SHIFT_CONVERT,d0 ; convert to pixels
|
||||
lsr.w #3,d0 ; bytes to scroll
|
||||
move.l backgroundOnscreen,a1
|
||||
|
||||
move.l backgroundOffscreen,a0
|
||||
move.l backgroundOnscreen,backgroundOffscreen
|
||||
move.l a0,backgroundOnscreen
|
||||
move.l a0,a1
|
||||
|
||||
lea copperListBpl2Ptr,a0
|
||||
bsr.s PokeBitplanePointers
|
||||
|
||||
@@ -40,9 +42,6 @@ SwitchBuffers:
|
||||
bsr.s PokeBitplanePointers
|
||||
|
||||
add.l #BITPLANE_WIDTH_BYTES*SCREEN_BIT_DEPTH*(96-48+16),d0
|
||||
;; lea copperListBpl2Ptr2,a0
|
||||
;; bsr.s PokeBitplanePointers
|
||||
|
||||
lea copperListBpl2Ptr2_MP,a0
|
||||
bsr.s PokeBitplanePointers
|
||||
|
||||
|
||||
+17
-4
@@ -226,7 +226,11 @@ InstallPigColorPalette:
|
||||
|
||||
InstallRobotColorPalette:
|
||||
include "out/sprite_robot-0-palette.s"
|
||||
rts
|
||||
rts
|
||||
|
||||
InstallTankColorPalette:
|
||||
include "out/sprite_tank-0-palette.s"
|
||||
rts
|
||||
|
||||
CheckPlayerMiss:
|
||||
|
||||
@@ -289,6 +293,9 @@ CheckPlayerMiss:
|
||||
|
||||
;; a3 now points at the tile under the sprite
|
||||
move.w (a3),d0
|
||||
|
||||
cmp.w #$7098,d0 ; empty tile
|
||||
beq .doBigBang
|
||||
|
||||
cmp.w #$78e,d0
|
||||
bge .noBigBang
|
||||
@@ -405,9 +412,10 @@ CheckDirection:
|
||||
|
||||
|
||||
SelectNextPlayerSprite:
|
||||
cmp.l #pigPlayerSpriteConfig,playerSpriteConfig
|
||||
bne .s1
|
||||
move.l #robotPlayerSpriteConfig,playerSpriteConfig
|
||||
cmp.l #tankPlayerSpriteConfig,playerSpriteConfig
|
||||
beq .s1
|
||||
;; move.l #robotPlayerSpriteConfig,playerSpriteConfig
|
||||
add.l #3*4,playerSpriteConfig
|
||||
bra .done
|
||||
.s1:
|
||||
move.l #pigPlayerSpriteConfig,playerSpriteConfig
|
||||
@@ -425,6 +433,11 @@ robotPlayerSpriteConfig:
|
||||
dc.l spriteRobot
|
||||
dc.l spriteFallingRobot1
|
||||
|
||||
tankPlayerSpriteConfig:
|
||||
dc.l InstallTankColorPalette
|
||||
dc.l spriteTank
|
||||
dc.l spriteFallingTank1
|
||||
|
||||
playerSpriteConfig:
|
||||
dc.l pigPlayerSpriteConfig
|
||||
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ ShowSplash:
|
||||
move.w #(INTF_SETCLR|INTF_VERTB|INTF_INTEN),INTENA(a6)
|
||||
.wait:
|
||||
jsr WaitVerticalBlank
|
||||
jsr ProcessJoystick
|
||||
jsr ReadJoystick
|
||||
btst.b #0,joystick
|
||||
beq .wait
|
||||
rts
|
||||
|
||||
@@ -82,6 +82,48 @@ spriteRobotRightJump:
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_robot-2.bin" ; 7, right jump
|
||||
dc.l 0
|
||||
|
||||
spriteTank:
|
||||
spriteTankUp:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_tank-1.bin" ; 0, up
|
||||
dc.l 0
|
||||
spriteTankUpJump:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_tank-0.bin" ; 1, up jump
|
||||
dc.l 0
|
||||
spriteTankDown:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_tank-5.bin" ; 2, down
|
||||
dc.l 0
|
||||
spriteTankDownJump:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_tank-4.bin" ; 3, down jump
|
||||
dc.l 0
|
||||
spriteTankLeft:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_tank-7.bin" ; 4, left
|
||||
dc.l 0
|
||||
spriteTankLeftJump:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_tank-6.bin" ; 5, left jump
|
||||
dc.l 0
|
||||
spriteTankRight:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_tank-3.bin" ; 6, right
|
||||
dc.l 0
|
||||
spriteTankRightJump:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_tank-2.bin" ; 7, right jump
|
||||
dc.l 0
|
||||
|
||||
spriteFalling0:
|
||||
dc.w 0,0
|
||||
@@ -134,4 +176,31 @@ spriteFallingRobot4:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_fallingRobot-4.bin"
|
||||
dc.l 0
|
||||
|
||||
|
||||
spriteFallingTank0:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_fallingTank-0.bin"
|
||||
dc.l 0
|
||||
spriteFallingTank1:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_fallingTank-1.bin"
|
||||
dc.l 0
|
||||
spriteFallingTank2:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_fallingTank-2.bin"
|
||||
dc.l 0
|
||||
spriteFallingTank3:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_fallingTank-3.bin"
|
||||
dc.l 0
|
||||
spriteFallingTank4:
|
||||
dc.w 0,0
|
||||
dc.w 0,0
|
||||
incbin "out/sprite_fallingTank-4.bin"
|
||||
dc.l 0
|
||||
Reference in New Issue
Block a user