From d0b08aac4d814c89cbd6992557c4f2f065a15577 Mon Sep 17 00:00:00 2001 From: Ben Date: Sun, 6 Sep 2020 18:36:53 +0100 Subject: [PATCH] add level 6 and end screen --- build/{blind-0.0.11.gb => blind-0.0.13.gb} | Bin 65536 -> 65536 bytes build/{blind-0.0.10.gb => blind-0.0.14.gb} | Bin 65536 -> 65536 bytes build/{blind-0.0.12.gb => blind-0.0.15.gb} | Bin 65536 -> 65536 bytes build/blind-0.0.8.gb | Bin 65536 -> 0 bytes build/blind-0.0.9.gb | Bin 65536 -> 0 bytes sprites/character/playerTiles.gbr | Bin 9301 -> 9301 bytes sprites/levels/level4Map.gbm | Bin 2396 -> 2396 bytes sprites/levels/level6Map.gbm | Bin 0 -> 2396 bytes sprites/levels/levelEnd.gbm | Bin 0 -> 2396 bytes src/level1/level4Map.c | 4 +- src/level1/level6Map.c | 65 +++++ src/level1/level6Map.h | 27 ++ src/level1/levelEndMap.c | 65 +++++ src/level1/levelEndMap.h | 27 ++ src/level1/main.c | 316 ++++++++++++++------- 15 files changed, 392 insertions(+), 112 deletions(-) rename build/{blind-0.0.11.gb => blind-0.0.13.gb} (89%) rename build/{blind-0.0.10.gb => blind-0.0.14.gb} (80%) rename build/{blind-0.0.12.gb => blind-0.0.15.gb} (80%) delete mode 100644 build/blind-0.0.8.gb delete mode 100644 build/blind-0.0.9.gb create mode 100644 sprites/levels/level6Map.gbm create mode 100644 sprites/levels/levelEnd.gbm create mode 100644 src/level1/level6Map.c create mode 100644 src/level1/level6Map.h create mode 100644 src/level1/levelEndMap.c create mode 100644 src/level1/levelEndMap.h diff --git a/build/blind-0.0.11.gb b/build/blind-0.0.13.gb similarity index 89% rename from build/blind-0.0.11.gb rename to build/blind-0.0.13.gb index 4fcca11cdcdf271cec615de6481db310e22d7a1f..533913644a5883d54629d8fef37fe9e4e4a08be3 100644 GIT binary patch delta 3908 zcmb_fZ%iD=6~Em*?jK;t8IFVdw{sU?PFI2wA39mctcX+N)V8pdBBzQXkWwdU@*xhY zQ$&*9VXJDt)QXd-sy3BUEVa&un$iYU*T_=paE542=WOhXMwVlpqh3UCl%i0g)8RjT zZ}yg57HsuHzs$V%`~Bw4+c&ebv!kQ-(NX)!$BCzq|AB3#MB1u-vf6i5`@L@+UKHoP zPY()_?P7ubE;2!EcZMI9ZxweHA1^*u+^aZ?`-IWErI}I%HiM|2C$)e;OcMoA4fKkg@Y61$WIZ zcrgCvfPq_1+b-E}gXgY#l}TQu_t}gK6Xq&R%)lEtj(Wt^N{;2^AmnHS#1}x1mrvEf z3lPGo4S{*Wd@5UaM+8N$S@DD=gam@UX2E`ozz%{wv*4gbPy>P|&4PYikcA@y)5O={ zkXi9PT>%1rc-|?uDNmdEXH2|NpZ~FLq?j+^YptYV{k2s|g9o+KR%Hh`lJ0bY1E-zF z>;$JqcNB2oK+%{UaGX`Aa*8kHn7)u0m@niSt}Ud5Z!IU@;{#6X18~0exHbT%=J+_* zpV9T0#d=)RV?v0lmEXfo3E)mydq^-837;PiK7XhiDtyl(RQ{k3U#kQT*DIlozGtB- zf7VB@RSQRBa{ScRhW{U`X)T(z9qw1m?dz+i4Y+?b>8D#pl3zCvzt|h=BgduEG(WT= z@Kq#jVoAX-fOg{J;n71!8$O87HIlKJlCo7hSh)1k#~Y=CjUUAS^uPw`4s|oBOa~tL zb^J~52Km^9d&wKrw<~aSVVzAWEj;U>$=2Pm`^-i@X4-Ubx0YV8+|Br>tg!*NHE!V<_{c8xd?OTl z$PBCvnD$~1d&F6t>Tn%{c`kccM=ekysPec!&O-xF1*yTcGnA-@mR@h$BaG8{;Jf~d z0lYS`U)WQx=PpbI$VJwfnQy)P7y4Ep0Fv>*p1^N{fTml?KX5;QgFPbP(1u{L$~SGw z_XodK<-?ou?*w1W?rwqm2zi4I!-atSSnJNSpOPUq%yzesE3hS}9t!bo0x>e(ijWW{ z4v=Zws!b!ggbO#EJ^x+^dkK0StEplR>@VXTx0bKY?WPnWbAU|!D&$f;eyBDmdudxZSY2a&-fC+M(wFGIaM;)HOTp^{rNOl!1;{QT zu@7lB+%Eito(cc_J5u3u>4;DiX1C35bAN%qAWuf{2LxL9{eTvJKA_#pTVRJc3oWqF z0t+p$L-bgrJ?<)W%3`dOjowv+MQ1@>>iOBFiDj@>e`KpT3%Nvj0vviJ603C-;BMhw z5*BL;RFIpqj>1GyRGu#i%4ktk%i_y%8*@ZdA{7SIRdrddh=u$?VYw_$6dN+dyQ}JS z+1?lHWxmKqx*0Ugs9`1yv%@eu4YLc)om#XW1MW4<{a_MTVL7>aXi!yeES+2#h#iV0 zW2NHBMVm}c(>a+4f27OuqvAE0#>pAjq*ure?>HGtR8%%j1~J86c9qajw54T)kFKIWqPqNF(-<&TqmYM|`y+S7HQ>-i(>IeIMmqHuKbX7s_7!%MDSNPB7X zp#dae6E1*I9Gj3nw_P@CO3AaBt*$XCn(PV#VvcKXs#5@c^mvjg0ueq&F@E_BF dZ%laEq_3FpTPFP-Zrcj5rQsJ;e(wEu{tFR);RXNz delta 3732 zcmbVPe{5S<74~~}{436yIEn4VvHh;SMpo92uCA=ES{|X>+HF9Zl#-5VN?|L70a`j} z8;y2xC{pJiOK>T_g*XzxCz5T`gGvdz=(Jmpj zxy;zRu~A}M?B6K;TivccsD4U)Om?ZC76zBdjhNHhcFk8Mm4(wWwm&A!#n=%#BCL1a zj4!a?NaK_V4+v++yyCaT_K(;ADY5>mtS(MIV&77r7$}La?=y^~2WUi+_NYyX3X0)+ zKsk2a(I;k#^JMs3LEbW#8l6kAy`<=n9h$u{UKC~bTuK&zK&NE;>_emRej?gDFYGC~ zx25PyW1;32jCqF9I`bVM3g-OSPnEW+-z#mEj{1O(V(Kyo-X=vSOr83oil>qsRX8 zc&~-G1Mf5OcUgD`@U@)JXbJolK@|uZObG%O-U)oj#5Y@b7w|16K5F6Jz)Q$y^by1@ z0uKo8HYI4a@Lu4PCce$WS4&}egNeV_#D^kzpVTC8GPl3k#FIm;^ZD%f54`2)*ktX_ z@ipa z2gPG%#b?Y45I8{4X%=)@1XUo|Z5HgY2=Em2m<5mPf;gVaP&Dt7n&l_Vf+v?V{O@TZ zYOa8%SWX)=4u%XfrOo(OaO{S&4IKD1YRm)RR2hy84tzc|rUM+8?vzIuo%Gc;^Q9W$ zOEqjP73K{SddnBk=$~==b%Vy_K$9AMq2J*2X@kZVw1s{R7CMXzz1(YDXrtGmNIT5W znu98zGNPA9hSA2zcyy1v=E%#xFv6FIkKxAfwZ_+&9eUmv`TsjH+PvLyV(3rqdcG}H zOG4s~L?=0JFHG>S#V+`}kY=$U8J;Z2_1cN%(o1izmPTve zYQ42ux>dQ8RHBi(AGKccugW}paV_~eTJ7H`)YAL?PqvQMuL^YkZgt=p|AerMey9G- zp8Fe#!UnQZ4au^!4StDfAs6FVyM_sf*>wzlq+BQ>C>o$$1MP;A4mBLk3S?6(0ZHqnoNaShv z9b~ysu;@_8ar&iT)7Te-hlIwnF?QS`!=-^8Zb)hASs%R~dN}bht&z8x)?9Z};VYI~ z5&vg&ufu(edv+fFTeBVWg4#hQVUEFcs2yyROK<8mAA@%4t65()P$H;uxFIe;0i%Mh z!Id$Rtbvlg+`Ln`Nej)N3)S))3wz0tI-0#`Zy~>DTL$t?m*;6$I1G|+gm;GDM>O3) z-oF(F0d2iIo8ik1j!$8 z4}OA7!0j+uhgDvLJ1*At@jpc%E8H60xXG$=;6m-h`ZB`Rd@?N1j z4=;~L$R9DWi_qPXo*KRvaQgbHnM!{d+2H94!6ZY(5jqoT(U%s#k&q4N8>FXbI2sL{ z45Z+gz>MIMkZH)7w6i6;E4o3LpvR)$e{_L;XzvqLVQT%hQ*R}(F z>?G}uKO_8f>`eUbl+!`pyO^$`h0pgoUF7D)w39yC)9dsTaVqVnZ*VgJ=2+d{Cu%Zj zeBF@unD!QWpQZT&=mVBk6L3^iy}qW`f6?m?^}49X&FJ;t^!S@PKdbxy)cJqu{=CkY ToVeNGJ=gi=H-G%%@V);9^uj~X diff --git a/build/blind-0.0.10.gb b/build/blind-0.0.14.gb similarity index 80% rename from build/blind-0.0.10.gb rename to build/blind-0.0.14.gb index 40e8c7e9f1ca85fcc7f4c92729f3f1e7812b6c4b..9d4dc2c58f7b9d4b1537d8aa40b2b6478adecf4a 100644 GIT binary patch delta 11538 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 diff --git a/build/blind-0.0.12.gb b/build/blind-0.0.15.gb similarity index 80% rename from build/blind-0.0.12.gb rename to build/blind-0.0.15.gb index 3be5a1b1dd5d94188815462244fa76c273b27eb0..333570e6d0db9c1d05d5b27b18b032f1baa352f9 100644 GIT binary patch delta 11686 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 diff --git a/build/blind-0.0.8.gb b/build/blind-0.0.8.gb deleted file mode 100644 index bfbbc92a43ed5fee3a7af7d32512e843c24fddb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65536 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 Q1KNN#pbcmP{~ZSY3Ei~`!vFvP diff --git a/build/blind-0.0.9.gb b/build/blind-0.0.9.gb deleted file mode 100644 index 02b33c18ac9be55a7535461a10906f53ef67f793..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65536 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 ft$8p diff --git a/sprites/character/playerTiles.gbr b/sprites/character/playerTiles.gbr index 798132d9292fc2f0b50fe1591341b0fa7d553072..36236557482f367d691033e94fef84bdda34e1f5 100644 GIT binary patch delta 67 zcmccWan)nPZQjYdS=aM2FfcK|!Q?gEdYdosz8BoQMWL6G+vCR#27wtr7=HZtF?pX- S;pV+clNi}TrnoZv*$)5}2N|OP delta 44 zcmV+{0Mq}~NYzNN+YPg@4g?aB(ABfFAdLYFIk`drAayYS;OHomz9Mn6y&{qUk#GjS CDiW#y diff --git a/sprites/levels/level4Map.gbm b/sprites/levels/level4Map.gbm index cfaf4a1553bf8de16cd311cc8c72a8101bdf1da4..1e7ae929bfd801c1c286cda1c1bb9397e85b7068 100644 GIT binary patch delta 270 zcmca3bVq2zMaKGaE(QjMC{|vE_xz#^C%$Gd6srkg^Pm1IDPZ}Q!Ehvu ziJ{24iA4g)W(2ASiP-?@Sy zPuMvbSQ$itDzq7XF|jd(iF2-;2QuVFapgoqN&f_(o=vY8msbGk79a+JIY8QQcSRXY zOaLgh2*?N73)0Gy%Y$L=B)gnmp!np2Os6IbFjq|8&zb|ILqPN-mI<5pvt}?eGECOs N)Mek#&%_Qi5C9^&SQP*O delta 267 zcmca3bVq2zMaFt2o?L#WmJ&yX1+2CVJly0bfVv*~qu`2-+62Z%vn3y?P4Edv)5 z0E#UF@nJmD321-xZyq`6LnUQg_2B$82i5mku G&@=#INl&)` diff --git a/sprites/levels/level6Map.gbm b/sprites/levels/level6Map.gbm new file mode 100644 index 0000000000000000000000000000000000000000..3a3306d245ba9a180ad74d4e23e4c4a27612b025 GIT binary patch literal 2396 zcmZ>F@;CGd@bV4uVPt>-E+ErAF*h|Szf!?Bu|UD8G&3h9wFo9n7urzI0&0&(er~Fj zLPkkRft9{~d3m{Ba$<36ZlYdZYKeYbMnP^Vjok(b9VP}?_)LK@=n@XtEfE0<3qhrF zQp-|vLNaqwi}liziWr!9a@m<$N*o!Ev6(aQaI-U=o1ifDI5z{stl5h5Yvx`lmU*AS za5RjG;oOnU%mzR<$U7i08z5cSa*c6&i-ZTrXqY?)ki8hFCS#V8T@*2g({}Y zF@1+CREg1xsRm61?l4Sy(Ntn`;SM81FWfZJ^g_xK76xW`sShh(SQ%I_#Mpp&3{vKR zN*st@c3|Fth^YX@76Se61}q;L8G&Lfz#{5D7=V<66oC~&^l>n-L-k33WN`q9T25f9 zh1ihun8L+pnkKjGc0y@!3Z3j?C!k%-uJzkeY5jsZ1ib%eEP}c z%!Ed=C1H*g9J{#uB0X8CrbpKnDbFUwVD?S|*Z+0jYnXHy!tl84|y1_0k}yDIj&U71;|*fndRxJr7;G4w`#gr>|m zrFsngq>+B}rHAO<_TX-A^QiXVtW2M0bvilRH-=z~&k@)o^ec^H?fF(dFG5RyH|!=z zC2(d>o9?}zWg5W!-Zk~_@dU-FpL!`lTLzKPiWpyOZ$*f}wt+Ywe>C0K=y!07c7Q(n zX=7bteZW58UB(mN^ygT{uW!!;{t8?jH?NZcn-?f&0u)(_zWO5x(cZww5t0a3M5w=2 z1%?U(!-6LWOWMAaHjJzY%D_*fY-Iq96aE$o^!jNSnqL(YMwcg7h~mRg6JsyGDkh9x zPp%Nf_XoKN`zizZIY}aHRW%d8OMziVis+6{>!)2B2YUtSy;RZ}2ME?Qc2Vn(bM1EL z9R6j9;AmV+Ofpo}m-VHK%nmGu+?^i^tc@clj6FmZ+CzTxsE?Wk%tVQ5c})~3LGp;K z>qa_RcVBoz8gmoaNX#vw^Ui_COC_Ax)_jQWKZcRrt2JMqq6M5<=7@D`pD?YK$h&O3 R5=m4_#>7*bGj(hV`VANqpO*jt literal 0 HcmV?d00001 diff --git a/src/level1/level4Map.c b/src/level1/level4Map.c index 6e2ee7a..9bd0f9c 100644 --- a/src/level1/level4Map.c +++ b/src/level1/level4Map.c @@ -29,13 +29,13 @@ unsigned char level4Map[] = 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, - 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x04,0x05,0x12, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, - 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x07,0x06,0x12, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x04,0x05,0x12, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x07,0x06,0x12, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, diff --git a/src/level1/level6Map.c b/src/level1/level6Map.c new file mode 100644 index 0000000..1968afb --- /dev/null +++ b/src/level1/level6Map.c @@ -0,0 +1,65 @@ +/* + + LEVEL6MAP.C + + Map Source File. + + Info: + Section : + Bank : 0 + Map size : 20 x 18 + Tile set : levelTiles.gbr + Plane count : 1 plane (8 bits) + Plane order : Tiles are continues + Tile offset : 0 + Split data : No + + This file was generated by GBMB v1.8 + +*/ + +#define level6MapWidth 20 +#define level6MapHeight 18 +#define level6MapBank 0 + +unsigned char level6Map[] = +{ + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x08,0x12,0x08,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x08,0x12,0x08,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x08,0x12,0x08,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x08,0x12,0x08,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x04,0x00,0x05,0x12,0x12,0x12, + 0x08,0x12,0x08,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x07,0x01,0x06,0x12,0x12,0x12, + 0x08,0x12,0x08,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x08,0x12,0x08,0x12,0x12,0x12, + 0x08,0x12,0x08,0x12,0x12,0x12,0x04,0x00,0x05,0x12, + 0x12,0x12,0x12,0x12,0x08,0x12,0x08,0x12,0x12,0x12, + 0x08,0x12,0x08,0x12,0x12,0x12,0x07,0x01,0x06,0x12, + 0x12,0x12,0x12,0x12,0x08,0x12,0x08,0x12,0x12,0x12, + 0x08,0x12,0x08,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x08,0x12,0x08,0x12,0x12,0x12, + 0x08,0x12,0x08,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x08,0x12,0x08,0x12,0x12,0x12, + 0x08,0x12,0x08,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x08,0x12,0x08,0x12,0x12,0x12, + 0x08,0x12,0x08,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x08,0x12,0x08,0x12,0x12,0x12, + 0x04,0x00,0x05,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x08,0x12,0x08,0x12,0x12,0x12, + 0x07,0x01,0x06,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x08,0x12,0x08,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x04,0x00,0x05,0x08,0x12,0x08,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x07,0x01,0x06,0x08,0x12,0x08,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x08,0x12,0x08,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12 +}; + +/* End of LEVEL6MAP.C */ diff --git a/src/level1/level6Map.h b/src/level1/level6Map.h new file mode 100644 index 0000000..9406232 --- /dev/null +++ b/src/level1/level6Map.h @@ -0,0 +1,27 @@ +/* + + LEVEL6MAP.H + + Map Include File. + + Info: + Section : + Bank : 0 + Map size : 20 x 18 + Tile set : levelTiles.gbr + Plane count : 1 plane (8 bits) + Plane order : Tiles are continues + Tile offset : 0 + Split data : No + + This file was generated by GBMB v1.8 + +*/ + +#define level6MapWidth 20 +#define level6MapHeight 18 +#define level6MapBank 0 + +extern unsigned char level6Map[]; + +/* End of LEVEL6MAP.H */ diff --git a/src/level1/levelEndMap.c b/src/level1/levelEndMap.c new file mode 100644 index 0000000..9ddec7b --- /dev/null +++ b/src/level1/levelEndMap.c @@ -0,0 +1,65 @@ +/* + + LEVELENDMAP.C + + Map Source File. + + Info: + Section : + Bank : 0 + Map size : 20 x 18 + Tile set : levelTiles.gbr + Plane count : 1 plane (8 bits) + Plane order : Tiles are continues + Tile offset : 0 + Split data : No + + This file was generated by GBMB v1.8 + +*/ + +#define levelEndMapWidth 20 +#define levelEndMapHeight 18 +#define levelEndMapBank 0 + +unsigned char levelEndMap[] = +{ + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x11,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x11,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x11,0x12,0x11,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x09,0x09,0x09,0x09,0x12,0x12, + 0x12,0x11,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x08,0x12,0x12,0x12,0x12, + 0x12,0x12,0x08,0x07,0x11,0x08,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x08,0x09,0x12,0x12,0x08, + 0x12,0x12,0x08,0x05,0x07,0x08,0x12,0x12,0x12,0x12, + 0x12,0x12,0x11,0x12,0x12,0x08,0x12,0x11,0x12,0x08, + 0x12,0x12,0x08,0x0F,0x05,0x08,0x12,0x12,0x11,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x11,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x11,0x12,0x12,0x12,0x0A, + 0x0B,0x12,0x12,0x12,0x11,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x0C, + 0x0D,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x04, + 0x05,0x12,0x12,0x12,0x12,0x11,0x12,0x12,0x12,0x12, + 0x12,0x12,0x11,0x12,0x12,0x12,0x12,0x12,0x11,0x07, + 0x06,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, + 0x12,0x12,0x11,0x12,0x12,0x12,0x12,0x12,0x12,0x12 +}; + +/* End of LEVELENDMAP.C */ diff --git a/src/level1/levelEndMap.h b/src/level1/levelEndMap.h new file mode 100644 index 0000000..94722cb --- /dev/null +++ b/src/level1/levelEndMap.h @@ -0,0 +1,27 @@ +/* + + LEVELENDMAP.H + + Map Include File. + + Info: + Section : + Bank : 0 + Map size : 20 x 18 + Tile set : levelTiles.gbr + Plane count : 1 plane (8 bits) + Plane order : Tiles are continues + Tile offset : 0 + Split data : No + + This file was generated by GBMB v1.8 + +*/ + +#define levelEndMapWidth 20 +#define levelEndMapHeight 18 +#define levelEndMapBank 0 + +extern unsigned char levelEndMap[]; + +/* End of LEVELENDMAP.H */ diff --git a/src/level1/main.c b/src/level1/main.c index d425c6a..d82d86e 100644 --- a/src/level1/main.c +++ b/src/level1/main.c @@ -10,6 +10,8 @@ #include "level3Map.c" #include "level4Map.c" #include "level5Map.c" +#include "level6Map.c" +#include "levelEndMap.c" #define BLANK_SPRITE_INDEX 0 @@ -37,8 +39,13 @@ UINT8 effect1_state[6] = {0, 0, 0, 0, 0, 0}; //X,Y,W,H,DIR,TILE (DEATH EFFECT) UINT8 background_type; -UINT8 level_start_xs[5] = {72,8,8,8,136}; -UINT8 level_start_ys[5] = {96,96,96,96,96}; +UINT8 level_start_xs[7] = {72,8,8,8,136,8,76}; +UINT8 level_start_ys[7] = {96,96,96,96,96,96,88}; + +UINT8 time_in_air; +UINT8 time_boosting; + +UINT8 checkpoint_level; UINT8 player_move_x; UINT8 player_move_y; @@ -67,16 +74,12 @@ UINT8 player_is_jumping; UINT8 player_walk_index; UINT8 bkg_x, bkg_y; -UWORD bkgPalette_normal[] = { RGB(28,29,5), RGB(7,23,8), RGB(4,14,6), RGB(0,7,5)}; -UWORD bkgPalette_blank[] = { RGB(0,7,5), RGB(0,7,5), RGB(0,7,5), RGB(0,7,5)}; -UWORD bkgPalette_fade1[] = { RGB(7,23,8), RGB(7,23,8), RGB(4,14,6), RGB(0,7,5)}; -UWORD bkgPalette_fade2[] = { RGB(4,14,6), RGB(7,23,8), RGB(4,14,6), RGB(0,7,5)}; -/* -UWORD bkgPalette_normal[] = { RGB(28,29,5), RGB(7,23,8), RGB(4,14,6), RGB(0,7,5)}; -UWORD bkgPalette_blank[] = { RGB(28,29,5), RGB(7,23,8), RGB(4,14,6), RGB(0,7,5)}; -UWORD bkgPalette_fade1[] = { RGB(28,29,5), RGB(7,23,8), RGB(4,14,6), RGB(0,7,5)}; -UWORD bkgPalette_fade2[] = { RGB(28,29,5), RGB(7,23,8), RGB(4,14,6), RGB(0,7,5)}; -*/ +UWORD spritePalette[] = {RGB(0,0,0), RGB(9,31,27), RGB(2,19,31), RGB(31,31,31)}; + +UWORD bkgPalette_normal[] = { spritePalette[3], spritePalette[1], spritePalette[2], spritePalette[0]}; +UWORD bkgPalette_blank[] = { spritePalette[0], spritePalette[0], spritePalette[0], spritePalette[0]}; +UWORD bkgPalette_fade1[] = { spritePalette[1], spritePalette[1], spritePalette[2], spritePalette[0]}; +UWORD bkgPalette_fade2[] = { spritePalette[2], spritePalette[1], spritePalette[2], spritePalette[0]}; UBYTE previous_KEYS = 0; UBYTE keys = 0; @@ -132,18 +135,6 @@ UINT8 collisionCheck(UINT8 x1, UINT8 y1, UINT8 w1, UINT8 h1, UINT8 x2, UINT8 y2, } } -UINT8 collisionCheckDir(UINT8 x1, UINT8 y1, UINT8 w1, UINT8 h1, UINT8 x2, UINT8 y2, UINT8 w2, UINT8 h2) { - if ((x1 < (x2+w2)) && ((x1+w1) > x2) && (y1 < (h2+y2)) && ((y1+h1) > y2)) { - - return 1; - - } else { - - return 0; - - } -} - UINT8 collisionStateCheck(UINT8 stateA[6], UINT8 stateB[6]){ return collisionCheck( stateA[OBJECT_X],stateA[OBJECT_Y],stateA[OBJECT_W],stateA[OBJECT_H], @@ -167,8 +158,6 @@ void PlayerInit(){ set_sprite_tile(0, 4); set_sprite_tile(1, 8); - UWORD spritePalette[] = {0, RGB(7,23,8), RGB(4,14,6), RGB(28,29,5)}; - set_sprite_palette(0, 1, spritePalette); } @@ -566,7 +555,7 @@ void setupLevel(UINT8 level){ platform4_state[OBJECT_H] = 16; platform5_state[OBJECT_X] = 136; - platform5_state[OBJECT_Y] = 16; + platform5_state[OBJECT_Y] = 32; platform5_state[OBJECT_W] = 16; platform5_state[OBJECT_H] = 16; @@ -636,11 +625,56 @@ void setupLevel(UINT8 level){ } else if (level == 6){ set_bkg_data(0, 19, levelTiles ); //load background tile set - //set_bkg_tiles( 0, 0, 20, 18, level6Map); //load background map - platform1_state[OBJECT_X] = 0; + set_bkg_tiles( 0, 0, 20, 18, level6Map); //load background map + platform1_state[OBJECT_X] = 8; platform1_state[OBJECT_Y] = 120; - platform1_state[OBJECT_W] = 160; - platform1_state[OBJECT_H] = 24; + platform1_state[OBJECT_W] = 24; + platform1_state[OBJECT_H] = 16; + + platform2_state[OBJECT_X] = 32; + platform2_state[OBJECT_Y] = 32; + platform2_state[OBJECT_W] = 24; + platform2_state[OBJECT_H] = 112; + + platform3_state[OBJECT_X] = 80; + platform3_state[OBJECT_Y] = 0; + platform3_state[OBJECT_W] = 24; + platform3_state[OBJECT_H] = 112; + + platform4_state[OBJECT_X] = 128; + platform4_state[OBJECT_Y] = 48; + platform4_state[OBJECT_W] = 24; + platform4_state[OBJECT_H] = 16; + + platform5_state[OBJECT_X] = 0; + platform5_state[OBJECT_Y] = 0; + platform5_state[OBJECT_W] = 0; + platform5_state[OBJECT_H] = 0; + + powerup1_state[OBJECT_X] = 160; + powerup1_state[OBJECT_Y] = 144; + powerup1_state[OBJECT_W] = 0; + powerup1_state[OBJECT_H] = 0; + powerup1_state[OBJECT_TILE] = 0; + + powerup2_state[OBJECT_X] = 160; + powerup2_state[OBJECT_Y] = 144; + powerup2_state[OBJECT_W] = 0; + powerup2_state[OBJECT_H] = 0; + powerup2_state[OBJECT_TILE] = 0; + + powerup3_state[OBJECT_X] = 16; + powerup3_state[OBJECT_Y] = 104; + powerup3_state[OBJECT_W] = 16; + powerup3_state[OBJECT_H] = 16; + powerup3_state[OBJECT_TILE] = 0; + } else if (level == 7){ + set_bkg_data(0, 19, levelTiles ); //load background tile set + set_bkg_tiles( 0, 0, 20, 18, levelEndMap); //load background map + platform1_state[OBJECT_X] = 72; + platform1_state[OBJECT_Y] = 96; + platform1_state[OBJECT_W] = 16; + platform1_state[OBJECT_H] = 16; platform2_state[OBJECT_X] = 0; platform2_state[OBJECT_Y] = 0; @@ -679,7 +713,6 @@ void setupLevel(UINT8 level){ powerup3_state[OBJECT_W] = 0; powerup3_state[OBJECT_H] = 0; powerup3_state[OBJECT_TILE] = 0; - } } @@ -824,21 +857,11 @@ void transition(UINT8 next_level){ } void checkSceneCollisons(){ - if (resetFromCollision(prev_player_state, player_state, platform1_state)){ - player_is_on_floor = 1; - } - if (resetFromCollision(prev_player_state, player_state, platform2_state)){ - player_is_on_floor = 1; - } - if (resetFromCollision(prev_player_state, player_state, platform3_state)){ - player_is_on_floor = 1; - } - if (resetFromCollision(prev_player_state, player_state, platform4_state)){ - player_is_on_floor = 1; - } - if (resetFromCollision(prev_player_state, player_state, platform5_state)){ - player_is_on_floor = 1; - } + resetFromCollision(prev_player_state, player_state, platform1_state); + resetFromCollision(prev_player_state, player_state, platform2_state); + resetFromCollision(prev_player_state, player_state, platform3_state); + resetFromCollision(prev_player_state, player_state, platform4_state); + resetFromCollision(prev_player_state, player_state, platform5_state); // make sure player doesn't go outside screen if (player_state[OBJECT_Y] <= 0 || player_state[OBJECT_Y] > 200){ @@ -886,18 +909,27 @@ void checkLevelComplete(){ if (collisionStateCheck(test_player_state,platform5_state)){ //on last platform new_level = 1; } + }else if (level_num == 6){ + test_player_state[OBJECT_Y] = player_state[OBJECT_Y] + 1; + if (collisionStateCheck(test_player_state,platform4_state)){ //on last platform + new_level = 1; + } + }else if (level_num == 7){ + //TODO add ending effects, delay restart for a few seconds + test_player_state[OBJECT_Y] = player_state[OBJECT_Y] + 1; + if (collisionStateCheck(test_player_state,platform1_state)){ //on last platform + new_level = 1; + } } } void Death(){ - // reset to level 1 - level_num = 1; + // reset to last checkpoint level + level_num = checkpoint_level; // hide player player_state[OBJECT_TILE] = 0; effect1_state[OBJECT_X] = player_state[OBJECT_X]; effect1_state[OBJECT_Y] = 127; - //effect1_state[OBJECT_X] = 50; - //effect1_state[OBJECT_Y] = 50; while (1){ wait_vbl_done(); @@ -976,6 +1008,11 @@ void main() { player_walk_index = 0; player_is_dead = 0; + checkpoint_level = 1; + + time_in_air = 0; + time_boosting = 0; + DISPLAY_ON; HIDE_WIN; @@ -1043,75 +1080,87 @@ void main() { } if (player_powerup == 0){ //normal jump - if(keyPressed(J_A)) { - //jump - player_jump_count++; - if (player_jump_count < 25){ // restrict jump time - // accelleration arch to jump - if (player_jump_count < 3){ - player_move_y-=1; - } else if (player_jump_count < 5){ - player_move_y-=2; - } else if (player_jump_count < 10){ - player_move_y-=3; - } else if (player_jump_count < 15){ - player_move_y-=2; - } else if (player_jump_count < 20){ - player_move_y-=1; //gravity is -1 so total movement is net 0 + if (time_boosting < 25){ + if(keyPressed(J_A)) { + time_boosting++; + //jump + player_jump_count++; + if (player_jump_count < 25){ // restrict jump time + // accelleration arch to jump + if (player_jump_count < 3){ + player_move_y-=1; + } else if (player_jump_count < 5){ + player_move_y-=2; + } else if (player_jump_count < 10){ + player_move_y-=3; + } else if (player_jump_count < 15){ + player_move_y-=2; + } else if (player_jump_count < 20){ + player_move_y-=1; //gravity is -1 so total movement is net 0 + } + player_is_jumping = 1; + } else { + player_jump_count = 25; + player_is_jumping = 0; } - player_is_jumping = 1; } else { - player_jump_count = 25; player_is_jumping = 0; + player_jump_count = 0; } - } else { - player_is_jumping = 0; - player_jump_count = 0; } } else if (player_powerup == 1){ //small boost jump - if(keyPressed(J_A)) { - //jump - player_jump_count++; - if (player_jump_count < 20){ // restrict jump time - player_move_y-=3; - player_is_jumping = 1; + if (time_boosting < 30){ + if(keyPressed(J_A)) { + time_boosting++; + //jump + player_jump_count++; + if (player_jump_count < 20){ // restrict jump time + player_move_y-=3; + player_is_jumping = 1; + } else { + player_jump_count = 20; + player_is_jumping = 0; + } } else { - player_jump_count = 20; player_is_jumping = 0; + player_jump_count = 0; } - } else { - player_is_jumping = 0; - player_jump_count = 0; } } else if (player_powerup == 2){ // medium boost jump - if(keyPressed(J_A)) { - //jump - player_jump_count++; - if (player_jump_count < 30){ // restrict jump time - player_move_y-=3; - player_is_jumping = 1; + if (time_boosting < 50){ + if(keyPressed(J_A)) { + time_boosting++; + //jump + player_jump_count++; + if (player_jump_count < 30){ // restrict jump time + player_move_y-=3; + player_is_jumping = 1; + } else { + player_jump_count = 30; + player_is_jumping = 0; + } } else { - player_jump_count = 30; player_is_jumping = 0; + player_jump_count = 0; } - } else { - player_is_jumping = 0; - player_jump_count = 0; } } else if (player_powerup == 3){ // large boost jump - if(keyPressed(J_A)) { - //jump - player_jump_count++; - if (player_jump_count < 50){ // restrict jump time - player_move_y-=3; - player_is_jumping = 1; + if (time_boosting < 80){ + if(keyPressed(J_A)) { + time_boosting++; + //jump + player_jump_count++; + if (player_jump_count < 50){ // restrict jump time + player_move_y-=3; + player_is_jumping = 1; + } else { + player_jump_count = 50; + player_is_jumping = 0; + } } else { - player_jump_count = 50; player_is_jumping = 0; + player_jump_count = 0; } - } else { - player_is_jumping = 0; - player_jump_count = 0; } } @@ -1127,8 +1176,6 @@ void main() { //move x player_state[OBJECT_X] = player_state[OBJECT_X] + player_move_x; - player_is_on_floor = 0; - //check collision checkSceneCollisons(); @@ -1141,7 +1188,29 @@ void main() { // check collision checkSceneCollisons(); + test_player_state[OBJECT_X] = player_state[OBJECT_X]; + test_player_state[OBJECT_Y] = player_state[OBJECT_Y] + 1; + test_player_state[OBJECT_W] = player_state[OBJECT_W]; + test_player_state[OBJECT_H] = player_state[OBJECT_H]; + test_player_state[OBJECT_DIR] = player_state[OBJECT_DIR]; + test_player_state[OBJECT_TILE] = player_state[OBJECT_TILE]; + + if (collisionStateCheck(test_player_state,platform1_state)){ + player_is_on_floor = 1; + } else if (collisionStateCheck(test_player_state,platform2_state)){ + player_is_on_floor = 1; + } else if (collisionStateCheck(test_player_state,platform3_state)){ + player_is_on_floor = 1; + } else if (collisionStateCheck(test_player_state,platform4_state)){ + player_is_on_floor = 1; + } else if (collisionStateCheck(test_player_state,platform5_state)){ + player_is_on_floor = 1; + } else { + player_is_on_floor = 0; + } + if (player_is_on_floor == 0){ + time_in_air++; background_type = 0; if (player_powerup == 0){ if (player_is_jumping == 1){ @@ -1157,19 +1226,21 @@ void main() { } } } else { + time_in_air = 0; + time_boosting = 0; if (player_is_attacking == 1){ PlayerAttackAnim(10); } else if (player_is_walking == 1){ if (player_walk_count > 10){ if (player_walk_index == 0){ - player_state[OBJECT_TILE] = 2; //set player type to walk frame 1 + player_state[OBJECT_TILE] = 4; //set player type to walk frame 2 } else if (player_walk_index == 1) { - player_state[OBJECT_TILE] = 3; //set player type to walk frame 2 + player_state[OBJECT_TILE] = 1; //set player type to walk frame 3 } else if (player_walk_index == 2){ - player_state[OBJECT_TILE] = 4; //set player type to walk frame 3 + player_state[OBJECT_TILE] = 2; //set player type to normal frame } else if (player_walk_index == 3){ - player_state[OBJECT_TILE] = 1; //set player type to normal frame + player_state[OBJECT_TILE] = 3; //set player type to walk frame 1 } player_walk_index++; if (player_walk_index > 3){ @@ -1179,7 +1250,7 @@ void main() { } player_walk_count++; } else { - player_walk_count = 0; + player_walk_count = 11; player_state[OBJECT_TILE] = 1; background_type = 0; } @@ -1204,7 +1275,7 @@ void main() { if (new_level == 1){ player_powerup = 0; level_num++; - if (level_num > 5){ + if (level_num > 7){ level_num = 1; } player_attack_frame_index = 0; @@ -1218,10 +1289,35 @@ void main() { UpdateBackground(); if (attack_anim_complete == 1){ attack_anim_complete = 0; - player_attack_frame_index = 0; break; } } + if (level_num == 2){ // transition from title to level 2 + for (UINT8 i = 0; i < 120; i++){ + //Hold title animation for longer + wait_vbl_done(); + updateKeys(); + PlayerAttackAnim(5); + UpdatePlayer(); + UpdatePowerups(); + UpdateBackground(); + } + } else if (level_num == 5){ + checkpoint_level = 5; + } else if (level_num == 1){ // transition from end screen to title + checkpoint_level = 1; + for (UINT8 i = 0; i < 150; i++){ + //Hold title animation for longer + //TODO add end title effects + wait_vbl_done(); + updateKeys(); + PlayerAttackAnim(5); + UpdatePlayer(); + UpdatePowerups(); + UpdateBackground(); + } + } + player_attack_frame_index = 0; //set player type to attack frame 4 player_state[OBJECT_TILE] = 10; transition(level_num);