Thierry Crozat
7722fe99cd
SUPERNOVA: Move object name and description strings to engine data file
2018-01-23 02:15:33 +00:00
Thierry Crozat
6fc0659222
SUPERNOVA: Start using strings from the engine data file
...
This means that now all that remains to be done to play in English
is to move all the strings to the engine data file and to translate
them.
2018-01-23 02:15:33 +00:00
Thierry Crozat
d1bdfd2bde
SUPERNOVA: Clean indentations
2018-01-23 02:15:32 +00:00
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
e6fea1bd86
SUPERNOVA: Fix GCC Unused Variable Warnings.
2018-01-23 02:15:32 +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
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
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
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
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
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
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
18abc4702a
SUPERNOVA: Implements Return To Launcher
2018-01-23 01:52:50 +00:00
Joseph-Eugene Winzer
e15f281113
SUPERNOVA: Removes color macros
2018-01-23 01:47:02 +00:00
Joseph-Eugene Winzer
63c62d25e1
SUPERNOVA: Adds explicitly invalid state for Objects
2018-01-23 01:47:02 +00:00
Joseph-Eugene Winzer
714b38dde4
SUPERNOVA: Fixes dimming when ship energy low
...
roomBrightness() saw the greatest change by ripping out dimColors().
I compared the result with the original game and I cannot see any
difference by just reducing the palette brightness to 60%.
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer
c95efb1e3e
SUPERNOVA: Refactoring
...
Renaming variables of GameState to avoid ambiguity.
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer
2545ffd074
SUPERNOVA: Fixes overdraw of input
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer
316aeeabd5
SUPERNOVA: Converts Object name and description to Strings
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer
604d421660
SUPERNOVA: Changes parameter name of timeToString()
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer
644a6835e5
SUPERNOVA: Adjusts init time values
...
to the approximated ms per tick constant of 55ms.
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer
53c086c341
SUPERNOVA: Fixes setting alarm time on watch
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer
b64248981b
SUPERNOVA: Fixes too large edit() field
...
Before edit() cleared the input on screen by overdrawing it from x to
the right side of the screen. This works fine for terminals but for
example setting the watches alarm time it does not.
The text font is 5x8 so overdrawing the max input length + 1 * 5 is
sufficient to clear the screen from our input and the cursor. Also if
the value ends up being too big it is clamped to the right side
of the screen.
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer
2c0518e0ba
SUPERNOVA: Removes redundant loops around edit()
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer
cd01ca0ad3
SUPERNOVA: Converts special characters
2018-01-23 01:42:32 +00:00
Joseph-Eugene Winzer
a24af98b5e
SUPERNOVA: Corrects GameState variable names
...
According to the naming convention class member variables need to be
prefixed with an underscore.
Unfortunately, I already started converting time constants when making
this change so ticksToMsec() and constant changes are sprinkled over
this commit.
2018-01-23 01:42:32 +00:00
Joseph-Eugene Winzer
89059ff50d
SUPERNOVA: Fixes render error on death screen fadeout
2018-01-23 01:42:32 +00:00
Joseph-Eugene Winzer
18894e8f13
SUPERNOVA: Implements turnOn()
2018-01-23 01:42:26 +00:00
Joseph-Eugene Winzer
b0c108ff60
SUPERNOVA: Adds ticks to msec conversion constant
2018-01-23 01:33:25 +00:00
Joseph-Eugene Winzer
29b7b91a59
SUPERNOVA: Removes TODOs
2018-01-23 01:33:24 +00:00
Joseph-Eugene Winzer
c8e0f94fd1
SUPERNOVA: Fixes terminal in sleeping chamber
...
Instead of manipulating C-Strings edit() now takes a Common::String as a
parameter and the terminal input gets redrawn after every keystroke what
simplifies the function greatly.
2018-01-23 01:33:24 +00:00
Joseph-Eugene Winzer
8a766b5b48
SUPERNOVA: Adds code for remaining game logic
2018-01-23 01:19:02 +00:00
Joseph-Eugene Winzer
48870921f0
SUPERNOVA: Implements shock() and removes longjmps to 'dead'
2018-01-23 01:01:18 +00:00
Joseph-Eugene Winzer
172377f093
SUPERNOVA: cleanup
2018-01-23 01:01:18 +00:00
Joseph-Eugene Winzer
2c9f7b4ba9
SUPERNOVA: Implements edit()
...
As the TODO says, there are still problems with the function that can be
observed when using the terminal in the sleeping chamber.
2018-01-23 01:01:18 +00:00
Joseph-Eugene Winzer
51c9357549
SUPERNOVA: Implements death screen
2018-01-23 01:01:18 +00:00
Joseph-Eugene Winzer
37b4a77732
SUPERNOVA: Refactors init and destruction of GameManager
...
During the gameplay room state is overwritten and needs to be restored
on restart/load. Currently the original room state is not preserved and
thus needs to be destroyed and reinitialized to obtain the original
state.
2018-01-23 01:01:18 +00:00