From d1da820a75a3a8f921c0b7cd1ae26bf6f7cb6729 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 31 May 2010 15:16:46 +0000 Subject: Fix for DW2 engine abort with message "Cannot find file hienergy.sc!". Bug introduced by r49086 change which could trim the last character of filenames. svn-id: r49356 --- engines/tinsel/handle.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'engines/tinsel') diff --git a/engines/tinsel/handle.cpp b/engines/tinsel/handle.cpp index de573feee2..b006f718b7 100644 --- a/engines/tinsel/handle.cpp +++ b/engines/tinsel/handle.cpp @@ -288,7 +288,7 @@ void LoadFile(MEMHANDLE *pH) { } // extract and zero terminate the filename - Common::strlcpy(szFilename, pH->szName, sizeof(pH->szName)); + Common::strlcpy(szFilename, pH->szName, sizeof(pH->szName)+1); if (f.open(szFilename)) { // read the data -- cgit v1.2.3 From 5bb4fadc4c85e14b5881fb3849ea32233dba91ed Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 31 May 2010 18:05:39 +0000 Subject: Fix change in r49356, Common::strlcpy should only be used on zero terminated source strings. The original code change with r49086 did only aimed at zero terminating the szFilename string (as the comment suggests), so I now changed it to use memcpy and a manual placement of the terminating zero. svn-id: r49357 --- engines/tinsel/handle.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'engines/tinsel') diff --git a/engines/tinsel/handle.cpp b/engines/tinsel/handle.cpp index b006f718b7..60eb08a2dd 100644 --- a/engines/tinsel/handle.cpp +++ b/engines/tinsel/handle.cpp @@ -288,7 +288,8 @@ void LoadFile(MEMHANDLE *pH) { } // extract and zero terminate the filename - Common::strlcpy(szFilename, pH->szName, sizeof(pH->szName)+1); + memcpy(szFilename, pH->szName, sizeof(pH->szName)); + szFilename[sizeof(pH->szName)] = 0; if (f.open(szFilename)) { // read the data -- cgit v1.2.3 From c253a57e471be34567c2a28f8ccb4f6e084d7e20 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 6 Jun 2010 01:12:41 +0000 Subject: Bugfix for #2974817 - Mad Drongo Animation Malfunction svn-id: r49447 --- engines/tinsel/saveload.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'engines/tinsel') diff --git a/engines/tinsel/saveload.cpp b/engines/tinsel/saveload.cpp index b90ace4613..b010ad1fcb 100644 --- a/engines/tinsel/saveload.cpp +++ b/engines/tinsel/saveload.cpp @@ -180,7 +180,8 @@ static void syncSavedMover(Common::Serializer &s, SAVED_MOVER &sm) { static void syncSavedActor(Common::Serializer &s, SAVED_ACTOR &sa) { s.syncAsUint16LE(sa.actorID); s.syncAsUint16LE(sa.zFactor); - s.syncAsUint32LE(sa.bAlive); + s.syncAsUint16LE(sa.bAlive); + s.syncAsUint16LE(sa.bHidden); s.syncAsUint32LE(sa.presFilm); s.syncAsUint16LE(sa.presRnum); s.syncAsUint16LE(sa.presPlayX); -- cgit v1.2.3