aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/kernel32.cpp2
-rw-r--r--engines/sci/engine/kfile.cpp12
-rw-r--r--engines/sci/engine/kpathing.cpp2
-rw-r--r--engines/sci/engine/state.cpp2
-rw-r--r--engines/sci/engine/state.h7
5 files changed, 12 insertions, 13 deletions
diff --git a/engines/sci/engine/kernel32.cpp b/engines/sci/engine/kernel32.cpp
index 1db605af1e..e3cc938b1b 100644
--- a/engines/sci/engine/kernel32.cpp
+++ b/engines/sci/engine/kernel32.cpp
@@ -645,7 +645,7 @@ reg_t kAddScreenItem(EngineState *s, int argc, reg_t *argv) {
}
reg_t kUpdateScreenItem(EngineState *s, int argc, reg_t *argv) {
- reg_t viewObj = argv[0];
+ //reg_t viewObj = argv[0];
//warning("kUpdateScreenItem, object %04x:%04x, view %d, loop %d, cel %d, pri %d", PRINT_REG(viewObj), viewId, loopNo, celNo, priority);
return NULL_REG;
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp
index 5610a5c751..1b5b94589a 100644
--- a/engines/sci/engine/kfile.cpp
+++ b/engines/sci/engine/kfile.cpp
@@ -652,7 +652,7 @@ enum {
K_FILEIO_WRITE_WORD = 16
};
-reg_t DirSeeker::firstFile(const Common::String &mask, reg_t buffer) {
+reg_t DirSeeker::firstFile(const Common::String &mask, reg_t buffer, SegManager *segMan) {
// Verify that we are given a valid buffer
if (!buffer.segment) {
error("DirSeeker::firstFile('%s') invoked with invalid buffer", mask.c_str());
@@ -669,10 +669,10 @@ reg_t DirSeeker::firstFile(const Common::String &mask, reg_t buffer) {
// Reset the list iterator and write the first match to the output buffer, if any.
_iter = _savefiles.begin();
- return nextFile();
+ return nextFile(segMan);
}
-reg_t DirSeeker::nextFile() {
+reg_t DirSeeker::nextFile(SegManager *segMan) {
if (_iter == _savefiles.end()) {
return NULL_REG;
}
@@ -683,7 +683,7 @@ reg_t DirSeeker::nextFile() {
Common::String string = ((Sci::SciEngine*)g_engine)->unwrapFilename(wrappedString);
if (string.size() > 12)
string = Common::String(string.c_str(), 12);
- _state->_segMan->strcpy(_outbuffer, string.c_str());
+ segMan->strcpy(_outbuffer, string.c_str());
// Return the result and advance the list iterator :)
++_iter;
@@ -832,13 +832,13 @@ reg_t kFileIO(EngineState *s, int argc, reg_t *argv) {
// if (mask == "*.*")
// mask = "*"; // For UNIX
//#endif
- s->r_acc = s->_dirseeker.firstFile(mask, buf);
+ s->r_acc = s->_dirseeker.firstFile(mask, buf, s->_segMan);
break;
}
case K_FILEIO_FIND_NEXT : {
debug(3, "K_FILEIO_FIND_NEXT()");
- s->r_acc = s->_dirseeker.nextFile();
+ s->r_acc = s->_dirseeker.nextFile(s->_segMan);
break;
}
case K_FILEIO_FILE_EXISTS : {
diff --git a/engines/sci/engine/kpathing.cpp b/engines/sci/engine/kpathing.cpp
index 0f263fd1bb..5916e850bf 100644
--- a/engines/sci/engine/kpathing.cpp
+++ b/engines/sci/engine/kpathing.cpp
@@ -1810,7 +1810,7 @@ reg_t kAvoidPath(EngineState *s, int argc, reg_t *argv) {
case 8 : {
Common::Point end = Common::Point(argv[2].toSint16(), argv[3].toSint16());
reg_t poly_list, output;
- int width, height, opt;
+ int width, height, opt = 0;
if (getSciVersion() >= SCI_VERSION_2) {
if (argc < 7)
diff --git a/engines/sci/engine/state.cpp b/engines/sci/engine/state.cpp
index 255a8e0f36..f9330e424e 100644
--- a/engines/sci/engine/state.cpp
+++ b/engines/sci/engine/state.cpp
@@ -33,7 +33,7 @@
namespace Sci {
EngineState::EngineState(ResourceManager *res, Kernel *kernel, Vocabulary *voc, SegManager *segMan, SciGui *gui, AudioPlayer *audio)
-: resMan(res), _kernel(kernel), _voc(voc), _segMan(segMan), _gui(gui), _audio(audio), _dirseeker(this) {
+: resMan(res), _kernel(kernel), _voc(voc), _segMan(segMan), _gui(gui), _audio(audio), _dirseeker() {
sfx_init_flags = 0;
diff --git a/engines/sci/engine/state.h b/engines/sci/engine/state.h
index 26e4893b27..3d6178b07e 100644
--- a/engines/sci/engine/state.h
+++ b/engines/sci/engine/state.h
@@ -65,19 +65,18 @@ struct GfxList;
class DirSeeker {
protected:
- EngineState *_state;
reg_t _outbuffer;
Common::StringList _savefiles;
Common::StringList::const_iterator _iter;
public:
- DirSeeker(EngineState *s) : _state(s) {
+ DirSeeker() {
_outbuffer = NULL_REG;
_iter = _savefiles.begin();
}
- reg_t firstFile(const Common::String &mask, reg_t buffer);
- reg_t nextFile();
+ reg_t firstFile(const Common::String &mask, reg_t buffer, SegManager *segMan);
+ reg_t nextFile(SegManager *segMan);
};
enum {