Street animation was changing memory that it shouldn't, so
going into the kiosk resulted in a segfault.
Also remove 2 debug lines from supernova2/state.cpp
Fix GUI not working after leaving text edit field
Forbid showing help, info, doc screens, when GUI isn't alowed,
this should mimic the original game better and also resolves
some issues.
I am merging the second engine to the first one. Both should be
fully functional as before right now
Current merge file status:
console: should be done
graphics: should be done
detection: 0% merged
imageid: appears to not be used anywhere, so it may be removed
resman: partialy merged
rooms: totaly different, 0% merged
screen: should be done
screenstatic: done
sound: partialy done
state: a lot different, just started to merge
supernova: mostly done
It doesn't serve a purpose anymore. The parameter was used to keep
waiting for key input if it was a 'non text editing' event, like
pressing the shift modifier key. The only place it was used was for text
input when interacting with the computer in ShipSleepCabin.
After leaving the cell on Arsano there's a desk you need to attach your
watch to and set the alarm to attract the guard in the next room. If the
alarm goes off while reading the newspaper, the game glitches out with
wrong palette colors, scene, ..
Although renderImage for ImageId doesn't use _currentImage, it needs to
be set for compatibility with the section based renderImage function.
The functionality doesn't change with this commit, except that the
palette brightness gets updated if the image is in a different file.
The audio samples' offset and corresponding file number are better
described in sound.h. Also the variable timer2 was renamed quite a while
ago and served only as a reference to the original source code.
This replaces using slot 999 to save this savegame and allows
to properly handle having several playthroughs with a different
state when going to sleep. This is also similar to what the
original engine was doing.
Before nullObject was a static member of Object class and now a member
of GameManager. Also the Inventory constructor was extended for taking a
pointer to the nullObject that Invetory::get() returns if no Object was
found.