Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
It simplifies the overloaded functions for renderBox/Text and saveScreen
|
|
|
|
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.
|
|
|
|
|
|
|
|
Prevents collision with stdint.h INT32_MAX
|
|
|
|
|
|
|
|
Object() is redundant anyway as it instantiates an Object object and
copies it to nullObject, which was already default constructed.
|
|
|
|
|
|
This room has no image and this avoids getting a warning
about image file not found.
|
|
|
|
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).
|
|
|
|
|
|
|
|
|
|
This is more similar to what the original code does and allows to retire
the renderImage variant that takes an image.
|
|
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.
|
|
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.
|
|
It could initially access the wrong image to check the number
of section. The code was working fine as long as it had one
section, so there was probably no bad side effect to using
the wrong image (except if it was NULL).
|
|
The text speed is also saved in the scummvm.ini file so that
it persists between runs.
|
|
|
|
|
|
palette
|
|
The delay was not set, meaning the messages were immediately
removed in some cutscenes.
|
|
|
|
This is mostly used in talk animations and result in bad artefacts.
The issue was a regression introduced in commit e0f6da0.
|
|
That is also what the original is doing, and this avoid having
graphical glitches.
|
|
|
|
Each section was store dusing the full image size. Now it only uses the
section size, which should reduce considerably the amout of memory used
for each image.
Also when a section has one or more next section, they were all drawn on
the surface for this section, but then they were drawn again on their own
surface. And while this should not cause any issue, this was really
unnecessary (and prevented optimizing the surface size for each section).
So now this is no longer the case and the surface for a section only
contains this section.
|
|
variable
|
|
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.
|
|
This required the user to click a mouse button to close the message and
get to the mew state. Now the message is automatically closed before
loading the new state.
|
|
This also fixes a crash for single row image sections
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|