Joseph-Eugene Winzer
a4ac8895da
SUPERNOVA: Removes renderImageSection() from SupernovaEngine
...
This function is never called by itself. It is a helper function for
renderImage().
2018-04-15 18:28:39 +01:00
Joseph-Eugene Winzer
0668f9d363
SUPERNOVA: Removes unused RNG instance
2018-04-15 18:28:38 +01:00
Joseph-Eugene Winzer
3749f98dea
SUPERNOVA: Fixes type camel case
2018-04-15 18:28:38 +01:00
Joseph-Eugene Winzer
93dde5d235
SUPERNOVA: Renames Music/AudioIndex to Music/AudioId
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
6187e25199
SUPERNOVA: Renames NULL to nullptr
2018-04-15 18:23:11 +01:00
Joseph-Eugene Winzer
d963827dbb
SUPERNOVA: Renames MSNImageDecoder to MSNImage
2018-04-15 18:23:11 +01:00
Joseph-Eugene Winzer
b2dc8d5424
SUPERNOVA: Adds resource abstraction
...
The resource abstraction includes loading of sound files and cursor
graphics.
2018-04-15 18:22:57 +01:00
Joseph-Eugene Winzer
07f5f34d42
SUPERNOVA: Removes stopAudio()
2018-04-14 11:45:52 +02:00
Joseph-Eugene Winzer
32877639d7
SUPERNOVA: Adds init function to SupernovaEngine
2018-04-14 11:45:52 +02:00
Joseph-Eugene Winzer
26543be637
SUPERNOVA: Adds sound abstraction
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
bb9bfcba4a
SUPERNOVA: Encapsulates GuiElement
...
It simplifies the overloaded functions for renderBox/Text and saveScreen
2018-03-11 23:25:00 +01:00
Joseph-Eugene Winzer
7f5cea54e3
SUPERNOVA: Implements original quit prompt
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
ccd4e20e32
SUPERNOVA: Fixes destruction of SoundSample buffer
2018-01-23 02:15:47 +00:00
Thierry Crozat
ac609c91db
SUPERNOVA: Make _event a local variable
2018-01-23 02:15:47 +00:00
Thierry Crozat
d12b182450
SUPERNOVA: Remove declaration for unimplemented and unused function
2018-01-23 02:15:47 +00:00
Joseph-Eugene Winzer
dd6df76b32
SUPERNOVA: Initializes RandomSource on stack
2018-01-23 02:15:46 +00:00
Joseph-Eugene Winzer
32e8d22c14
SUPERNOVA: Corrects header guard name
2018-01-23 02:15:46 +00:00
Joseph-Eugene Winzer
d68ce6dc07
SUPERNOVA: Changes array to seperate variables
2018-01-23 02:15:46 +00:00
Joseph-Eugene Winzer
e40a017962
SUPERNOVA: Fixes segfault if dat file not found
2018-01-23 02:15:46 +00:00
Thierry Crozat
4a042c8465
SUPERNOVA: Save/restore _playerHidden flag in savegames
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
Thierry Crozat
1b2e4f926c
SUPERNOVA: Implement alarm
2018-01-23 02:15:42 +00:00
Strangerke
13319458dc
SUPERNOVA; Move some strings to game text file,
2018-01-23 02:15:42 +00:00
Strangerke
4810d514fe
SUPERNOVA: Implement telomat, increase savegame version
2018-01-23 02:15:41 +00:00
Strangerke
e2b85ab741
SUPERNOVA: Update savegame version
2018-01-23 02:15:41 +00:00
Thierry Crozat
177539ba2e
SUPERNOVA: Load images on demand
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
624425077b
SUPERNOVA: Add warning when trying to use out of bound file number
...
This is likely happening, and a comment has also been added to
indicate this. The warning was added to help detect those issue
and so that we don't forgert about it.
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
7eb5924f65
SUPERNOVA: Implement text speed dialog
...
The text speed is also saved in the scummvm.ini file so that
it persists between runs.
2018-01-23 02:15:39 +00:00
Thierry Crozat
529a9c9811
SUPERNOVA: Properly handle timer stop/start
2018-01-23 02:15:39 +00:00
Thierry Crozat
8a8a0b9d38
SUPERNOVA: Implement event callback mechanism and Supernova event
2018-01-23 02:15:38 +00:00
Thierry Crozat
8f7dcbe4ac
SUPERNOVA: Fix crash when displaying strings larger than the screen
2018-01-23 02:15:37 +00:00
Thierry Crozat
73278c3f9f
SUPERNOVA: Replace a class variable used in a single function by a local variable
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
Strangerke
f0d139d519
SUPERNOVA: Fix some warnings
2018-01-23 02:15:34 +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
184b3a1662
SUPERNOVA: Load strings from the supernova.dat file
2018-01-23 02:15:33 +00:00
Thierry Crozat
0f4d364e63
SUPERNOVA: Add getting translated images from the engine data file
2018-01-23 02:15:33 +00:00
Thierry Crozat
d1bdfd2bde
SUPERNOVA: Clean indentations
2018-01-23 02:15:32 +00:00
Thierry Crozat
ed7fa6f7d7
SUPERNOVA: Improve save state handling
...
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-23 02:15:31 +00:00
Joseph-Eugene Winzer
7b4e9a5424
SUPERNOVA: Adds text speed variable
2018-01-23 02:00:59 +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
ef14dfb7c3
SUPERNOVA: Adds engine pause
2018-01-23 01:53:28 +00:00