mirror of
https://github.com/libretro/scummvm.git
synced 2025-04-02 06:41:51 +00:00
TUCKER: Replace snprintf() usage with Common::String::format()
Safer and less portability issues.
This commit is contained in:
parent
477d6233c3
commit
5015d12142
@ -201,8 +201,7 @@ public:
|
||||
}
|
||||
for (int slot = 0; slot <= Tucker::kLastSaveSlot; ++slot) {
|
||||
if (slotsTable[slot]) {
|
||||
char description[64];
|
||||
snprintf(description, sizeof(description), "savegm.%02d", slot);
|
||||
Common::String description = Common::String::format("savegm.%02d", slot);
|
||||
saveList.push_back(SaveStateDescriptor(slot, description));
|
||||
}
|
||||
}
|
||||
|
@ -160,39 +160,37 @@ public:
|
||||
};
|
||||
|
||||
uint8 *TuckerEngine::loadFile(const char *fname, uint8 *p) {
|
||||
char filename[80];
|
||||
strcpy(filename, fname);
|
||||
Common::String filename;
|
||||
filename = fname;
|
||||
if (_gameLang == Common::DE_DEU) {
|
||||
if (strcmp(filename, "bgtext.c") == 0) {
|
||||
strcpy(filename, "bgtextgr.c");
|
||||
} else if (strcmp(filename, "charname.c") == 0) {
|
||||
strcpy(filename, "charnmgr.c");
|
||||
} else if (strcmp(filename, "data5.c") == 0) {
|
||||
strcpy(filename, "data5gr.c");
|
||||
} else if (strcmp(filename, "infobar.txt") == 0) {
|
||||
strcpy(filename, "infobrgr.txt");
|
||||
} else if (strcmp(filename, "charsize.dta") == 0) {
|
||||
strcpy(filename, "charszgr.dta");
|
||||
} else if (strncmp(filename, "objtxt", 6) == 0) {
|
||||
const char num = filename[6];
|
||||
snprintf(filename, sizeof(filename), "objtx%cgr.c", num);
|
||||
} else if (strncmp(filename, "pt", 2) == 0) {
|
||||
const char num = filename[2];
|
||||
snprintf(filename, sizeof(filename), "pt%ctxtgr.c", num);
|
||||
if (filename == "bgtext.c") {
|
||||
filename = "bgtextgr.c";
|
||||
} else if (filename == "charname.c") {
|
||||
filename = "charnmgr.c";
|
||||
} else if (filename == "data5.c") {
|
||||
filename = "data5gr.c";
|
||||
} else if (filename == "infobar.txt") {
|
||||
filename = "infobrgr.txt";
|
||||
} else if (filename == "charsize.dta") {
|
||||
filename = "charszgr.dta";
|
||||
} else if (filename.hasPrefix("objtxt")) {
|
||||
filename = Common::String::format("objtx%cgr.c", filename[6]);
|
||||
} else if (filename.hasPrefix("pt")) {
|
||||
filename = Common::String::format("pt%ctxtgr.c", filename[2]);
|
||||
}
|
||||
}
|
||||
_fileLoadSize = 0;
|
||||
bool decode = false;
|
||||
if (_gameFlags & kGameFlagEncodedData) {
|
||||
char *ext = strrchr(filename, '.');
|
||||
if (ext && strcmp(ext + 1, "c") == 0) {
|
||||
strcpy(ext + 1, "enc");
|
||||
if (filename.hasSuffix(".c")) {
|
||||
filename.deleteLastChar();
|
||||
filename += "enc";
|
||||
decode = true;
|
||||
}
|
||||
}
|
||||
Common::File f;
|
||||
if (!f.open(filename)) {
|
||||
warning("Unable to open '%s'", filename);
|
||||
warning("Unable to open '%s'", filename.c_str());
|
||||
return 0;
|
||||
}
|
||||
const int sz = f.size();
|
||||
@ -389,23 +387,23 @@ void TuckerEngine::loadBudSpr(int startOffset) {
|
||||
int spriteOffset = 0;
|
||||
for (int i = startOffset; i < endOffset; ++i) {
|
||||
if (framesCount[frame] == i) {
|
||||
char filename[40];
|
||||
Common::String filename;
|
||||
switch (_flagsTable[137]) {
|
||||
case 0:
|
||||
if ((_gameFlags & kGameFlagDemo) != 0) {
|
||||
snprintf(filename, sizeof(filename), "budl00_%d.pcx", frame + 1);
|
||||
filename = Common::String::format("budl00_%d.pcx", frame + 1);
|
||||
} else {
|
||||
snprintf(filename, sizeof(filename), "bud_%d.pcx", frame + 1);
|
||||
filename = Common::String::format("bud_%d.pcx", frame + 1);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
snprintf(filename, sizeof(filename), "peg_%d.pcx", frame + 1);
|
||||
filename = Common::String::format("peg_%d.pcx", frame + 1);
|
||||
break;
|
||||
default:
|
||||
snprintf(filename, sizeof(filename), "mac_%d.pcx", frame + 1);
|
||||
filename = Common::String::format("mac_%d.pcx", frame + 1);
|
||||
break;
|
||||
}
|
||||
loadImage(filename, _loadTempBuf, 0);
|
||||
loadImage(filename.c_str(), _loadTempBuf, 0);
|
||||
++frame;
|
||||
}
|
||||
int sz = Graphics::encodeRLE(_loadTempBuf + _spriteFramesTable[i].sourceOffset, _spritesGfxBuf + spriteOffset, _spriteFramesTable[i].xSize, _spriteFramesTable[i].ySize);
|
||||
@ -479,30 +477,30 @@ void TuckerEngine::loadCTable02(int fl) {
|
||||
}
|
||||
|
||||
void TuckerEngine::loadLoc() {
|
||||
char filename[40];
|
||||
Common::String filename;
|
||||
|
||||
int i = _locationWidthTable[_locationNum];
|
||||
_locationHeight = (_locationNum < 73) ? 140 : 200;
|
||||
snprintf(filename, sizeof(filename), (i == 1) ? "loc%02d.pcx" : "loc%02da.pcx", _locationNum);
|
||||
copyLocBitmap(filename, 0, false);
|
||||
filename = Common::String::format((i == 1) ? "loc%02d.pcx" : "loc%02da.pcx", _locationNum);
|
||||
copyLocBitmap(filename.c_str(), 0, false);
|
||||
Graphics::copyRect(_quadBackgroundGfxBuf, 320, _locationBackgroundGfxBuf, 640, 320, _locationHeight);
|
||||
if (_locationHeight == 200) {
|
||||
return;
|
||||
}
|
||||
snprintf(filename, sizeof(filename), (i != 2) ? "path%02d.pcx" : "path%02da.pcx", _locationNum);
|
||||
copyLocBitmap(filename, 0, true);
|
||||
filename = Common::String::format((i != 2) ? "path%02d.pcx" : "path%02da.pcx", _locationNum);
|
||||
copyLocBitmap(filename.c_str(), 0, true);
|
||||
if (i > 1) {
|
||||
snprintf(filename, sizeof(filename), "loc%02db.pcx", _locationNum);
|
||||
copyLocBitmap(filename, 320, false);
|
||||
filename = Common::String::format("loc%02db.pcx", _locationNum);
|
||||
copyLocBitmap(filename.c_str(), 320, false);
|
||||
Graphics::copyRect(_quadBackgroundGfxBuf + 44800, 320, _locationBackgroundGfxBuf + 320, 640, 320, _locationHeight);
|
||||
if (i == 2) {
|
||||
snprintf(filename, sizeof(filename), "path%02db.pcx", _locationNum);
|
||||
copyLocBitmap(filename, 320, true);
|
||||
filename = Common::String::format("path%02db.pcx", _locationNum);
|
||||
copyLocBitmap(filename.c_str(), 320, true);
|
||||
}
|
||||
}
|
||||
if (i > 2) {
|
||||
snprintf(filename, sizeof(filename), "loc%02dc.pcx", _locationNum);
|
||||
copyLocBitmap(filename, 0, false);
|
||||
filename = Common::String::format("loc%02dc.pcx", _locationNum);
|
||||
copyLocBitmap(filename.c_str(), 0, false);
|
||||
Graphics::copyRect(_quadBackgroundGfxBuf + 89600, 320, _locationBackgroundGfxBuf, 640, 320, 140);
|
||||
}
|
||||
if (_locationNum == 1) {
|
||||
@ -510,8 +508,8 @@ void TuckerEngine::loadLoc() {
|
||||
loadImage("rochpath.pcx", _loadLocBufPtr, 0);
|
||||
}
|
||||
if (i > 3) {
|
||||
snprintf(filename, sizeof(filename), "loc%02dd.pcx", _locationNum);
|
||||
copyLocBitmap(filename, 0, false);
|
||||
filename = Common::String::format("loc%02dd.pcx", _locationNum);
|
||||
copyLocBitmap(filename.c_str(), 0, false);
|
||||
Graphics::copyRect(_quadBackgroundGfxBuf + 134400, 320, _locationBackgroundGfxBuf + 320, 640, 320, 140);
|
||||
}
|
||||
_fullRedraw = true;
|
||||
@ -540,13 +538,13 @@ void TuckerEngine::loadObj() {
|
||||
}
|
||||
_currentPartNum = _partNum;
|
||||
|
||||
char filename[40];
|
||||
snprintf(filename, sizeof(filename), "objtxt%d.c", _partNum);
|
||||
Common::String filename;
|
||||
filename = Common::String::format("objtxt%d.c", _partNum);
|
||||
free(_objTxtBuf);
|
||||
_objTxtBuf = loadFile(filename, 0);
|
||||
snprintf(filename, sizeof(filename), "pt%dtext.c", _partNum);
|
||||
_objTxtBuf = loadFile(filename.c_str(), 0);
|
||||
filename = Common::String::format("pt%dtext.c", _partNum);
|
||||
free(_ptTextBuf);
|
||||
_ptTextBuf = loadFile(filename, 0);
|
||||
_ptTextBuf = loadFile(filename.c_str(), 0);
|
||||
_characterSpeechDataPtr = _ptTextBuf;
|
||||
loadData();
|
||||
loadPanObj();
|
||||
@ -584,9 +582,8 @@ void TuckerEngine::loadData() {
|
||||
_dataCount = maxCount;
|
||||
int offset = 0;
|
||||
for (int i = 0; i < count; ++i) {
|
||||
char filename[40];
|
||||
snprintf(filename, sizeof(filename), "scrobj%d%d.pcx", _partNum, i);
|
||||
loadImage(filename, _loadTempBuf, 0);
|
||||
Common::String filename = Common::String::format("scrobj%d%d.pcx", _partNum, i);
|
||||
loadImage(filename.c_str(), _loadTempBuf, 0);
|
||||
offset = loadDataHelper(offset, i);
|
||||
}
|
||||
}
|
||||
@ -603,9 +600,8 @@ int TuckerEngine::loadDataHelper(int offset, int index) {
|
||||
}
|
||||
|
||||
void TuckerEngine::loadPanObj() {
|
||||
char filename[40];
|
||||
snprintf(filename, sizeof(filename), "panobjs%d.pcx", _partNum);
|
||||
loadImage(filename, _loadTempBuf, 0);
|
||||
Common::String filename = Common::String::format("panobjs%d.pcx", _partNum);
|
||||
loadImage(filename.c_str(), _loadTempBuf, 0);
|
||||
int offset = 0;
|
||||
for (int y = 0; y < 5; ++y) {
|
||||
for (int x = 0; x < 10; ++x) {
|
||||
@ -812,9 +808,8 @@ void TuckerEngine::loadSprA02_01() {
|
||||
unloadSprA02_01();
|
||||
const int count = _sprA02LookupTable[_locationNum];
|
||||
for (int i = 1; i < count + 1; ++i) {
|
||||
char filename[40];
|
||||
snprintf(filename, sizeof(filename), "sprites/a%02d_%02d.spr", _locationNum, i);
|
||||
_sprA02Table[i] = loadFile(filename, 0);
|
||||
Common::String filename = Common::String::format("sprites/a%02d_%02d.spr", _locationNum, i);
|
||||
_sprA02Table[i] = loadFile(filename.c_str(), 0);
|
||||
}
|
||||
_sprA02Table[0] = _sprA02Table[1];
|
||||
}
|
||||
@ -831,9 +826,8 @@ void TuckerEngine::loadSprC02_01() {
|
||||
unloadSprC02_01();
|
||||
const int count = _sprC02LookupTable[_locationNum];
|
||||
for (int i = 1; i < count + 1; ++i) {
|
||||
char filename[40];
|
||||
snprintf(filename, sizeof(filename), "sprites/c%02d_%02d.spr", _locationNum, i);
|
||||
_sprC02Table[i] = loadFile(filename, 0);
|
||||
Common::String filename = Common::String::format("sprites/c%02d_%02d.spr", _locationNum, i);
|
||||
_sprC02Table[i] = loadFile(filename.c_str(), 0);
|
||||
}
|
||||
_sprC02Table[0] = _sprC02Table[1];
|
||||
_spritesCount = _sprC02LookupTable2[_locationNum];
|
||||
@ -942,8 +936,7 @@ void TuckerEngine::loadSound(Audio::Mixer::SoundType type, int num, int volume,
|
||||
default:
|
||||
return;
|
||||
}
|
||||
char fileName[64];
|
||||
snprintf(fileName, sizeof(fileName), fmt, num);
|
||||
Common::String fileName = Common::String::format(fmt, num);
|
||||
Common::File *f = new Common::File;
|
||||
if (f->open(fileName)) {
|
||||
stream = Audio::makeWAVStream(f, DisposeAfterUse::YES);
|
||||
|
@ -36,9 +36,7 @@ Common::String generateGameStateFileName(const char *target, int slot, bool pref
|
||||
if (prefixOnly) {
|
||||
name += ".*";
|
||||
} else {
|
||||
char slotStr[16];
|
||||
snprintf(slotStr, sizeof(slotStr), ".%d", slot);
|
||||
name += slotStr;
|
||||
name += Common::String::format(".%d", slot);
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
@ -115,31 +115,31 @@ void TuckerEngine::handleCreditsSequence() {
|
||||
_fadePaletteCounter = 0;
|
||||
clearSprites();
|
||||
++num;
|
||||
char filename[40];
|
||||
Common::String filename;
|
||||
if (num == 6) {
|
||||
for (int i = 0; i < 16; ++i) {
|
||||
snprintf(filename, sizeof(filename), "cogs%04d.pcx", i + 1);
|
||||
loadImage(filename, imgBuf + i * 64000, 2);
|
||||
filename = Common::String::format("cogs%04d.pcx", i + 1);
|
||||
loadImage(filename.c_str(), imgBuf + i * 64000, 2);
|
||||
}
|
||||
} else {
|
||||
switch (num) {
|
||||
case 1:
|
||||
strcpy(filename, "loc75.pcx");
|
||||
filename = "loc75.pcx";
|
||||
break;
|
||||
case 2:
|
||||
strcpy(filename, "loc76.pcx");
|
||||
filename = "loc76.pcx";
|
||||
break;
|
||||
case 3:
|
||||
strcpy(filename, "paper-3.pcx");
|
||||
filename = "paper-3.pcx";
|
||||
break;
|
||||
case 4:
|
||||
strcpy(filename, "loc77.pcx");
|
||||
filename = "loc77.pcx";
|
||||
break;
|
||||
case 5:
|
||||
strcpy(filename, "loc78.pcx");
|
||||
filename = "loc78.pcx";
|
||||
break;
|
||||
}
|
||||
loadImage(filename, _quadBackgroundGfxBuf, 2);
|
||||
loadImage(filename.c_str(), _quadBackgroundGfxBuf, 2);
|
||||
}
|
||||
_spritesCount = _creditsSequenceSpriteCounts[num];
|
||||
++_flagsTable[236];
|
||||
@ -584,8 +584,7 @@ Audio::RewindableAudioStream *AnimationSequencePlayer::loadSound(int index, Anim
|
||||
if (stream)
|
||||
return stream;
|
||||
|
||||
char fileName[64];
|
||||
snprintf(fileName, sizeof(fileName), "audio/%s", _audioFileNamesTable[index]);
|
||||
Common::String fileName = Common::String::format("audio/%s", _audioFileNamesTable[index]);
|
||||
Common::File f;
|
||||
if (f.open(fileName)) {
|
||||
int size = 0, rate = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user