RandomNotes.wiki
author Wuzzy
Wed, 17 Apr 2019 15:20:19 +0100
changeset 1807 7df2a9651b29
parent 1765 3e23edc6d087
child 1814 e6e9ed9d2626
permissions -rw-r--r--
LuaAPI: Fix bg

#summary Little tidbits that await proper structuring

= Introduction =
This page is a collection of random unsorted or unfinished stuff which is not good or structured enough to be put into one of the “real” wiki pages. Wiki editors: If something becomes actually useable, please move it to the appropriate wiki page and remove it from this page.

This page is intentionally chaotic and may change rapidliy at any time.

= How to add a settings option =
 * `QStringList HWGame::setArguments()` in `game.cpp` is the function that prepares the argument list
 * `void GameUIConfig::SaveOptions()` in `gameuiconfig.cpp` loads (or initializes) values and set the widgets to those values
 * `PageOptions::PageOptions(QWidget* parent) :  AbstractPage(parent)` is where you would add your widget

= How to convert a `.hwmap` file to a Lua string =

Run this in a shell:

<code>IN="map.hwmap";OUT="temp.lua";base64 -d $IN | tail -c +7 | head -c -4 > foo;echo -ne "\x1f\x8b\x08\0\0\0\0\0\x02\xff" > bar;cat bar foo | gunzip > baz;C=0;echo -n "local map = { " >> $OUT;od -w240 -t u1 baz | grep -Ev "^[0-9]*[[:space:]]*$" | while read f;do C=$((C+1));if ((C!=1));then echo "," >> $OUT;fi;echo -n $f | sed "s/^......./'/;s/  */\\\\/g;s/$/'/" >> $OUT;done;echo "}" >> $OUT</code>

 * Input file: `map.hwmap`
 * Output file: `temp.lua`

= Undocumented Lua functions =
This script was used on [LuaAPI] to detect undocumented functions:

[http://hw.ercatec.net/docs/lua_wiki_check.php]

But due to a restructuring, this script no longer works, it needs to be updated.