aboutsummaryrefslogtreecommitdiff
path: root/engines/sludge/sludger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sludge/sludger.cpp')
-rw-r--r--engines/sludge/sludger.cpp21
1 files changed, 10 insertions, 11 deletions
diff --git a/engines/sludge/sludger.cpp b/engines/sludge/sludger.cpp
index e0f20bbd5d..e1fd3c8c1f 100644
--- a/engines/sludge/sludger.cpp
+++ b/engines/sludge/sludger.cpp
@@ -279,7 +279,7 @@ bool initSludge(const Common::String &filename) {
initVarNew(globalVars[a]);
// Get language selected by user
- setBigDataFile(fp);
+ g_sludge->_resMan->setData(fp);
g_sludge->_languageMan->setLanguageID(g_sludge->getLanguageID());
if (!dataFol.empty()) {
@@ -942,33 +942,32 @@ bool runSludge() {
}
bool loadFunctionCode(loadedFunction *newFunc) {
-
- debug(kSludgeDebugDataLoad, "Current address: %i", bigDataFile->pos());
uint numLines, numLinesRead;
- if (!openSubSlice(newFunc->originalNumber))
+ if (!g_sludge->_resMan->openSubSlice(newFunc->originalNumber))
return false;
debug(kSludgeDebugDataLoad, "Load function code");
- newFunc->unfreezable = bigDataFile->readByte();
- numLines = bigDataFile->readUint16BE();
+ Common::SeekableReadStream *readStream = g_sludge->_resMan->getData();
+ newFunc->unfreezable = readStream->readByte();
+ numLines = readStream->readUint16BE();
debug(kSludgeDebugDataLoad, "numLines: %i", numLines);
- newFunc->numArgs = bigDataFile->readUint16BE();
+ newFunc->numArgs = readStream->readUint16BE();
debug(kSludgeDebugDataLoad, "numArgs: %i", newFunc->numArgs);
- newFunc->numLocals = bigDataFile->readUint16BE();
+ newFunc->numLocals = readStream->readUint16BE();
debug(kSludgeDebugDataLoad, "numLocals: %i", newFunc->numLocals);
newFunc->compiledLines = new lineOfCode[numLines];
if (!checkNew(newFunc->compiledLines))
return false;
for (numLinesRead = 0; numLinesRead < numLines; numLinesRead++) {
- newFunc->compiledLines[numLinesRead].theCommand = (sludgeCommand) bigDataFile->readByte();
- newFunc->compiledLines[numLinesRead].param = bigDataFile->readUint16BE();
+ newFunc->compiledLines[numLinesRead].theCommand = (sludgeCommand)readStream->readByte();
+ newFunc->compiledLines[numLinesRead].param = readStream->readUint16BE();
debug(kSludgeDebugDataLoad, "command line %i: %i", numLinesRead,
newFunc->compiledLines[numLinesRead].theCommand);
}
- finishAccess();
+ g_sludge->_resMan->finishAccess();
// Now we need to reserve memory for the local variables
newFunc->localVars = new variable[newFunc->numLocals];