Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
|
|
|
|
The code was only looking at the last two digits of the file name, and
as a result the game autosaved in slot 999 was listed in slot 99.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The incorrect implementation meant than for example when leaving
the cave the room could stay black.
Note that the implementation is still approximative for the HOLD
and LANDINGMODULE rooms.
|
|
|
|
palette
|
|
The delay was not set, meaning the messages were immediately
removed in some cutscenes.
|
|
|
|
It was storing the result of bitwise operation on the ObjectType
enum values in a ObjectType variable. But that was incorrect as
the result was not a value from the enum.
Also removing a property was actually adding the property if it
was not present in the value initially.
|
|
|
|
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
|
|
|
|
ArsanoEntrance
|
|
|
|
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.
|
|
|
|
|
|
OSystem::setShakePos(int) can only take positive offset (as documented).
Passing a negative offset caused memory issues in the drawing code and
some random crashes.
|