annotate doxygen/mainpage.c @ 223:560303066120

tools: sync latest bcc While here rename to mlk-bcc like other tools.
author David Demelier <markand@malikania.fr>
date Wed, 18 Nov 2020 19:09:23 +0100
parents eb0a7ab71023
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
72
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * mainpage.c -- describe "Main Page" in Doxygen
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr>
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 /**
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 * \mainpage
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 * Welcome to the Molko's reference API.
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 * # About
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 * Molko's Adventure is a 2D solo RPG written in pure C, using SDL2 and SDL2
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 * addons.
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 *
169
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
29 * As its heart, the game is split into multiple parts, libraries, game data and
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
30 * game code.
72
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 * - It is not a game engine! Many aspects in the core are still tightly coupled
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 * with the original game design. We wanted the core to be kept simple without
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 * thousands of dynamic allocations and genericity all over the place.
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 * - It is not meant to be used as system library. Functions were kept simple
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 * and not prefixed by any "namespace"-like word. Instead, it is meant to be
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 * bundled with your game as boilerplate code with the possibility for you to
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 * change all internals if you want.
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 * # Usage
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 *
169
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
42 * If you plan to create your own game, simply copy the whole directory
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
43 * directory to your project and select which libraries you need.
72
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 * \note If you find a bug regarding your platform, feel free to send bug
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 * reports and patches.
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 * Then, check this API or read .h files for documentation. The files ending
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 * with _p.h are usually reserved for the implementation and should not be used
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 * unless you know what you're doing.
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 *
169
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
52 * # Libraries
72
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 *
169
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
54 * The following libraries are available and built separately:
72
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 *
169
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
56 * | Library | Description | Dependencies |
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
57 * |---------|----------------------------------------------|----------------------------------------|
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
58 * | libcore | Low level audio, video, windowing and input. | SDL2, SDL2_mixer, SDL2_ttf, SDL2_image |
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
59 * | libui | Minimalist UI routines to draw interfaces | libcore |
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
60 * | librpg | Group of modules related to RPG games | libcore, libui |
72
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 * ## Thread safety and reentrancy
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 * The core API is **not** thread-safe at all. Any module must always be used in
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 * a single thread unless you really know what you're doing.
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 *
147
b386d25832c8 doc: use new nomenclature, closes #2497
David Demelier <markand@malikania.fr>
parents: 72
diff changeset
67 * Most of the API is reentrant though except the some modules which use global
b386d25832c8 doc: use new nomenclature, closes #2497
David Demelier <markand@malikania.fr>
parents: 72
diff changeset
68 * objects.
72
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 *
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 * \note This may change in the future.
6203e1ac9b18 doc: improve doxygen documentation a lot
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 */