aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/state.h
AgeCommit message (Collapse)Author
2018-03-11SUPERNOVA: Removes unused functionJoseph-Eugene Winzer
2018-03-11SUPERNOVA: Encapsulates GuiElementJoseph-Eugene Winzer
It simplifies the overloaded functions for renderBox/Text and saveScreen
2018-03-11SUPERNOVA: Fixes formattingJoseph-Eugene Winzer
Because of confusion when indentation level is raised and thus tabs or spaces should be used when aligning code, this commit switches to tabs to avoid any further confusion.
2018-03-11SUPERNOVA: Removes unused variableJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Renames INT32_MAX to kMaxTimerValueJoseph-Eugene Winzer
Prevents collision with stdint.h INT32_MAX
2018-01-23SUPERNOVA: Corrects header guard nameJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Moves strings to GameManager classJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes inventory scrollingJoseph-Eugene Winzer
Correctly moves inventory view when items are added/removed/cleared
2018-01-23SUPERNOVA: Introduces INT32_MAX for eventTimeJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes game freeze in bcorrdiorJoseph-Eugene Winzer
Most of the time _objectState[MAX_OBJECT - 1] was used for showing/hiding the GUI, here it was to indicate if the player is currently hidden behind a pillar though.
2018-01-23SUPERNOVA: Only call onEntrace once after changing roomThierry Crozat
2018-01-23SUPERNOVA: Remove unused function variantThierry Crozat
2018-01-23SUPERNOVA: Implement dialogs with variable textThierry Crozat
This was partially implemented but not finished. However I reverted the changes already done to support that in order to use a different approach.
2018-01-23SUPERNOVA: Implement alarmThierry Crozat
2018-01-23SUPERNOVA: Remove leftover function declarationThierry Crozat
2018-01-23SUPERNOVA; Move some strings to game text file,Strangerke
2018-01-23SUPERNOVA: Implement telomat, increase savegame versionStrangerke
2018-01-23SUPERNOVA: Implement guardWalkEventStrangerke
2018-01-23SUPERNOVA: Fix handling of room brightnessThierry Crozat
There were several issues with the brighness due to the different implementation between the original and the code in scummvm. The code has now been modified to be much closer to the original, which fixed those issues and allowed to remove workarounds that had been added in various places to deal with those issues (but those workarounds had their own issues such as fade in happening too soon before switching to the new room).
2018-01-23SUPERNOVA: Implement autosave used for dream sequenceThierry Crozat
2018-01-23SUPERNOVA: Fix logic in rendering codeThierry Crozat
There were several issues fixed by this commit. The main ones are: - It was in many places only drawing the first section even for images that have multiple sections. - It was in some places using the wrong image. The first issue has been fixed by removing the GameManager::drawImage function, and moving its logic to SupernovaEngine::renderImage which was initially only drawing one section, but was nevertheless called directly from many place. The second image required more changes to the rendering code to allow setting the current image file when it is different from the room file. This fixes some memory issues and random crashes in places where it was for example trying to use the image -1. This also fixes the rendering of the flying cutscene.
2018-01-23SUPERNOVA: Implement shipstart cutsceneThierry Crozat
2018-01-23SUPERNOVA: Implement AxacussExit interaction logicStrangerke
2018-01-23SUPERNOVA: Add interaction logic for AxacussIntersectionStrangerke
2018-01-23SUPERNOVA: Properly handle timer stop/startThierry Crozat
2018-01-23SUPERNOVA: Remove variables and stub functions related to overlayThierry Crozat
2018-01-23SUPERNOVA: Implement event callback mechanism and Supernova eventThierry Crozat
2018-01-23SUPERNOVA: Handle events during dialogsThierry Crozat
2018-01-23SUPERNOVA: Cleanup dialog codeThierry Crozat
The main change consists in using a separate byte array for the sentence removal flags, move some functions from the GameManager to the Room class, and add a few additional functions to manipulate this new array. This allows to clarify some code related to dialogs. This change also allows to switch the _shown array back to a bool array.
2018-01-23SUPERNOVA: Implement most dialog related functionsThierry Crozat
2018-01-23SUPERNOVA: Change the signature of dialog(), fix calls, extract some more ↵Strangerke
strings
2018-01-23SUPERNOVA: Extract ArsanoRoger textsStrangerke
2018-01-23SUPERNOVA: Extract more dialog textsStrangerke
2018-01-23SUPERNOVA: Extract strings for ShibCabinL3 & R3 and for ShipAirlockStrangerke
2018-01-23SUPERNOVA: Improve interactivity of title screen and intro cutsceneThierry Crozat
We can now press the mouse button to leave the title screen instead of having to press a key. Since the mouse cursor was visible, not being able to press the mouse button was strange. Especially as it was possible to use the mouse button earlier in the title screen. Also we can now use the mouse button or any key other than escape during the cutscene to move to the next sentence. And the code is more reactive to pressing the Escape key (we don't need to wait for the current annimation to finish) to exit the cutscene.
2018-01-23SUPERNOVA: Implements inventory arrowsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes playing vinyl in CabinL3Joseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes number of roomsJoseph-Eugene Winzer
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: 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 engine pauseJoseph-Eugene Winzer
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: RefactoringJoseph-Eugene Winzer
Renaming variables of GameState to avoid ambiguity.
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 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: Implements the remaining room definitionsJoseph-Eugene Winzer
While it compiles, it is still WIP. Also there has been some confusion about the numbering of the AxacussCorridor classes among other things that need to be done.
2018-01-23SUPERNOVA: Adds code for remaining game logicJoseph-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: Fixes parameter name for getKeyInput()Joseph-Eugene Winzer