From 27141b13cbf1a40ff1ddcd78c75bdb9642702bdb Mon Sep 17 00:00:00 2001 From: "pavel.glushkov" Date: Mon, 3 Oct 2016 03:20:52 +0300 Subject: [PATCH] added nice bkg, more sharp sprites, added save highest score to nv memory, added reset cheat code --- game.c | 198 +++++++++++++++--- game.gb | Bin 32768 -> 32768 bytes sprites/0.png | Bin 93 -> 114 bytes sprites/1.png | Bin 96 -> 96 bytes sprites/2.png | Bin 102 -> 120 bytes sprites/3.png | Bin 99 -> 111 bytes sprites/4.png | Bin 99 -> 114 bytes sprites/5.png | Bin 99 -> 111 bytes sprites/6.png | Bin 99 -> 114 bytes sprites/7.png | Bin 96 -> 102 bytes sprites/8.png | Bin 96 -> 99 bytes sprites/9.png | Bin 102 -> 117 bytes sprites/a.png | Bin 96 -> 102 bytes sprites/b.png | Bin 0 -> 93 bytes sprites/bg.png | Bin 0 -> 7044 bytes sprites/e.png | Bin 102 -> 90 bytes sprites/flbird orig bw.png | Bin 0 -> 306 bytes sprites/flbird orig.png | Bin 0 -> 1228 bytes sprites/flbird.png | Bin 1228 -> 324 bytes sprites/fltest.png | Bin 0 -> 339 bytes sprites/grass.png | Bin 0 -> 1739 bytes sprites/l.png | Bin 93 -> 90 bytes sprites/land.png | Bin 120 -> 123 bytes sprites/land2.png | Bin 84 -> 93 bytes sprites/p.png | Bin 105 -> 99 bytes sprites/r.png | Bin 102 -> 93 bytes sprites/s.png | Bin 111 -> 123 bytes sprites/t.png | Bin 90 -> 87 bytes sprites/u.png | Bin 96 -> 93 bytes tiledata.h | 415 +++++++++++++++++++++++++++---------- 30 files changed, 477 insertions(+), 136 deletions(-) create mode 100644 sprites/b.png create mode 100644 sprites/bg.png create mode 100644 sprites/flbird orig bw.png create mode 100644 sprites/flbird orig.png create mode 100644 sprites/fltest.png create mode 100644 sprites/grass.png diff --git a/game.c b/game.c index b21a33c..aed653c 100644 --- a/game.c +++ b/game.c @@ -8,6 +8,7 @@ #include "tiledata.h" +#define NON_VOLATILE_MEMORY_ADDRESS 0xAF00 #define PIPE_GAP 8 #define JUMP_DELAY 15 #define SPRITE_HEIGHT 8 @@ -21,7 +22,8 @@ #define TUTORIAL_ARROW_INITIAL_POSITION_Y 176 #define TUTORIAL_ARROW_SHOWN_POSITION_Y 120 -UBYTE *RAMPtr; +UINT8 *RAMPtr; +UINT16 high_score_backup = 0; INT16 abs(INT16 num) { if(num < 0) @@ -124,11 +126,16 @@ void fill_pipe_row_with_numbers(UINT8 *row, UINT8 row_number, UINT16 number) { void draw_pipe(UINT8 x, INT8 level, UINT16 pipe_num) { const INT8 cap_height = fltopbottom_tile_map_height; const INT8 middle_level = GRAPHICS_HEIGHT / SPRITE_HEIGHT / 2 / 2; + UINT8 opt_shift = 0; INT8 j; UINT8 pipe_tiles[GRAPHICS_HEIGHT / SPRITE_HEIGHT * PIPE_WIDTH]; UINT8 tile_num = 0; UINT8 row_num; + if (x == 27) { + opt_shift = 1; + } + for (j = 0; j != 18; j++) { row_num = PIPE_WIDTH * j; if (j + cap_height <= level || j > level + PIPE_GAP + cap_height) { @@ -183,11 +190,50 @@ void draw_pipe(UINT8 x, INT8 level, UINT16 pipe_num) { pipe_tiles[row_num + 4] = 17; } } else { - pipe_tiles[row_num] = - pipe_tiles[row_num + 1] = - pipe_tiles[row_num + 2] = - pipe_tiles[row_num + 3] = - pipe_tiles[row_num + 4] = 0; + if (j == 11) { + pipe_tiles[row_num] = 90 + opt_shift; + pipe_tiles[row_num + 1] = 91 + opt_shift; + pipe_tiles[row_num + 2] = 92 + opt_shift; + pipe_tiles[row_num + 3] = 93 + opt_shift; + pipe_tiles[row_num + 4] = 94 + opt_shift; + } else if (j == 12) { + pipe_tiles[row_num] = 98 + opt_shift; + pipe_tiles[row_num + 1] = 99 + opt_shift; + pipe_tiles[row_num + 2] = 100 + opt_shift; + pipe_tiles[row_num + 3] = 101 + opt_shift; + pipe_tiles[row_num + 4] = 102 + opt_shift; + } else if (j == 13) { + pipe_tiles[row_num] = 106 + opt_shift; + pipe_tiles[row_num + 1] = 107 + opt_shift; + pipe_tiles[row_num + 2] = 108 + opt_shift; + pipe_tiles[row_num + 3] = 109 + opt_shift; + pipe_tiles[row_num + 4] = 110 + opt_shift; + } else if (j == 14) { + pipe_tiles[row_num] = 114 + opt_shift; + pipe_tiles[row_num + 1] = 115 + opt_shift; + pipe_tiles[row_num + 2] = 116 + opt_shift; + pipe_tiles[row_num + 3] = 117 + opt_shift; + pipe_tiles[row_num + 4] = 118 + opt_shift; + } else if (j == 15) { + pipe_tiles[row_num] = 122 + opt_shift; + pipe_tiles[row_num + 1] = 123 + opt_shift; + pipe_tiles[row_num + 2] = 124 + opt_shift; + pipe_tiles[row_num + 3] = 125 + opt_shift; + pipe_tiles[row_num + 4] = 126 + opt_shift; + } else if (j == 16) { + pipe_tiles[row_num] = + pipe_tiles[row_num + 1] = + pipe_tiles[row_num + 2] = + pipe_tiles[row_num + 3] = + pipe_tiles[row_num + 4] = 137; + } else { + pipe_tiles[row_num] = + pipe_tiles[row_num + 1] = + pipe_tiles[row_num + 2] = + pipe_tiles[row_num + 3] = + pipe_tiles[row_num + 4] = 0; + } + } } set_bkg_tiles(x, 0, PIPE_WIDTH, GRAPHICS_HEIGHT / SPRITE_HEIGHT, pipe_tiles); @@ -237,24 +283,60 @@ void draw_title() { void draw_land() { UINT8 i; - UINT8 tiles[32]; + UINT8 tiles[48]; for (i = 0; i < 32; i+=2) { tiles[i] = 33; tiles[i+1] = 34; } set_bkg_tiles(0, 17, 32, 1, tiles); + + for (i = 0; i < 48; i++) { + tiles[i] = i + 89; + } + + for (i = 0; i < 4; i++) { + set_bkg_tiles(i * 8 + 1, 11, 8, 5, tiles); + } + + tiles[0] = 128; + set_bkg_tiles(0, 15, 1, 1, tiles); + + for (i = 0; i < 32; i++) { + tiles[i] = 137; + }; + set_bkg_tiles(0, 16, 32, 1, tiles); } void draw_result(UINT16 result) { - UINT8 text_tiles[6 * 3]; + UINT8 text_tiles[6 * 7]; UINT8 i; + UINT8 best; + UINT16 buffer; - for (i = 0; i < 18; i++) { + buffer = (UINT8) RAMPtr[0]; + if (buffer == 255) { + best = 0; + } else { + best = buffer; + } + + // hack for emulators that cant acceess to nv ram + if (best == 0 && high_score_backup != 0) { + best = high_score_backup; + } + + if ((UINT8) result > best) { + high_score_backup = result; + RAMPtr[0] = result; + } + + for (i = 0; i < 42; i++) { text_tiles[i] = 0; } - fill_pipe_row_with_numbers(text_tiles, 12, result); + fill_pipe_row_with_numbers(text_tiles, 14, result); + fill_pipe_row_with_numbers(text_tiles, 38, best); text_tiles[0] = 66; text_tiles[1] = 67; @@ -263,7 +345,12 @@ void draw_result(UINT16 result) { text_tiles[4] = 87; text_tiles[5] = 69; - set_bkg_tiles(7, 7, 6, 3, text_tiles); + text_tiles[24] = 88; + text_tiles[25] = 67; + text_tiles[26] = 68; + text_tiles[27] = 69; + + set_bkg_tiles(7, 5, 6, 7, text_tiles); } UINT8 get_random_pipe_level() { @@ -293,13 +380,14 @@ BOOLEAN check_bottom_collision(DWORD y) { } BOOLEAN check_pipe_collision(DWORD y, INT8 level) { - // const UINT8 player_height = flbird_tile_map_height; - // if (y < level * SPRITE_HEIGHT + player_height * SPRITE_HEIGHT || - // y > level * SPRITE_HEIGHT + PIPE_GAP * SPRITE_HEIGHT) { - // return TRUE; - // } else { + const UINT8 player_height = flbird_tile_map_height; + // printf("%d %d\n", y, level); + if (y < level * SPRITE_HEIGHT + player_height * SPRITE_HEIGHT || + y > level * SPRITE_HEIGHT + PIPE_GAP * SPRITE_HEIGHT) { + return TRUE; + } else { return FALSE; - // } + } } INT16 get_player_y_pos(UINT8 t, UINT8 yd) { @@ -412,6 +500,54 @@ void interrupt_LCD() { HIDE_WIN; } +BOOLEAN cheat_code_inputed(UINT8 *code_buttons, UINT8 sizeof_code_buttons) { + const UINT8 max_delay = 10; + UINT8 joypad_value; + static UINT8 counter = 0; + static UINT8 code_current_button_position = 0; + static BOOLEAN was_last_input_empty = FALSE; + + if (counter != max_delay) { + counter++; + } + + if (counter == max_delay) { + code_current_button_position = 0; + } + + joypad_value = joypad(); + + if (joypad_value != 0) { + counter = 0; + if (was_last_input_empty == TRUE) { + if (joypad_value & code_buttons[code_current_button_position]) { + code_current_button_position++; + } else { + code_current_button_position = 0; + } + } + if (code_current_button_position == sizeof_code_buttons) { + counter = 0; + code_current_button_position = 0; + return TRUE; + } + was_last_input_empty = FALSE; + } else { + was_last_input_empty = TRUE; + } + return FALSE; +} + +BOOLEAN reset_cheat_inputed() { + const UINT8 code_buttons[] = { + J_A, + J_B, + J_B, + J_B + }; + return cheat_code_inputed(&code_buttons, sizeof(code_buttons)); +} + void main() { UINT8 player_position_x = 50, j; DWORD player_position_y = 0; @@ -435,6 +571,7 @@ void main() { INT8 tutorial_step_counter = 0; UINT16 pipe_number = 1; UINT16 current_score = 0; + UINT8 ttt[5]; enum game_states current_game_state = TRANSITION_TO_TITLE; game_sprite_object player; @@ -443,14 +580,7 @@ void main() { ENABLE_RAM_MBC1; - RAMPtr = (UBYTE *)0xAF00; - - // printf("Hex number -> 0x%x", RAMPtr[0]); - - RAMPtr[0]++; - - // delay(2000); - + RAMPtr = (UINT8 *)NON_VOLATILE_MEMORY_ADDRESS; new_gso(&player, flbird_tile_map_width, flbird_tile_map_height, &flbird_tile_data, &last_free_tile); new_gso(&tutorial_arrow, arrow_tile_map_width, arrow_tile_map_height, &arrow_tile_data, &last_free_tile); @@ -490,6 +620,10 @@ void main() { set_bkg_data(86, u_tile_count, u_tile_data); set_bkg_data(87, l_tile_count, l_tile_data); + set_bkg_data(88, b_tile_count, b_tile_data); + + set_bkg_data(89, bg_tile_count, bg_tile_data); + set_bkg_data(137, grass_tile_count, grass_tile_data); flush_bkg(); @@ -511,6 +645,14 @@ void main() { // set_interrupts(VBL_IFLAG | LCD_IFLAG); + for (i = 0; i < 5; i++) { + ttt[i] = 1; + } + + // fill_pipe_row_with_numbers(ttt, 0, (INT16) RAMPtr[0]); + + // set_bkg_tiles(2, 2, 5, 1, ttt); + draw_land(); draw_title(); @@ -555,6 +697,12 @@ void main() { initrand(DIV_REG); current_game_state = TRANSITION_TO_TUTORIAL; } + + if (reset_cheat_inputed() == TRUE) { + RAMPtr[0] = 0; + resume = FALSE; + reset(); + } } if (current_game_state == TRANSITION_TO_TUTORIAL) { diff --git a/game.gb b/game.gb index 6308aa0ff038aa5d4bab19809838cae3363e30b5..c55f22ece354e02dc020065ed8248f1397c2f789 100644 GIT binary patch literal 32768 zcmeHueRNdEm1p&LOKMuJMxaI#t$y9HEvW&0T1W&M0YY-jhw!WoX4VEm4A}7upSzYo z@YL~F@R)-knRu`_HqK6VHu26xb~u4}O`L8u(s3i&AIdrtJ8|5yEw;_ZwlKjiu%h1I zt@oa~TM}e)_MH7=PQQ}sRoz>4>)v18s#jI-bu^iI1)Dt%t5L7h>5W#0r#YC(otzt% z&V(Y{SaMkUU+Vos_5MfoZVZEex$mvYljV8C3$|~I$!y5yy7*@J;?Ub4O&0k7nZhD# zbgzB9b?dolEYGlqJ;ZEm8nYIZ9ej-0e|K*C`FG!a`>B^--u8{{_CK6^_jgYnfBB`l zK--d4%h?o{?%c5-Us~5w!{So%J-f%uYE7QeX`U-ma!g4}$)q_*#C;cD4#n(^J@KXS zW$`8PTLYH(3SBTM-Oy;xt$g2R@?6!OpC5Z>zOJe<)-ylwVZ1GVOQ0nFwLmD|+!N0a z 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 YWD&?BkVPPiKo)^40$Bw9ognak0mG7?F#rGn delta 6465 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 LXHG5se&+uJECr3@ diff --git a/sprites/0.png b/sprites/0.png index a43e316ea4d00cf589f586cc065a30151ee07e1f..2e18feb37df168b240a1787854c46c0d1b8d3972 100644 GIT binary patch delta 83 zcmazonxNum>FMGaq7j^&;?VHlBS&Depr3((!2y+nO($x27*#wsFuveQSa!(wNE(x) m_698nv6f1mdKI;Vst1^~#z6>9(h diff --git a/sprites/1.png b/sprites/1.png index e04e0361724b51b1382aff2714e26c5e7a2a0f65..327f84ed739166ef2859bb3bfc91ac948628f7eb 100644 GIT binary patch delta 65 zcmYdDn4n^#?&;zfq7j^&;=uZUVT{`hgE5er5myPgg&ebxsLQ02OK$)c^nh delta 65 zcmYdDn4n^#>gnPbq7j^&qQD@r@x=f1goK9f#o7#>O$>gl3Z8q^E_gC_9cSR#%f`8G Ud9yDA5O})!xvXv|xfY4ca+ff;)3C0Ak%76NgVX8K>eCEB;OXk;vd$@?2>{?EAfx~Q delta 71 zcmb|Mouv5O})!xvXlp4ztx-FW(=wZ7Gm}a~ jj%*uKj@`j*);q-v`8^z*CsbE&V*mnAS3j3^P6}%Wq7j^&qQD?A@yY+iD_Kt~YCBA0*F3h0;ikwZpN7cht6Y<0ILi$f X1QxP!N(6lIX8;0ES3j3^P6zmvv4FO$-bGR1ggnPbq7j^&($MffKx%GMic2uVnVCb=ns)-*s6e+91=pM&en< k4&{wMS=LKG=woFl@8IC%Et&U{0SG)@{an^LB{VSr0J|O?0{{R3 delta 68 zcmc~#o}gl{<>}%Wq7j^&qQD?A@yY+iD_Ku3)OL8*e06dP(^EC&X0|O9vy85}Sb4q9e0C!&)N&o-= diff --git a/sprites/6.png b/sprites/6.png index d52c22f50395f0c014696a0056246aec931a3d42..cd34814a36c34939df6e385bba30c903fc2fb274 100644 GIT binary patch delta 83 zcmYc;nxNum>FMGaq7j^&;=uZU;*K5#vl$Ic6I6`kb$EmuUaG8MxalOKeZjZkb75rT nLWUHRP5cku9WD@=wOx|odk-gP^H1?h3_#%N>gTe~DWM4f3l1M0 delta 68 zcmXR)o}gl{<>}%Wq7j^&qQD?A@yY+iD_Ku3)OL8*e06dz(+R6RVGlwY-uUqdZ>W-B Yct4ec^UpisCHi-_kfjRPM{7$ml` Uajsj*B)|X!p00i_>zopr0O-0E%>V!Z diff --git a/sprites/8.png b/sprites/8.png index 1f986900746df5ca9387154290d6585a3b5a1671..3437acd9cae618aa8d486d40ba4a913158600c53 100644 GIT binary patch delta 68 zcmYdDo}gl{<>}%Wq7j^&;?VHlBS&Depr3((!2y+nO($x27-P65lpf4kv|TjA&ZU5{ XVj4H6`a@w81|aZs^>bP0l+XkKBz+c! delta 65 zcmYdJn4n^#>gnPbq7j^&qQD?A@yY+iD_Ku3)Nc6b*tJp1!K}qbSYtEO>UPGt3phE8 U{fbN&fWXt$&t;ucLK6c600%7<=>Px# diff --git a/sprites/9.png b/sprites/9.png index f6edc2bf32a1be1aff94fdba4b78e7341b8b67f0..5ba28405d62379d8ece4889b618152d242da23be 100644 GIT binary patch delta 86 zcmYc*ouCqE?djqeq7j^&;?VHlBS&Depr3((!2y+nO($x27-P65lq%jn!ePvKwyI_7 q4Uq*q*drM?=|6b1V@*ReC&SX|oSb*P{WKYXz|+;wWt~$(69WKkCLc2Z delta 71 zcmXR-o1o&P*?Ycq7j^&;?VHlBS&Depr3((!2y+nO($x27@fE-Jc6_Wq} literal 0 HcmV?d00001 diff --git a/sprites/bg.png b/sprites/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..ae8542f3df10b131f12a88cbd6666e9ef91275df GIT binary patch literal 7044 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 Zpd0n@h1j_SYz9TOq a83GovaT+kHd}IIuPgg&ebxsLQ3=9B)#uo+v diff --git a/sprites/flbird orig bw.png b/sprites/flbird orig bw.png new file mode 100644 index 0000000000000000000000000000000000000000..6bd040aeffd8ed117df58e34508f26097a9addb5 GIT binary patch literal 306 zcmV-20nPr2P)`ctVqj7{Rs(LBt25mA>mvxGFT8&7%1VgY1k_nC-b zuM}X6u^LMwP%JT9dnI`;X-%XPqlqk=7|-e+42 z4ieer0J6+%K{57sTmpFVPzSB%wJ)?r6(Yl|&B)+Pu5rD*H_v9Wiw7p)g<>P60XqTlQRRO8YBokS*c?W22?!NGgN3v&w4=`XfX`OU+UZNugt zarcD)9fK}z4X^qiq$aol%32-bD5;ycivIyx^?okV2ca$K*LmLQ{r~^~07*qoM6N<$ Eg1&x&2LJ#7 literal 0 HcmV?d00001 diff --git a/sprites/flbird orig.png b/sprites/flbird orig.png new file mode 100644 index 0000000000000000000000000000000000000000..a7635768bf082348672def0fb7391a51cd53a975 GIT binary patch literal 1228 zcmeAS@N?(olHy`uVBq!ia0vp^0w6XA8<1SE`<)7qVk{1FcVbv~PUa<$qmb+o{3jAFJg2T)o7U{G?R9irfOAY6b?I3M(KpH?<^Dp&~aYuh^=>Rtc=a3djZt z>nkaMm6T-LDnNc-DA*LGq*(>IxIwi8dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mih)p`bI{&Koz>hm3bwJ6}oxF$`C_f=D4I5Cl_TFlw{`TDS*sP zOv*1Uu~kw6Sp)|Vca~(PA#BPkhI$L=L4A;nzM-ChKHO}eRvVD0m48uYD$r(-`F4gj zV3jChPi$Q%<+wTzE`FGINOUUmy#pV*su~3*dT?>fI&ppz{dZzKJvXK$)hy!t+}va6#c^=;BG zg&PYKw%_aztX^QUK*mDig!ZYq*1V6t_p45refaQ+4$+n`B`bE?ad~?)8<=LZJzv)y zm7{I2bB93puj+}5yd&*Dd3AZrEQs?D-J`+&Cv8_wHIM7krwcA0WnAvnkb2p`=WhL} zedT+XNZ+-c^samM`m_5YX1_?Evf1(g%ftIWXYP8*6#qci{P#!M$8(tOth+K%dAs~Q z{+$WSTbm!PW_9Vf?A$fMcT#JGQb6ee&7WH){$!5X5i|YS_L!4BeXGuiGnp4p+M+dQ z)6r6vXMtQ%fx`cmeQc>*(4ual!gh28>-TpnLqCPid3)gA{Y^bRrjL7jKK+o0Tm7hD zdy3n-rRt3($Io6nlUODGCFID_#SV*ZShCf5#%$kJ8~0Ak?+|A}Oz5nH`p>1iXQ{hP zo-1;ewJ_FoPQBNfSvw9?|H(O4xj|L7YR$dB7bZPFAJ^g8f6aMc=u=S%JpTm=I&p%E4Nq4;mvv4FO#p|$ B@5lfE literal 0 HcmV?d00001 diff --git a/sprites/flbird.png b/sprites/flbird.png index a7635768bf082348672def0fb7391a51cd53a975..354d0dd28e103f7d6f7d8e1b7bea735a8e311aba 100644 GIT binary patch literal 324 zcmV-K0lWT*P)vf%J}cI_dB6d!wPV}1CBD{5 z`@TPWV+`uOtGPUYi}jp{GfDuwx7JjU7XTO|kz~!u!PYyIm8bx{ca=FnBzvj7l5JV=5?8=oqcFK%|s3Pr7$cwfNHSZqWb~GK0SoG-yV7X(?#PWDg^kBJh zcY;(evif5#Y11^6DeEAuf>{Z-8t7}Sd7?%?9PdvS#i~8<=G>>V6pK%p@1Q?GsNM+* WHM!kZ4iqy00000{3jAFJg2T)o7U{G?R9irfOAY6b?I3M(KpH?<^Dp&~aYuh^=>Rtc=a3djZt z>nkaMm6T-LDnNc-DA*LGq*(>IxIwi8dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mih)p`bI{&Koz>hm3bwJ6}oxF$`C_f=D4I5Cl_TFlw{`TDS*sP zOv*1Uu~kw6Sp)|Vca~(PA#BPkhI$L=L4A;nzM-ChKHO}eRvVD0m48uYD$r(-`F4gj zV3jChPi$Q%<+wTzE`FGINOUUmy#pV*su~3*dT?>fI&ppz{dZzKJvXK$)hy!t+}va6#c^=;BG zg&PYKw%_aztX^QUK*mDig!ZYq*1V6t_p45refaQ+4$+n`B`bE?ad~?)8<=LZJzv)y zm7{I2bB93puj+}5yd&*Dd3AZrEQs?D-J`+&Cv8_wHIM7krwcA0WnAvnkb2p`=WhL} zedT+XNZ+-c^samM`m_5YX1_?Evf1(g%ftIWXYP8*6#qci{P#!M$8(tOth+K%dAs~Q z{+$WSTbm!PW_9Vf?A$fMcT#JGQb6ee&7WH){$!5X5i|YS_L!4BeXGuiGnp4p+M+dQ z)6r6vXMtQ%fx`cmeQc>*(4ual!gh28>-TpnLqCPid3)gA{Y^bRrjL7jKK+o0Tm7hD zdy3n-rRt3($Io6nlUODGCFID_#SV*ZShCf5#%$kJ8~0Ak?+|A}Oz5nH`p>1iXQ{hP zo-1;ewJ_FoPQBNfSvw9?|H(O4xj|L7YR$dB7bZPFAJ^g8f6aMc=u=S%JpTm=I&p%E4Nq4;mvv4FO#p|$ B@5lfE diff --git a/sprites/fltest.png b/sprites/fltest.png new file mode 100644 index 0000000000000000000000000000000000000000..579da1aff8fe63d5dec0cea8f5c22c55beaafba0 GIT binary patch literal 339 zcmV-Z0j&OsP)W9O|J@%0{qfB(7|lDXlA$z zr%8@zOZxC56aAKcdKaZbhu|j?ab>v6j#YS!#B~gR1&`LX)dz3?Yv1&T6Lc_(ZK02x l!fTQk{{X3aKbPnQG(5x=W+C2h00000NkvXXu0mjf0086?iUR-u literal 0 HcmV?d00001 diff --git a/sprites/grass.png b/sprites/grass.png new file mode 100644 index 0000000000000000000000000000000000000000..727ad5692ceda2a79155506ba8b3bbbf1c86b1ab GIT binary patch literal 1739 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9Sn@VByVlb`J1#c2)=|%1_J8No8QL z=t{ILD;5WQ9GiD(~bllZ9J$)!)5qmN(7Q?3U7tlyC3O%{Y0^ z!g%-Jh5oJqHHNQdiyYa%y+J|aEB|e~E&5ZrRBv5T(6HO`qdDM3_p;YBt&L}9?%H@S z^+^r*PKzr$90LQDGsakhowfwJ1MD}9*E z{JG1wM&EZnR2_fw>fL|y*KT){6;&vdPul!!1$Re3#;r^^_teod6Oe-$P7E$PK} zLx&^!RXZLgUq4)ISJ#`F_C)8={&3^@ZMflD`~u&s*Q;JUU6eGt z^zMR<1@9C8&CflU(fT>}@bdFB=i9ZsPmKAkZL0eGVc-$(Rg>ns{o#0&om;z2=E3c0 zvnLALvrV{jZ`S%{g6~~o*4$=awQv5CwOhLs>z=omeb#xT+i~9f`KjQ8H&(Bje00vi zvLo9~qdtAIW;xKgD|*()<3+!7gXevE{`8gUtkcz%E`NUQsr2|(TQuMD?aP`MpIfHs zvj15+eM+-y2g>H`DotBsQ3;w%o?k;LrAIY{lu&3AmmhR41uYU#}Jttl>zoyk}bz}WL-p!n>8Z!*q_j370 zFbk$=II!IpyOFW7nUBp#WUYu~SNy^>ap~s=Y(80SnR)i$zC%;~oj4KS{By^-Em|q< zc1>cNr2h1+5xboFadm4$P^@{AB$~mHPVnv6{ z9tI{FeNyM)NOlUm(Kv1G>)&GY_2=2j@+HeZTmCy{pI#Va=kJY7Uwr?ChK9T>n4&2g zmhWq^&r!HX#W|&Cido3_9pRrBDoyo&8k8vzY#l7Ta^n?8{`Sqw$`<4@{r)3+b!FbB zpjVfY@6|FzUbf16&3jg~-22kxB&qdgTGM8|deN~$qV0rFUq*2It=uSS*7x_m^naOc zw3}ZzTF-sXZ=M7D>_5Kwt@o&J3&S*-hQ{N{c@pPOvEO60_}p@9)9r(@6Fq9UA6)tV z=G*>XMiq5`ue`i-q1+tIX_n~F(p4KRj(qq0H~UQ!KT6r$jnVGNmQuF z&B-gas<2f8tFQvHLBje<3ScEA*|tg%z5xo(`9-M;rg|oN21<5Z3JMA~MJZ`kK`w4k z?LeNbQbtKhft9{~d3m{Bxv^e;QM$gNrKP35fswwEkuFe$ZgFK^Nn(X=Ua>O75STeG zsl~}fnFS@8`FRQ;a}$&DOG|8(lt3220mPjpnP~`{@`|C}0(wv%B%^PrXP}Qw8_=_G z_o3*jNGyP80{aSLnGMJ&EB~U*RG@P~j&~z*3qSVBa{GyQj{2V(+ zP*^LtWfrBD=NDxcD>w(6+32Gyg6g-?2l*H&1R%i+76pc{9T!k1EUxUhvRzaafYI0G z>Eak7A(`9n$alzqhvj-_V;A$E#{czw%u@wS(#)nvhfdxy@9R3@?N(uXmsEM(>grwI z{z&Dhqu1d={i|IsczN!{b#1<)*Vy29_@hIM#JWYBKZbJiNikUQKGm?^uuOVQW`Akn zw&FiocEx;CcBs^dcXvFvuk(D197nh0BaQU literal 0 HcmV?d00001 diff --git a/sprites/l.png b/sprites/l.png index 89106fd301c6f635c42f3e8db411b03d70242712..ee5c6fa9af4320550e2f0de9517fd71acf831a9e 100644 GIT binary patch delta 59 zcma!znxJB);OXKRq7j^&($MffV3wfQVa*u_CImIS;oQJ(u&4E%FGIi*c1}Y@p)3X< O@O1TaS?83{!~g(^#uO|7 delta 62 zcma!wouFc=gTe~DWQph0RXcc74HB5 diff --git a/sprites/land.png b/sprites/land.png index cf5ff81aa6ce17a699bbeca84ef0899ebd9c56c9..89d20815d66250c877abb33b1f713d7404956021 100644 GIT binary patch delta 92 zcmb=Zo}d!$bmWDP&e-!{Sj*|RlkC1adaEYC-@9%ldoPgg&ebxsLQ0B>j{2LJ#7 delta 89 zcmb=fn4l73=jq}YA`zaPqQD^08TdhdzS6P(|Nk%6NJwdsm^E!0+p<8B1>Wc8SPCy> tn5}Y$C1z3rD-RD(g86|rERx+k43$shHKXL!mNNi>r>mdKI;Vst1_1G+A7ual diff --git a/sprites/land2.png b/sprites/land2.png index 35f2691e819ee6e964d194b9e59b56b0fca38ebd..561b702008c450587b96532a3ccc72eacff29ac6 100644 GIT binary patch delta 62 zcmWHEouFc=FMGaA`zaPqQD^08TdhdzS6P(|Nrw>u`+nx5c%@s{~lWgAnW@9E+gq7j^&qQD@r@YDZ`R}LPLoFICDRZ>F2LFz!wBoT$%P8Ya#B*la! eXdHMM$*?Ycq7j^&qQD@r@YDZ`R}LPLoFICDRZ>F2LFz!wBoT$%P1m`0d{l{S byu6u#WjhzAi9zju1|aZs^>bP0l+XkK&bAtI diff --git a/sprites/s.png b/sprites/s.png index 6edd5b159000c5ea111c352c901d967785ac51d8..0b32233addf3f3f6d973dd35de7532eb04c91ea3 100644 GIT binary patch delta 92 zcmd0=o}d!$;OXKRq7j^&;?VHlBS&Depr3((!2y+nO#uu-$t|1;uie5}4B0%{H|c7G vDR?iK(U!w%cKJab!_0>3;u&@>1&n^vIXOE!=ISv3fv2mV%Q~loCI$uooy8r$ delta 80 zcmb=*?Ycq7j^&($MffKx%GMii>cgW=l7}C#%FhRtALy?3{V#Ud#+Y;OXk; Kvd$@?i2(rXXb<85 delta 59 zcmWHKnxJB)=;`7Zq7j^&qQD@r@YDZ|E0|9o6glw3kt^^B+hQi3^9&3c8`(IWIev>W O0D-5gpUXO@geCxNSreuJ diff --git a/sprites/u.png b/sprites/u.png index 6d51e83c96f05785a56b946143bdfe12ee2195d1..7a17f6d38926efee1e68361a33718eef384c232e 100644 GIT binary patch delta 62 zcmYd@ouFc=?CIhdq7j^&($MffV3y$Aeno>Bq6)uRUiqFVdQ&MBdZ0RY74703Vp delta 65 zcmaz|n4n^#=IP=Xq7j^&qQD@r@Y8=u35kT92?BHMXNVk-Vf!q6=imvw