Commit Graph
119 Commits
Author SHA1 Message Date
Joseph-Eugene Winzer 3749f98dea SUPERNOVA: Fixes type camel case 2018-04-15 18:28:38 +01:00
Joseph-Eugene Winzer d5105ab9c7 SUPERNOVA: Fixes fallthrough warning 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 88a2026830 SUPERNOVA: Adds comment for using KNIFE on WIRE2 2018-04-15 18:23:12 +01:00
Joseph-Eugene Winzer 26543be637 SUPERNOVA: Adds sound abstraction 2018-04-14 11:45:52 +02:00
Joseph-Eugene Winzer dc38d6a8cd SUPERNOVA: Renames _timer1 to _messageDuration 2018-04-14 11:45:52 +02:00
Joseph-Eugene Winzer ff5426c609 SUPERNOVA: Moves updateEvents() to GameManager
updatEvents() depends on an initalized GameManager instance and mostly
manipulates its state. So it seemed fitting to move it over.
2018-04-14 11:45:52 +02:00
Joseph-Eugene Winzer 7dab7b775b SUPERNOVA: Renames wait2() to wait() 2018-04-14 11:45:52 +02:00
Adrian Frühwirth 9645f7f721 JANITORIAL: Silence GCC 7 fallthrough warning
Confirmed intentional by Joefish.
2018-03-23 20:00:27 +01:00
Joseph-Eugene Winzer 7fab63f297 SUPERNOVA: Recenters animated text on loop 2018-03-11 23:25:00 +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 3ec7c1f905 SUPERNOVA: Implements animated text during in/outro 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
Thierry Crozat eafd739c66 SUPERNOVA: Improve waiting until a sound has finished playing 2018-01-23 02:15:47 +00:00
Thierry Crozat ba51c37a5c SUPERNOVA: Fix cursor not shown if escaping during the intro snoring sequence 2018-01-23 02:15:47 +00:00
Thierry Crozat 963ad97e2a SUPERNOVA: Fix missing reset of object CARRIED flag when clearing inventory 2018-01-23 02:15:47 +00:00
Joseph-Eugene Winzer b937268e61 SUPERNOVA: Renames INT32_MAX to kMaxTimerValue
Prevents collision with stdint.h INT32_MAX
2018-01-23 02:15:46 +00:00
Joseph-Eugene Winzer 8d79bbad9b SUPERNOVA: Removes comment
renderRoom() and later in the game loop executeRoom() does everything
that is explicitly called in the original.
2018-01-23 02:15:46 +00:00
Joseph-Eugene Winzer 45b2c4ea28 SUPERNOVA: Hides cursor during snoring sequence 2018-01-23 02:15:45 +00:00
Joseph-Eugene Winzer 40b39b2b6d SUPERNOVA: Aborts intro if game should be closed 2018-01-23 02:15:45 +00:00
Joseph-Eugene Winzer 6df88c5c46 SUPERNOVA: Fixes fading in intro 2018-01-23 02:15:45 +00:00
Joseph-Eugene Winzer 063962a583 SUPERNOVA: Updates palette when changing room brightness 2018-01-23 02:15:45 +00:00
Joseph-Eugene Winzer d69480b52e SUPERNOVA: Renames audio constants 2018-01-23 02:15:45 +00:00
Joseph-Eugene Winzer 7ba9d94a89 SUPERNOVA: Renames audio constants 2018-01-23 02:15:45 +00:00
Joseph-Eugene Winzer c1f6d41ce0 SUPERNOVA: Fixes outro cutscene 2018-01-23 02:15:45 +00:00
Joseph-Eugene Winzer 5861627602 SUPERNOVA: Implements money object for inventory 2018-01-23 02:15:44 +00:00
Joseph-Eugene Winzer 996d5c082e SUPERNOVA: Replaces TICKETS with MONEY 2018-01-23 02:15:44 +00:00
Joseph-Eugene Winzer 6e7da43889 SUPERNOVA: Introduces INT32_MAX for eventTime 2018-01-23 02:15:44 +00:00
Joseph-Eugene Winzer b6bb1f9709 SUPERNOVA: Corrects max value for int32 2018-01-23 02:15:44 +00:00
Joseph-Eugene Winzer d90fa9d745 SUPERNOVA: Fixes setting of properies
resetProperty() clears the object's property flag compared to
setProperty().
2018-01-23 02:15:44 +00:00
Joseph-Eugene Winzer dbb2632d1e SUPERNOVA: Rename kAudioUndef2 to kAudioSmash 2018-01-23 02:15:44 +00:00
Joseph-Eugene Winzer bb8dbdfc68 SUPERNOVA: Fixes game freeze in bcorrdior
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-23 02:15:44 +00:00
Joseph-Eugene Winzer b76ac8331f SUPERNOVA: Fixes turntable message
Do not show a message that the record is scratched when either
the turnable is unplugged or the cable cut.
2018-01-23 02:15:43 +00:00
Joseph-Eugene Winzer 8ccb752c33 SUPERNOVA: Puts on suit when leaving the restaurant
genericInteraction() has a special case when you take off your helmet
in the restaurant, it strips you completely.
Once you leave it's supposed to put on your suit, helmet and supply
but instead if flagged generic objects as worn.
2018-01-23 02:15:43 +00:00
Thierry Crozat 3b36afc80f SUPERNOVA: Implement onEntrance for all corridors 2018-01-23 02:15:43 +00:00
Thierry Crozat fa426e4dc3 SUPERNOVA: Fix clearing inventory when landing on Axacuss
If the player did pik up the discman earlier in the game,
it should be kept.

Also the inventory scroll needs to be reset after removing
almost all the objects as otherwise we may see what seems
to be an empty inventory with no arrow (although we can
still scroll when clicking on the space where the up arrow
should be).
2018-01-23 02:15:43 +00:00
Joseph-Eugene Winzer e8d50c3c1b SUPERNOVA: Removes Discman from inventory
After landing on Axacuss your items are removed, except for your knife
and watch.
2018-01-23 02:15:42 +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
Thierry Crozat b207fdf54d SUPERNOVA: Complete implementation of walking through the Jungle 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 b4d7a83c75 SUPERNOVA: Small cleanups 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 312f33af3a SUPERNOVA: Fix missing message when waking up from dream 2018-01-23 02:15:41 +00:00
Thierry Crozat 55fc09571f SUPERNOVA: Fix handling of room brightness
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-23 02:15:41 +00:00
Strangerke cbfa0a0640 SUPERNOVA: Fix some TODOs 2018-01-23 02:15:41 +00:00
Thierry Crozat 87ab33a8aa SUPERNOVA: Fix several issues with savegames 2018-01-23 02:15:41 +00:00
Thierry Crozat 1759d1ffdd SUPERNOVA: Implement autosave used for dream sequence 2018-01-23 02:15:40 +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 b11772d904 SUPERNOVA: Fix logic in rendering code
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-23 02:15:40 +00:00
Thierry Crozat ee905b762a SUPERNOVA: Implement shipstart cutscene 2018-01-23 02:15:40 +00:00