[Scummvm-cvs-logs] SF.net SVN: scummvm:[55725] scummvm/trunk/engines/sci
mthreepwood at users.sourceforge.net
mthreepwood at users.sourceforge.net
Wed Feb 2 17:22:58 CET 2011
Revision: 55725
http://scummvm.svn.sourceforge.net/scummvm/?rev=55725&view=rev
Author: mthreepwood
Date: 2011-02-02 16:22:58 +0000 (Wed, 02 Feb 2011)
Log Message:
-----------
SCI: Fix SCI32 Mac fonts
Modified Paths:
--------------
scummvm/trunk/engines/sci/graphics/font.cpp
scummvm/trunk/engines/sci/util.cpp
scummvm/trunk/engines/sci/util.h
Modified: scummvm/trunk/engines/sci/graphics/font.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/font.cpp 2011-02-02 16:15:49 UTC (rev 55724)
+++ scummvm/trunk/engines/sci/graphics/font.cpp 2011-02-02 16:22:58 UTC (rev 55725)
@@ -45,12 +45,12 @@
}
_resourceData = _resource->data;
- _numChars = READ_LE_UINT16(_resourceData + 2);
- _fontHeight = READ_LE_UINT16(_resourceData + 4);
+ _numChars = READ_SCI32ENDIAN_UINT16(_resourceData + 2);
+ _fontHeight = READ_SCI32ENDIAN_UINT16(_resourceData + 4);
_chars = new Charinfo[_numChars];
// filling info for every char
for (int16 i = 0; i < _numChars; i++) {
- _chars[i].offset = READ_LE_UINT16(_resourceData + 6 + i * 2);
+ _chars[i].offset = READ_SCI32ENDIAN_UINT16(_resourceData + 6 + i * 2);
_chars[i].w = _resourceData[_chars[i].offset];
_chars[i].h = _resourceData[_chars[i].offset + 1];
}
Modified: scummvm/trunk/engines/sci/util.cpp
===================================================================
--- scummvm/trunk/engines/sci/util.cpp 2011-02-02 16:15:49 UTC (rev 55724)
+++ scummvm/trunk/engines/sci/util.cpp 2011-02-02 16:22:58 UTC (rev 55725)
@@ -37,6 +37,13 @@
return READ_LE_UINT16(ptr);
}
+uint16 READ_SCI32ENDIAN_UINT16(const void *ptr) {
+ if (g_sci->getPlatform() == Common::kPlatformMacintosh && getSciVersion() >= SCI_VERSION_2_1)
+ return READ_BE_UINT16(ptr);
+
+ return READ_LE_UINT16(ptr);
+}
+
uint32 READ_SCI11ENDIAN_UINT32(const void *ptr) {
if (g_sci->getPlatform() == Common::kPlatformMacintosh && getSciVersion() >= SCI_VERSION_1_1)
return READ_BE_UINT32(ptr);
Modified: scummvm/trunk/engines/sci/util.h
===================================================================
--- scummvm/trunk/engines/sci/util.h 2011-02-02 16:15:49 UTC (rev 55724)
+++ scummvm/trunk/engines/sci/util.h 2011-02-02 16:22:58 UTC (rev 55725)
@@ -36,6 +36,10 @@
uint32 READ_SCI11ENDIAN_UINT32(const void *ptr);
void WRITE_SCI11ENDIAN_UINT16(void *ptr, uint16 val);
+// Wrappers for reading integer values in resources that are
+// LE in SCI1.1 Mac, but BE in SCI32 Mac
+uint16 READ_SCI32ENDIAN_UINT16(const void *ptr);
+
} // End of namespace Sci
#endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list