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)
Some textures cannot be used in their current form, and so they are
transformed at build time by Imagemagick commands (e.g., add shapes,
crop and merge different portions, etc.).
For a very small number of textures, making them usable takes more than
a few simple commands. For example, Chell's eyes and ears are detached
from her face in the texture image, and there are not enough polygons in
her model or pixels in an N64 texture to make a good UV map.
For these few complex textures, James worked around the problem by
checking in pre-edited images. This commit removes those images and
instead performs the necessary transformations at build time. As a result,
some textures are now slightly different (ball launcher/catcher, cube,
Chell). Chell's UV map is redone to accomodate this - for the better.