Commit Graph
62 Commits
Author SHA1 Message Date
D G Turner 51a2685e3f SUPERNOVA: Fix Unused Variable Compiler Warnings. 2018-07-29 08:25:37 +01:00
Joseph-Eugene Winzer 3749f98dea SUPERNOVA: Fixes type camel case 2018-04-15 18:28:38 +01:00
Joseph-Eugene Winzer 2ead17f09f SUPERNOVA: Implements render functions
Although SupernovaEngine forwards render calls to screen, it also
exposed members publicly like _brightness. Therefore, a few changes were
necessary in rooms and state.
2018-04-15 18:28:29 +01:00
Joseph-Eugene Winzer a38db245ed SUPERNOVA: Fixes formatting
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-11 23:25:00 +01:00
Joseph-Eugene Winzer 0274dca40b SUPERNOVA: Appends NULL terminator to strings
The NULL terminator is needed during parsing.
2018-03-11 23:25:00 +01:00
Joseph-Eugene Winzer 32e8d22c14 SUPERNOVA: Corrects header guard name 2018-01-23 02:15:46 +00:00
Joseph-Eugene Winzer 996d5c082e SUPERNOVA: Replaces TICKETS with MONEY 2018-01-23 02:15:44 +00:00
Thierry Crozat 75e3568f06 SUPERNOVA: Implement dialogs with variable text
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-23 02:15:42 +00:00
Strangerke 2e95c690d0 SUPERNOVA: Add 2 missing translation strings, handle variable dialogs in AxacussCorridor5 2018-01-23 02:15:42 +00:00
Strangerke 4810d514fe SUPERNOVA: Implement telomat, increase savegame version 2018-01-23 02:15:41 +00:00
Thierry Crozat 888930660a SUPERNOVA: Use setCurrentImage instead of passing the image to renderImage
This is more similar to what the original code does and allows to retire
the renderImage variant that takes an image.
2018-01-23 02:15:40 +00:00
Thierry Crozat ee905b762a SUPERNOVA: Implement shipstart cutscene 2018-01-23 02:15:40 +00:00
Strangerke 45595b9683 SUPERNOVA: enable general dialogs in AxacussIntersection and AxacussExit 2018-01-23 02:15:40 +00:00
Strangerke d8e221e206 SUPERNOVA: Fix bug in AxacussExit 2018-01-23 02:15:39 +00:00
Strangerke eed616a4aa SUPERNOVA: Fix bug in GUARD room definition 2018-01-23 02:15:39 +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 e0dde7865b SUPERNOVA: Remove AxacussCorridor5::interact in order to get rid of several GOTOs 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 ed9d92407e SUPERNOVA: Extract more dialog texts 2018-01-23 02:15:35 +00:00
Strangerke 7485a45909 SUPERNOVA: Remove useless 2nd initialization of _shown to false 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 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
Joseph-Eugene Winzer 68c52362e5 SUPERNOVA: Adds Outro initialization 2018-01-23 02:14:47 +00:00
Joseph-Eugene Winzer 735e2a8301 SUPERNOVA: Assigns room id of ShipOuterSpace 2018-01-23 02:07:46 +00:00
Joseph-Eugene Winzer 7ed2dea5e0 SUPERNOVA: Adds Intro before starting room 2018-01-23 02:01:00 +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 9b064e364f SUPERNOVA: Adds room id to objects
This commit helps especially during serialization of the inventory to
determine which room the object belongs to.
2018-01-23 01:53:00 +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 d6d485dbae SUPERNOVA: Fixes umlaut in object description 2018-01-23 01:47:02 +00:00
Joseph-Eugene Winzer b948a53f2f SUPERNOVA: Substitutes static variables with privates 2018-01-23 01:47:02 +00:00
Joseph-Eugene Winzer 026bd79a6d SUPERNOVA: Removes redundant code 2018-01-23 01:47:01 +00:00
Joseph-Eugene Winzer cec70a4cb4 SUPERNOVA: Renames ObjectID 'SLOT' 2018-01-23 01:46:53 +00:00
Joseph-Eugene Winzer cd01ca0ad3 SUPERNOVA: Converts special characters 2018-01-23 01:42:32 +00:00
Joseph-Eugene Winzer c8e0f94fd1 SUPERNOVA: Fixes terminal in sleeping chamber
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-23 01:33:24 +00:00
Joseph-Eugene Winzer cac51759f7 SUPERNOVA: Corrects variables according to naming convention 2018-01-23 01:33:24 +00:00
Joseph-Eugene Winzer 1797b174c7 SUPERNOVA: Implements the remaining room definitions
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-23 01:33:01 +00:00
Joseph-Eugene Winzer 3579bdef80 SUPERNOVA: Adds and corrects constants 2018-01-23 01:13:41 +00:00
Joseph-Eugene Winzer 160ff13934 SUPERNOVA: Fixes object indices in room definition 2018-01-23 00:29:35 +00:00
Joseph-Eugene Winzer ffcd447a08 SUPERNOVA: Fixes visibility of room constructors
Signed-off-by: Joseph-Eugene Winzer <m999@openmailbox.org>
2018-01-23 00:28:29 +00:00
Joseph-Eugene Winzer 3f98c29ab1 SUPERNOVA: Corrects exit direction of sleeping cabin 2018-01-23 00:28:29 +00:00
Joseph-Eugene Winzer 02995da224 SUPERNOVA: Adds definitions for remaining rooms 2018-01-23 00:28:22 +00:00
Joseph-Eugene Winzer 83a5c81468 SUPERNOVA: Fixes typo in room definition 2018-01-23 00:00:12 +00:00
Joseph-Eugene Winzer 4d3e1eed8e SUPERNOVA: Corrects OPEN to more descriptive OPENABLE 2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer 28b6430eaa SUPERNOVA: Fixes typo in definition of objects 2018-01-22 23:54:42 +00:00
Joseph-Eugene Winzer 30389746c8 SUPERNOVA: Fixes bathroom location on minimap 2018-01-22 23:54:41 +00:00
Joseph-Eugene Winzer 30308fbe8d SUPERNOVA: Implements GUI routines and refactors code
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-22 23:54:26 +00:00
Joseph-Eugene Winzer 6c4768a051 SUPERNOVA: Reformatting
Substitute size_t with ScummVM defined uint type
2018-01-22 23:42:07 +00:00