Subject says it all.  FreeSCI goes into a infinite loop in
script_init_engine().  Relevant debugging info below.  Let me know if you
need more info.

/Chris

Output from FreeSCI
FreeSCI 0.2.6 Copyright (C) 1999, 2000 Dmitry Jemerov, Christopher T.
Lansdown,
Sergey Lapin, Rickard Lind, Carl Muckenhoupt, Christoph Reichenbach,
Magnus Reftel, Rink Springer
This program is free software. You can copy and/or modify it freely
according to the terms of the GNU general public license, v2.0
or any later version, at your option.
It comes with ABSOLUTELY NO WARRANTY.
Loading resources...
No patches found.
SCI resources loaded.
Mapping instruments to General Midi
No patch.001 found: using default MT-32 mapping magic!
FreeSCI, version 0.2.6

gdb attached:
[cbkehler@erwin][~]$ gdb `which sciv` `pidof sciv`

/home/cbkehler/14123: No such file or directory.
Attaching to program `/usr/local/bin/sciv', Pid 14123
Reading symbols from /opt/gtk+/lib/libglib-1.2.so.0...done.
Reading symbols from /lib/libm.so.6...done.
Reading symbols from /opt/ggi/lib/libggi.so.2...done.
Reading symbols from /opt/ggi/lib/libgii.so.0...done.
Reading symbols from /opt/ggi/lib/libgg.so.0...done.
Reading symbols from /usr/lib/libreadline.so.3...done.
Reading symbols from /usr/lib/libpng.so.2...done.
Reading symbols from /usr/lib/libncurses.so.4...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /lib/libdl.so.2...done.
Reading symbols from /lib/libtermcap.so.2...done.
Reading symbols from /usr/local/lib/libz.so.1...done.
Reading symbols from /lib/ld-linux.so.2...done.
0x8053440 in script_init_engine (s=0x83e75e0, version=0) at game.c:256
256                 if (objtype == sci_obj_class || objtype ==
sci_obj_terminator) 
(gdb) bt
#0  0x8053440 in script_init_engine (s=0x83e75e0, version=0) at game.c:256
#1  0x804d0e8 in main (argc=1, argv=0xbffff4e4) at main.c:369
(gdb) info locals
objtype = 3
script = (struct resource_struct *) 0x83e6018
vocab996 = (struct resource_struct *) 0x83e7538
i = 1075063824
scriptnr = 40
seeker = 24
classnr = 42
size = 3
script = (struct resource_struct *) 0x400f5ab8
magic_offset = 0
(gdb)  p *script
$1 = {
  number = 40, 
  type = 2, 
  id = 4136, 
  length = 1174, 
  data = 0x8283a50 "\003", 
  status = 0 '\000'
}
(gdb) p *vocab996
$2 = {
  number = 996, 
  type = 6, 
  id = 13284, 
  length = 232, 
  data = 0x80df8b0 "", 
  status = 0 '\000'
}
(gdb)  list
251           do {
252     
253             while (seeker < script->length)
254               {
255                 objtype = getInt16(script->data + seeker);
256                 if (objtype == sci_obj_class || objtype ==
sci_obj_terminator) 
257                   break;
258                 seeker += getInt16(script->data + seeker + 2);
259               }
260             
(gdb) quit





Reply via email to