/docs/wiki: T1.4 Developing
This commit is contained in:
parent
05f85062e8
commit
a88392b9e9
@ -53,6 +53,7 @@
|
||||
<li><b>T</b> for townengine; development and apis.
|
||||
<li><b>G</b> for gamedev; guides and FAQs on game making.
|
||||
</ul>
|
||||
<p>There's no reason not to pile up knowledge, refactoring is irrelevant.
|
||||
</blockquote>
|
||||
<p><a name="abi"></a><strong>T1.3 </strong><strong>Procedure Interface</strong>
|
||||
<blockquote>
|
||||
@ -76,5 +77,21 @@
|
||||
<li>Returns must be restricted/closed on being constant over frame, parameters or asset frame.
|
||||
</ul>
|
||||
</blockquote>
|
||||
<p><a name="dev-on"></a><strong>T1.4 </strong><strong>Developing</strong>
|
||||
<blockquote>
|
||||
<p>One of hard choices we employ is requirement on having more or less the same tools on all platforms in order to compile.
|
||||
If you're on Windows you need to get a MinGW environment. [cmake] and [python3] (>specify versions<) are also required.
|
||||
[clang] is preferred over [gcc], as it has superior lto, which matters a great deal with our architecture (literal day and night difference in frame time).
|
||||
[git] is used for version control. Git for Windows distribution could also be used for getting conforming cli environment, much recommended.
|
||||
<p>Inside $TWNROOT/bin folder the [twn] script is used for engine instrumentation.
|
||||
It could build and run your projects and even open this very wiki locally!
|
||||
You could execute [source hooks] inside $TWNROOT to add [twn] to your $PATH temporarily. Symlinking of it is also supported.
|
||||
Look inside the script to see what it can do, it's ever growing !
|
||||
<p>[twn init <template> <name>] could be used to quickly initialize a project.
|
||||
Look into $TWNROOT/apps/templates folder to see available templates.
|
||||
<p>Support for [clangd] completions is provided with [twn devcompl] command, it generates compile_commands.json inside $TWNROOT/build folder.
|
||||
Having workspace placed in $TWNROOT by your IDE should be enough to make it all work. Rerun [twn devcompl] if new files are added.
|
||||
<p>Web target requires [emsdk] as of now. Use [twn build --target=web] to use it.
|
||||
</blockquote>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -21,6 +21,7 @@
|
||||
<p style="margin:0">T1.1 <a href="about-townengine.html#introduction">Introduction</a></p>
|
||||
<p style="margin:0">T1.2 <a href="about-townengine.html#wiki">Wiki</a></p>
|
||||
<p style="margin:0">T1.3 <a href="about-townengine.html#abi">Procedure Interface</a></p>
|
||||
<p style="margin:0">T1.4 <a href="about-townengine.html#dev-on">Developing</a></p>
|
||||
</blockquote>
|
||||
<p style="margin-bottom:0"><a name="input-system"></a>T2. </strong><a href="input-system.html">Input System</strong></a></p>
|
||||
<blockquote style="margin-top:0">
|
||||
|
Loading…
Reference in New Issue
Block a user