Fixed by lskovlun in rev 54150. From his comments on the issue:
"This is an interesting bug indeed. I'd say it's a compiler bug; it
happens because SCI Companion generates pushSelf instructions with the
low bit set. In some SCI versions this is a debug marker (the .file
"opcode") so we skip ahead until the next NUL byte in that case. But
in the SCI Companion case, the instruction is an actual pushSelf
instruction.
The fix is easy, but I've marked it fanmade only as this variant is
only generated by non-Sierra compilers. I'd say our interpretation is
"right" as there are other SCI tools that also fail to work with these
two games (try looking at the Circus script 999 in SCI Viewer, for
example)."
Closing
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The game enters a seemingly infinite recursion. The same happens with The Farm Nightmare.
Fixed by lskovlun in rev 54150. From his comments on the issue:
"This is an interesting bug indeed. I'd say it's a compiler bug; it
happens because SCI Companion generates pushSelf instructions with the
low bit set. In some SCI versions this is a debug marker (the .file
"opcode") so we skip ahead until the next NUL byte in that case. But
in the SCI Companion case, the instruction is an actual pushSelf
instruction.
The fix is easy, but I've marked it fanmade only as this variant is
only generated by non-Sierra compilers. I'd say our interpretation is
"right" as there are other SCI tools that also fail to work with these
two games (try looking at the Circus script 999 in SCI Viewer, for
example)."
Closing