comparison libadventure/adventure/molko.h @ 197:852d0b7817ce

rpg: map, extreme cleanup, closes #2508 @4h
author David Demelier <markand@malikania.fr>
date Mon, 09 Nov 2020 10:37:36 +0100
parents
children
comparison
equal deleted inserted replaced
196:658ee50b8bcb 197:852d0b7817ce
1 /*
2 * molko.h -- main structure for Molko's Adventure
3 *
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr>
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 #ifndef MOLKO_H
20 #define MOLKO_H
21
22 #include <core/game.h>
23 #include <core/texture.h>
24 #include <core/sprite.h>
25 #include <core/state.h>
26
27 #include <rpg/map-file.h>
28 #include <rpg/map.h>
29
30 enum molko_state {
31 MOLKO_STATE_SPLASH,
32 MOLKO_STATE_MAINMENU,
33 MOLKO_STATE_PANIC,
34 MOLKO_STATE_MAP,
35 MOLKO_STATE_NUM
36 };
37
38 struct molko {
39 struct game engine;
40 struct state states[MOLKO_STATE_NUM];
41
42 /* MOLKO_STATE_MAP. */
43 struct texture map_player_texture;
44 struct sprite map_player_sprite;
45 struct map_file map_file;
46 struct map map;
47 };
48
49 extern struct molko molko;
50
51 void
52 molko_init(void);
53
54 void
55 molko_run(void);
56
57 void
58 molko_finish(void);
59
60 #endif /* !MOLKO_H */