- Tile effects are loaded on continuity reset, which clears ALL tiles.
This is bad and needs further fixing.
- Continuity reset happens in other ways, too
- So effectively a bunch of text files were loaded twice
- Very slight improvement to startup time
- Should probably remove the Lua function...?
- Don't warp mouse on title screen (less intrusive)
The config format has slightly changed after merging the controllerfixup branch,
therefore it's better to have this reference file somewhere.
An old config should import cleanly, but in case it doesn't, this will do.
At this point we can close#28.
This uses a new <Compatibility script="..." /> tag in a mod's XML file.
A compatbility layer is a script that runs before mod-init.lua is loaded,
and before any mod scripts are loaded when resuming a saved game.
This is a better solution than shipping a fragile wrapper
with every mod, that tends to break and then needs to be updated.
Now this wrapper is centralized, easy to use, and easy to update.
Closes#31.
This makes the window resizable in desktop mode, and fixed size otherwise.
Fullscreen desktop has always the dame resolution as the desktop.
Add config setting to specify initial display.
Add config setting for the refresh rate (not yet properly integrated)
Closes#17
- Support joystick hotplugging
- Support axes as buttons (means xbox360 shoulder triggers can be used as buttons)
- Show pretty joystick axis & button names if possible
- Tabify input actions UI
- Add 'mouse' column to input actions UI
- Allow to configure form hotkeys
- Allow ALL keys, get rid of internal key remapping
- SDL2: Use scancodes instead of keycodes since they are layout independent
- Allow extra mouse buttons (if present)
- Remove "lmbd" & "lmbu" actions in favor of "PrimaryAction" & "SecondaryAction"
Makes the configuration less redundant and doesn't send each action twice,
which happened if both were set to the same key.
- Fix Regressions from prev commits (menu not opening on Esc)
Still has a few minor bugs/issues that need to be fixed,
but pushing this now before the commit gets too large again.
This untangles some of the gigantic kitchen sink headers
in an attempt to split things into smaller files.
Also don't include gl.h, glext.h, windows.h,
and other such nonsense *everywhere*.
Lots of cleanups on the way too. More dead/unused code removal.
Remove incrFlag(), decrFlag() Lua functions.
From the Lua 5.1 manual:
"The luaopen_* functions (to open libraries) cannot be called directly,
like a regular C function. They must be called through Lua,
like a Lua function."
All standard tables are now loaded with luaL_openlibs(), which includes os and io.
Because these are inherently unsafe, there is a new config setting:
<AllowDangerousScriptFunctions on="1" />
This is disabled by default.
The title screen will show a warning when the setting is on.
Apparently there is a new map with the index 55 -- a related entry was
added to the worldmap.txt file to prevent data loss, just in case.
<StartData ch=... /> field is not yet handled missing.
Hopefully the resulting format can be loaded on android without problems,
especially because both "ingr" and "ingrNames" fields appear in the
StartData tag now.
The .glf file is based on the original russian file, but binary-patched
so that the game can load it without special hacks messing with
texture coordinates, which would break loading the original english glf file.