cleaned up palette handling a bit

This commit is contained in:
alpine9000
2016-04-19 13:29:53 +10:00
parent 942e57e826
commit fbc2a85fd9
9 changed files with 79 additions and 367 deletions
+19 -12
View File
@@ -1,4 +1,6 @@
EXAMPLE_NAME=game1
BACKGROUND_COLOR=09e
BACKGROUND_GREY_COLOR=777
# userstack used by bootblock
USERSTACK_ADDRESS=7fffc
@@ -28,7 +30,7 @@ IMAGES=foreground.png \
sprite_coin4.png \
sprite_coin6.png \
sprite_coin7.png
IMAGEDATA=$(addprefix out/, $(IMAGES:.png=.bin))
VASM_EXTRA_ARGS=-DNUM_COLORS=$(NUM_COLORS)
@@ -38,24 +40,20 @@ LINKER_OPTIONS=-T link.script.x
include ../shared/base.mk
#out/%.sized.png: ../assets/%.png
# $(RESIZE) --width=352 --height=256 --blur=0.75 --input=$< --output=$@
out/%.bin: out/%.sized.png
$(IMAGECON) --input $< $(IMAGECON_ARGS) --quantize --colors $(NUM_COLORS) --output-bitplanes --output-palette-asm --output-grey-palette --output-palette $(DITHER) --output out/$*
out/foreground.bin: assets/foregroundTilemap.png
$(IMAGECON) --use-palette=assets/foreground.pal --input $< $(IMAGECON_ARGS) --colors $(NUM_COLORS) --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-grey-palette --output-palette --output-png --output out/foreground
$(IMAGECON) --use-palette=assets/foreground.pal --input $< $(IMAGECON_ARGS) --colors $(NUM_COLORS) --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-grey-palette --output-palette --output-png --output-copperlist --output out/foreground
sed -i '' "1s/.*/ dc.w COLOR00,\$$$(BACKGROUND_COLOR)/" out/foreground-copper-list.s
sed -i '' "1s/.*/ dc.w \$$$(BACKGROUND_COLOR)/" out/foreground-palette-table.s
sed -i '' "1s/.*/ dc.w \$$$(BACKGROUND_GREY_COLOR)/" out/foreground-grey-table.s
out/background.bin: assets/tilemap.png
$(IMAGECON) --use-palette=assets/background.pal --input $< $(IMAGECON_ARGS) --colors $(NUM_COLORS) --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-grey-palette --output-palette --output-png --output out/background
out/tilemap-palette.s: assets/tilemap.png
$(IMAGECON) --use-palette=assets/palette.pal --full-color-palette-file --input=assets/tilemap.png --output-palette-asm --output=out/tilemap --output-copperlist --output-grey-palette
$(IMAGECON) --use-palette=assets/background.pal --input $< $(IMAGECON_ARGS) --colors $(NUM_COLORS) --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-grey-palette --output-palette --output-png --output-copperlist --output out/background --palette-offset 8
out/panel.bin: assets/panel.png
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 16 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output out/panel --use-palette=assets/panel.pal
$(IMAGECON) --input $< $(IMAGECON_ARGS) --colors 16 --output-bitplanes --output-palette --full-color-palette-file --output-palette-asm --output-palette --output-png --output-copperlist --output-grey-palette --output out/panel --use-palette=assets/panel.pal
out/sprite_pig_%.bin: assets/sprite_pig_%.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_pig_$* --palette-offset 16 --use-palette=assets/pig.pal
@@ -63,6 +61,15 @@ out/sprite_pig_%.bin: assets/sprite_pig_%.png
out/sprite_coin%.bin: assets/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
out/fade.s: assets/bottom_section.pal out/fade
./out/fade assets/bottom_section.pal bottom > out/fade.s
out/panelFade.s: assets/panel.pal out/fade
./out/fade assets/panel.pal panel > out/panelFade.s
out/fade: fade.c
gcc fade.c -o out/fade
out/foreground-map.s: foreground.tmx
../tools/mapgen/out/mapgen --depth=3 --input=foreground.tmx
mv foreground-map.s out
@@ -76,5 +83,5 @@ out/background-map.s: background.tmx
rm background-indexes.s
out/blit.o: constants.i macros.i
out/main.o: out/background-map.s out/foreground-map.s $(IMAGEDATA) constants.i macros.i Makefile link.script.x assets/palette.pal out/tilemap-palette.s
out/main.o: out/background-map.s out/foreground-map.s $(IMAGEDATA) constants.i macros.i Makefile link.script.x assets/palette.pal out/fade.s out/panelFade.s
out/init.o: constants.i Makefile
+3
View File
@@ -11,3 +11,6 @@
000 068 119 255
085 221 204 255
170 187 153 255
000 000 000 255
000 000 000 255
000 000 000 255
+1 -1
View File
@@ -54,7 +54,7 @@ main(int argc, char** argv)
}
}
printf("fadeComplete:\n");
printf("%sFadeComplete:\n", argv[2]);
fclose(fp);
}
-273
View File
@@ -1,273 +0,0 @@
.step1
dc.w $788
dc.w $211
dc.w $333
dc.w $655
dc.w $777
dc.w $998
dc.w $bbb
dc.w $778
dc.w $000
dc.w $9aa
dc.w $ccc
dc.w $899
dc.w $ddd
dc.w $545
dc.w $999
dc.w $000
.step2
dc.w $788
dc.w $211
dc.w $323
dc.w $655
dc.w $877
dc.w $a98
dc.w $bba
dc.w $778
dc.w $000
dc.w $8aa
dc.w $ccd
dc.w $899
dc.w $ddd
dc.w $644
dc.w $999
dc.w $000
.step3
dc.w $689
dc.w $211
dc.w $423
dc.w $754
dc.w $876
dc.w $a97
dc.w $cba
dc.w $679
dc.w $000
dc.w $8ab
dc.w $bdd
dc.w $899
dc.w $ddd
dc.w $644
dc.w $999
dc.w $000
.step4
dc.w $689
dc.w $211
dc.w $422
dc.w $754
dc.w $976
dc.w $a97
dc.w $cba
dc.w $689
dc.w $000
dc.w $7ab
dc.w $bdd
dc.w $799
dc.w $ddd
dc.w $734
dc.w $999
dc.w $000
.step5
dc.w $58a
dc.w $211
dc.w $422
dc.w $854
dc.w $976
dc.w $b96
dc.w $cc9
dc.w $58a
dc.w $000
dc.w $7ab
dc.w $bdd
dc.w $799
dc.w $ddd
dc.w $734
dc.w $999
dc.w $000
.step6
dc.w $58a
dc.w $311
dc.w $522
dc.w $853
dc.w $975
dc.w $b96
dc.w $cc9
dc.w $58a
dc.w $000
dc.w $6ac
dc.w $add
dc.w $79a
dc.w $ddd
dc.w $834
dc.w $999
dc.w $000
.step7
dc.w $48b
dc.w $311
dc.w $512
dc.w $953
dc.w $a75
dc.w $c95
dc.w $cc9
dc.w $48a
dc.w $000
dc.w $6ac
dc.w $ade
dc.w $79a
dc.w $ddd
dc.w $824
dc.w $999
dc.w $000
.step8
dc.w $48b
dc.w $311
dc.w $512
dc.w $943
dc.w $a75
dc.w $ca5
dc.w $dc8
dc.w $48b
dc.w $000
dc.w $5ac
dc.w $ade
dc.w $69a
dc.w $ddd
dc.w $923
dc.w $999
dc.w $000
.step9
dc.w $38b
dc.w $301
dc.w $612
dc.w $942
dc.w $a74
dc.w $ca4
dc.w $dc8
dc.w $48b
dc.w $000
dc.w $5bd
dc.w $9de
dc.w $6aa
dc.w $ddd
dc.w $923
dc.w $999
dc.w $000
.step10
dc.w $39c
dc.w $301
dc.w $612
dc.w $a42
dc.w $b74
dc.w $da4
dc.w $dc8
dc.w $38c
dc.w $000
dc.w $4bd
dc.w $9de
dc.w $6aa
dc.w $ddd
dc.w $a23
dc.w $999
dc.w $000
.step11
dc.w $29c
dc.w $401
dc.w $612
dc.w $a42
dc.w $b74
dc.w $da3
dc.w $dc7
dc.w $38c
dc.w $000
dc.w $4be
dc.w $9ee
dc.w $5ab
dc.w $ddd
dc.w $a13
dc.w $999
dc.w $000
.step12
dc.w $29d
dc.w $401
dc.w $702
dc.w $b41
dc.w $b73
dc.w $ea3
dc.w $dc7
dc.w $28c
dc.w $000
dc.w $3be
dc.w $8ef
dc.w $5ab
dc.w $ddd
dc.w $b13
dc.w $999
dc.w $000
.step13
dc.w $19d
dc.w $401
dc.w $702
dc.w $b41
dc.w $c73
dc.w $ea2
dc.w $dd7
dc.w $28d
dc.w $000
dc.w $3be
dc.w $8ef
dc.w $5ab
dc.w $ddd
dc.w $b13
dc.w $999
dc.w $000
.step14
dc.w $19e
dc.w $401
dc.w $701
dc.w $c41
dc.w $c73
dc.w $ea2
dc.w $ed6
dc.w $18d
dc.w $000
dc.w $2bf
dc.w $8ef
dc.w $5ab
dc.w $ddd
dc.w $c02
dc.w $999
dc.w $000
.step15
dc.w $09e
dc.w $401
dc.w $801
dc.w $c40
dc.w $c72
dc.w $fa1
dc.w $ed6
dc.w $18e
dc.w $000
dc.w $2bf
dc.w $7ef
dc.w $4ab
dc.w $ddd
dc.w $c02
dc.w $999
dc.w $000
.step16
dc.w $09e
dc.w $500
dc.w $801
dc.w $d30
dc.w $d72
dc.w $fa1
dc.w $ed6
dc.w $18e
dc.w $000
dc.w $1cf
dc.w $7ef
dc.w $4ac
dc.w $ddd
dc.w $d02
dc.w $999
dc.w $000
fadeComplete:
+55 -14
View File
@@ -373,8 +373,9 @@ panelCopperListBpl1Ptr:
dc.w BPLCON0,(4<<12)|COLOR_ON ; 4 bit planes
dc.w BPL1MOD,SCREEN_WIDTH_BYTES*4-SCREEN_WIDTH_BYTES
dc.w BPL2MOD,SCREEN_WIDTH_BYTES*4-SCREEN_WIDTH_BYTES
panelCopperPalettePtr:
include "out/panel-copper-list.s"
dc.W $5bd1,$fffe
dc.w $5bd1,$fffe
dc.w BPL1MOD,BITPLANE_WIDTH_BYTES*SCREEN_BIT_DEPTH-SCREEN_WIDTH_BYTES-2
@@ -408,8 +409,8 @@ copperListBpl2Ptr:
dc.w BPLCON0,(SCREEN_BIT_DEPTH*2<<12)|COLOR_ON|DBLPF
tileMapCopperPalettePtr:
include "tilemap-copper-list.s"
include "out/foreground-copper-list.s"
include "out/background-copper-list.s"
dc.l $fffffffe
InstallSpriteColorPalette:
@@ -439,13 +440,24 @@ InstallGreyPalette:
add.l #2,a0
add.l #4,a1
dbra d0,.loop
rts
InstallPanelGreyPalette:
lea panelCopperPalettePtr,a1
lea panelGreyPalette,a0
add.l #2,a1
move.l #15,d0
.loop:
move.w (a0),(a1)
add.l #2,a0
add.l #4,a1
dbra d0,.loop
rts
InstallNextGreyPalette:
lea tileMapCopperPalettePtr,a1
move.l fadePtr,a0
lea fadeComplete,a2
lea bottomFadeComplete,a2
cmp.l a2,a0
bge .done
add.l #2,a1
@@ -461,11 +473,27 @@ InstallNextGreyPalette:
beq .done
add.l #16*2,fadePtr
.done
rts
InstallPalette:
include "out/tilemap-palette.s"
rts
InstallNextGreyPanelPalette:
lea panelCopperPalettePtr,a1
move.l panelFadePtr,a0
lea panelFadeComplete,a2
cmp.l a2,a0
bge .done
add.l #2,a1
move.l #15,d0
.loop:
move.w (a0),(a1)
add.l #2,a0
add.l #4,a1
dbra d0,.loop
move.l frameCount,d0
lsr.l #1,d0
btst.l #0,d0
beq .done
add.l #16*2,panelFadePtr
.done
rts
foregroundOnscreen:
dc.l foregroundBitplanes1
@@ -509,7 +537,9 @@ moving:
fadePtr:
dc.l fade
panelFadePtr:
dc.l panelFade
animIndex:
ds.l 16,0
deAnimIndex:
@@ -590,13 +620,24 @@ deAnimIndexPattern:
dc.l $ffffffff
greyPalette:
include "tilemap-grey-table.s"
include "out/foreground-grey-table.s"
include "out/background-grey-table.s"
panelGreyPalette:
include "out/panel-grey-table.s"
tilemapPalette:
include "tilemap-palette-table.s"
if 0
include "tilemap-palette-table.s"
endif
include "out/foreground-palette-table.s"
include "out/background-palette-table.s"
fade:
include "fade.s"
include "out/fade.s"
panelFade:
include "out/panelFade.s"
section .bss
foregroundBitplanes1:
-16
View File
@@ -1,16 +0,0 @@
dc.w COLOR00,$09e
dc.w $182,$500
dc.w $184,$801
dc.w $186,$d30
dc.w $188,$d72
dc.w $18a,$fa1
dc.w $18c,$ed6
dc.w $18e,$18e
dc.w $190,$0f0
dc.w $192,$1cf
dc.w $194,$7ef
dc.w $196,$4ac
dc.w $198,$ddd
dc.w $19a,$d02
dc.w $19c,$999
dc.w $19e,$00f
-25
View File
@@ -1,25 +0,0 @@
dc.w $777
dc.w $111
dc.w $333
dc.w $555
dc.w $777
dc.w $888
dc.w $bbb
dc.w $777
dc.w $000
dc.w $999
dc.w $ccc
dc.w $888
dc.w $ddd
dc.w $555
dc.w $999
dc.w $000
dc.w $aaa
dc.w $999
dc.w $444
dc.w $333
dc.w $666
dc.w $aaa
dc.w $777
dc.w $aaa
dc.w $fff
-25
View File
@@ -1,25 +0,0 @@
dc.w $09e
dc.w $500
dc.w $801
dc.w $d30
dc.w $d72
dc.w $fa1
dc.w $ed6
dc.w $18e
dc.w $000
dc.w $1cf
dc.w $7ef
dc.w $4ac
dc.w $ddd
dc.w $d02
dc.w $999
dc.w $000
dc.w $ea6
dc.w $f76
dc.w $a31
dc.w $037
dc.w $19a
dc.w $1ef
dc.w $f70
dc.w $ff0
dc.w $fff