From 819b618b7086748f9bbe0dcac10d74c92f8c1317 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Fri, 15 Dec 2017 14:04:50 -0500 Subject: [PATCH] mode7: work on fade --- gr-sim/Makefile | 6 +-- gr-sim/fade.c | 113 +++++++++++++++++++++++++++++++++++++++++++++--- tfv/sprites.png | Bin 2238 -> 2294 bytes 3 files changed, 111 insertions(+), 8 deletions(-) diff --git a/gr-sim/Makefile b/gr-sim/Makefile index 8525cc97..95e7d8fa 100644 --- a/gr-sim/Makefile +++ b/gr-sim/Makefile @@ -11,10 +11,10 @@ all: fade fixed_point rainbow sparkle starfield kaleido \ #### -fade: fade.o gr-sim.o tfv_backgrounds.o tfv_utils.o - $(CC) $(LFLAGS) $(SDL_LIBS) -o fade fade.o gr-sim.o tfv_backgrounds.o tfv_utils.o +fade: fade.o gr-sim.o tfv_utils.o + $(CC) $(LFLAGS) $(SDL_LIBS) -o fade fade.o gr-sim.o tfv_utils.o -fade.o: fade.c +fade.o: fade.c demo_title.c $(CC) $(CFLAGS) -c fade.c #### diff --git a/gr-sim/fade.c b/gr-sim/fade.c index ad09a48e..fa6cca2c 100644 --- a/gr-sim/fade.c +++ b/gr-sim/fade.c @@ -6,12 +6,28 @@ #include "gr-sim.h" #include "tfv_utils.h" #include "tfv_zp.h" -#include "tfv_backgrounds.h" + +#include "demo_title.c" +#if 0 +static int fade_map[2][16]={ +// 0 1 2 3 4 5 6 7 8 9 a b c d e f + {0,1,2,2,4,5,2,5, 8,8,5,3,4,8,4,7}, + {0,0,0,5,0,0,5,5, 0,0,0,5,8,5,5,5}, + +}; +#endif + +static int fade_map[2][16]={ +// 0 1 2 3 4 5 6 7 8 9 a b c d e f + {0,0,0,2,0,0,2,5, 5,8,5,3,4,8,4,7}, + {0,0,0,0,0,0,5,0, 0,0,0,0,8,0,0,5}, + +}; int main(int argc, char **argv) { - int result; + int x,temph,templ,ch; grsim_init(); gr(); @@ -20,15 +36,102 @@ int main(int argc, char **argv) { clear_bottom(PAGE1); clear_bottom(PAGE2); - grsim_unrle(title_rle,0xc00); + grsim_unrle(demo_rle,0xc00); gr_copy_to_current(0xc00); page_flip(); gr_copy_to_current(0xc00); page_flip(); - repeat_until_keypressed(); + while(1) { + repeat_until_keypressed(); - return result; + /* Fade step 1 */ + for(x=0xc00;x<0x1000;x++) { + temph=ram[x]&0xf0; + templ=ram[x]&0x0f; + + templ=fade_map[0][templ]; + temph=fade_map[0][temph>>4]; + + ram[x-0x800]=(temph<<4)|templ; + } + grsim_update(); + + ch=repeat_until_keypressed(); + if (ch=='q') break; + + /* Fade step 2 */ + + for(x=0xc00;x<0x1000;x++) { + temph=ram[x]&0xf0; + templ=ram[x]&0x0f; + + templ=fade_map[1][templ]; + temph=fade_map[1][temph>>4]; + + ram[x-0x800]=(temph<<4)|templ; + } + grsim_update(); + + ch=repeat_until_keypressed(); + if (ch=='q') break; + + /* Fade to black */ + + for(x=0x400;x<0x800;x++) { + ram[x]=0x00; + } + grsim_update(); + + ch=repeat_until_keypressed(); + if (ch=='q') break; + + + /* Unfade step 2 */ + for(x=0xc00;x<0x1000;x++) { + temph=ram[x]&0xf0; + templ=ram[x]&0x0f; + + templ=fade_map[1][templ]; + temph=fade_map[1][temph>>4]; + + ram[x-0x800]=(temph<<4)|templ; + } + grsim_update(); + + ch=repeat_until_keypressed(); + if (ch=='q') break; + + /* Unfade step 1 */ + for(x=0xc00;x<0x1000;x++) { + temph=ram[x]&0xf0; + templ=ram[x]&0x0f; + + templ=fade_map[0][templ]; + temph=fade_map[0][temph>>4]; + + ram[x-0x800]=(temph<<4)|templ; + } + grsim_update(); + + ch=repeat_until_keypressed(); + if (ch=='q') break; + + /* Total unfade */ + for(x=0xc00;x<0x1000;x++) { + temph=ram[x]&0xf0; + templ=ram[x]&0x0f; + + ram[x-0x800]=(temph)|templ; + } + grsim_update(); + + ch=repeat_until_keypressed(); + if (ch=='q') break; + + } + + return 0; } diff --git a/tfv/sprites.png b/tfv/sprites.png index 809819e1929ecd393cf0042583af8e46f45df137..66f91284096457cc59337841a9789dce65053f4f 100644 GIT binary patch delta 2195 zcmV;E2yFMh5%v*~V3BPee-aZrLm5DL000PCNklruhMrn?TM>Hbp(u(I5TuXk%VfB5*h$*W(_hcOMB9DwPV0uJGuBfE~`?m~b#Lke6EBLLmj+nP~R zpa8bkIDo20Dpb3&E$bcVA7?cwHcM z`I@H9Pb^H9e|Q$yu=I~40HrAgU=JV&wD*=uybjo)`il-gZI57> zn@TWBQW+#ie|~~kfc9ZT064XM``7-7?Vox8mW4MNfIF(Hz9uk$N~TTW(3wN0)e*gfP?Xm6AAON(fr&ygm9{>@E z>{!QV&ptoh5&+ssYt!IwmEMRU0K)-b6h0RN0FcJ&Eddl!v2zPBoVOZh1pxpu0RXC% zoda;YfFUY?wA1;Ns0W}R08SQQ;(A<|AV}*V8-RlBW(T5AV*pUe;#&ZKjYV7ajYT0d zp)0K+e+VH$N+SRW6`kA#03aRFd&^jVO-ulY3!X!4?2rLaD2j?io-)Z@5P*fH1;bdv z%cDh?(GLp=03fBH*Z?3!L0q7!nD`cC0Sg8NfCmeJ!2w8yBpLwV0)S{VumC760buPZ zgD3z1+y$V;0t2YhLbw_L;GSUvFqRtt^b1i3e>4Cfk&pm@6aZ`wfLMSfmIdI64S-Dr z0|1B#q{;6Jxg%MC0-#x-c_lK@hO?S8Z$oFnM6V_CE)}mzyKM7zVkI3IMwf z*a3hWv*H5q6(0bq4FEO(AjW@VR$Ld@EdUw>DS)NL2m$bJ1L@QPZlAIR$j&q(5)5Ez zf8mSO)o*bnuzZ_0Pk=08LF6tf`m3r10II47KpC6B&A-2YLP9_U00iz6Yz5#Zs%6j< z2Eb~b0NI&}1zfBr*HjmW%vL;%3;>=+aW02@8~1he?Z7R}BA z8fvrver`zS-6KGzFX$hWsbBy+F5u`N1i&LQ?;g?Vzxwaq3Ol@^-*=y2HtTBvs09Gt zJt8iUmQ3ls7%mX7PcWNpd|{gtgEH?P5dc_u3_*+-;I~iE69GCCnKw`HG)<@Xe-*Jp zfNP&%7e%}WzSr7pB9x0vek?O8~k$LwByTA;ogQcV-7yvd?KsN+rVON8?vr%w2 z03Pwp6xL!$5@s>v2B2F>PxE`7Ckdzl0E$Iq0~jc7M`bze?hhq$=@tNrWDP_YL&|eS zbUyS!Fx}MqX$K&YOT13h_XB{)f9cgC1z=4D0AQKF%L!TnNT_O#_6$`Y1dkMQb{Q6F z46vr*j{!RafRFyfd@cZh^oXp6vt&I?SA#PjjnxGJPy|IhSoh76(%jMTj~qx$lxPeH z0HBzT0tTzbu;RCPXL!V`19IhoPjk+$hBd_U1wob9}e?;6;!jNgnDjQeg z1|Wm#5W+cx*jS4jfONH9C=}+ZRW?@Q24MJydLH!8{Z(e;dfWgcu;K-*xXQ*{&jKPW z@`;$o0C{{R)>)wM$oMz2*Bc&8KBlLc&OkO!#|^;19J#F69lRQ}#;LdgkS;u4H;2z$ zRM;p=KOnbv0OHdSe+h7b_%uZPgJ6srBEA4()ew<=0K}^yGSplM^%^44Xoz&bhKook zoa-7&L>5Ec1Bl3SxO)H*X^8YJpcezW1rYlza8M1ATv!1dR6``R0Q?&wxjp~np#|Xo zmQVvwBQ9N`D!6~KuYu8cU70o)7ihkgA_{p7aP%vng6|7Ve~%_M0G#e1e+qW_Fa6mc z9025<7rajt8a}V*P(pI$Oe6SODTOY;w6d1|{5}Rj)ae03u9p%EfXJuhL7ltV({%y= z4+?`_!1Jbd7SPu4QLu@)AI#JaA`PM@`)=01(Q(}|00qRq9UOM^sl?k&PDHLkV1lYFs)+yq delta 2136 zcmWNOX&}@IAAo=VxlA*L>17?cCWhQn7FowIDpGER9FvfWH7Zid{GE%^NUj$@!NF783!g}$3>e6N>xiGf_Hxlz+wkg`W z5C``i`>&?9JF{T+_Hk-Xai+P5C7)`p5=E{s-tgsm+zA6s+l~aDl2YLJA8&b9v5^Uf z60CR@BUZ632PBW@dK*@y-5kllYHt^O@umCt>SbPd-^tjkI;39a<#9gfqLN^_VXsDT z()<+}rW5=)ozU+S>Mmt^w`y-qjT?w>jIc!44>kPNAlr>fdPQKKu}dUPOOekD}h zvPU(=y`8BtVBtMK9L$PwuE5d|n|<#CSY59i3SqHG1+_zIeEUFyZ#JxRvt~BXe0T@b@!p)24c$nU0vj|8 zTPKAw+s-fc8-x2`F41*^erm5pOdhLY@Z)JZt7P7=w6qFC@xw z+NVMj%?Dfn>iQx6Kq~ES+8MA};Avz%$we5CQLS~*P;|Dhu_&WEy`nyomQI}M0h%~w zp#abm&Y$mvNlnZVnrWh3Z7q|)xTRlBI@P7?;R;22i_{O{&A3I(9S(YQKo|4pv8W=7P!F6CAf_9AUS7Y!v1JQ;mz}U^uY56#r9gdLD$dvv<>I2ZLnUHZ5 zh(hoFjTcNl;mmOm^smMjoOq79~ceSVY-7mEr z5GGmoJOC9&BP9Y#y5>Qtk>O`eFJ*yGTo5hc8cPhDQ&(T|oDp9`2PxAmx9U-nGYCeW z(iLSuO=lHHUVfq6^$$krNCPCtxJ-@cFm9R+UAuIf1=^<657%%s?VmZ}Ov{p%kkrg! zayWDLtxg;JF`jDhvlPVe37RTXG0o$9@I9mK`E41Fg(ta0xMQ11+aa4Zv`Hl!MzTA3 zn-Z&qGj_pusMI%`2AS)%5H{C6Q~`&!?Cgw8x_-JQ)c393Q`5~mXIZ*6L;~7#;w2gJ z8|*9Bh*lhyNB=mpHKS3*J3T-)1K|vYi0URToTDQ;2zppsOThn|S2V?b=ulvABnC>t zDbC8wm2-MFqY_8YqchSIm^_2Xw|cWL5XR&}wJVb7gFxbYtz)STuqD&$x*b!8(8|0T z6r8D-i@dF0J1BSyV|5OX{dYsTExl$O6CnSpZ*2I`B?x34nvN!Q9k4yySC%dvr3y>lM?PKMwjwc4AuAq_U>rmTbV%pik%t{JjGM=ufKO?5 zgUi~q=IM8J=)?`j^h6DG1Ai@;wiMogFo^YTX(ce3LA6Zz9~ZeZ8j&!CDJMg+Pr;sN z4G??ip%^;LIY~dqWLjK7F5PFzf+p_W_O-D`{sT@HX@w6e6juKI_&MnG+Un@X+8b;c z7^`$S+5H7nXiw^8><~{}vr7M~r?)?8x#_cLSk(>&K|5DJbxMjY9#=L0J^$-sPFnR| zO85BFGy}=|ujg#kA~s(*W2YtVZX>_2oV$97aw&HUXK;sRM!)Q98J`ya&|zD-*VaZn z@+3DV2w!~CUE8uhf}F}+Zr{HwRvy%EdrU9Pewmvfrtms?4J^y@OmxpTmEEa}+hYl* z#3mxwdNG_CkSfiuw<9os!en* zGRqNP5eKk742m1S4O|K7wy!L{?9R08{b?qq4DX$@456HUcRm^l$Xv^j+E>c)mN_DM zeNA;ZwLyEGDb0gPwCwQ5Kq)9H`@kWu}cla3?Juj}Gdmd!}aOTn~-3U{TK z!Y^L;v(rPn2jq1ql}f9>_qDu^YcmJk_7=O+1j*%g^ehn<*0rWoa4SDuU$PH=;=0}4 J`JNLi_5YP9q^ke`