annotate README.md @ 375:d83b686dcf63

js: add Mlk.setTrace function
author David Demelier <markand@malikania.fr>
date Tue, 02 Nov 2021 15:22:14 +0100
parents 19782ea1cf4a
children 6947c1fefe5c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
366
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
1 Molko's Engine
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
2 ==============
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
3
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
4 The Molko's Engine is a C and Javascript framework to write 2D RPG games in a
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
5 portable manner. It is designed in mind to be flexible, simple and convenient to
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
6 use.
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
7
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
8 It has the following features:
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
9
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
10 - Written in C99,
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
11 - Portable (Windows, macOS and UNIX likes systems),
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
12 - Simple, flexible,
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
13 - Well documented,
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
14 - Virtual file system support.
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
15 - Usable in both C or Javascript.
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
16 - Can embed resources using `mlk-bcc`.
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
17
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
18 Javascript quick startup
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
19 ------------------------
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
20
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
21 The `mlk-run` executable exposes the Javascript API and start a game from a
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
22 directory or a .mlk file (which is a .zip file with a .mlk extension).
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
23
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
24 Hello world in Javascript:
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
25
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
26 mkdir superluigi
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
27
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
28 Add the following content in superluigi/main.js:
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
29
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
30 ```js
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
31 var w = new Window("Super Luigi, number one", 640, 480);
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
32 var run = true;
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
33
366
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
34 while (run) {
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
35 var ev;
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
36
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
37 while ((ev = Event.poll())) {
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
38 switch (ev.type) {
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
39 case Event.Type.QUIT:
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
40 run = false;
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
41 break;
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
42 default:
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
43 break;
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
44 }
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
45
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
46 Painter.color = 0xFFFFFFFF;
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
47 Painter.clear();
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
48 Painter.present();
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
49 }
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
50 }
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
51 ```
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
52
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
53 Finally run the game using `mlk-run superluigi`.
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
54
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
55 You can also create a .zip file with a .mlk extension and `mlk-run` will be able
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
56 to use content from it.
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
57
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
58 cd superluigi
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
59 zip -r ../superluigi.mlk .
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
60 cd ..
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
61 mlk-run superluigi.mlk
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
62
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
63 Documentation
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
64 -------------
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
65
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
66 Use `mkdocs serve` inside the **doc** directory to see the user and developer
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
67 documentation.
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
68
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 Author
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 ------
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
71
366
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
72 Molko's Engine was written by David Demelier <markand@malikania.fr>.