From: Tom <rtp...@us...> - 2011-09-24 17:07:42
|
gemrb: Infinity Engine emulator The branch master has been updated via 059f52c3a556a7bc5474d1af63451b31567fa937 (commit) via f1c40a289fb0c226c3c9faa4db5c1ef951e585de (commit) via 1f24062fa9c1d5bd4e6d0f0346684361a36f53e0 (commit) via c95cf7d330c93a6056b83e960d2f4c809b72f8b0 (commit) via 8cff52b3c8b03991354ce4f682c68428deba6c01 (commit) Summary of changes: gemrb.6.in | 2 +- gemrb/GemRB.cfg.noinstall.sample | 2 +- gemrb/GemRB.cfg.sample.in | 2 +- gemrb/core/FileCache.cpp | 27 +++--- gemrb/core/FileCache.h | 2 +- gemrb/core/Interface.cpp | 4 +- gemrb/core/Interface.h | 2 +- gemrb/plugins/BIFImporter/BIFImporter.cpp | 134 ++++++++++++----------------- gemrb/plugins/BIFImporter/BIFImporter.h | 3 +- gemrb/plugins/KEYImporter/KEYImporter.cpp | 36 +-------- 10 files changed, 77 insertions(+), 137 deletions(-) from 1bd2fc7bd23e0c97781c8d923cdbd82761e44409 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=059f52c3a556a7bc5474d1af63451b31567fa937 commit 059f52c3a556a7bc5474d1af63451b31567fa937 Merge: 1bd2fc7 f1c40a2 Author: Tom Prince <tom...@ua...> Date: Sat Sep 24 13:02:24 2011 -0400 Merge remote-tracking branch 'github/cd' Conflicts: gemrb/core/Interface.cpp gemrb/core/Interface.h gemrb/plugins/KEYImporter/KEYImporter.cpp diff --cc gemrb.6.in index 6d677a0,c337b85..3046a84 --- a/gemrb.6.in +++ b/gemrb.6.in @@@ -184,44 -170,19 +184,44 @@@ Volume of sound effects in percents. Th Volume of PC or NPC voices in percents. The default is .IR 100 . +.\"################################################### +.SH Path parameters: .TP -.BR SkipIntroVideos =(0|1) -This parameter is meant for developers. If set to +.BR CaseSensitive =(0|1) +When +this parameter is set to .IR 1 , -the intro and logo videos are skipped to save developer's nerves. The default is -.IR 0 . +the engine will try to find files regardless of their names' case at the cost +of a slight speed penalty. This is especially important when using +game files on CD-ROMs, where the files can't be renamed. Like +many Windows programs, the original games use inconsistent mix +of lower/upper case letters for naming and referencing their files. + +Set this parameter to +.I 1 +on Unix-like systems. .TP -.BR DrawFPS =(0|1) -This parameter is meant for developers. If set to -.IR 1 , -the current FPS (Frames per Second) value is drawn in the top left window corner. The default is +.BR GamePath =PATH +Path to the directory where the original game is installed. If you can't +install the game under MS Windows or with WINE, you can try to unpack the data files +with the +.I unshield +program found at +.IR http://synce.sourceforge.net . + +.TP +.BR CD1 =PATH +.TP +.BR CD2 =PATH +.TP +.BR CDn =... +Path to the data files for the game's particular CDs or any other data sources. + +.TP - .BR GameOnCD =(0|1) ++.BR SlowBIFs =(0|1) +defaults to .IR 0 . .TP diff --cc gemrb/core/Interface.cpp index ea79411,531ef7f..7d63798 --- a/gemrb/core/Interface.cpp +++ b/gemrb/core/Interface.cpp @@@ -187,15 -184,10 +187,15 @@@ Interface::Interface(int iargc, char* i #else CaseSensitive = false; #endif - GameOnCD = false; + SlowBIFs = false; SkipIntroVideos = false; DrawFPS = false; + TouchScrollAreas = false; + UseSoftKeyboard = false; KeepCache = false; + NumFingInfo = 2; + NumFingKboard = 3; + NumFingScroll = 2; TooltipDelay = 100; IgnoreOriginalINI = 0; FullScreen = 0; @@@ -2281,11 -2248,10 +2281,11 @@@ bool Interface::LoadConfig(const char* CONFIG_INT("FogOfWar", FogOfWar = ); CONFIG_INT("FullScreen", FullScreen = ); CONFIG_INT("GUIEnhancements", GUIEnhancements = ); + CONFIG_INT("TouchScrollAreas", TouchScrollAreas = ); - CONFIG_INT("GameOnCD", GameOnCD = ); + CONFIG_INT("SlowBIFs", SlowBIFs = ); CONFIG_INT("Height", Height = ); CONFIG_INT("KeepCache", KeepCache = ); - CONFIG_INT("MultipleQuickSaves", GameControl::MultipleQuickSaves); + CONFIG_INT("MultipleQuickSaves", MultipleQuickSaves = ); CONFIG_INT("RepeatKeyDelay", evntmgr->SetRKDelay); CONFIG_INT("SaveAsOriginal", SaveAsOriginal = ); CONFIG_INT("ScriptDebugMode", SetScriptDebugMode); diff --cc gemrb/core/Interface.h index 8d2cdd2,01ff28d..3ec1874 --- a/gemrb/core/Interface.h +++ b/gemrb/core/Interface.h @@@ -755,12 -742,9 +755,12 @@@ public unsigned int TooltipDelay; int IgnoreOriginalINI; unsigned int FogOfWar; - bool CaseSensitive, GameOnCD, SkipIntroVideos, DrawFPS; + bool CaseSensitive, SlowBIFs, SkipIntroVideos, DrawFPS; + bool TouchScrollAreas, UseSoftKeyboard; + unsigned short NumFingScroll, NumFingKboard, NumFingInfo; bool GUIEnhancements; bool KeepCache; + bool MultipleQuickSaves; Variables *plugin_flags; /** The Main program loop */ void Main(void); diff --cc gemrb/plugins/KEYImporter/KEYImporter.cpp index f8d4af5,b3ef1d8..c16e288 --- a/gemrb/plugins/KEYImporter/KEYImporter.cpp +++ b/gemrb/plugins/KEYImporter/KEYImporter.cpp @@@ -227,51 -203,40 +207,37 @@@ bool KEYImporter::HasResource(const cha return HasResource(resname, type.GetKeyType()); } - static void FindBIFOnCD(BIFEntry *entry) - { - if (file_exists(entry->path)) { - entry->found = true; - return; - } - - core->WaitForDisc(entry->cd, entry->name); - - entry->found = PathExists(entry, core->CD[entry->cd-1]); - } - DataStream* KEYImporter::GetStream(const char *resname, ieWord type) { - unsigned int ResLocator; - if (type == 0) return NULL; - if (resources.Lookup( resname, type, ResLocator )) { - unsigned int bifnum = ( ResLocator & 0xFFF00000 ) >> 20; - if (!biffiles[bifnum].found) { - print( "Cannot find %s... Resource unavailable.\n", - biffiles[bifnum].name ); - return NULL; - } + const ieDword *ResLocator = resources.get(resname, type); + if (!ResLocator) + return 0; - // simple one-BIF cache to avoid opening the same BIF repeatedly - if (lastSeenCache.bifnum != bifnum) { - PluginHolder<IndexedArchive> ai(IE_BIF_CLASS_ID); - if (ai->OpenArchive( biffiles[bifnum].path ) == GEM_ERROR) { - print("Cannot open archive %s\n", biffiles[bifnum].path ); - return NULL; - } - lastSeenCache.bifnum = bifnum; - lastSeenCache.plugin = ai; - } + unsigned int bifnum = ( *ResLocator & 0xFFF00000 ) >> 20; - if (core->GameOnCD && (biffiles[bifnum].cd != 0)) - FindBIFOnCD(&biffiles[bifnum]); - DataStream* ret = lastSeenCache.plugin->GetStream( ResLocator, type ); - if (ret) { - strnlwrcpy( ret->filename, resname, 8 ); - strcat( ret->filename, "." ); - strcat( ret->filename, core->TypeExt( type ) ); - return ret; - } + if (!biffiles[bifnum].found) { + print( "Cannot find %s... Resource unavailable.\n", + biffiles[bifnum].name ); + return NULL; } + + PluginHolder<IndexedArchive> ai(IE_BIF_CLASS_ID); + if (ai->OpenArchive( biffiles[bifnum].path ) == GEM_ERROR) { + print("Cannot open archive %s\n", biffiles[bifnum].path ); + return NULL; + } + + DataStream* ret = ai->GetStream( *ResLocator, type ); + if (ret) { + strnlwrcpy( ret->filename, resname, 8 ); + strcat( ret->filename, "." ); + strcat( ret->filename, core->TypeExt( type ) ); + return ret; + } + return NULL; } http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=f1c40a289fb0c226c3c9faa4db5c1ef951e585de commit f1c40a289fb0c226c3c9faa4db5c1ef951e585de Author: Tom Prince <tom...@ua...> Date: Wed May 11 19:09:26 2011 -0400 Refactor BIFImporeter::OpenArchive. Signed-off-by: Tom Prince <tom...@ua...> diff --git a/gemrb/plugins/BIFImporter/BIFImporter.cpp b/gemrb/plugins/BIFImporter/BIFImporter.cpp index 8b60708..9878a8d 100644 --- a/gemrb/plugins/BIFImporter/BIFImporter.cpp +++ b/gemrb/plugins/BIFImporter/BIFImporter.cpp @@ -49,11 +49,11 @@ BIFImporter::~BIFImporter(void) } } -bool BIFImporter::DecompressBIF(DataStream* compressed, const char* path) +DataStream* BIFImporter::DecompressBIFC(DataStream* compressed, const char* path) { print( "Decompressing\n" ); if (!core->IsAvailable( PLUGIN_COMPRESSION_ZLIB )) - return false; + return NULL; PluginHolder<Compressor> comp(PLUGIN_COMPRESSION_ZLIB); ieDword unCompBifSize; compressed->ReadDword( &unCompBifSize ); @@ -62,7 +62,7 @@ bool BIFImporter::DecompressBIF(DataStream* compressed, const char* path) FileStream out; if (!out.Create(path)) { printMessage("BIFImporter", "Cannot write %s.\n", RED, path); - return false; + return NULL; } ieDword finalsize = 0; int laststep = 0; @@ -71,7 +71,7 @@ bool BIFImporter::DecompressBIF(DataStream* compressed, const char* path) compressed->ReadDword( &declen ); compressed->ReadDword( &complen ); if (comp->Decompress( &out, compressed, complen ) != GEM_OK) { - return false; + return NULL; } finalsize = out.GetPos(); if (( int ) ( finalsize * ( 10.0 / unCompBifSize ) ) != laststep) { @@ -88,91 +88,70 @@ bool BIFImporter::DecompressBIF(DataStream* compressed, const char* path) } } print( "\n" ); - return true; + return FileStream::OpenFile(path); } -int BIFImporter::OpenArchive(const char* filename) +DataStream* BIFImporter::DecompressBIF(DataStream* compressed, const char* /*path*/) +{ + ieDword fnlen, complen, declen; + compressed->ReadDword( &fnlen ); + compressed->Seek(fnlen, GEM_CURRENT_POS); + compressed->ReadDword(&declen); + compressed->ReadDword(&complen); + print( "Decompressing\n" ); + return CacheCompressedStream(compressed, compressed->filename, complen); +} + +int BIFImporter::OpenArchive(const char* path) { if (stream) { delete( stream ); stream = NULL; } - FileStream* file = FileStream::OpenFile(filename); - if( !file) { - return GEM_ERROR; - } + + char filename[_MAX_PATH]; + ExtractFileFromPath(filename, path); + + char cachePath[_MAX_PATH]; + PathJoin(cachePath, core->CachePath, filename, NULL); + stream = FileStream::OpenFile(cachePath); + char Signature[8]; - if (file->Read(Signature, 8) == GEM_ERROR) { - delete file; - return GEM_ERROR; - } - //normal bif, not in cache - if (strncmp( Signature, "BIFFV1 ", 8 ) == 0) { - stream = CacheStream(file); - if (!stream) - return GEM_ERROR; - stream->Read( Signature, 8 ); - strcpy( path, filename ); - ReadBIF(); - return GEM_OK; - } - //not found as normal bif - //checking compression type - if (strncmp( Signature, "BIF V1.0", 8 ) == 0) { - ieDword fnlen, complen, declen; - file->ReadDword( &fnlen ); - char* fname = ( char* ) malloc( fnlen ); - file->Read( fname, fnlen ); - strlwr(fname); - file->ReadDword( &declen ); - file->ReadDword( &complen ); - print( "Decompressing\n" ); - stream = CacheCompressedStream(file, fname, complen); - free( fname ); - delete( file ); - if (!stream) + if (!stream) { + FileStream* file = FileStream::OpenFile(path); + if (!file) { return GEM_ERROR; - stream->Read( Signature, 8 ); - if (strncmp( Signature, "BIFFV1 ", 8 ) == 0) - ReadBIF(); - else - return GEM_ERROR; - return GEM_OK; - } - - if (strncmp( Signature, "BIFCV1.0", 8 ) == 0) { - //print("'BIFCV1.0' Compressed File Found\n"); - PathJoin( path, core->CachePath, file->filename, NULL ); - if (file_exists(path)) { - //print("Found in Cache\n"); - delete( file ); - stream = FileStream::OpenFile(path); - if (!stream) - return GEM_ERROR; - stream->Read( Signature, 8 ); - if (strncmp( Signature, "BIFFV1 ", 8 ) == 0) { - ReadBIF(); - } else - return GEM_ERROR; - return GEM_OK; } - if (!DecompressBIF(file, path)) { - delete( file ); + if (file->Read(Signature, 8) == GEM_ERROR) { + delete file; return GEM_ERROR; } - delete( file ); - stream = FileStream::OpenFile(path); - if (!stream) - return GEM_ERROR; - stream->Read( Signature, 8 ); - if (strncmp( Signature, "BIFFV1 ", 8 ) == 0) - ReadBIF(); - else + + if (strncmp(Signature, "BIF V1.0", 8) == 0) { + stream = DecompressBIF(file, cachePath); + delete file; + } else if (strncmp(Signature, "BIFCV1.0", 8) == 0) { + stream = DecompressBIFC(file, cachePath); + delete file; + } else if (strncmp( Signature, "BIFFV1 ", 8 ) == 0) { + stream = CacheStream(file); + } else { + delete file; return GEM_ERROR; - return GEM_OK; + } } - delete (file); - return GEM_ERROR; + + if (!stream) + return GEM_ERROR; + + stream->Read( Signature, 8 ); + + if (strncmp( Signature, "BIFFV1 ", 8 ) != 0) { + return GEM_ERROR; + } + + ReadBIF(); + return GEM_OK; } DataStream* BIFImporter::GetStream(unsigned long Resource, unsigned long Type) diff --git a/gemrb/plugins/BIFImporter/BIFImporter.h b/gemrb/plugins/BIFImporter/BIFImporter.h index e7ca29a..d42dc4d 100644 --- a/gemrb/plugins/BIFImporter/BIFImporter.h +++ b/gemrb/plugins/BIFImporter/BIFImporter.h @@ -57,7 +57,8 @@ public: int OpenArchive(const char* filename); DataStream* GetStream(unsigned long Resource, unsigned long Type); private: - static bool DecompressBIF(DataStream* compressed, const char* path); + static DataStream* DecompressBIF(DataStream* compressed, const char* path); + static DataStream* DecompressBIFC(DataStream* compressed, const char* path); void ReadBIF(void); }; http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=1f24062fa9c1d5bd4e6d0f0346684361a36f53e0 commit 1f24062fa9c1d5bd4e6d0f0346684361a36f53e0 Author: Tom Prince <tom...@ua...> Date: Wed May 11 19:05:32 2011 -0400 Change CacheFile to CacheStream. Whenever we want to cache a file, we already have it open. Signed-off-by: Tom Prince <tom...@ua...> diff --git a/gemrb/core/FileCache.cpp b/gemrb/core/FileCache.cpp index d0260dd..00af645 100644 --- a/gemrb/core/FileCache.cpp +++ b/gemrb/core/FileCache.cpp @@ -52,21 +52,19 @@ DataStream* CacheCompressedStream(DataStream *stream, const char* filename, int return FileStream::OpenFile(path); } -DataStream* CacheFile(const char* path) +DataStream* CacheStream(DataStream* src) { + src->Seek(0, GEM_STREAM_START); if (!core->SlowBIFs) - return FileStream::OpenFile(path); + return src; - char filename[_MAX_PATH]; char cachedfile[_MAX_PATH]; - ExtractFileFromPath(filename, path); - PathJoin(cachedfile, core->CachePath, filename, NULL); + PathJoin(cachedfile, core->CachePath, src->filename, NULL); if (!file_exists(cachedfile)) { // File was not found in cache - FileStream* src = FileStream::OpenFile(path); - FileStream* dest = FileStream::OpenFile(cachedfile); - if (!src || !dest) { - error("Cache", "CachedFile failed to write to cached file '%s' (from '%s')\n", cachedfile, path); + FileStream dest; + if (!dest.Create(cachedfile)) { + error("Cache", "CachedFile failed to write to cached file '%s' (from '%s')\n", cachedfile, src->originalfile); } size_t blockSize = 1024 * 1000; @@ -75,13 +73,14 @@ DataStream* CacheFile(const char* path) if (blockSize > src->Remains()) blockSize = src->Remains(); size_t len = src->Read(buff, blockSize); - size_t c = dest->Write(buff, len); + size_t c = dest.Write(buff, len); if (c != len) { - error("Cache", "CacheFile failed to write to cached file '%s' (from '%s')\n", cachedfile, path); + error("Cache", "CacheFile failed to write to cached file '%s' (from '%s')\n", cachedfile, src->originalfile); } } while (src->Remains()); - delete src; - delete dest; } + + delete src; + return FileStream::OpenFile(cachedfile); } diff --git a/gemrb/core/FileCache.h b/gemrb/core/FileCache.h index 1345a4a..374a5b6 100644 --- a/gemrb/core/FileCache.h +++ b/gemrb/core/FileCache.h @@ -22,6 +22,6 @@ #include "System/DataStream.h" GEM_EXPORT DataStream* CacheCompressedStream(DataStream *stream, const char* filename, int length = 0, bool overwrite = false); -GEM_EXPORT DataStream* CacheFile(const char* path); +GEM_EXPORT DataStream* CacheStream(DataStream* src); #endif diff --git a/gemrb/plugins/BIFImporter/BIFImporter.cpp b/gemrb/plugins/BIFImporter/BIFImporter.cpp index 4f92c04..8b60708 100644 --- a/gemrb/plugins/BIFImporter/BIFImporter.cpp +++ b/gemrb/plugins/BIFImporter/BIFImporter.cpp @@ -106,10 +106,9 @@ int BIFImporter::OpenArchive(const char* filename) delete file; return GEM_ERROR; } - delete file; //normal bif, not in cache if (strncmp( Signature, "BIFFV1 ", 8 ) == 0) { - stream = CacheFile( filename ); + stream = CacheStream(file); if (!stream) return GEM_ERROR; stream->Read( Signature, 8 ); @@ -119,22 +118,18 @@ int BIFImporter::OpenArchive(const char* filename) } //not found as normal bif //checking compression type - FileStream* compressed = FileStream::OpenFile( filename ); - if (!compressed) - return GEM_ERROR; - compressed->Read( Signature, 8 ); if (strncmp( Signature, "BIF V1.0", 8 ) == 0) { ieDword fnlen, complen, declen; - compressed->ReadDword( &fnlen ); + file->ReadDword( &fnlen ); char* fname = ( char* ) malloc( fnlen ); - compressed->Read( fname, fnlen ); + file->Read( fname, fnlen ); strlwr(fname); - compressed->ReadDword( &declen ); - compressed->ReadDword( &complen ); + file->ReadDword( &declen ); + file->ReadDword( &complen ); print( "Decompressing\n" ); - stream = CacheCompressedStream(compressed, fname, complen); + stream = CacheCompressedStream(file, fname, complen); free( fname ); - delete( compressed ); + delete( file ); if (!stream) return GEM_ERROR; stream->Read( Signature, 8 ); @@ -147,10 +142,10 @@ int BIFImporter::OpenArchive(const char* filename) if (strncmp( Signature, "BIFCV1.0", 8 ) == 0) { //print("'BIFCV1.0' Compressed File Found\n"); - PathJoin( path, core->CachePath, compressed->filename, NULL ); + PathJoin( path, core->CachePath, file->filename, NULL ); if (file_exists(path)) { //print("Found in Cache\n"); - delete( compressed ); + delete( file ); stream = FileStream::OpenFile(path); if (!stream) return GEM_ERROR; @@ -161,11 +156,11 @@ int BIFImporter::OpenArchive(const char* filename) return GEM_ERROR; return GEM_OK; } - if (!DecompressBIF(compressed, path)) { - delete( compressed ); + if (!DecompressBIF(file, path)) { + delete( file ); return GEM_ERROR; } - delete( compressed ); + delete( file ); stream = FileStream::OpenFile(path); if (!stream) return GEM_ERROR; @@ -176,7 +171,7 @@ int BIFImporter::OpenArchive(const char* filename) return GEM_ERROR; return GEM_OK; } - delete (compressed); + delete (file); return GEM_ERROR; } http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=c95cf7d330c93a6056b83e960d2f4c809b72f8b0 commit c95cf7d330c93a6056b83e960d2f4c809b72f8b0 Author: Tom Prince <tom...@ua...> Date: Wed May 11 17:31:42 2011 -0400 s/GameOnCD/SlowBifs/ The name better reflects its new purpose. Signed-off-by: Tom Prince <tom...@ua...> diff --git a/gemrb/GemRB.cfg.noinstall.sample b/gemrb/GemRB.cfg.noinstall.sample index fb76d55..6c8f0bb 100644 --- a/gemrb/GemRB.cfg.noinstall.sample +++ b/gemrb/GemRB.cfg.noinstall.sample @@ -104,7 +104,7 @@ TooltipDelay=500 #CaseSensitive=1 -#GameOnCD=0 +#SlowBIFs=0 ##################################################### # GUI Parameters # diff --git a/gemrb/GemRB.cfg.sample.in b/gemrb/GemRB.cfg.sample.in index 0dce884..665f7e7 100644 --- a/gemrb/GemRB.cfg.sample.in +++ b/gemrb/GemRB.cfg.sample.in @@ -111,7 +111,7 @@ TooltipDelay=500 #CaseSensitive=1 -#GameOnCD=0 +#SlowBIFs=0 ##################################################### # GUI Parameters # diff --git a/gemrb/core/FileCache.cpp b/gemrb/core/FileCache.cpp index 3da6ea2..d0260dd 100644 --- a/gemrb/core/FileCache.cpp +++ b/gemrb/core/FileCache.cpp @@ -54,7 +54,7 @@ DataStream* CacheCompressedStream(DataStream *stream, const char* filename, int DataStream* CacheFile(const char* path) { - if (!core->GameOnCD) + if (!core->SlowBIFs) return FileStream::OpenFile(path); char filename[_MAX_PATH]; diff --git a/gemrb/core/Interface.cpp b/gemrb/core/Interface.cpp index d7b151a..531ef7f 100644 --- a/gemrb/core/Interface.cpp +++ b/gemrb/core/Interface.cpp @@ -184,7 +184,7 @@ Interface::Interface(int iargc, char* iargv[]) #else CaseSensitive = false; #endif - GameOnCD = false; + SlowBIFs = false; SkipIntroVideos = false; DrawFPS = false; KeepCache = false; @@ -2248,7 +2248,7 @@ bool Interface::LoadConfig(const char* filename) CONFIG_INT("FogOfWar", FogOfWar = ); CONFIG_INT("FullScreen", FullScreen = ); CONFIG_INT("GUIEnhancements", GUIEnhancements = ); - CONFIG_INT("GameOnCD", GameOnCD = ); + CONFIG_INT("SlowBIFs", SlowBIFs = ); CONFIG_INT("Height", Height = ); CONFIG_INT("KeepCache", KeepCache = ); CONFIG_INT("MultipleQuickSaves", GameControl::MultipleQuickSaves); diff --git a/gemrb/core/Interface.h b/gemrb/core/Interface.h index e14acb9..01ff28d 100644 --- a/gemrb/core/Interface.h +++ b/gemrb/core/Interface.h @@ -742,7 +742,7 @@ public: unsigned int TooltipDelay; int IgnoreOriginalINI; unsigned int FogOfWar; - bool CaseSensitive, GameOnCD, SkipIntroVideos, DrawFPS; + bool CaseSensitive, SlowBIFs, SkipIntroVideos, DrawFPS; bool GUIEnhancements; bool KeepCache; Variables *plugin_flags; http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=8cff52b3c8b03991354ce4f682c68428deba6c01 commit 8cff52b3c8b03991354ce4f682c68428deba6c01 Author: Tom Prince <tom...@ua...> Date: Wed May 11 17:30:23 2011 -0400 Remove untested support for having data on removeable media. This leaves the code for caching data, since that should be useful for slow media. Signed-off-by: Tom Prince <tom...@ua...> diff --git a/gemrb/plugins/KEYImporter/KEYImporter.cpp b/gemrb/plugins/KEYImporter/KEYImporter.cpp index 1f21d1f..b3ef1d8 100644 --- a/gemrb/plugins/KEYImporter/KEYImporter.cpp +++ b/gemrb/plugins/KEYImporter/KEYImporter.cpp @@ -90,30 +90,10 @@ static void FindBIF(BIFEntry *entry) return; } - if (core->GameOnCD) { - int mask = 1<<2; - for(int cd = 1; cd<=MAX_CD; cd++) { - if ((entry->BIFLocator & mask) != 0) { - entry->cd = cd; - break; - } - mask += mask; - } - - if (!entry->cd) { - printStatus( "ERROR", LIGHT_RED ); - print( "Cannot find %s... Resource unavailable.\n", - entry->name ); - entry->found = false; - return; - } - entry->found = PathExists(entry, core->CD[entry->cd-1]); - return; - } - for (int i = 0; i < MAX_CD; i++) { if (PathExists(entry, core->CD[i]) ) { entry->found = true; + entry->cd = i; return; } } @@ -223,18 +203,6 @@ bool KEYImporter::HasResource(const char* resname, const ResourceDesc &type) return HasResource(resname, type.GetKeyType()); } -static void FindBIFOnCD(BIFEntry *entry) -{ - if (file_exists(entry->path)) { - entry->found = true; - return; - } - - core->WaitForDisc(entry->cd, entry->name); - - entry->found = PathExists(entry, core->CD[entry->cd-1]); -} - DataStream* KEYImporter::GetStream(const char *resname, ieWord type) { unsigned int ResLocator; @@ -244,8 +212,6 @@ DataStream* KEYImporter::GetStream(const char *resname, ieWord type) if (resources.Lookup( resname, type, ResLocator )) { unsigned int bifnum = ( ResLocator & 0xFFF00000 ) >> 20; - if (core->GameOnCD && (biffiles[bifnum].cd != 0)) - FindBIFOnCD(&biffiles[bifnum]); if (!biffiles[bifnum].found) { print( "Cannot find %s... Resource unavailable.\n", biffiles[bifnum].name ); ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. -- gemrb: Infinity Engine emulator |