-
Notifications
You must be signed in to change notification settings - Fork 0
/
game.h
120 lines (108 loc) · 2.42 KB
/
game.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include "sprites.h"
// Constants
// Map Size
#define MAPWIDTH 256
#define MAPHEIGHT 256
// Sprite Variables
#define PLATFORMCNT 12
#define INKCNT 4
#define OBSTACLECNT 5
#define GUARDCNT 4
// Jumping
#define JUMPHEIGHT 45
#define PLAYERDROP 16
// Sprites
extern SPRITE player;
extern SPRITE platform[PLATFORMCNT];
extern SPRITE ink[INKCNT];
extern SPRITE obstacle[OBSTACLECNT];
extern SPRITE guard[GUARDCNT];
extern SPRITE gate;
// Shadow Variables
OBJ_ATTR shadowOAM[128];
extern int hOff;
extern int vOff;
// Variables that change by level
extern int currLvl;
extern unsigned char* collisionMap;
// Tilemap modification
extern int TID1;
extern int TID2;
extern int TID3;
extern int tilemodX;
extern int tilemodY;
// Platforms Display Nums
extern int platformNum1;
extern int platformNum2;
extern int totalPlatformsNum1;
extern int totalPlatformsNum2;
// Energy Display Nums
extern int energyNum1;
extern int energyNum2;
extern int energyNum3;
// Score Display Nums
extern int scoreNum1;
extern int scoreNum2;
extern int scoreNum3;
// Variables that reset by level
extern int paintedPlatforms;
extern int lvlComplete;
extern int score;
extern int gateOpen;
// Variables that transfer between levels
extern int totalScore;
extern int cheat;
// Enums
typedef enum {UP, DOWN, RIGHT, LEFT, NONE} DIRECTION;
typedef enum {GRAY, RED, BLUE, YELLOW, GREEN, ORANGE, PURPLE} COLOR;
typedef enum {LVL1, LVL2, LVL3, LVL4} LEVEL;
typedef enum {OFF = 12, ON = 14} CHEAT;
// Prototypes
// Game
void initGame();
void updateGame();
void drawGame();
// Player
void initPlayer();
void updatePlayer();
void resetPlayer();
void drawPlayer();
// Platforms
void initPlatformsLvl1();
void initPlatformsLvl2();
void initPlatformsLvl3();
void initPlatformsLvl4();
void updatePlatforms(SPRITE* p);
void drawPlatforms();
void drawPlatformCnt();
// Inks
void initInksLvl1();
void initInksLvl2();
void initInksLvl3();
void initInksLvl4();
void updateInks(SPRITE* i);
void resetInks(SPRITE* i);
void changeColor(SPRITE* i);
void drawInks();
// Coloring
void changeColor(SPRITE* i);
void changeColorCheat();
// Obstacles
void initObstaclesLvl3();
void initObstaclesLvl4();
void updateObstacles(SPRITE* o);
void drawObstacles();
// Energy Display
void updateEnergy();
void drawEnergy();
// Guards
void initGuardsLvl2();
void initGuardsLvl4();
void updateGuards(SPRITE* g);
void drawGuards();
// Animation
void animate(SPRITE* s);
// Gate
void initGate();
void openGate();
void enterGate();