When loading a save file, the cube_retrieved signal is not immediately
set, which causes the stairs to raise.
Require the signal to be set for a few frames to avoid this.
A transparent portal surface allows portalability when the stairs are
lowered while not blocking visibility when they are raised.
During the descent, animated collisionless floor geometry is used as
cover so the real stairs can be moved out of the way.
Next iteration will focus on making the pit beneath the stairs visible
while ideally allowing portals to be placed during the descend
animation.
Ideas include a transparent portal surface with either separately
animated step collision (to hide it beneath the level) or an animated
piece of floor geometry to act as a cover.
This is currently implemented by having the stairs simply descend
beneath the floor. The floor cannot disappear/reappear dynamically until
issue #40 is fixed and portals work properly on dynamic collision. For now,
the behind-the-scenes pit is not shown as a result.
To do:
* Investigate engine optimization opportunities
* Reduce static element count if proven to be necessary
* Look into other ways to handle the floor
Created steps, pit, static collision, and armature.
Still need to:
* Create proper animation
* Add triggers
* Convert static collision to dynamic
* Make portals work
The following static geometry was previously not marked with `no_portals`:
* Walls behind ball launcher and catcher in chamber 11
* Floor beneath button in chamber 12
* Wall behind ball launcher in chamber 14
in test_chamber blender files, renamed @fizzler objects to not cause generation of unused signals.
removed "parse_trigger_signal" in trigger.lua, added "optional_signal_index_for_name", which is used for both trigger signals and fizzler signals.
added check in fizzler.c if signal is -1
test_chamber_00: added level logic to trigger voice lines whenever the cube in the first room is fizzled.
added missing voice lines
box_dropper.c: fixed typo "DROPPER_.." instead of "DROOPER_.."
(Issue #13)