aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/rooms.cpp
AgeCommit message (Collapse)Author
2018-01-23SUPERNOVA: Use setCurrentImage instead of passing the image to renderImageThierry Crozat
This is more similar to what the original code does and allows to retire the renderImage variant that takes an image.
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: enable general dialogs in AxacussIntersection and AxacussExitStrangerke
2018-01-23SUPERNOVA: Implement AxacussExit interaction logicStrangerke
2018-01-23SUPERNOVA: Add interaction logic for AxacussIntersectionStrangerke
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: Fix recursive infinite loop in door closing animation in ↵Thierry Crozat
ArsanoEntrance
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: Extract some more stings from rooms.cppStrangerke
2018-01-23SUPERNOVA: Remove AxacussCorridor5::interact in order to get rid of several ↵Strangerke
GOTOs
2018-01-23SUPERNOVA: extract strings for Axacuss Corridor 5Strangerke
2018-01-23SUPERNOVA: Merge two strings to help with translationThierry Crozat
2018-01-23SUPERNOVA: Change the signature of dialog(), fix calls, extract some more ↵Strangerke
strings
2018-01-23SUPERNOVA: Extract ArsanoGlider, ArsanoMeetup 2 & 3 and AxacussCell stringsStrangerke
2018-01-23SUPERNOVA: Extract ArsanoRoger textsStrangerke
2018-01-23SUPERNOVA: Fix a remaining kStringDialogSeparatorStrangerke
2018-01-23SUPERNOVA: Extract more dialog textsStrangerke
2018-01-23SUPERNOVA: Extract strings used in ShipHold and operations related to the cableStrangerke
2018-01-23SUPERNOVA: Extract strings for ShibCabinL3 & R3 and for ShipAirlockStrangerke
2018-01-23SUPERNOVA: Fix check of dialog status in ArsanoRoger onEntranceThierry Crozat
2018-01-23SUPERNOVA: Simplify a bit the codeThierry Crozat
2018-01-23SUPERNOVA: Extract the strings from ShipCockpitStrangerke
2018-01-23SUPERNOVA: Extract strings for Ship Hall and Ship Sleep CabinStrangerke
2018-01-23SUPERNOVA: Janitorial - Fix some spacing in rooms.cppStrangerke
2018-01-23SUPERNOVA: Change _shown to an array of bytes in order to handle extra ↵Strangerke
values used by dialogs, fix ArsanoMeetup2::onEntrance by using a shown variable
2018-01-23SUPERNOVA: Improve translated title displayThierry Crozat
The title is displayed on three lines aligned on their center, but the code provides the left coordinate for each line so we need to compute it based on the translated line length.
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 intro cutscene strings to engine data fileThierry Crozat
2018-01-23SUPERNOVA: Move object name and description strings to engine data fileThierry Crozat
2018-01-23SUPERNOVA: Start using strings from the engine data fileThierry Crozat
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-23SUPERNOVA: Clean indentationsThierry Crozat
2018-01-23SUPERNOVA: Fix compilation using MSVC9, silent some CppCheck warningsStrangerke
2018-01-23SUPERNOVA: Disable loading during intro cutsceneThierry Crozat
Loading during the intro is not currently working and is not trivial to implement. So disable it for now.
2018-01-23SUPERNOVA: Fixes rendering and logic for cableJoseph-Eugene Winzer
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 playing vinyl in CabinL3Joseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes de-/serialization of game stateJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Adds Intro before starting roomJoseph-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: Substitutes static variables with privatesJoseph-Eugene Winzer
2018-01-23SUPERNOVA: Fixes cockpit displayJoseph-Eugene Winzer
Cruising speed and distance were inaccurate.
2018-01-23SUPERNOVA: RefactoringJoseph-Eugene Winzer
2018-01-23SUPERNOVA: RefactoringJoseph-Eugene Winzer
Renaming variables of GameState to avoid ambiguity.
2018-01-23SUPERNOVA: Converts Object name and description to StringsJoseph-Eugene Winzer