- 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)
- Use indexed triangle rendering, no more GL_QUADS for tiles
- Fix aquarian text on maps
- Tile tex repeat mode works again
Known broken:
- Editor
- Tile repeat with grid effects
Turns out there was another renderer bug that would effectively
ignore the vertical flip if a Quad had an active ElementEffect that
used a grid (effects on numpad keys 1,2,3,5,6).
class Element is completely gone.
(The files are still there but no longer compiled in. Will delete later)
Broken still:
- support for vertical flip
- the editor
- culling
This only used to work because grid updates via tile effect wavy did
not set the update flag, so the grid didn't update itself afterward,
resetting the prev. written walues
Unfortunatelx maps were designed with this bug present,
and now tile rotation on parallax layers is wrong for flipped tiles.
This also affected background fish swarms and anything that
was on a parallax layer and flipped horizontally.
Need to fix maps next...
See also: commit 76ba2b1211
In the map XML file, also <Level ...> attribs of the same name.
Some old maps had those, but either the maps were unused,
or the respective graphics never visible.
Long/thin rectangular nodes were not handled correctly,
because it would only check the nearest waterbubble node
for overlap, not all on the map.
+ Lua func: isUnderWater(x, y, radius)
- fix typo that broke repeat-scale loading
- fix broken tile effects loading
- fix randomly shuffled world map tiles (as textures were loaded in a random order)
- reload tileset on editor reload (because we want to edit textures duh)
Apparently this was planned, but never worked.
Also removed watch() canQuit parameter because during watch(),
input is disabled.
Moved the quitting logic to DSQ::run() and added the canQuit param there.
Game still didn't get the ACTION_ESC for some reason so an extra check for
a raw Esc keypress seems like a good solution.
Game scripts calling watch() and watchForVoice() never used the canQuit
parameter (presumably because it was broken?) so i've felt it's an ok
thing to take it out completely.