Loading the provided savegame (fw.0) fails with
revision 33951 of branch-0-12-0 and with revision 32257
of trunk. It fails in FWRenderer::incrustSprite in
engines/cine/gfx.cpp line 201: assert(mask);
But in revision 32256 of trunk it loads with a warning:
WARNING: drawSpriteRaw: maskPtr == NULL! I'm not sure
if the screen after loading is correct though (See
attached picture).
The failing savegame from Future Wars
Logged In: YES
user_id=1803212
Originator: YES
File Added: scummvm-trunk-revision_32256-after_loading_savegame.png
Picture after loading the provided savegame with trunk revision 32256
Logged In: YES
user_id=1803212
Originator: YES
The tested game version is Future Wars's
English DOS floppy version and the savegame
was made with branch-0-12-0.
Using the current trunk (Revision 33969) the
savegame can't be loaded either, it fails
in the same code position as the others.
Logged In: YES
user_id=577918
Originator: NO
I've attached a working savegame from earlier in the same room. (When you've loaded it, hurry or the guards will get you.)
File Added: fw-1.2
Working savegame just before.
Logged In: YES
user_id=1803212
Originator: YES
I loaded the working savegame fw-1.2,
got to the right of the door, used pill
on myself, waited that the guards got into
the room, walked through the open doorway
and walked behind the boxes. I've attached a
screenshot of how it looks (Looks correct to me).
File Added: scummvm-branch-0-12-0-revision_33966-after_working_savegame.png
A screenshot of how the screen looks after getting behind the boxes in the working savegame
Screenshot of how things look after loading the bugging savegame in branch-0-12-0 without the assert(mask) in incrustSprite
Logged In: YES
user_id=1803212
Originator: YES
The bugging savegame loads if I remove the
assert(mask) from incrustSprite in branch-0-12-0
and the screen looks like this after loading:
File Added: after_removing_the_mask_assertion_from_branch-0-12-0.png
Logged In: YES
user_id=166507
Originator: NO
Raising priority. This is a release-critical bug.
Logged In: YES
user_id=577918
Originator: NO
Whatever object it's trying to draw has an empty 'name' field, so it's hard to say for sure what it's supposed to be.
Logged In: YES
user_id=166507
Originator: NO
What is the status of this item?
Logged In: YES
user_id=1803212
Originator: YES
I changed the rows
assert(mask);
drawSpriteRaw(data, mask, width, height, _background, x, y);
from FWRenderer::incrustSprite(const objectStruct &obj) to
if (mask) {
drawSpriteRaw(data, mask, width, height, _background, x, y);
}
and therefore omit drawing sprites that have no mask in that function.
What little testing I did, it seems to work, at least the provided
savegames load ok and look correct. So more testing would definitely
still be nice.
Fix committed to trunk in revision 34132:
http://scummvm.svn.sourceforge.net/scummvm/?rev=34132&view=rev
Fix backported to branch-0-12-0 in revision 34133:
http://scummvm.svn.sourceforge.net/scummvm/?rev=34133&view=rev