Mercurial > molko
annotate libmlk-rpg/mlk/rpg/battle-message.c @ 547:c7664b679a95
misc: remove error codes for now
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 06 Mar 2023 20:03:00 +0100 |
parents | 6100c643dba0 |
children |
rev | line source |
---|---|
293 | 1 /* |
2 * battle-message.c -- automatic top center message in battle | |
3 * | |
445
773a082f0b91
misc: update copyright years
David Demelier <markand@malikania.fr>
parents:
434
diff
changeset
|
4 * Copyright (c) 2020-2023 David Demelier <markand@malikania.fr> |
293 | 5 * |
6 * Permission to use, copy, modify, and/or distribute this software for any | |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
9 * | |
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 */ | |
18 | |
19 #include <assert.h> | |
20 | |
431
8f59201dc76b
core: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents:
378
diff
changeset
|
21 #include <mlk/core/window.h> |
293 | 22 |
433
862b15c3a3ae
ui: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents:
431
diff
changeset
|
23 #include <mlk/ui/align.h> |
862b15c3a3ae
ui: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents:
431
diff
changeset
|
24 #include <mlk/ui/frame.h> |
862b15c3a3ae
ui: cleanup hierarchy
David Demelier <markand@malikania.fr>
parents:
431
diff
changeset
|
25 #include <mlk/ui/label.h> |
293 | 26 |
27 #include "battle-message.h" | |
28 | |
29 #define DELAY 1500 | |
30 | |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
293
diff
changeset
|
31 int |
293 | 32 battle_message_update(struct battle_message *msg, unsigned int ticks) |
33 { | |
34 assert(msg); | |
35 | |
36 msg->elapsed += ticks; | |
37 | |
38 return msg->elapsed >= DELAY; | |
39 } | |
40 | |
41 void | |
42 battle_message_draw(const struct battle_message *msg) | |
43 { | |
44 assert(msg); | |
45 | |
491
734b598534c4
ui: frame -> mlk_frame
David Demelier <markand@malikania.fr>
parents:
487
diff
changeset
|
46 struct mlk_frame f = {0}; |
493
fce3b3c4b496
ui: label -> mlk_label
David Demelier <markand@malikania.fr>
parents:
491
diff
changeset
|
47 struct mlk_label l = {0}; |
293 | 48 unsigned int lw = 0, lh = 0; |
49 | |
50 /* Prepare message frame. */ | |
485
3ff1fe64d0cd
core: window -> mlk_window
David Demelier <markand@malikania.fr>
parents:
445
diff
changeset
|
51 f.w = mlk_window.w / 3; |
3ff1fe64d0cd
core: window -> mlk_window
David Demelier <markand@malikania.fr>
parents:
445
diff
changeset
|
52 f.h = mlk_window.h / 15; |
293 | 53 |
54 /* Center on top. */ | |
487
f2d3c5a97884
ui: align -> mlk_align
David Demelier <markand@malikania.fr>
parents:
485
diff
changeset
|
55 mlk_align(MLK_ALIGN_TOP, &f.x, &f.y, f.w, f.h, 0, 20, mlk_window.w, mlk_window.h); |
293 | 56 |
57 /* Prepare message label box. */ | |
58 l.text = msg->text; | |
493
fce3b3c4b496
ui: label -> mlk_label
David Demelier <markand@malikania.fr>
parents:
491
diff
changeset
|
59 mlk_label_query(&l, &lw, &lh); |
293 | 60 |
61 /* Align the text in the box. */ | |
487
f2d3c5a97884
ui: align -> mlk_align
David Demelier <markand@malikania.fr>
parents:
485
diff
changeset
|
62 mlk_align(MLK_ALIGN_CENTER, &l.x, &l.y, lw, lh, f.x, f.y, f.w, f.h); |
293 | 63 |
491
734b598534c4
ui: frame -> mlk_frame
David Demelier <markand@malikania.fr>
parents:
487
diff
changeset
|
64 mlk_frame_draw(&f); |
493
fce3b3c4b496
ui: label -> mlk_label
David Demelier <markand@malikania.fr>
parents:
491
diff
changeset
|
65 mlk_label_draw(&l); |
293 | 66 } |