Mercurial > molko
annotate man/mlk-action.3 @ 555:6c911cbc1fd7
core: alloc_pool is no more
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 07 Mar 2023 22:35:43 +0100 |
parents | c1f64d451230 |
children |
rev | line source |
---|---|
441 | 1 .Dd $Mdocdate$ |
2 .Dt MLK-ACTION 3 | |
3 .Os | |
4 .Sh NAME | |
5 .Nm mlk-action | |
6 .Nd generic in game actions | |
7 .Sh LIBRARY | |
8 libmlk-core (-lmlk-core) | |
9 .Sh SYNOPSIS | |
10 .In mlk/core/action.h | |
11 .Sh DESCRIPTION | |
12 Generic updatable and drawable actions. | |
13 .Pp | |
14 This module help creating user interaction within the gameplay by adding | |
15 actions. They have the following properties: | |
16 .Pp | |
17 .Bl -dash -compact | |
18 .It | |
19 Can handle user input and events, | |
20 .It | |
21 Can be updated through the game loop, | |
22 .It | |
23 Can be drawn. | |
24 .El | |
25 .Pp | |
26 Most more high level objects can handle actions to add flexibility (like in | |
27 battles, maps, etc). | |
28 .Pp | |
29 This header defines the | |
30 .Vt "struct mlk_action" : | |
31 .Bd -literal | |
32 struct mlk_action { | |
33 void *data; | |
480
c1f64d451230
core: mlk_action has a start callback
David Demelier <markand@malikania.fr>
parents:
441
diff
changeset
|
34 void (*start)(struct mlk_action *self); |
441 | 35 void (*handle)(struct mlk_action *self, const union mlk_event *ev); |
36 int (*update)(struct mlk_action *self, unsigned int ticks); | |
37 void (*draw)(struct mlk_action *self); | |
38 void (*end)(struct mlk_action *self); | |
39 void (*finish)(struct mlk_action *self); | |
40 }; | |
41 .Ed | |
42 .Pp | |
43 Each member function takes the original action as first argument and other | |
44 arguments after. Its fields are: | |
45 .Bl -tag | |
46 .It Va data | |
47 Optional user data. | |
480
c1f64d451230
core: mlk_action has a start callback
David Demelier <markand@malikania.fr>
parents:
441
diff
changeset
|
48 .It Va start |
c1f64d451230
core: mlk_action has a start callback
David Demelier <markand@malikania.fr>
parents:
441
diff
changeset
|
49 This function is called when the action is going to start. User can set a |
c1f64d451230
core: mlk_action has a start callback
David Demelier <markand@malikania.fr>
parents:
441
diff
changeset
|
50 function to prepare the action especially in a sequence (see |
c1f64d451230
core: mlk_action has a start callback
David Demelier <markand@malikania.fr>
parents:
441
diff
changeset
|
51 .Xr mlk-action-script 3 |
c1f64d451230
core: mlk_action has a start callback
David Demelier <markand@malikania.fr>
parents:
441
diff
changeset
|
52 for example). |
441 | 53 .It Va handle |
54 Handle the event | |
55 .Fa ev . | |
56 .It Va update | |
57 Update the action with the | |
58 .Fa ticks | |
59 since last frame expressed as milliseconds. The callback should return non-zero | |
60 if it is considered complete. | |
61 .It Va draw | |
62 Draw the action. | |
63 .It Va end | |
64 Called when the action was completed. | |
65 .Pp | |
66 This callback is mostly provided to allow the user doing something else once an | |
67 action is complete. Predefined actions from the framework should not use this | |
68 callback by themselves. | |
69 .It Va finish | |
70 Destroy internal resources for this action. | |
71 .Pp | |
72 Close the action before removal. This function should be used to deallocate | |
73 memory if necessary. | |
74 .El | |
75 .Sh SEE ALSO | |
76 .Xr mlk_action_draw 3 , | |
77 .Xr mlk_action_end 3 , | |
78 .Xr mlk_action_finish 3 , | |
79 .Xr mlk_action_handle 3 , | |
80 .Xr mlk_action_update 3 | |
81 .Sh AUTHORS | |
82 The | |
83 .Nm | |
84 library was written by | |
85 .An David Demelier Aq Mt markand@malikania.fr . |