Mercurial > molko
annotate doxygen/mainpage.c @ 182:f6497ec74b49
core: add alloc module, closes #2512
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 27 Oct 2020 16:54:18 +0100 |
parents | eb0a7ab71023 |
children |
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 */ |