diff options
author | uruk | 2014-07-04 13:26:27 +0200 |
---|---|---|
committer | uruk | 2014-07-04 13:26:27 +0200 |
commit | a3071a00f98b4e322c28281e026ac85a751db071 (patch) | |
tree | 810dc685aa9c5ffc63bc565d4f3d007680911a0f /engines/cge2/bitmap.cpp | |
parent | dbbafb5d8939453bba847dc49b7a87b534020d48 (diff) | |
download | scummvm-rg350-a3071a00f98b4e322c28281e026ac85a751db071.tar.gz scummvm-rg350-a3071a00f98b4e322c28281e026ac85a751db071.tar.bz2 scummvm-rg350-a3071a00f98b4e322c28281e026ac85a751db071.zip |
CGE2: Replace addExt() wit setExtension().
Diffstat (limited to 'engines/cge2/bitmap.cpp')
-rw-r--r-- | engines/cge2/bitmap.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/engines/cge2/bitmap.cpp b/engines/cge2/bitmap.cpp index 396610ad84..4d1fb6a043 100644 --- a/engines/cge2/bitmap.cpp +++ b/engines/cge2/bitmap.cpp @@ -53,8 +53,8 @@ Bitmap::Bitmap(CGE2Engine *vm, const char *fname) : _v(nullptr), _b(nullptr), _m warning("Workaround for wrong VBM name: 11oqlist-"); } else strcpy(pat, fname); - - strcpy(pat, addExt(pat).c_str()); + + strcpy(pat, setExtension(pat, ".VBM").c_str()); if (_vm->_resman->exist(pat)) { EncryptedStream file(_vm, pat); @@ -162,12 +162,16 @@ Bitmap &Bitmap::operator=(const Bitmap &bmp) { return *this; } -Common::String Bitmap::addExt(const char *name) { - Common::String fname; - fname = Common::String::format("%s.VBM", name); - if (fname.size() >= kMaxPath) - error("Bitmap's filename is too long %s", name); - return fname; +// Blatant rip from hopkins engine where it's ripped from gob engine. Hi DrMcCoy, hi Strangerke! ;> +Common::String Bitmap::setExtension(const Common::String &str, const Common::String &ext) { + if (str.empty()) + return str; + + const char *dot = strrchr(str.c_str(), '.'); + if (dot) + return Common::String(str.c_str(), dot - str.c_str()) + ext; + + return str + ext; } BitmapPtr Bitmap::code(uint8 *map) { |