Mercurial > molko
annotate libmlk-core/core/script.h @ 243:71b3b7036de7
misc: lot of cleanups,
- prefix libraries with libmlk,
- move assets from source directories closes #2520,
- prefix header guards closes #2519
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sat, 28 Nov 2020 22:37:30 +0100 |
parents | libcore/core/script.h@b386d25832c8 |
children | c4da052c0def |
rev | line source |
---|---|
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 * script.h -- convenient sequence of actions |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr> |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
243
71b3b7036de7
misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
19 #ifndef MOLKO_CORE_SCRIPT_H |
71b3b7036de7
misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
20 #define MOLKO_CORE_SCRIPT_H |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 /** |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 * \file script.h |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 * \brief Convenient sequence of actions. |
70
53b217afe122
doc: improve doxygen documentation
David Demelier <markand@malikania.fr>
parents:
68
diff
changeset
|
25 * \ingroup actions |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 * |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 * Those routines wrap individual actions into a sequence of actions into an |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 * action itself. |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 * |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 * This is convenient for scenarios where you need to specify several |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 * sequential actions that neet to wait before continuing. |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 * |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 * In a nutshell, to write a scenario you should: |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 * |
70
53b217afe122
doc: improve doxygen documentation
David Demelier <markand@malikania.fr>
parents:
68
diff
changeset
|
35 * 1. Create a script with see \ref script_init, |
53b217afe122
doc: improve doxygen documentation
David Demelier <markand@malikania.fr>
parents:
68
diff
changeset
|
36 * 2. Create one or more actions and append with \ref script_append, |
53b217afe122
doc: improve doxygen documentation
David Demelier <markand@malikania.fr>
parents:
68
diff
changeset
|
37 * |
53b217afe122
doc: improve doxygen documentation
David Demelier <markand@malikania.fr>
parents:
68
diff
changeset
|
38 * \warning You must always call \ref script_init before using this object. |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 */ |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 #include <stdbool.h> |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
42 #include <stddef.h> |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
44 struct action; |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 union event; |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 /** |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
49 * \brief Maximum number of actions in a script. |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 */ |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
51 #define SCRIPT_ACTION_MAX (128) |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 /** |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 * \brief Sequence of actions and state holder. |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
55 * |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
56 * Setup the array actions within the structure for each action you want to run |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
57 * in order. You can use the convenient \ref script_append instead. If you do |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
58 * manually don't forget to adjust actionsz field accordingly. |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 */ |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 struct script { |
147
b386d25832c8
doc: use new nomenclature, closes #2497
David Demelier <markand@malikania.fr>
parents:
136
diff
changeset
|
61 struct action *actions[SCRIPT_ACTION_MAX]; /*!< (+&?) Array of actions. */ |
b386d25832c8
doc: use new nomenclature, closes #2497
David Demelier <markand@malikania.fr>
parents:
136
diff
changeset
|
62 size_t actionsz; /*!< (-) Number of actions in array. */ |
b386d25832c8
doc: use new nomenclature, closes #2497
David Demelier <markand@malikania.fr>
parents:
136
diff
changeset
|
63 size_t cur; /*!< (-) Current action index.*/ |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 }; |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 /** |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 * Initialize a script. |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 * |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
69 * This is not necessary if you zero'ed the structure. |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 * |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 * \pre s != NULL |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 * \param s the script |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 */ |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 void |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 script_init(struct script *s); |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 /** |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 * Append a new action to the script. |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 * |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
80 * The action must be kept alive until the script is no longer used. |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 * |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 * \pre s != NULL |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
83 * \pre a != NULL |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 * \param s the script |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
85 * \param a the action to reference |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
86 * \return false if unable to append |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 */ |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
88 bool |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
89 script_append(struct script *s, struct action *a); |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 /** |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 * Handle the event into the current action. |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 * |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 * \pre s != NULL |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 * \pre ev != NULL |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 * \param s the script |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 * \param ev the event |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 */ |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
99 void |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 script_handle(struct script *s, const union event *ev); |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
102 /** |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
103 * Update the current action. |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 * |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
105 * \pre s != NULL |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
106 * \param s the script |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 * \param ticks the number of milliseconds since last frame |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
108 * \return true if the script completed |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 */ |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 bool |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 script_update(struct script *s, unsigned int ticks); |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
113 /** |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 * Draw the current action. |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 * |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 * \pre s != NULL |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
117 * \param s the script |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
118 */ |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 void |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
120 script_draw(struct script *s); |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
121 |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
122 /** |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
123 * Tells if the script is terminated. |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
124 * |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
125 * \pre s != NULL |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
126 * \param s the script |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
127 * \return true if all action were completed |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
128 */ |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
129 bool |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
130 script_completed(const struct script *s); |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
131 |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
132 /** |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
133 * Destroy all the actions into the script. |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
134 * |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
135 * \pre s != NULL |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
136 * \param s the script |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
137 */ |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
138 void |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
139 script_finish(struct script *s); |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
140 |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
141 /** |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
142 * Create an action from the script itself for use into the game. |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
143 * |
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
144 * The script must be kept alive until the action is no longer needed. |
70
53b217afe122
doc: improve doxygen documentation
David Demelier <markand@malikania.fr>
parents:
68
diff
changeset
|
145 * |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
146 * \pre s != NULL |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
147 * \pre dst != NULL |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 * \param s the script |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 * \param dst the action to build with the script |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 */ |
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
151 void |
136
30b68089ae70
core: rework actions and a bit of drawables, closes #2492
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
152 script_action(struct script *s, struct action *dst); |
65
80a913d25aa9
core: implement script, closes #2465 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
153 |
243
71b3b7036de7
misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
154 #endif /* !MOLKO_CORE_SCRIPT_H */ |