[Scummvm-cvs-logs] CVS: scummvm/scumm resource.cpp,1.63,1.64
Jonathan Gray
khalek at users.sourceforge.net
Mon Apr 28 20:33:07 CEST 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv28141
Modified Files:
resource.cpp
Log Message:
make all known file extensions of resource files work
Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/resource.cpp,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- resource.cpp 28 Apr 2003 13:16:36 -0000 1.63
+++ resource.cpp 29 Apr 2003 03:32:08 -0000 1.64
@@ -36,7 +36,9 @@
/* Open a room */
void Scumm::openRoom(int room) {
int room_offs, roomlimit;
- char buf[256];
+ bool result;
+ char buf[128];
+ char buf2[128] = "";
debug(9, "openRoom(%d)", room);
assert(room >= 0);
@@ -78,10 +80,14 @@
if (room > 0)
_vars[VAR_CURRENTDISK] = res.roomno[rtRoom][room];
sprintf(buf, "%s.la%d", _exe_name, room == 0 ? 0 : res.roomno[rtRoom][room]);
+ sprintf(buf2, "%s.%.3d", _exe_name, room == 0 ? 0 : res.roomno[rtRoom][room]);
} else if (_features & GF_HUMONGOUS)
sprintf(buf, "%s.he%.1d", _exe_name, room == 0 ? 0 : res.roomno[rtRoom][room]);
- else
+ else {
sprintf(buf, "%s.%.3d", _exe_name, room == 0 ? 0 : res.roomno[rtRoom][room]);
+ if (_gameId == GID_SAMNMAX)
+ sprintf(buf2, "%s.sm%.1d", _exe_name, room == 0 ? 0 : res.roomno[rtRoom][room]);
+ }
_encbyte = (_features & GF_USE_KEY) ? 0x69 : 0;
} else if (!(_features & GF_SMALL_NAMES)) {
@@ -102,7 +108,11 @@
_encbyte = (_features & GF_USE_KEY) ? 0xFF : 0;
}
- if (openResourceFile(buf)) {
+ result = openResourceFile(buf);
+ if ((result == false) && (buf2[0]))
+ result = openResourceFile(buf2);
+
+ if (result) {
if (room == 0)
return;
if (_features & GF_EXTERNAL_CHARSET && room >= roomlimit)
More information about the Scummvm-git-logs
mailing list