From dbe561c59b61f40459ed2b4602457308e0426269 Mon Sep 17 00:00:00 2001 From: Lars Skovlund Date: Sun, 30 May 2010 10:27:39 +0000 Subject: Clarify reasoning behind hack in Script::scriptRelocate() svn-id: r49320 --- engines/sci/engine/segment.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'engines/sci') diff --git a/engines/sci/engine/segment.cpp b/engines/sci/engine/segment.cpp index 7e7da81125..8267de76bd 100644 --- a/engines/sci/engine/segment.cpp +++ b/engines/sci/engine/segment.cpp @@ -270,8 +270,14 @@ void Script::scriptRelocate(reg_t block) { for (int i = 0; i <= count; i++) { int pos = READ_SCI11ENDIAN_UINT16(_buf + block.offset + 2 + (i * 2)); + // This occurs in SCI01/SCI1 games where every other export + // value is zero. I have no idea what it's supposed to mean. + // + // Yes, there is code in the original to handle this situation, + // but we need an example of it happening in order to determine + // what to do. if (!pos) - continue; // FIXME: A hack pending investigation + continue; // FIXME: Just ignore it for now. if (!relocateLocal(block.segment, pos)) { bool done = false; -- cgit v1.2.3