A port of Zachtronics' match-4 game HACK*MATCH to the TI-84 Plus CE
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

made darkening on death smoother

ariajd27 0a1fc056 8b1534bc

+30 -13
+1
.gitignore
··· 1 + *.zip 1 2 obj/ 2 3 bin/ 3 4 src/gfx/*.8xv
+17 -11
src/drawing.c
··· 196 196 while (clock() - sleepTimer < time); 197 197 } 198 198 199 - void animateDeath() 199 + void darken() 200 200 { 201 - // darken the grid 202 201 for (unsigned char i = 16; i < 32; i++) gfx_palette[i] = gfx_Darken(gfx_palette[i], DEATH_DARKEN_LEVEL); 203 - drawFrame(); 204 - sleep(DEATH_ANIMATION_FRAME_TIME); 202 + } 205 203 206 - // play the "exa dying" sprites 207 - deathStage = 1; 208 - drawFrame(); 209 - sleep(DEATH_ANIMATION_FRAME_TIME); 210 - deathStage = 2; 211 - drawFrame(); 212 - sleep(DEATH_ANIMATION_FRAME_TIME); 204 + void animateDeath() 205 + { 206 + // do the animation 207 + for (deathStage = 0; deathStage < 3; deathStage++) 208 + { 209 + darken(); 210 + drawFrame(); 211 + sleep(DEATH_ANIMATION_FRAME_TIME / 8); 212 + 213 + for (unsigned char i = 0; i < 7; i++) 214 + { 215 + darken(); 216 + sleep(DEATH_ANIMATION_FRAME_TIME / 8); 217 + } 218 + } 213 219 214 220 // ask the player to try again 215 221 gfx_RLETSprite_NoClip(play_again, PLAY_AGAIN_HOFFSET, PLAY_AGAIN_VOFFSET);
src/gfx/background.png

This is a binary file and will not be displayed.

+1
src/gfx/convimg.yaml
··· 11 11 fixed-entries: 12 12 - color: {index: 0, r: 0, g: 255, b: 255} 13 13 - color: {index: 1, r: 179, g: 243, b: 204} 14 + - color: {index: 2, r: 69, g: 224, b: 130} 14 15 15 16 converts: 16 17 - name: misc
+5
src/main.c
··· 428 428 // draw the background 429 429 gfx_FillScreen(COLOR_BLACK); 430 430 gfx_RLETSprite_NoClip(background, BG_HOFFSET, BG_VOFFSET); 431 + gfx_SetColor(COLOR_DOT); 432 + for (unsigned int x = DOTS_HOFFSET; x <= DOTS_HOFFSET + 2 * NUM_DOTS; x += 2) 433 + { 434 + gfx_SetPixel(x, DOTS_VOFFSET); 435 + } 431 436 432 437 // draw the high score 433 438 drawNumber(HIGH_SCORE_HOFFSET, HIGH_SCORE_VOFFSET, highScore);
+6 -2
src/variables.h
··· 7 7 #define COLOR_WHITE 1 8 8 #define COLOR_RED 2 9 9 #define COLOR_DASH 17 10 + #define COLOR_DOT 18 10 11 11 12 #define TITLE_SPRITE_HOFFSET ((GFX_LCD_WIDTH - title_width) / 2) 12 13 #define TITLE_SPRITE_VOFFSET 36 ··· 39 40 40 41 #define MOVE_ANIMATION_FRAME_TIME 300 41 42 #define CLEAR_ANIMATION_FRAME_TIME 1600 42 - #define DEATH_ANIMATION_FRAME_TIME 12000 43 - #define DEATH_DARKEN_LEVEL 96 43 + #define DEATH_ANIMATION_FRAME_TIME 16000 44 + #define DEATH_DARKEN_LEVEL 232 44 45 45 46 #define BG_HOFFSET ((GFX_LCD_WIDTH - background_width) / 2) 46 47 #define BG_VOFFSET ((GFX_LCD_HEIGHT - background_height) / 2) ··· 61 62 #define NUM_DISPLAY_DIGITS 6 62 63 #define PLAY_AGAIN_HOFFSET (2 + GRID_HOFFSET + (NUM_COLS * GRID_SIZE - play_again_width) / 2) 63 64 #define PLAY_AGAIN_VOFFSET (GRID_VOFFSET + 42) 65 + #define DOTS_HOFFSET (BG_HOFFSET + 48) 66 + #define DOTS_VOFFSET 202 67 + #define NUM_DOTS 49 64 68 65 69 extern bool toExit; 66 70 extern bool gameOver;