aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/supernova.cpp
AgeCommit message (Collapse)Author
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: Move object name and description strings to engine data fileThierry Crozat
2018-01-23SUPERNOVA: Load strings from the supernova.dat fileThierry Crozat
2018-01-23SUPERNOVA: Plug memory leak in MOD music streamsThierry Crozat
2018-01-23SUPERNOVA: Clean indentationsThierry Crozat
2018-01-23SUPERNOVA: Fix GCC Warning for Malformed Narrowing Conversions in C++11.D G Turner
2018-01-23SUPERNOVA: Fix clicks at start and end of audio samplesThierry Crozat
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-23SUPERNOVA: Add saving/loading of playtimeThierry Crozat
2018-01-23SUPERNOVA: Properly handle loading saved game from launcherThierry Crozat
2018-01-23SUPERNOVA: Improve save state handlingThierry Crozat
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-23SUPERNOVA: Allows saving by defaultJoseph-Eugene Winzer
When saving is not apropriate, for example during cutscenes, explicitly disable it.
2018-01-23SUPERNOVA: Fixes save/load dialogJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes returned constant on load failJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Raises save game limit to 99Joseph-Eugene Winzer
2018-01-23SUPERNOVA: Changes increment size for fade in/outJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes mouse events during introJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds text speed variableJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Removes commentsJoseph-Eugene Winzer
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-23 SUPERNOVA: Ignores mouse clicks while sound is playingJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Implements Return To LauncherJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Updates TODOsJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Removes getDOSTicks()Joseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds Alt-X as exit shortcutJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes rerendering of the roomJoseph-Eugene Winzer
One sprite can consist of many sections that are concatenated in a linked list.
2018-01-23SUPERNOVA: Adds Audio info for rocksJoseph-Eugene Winzer
2018-01-23SUPERNOVA: cleanupJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds indicator for key pressesJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Extends text renderingJoseph-Eugene Winzer
textWidth() and renderText() are overloaded for handling single uint16 characters (useful when rendering key strokes directly)
2018-01-23SUPERNOVA: Adjusts game loop delayJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Implements animationJoseph-Eugene Winzer
The original game's time was stored in 55ms ticks but we just run on milliseconds. setAnimationTimer() sets the ticks the currrent room's animation() function will not be called.
2018-01-23SUPERNOVA: Refactors event loopJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes font renderingJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Renames charcterWidth() to textWidth()Joseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds debugging code for rendering available sectionsJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Fixes renderRoom() by limiting the section rangeJoseph-Eugene Winzer
2018-01-22SUPERNOVA: removeMessage() now restores the screen on destructionJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Enables renderImage() to render inverse sectionsJoseph-Eugene Winzer
Besides the addition of inverse sections, the 'fullscreen' parameter was removed as it was used only for testing purposes in the beginning.
2018-01-22SUPERNOVA: Extends Object ClassJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Implements GUI routines and refactors codeJoseph-Eugene Winzer
Of course the short description does not adequately describe the changes made with this commit and I assume this won't be the last big restructuring unfortunately. Focus of this commit was to implement/fix the code so the main user interface can be rendered. Bugs in the core routines for rendering Messages and Images were fixed as well.
2018-01-22SUPERNOVA: Fixes Message positioningJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Fixes parameters passed to fillRect()Joseph-Eugene Winzer
2018-01-22SUPERNOVA: Fixes ScreenBufferStackJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Fixes endianess issue for drawing cursorJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Buffer Music filesJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Implements playSoundMod()Joseph-Eugene Winzer
2018-01-22SUPERNOVA: Buffers sections of image on initJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Converts mouse cursor dataJoseph-Eugene Winzer