Commit Graph
119 Commits
Author SHA1 Message Date
Strangerke 45595b9683 SUPERNOVA: enable general dialogs in AxacussIntersection and AxacussExit 2018-01-23 02:15:40 +00:00
Strangerke d189820ce3 SUPERNOVA: Implement AxacussExit interaction logic 2018-01-23 02:15:39 +00:00
Strangerke d1d1d988b0 SUPERNOVA: Add interaction logic for AxacussIntersection 2018-01-23 02:15:39 +00:00
Thierry Crozat 70e8f36a55 SUPERNOVA: Remove variables and stub functions related to overlay 2018-01-23 02:15:38 +00:00
Thierry Crozat 8a8a0b9d38 SUPERNOVA: Implement event callback mechanism and Supernova event 2018-01-23 02:15:38 +00:00
Thierry Crozat 7c40e38d7c SUPERNOVA: Fix recursive infinite loop in door closing animation in ArsanoEntrance 2018-01-23 02:15:37 +00:00
Thierry Crozat bd6cdf4ba2 SUPERNOVA: Handle events during dialogs 2018-01-23 02:15:37 +00:00
Thierry Crozat 7bf803f6e6 SUPERNOVA: Cleanup dialog code
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-23 02:15:37 +00:00
Thierry Crozat 21899d8716 SUPERNOVA: Implement most dialog related functions 2018-01-23 02:15:37 +00:00
Strangerke c4ee3e72b7 SUPERNOVA: Extract some more stings from rooms.cpp 2018-01-23 02:15:35 +00:00
Strangerke e0dde7865b SUPERNOVA: Remove AxacussCorridor5::interact in order to get rid of several GOTOs 2018-01-23 02:15:35 +00:00
Strangerke f213ea8e0a SUPERNOVA: extract strings for Axacuss Corridor 5 2018-01-23 02:15:35 +00:00
Thierry Crozat 9db84783be SUPERNOVA: Merge two strings to help with translation 2018-01-23 02:15:35 +00:00
Strangerke 4d7d802333 SUPERNOVA: Change the signature of dialog(), fix calls, extract some more strings 2018-01-23 02:15:35 +00:00
Strangerke 7cfe38501c SUPERNOVA: Extract ArsanoGlider, ArsanoMeetup 2 & 3 and AxacussCell strings 2018-01-23 02:15:35 +00:00
Strangerke 56f9328e90 SUPERNOVA: Extract ArsanoRoger texts 2018-01-23 02:15:35 +00:00
Strangerke 609856d36a SUPERNOVA: Fix a remaining kStringDialogSeparator 2018-01-23 02:15:35 +00:00
Strangerke ed9d92407e SUPERNOVA: Extract more dialog texts 2018-01-23 02:15:35 +00:00
Strangerke 38fbda9189 SUPERNOVA: Extract strings used in ShipHold and operations related to the cable 2018-01-23 02:15:35 +00:00
Strangerke cb12a88fc5 SUPERNOVA: Extract strings for ShibCabinL3 & R3 and for ShipAirlock 2018-01-23 02:15:35 +00:00
Thierry Crozat a141438e60 SUPERNOVA: Fix check of dialog status in ArsanoRoger onEntrance 2018-01-23 02:15:34 +00:00
Thierry Crozat c290e144db SUPERNOVA: Simplify a bit the code 2018-01-23 02:15:34 +00:00
Strangerke 572f205e67 SUPERNOVA: Extract the strings from ShipCockpit 2018-01-23 02:15:34 +00:00
Strangerke f23baf902f SUPERNOVA: Extract strings for Ship Hall and Ship Sleep Cabin 2018-01-23 02:15:34 +00:00
Strangerke 31a0496091 SUPERNOVA: Janitorial - Fix some spacing in rooms.cpp 2018-01-23 02:15:34 +00:00
Strangerke 9bf0a656a6 SUPERNOVA: Change _shown to an array of bytes in order to handle extra values used by dialogs, fix ArsanoMeetup2::onEntrance by using a shown variable 2018-01-23 02:15:34 +00:00
Thierry Crozat c3241c7c42 SUPERNOVA: Improve translated title display
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-23 02:15:34 +00:00
Thierry Crozat 69d7b91965 SUPERNOVA: Improve interactivity of title screen and intro cutscene
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-23 02:15:33 +00:00
Thierry Crozat 095679c4f2 SUPERNOVA: Move intro cutscene strings to engine data file 2018-01-23 02:15:33 +00:00
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
Thierry Crozat 275daa81c3 SUPERNOVA: Disable loading during intro cutscene
Loading during the intro is not currently working and is not
trivial to implement. So disable it for now.
2018-01-23 02:15:32 +00:00
Joseph-Eugene Winzer 945dc9f46f SUPERNOVA: Fixes rendering and logic for cable 2018-01-23 02:15:31 +00:00
Joseph-Eugene Winzer 02290c32b6 SUPERNOVA: Allows saving by default
When saving is not apropriate, for example during cutscenes, explicitly
disable it.
2018-01-23 02:15:30 +00:00
Joseph-Eugene Winzer 142e1743ce SUPERNOVA: Fixes playing vinyl in CabinL3 2018-01-23 02:15:25 +00:00
Joseph-Eugene Winzer 23f57ca83f SUPERNOVA: Fixes de-/serialization of game state 2018-01-23 02:14:56 +00:00
Joseph-Eugene Winzer 7ed2dea5e0 SUPERNOVA: Adds Intro before starting room 2018-01-23 02:01:00 +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 b948a53f2f SUPERNOVA: Substitutes static variables with privates 2018-01-23 01:47:02 +00:00
Joseph-Eugene Winzer 3284fbc657 SUPERNOVA: Fixes cockpit display
Cruising speed and distance were inaccurate.
2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer ccbc1142e1 SUPERNOVA: Refactoring 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 316aeeabd5 SUPERNOVA: Converts Object name and description to Strings 2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer 026bd79a6d SUPERNOVA: Removes redundant code 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 cec70a4cb4 SUPERNOVA: Renames ObjectID 'SLOT' 2018-01-23 01:46:53 +00:00