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.
Started working on a tiny input/ActionMapper refactor,
then everything fell apart and i ended up doing this.
I'm sorry.
Pretty much untested because input mapping is broken right now,
will fix that next.
I chose to add an extra XML tag storing only the needed data in order to
preserve compatibility with older versions that expect the specific
layout of the <SE k="..." /> tag, which can't be changed.
Adding a new tag like <SE m="..." /> with an updated layout is also
not an option, because older versions would not load these, and
maps would be empty as a result.
- Now, the camera will now no longer be pulled towards the upper left
or lower rigtht corner.
- cameraPos was never used as an interpolating vector, cleaned up related code.
- Core::invGlobalScale is now updated whenever Core::globalScale is changed
(Not a nice solution but it does work)
- Increase cull radius by 10%, should prevent tiles from disappearing when
zoomed in a lot.
This adds a few additional interface functions, to be defined in:
scripts/global/cooking.lua, or
_mods/XYZ/scripts/cooking.lua
Added functions:
cookFailure(a,b,c) - Called when no recipe could be found for ingredients a,b,c
getIngredientString() - Called by the menu. Expected to return effects description
for scripted ingredient..
useIngredient(name) - Called when a scripted ingredient will be eaten.
Return true to eat.
Use a line like this in ingredients.txt:
LuaLoaf sealoaf Loaf (script)
to enable calling useIngredient() upon eating.
- Removed some unused member variables.
- The BBGE_BUILD_WIDESCREEN define is now gone.
- Added an TiXMLDocument cache to prevent parsing the same file
once for each entity on the map with the same skeletal.
- Removed Lua func entity_warpToPathStart, which was essentially a no-op
because Entity::followingPath was always NULL. Removed related code.
- Set texture wrap only when required.
(Some changes taken from https://bitbucket.org/mattbierner/ios-aquaria,
special thanks for changeset 72d6460d9e60)
An Errorneous script could cause a node script instance leaking,
preventing the leaked inctances from unloading, and thus
locking the whole file, preventing it from re-loading when relaoding
the map, until the mod was exited.
Also init nodes properly when cloned or changed.
This patch adds the functionality of the removed hack added in 07bc370c1680,
but without the runtime performance impact.
OT_* obstruction types are now a bitmask; as a side effect,
Game::baseGrid is no longer needed, which reduces memory usage by
4 MB.
This allows reconstructing the map templates, which were never shipped with the game.
This patch also fixes insane memory leaking when taking screenshots, or dumping screen frames.
Fixed an oversight where not all parallax layers got their parallaxLock
status cleared in case the map file was missing this attribute, or not all
affected layers were listed there.
The editor does now no longer switch to a layer when hiding it
(Alt+Layer key). It is still possible to edit invisible layers, though.