gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
gbdk-support/png2asset/testing/Makefile
1
2
3 ifndef OUTDIR
4 OUTDIR = out
5 endif
6 RES = res
7 REF = ref
8
9
10 # PNG2ASSET = ~/gbdev/GBDK_releases/GBDK-2020_4.2.0/gbdk/bin/png2asset
11
12 ifndef PNG2ASSET
13 PNG2ASSET = ../png2asset
14 endif
15
16 all: test
17
18 test: generate-assets compare-output
19
20 update:
21 ${MAKE} generate-assets OUTDIR=ref
22
23 compare-output:
24 diff --report-identical-files --recursive --suppress-common-lines --side-by-side $(REF) $(OUTDIR)
25
26 clean:
27 rm -rf $(OUTDIR)
28
29 clean-ref:
30 rm -rf $(REF)
31
32 reset-ref:
33 rm -rf $(REF)
34 git checkout $(REF)/*
35
36 generate-assets:
37 rm -rf $(OUTDIR)
38 mkdir -p $(OUTDIR)
39 # ZGB:
40 # Metasprite
41 # - CGB
42 $(PNG2ASSET) $(RES)/sprite_slon.png -c $(OUTDIR)/zgb_sprite_1.c -use_structs -b 255 -spr8x16 -px 0 -py 0 -pw 32 -ph 24 -sw 64 -sh 48
43 # - SMS/GG
44 $(PNG2ASSET) $(RES)/sprite_slon.png -c $(OUTDIR)/zgb_sprite_2.c -use_structs -b 255 -spr8x16 -px 0 -py 0 -pw 32 -ph 24 -sw 64 -sh 48 -noflip -pack_mode sms -bpp 4 -keep_palette_order
45
46 # SGB
47 $(PNG2ASSET) $(RES)/SGB/sgb_border.png -c $(OUTDIR)/zgb_sgb_border_1.c -b 255 -map -bpp 4 -max_palettes 4 -use_map_attributes -use_structs -pack_mode sgb
48
49 # Map
50 # - GB
51 $(PNG2ASSET) $(RES)/largemap.png -c $(OUTDIR)/zgb_largemap_1.c -b 255 -map -use_structs -noflip
52 # - SMS/GG
53 $(PNG2ASSET) $(RES)/largemap.png -c $(OUTDIR)/zgb_largemap_2.c -b 255 -map -use_structs -pack_mode sms -bpp 4 -keep_palette_order
54 $(PNG2ASSET) $(RES)/largemap.png -c $(OUTDIR)/zgb_largemap_3_attribs_smsgg.c -b 255 -map -use_structs -pack_mode sms -bpp 4 -keep_palette_order -use_map_attributes
55 # - GBC
56 $(PNG2ASSET) $(RES)/largemap.png -c $(OUTDIR)/zgb_largemap_4_attribs_gbc.c -b 255 -map -use_structs -keep_palette_order -use_map_attributes
57
58
59 # gb/duck = -noflip
60 # gg/sms = -noflip -pack_mode sms -bpp 4 -keep_palette_order
61 $(PNG2ASSET) $(RES)/SMS/sushi_level07.png -c $(OUTDIR)/zgb_sushi_level07.c -b 255 -map -noflip -pack_mode sms -bpp 4 -keep_palette_order -use_structs -keep_palette_order -rel_paths -keep_duplicate_tiles -source_tileset sushi_tiles.png -entity_tileset sushi_objects.png
62 $(PNG2ASSET) $(RES)/SMS/sushi_tiles.png -c $(OUTDIR)/zgb_sushi_tiles.c -b 255 -map -noflip -pack_mode sms -bpp 4 -keep_palette_order -use_structs -keep_palette_order -keep_duplicate_tiles -tiles_only
63 $(PNG2ASSET) $(RES)/SMS/sushi_tiles.png -c $(OUTDIR)/zgb_sushi_tiles_lit.c -b 255 -area LIT -map -noflip -pack_mode sms -bpp 4 -keep_palette_order -use_structs -keep_palette_order -keep_duplicate_tiles -tiles_only
64
65
66 # Entity and Source tileset interaction
67 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/nums_map_1.c -map
68 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/nums_map_2.c -map -source_tileset $(RES)/nums8x8_9_to_0.png
69 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/nums_map_3.c -map -entity_tileset $(RES)/nums8x8_30_to_39.png
70 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/nums_map_4.c -map -source_tileset $(RES)/nums8x8_9_to_0.png -entity_tileset $(RES)/nums8x8_30_to_39.png
71 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/nums_map_5.c -map
72 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/nums_map_6.c -map -keep_duplicate_tiles -source_tileset $(RES)/nums8x8_9_to_0.png
73 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/nums_map_7.c -map -keep_duplicate_tiles -entity_tileset $(RES)/nums8x8_30_to_39.png
74 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/nums_map_8.c -map -keep_duplicate_tiles -source_tileset $(RES)/nums8x8_9_to_0.png -entity_tileset $(RES)/nums8x8_30_to_39.png
75 # above + color
76 $(PNG2ASSET) $(RES)/color_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_nums_map_1.c -map -use_map_attributes
77 $(PNG2ASSET) $(RES)/color_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_nums_map_2.c -map -use_map_attributes -source_tileset $(RES)/color_nums8x8_9_to_0.png
78 $(PNG2ASSET) $(RES)/color_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_nums_map_3.c -map -use_map_attributes -entity_tileset $(RES)/color_nums8x8_30_to_39.png
79 $(PNG2ASSET) $(RES)/color_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_nums_map_4.c -map -use_map_attributes -source_tileset $(RES)/color_nums8x8_9_to_0.png -entity_tileset $(RES)/color_nums8x8_30_to_39.png
80 $(PNG2ASSET) $(RES)/color_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_nums_map_5.c -map -use_map_attributes
81 $(PNG2ASSET) $(RES)/color_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_nums_map_6.c -map -use_map_attributes -keep_duplicate_tiles -source_tileset $(RES)/color_nums8x8_9_to_0.png
82 $(PNG2ASSET) $(RES)/color_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_nums_map_7.c -map -use_map_attributes -keep_duplicate_tiles -entity_tileset $(RES)/color_nums8x8_30_to_39.png
83 $(PNG2ASSET) $(RES)/color_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_nums_map_8.c -map -use_map_attributes -keep_duplicate_tiles -source_tileset $(RES)/color_nums8x8_9_to_0.png -entity_tileset $(RES)/nums8x8_30_to_39.png
84 # above + color + indexed
85 $(PNG2ASSET) $(RES)/color_indexed_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_indexed_nums_map_1.c -map -use_map_attributes -keep_palette_order
86 $(PNG2ASSET) $(RES)/color_indexed_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_indexed_nums_map_2.c -map -use_map_attributes -keep_palette_order -source_tileset $(RES)/color_indexed_nums8x8_9_to_0.png
87 $(PNG2ASSET) $(RES)/color_indexed_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_indexed_nums_map_3.c -map -use_map_attributes -keep_palette_order -entity_tileset $(RES)/color_indexed_nums8x8_30_to_39.png
88 $(PNG2ASSET) $(RES)/color_indexed_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_indexed_nums_map_4.c -map -use_map_attributes -keep_palette_order -source_tileset $(RES)/color_indexed_nums8x8_9_to_0.png -entity_tileset $(RES)/color_indexed_nums8x8_30_to_39.png
89 $(PNG2ASSET) $(RES)/color_indexed_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_indexed_nums_map_5.c -map -use_map_attributes -keep_palette_order
90 $(PNG2ASSET) $(RES)/color_indexed_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_indexed_nums_map_6.c -map -use_map_attributes -keep_palette_order -keep_duplicate_tiles -source_tileset $(RES)/color_indexed_nums8x8_9_to_0.png
91 $(PNG2ASSET) $(RES)/color_indexed_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_indexed_nums_map_7.c -map -use_map_attributes -keep_palette_order -keep_duplicate_tiles -entity_tileset $(RES)/color_indexed_nums8x8_30_to_39.png
92 $(PNG2ASSET) $(RES)/color_indexed_nums8x8_map_0_to_39.png -o $(OUTDIR)/color_indexed_nums_map_8.c -map -use_map_attributes -keep_palette_order -keep_duplicate_tiles -source_tileset $(RES)/color_indexed_nums8x8_9_to_0.png -entity_tileset $(RES)/nums8x8_30_to_39.png
93
94 # ZGB flavor of above
95 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_nums_map_1.c -map -use_structs
96 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_nums_map_2.c -map -use_structs -source_tileset $(RES)/nums8x8_9_to_0.png
97 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_nums_map_3.c -map -use_structs -entity_tileset $(RES)/nums8x8_30_to_39.png
98 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_nums_map_4.c -map -use_structs -source_tileset $(RES)/nums8x8_9_to_0.png -entity_tileset $(RES)/nums8x8_30_to_39.png
99 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_nums_map_5.c -map -use_structs
100 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_nums_map_6.c -map -use_structs -keep_duplicate_tiles -source_tileset $(RES)/nums8x8_9_to_0.png
101 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_nums_map_7.c -map -use_structs -keep_duplicate_tiles -entity_tileset $(RES)/nums8x8_30_to_39.png
102 $(PNG2ASSET) $(RES)/nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_nums_map_8.c -map -use_structs -keep_duplicate_tiles -source_tileset $(RES)/nums8x8_9_to_0.png -entity_tileset $(RES)/nums8x8_30_to_39.png
103 # ZGB flavor of above + color
104 $(PNG2ASSET) $(RES)/color_nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_color_nums_map_1.c -map -use_map_attributes -use_structs
105 $(PNG2ASSET) $(RES)/color_nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_color_nums_map_2.c -map -use_map_attributes -use_structs -source_tileset $(RES)/color_nums8x8_9_to_0.png
106 $(PNG2ASSET) $(RES)/color_nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_color_nums_map_3.c -map -use_map_attributes -use_structs -entity_tileset $(RES)/color_nums8x8_30_to_39.png
107 $(PNG2ASSET) $(RES)/color_nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_color_nums_map_4.c -map -use_map_attributes -use_structs -source_tileset $(RES)/color_nums8x8_9_to_0.png -entity_tileset $(RES)/color_nums8x8_30_to_39.png
108 # above + color + indexed
109 $(PNG2ASSET) $(RES)/color_indexed_nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_color_indexed_nums_map_1.c -map -use_map_attributes -keep_palette_order -use_structs
110 $(PNG2ASSET) $(RES)/color_indexed_nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_color_indexed_nums_map_2.c -map -use_map_attributes -keep_palette_order -use_structs -source_tileset $(RES)/color_indexed_nums8x8_9_to_0.png
111 $(PNG2ASSET) $(RES)/color_indexed_nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_color_indexed_nums_map_3.c -map -use_map_attributes -keep_palette_order -use_structs -entity_tileset $(RES)/color_indexed_nums8x8_30_to_39.png
112 $(PNG2ASSET) $(RES)/color_indexed_nums8x8_map_0_to_39.png -o $(OUTDIR)/zgb_color_indexed_nums_map_4.c -map -use_map_attributes -keep_palette_order -use_structs -source_tileset $(RES)/color_indexed_nums8x8_9_to_0.png -entity_tileset $(RES)/color_indexed_nums8x8_30_to_39.png
113
114
115 # keep_palette_order + source_tileset + noflip + map (gbphoto)
116 $(PNG2ASSET) $(RES)/remote.png -c $(OUTDIR)/remote.c -keep_palette_order -map -noflip
117 $(PNG2ASSET) $(RES)/remote_down.png -c $(OUTDIR)/remote_down.c -keep_palette_order -map -noflip -source_tileset $(RES)/remote.png
118
119 # Logo example: attributes, various platforms, different images for each
120 $(PNG2ASSET) $(RES)/DMG/GBDK_2020_logo.png -o $(OUTDIR)/gbdklogo_1.c -map -bpp 2 -max_palettes 1 -pack_mode gb -noflip
121 $(PNG2ASSET) $(RES)/CGB/GBDK_2020_logo.png -o $(OUTDIR)/gbdklogo_2.c -map -use_map_attributes -bpp 2 -max_palettes 8 -pack_mode gb
122 $(PNG2ASSET) $(RES)/NES/GBDK_2020_logo.png -o $(OUTDIR)/gbdklogo_3.c -map -use_nes_attributes -bpp 2 -max_palettes 4 -pack_mode nes -noflip -use_nes_colors
123 $(PNG2ASSET) $(RES)/SEGA/GBDK_2020_logo.png -o $(OUTDIR)/gbdklogo_4.c -map -use_map_attributes -bpp 4 -max_palettes 2 -pack_mode sms
124
125 # Large Map: attributes, various platforms, noflip
126 $(PNG2ASSET) $(RES)/largemap.png -c $(OUTDIR)/largemap_1.c -map -bpp 2 -max_palettes 4 -pack_mode gb -noflip
127 $(PNG2ASSET) $(RES)/largemap.png -c $(OUTDIR)/largemap_2.c -map -bpp 2 -max_palettes 8 -use_map_attributes -pack_mode gb
128 $(PNG2ASSET) $(RES)/largemap.png -c $(OUTDIR)/largemap_3.c -map -bpp 2 -max_palettes 4 -pack_mode gb -noflip
129 $(PNG2ASSET) $(RES)/largemap.png -c $(OUTDIR)/largemap_4.c -map -bpp 2 -max_palettes 4 -pack_mode gb -noflip
130 $(PNG2ASSET) $(RES)/largemap.png -c $(OUTDIR)/largemap_5.c -map -bpp 4 -max_palettes 2 -use_map_attributes -pack_mode sms
131 $(PNG2ASSET) $(RES)/largemap.png -c $(OUTDIR)/largemap_6.c -map -bpp 4 -max_palettes 2 -use_map_attributes -pack_mode sms
132 $(PNG2ASSET) $(RES)/largemap.png -c $(OUTDIR)/largemap_7.c -map -bpp 2 -max_palettes 4 -use_nes_attributes -pack_mode nes -noflip -b 0
133
134 # Metasprites, various sprite sizing, output options
135 $(PNG2ASSET) $(RES)/sprite_slon.png -c $(OUTDIR)/sprite_slon_1.c -sh 48 -spr8x8 -noflip
136 $(PNG2ASSET) $(RES)/sprite_slon.png -c $(OUTDIR)/sprite_slon_2.c -sh 48 -spr8x16 -noflip
137 $(PNG2ASSET) $(RES)/sprite_slon.png -c $(OUTDIR)/sprite_slon_3.c -sh 48 -spr8x16 -noflip -metasprites_only
138 $(PNG2ASSET) $(RES)/sprite_slon.png -c $(OUTDIR)/sprite_slon_4.c -sh 48 -spr8x16 -noflip -tiles_only
139
140 # hblank copy: noflip
141 $(PNG2ASSET) $(RES)/hblank_copy.png -o $(OUTDIR)/hblankcopy_1.c -map -noflip -tiles_only -keep_duplicate_tiles -b 255
142
143 # apa image style
144 $(PNG2ASSET) $(RES)/apa_image.png -c $(OUTDIR)/apaimage_1.c -map -keep_duplicate_tiles -bpp 2 -tiles_only
145
146 # SGB Border
147 $(PNG2ASSET) $(RES)/SGB/sgb_border.png -c $(OUTDIR)/sgb_border_1.c -map -bpp 4 -max_palettes 4 -pack_mode sgb -use_map_attributes
148 $(PNG2ASSET) $(RES)/SGB/sgb_border.png -c $(OUTDIR)/sgb_border_2.c -map -bpp 4 -max_palettes 4 -pack_mode sgb -use_map_attributes -no_palettes
149 $(PNG2ASSET) $(RES)/SGB/sgb_border_multi_pal.png -c $(OUTDIR)/sgb_border_multi_pal.c -map -bpp 4 -max_palettes 4 -pack_mode sgb -use_map_attributes
150
151 # -bin output
152 $(PNG2ASSET) $(RES)/gameboy.png -o $(OUTDIR)/binout_basic.bin -map -bin
153 $(PNG2ASSET) $(RES)/gameboy.png -o $(OUTDIR)/binout_tileonly.bin -map -bin -tiles_only
154 $(PNG2ASSET) $(RES)/gameboy.png -o $(OUTDIR)/binout_maponly.bin -map -bin -maps_only
155 $(PNG2ASSET) $(RES)/gameboy.png -o $(OUTDIR)/binout_maponly-nopal.bin -map -bin -maps_only -no_palettes
156
157 # -no_palettes
158 $(PNG2ASSET) $(RES)/no_pal_map_test.png -c $(OUTDIR)/no_pal_map_test_keep_pal_order.c -noflip -map -keep_palette_order -no_palettes
159 $(PNG2ASSET) $(RES)/no_pal_map_test.png -c $(OUTDIR)/no_pal_map_test.c -noflip -map -no_palettes
160
161 # -use_metafile
162 $(PNG2ASSET) $(RES)/no_pal_map_test.png -c $(OUTDIR)/no_pal_map_test_keep_pal_order_usemetafile.c -use_metafile
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.