From 2590511c7d90ea408df1a5ef92e17154d1b38c31 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sat, 23 May 2009 10:22:27 +0000 Subject: [PATCH] Turned some errors into warnings, as they occur in KQ5CD svn-id: r40804 --- engines/sci/engine/kmisc.cpp | 6 ++++-- engines/sci/engine/seg_manager.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp index 8c1bddff526..da3f9f2e08b 100644 --- a/engines/sci/engine/kmisc.cpp +++ b/engines/sci/engine/kmisc.cpp @@ -200,7 +200,8 @@ reg_t kMemory(EngineState *s, int funct_nr, int argc, reg_t *argv) { byte *ref = kernel_dereference_bulk_pointer(s, argv[1], 2); if (!ref) { - error("Attempt to poke invalid memory at %04x:%04x!\n", PRINT_REG(argv[1])); + // This occurs in KQ5CD when interacting with certain objects + warning("Attempt to poke invalid memory at %04x:%04x!\n", PRINT_REG(argv[1])); return s->r_acc; } if (s->seg_manager->_heap[argv[1].segment]->getType() == MEM_OBJ_LOCALS) @@ -213,7 +214,8 @@ reg_t kMemory(EngineState *s, int funct_nr, int argc, reg_t *argv) { byte *ref = kernel_dereference_bulk_pointer(s, argv[1], 2); if (!ref) { - error("Attempt to poke invalid memory at %04x:%04x!\n", PRINT_REG(argv[1])); + // This occurs in KQ5CD when interacting with certain objects + warning("Attempt to poke invalid memory at %04x:%04x!\n", PRINT_REG(argv[1])); return s->r_acc; } diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp index 03baafd5ece..99f067c7048 100644 --- a/engines/sci/engine/seg_manager.cpp +++ b/engines/sci/engine/seg_manager.cpp @@ -982,13 +982,15 @@ byte *SystemStrings::dereference(reg_t pointer, int *size) { if (pointer.offset < SYS_STRINGS_MAX && strings[pointer.offset].name) return (byte *)(strings[pointer.offset].value); - error("Attempt to dereference invalid pointer %04x:%04x", PRINT_REG(pointer)); + // This occurs in KQ5CD when interacting with certain objects + warning("Attempt to dereference invalid pointer %04x:%04x", PRINT_REG(pointer)); return NULL; } byte *SegManager::dereference(reg_t pointer, int *size) { if (!pointer.segment || (pointer.segment >= _heap.size()) || !_heap[pointer.segment]) { - error("Attempt to dereference invalid pointer %04x:%04x", PRINT_REG(pointer)); + // This occurs in KQ5CD when interacting with certain objects + warning("Attempt to dereference invalid pointer %04x:%04x", PRINT_REG(pointer)); return NULL; /* Invalid */ }