[Scummvm-cvs-logs] SF.net SVN: scummvm:[44208] scummvm/trunk/engines/kyra/lol.cpp
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Sun Sep 20 15:21:18 CEST 2009
Revision: 44208
http://scummvm.svn.sourceforge.net/scummvm/?rev=44208&view=rev
Author: lordhoto
Date: 2009-09-20 13:21:18 +0000 (Sun, 20 Sep 2009)
Log Message:
-----------
Fix bug in LoLEngine::decodeSjis.
Modified Paths:
--------------
scummvm/trunk/engines/kyra/lol.cpp
Modified: scummvm/trunk/engines/kyra/lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/lol.cpp 2009-09-20 13:19:12 UTC (rev 44207)
+++ scummvm/trunk/engines/kyra/lol.cpp 2009-09-20 13:21:18 UTC (rev 44208)
@@ -1060,29 +1060,22 @@
char d[3];
s[1] = 0;
- uint8 cmd = *src++;
-
- while (cmd) {
+ uint8 cmd = 0;
+ while ((cmd = *src++) != 0) {
if (cmd == 27) {
- cmd = *src & 0x7f;
- src++;
-
- for (int i = 0; i < cmd; i ++) {
- *dst++ = *src++;
- *dst++ = *src++;
- }
- cmd = *src++;
-
+ cmd = *src++ & 0x7f;
+ memcpy(dst, src, cmd * 2);
+ dst += cmd * 2;
+ src += cmd * 2;
} else {
- s[0] = *src++;
- Util::decodeString1(s, d);
- *dst++ = d[0];
- cmd = *src++;
+ s[0] = cmd;
+ int size = Util::decodeString1(s, d);
+ memcpy(dst, d, size);
+ dst += size;
}
}
- if (!cmd)
- *dst = 0;
+ *dst = 0;
}
bool LoLEngine::addCharacter(int id) {
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