Thierry Crozat
d1bdfd2bde
SUPERNOVA: Clean indentations
2018-01-23 02:15:32 +00:00
D G Turner
ea955675db
SUPERNOVA: Fix GCC Warning for Malformed Narrowing Conversions in C++11.
2018-01-23 02:15:32 +00:00
Thierry Crozat
86795f0fa2
SUPERNOVA: Fix clicks at start and end of audio samples
...
The sound samples start with a 6 bytes header (including the size of
the sample coded on a little endian 16 bits uint on bytes 2 and 3)
and end with 4 bytes set to null. Those were passed to the raw stream,
which resulted in the audible clicks.
Note that we could use the information from the header to load the
sound samples instead of keeping around an array of offset and size.
2018-01-23 02:15:32 +00:00
Thierry Crozat
696fcb6bb9
SUPERNOVA: Add saving/loading of playtime
2018-01-23 02:15:32 +00:00
Thierry Crozat
1cdede12ac
SUPERNOVA: Properly handle loading saved game from launcher
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
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
749fa6336e
SUPERNOVA: Fixes save/load dialog
2018-01-23 02:14:56 +00:00
Joseph-Eugene Winzer
a334a4730d
SUPERNOVA: Fixes returned constant on load fail
2018-01-23 02:01:00 +00:00
Joseph-Eugene Winzer
ea60d1513e
SUPERNOVA: Raises save game limit to 99
2018-01-23 02:01:00 +00:00
Joseph-Eugene Winzer
6e33819217
SUPERNOVA: Changes increment size for fade in/out
2018-01-23 02:01:00 +00:00
Joseph-Eugene Winzer
b3e23fef13
SUPERNOVA: Fixes mouse events during intro
2018-01-23 02:00:59 +00:00
Joseph-Eugene Winzer
7b4e9a5424
SUPERNOVA: Adds text speed variable
2018-01-23 02:00:59 +00:00
Joseph-Eugene Winzer
de539134f9
SUPERNOVA: Removes comments
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
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
bc43ff820e
SUPERNOVA: Ignores mouse clicks while sound is playing
2018-01-23 01:52:59 +00:00
Joseph-Eugene Winzer
18abc4702a
SUPERNOVA: Implements Return To Launcher
2018-01-23 01:52:50 +00:00
Joseph-Eugene Winzer
1e36c74e6b
SUPERNOVA: Updates TODOs
2018-01-23 01:42:32 +00:00
Joseph-Eugene Winzer
b0b682ad09
SUPERNOVA: Removes getDOSTicks()
2018-01-23 01:42:32 +00:00
Joseph-Eugene Winzer
eabcca3e89
SUPERNOVA: Adds Alt-X as exit shortcut
2018-01-23 01:33:24 +00:00
Joseph-Eugene Winzer
5845cd7bd2
SUPERNOVA: Fixes rerendering of the room
...
One sprite can consist of many sections that are concatenated in a
linked list.
2018-01-23 01:33:24 +00:00
Joseph-Eugene Winzer
bfa96d6f50
SUPERNOVA: Adds Audio info for rocks
2018-01-23 01:33:12 +00:00
Joseph-Eugene Winzer
172377f093
SUPERNOVA: cleanup
2018-01-23 01:01:18 +00:00
Joseph-Eugene Winzer
30e138dcfa
SUPERNOVA: Adds indicator for key presses
2018-01-23 00:29:35 +00:00
Joseph-Eugene Winzer
0fdb3d8d10
SUPERNOVA: Extends text rendering
...
textWidth() and renderText() are overloaded for handling single uint16
characters (useful when rendering key strokes directly)
2018-01-23 00:29:35 +00:00
Joseph-Eugene Winzer
afb873c032
SUPERNOVA: Adjusts game loop delay
2018-01-23 00:29:34 +00:00
Joseph-Eugene Winzer
0462bd0184
SUPERNOVA: Implements animation
...
The original game's time was stored in 55ms ticks but we just run on
milliseconds. setAnimationTimer() sets the ticks the currrent room's
animation() function will not be called.
2018-01-23 00:29:34 +00:00
Joseph-Eugene Winzer
30c5c85243
SUPERNOVA: Refactors event loop
2018-01-23 00:00:12 +00:00
Joseph-Eugene Winzer
36263aaa0b
SUPERNOVA: Fixes font rendering
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
e0aa700dac
SUPERNOVA: Renames charcterWidth() to textWidth()
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
40c609c40b
SUPERNOVA: Adds debugging code for rendering available sections
2018-01-23 00:00:11 +00:00
Joseph-Eugene Winzer
c903ede023
SUPERNOVA: Fixes renderRoom() by limiting the section range
2018-01-22 23:54:42 +00:00
Joseph-Eugene Winzer
b959453b39
SUPERNOVA: removeMessage() now restores the screen on destruction
2018-01-22 23:54:42 +00:00
Joseph-Eugene Winzer
dc12a0fd23
SUPERNOVA: Enables renderImage() to render inverse sections
...
Besides the addition of inverse sections, the 'fullscreen' parameter was
removed as it was used only for testing purposes in the beginning.
2018-01-22 23:54:41 +00:00
Joseph-Eugene Winzer
a8f62802cc
SUPERNOVA: Extends Object Class
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
87a0dd970a
SUPERNOVA: Fixes Message positioning
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
2c17586c76
SUPERNOVA: Fixes parameters passed to fillRect()
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
4a68aef1d6
SUPERNOVA: Fixes ScreenBufferStack
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
84eb970bb9
SUPERNOVA: Fixes endianess issue for drawing cursor
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
11b6227517
SUPERNOVA: Buffer Music files
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
1b220e75e5
SUPERNOVA: Implements playSoundMod()
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
ef1bbce68e
SUPERNOVA: Buffers sections of image on init
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
1ae1134706
SUPERNOVA: Converts mouse cursor data
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
9e21dc42ee
SUPERNOVA: Implements rendering of newspaper articles
...
The resolution will change dynamically depending what image is about to
be rendered. As there are no other GUI elements shown that depend on the
screen resolution when the artciles are rendered, there shouldn't be any
problems.
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
cd080b820a
SUPERNOVA: Buffers audio samples on startup
2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
6c4768a051
SUPERNOVA: Reformatting
...
Substitute size_t with ScummVM defined uint type
2018-01-22 23:42:07 +00:00
Joseph-Eugene Winzer
018cff8c42
SUPERNOVA: Enables debug console and preload images
2018-01-22 23:42:07 +00:00