annotate libmlk-rpg/rpg/battle-state.h @ 298:196264679079

misc: remove usage of bool
author David Demelier <markand@malikania.fr>
date Wed, 10 Mar 2021 18:49:08 +0100
parents 08ab73b32832
children d01e83210ca2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * battle-state.h -- battle abstract state
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr>
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
19 #ifndef MOLKO_RPG_BATTLE_STATE_H
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
20 #define MOLKO_RPG_BATTLE_STATE_H
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
292
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 290
diff changeset
22 #include <core/core.h>
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 290
diff changeset
23
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 struct battle;
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
25 struct character;
290
9948e288925b rpg: add support for items in battle
David Demelier <markand@malikania.fr>
parents: 289
diff changeset
26 struct inventory_slot;
9948e288925b rpg: add support for items in battle
David Demelier <markand@malikania.fr>
parents: 289
diff changeset
27 struct selection;
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 union event;
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
30
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 struct battle_state {
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 void *data;
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
33 void (*handle)(struct battle_state *, struct battle *, const union event *);
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
34 int (*update)(struct battle_state *, struct battle *, unsigned int);
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
35 void (*draw)(const struct battle_state *, const struct battle *);
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
36 void (*finish)(struct battle_state *, struct battle *);
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 };
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
38
292
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 290
diff changeset
39 CORE_BEGIN_DECLS
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 290
diff changeset
40
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
42 battle_state_handle(struct battle_state *, struct battle *, const union event *);
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
44 int
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
45 battle_state_update(struct battle_state *, struct battle *, unsigned int);
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
46
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
48 battle_state_draw(const struct battle_state *, const struct battle *);
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
49
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
51 battle_state_finish(struct battle_state *, struct battle *);
192
4ad7420ab678 rpg: add minimalist battle system, continue #2477 @60h
David Demelier <markand@malikania.fr>
parents:
diff changeset
52
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
53 /* States switchers, defined in their own files. */
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
54 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
55 battle_state_ai(struct battle *);
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
56
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
57 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
58 battle_state_attacking(struct battle *, struct character *, struct character *);
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
59
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
60 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
61 battle_state_item(struct battle *,
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
62 struct character *,
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
63 struct character *,
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
64 struct inventory_slot *);
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
65
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
66 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
67 battle_state_check(struct battle *);
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
68
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
69 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
70 battle_state_closing(struct battle *);
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
71
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
72 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
73 battle_state_lost(struct battle *);
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
74
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
75 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
76 battle_state_menu(struct battle *);
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
77
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
78 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
79 battle_state_opening(struct battle *);
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
80
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
81 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
82 battle_state_selection(struct battle *, const struct selection *);
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
83
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
84 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
85 battle_state_sub(struct battle *);
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
86
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
87 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
88 battle_state_victory(struct battle *);
254
6367b976112d rpg: merge battle state switchers to remove number of files
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
89
292
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 290
diff changeset
90 CORE_END_DECLS
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 290
diff changeset
91
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 229
diff changeset
92 #endif /* !MOLKO_RPG_BATTLE_STATE_H */