summaryrefslogtreecommitdiff
path: root/apps/plugins/xrick/game.h
diff options
context:
space:
mode:
authorSebastian Leonhardt <sebastian.leonhardt@web.de>2016-01-08 01:05:36 +0100
committerSolomon Peachy <pizza@shaftnet.org>2024-06-30 17:24:16 -0400
commit102c3742487dba76ec72d5f56a2c3041344b2d68 (patch)
tree4931ad34d2cc0bac56d9984b9ead355d012ad63a /apps/plugins/xrick/game.h
parent6f1e67e5e318ba2fd0f5ec1892c7b6633ec6521c (diff)
downloadrockbox-102c3742487dba76ec72d5f56a2c3041344b2d68.tar.gz
rockbox-102c3742487dba76ec72d5f56a2c3041344b2d68.zip
added xrick game
original xrick code by 'BigOrno' at: http://www.bigorno.net/xrick/ Rockbox port, plus bugfixes at: https://github.com/pierluigi-vicinanza/xrick Further changes: * Additonal fixes from g#3026 * Port to modern plugin API * Add Pluginlib keymap fallback * Support all >1bpp screens * Fix build warnings in miniz * Better error message when resources are missing Change-Id: Id83928bc2539901b0221692f65cbca41389c58e7
Diffstat (limited to 'apps/plugins/xrick/game.h')
-rw-r--r--apps/plugins/xrick/game.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/apps/plugins/xrick/game.h b/apps/plugins/xrick/game.h
new file mode 100644
index 0000000000..025c3bdbe2
--- /dev/null
+++ b/apps/plugins/xrick/game.h
@@ -0,0 +1,73 @@
1/*
2 * xrick/game.h
3 *
4 * Copyright (C) 1998-2002 BigOrno (bigorno@bigorno.net).
5 * Copyright (C) 2008-2014 Pierluigi Vicinanza.
6 * All rights reserved.
7 *
8 * The use and distribution terms for this software are contained in the file
9 * named README, which can be found in the root of this distribution. By
10 * using this software in any fashion, you are agreeing to be bound by the
11 * terms of this license.
12 *
13 * You must not remove this notice, or any other, from this software.
14 */
15
16#ifndef _GAME_H
17#define _GAME_H
18
19#include "xrick/config.h"
20#include "xrick/rects.h"
21#ifdef ENABLE_SOUND
22#include "xrick/data/sounds.h"
23#endif
24
25#include <stddef.h> /* NULL */
26
27#define LEFT 1
28#define RIGHT 0
29
30#define GAME_PERIOD 40
31
32#define GAME_BOMBS_INIT 6
33#define GAME_BULLETS_INIT 6
34
35extern U8 game_lives; /* lives counter */
36extern U8 game_bombs; /* bombs counter */
37extern U8 game_bullets; /* bullets counter */
38
39extern U32 game_score; /* score */
40
41extern U16 game_map; /* current map */
42extern U16 game_submap; /* current submap */
43
44extern U8 game_dir; /* direction (LEFT, RIGHT) */
45extern bool game_chsm; /* change submap request (true, false) */
46
47extern bool game_waitevt; /* wait for events (true, false) */
48extern U8 game_period; /* time between each frame, in millisecond */
49
50extern const rect_t *game_rects; /* rectangles to redraw at each frame */
51
52extern void game_run(void);
53#ifdef ENABLE_SOUND
54extern void game_setmusic(sound_t * sound, S8 loop);
55extern void game_stopmusic(void);
56#endif /* ENABLE_SOUND */
57
58#ifdef ENABLE_CHEATS
59typedef enum
60{
61 Cheat_UNLIMITED_ALL,
62 Cheat_NEVER_DIE,
63 Cheat_EXPOSE
64} cheat_t;
65extern bool game_cheat1; /* infinite lives, bombs and bullets */
66extern bool game_cheat2; /* never die */
67extern bool game_cheat3; /* highlight sprites */
68extern void game_toggleCheat(cheat_t);
69#endif /* ENABLE_CHEATS */
70
71#endif /* ndef _GAME_H */
72
73/* eof */