Skip to content

Commit e961039

Browse files
committed
Version 0.5
1 parent a139694 commit e961039

File tree

13 files changed

+157
-17
lines changed

13 files changed

+157
-17
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,27 @@ Released with full source code (CPCTelera 1.5/SDCC required to compile) under th
2222
Disk image: download `nibdx.dsk` and then `RUN "NIBDX.BAS"`
2323
(Tape image: coming soon)
2424

25+
Cursor Keys Or Joystick to control your Nibbler.
26+
2527
The basis for this remake is the original port by Mosaik Software available [here](https://www.cpc-power.com/index.php?page=detail&num=2476)
2628

2729
![](/promo/demo.png)
2830
![](/promo/title.png)
2931
![](/promo/game.png)
32+
![](/promo/level.png)
3033
![](/promo/instruct.png)
3134
![](/promo/hiscore.png)
3235

3336
**Version History**
3437

38+
*Version 0.5 (09/12/2023)*
39+
40+
* Added two additional levels (Levels 2 and 3)
41+
* Nibbler now behaves correctly when it reaches a dead-end
42+
* Added a Nibbler Death animation
43+
* Corrected Nibbler starting position
44+
* Added raster effects to the Instructions screen
45+
3546
*Version 0.4 (08/12/2023)*
3647

3748
* Added Game Instructions (4 from Main Menu)

collateral/level-3.tmx

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<map version="1.10" tiledversion="1.10.2" orientation="orthogonal" renderorder="right-down" width="40" height="21" tilewidth="8" tileheight="8" infinite="0" nextlayerid="2" nextobjectid="1">
3+
<tileset firstgid="1" source="sprites.tsx"/>
4+
<layer id="1" name="Tile Layer 1" width="40" height="21">
5+
<data encoding="csv">
6+
7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,
7+
11,6,22,22,22,22,22,22,22,22,22,6,22,22,22,22,22,22,22,11,22,22,22,22,22,22,22,22,7,12,12,12,12,12,12,12,8,22,22,22,
8+
11,22,7,12,12,16,22,7,12,12,12,12,8,22,7,12,12,8,22,11,22,22,22,7,12,12,12,12,10,22,22,6,22,22,22,22,11,22,22,22,
9+
11,22,11,22,22,22,22,11,22,7,12,12,10,22,9,12,12,10,22,11,22,22,22,11,22,22,22,22,22,22,15,12,12,12,16,22,11,22,22,22,
10+
11,22,11,6,7,8,22,11,22,11,22,22,22,22,22,22,6,22,22,11,22,22,22,11,22,7,12,12,8,22,22,22,22,6,22,22,11,22,22,22,
11+
11,22,11,22,11,11,22,11,22,11,22,7,12,12,12,12,12,8,22,11,22,22,22,11,22,9,12,12,21,12,20,12,12,12,16,22,11,22,22,22,
12+
11,22,14,22,9,10,22,11,22,11,6,11,22,22,22,22,22,11,22,11,22,22,22,11,22,22,22,22,11,22,11,22,22,22,22,22,11,22,22,22,
13+
11,22,22,22,22,22,6,11,22,11,22,9,12,12,12,8,22,11,22,11,22,22,22,9,12,12,8,22,9,12,10,22,7,12,12,12,10,22,22,22,
14+
11,22,7,12,12,12,12,10,22,11,22,22,22,22,22,11,22,11,22,11,22,22,22,22,22,22,11,22,22,6,22,22,11,22,22,22,22,22,22,22,
15+
11,22,9,12,12,12,12,12,12,19,12,12,12,16,22,9,12,10,22,9,20,12,12,12,12,12,10,22,7,12,8,22,9,12,12,12,12,12,12,8,
16+
11,22,22,22,22,22,22,22,6,22,22,22,22,22,22,22,22,22,22,22,11,22,22,22,22,22,22,22,11,22,11,22,22,6,22,22,22,22,22,11,
17+
9,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,22,9,12,12,16,22,7,12,12,10,22,11,22,7,12,12,12,12,8,22,11,
18+
22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,11,22,22,22,22,22,6,11,22,22,22,22,11,22,9,12,12,12,12,10,22,11,
19+
22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,11,22,15,12,12,12,12,17,22,22,22,22,11,22,22,22,22,22,6,22,22,11,
20+
22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,11,22,22,6,22,22,22,11,22,7,12,12,10,22,15,12,12,20,12,8,22,11,
21+
22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,11,22,7,12,12,8,22,9,12,10,22,22,6,22,22,22,22,9,12,10,22,11,
22+
22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,11,22,11,22,22,11,22,22,22,22,22,7,12,12,12,8,22,6,22,22,22,11,
23+
22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,11,22,11,22,22,9,12,8,22,7,12,10,22,22,22,9,12,12,12,8,22,11,
24+
22,22,22,22,22,22,22,22,22,22,22,22,22,22,7,12,12,12,10,6,9,12,12,12,12,10,22,9,12,12,12,12,12,12,12,12,12,10,22,11,
25+
22,22,22,22,22,22,22,22,22,22,22,22,22,22,11,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,6,22,22,22,22,22,11,
26+
22,22,22,22,22,22,22,22,22,22,22,22,22,22,9,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10
27+
</data>
28+
</layer>
29+
</map>

collateral/nibdx.tiled-session

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@
3636
"y": 89.05021173623715
3737
}
3838
},
39+
"level-2.tmx": {
40+
"scale": 3.1409374999999997,
41+
"selectedLayer": 0,
42+
"viewCenter": {
43+
"x": 169.69455775544725,
44+
"y": 83.4145856133718
45+
}
46+
},
3947
"sprites.tsx": {
4048
"scaleInDock": 2,
4149
"scaleInEditor": 1

inc/instruct.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@
2020

2121
#include "main.h"
2222

23+
2324
/* Public Functions */
2425
void i_start(void);
2526
void i_stop(void);
2627

2728
static void i_draw_border(void);
2829
static void i_draw_snake(void);
2930
static void i_draw_instructions(const pos_t* pos);
30-
static void i_draw_gems(const pos_t* pos_g);
31+
static void i_draw_gems(const pos_t* pos_g);
32+
static void i_interrupt(void);

inc/levels.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
extern const u8 g_demo_pf[40 * 8];
2525
extern const u8 g_game_pf_1[40 * 21];
2626
extern const u8 g_game_pf_2[40 * 21];
27+
extern const u8 g_game_pf_3[40 * 21];
2728
extern const u8 g_game_pf_gems[10];
2829
extern const u8 g_game_pf_cols[10];
2930
extern u8* const g_game_pf[10];

nibdx.dsk

0 Bytes
Binary file not shown.

promo/instruct.png

566 Bytes
Loading

promo/level.png

1.31 MB
Loading

src/data/levels.c

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ const u8 g_game_pf_gems[10] = {20, 21, 18, 19, 14, 21, 16, 21, 24, 23};
4646

4747
/* Level Playfield Colours */
4848
const u8 g_game_pf_cols[10] = {
49-
HW_PASTEL_BLUE, HW_LIME, HW_MAGENTA, HW_PASTEL_BLUE, HW_PASTEL_BLUE,
49+
HW_PASTEL_BLUE, HW_LIME, HW_BRIGHT_MAGENTA, HW_PASTEL_BLUE, HW_PASTEL_BLUE,
5050
HW_PASTEL_BLUE, HW_PASTEL_BLUE, HW_PASTEL_BLUE, HW_PASTEL_BLUE,
5151
HW_PASTEL_BLUE, HW_PASTEL_BLUE
5252
};
@@ -149,7 +149,55 @@ const u8 g_game_pf_2[40 * 21] = {6, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
149149
11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
150150
11, 11, 9};
151151

152-
u8 *const g_game_pf[10] = {g_game_pf_1, g_game_pf_2, g_game_pf_1, g_game_pf_1,
152+
const u8 g_game_pf_3[40 * 21] = {6, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
153+
11, 11, 11, 11, 11, 11, 11, 7, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
154+
21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 10, 5, 21, 21, 21, 21, 21, 21,
155+
21, 21, 21, 5, 21, 21, 21, 21, 21, 21, 21, 10, 21, 21, 21, 21, 21, 21,
156+
21, 21, 6, 11, 11, 11, 11, 11, 11, 11, 7, 21, 21, 21, 10, 21, 6, 11, 11,
157+
15, 21, 6, 11, 11, 11, 11, 7, 21, 6, 11, 11, 7, 21, 10, 21, 21, 21, 6,
158+
11, 11, 11, 11, 9, 21, 21, 5, 21, 21, 21, 21, 10, 21, 21, 21, 10, 21,
159+
10, 21, 21, 21, 21, 10, 21, 6, 11, 11, 9, 21, 8, 11, 11, 9, 21, 10, 21,
160+
21, 21, 10, 21, 21, 21, 21, 21, 21, 14, 11, 11, 11, 15, 21, 10, 21, 21,
161+
21, 10, 21, 10, 5, 6, 7, 21, 10, 21, 10, 21, 21, 21, 21, 21, 21, 5, 21,
162+
21, 10, 21, 21, 21, 10, 21, 6, 11, 11, 7, 21, 21, 21, 21, 5, 21, 21, 10,
163+
21, 21, 21, 10, 21, 10, 21, 10, 10, 21, 10, 21, 10, 21, 6, 11, 11, 11,
164+
11, 11, 7, 21, 10, 21, 21, 21, 10, 21, 8, 11, 11, 20, 11, 19, 11, 11,
165+
11, 15, 21, 10, 21, 21, 21, 10, 21, 13, 21, 8, 9, 21, 10, 21, 10, 5, 10,
166+
21, 21, 21, 21, 21, 10, 21, 10, 21, 21, 21, 10, 21, 21, 21, 21, 10, 21,
167+
10, 21, 21, 21, 21, 21, 10, 21, 21, 21, 10, 21, 21, 21, 21, 21, 5, 10,
168+
21, 10, 21, 8, 11, 11, 11, 7, 21, 10, 21, 10, 21, 21, 21, 8, 11, 11, 7,
169+
21, 8, 11, 9, 21, 6, 11, 11, 11, 9, 21, 21, 21, 10, 21, 6, 11, 11, 11,
170+
11, 9, 21, 10, 21, 21, 21, 21, 21, 10, 21, 10, 21, 10, 21, 21, 21, 21,
171+
21, 21, 10, 21, 21, 5, 21, 21, 10, 21, 21, 21, 21, 21, 21, 21, 10, 21,
172+
8, 11, 11, 11, 11, 11, 11, 18, 11, 11, 11, 15, 21, 8, 11, 9, 21, 8, 19,
173+
11, 11, 11, 11, 11, 9, 21, 6, 11, 7, 21, 8, 11, 11, 11, 11, 11, 11, 7,
174+
10, 21, 21, 21, 21, 21, 21, 21, 5, 21, 21, 21, 21, 21, 21, 21, 21, 21,
175+
21, 21, 10, 21, 21, 21, 21, 21, 21, 21, 10, 21, 10, 21, 21, 5, 21, 21,
176+
21, 21, 21, 10, 8, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
177+
11, 11, 11, 11, 7, 21, 8, 11, 11, 15, 21, 6, 11, 11, 9, 21, 10, 21, 6,
178+
11, 11, 11, 11, 7, 21, 10, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
179+
21, 21, 21, 21, 21, 21, 21, 10, 21, 21, 21, 21, 21, 5, 10, 21, 21, 21,
180+
21, 10, 21, 8, 11, 11, 11, 11, 9, 21, 10, 21, 21, 21, 21, 21, 21, 21,
181+
21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 10, 21, 14, 11, 11, 11, 11,
182+
16, 21, 21, 21, 21, 10, 21, 21, 21, 21, 21, 5, 21, 21, 10, 21, 21, 21,
183+
21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 10, 21, 21,
184+
5, 21, 21, 21, 10, 21, 6, 11, 11, 9, 21, 14, 11, 11, 19, 11, 7, 21, 10,
185+
21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
186+
10, 21, 6, 11, 11, 7, 21, 8, 11, 9, 21, 21, 5, 21, 21, 21, 21, 8, 11, 9,
187+
21, 10, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
188+
21, 21, 10, 21, 10, 21, 21, 10, 21, 21, 21, 21, 21, 6, 11, 11, 11, 7,
189+
21, 5, 21, 21, 21, 10, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
190+
21, 21, 21, 21, 21, 21, 10, 21, 10, 21, 21, 8, 11, 7, 21, 6, 11, 9, 21,
191+
21, 21, 8, 11, 11, 11, 7, 21, 10, 21, 21, 21, 21, 21, 21, 21, 21, 21,
192+
21, 21, 21, 21, 21, 6, 11, 11, 11, 9, 5, 8, 11, 11, 11, 11, 9, 21, 8,
193+
11, 11, 11, 11, 11, 11, 11, 11, 11, 9, 21, 10, 21, 21, 21, 21, 21, 21,
194+
21, 21, 21, 21, 21, 21, 21, 21, 10, 21, 21, 21, 21, 21, 21, 21, 21, 21,
195+
21, 21, 21, 21, 21, 21, 21, 21, 21, 5, 21, 21, 21, 21, 21, 10, 21, 21,
196+
21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 8, 11, 11, 11, 11, 11,
197+
11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
198+
11, 9};
199+
200+
u8 *const g_game_pf[10] = {g_game_pf_1, g_game_pf_2, g_game_pf_3, g_game_pf_1,
153201
g_game_pf_1, g_game_pf_1, g_game_pf_1, g_game_pf_1, g_game_pf_1,
154202
g_game_pf_1};
155203

src/demo.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ void d_start(void) {
5252
d_display_text(1);
5353
v_draw_pf(g_demo_pf, &pf_loc, &pf_sz);
5454

55-
/* Setup Screen Rasters if we are using them */
55+
/* Setup Screen Rasters */
5656
cpct_waitVSYNC();
5757
cpct_setBorder(bord_col);
5858
cpct_setInterruptHandler(d_interrupt);

0 commit comments

Comments
 (0)