annotate libcore/core/drawable.c @ 216:33ddbe30440e

rpg: improve collisions
author David Demelier <markand@malikania.fr>
date Wed, 18 Nov 2020 10:03:27 +0100
parents fea0cc899931
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * drawable.c -- automatic drawable objects
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr>
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #include <assert.h>
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #include <stddef.h>
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 #include <stdlib.h>
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 #include <string.h>
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
23
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 #include "animation.h"
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 #include "drawable.h"
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 #include "util.h"
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 #include "sprite.h"
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
136
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
29 #define DRAWABLE_FOREACH(st, iter) \
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
30 for (size_t i = 0; i < DRAWABLE_STACK_MAX && ((iter) = (st)->objects[i], 1); ++i)
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
31
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 bool
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 drawable_update(struct drawable *dw, unsigned int ticks)
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 {
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 assert(dw);
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
36
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 return dw->update(dw, ticks);
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 }
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 void
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 drawable_draw(struct drawable *dw)
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 {
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 assert(dw);
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
44
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 dw->draw(dw);
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 }
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
47
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 void
142
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
49 drawable_end(struct drawable *dw)
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
50 {
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
51 assert(dw);
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
52
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
53 if (dw->end)
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
54 dw->end(dw);
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
55 }
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
56
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
57 void
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 drawable_finish(struct drawable *dw)
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 {
142
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
60 assert(dw);
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
61
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 if (dw->finish)
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 dw->finish(dw);
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 }
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
65
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 void
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 drawable_stack_init(struct drawable_stack *st)
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 {
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 assert(st);
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
70
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 memset(st, 0, sizeof (*st));
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 }
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
73
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 bool
136
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
75 drawable_stack_add(struct drawable_stack *st, struct drawable *dw)
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 {
136
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
77 assert(st);
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
78 assert(dw);
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
79
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 for (size_t i = 0; i < DRAWABLE_STACK_MAX; ++i) {
136
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
81 if (!st->objects[i]) {
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
82 st->objects[i] = dw;
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
83 return true;
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 }
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 }
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
86
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 return false;
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 }
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
89
142
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
90 bool
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 drawable_stack_update(struct drawable_stack *st, unsigned int ticks)
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 {
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 assert(st);
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
94
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 for (size_t i = 0; i < DRAWABLE_STACK_MAX; ++i) {
136
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
96 struct drawable *dw = st->objects[i];
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
97
136
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
98 if (dw && drawable_update(dw, ticks)) {
142
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
99 drawable_end(dw);
136
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
100 drawable_finish(dw);
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
101 st->objects[i] = NULL;
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
102 }
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 }
142
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
104
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
105 /*
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
106 * We process the array again in case a drawable added a new drawable
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
107 * within the update function.
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
108 */
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
109 return drawable_stack_completed(st);
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 }
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
111
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 void
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 drawable_stack_draw(struct drawable_stack *st)
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 {
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
115 assert(st);
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
116
136
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
117 struct drawable *dw;
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
118
136
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
119 DRAWABLE_FOREACH(st, dw)
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
120 if (dw)
30b68089ae70 core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents: 129
diff changeset
121 drawable_draw(dw);
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
122 }
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
123
142
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
124 bool
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
125 drawable_stack_completed(const struct drawable_stack *st)
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
126 {
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
127 assert(st);
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
128
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
129 struct drawable *dw;
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
130
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
131 DRAWABLE_FOREACH(st, dw)
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
132 if (dw)
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
133 return false;
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
134
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
135 return true;
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
136 }
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
137
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 void
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
139 drawable_stack_finish(struct drawable_stack *st)
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 {
142
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
141 assert(st);
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
142
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
143 struct drawable *dw;
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
144
142
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
145 DRAWABLE_FOREACH(st, dw) {
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
146 if (dw) {
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
147 drawable_end(dw);
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
148 drawable_finish(dw);
fea0cc899931 core: drawable_stack_update returns a bool (similar to action_stack_update)
David Demelier <markand@malikania.fr>
parents: 136
diff changeset
149 }
129
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
150 }
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
151
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
152 memset(st, 0, sizeof (*st));
9301c7c84471 core: implement basic drawables, closes #2491 @1h
David Demelier <markand@malikania.fr>
parents:
diff changeset
153 }