From 67dabb62a91a16c9b1726f3c933db7b5def9aa51 Mon Sep 17 00:00:00 2001 From: blondie7575 Date: Mon, 6 Aug 2018 13:00:13 -0700 Subject: [PATCH] Overhaul of art pipeline to support sprite flipping --- Art/{cat_000.gif => 000Cat.gif} | Bin Art/{Cat_000.xcf => 000Cat.xcf} | Bin Art/{cat_001.gif => 001Cat.gif} | Bin Art/{Cat_001.xcf => 001Cat.xcf} | Bin Art/{box_002.gif => 002Box.gif} | Bin Art/{Box_002.xcf => 002Box.xcf} | Bin Art/{bomb_003.gif => 003Bomb.gif} | Bin Art/{Bomb_003.xcf => 003Bomb.xcf} | Bin Art/{spit0_004.gif => 004Spit0.gif} | Bin Art/{Spit0_004.xcf => 004Spit0.xcf} | Bin Art/{spit1_005.gif => 006Spit1.gif} | Bin Art/{Spit1_005.xcf => 006Spit1.xcf} | Bin Art/{spit2_006.gif => 008Spit2.gif} | Bin Art/{Spit2_006.xcf => 008Spit2.xcf} | Bin Art/{tab_007.gif => 010Tab.gif} | Bin Art/{Tab_007.xcf => 010Tab.xcf} | Bin Art/{select_008.gif => 011Select.gif} | Bin Art/{Select_008.xcf => 011Select.xcf} | Bin Art/{fan_009.gif => 012Fan.gif} | Bin Art/{Fan_009.xcf => 012Fan.xcf} | Bin GSCats.xcodeproj/project.pbxproj | 2 ++ Makefile | 19 ++++++++++++++----- RenumberSpriteFiles.sh | 16 ++++++++++++++++ SpriteBank00.bin | Bin 2682 -> 3649 bytes gscats.2mg | Bin 819264 -> 819264 bytes inventory.s | 4 ++-- projectile.s | 10 +++++----- spritebank.s | 8 ++++---- 28 files changed, 43 insertions(+), 16 deletions(-) rename Art/{cat_000.gif => 000Cat.gif} (100%) rename Art/{Cat_000.xcf => 000Cat.xcf} (100%) rename Art/{cat_001.gif => 001Cat.gif} (100%) rename Art/{Cat_001.xcf => 001Cat.xcf} (100%) rename Art/{box_002.gif => 002Box.gif} (100%) rename Art/{Box_002.xcf => 002Box.xcf} (100%) rename Art/{bomb_003.gif => 003Bomb.gif} (100%) rename Art/{Bomb_003.xcf => 003Bomb.xcf} (100%) rename Art/{spit0_004.gif => 004Spit0.gif} (100%) rename Art/{Spit0_004.xcf => 004Spit0.xcf} (100%) rename Art/{spit1_005.gif => 006Spit1.gif} (100%) rename Art/{Spit1_005.xcf => 006Spit1.xcf} (100%) rename Art/{spit2_006.gif => 008Spit2.gif} (100%) rename Art/{Spit2_006.xcf => 008Spit2.xcf} (100%) rename Art/{tab_007.gif => 010Tab.gif} (100%) rename Art/{Tab_007.xcf => 010Tab.xcf} (100%) rename Art/{select_008.gif => 011Select.gif} (100%) rename Art/{Select_008.xcf => 011Select.xcf} (100%) rename Art/{fan_009.gif => 012Fan.gif} (100%) rename Art/{Fan_009.xcf => 012Fan.xcf} (100%) create mode 100755 RenumberSpriteFiles.sh diff --git a/Art/cat_000.gif b/Art/000Cat.gif similarity index 100% rename from Art/cat_000.gif rename to Art/000Cat.gif diff --git a/Art/Cat_000.xcf b/Art/000Cat.xcf similarity index 100% rename from Art/Cat_000.xcf rename to Art/000Cat.xcf diff --git a/Art/cat_001.gif b/Art/001Cat.gif similarity index 100% rename from Art/cat_001.gif rename to Art/001Cat.gif diff --git a/Art/Cat_001.xcf b/Art/001Cat.xcf similarity index 100% rename from Art/Cat_001.xcf rename to Art/001Cat.xcf diff --git a/Art/box_002.gif b/Art/002Box.gif similarity index 100% rename from Art/box_002.gif rename to Art/002Box.gif diff --git a/Art/Box_002.xcf b/Art/002Box.xcf similarity index 100% rename from Art/Box_002.xcf rename to Art/002Box.xcf diff --git a/Art/bomb_003.gif b/Art/003Bomb.gif similarity index 100% rename from Art/bomb_003.gif rename to Art/003Bomb.gif diff --git a/Art/Bomb_003.xcf b/Art/003Bomb.xcf similarity index 100% rename from Art/Bomb_003.xcf rename to Art/003Bomb.xcf diff --git a/Art/spit0_004.gif b/Art/004Spit0.gif similarity index 100% rename from Art/spit0_004.gif rename to Art/004Spit0.gif diff --git a/Art/Spit0_004.xcf b/Art/004Spit0.xcf similarity index 100% rename from Art/Spit0_004.xcf rename to Art/004Spit0.xcf diff --git a/Art/spit1_005.gif b/Art/006Spit1.gif similarity index 100% rename from Art/spit1_005.gif rename to Art/006Spit1.gif diff --git a/Art/Spit1_005.xcf b/Art/006Spit1.xcf similarity index 100% rename from Art/Spit1_005.xcf rename to Art/006Spit1.xcf diff --git a/Art/spit2_006.gif b/Art/008Spit2.gif similarity index 100% rename from Art/spit2_006.gif rename to Art/008Spit2.gif diff --git a/Art/Spit2_006.xcf b/Art/008Spit2.xcf similarity index 100% rename from Art/Spit2_006.xcf rename to Art/008Spit2.xcf diff --git a/Art/tab_007.gif b/Art/010Tab.gif similarity index 100% rename from Art/tab_007.gif rename to Art/010Tab.gif diff --git a/Art/Tab_007.xcf b/Art/010Tab.xcf similarity index 100% rename from Art/Tab_007.xcf rename to Art/010Tab.xcf diff --git a/Art/select_008.gif b/Art/011Select.gif similarity index 100% rename from Art/select_008.gif rename to Art/011Select.gif diff --git a/Art/Select_008.xcf b/Art/011Select.xcf similarity index 100% rename from Art/Select_008.xcf rename to Art/011Select.xcf diff --git a/Art/fan_009.gif b/Art/012Fan.gif similarity index 100% rename from Art/fan_009.gif rename to Art/012Fan.gif diff --git a/Art/Fan_009.xcf b/Art/012Fan.xcf similarity index 100% rename from Art/Fan_009.xcf rename to Art/012Fan.xcf diff --git a/GSCats.xcodeproj/project.pbxproj b/GSCats.xcodeproj/project.pbxproj index 047beaf..cbe65fd 100644 --- a/GSCats.xcodeproj/project.pbxproj +++ b/GSCats.xcodeproj/project.pbxproj @@ -13,6 +13,7 @@ 700F21DE1F43E31300D7007D /* input.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = input.s; sourceTree = ""; }; 700F21DF1F4A364600D7007D /* projectile.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = projectile.s; sourceTree = ""; }; 700F21E01F4A3A5500D7007D /* GenerateTrigTables.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = GenerateTrigTables.py; sourceTree = ""; }; + 700F72872112428D00225B17 /* RenumberSpriteFiles.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = RenumberSpriteFiles.sh; sourceTree = ""; }; 700FFAFB1F40F3BF00A442DE /* font.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = font.s; sourceTree = ""; }; 7059502B1F37A0BE00BBE90F /* GenerateVRAMTable.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = GenerateVRAMTable.py; sourceTree = ""; }; 705AAFA920040B0D001BB0ED /* terrain_e1.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = terrain_e1.s; sourceTree = ""; }; @@ -65,6 +66,7 @@ 70E9D8631F2BD95400555C19 /* Makefile */, 70BDCBC92006AD5F00CB51F1 /* linkerConfig */, 70FE79D21F8814A600E0095C /* MerlinToCA65.sh */, + 700F72872112428D00225B17 /* RenumberSpriteFiles.sh */, 7088096D1F2ECE8D00D4C950 /* GenerateRenderSpans.py */, 7059502B1F37A0BE00BBE90F /* GenerateVRAMTable.py */, 7099E3851F4107B100182A82 /* GenerateVRAMYOffset.py */, diff --git a/Makefile b/Makefile index 0c3b9b6..a5d7006 100644 --- a/Makefile +++ b/Makefile @@ -15,9 +15,11 @@ ADDR=800 PGM=gscats MRSPRITE=../MrSprite/mrsprite +GENART=Art/Generated CHROMA=a4dffb PALETTE=a4dffb a4dffb 008800 886611 cc9933 eebb44 dd6666 ff99aa 777777 ff0000 b7b7b7 dddddd 0077bb ffff00 000000 ffffff SPRITES=SpriteBank +FLIPLIST=$(wildcard Art/*Fan.gif) $(wildcard Art/*Spit*.gif) REMOTESYMBOLS=-Wl $(shell ./ParseMapFile.py *.map) all: terrain_e1 $(PGM) loader @@ -57,13 +59,20 @@ clean: rm -f terrain_e1.o rm -f terrain_e1.map rm -f terrain_e1 + rm -f Art/*m.gif + rm -f $(GENART)/* .PHONY: art art: - $(MRSPRITE) CODE "Art/*.gif" $(CHROMA) $(PALETTE) - $(MRSPRITE) BANK "Art/*.txt" $(SPRITES) - mv Art/$(SPRITES)00.bin . - ./MerlinToCA65.sh Art/$(SPRITES)Src.txt > spritebank.s - rm Art/*.txt + rm -f $(GENART)/* + for gif in $(FLIPLIST); do $(MRSPRITE) MIRROR "$$gif" $(CHROMA); done + ./RenumberSpriteFiles.sh + $(MRSPRITE) CODE $(GENART)"/*.gif" $(CHROMA) $(PALETTE) + $(MRSPRITE) BANK $(GENART)"/*.txt" $(SPRITES) +# $(MRSPRITE) WALLPAPER "Art/*.gif" $(CHROMA) ff0000 + mv $(GENART)/$(SPRITES)00.bin . + ./MerlinToCA65.sh $(GENART)/$(SPRITES)Src.txt > spritebank.s + rm $(GENART)/*.txt + rm -f Art/*m.gif java -jar $(AC) -d $(PGM).2mg $(SPRITES)00 java -jar $(AC) -p $(PGM).2mg $(SPRITES)00 BIN 0x0000 < $(SPRITES)00.bin diff --git a/RenumberSpriteFiles.sh b/RenumberSpriteFiles.sh new file mode 100755 index 0000000..ecc6c64 --- /dev/null +++ b/RenumberSpriteFiles.sh @@ -0,0 +1,16 @@ +#!/bin/bash +# Takes the list of gifs in the art folder and numbers them in +# increasing order. This is needed for Mr. Sprite to process them properly +# but requires that alphabetic order of sprite filenames remains consistent +counter=0 +for filename in Art/*.gif + do + extension="${filename##*.}" + base="${filename%.*}" + printf -v index "%03d" $counter + newpath=$(echo $filename | sed 's/_*[0-9]*\.gif$/\_'$index'.gif/') + newfile=$(basename $newpath) + cp $filename "Art/Generated/"$newfile + ((counter++)) + done + diff --git a/SpriteBank00.bin b/SpriteBank00.bin index 937f31611efa2dbe0c1f9da533a58ff2728fc77c..6b72789b04cf7d751f2efdcf2426cf5f43c7e6c1 100644 GIT binary patch delta 879 zcmY*XF=!J}7=G_AXM0r=6`f8nOOb#>sN*dW+&U=OE0TceV&Fz`YlTGqMe5Xc36z?< zyd-cHC(*^B>Kr0CW{{BiOagrrG?MfGU+!wUe*gD>@B6<0{kie=*6RAZmE)HtV{H4% z$CYd5{?e;UuZ{PqANp_YuJ)E+=Wp05J1FQk_tt(r>vp}-D2Qey+x?37&?JPJ=`MJpMZE6=XbrPL2#h!>W)=Ik`+!@bk(*@9^Z*(% z>=pN(-}!KxKjqc&EEsk1shVchQG&%J7R$2*`DQHNMEMbD=N35li1a`Q5o0@Oi^sOO z(BnNFSu<$GoFK#vkr#>z;Pcc^2>3is>4jvviw1l(jj&}wHoF6Iav`1u6nG3AJN1)*YxAy9_%AS_ z#jBcHZ7w8K{i)hLs@&19YSmIyqMn(Va*|zV3pCpm%#tTBHUq*;U7qFr%f0899!Jbs-#Qz}v3`}0BL4(@Jn9DWr zrL&Ppp%uj0#JsmmhsL(a6rNE|Pv@qBXcKpjDAG~{N5ocozC1pa4>8SsZUvPJ=y;A{ zc0*ku4~DvT?fl+#yoUPAx`X9*l*SfxY`2XD4&%NKWAOr6tl-Z^cXG4Rr*g}NW&8uG CSZUAz delta 60 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 delta 3336 zcmdT`|8pC~72n;HPNzFLk}+Ro8}P;k9FsyWr0ob&rY0dBlZ0>~jc00xsXG3WJK1s! zw4|6Hq>>7fh{L!V`yy;3#lf-8$pOJlJt_?Z2sAF3x}}|Apal~;leodINJtt?2KVjB zjzjwwbS2&U+-Kju_x9bpeL51o>26#@B6ktY+#(J+kbs=Xh1`gs z`^o=)$`Kk`w?7ElFls)ii}6pXq_>H@#8=HCy@6OwWUPUVJKAT|;B*r?&_oWhnZP7P zV&-|3(C5jty6}zuF)ML_$Yh+$WaC^4QJmGe6amq}rP3fexl})h1edB_jI&)_Y842B zOHF`Ca;f7Wdbm`y9B2Eu)MFr0T#8oU>>e&vUV(#gZZG#T_a1kO;~b@q6^?a|ddH)V zgk!(s4abL$GY-jF;ausg+vIF^Zg=)Lhn;UbKXrcPEaI2)tNHu*hxjrq$2wcquI>qFNWmn2jOD}_x$v#?$05r&1gg-?aAgd+D+_iFcj?uXo+ zi;IUJiOo7YWj>Nm*Py$1z@1OmUbi*i9^31lOV@z=z<_%$T{278pqrj>PY<$h^sm_> zF)&#vX0nx{ou?|%PS8@(&dg1soswlD%SEtKTrRE@*NFFsKN9Q3u((b9g*ZL(^M3pw zxiK!9anavc9OLPdjX{WMw>UR4yZn!MCD}9jYvl7Jy^^uyUVN=oDCIn(Ud9v}w-4Z} zBg>^4aVY0GyjaTJbX(tI>D?Yx)%S(6aZ!IZl+{JQ=0kcql=Vt_e<)ih>Cc5|CIt1M zMrST@#`HTC(AN`+2`jqntD(^Mm39^uL>c3)GKuckXvQT5JpkKhBI?Cix?$r4LNaf5 zi1eAf)&eB~#j0@L6isik?SP!47dGC12j1=1;-a<-(Gcl>0Gkzy0KgXdAHnn!+#kbc zmCY1Nh5fosC9%28riu)8AHLnOLYW#c%zbz>mW|ncI1n+^y!Vx{Hgop-r2*4ZJvE?a z`Vq=*^VOLDT%X+LJ9f;*>LS3q1C#qu=Hx$q_VmZOzpvDvPzKsc=OUF%B-bpRw-B(N zP^xCVlP(07FL;Lz5!=!sbkWEkU>Ls{#9m>WFUJ2;pq<9pAifrt8J`W};*v7o$&-iC z**Ar!zn8mh9qZ;|X{$~ASoe>-mBH6n zM|LVzU(f106*Ec#Q#%zvnZT5;=(=LXmB3VoqIW1+bat#m@p*Ract=-!pPLA^2TcqY zYp3E5=aoAFbtzB;3(Kqo7%&vwP(W|2OYvQ8>B?BAB3}+VV}>GotPY1VmQajW@4@B9 z)04Oq4;lwRT#^0>6u5@yP?YPRoo!cxAJoweBY&I3ej?>-hD5pb2S;X4;UaSX4YfQ! ze)j!SdS&f#xgVwR;Tvkly(cHQ@pDgB)ta(?V{P4m!u0qjJD#jEwoc=3!?F9^G(PURuCBhR{^9yv_5Jm))PGb@8g6W;ZFs!lw+*Ko zZfWeHRsE#vVE3^ zd%M&iC`CW-?Ng(lusz1rAYJCABL(?D^#N6kwfeOlqz|f)40CoC{LE!2TtHWSw}q`T z)ZU~T1oJ~Q;{gHIdpqWcKhG1L;48smpcgz{&yc=Iej8^>z+&)qnFW91wmhDTNI;&OlaqDBv z)_KjZK@vbMa!wmX(a@zofB3Yf=c`0-)#RH;w-R3!EV)#NVSo4wP5;8KCcRA?^&y#q z*Pi~nIeNaPE{za)lkbMp$!gQ|xZP=V``V$r1GOX2H3g#xMaFMFc7&kuDbOw{$!q%o zzyc4Hp?&R8Xi@>)af#U{BTMt?WTesuV*CWO4KbB$sC&3`Oba3$s3d_Tf&bY|k#)L=~85>0MIL|qGmmnoJ@-s%Y zoAAb}A~IuOiIj9pq!fOaF|`#&rH6bpGEqPZh|y9={xVX1CHXx!SbZ6BjJQe&CWilU ayu_%!oKy~X>aVUIPU|oJUtj)o)qeoUIqWI` diff --git a/inventory.s b/inventory.s index 56f1794..a9ac115 100644 --- a/inventory.s +++ b/inventory.s @@ -90,7 +90,7 @@ renderInventoryItem: ply phy - lda #8 + lda #11 clc jsr DrawSpriteBank @@ -104,7 +104,7 @@ renderInventoryItem_unselected: adc #ITEM_HEIGHT*160 pha tay - lda #7 + lda #10 jsr DrawSpriteBank ; Render counter diff --git a/projectile.s b/projectile.s index 9cf7692..834541f 100644 --- a/projectile.s +++ b/projectile.s @@ -41,8 +41,8 @@ projectileTypes: .word 3 ; Damage .word 3 ; Crater radius .word 4 ; Frame 0 - .word 5 ; Frame 1 - .word 6 ; Frame 2 + .word 6 ; Frame 1 + .word 8 ; Frame 2 .word 0,0,0 ; Padding to 16-byte boundary @@ -58,9 +58,9 @@ projectileTypes: ; Fan .word 3 ; Damage .word 3 ; Crater radius - .word 9 ; Frame 0 - .word 9 ; Frame 1 - .word 9 ; Frame 2 + .word 12 ; Frame 0 + .word 12 ; Frame 1 + .word 12 ; Frame 2 .word 0,0,0 ; Padding to 16-byte boundary diff --git a/spritebank.s b/spritebank.s index 352006a..7a05bd8 100644 --- a/spritebank.s +++ b/spritebank.s @@ -2,18 +2,18 @@ DrawSpriteBank : - ASL ; A=Sprite Number ($0000-$0009) + ASL ; A=Sprite Number ($0000-$000D) TAX ; Y=Target Screen Address ($2000-$9D00) LDA SpriteBankNum,X ; Relative Sprite Number Table JMP (SpriteBankBank,X) ; Bank Number Table SpriteBankNum : - .dbyt $0100,$0000,$0600,$0300,$0400,$0800,$0500,$0700 - .dbyt $0900,$0200 + .dbyt $0100,$0000,$0900,$0400,$0500,$0800,$0C00,$0B00 + .dbyt $0700,$0600,$0A00,$0D00,$0200,$0300 SpriteBankBank : .addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00 - .addr SpriteBankBank00,SpriteBankBank00 + .addr SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00,SpriteBankBank00 SpriteBankBank00 : JSL $AA0000