diff options
author | Sebastian Leonhardt <sebastian.leonhardt@web.de> | 2016-01-08 01:05:36 +0100 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2024-06-30 17:24:16 -0400 |
commit | 102c3742487dba76ec72d5f56a2c3041344b2d68 (patch) | |
tree | 4931ad34d2cc0bac56d9984b9ead355d012ad63a /apps/plugins/xrick/rects.c | |
parent | 6f1e67e5e318ba2fd0f5ec1892c7b6633ec6521c (diff) | |
download | rockbox-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/rects.c')
-rw-r--r-- | apps/plugins/xrick/rects.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/apps/plugins/xrick/rects.c b/apps/plugins/xrick/rects.c new file mode 100644 index 0000000000..9324426060 --- /dev/null +++ b/apps/plugins/xrick/rects.c | |||
@@ -0,0 +1,57 @@ | |||
1 | /* | ||
2 | * xrick/rects.c | ||
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 | #include "xrick/rects.h" | ||
17 | #include "xrick/system/system.h" | ||
18 | |||
19 | /* | ||
20 | * Free a list of rectangles and set the pointer to NULL. | ||
21 | * | ||
22 | * p: rectangle list CHANGED to NULL | ||
23 | */ | ||
24 | void | ||
25 | rects_free(rect_t *r) | ||
26 | { | ||
27 | while (r) | ||
28 | { | ||
29 | rect_t * next = r->next; | ||
30 | sysmem_pop(r); | ||
31 | r = next; | ||
32 | } | ||
33 | } | ||
34 | |||
35 | |||
36 | /* | ||
37 | * Add a rectangle to a list of rectangles | ||
38 | */ | ||
39 | rect_t * | ||
40 | rects_new(U16 x, U16 y, U16 width, U16 height, rect_t *next) | ||
41 | { | ||
42 | rect_t *r; | ||
43 | |||
44 | r = sysmem_push(sizeof(*r)); | ||
45 | if (!r) | ||
46 | { | ||
47 | return NULL; | ||
48 | } | ||
49 | r->x = x; | ||
50 | r->y = y; | ||
51 | r->width = width; | ||
52 | r->height = height; | ||
53 | r->next = next; | ||
54 | return r; | ||
55 | } | ||
56 | |||
57 | /* eof */ | ||