diff options
Diffstat (limited to 'engines/sci/engine/kfile.cpp')
-rw-r--r-- | engines/sci/engine/kfile.cpp | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp index c03e69c6d0..a028671140 100644 --- a/engines/sci/engine/kfile.cpp +++ b/engines/sci/engine/kfile.cpp @@ -196,7 +196,7 @@ void file_open(EngineState *s, const char *filename, int mode) { } reg_t kFOpen(EngineState *s, int funct_nr, int argc, reg_t *argv) { - char *name = kernel_dereference_char_pointer(s, argv[0], 0); + char *name = kernel_dereference_char_pointer(s->segmentManager, argv[0], 0); int mode = argv[1].toUint16(); debug(3, "kFOpen(%s,0x%x)", name, mode); @@ -249,7 +249,7 @@ void fwrite_wrapper(EngineState *s, int handle, char *data, int length) { reg_t kFPuts(EngineState *s, int funct_nr, int argc, reg_t *argv) { int handle = argv[0].toUint16(); - char *data = kernel_dereference_char_pointer(s, argv[1], 0); + char *data = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); fwrite_wrapper(s, handle, data, strlen(data)); return s->r_acc; @@ -306,7 +306,7 @@ static void fseek_wrapper(EngineState *s, int handle, int offset, int whence) { } reg_t kFGets(EngineState *s, int funct_nr, int argc, reg_t *argv) { - char *dest = kernel_dereference_char_pointer(s, argv[0], 0); + char *dest = kernel_dereference_char_pointer(s->segmentManager, argv[0], 0); int maxsize = argv[1].toUint16(); int handle = argv[2].toUint16(); @@ -319,7 +319,7 @@ reg_t kFGets(EngineState *s, int funct_nr, int argc, reg_t *argv) { * Writes the cwd to the supplied address and returns the address in acc. */ reg_t kGetCWD(EngineState *s, int funct_nr, int argc, reg_t *argv) { - char *targetaddr = kernel_dereference_char_pointer(s, argv[0], 0); + char *targetaddr = kernel_dereference_char_pointer(s->segmentManager, argv[0], 0); // We do not let the scripts see the file system, instead pretending // we are always in the same directory. @@ -355,8 +355,8 @@ reg_t kDeviceInfo(EngineState *s, int funct_nr, int argc, reg_t *argv) { switch (mode) { case K_DEVICE_INFO_GET_DEVICE: - input_s = kernel_dereference_char_pointer(s, argv[1], 0); - output_s = kernel_dereference_char_pointer(s, argv[2], 0); + input_s = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); + output_s = kernel_dereference_char_pointer(s->segmentManager, argv[2], 0); assert(input_s != output_s); strcpy(output_s, "/"); @@ -364,15 +364,15 @@ reg_t kDeviceInfo(EngineState *s, int funct_nr, int argc, reg_t *argv) { break; case K_DEVICE_INFO_GET_CURRENT_DEVICE: - output_s = kernel_dereference_char_pointer(s, argv[1], 0); + output_s = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); strcpy(output_s, "/"); debug(3, "K_DEVICE_INFO_GET_CURRENT_DEVICE() -> %s", output_s); break; case K_DEVICE_INFO_PATHS_EQUAL: { - char *path1_s = kernel_dereference_char_pointer(s, argv[1], 0); - char *path2_s = kernel_dereference_char_pointer(s, argv[2], 0); + char *path1_s = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); + char *path2_s = kernel_dereference_char_pointer(s->segmentManager, argv[2], 0); debug(3, "K_DEVICE_INFO_PATHS_EQUAL(%s,%s)", path1_s, path2_s); return make_reg(0, Common::matchString(path2_s, path1_s, true)); @@ -380,7 +380,7 @@ reg_t kDeviceInfo(EngineState *s, int funct_nr, int argc, reg_t *argv) { break; case K_DEVICE_INFO_IS_FLOPPY: - input_s = kernel_dereference_char_pointer(s, argv[1], 0); + input_s = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); debug(3, "K_DEVICE_INFO_IS_FLOPPY(%s)", input_s); return NULL_REG; /* Never */ @@ -389,8 +389,8 @@ reg_t kDeviceInfo(EngineState *s, int funct_nr, int argc, reg_t *argv) { ** for more information on our workaround for this. */ case K_DEVICE_INFO_GET_SAVECAT_NAME: { - output_s = kernel_dereference_char_pointer(s, argv[1], 0); - game_prefix = kernel_dereference_char_pointer(s, argv[2], 0); + output_s = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); + game_prefix = kernel_dereference_char_pointer(s->segmentManager, argv[2], 0); sprintf(output_s, "__throwaway"); debug(3, "K_DEVICE_INFO_GET_SAVECAT_NAME(%s) -> %s", game_prefix, output_s); @@ -398,8 +398,8 @@ reg_t kDeviceInfo(EngineState *s, int funct_nr, int argc, reg_t *argv) { break; case K_DEVICE_INFO_GET_SAVEFILE_NAME: { - output_s = kernel_dereference_char_pointer(s, argv[1], 0); - game_prefix = kernel_dereference_char_pointer(s, argv[2], 0); + output_s = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); + game_prefix = kernel_dereference_char_pointer(s->segmentManager, argv[2], 0); int savegame_id = argv[3].toUint16(); sprintf(output_s, "__throwaway"); debug(3, "K_DEVICE_INFO_GET_SAVEFILE_NAME(%s,%d) -> %s", game_prefix, savegame_id, output_s); @@ -421,7 +421,7 @@ reg_t kGetSaveDir(EngineState *s, int funct_nr, int argc, reg_t *argv) { } reg_t kCheckFreeSpace(EngineState *s, int funct_nr, int argc, reg_t *argv) { - char *path = kernel_dereference_char_pointer(s, argv[0], 0); + char *path = kernel_dereference_char_pointer(s->segmentManager, argv[0], 0); debug(3, "kCheckFreeSpace(%s)", path); // We simply always pretend that there is enough space. @@ -479,7 +479,7 @@ void listSavegames(Common::Array<SavegameDesc> &saves) { } reg_t kCheckSaveGame(EngineState *s, int funct_nr, int argc, reg_t *argv) { - char *game_id = kernel_dereference_char_pointer(s, argv[0], 0); + char *game_id = kernel_dereference_char_pointer(s->segmentManager, argv[0], 0); int savedir_nr = argv[1].toUint16(); debug(3, "kCheckSaveGame(%s, %d)", game_id, savedir_nr); @@ -515,10 +515,10 @@ reg_t kCheckSaveGame(EngineState *s, int funct_nr, int argc, reg_t *argv) { } reg_t kGetSaveFiles(EngineState *s, int funct_nr, int argc, reg_t *argv) { - char *game_id = kernel_dereference_char_pointer(s, argv[0], 0); - char *nametarget = kernel_dereference_char_pointer(s, argv[1], 0); + char *game_id = kernel_dereference_char_pointer(s->segmentManager, argv[0], 0); + char *nametarget = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); reg_t nametarget_base = argv[1]; - reg_t *nameoffsets = kernel_dereference_reg_pointer(s, argv[2], 0); + reg_t *nameoffsets = kernel_dereference_reg_pointer(s->segmentManager, argv[2], 0); debug(3, "kGetSaveFiles(%s,%s)", game_id, nametarget); @@ -565,11 +565,11 @@ reg_t kGetSaveFiles(EngineState *s, int funct_nr, int argc, reg_t *argv) { } reg_t kSaveGame(EngineState *s, int funct_nr, int argc, reg_t *argv) { - char *game_id = kernel_dereference_char_pointer(s, argv[0], 0); + char *game_id = kernel_dereference_char_pointer(s->segmentManager, argv[0], 0); int savedir_nr = argv[1].toUint16(); int savedir_id; // Savegame ID, derived from savedir_nr and the savegame ID list - char *game_description = kernel_dereference_char_pointer(s, argv[2], 0); - char *version = argc > 3 ? strdup(kernel_dereference_char_pointer(s, argv[3], 0)) : NULL; + char *game_description = kernel_dereference_char_pointer(s->segmentManager, argv[2], 0); + char *version = argc > 3 ? strdup(kernel_dereference_char_pointer(s->segmentManager, argv[3], 0)) : NULL; debug(3, "kSaveGame(%s,%d,%s,%s)", game_id, savedir_nr, game_description, version); s->game_version = version; @@ -638,7 +638,7 @@ reg_t kSaveGame(EngineState *s, int funct_nr, int argc, reg_t *argv) { } reg_t kRestoreGame(EngineState *s, int funct_nr, int argc, reg_t *argv) { - char *game_id = kernel_dereference_char_pointer(s, argv[0], 0); + char *game_id = kernel_dereference_char_pointer(s->segmentManager, argv[0], 0); int savedir_nr = argv[1].toUint16(); debug(3, "kRestoreGame(%s,%d)", game_id, savedir_nr); @@ -677,7 +677,7 @@ reg_t kRestoreGame(EngineState *s, int funct_nr, int argc, reg_t *argv) { } reg_t kValidPath(EngineState *s, int funct_nr, int argc, reg_t *argv) { - const char *path = kernel_dereference_char_pointer(s, argv[0], 0); + const char *path = kernel_dereference_char_pointer(s->segmentManager, argv[0], 0); // FIXME: For now, we only accept the (fake) root dir "/" as a valid path. s->r_acc = make_reg(0, 0 == strcmp(path, "/")); @@ -728,7 +728,7 @@ void DirSeeker::nextFile() { return; } - char *mem = kernel_dereference_char_pointer(_vm, _outbuffer, 0); + char *mem = kernel_dereference_char_pointer(_vm->segmentManager, _outbuffer, 0); memset(mem, 0, 13); // TODO: Transform the string back into a format usable by the SCI scripts. @@ -749,7 +749,7 @@ reg_t kFileIO(EngineState *s, int funct_nr, int argc, reg_t *argv) { switch (func_nr) { case K_FILEIO_OPEN : { - char *name = kernel_dereference_char_pointer(s, argv[1], 0); + char *name = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); int mode = argv[2].toUint16(); file_open(s, name, mode); @@ -765,7 +765,7 @@ reg_t kFileIO(EngineState *s, int funct_nr, int argc, reg_t *argv) { } case K_FILEIO_READ_RAW : { int handle = argv[1].toUint16(); - char *dest = kernel_dereference_char_pointer(s, argv[2], 0); + char *dest = kernel_dereference_char_pointer(s->segmentManager, argv[2], 0); int size = argv[3].toUint16(); debug(3, "K_FILEIO_READ_RAW(%d,%d)", handle, size); @@ -774,7 +774,7 @@ reg_t kFileIO(EngineState *s, int funct_nr, int argc, reg_t *argv) { } case K_FILEIO_WRITE_RAW : { int handle = argv[1].toUint16(); - char *buf = kernel_dereference_char_pointer(s, argv[2], 0); + char *buf = kernel_dereference_char_pointer(s->segmentManager, argv[2], 0); int size = argv[3].toUint16(); debug(3, "K_FILEIO_WRITE_RAW(%d,%d)", handle, size); @@ -782,7 +782,7 @@ reg_t kFileIO(EngineState *s, int funct_nr, int argc, reg_t *argv) { break; } case K_FILEIO_UNLINK : { - char *name = kernel_dereference_char_pointer(s, argv[1], 0); + char *name = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); debug(3, "K_FILEIO_UNLINK(%s)", name); Common::SaveFileManager *saveFileMan = g_engine->getSaveFileManager(); @@ -793,7 +793,7 @@ reg_t kFileIO(EngineState *s, int funct_nr, int argc, reg_t *argv) { break; } case K_FILEIO_READ_STRING : { - char *dest = kernel_dereference_char_pointer(s, argv[1], 0); + char *dest = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); int size = argv[2].toUint16(); int handle = argv[3].toUint16(); debug(3, "K_FILEIO_READ_STRING(%d,%d)", handle, size); @@ -804,7 +804,7 @@ reg_t kFileIO(EngineState *s, int funct_nr, int argc, reg_t *argv) { case K_FILEIO_WRITE_STRING : { int handle = argv[1].toUint16(); int size = argv[3].toUint16(); - char *buf = kernel_dereference_char_pointer(s, argv[2], size); + char *buf = kernel_dereference_char_pointer(s->segmentManager, argv[2], size); debug(3, "K_FILEIO_WRITE_STRING(%d,%d)", handle, size); // FIXME: What is the difference between K_FILEIO_WRITE_STRING and @@ -825,7 +825,7 @@ reg_t kFileIO(EngineState *s, int funct_nr, int argc, reg_t *argv) { break; } case K_FILEIO_FIND_FIRST : { - char *mask = kernel_dereference_char_pointer(s, argv[1], 0); + char *mask = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); reg_t buf = argv[2]; int attr = argv[3].toUint16(); // We won't use this, Win32 might, though... debug(3, "K_FILEIO_FIND_FIRST(%s,0x%x)", mask, attr); @@ -844,7 +844,7 @@ reg_t kFileIO(EngineState *s, int funct_nr, int argc, reg_t *argv) { break; } case K_FILEIO_FILE_EXISTS : { - char *name = kernel_dereference_char_pointer(s, argv[1], 0); + char *name = kernel_dereference_char_pointer(s->segmentManager, argv[1], 0); // Check for regular file bool exists = Common::File::exists(name); |