aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/state.cpp
AgeCommit message (Collapse)Author
2018-01-23SUPERNOVA: Fix GCC Unused Variable Warnings.D G Turner
2018-01-23SUPERNOVA: Fix exiting intro cutscene using EscapeThierry Crozat
2018-01-23SUPERNOVA: Restores brightness when leaving the caveJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Implements screen shakeJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Restores brightness if power onJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds current room to save fileJoseph-Eugene Winzer
and restores player location to it on load.
2018-01-23SUPERNOVA: Implements inventory arrowsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Scrolls inventory when taking an objectJoseph-Eugene Winzer
Signed-off-by: Joseph-Eugene Winzer <joewinzer@googlemail.com>
2018-01-23SUPERNOVA: Limits inventory scrollJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes de-/serialization of game stateJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds Outro initializationJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes number of roomsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Remvomes manual assigning of current roomJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Alters wait function to stall at least _delay msJoseph-Eugene Winzer
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-23SUPERNOVA: Adds key input check functionJoseph-Eugene Winzer
This is temporary. Input is all over the place right now I feel, so it will be reworked 'soon'.
2018-01-23SUPERNOVA: Removes commentsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds message prompt on exitJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Simplifies timing codeJoseph-Eugene Winzer
Removing remnants of the original code like _timeAlarmSystem.
2018-01-23SUPERNOVA: Implements de-/serializationJoseph-Eugene Winzer
WIP. It is currently broken.
2018-01-23SUPERNOVA: Adds RoomID to RoomsJoseph-Eugene Winzer
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-23SUPERNOVA: Implements Return To LauncherJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Removes color macrosJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds explicitly invalid state for ObjectsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes dimming when ship energy lowJoseph-Eugene Winzer
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-23SUPERNOVA: RefactoringJoseph-Eugene Winzer
Renaming variables of GameState to avoid ambiguity.
2018-01-23SUPERNOVA: Fixes overdraw of inputJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Converts Object name and description to StringsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Changes parameter name of timeToString()Joseph-Eugene Winzer
2018-01-23SUPERNOVA: Adjusts init time valuesJoseph-Eugene Winzer
to the approximated ms per tick constant of 55ms.
2018-01-23SUPERNOVA: Fixes setting alarm time on watchJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes too large edit() fieldJoseph-Eugene Winzer
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-23SUPERNOVA: Removes redundant loops around edit()Joseph-Eugene Winzer
2018-01-23SUPERNOVA: Converts special charactersJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Corrects GameState variable namesJoseph-Eugene Winzer
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-23SUPERNOVA: Fixes render error on death screen fadeoutJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Implements turnOn()Joseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds ticks to msec conversion constantJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Removes TODOsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes terminal in sleeping chamberJoseph-Eugene Winzer
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-23SUPERNOVA: Adds code for remaining game logicJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Implements shock() and removes longjmps to 'dead'Joseph-Eugene Winzer
2018-01-23SUPERNOVA: cleanupJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Implements edit()Joseph-Eugene Winzer
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-23SUPERNOVA: Implements death screenJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Refactors init and destruction of GameManagerJoseph-Eugene Winzer
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-23SUPERNOVA: Adds clear() to Inventory ClassJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Input handlingJoseph-Eugene Winzer
GetKeyInput/MouseInput/Input() block until the expected input happens. GetKeyInput() takes a parameter that checks if the key input is a 'printable' character, backspace, delete, return or escape. Also, the key state is now stored instead of just the ascii value of the pressed key.
2018-01-23SUPERNOVA: Adds indicator for key pressesJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Implements 'wait for input'Joseph-Eugene Winzer
Currrently the only implemented scene that uses this function is looking at the monitor in the cockpit. Depending on use cases in other scenes the function needs to be extended.
2018-01-23SUPERNOVA: Removes shadowing of variablesJoseph-Eugene Winzer