Commit Graph
137148 Commits
Author SHA1 Message Date
Strangerke 4c9fc3cdbc SUPERNOVA: Fix compilation using MSVC9, silent some CppCheck warnings 2018-01-23 02:15:32 +00:00
D G Turner 2e79e24392 SUPERNOVA: Fix GCC Signed vs. Unsigned Comparison Warnings. 2018-01-23 02:15:32 +00:00
D G Turner ea955675db SUPERNOVA: Fix GCC Warning for Malformed Narrowing Conversions in C++11. 2018-01-23 02:15:32 +00:00
D G Turner e6fea1bd86 SUPERNOVA: Fix GCC Unused Variable Warnings. 2018-01-23 02:15:32 +00:00
Thierry Crozat 86795f0fa2 SUPERNOVA: Fix clicks at start and end of audio samples
The sound samples start with a 6 bytes header (including the size of
the sample coded on a little endian 16 bits uint on bytes 2 and 3)
and end with 4 bytes set to null. Those were passed to the raw stream,
which resulted in the audible clicks.

Note that we could use the information from the header to load the
sound samples instead of keeping around an array of offset and size.
2018-01-23 02:15:32 +00:00
Thierry Crozat 696fcb6bb9 SUPERNOVA: Add saving/loading of playtime 2018-01-23 02:15:32 +00:00
Thierry Crozat 275daa81c3 SUPERNOVA: Disable loading during intro cutscene
Loading during the intro is not currently working and is not
trivial to implement. So disable it for now.
2018-01-23 02:15:32 +00:00
Thierry Crozat 1cdede12ac SUPERNOVA: Properly handle loading saved game from launcher 2018-01-23 02:15:32 +00:00
Thierry Crozat ed7fa6f7d7 SUPERNOVA: Improve save state handling
The saved game files now start with a header and version which allows
to do some sanity check and will allow to change the format in the
future if needed.

Also the MetaEngine can now be queried for the meta infos of a save
state.
2018-01-23 02:15:31 +00:00
Thierry Crozat a4470edb29 SUPERNOVA: Fix exiting intro cutscene using Escape 2018-01-23 02:15:31 +00:00
Joseph-Eugene Winzer aef0e122c7 SUPERNOVA: Restores brightness when leaving the cave 2018-01-23 02:15:31 +00:00
Joseph-Eugene Winzer e45d94b065 SUPERNOVA: Implements screen shake 2018-01-23 02:15:31 +00:00
Joseph-Eugene Winzer ba7729a767 SUPERNOVA: Restores brightness if power on 2018-01-23 02:15:31 +00:00
Joseph-Eugene Winzer 945dc9f46f SUPERNOVA: Fixes rendering and logic for cable 2018-01-23 02:15:31 +00:00
Joseph-Eugene Winzer 7da494427d SUPERNOVA: Adds current room to save file
and restores player location to it on load.
2018-01-23 02:15:31 +00:00
Joseph-Eugene Winzer 03414f789a SUPERNOVA: Implements inventory arrows 2018-01-23 02:15:31 +00:00
Joseph-Eugene Winzer 3814f33826 SUPERNOVA: Scrolls inventory when taking an object
Signed-off-by: Joseph-Eugene Winzer <joewinzer@googlemail.com>
2018-01-23 02:15:31 +00:00
Joseph-Eugene Winzer 9f3f9f47ad SUPERNOVA: Limits inventory scroll 2018-01-23 02:15:31 +00:00
Joseph-Eugene Winzer 5bdfb6f13a SUPERNOVA: Removes saveload.h
This header file contained info on the data structres of the original
game. The engine reimplementation is too different now to easily provide
compatibility for the original save files though.
2018-01-23 02:15:31 +00:00
Thierry Crozat 577ec1c56d SUPERNOVA: Fix missing return value for cmdGiveAll debug command 2018-01-23 02:15:31 +00:00
Joseph-Eugene Winzer 02290c32b6 SUPERNOVA: Allows saving by default
When saving is not apropriate, for example during cutscenes, explicitly
disable it.
2018-01-23 02:15:30 +00:00
Joseph-Eugene Winzer 142e1743ce SUPERNOVA: Fixes playing vinyl in CabinL3 2018-01-23 02:15:25 +00:00
Joseph-Eugene Winzer 749fa6336e SUPERNOVA: Fixes save/load dialog 2018-01-23 02:14:56 +00:00
Joseph-Eugene Winzer 23f57ca83f SUPERNOVA: Fixes de-/serialization of game state 2018-01-23 02:14:56 +00:00
Joseph-Eugene Winzer 68c52362e5 SUPERNOVA: Adds Outro initialization 2018-01-23 02:14:47 +00:00
Joseph-Eugene Winzer 735e2a8301 SUPERNOVA: Assigns room id of ShipOuterSpace 2018-01-23 02:07:46 +00:00
Joseph-Eugene Winzer 7cae6fde30 SUPERNOVA: Fixes number of rooms 2018-01-23 02:07:37 +00:00
Joseph-Eugene Winzer 5f19833803 SUPERNOVA: Remvomes manual assigning of current room 2018-01-23 02:01:00 +00:00
Joseph-Eugene Winzer 7ed2dea5e0 SUPERNOVA: Adds Intro before starting room 2018-01-23 02:01:00 +00:00
Joseph-Eugene Winzer 98ab5ee142 SUPERNOVA: Alters wait function to stall at least _delay ms
wait2() is used for updating events all over the code with a parameter
of 1, so to be sure there's at least one update it is wrapped in a
do-while now.
2018-01-23 02:01:00 +00:00
Joseph-Eugene Winzer 7f513ac1db SUPERNOVA: Adds key input check function
This is temporary. Input is all over the place right now I feel, so it
will be reworked 'soon'.
2018-01-23 02:01:00 +00:00
Joseph-Eugene Winzer a334a4730d SUPERNOVA: Fixes returned constant on load fail 2018-01-23 02:01:00 +00:00
Joseph-Eugene Winzer ea60d1513e SUPERNOVA: Raises save game limit to 99 2018-01-23 02:01:00 +00:00
Joseph-Eugene Winzer 6e33819217 SUPERNOVA: Changes increment size for fade in/out 2018-01-23 02:01:00 +00:00
Joseph-Eugene Winzer b3e23fef13 SUPERNOVA: Fixes mouse events during intro 2018-01-23 02:00:59 +00:00
Joseph-Eugene Winzer 7b4e9a5424 SUPERNOVA: Adds text speed variable 2018-01-23 02:00:59 +00:00
Joseph-Eugene Winzer 7bd20ffbed SUPERNOVA: Adds constants 2018-01-23 02:00:59 +00:00
Joseph-Eugene Winzer de539134f9 SUPERNOVA: Removes comments 2018-01-23 02:00:59 +00:00
Joseph-Eugene Winzer 0ffd005995 SUPERNOVA: Adds message prompt on exit 2018-01-23 02:00:59 +00:00
Joseph-Eugene Winzer 82efa9dd65 SUPERNOVA: Simplifies timing code
Removing remnants of the original code like _timeAlarmSystem.
2018-01-23 02:00:51 +00:00
Joseph-Eugene Winzer 3f68cda2d7 SUPERNOVA: Implements de-/serialization
WIP. It is currently broken.
2018-01-23 01:53:31 +00:00
Joseph-Eugene Winzer ef14dfb7c3 SUPERNOVA: Adds engine pause 2018-01-23 01:53:28 +00:00
Joseph-Eugene Winzer 9b064e364f SUPERNOVA: Adds room id to objects
This commit helps especially during serialization of the inventory to
determine which room the object belongs to.
2018-01-23 01:53:00 +00:00
Joseph-Eugene Winzer 1af00170b4 SUPERNOVA: Extends MetaEngine for load/save support 2018-01-23 01:53:00 +00:00
Joseph-Eugene Winzer 2b03a1f52a SUPERNOVA: Formatting 2018-01-23 01:52:59 +00:00
Joseph-Eugene Winzer edef2792da SUPERNOVA: Adds RoomID to Rooms
GameManager::airless() determined if the space suit could be taken off
by comparing the current room pointer to the allocated room objects.
This led to indeterministic behavior as sometimes airless() would
falsely return true as the dynamic allocation of the Room objects cannot
be expected to be in a certain order.
Implementing the corresponing RoomID to a Room objects solves this
problem.
2018-01-23 01:52:59 +00:00
Joseph-Eugene Winzer bc43ff820e SUPERNOVA: Ignores mouse clicks while sound is playing 2018-01-23 01:52:59 +00:00
Joseph-Eugene Winzer 18abc4702a SUPERNOVA: Implements Return To Launcher 2018-01-23 01:52:50 +00:00
Joseph-Eugene Winzer 72791ddbee SUPERNOVA: Adds structs for loading original save files 2018-01-23 01:47:02 +00:00
Joseph-Eugene Winzer e15f281113 SUPERNOVA: Removes color macros 2018-01-23 01:47:02 +00:00