On Thu, 29 Nov 2001, Christoph Reichenbach wrote:

> > Where do I go from here for further debugging?
>
> First, let me formulate a theory for the CB1 bug, please (can't think of
> any relevance of this change wrt the PQ2 one):
> Since this changed the behaviour of dynview collissions, it appears likely
> that Laura collides with one of the two guys who just moved inside the
> house. This can be checked by turning on the debuglog for bresenham,
> watching what Laura collides with, and getting the object's name, getting
> its position and flags and, if the theory is correct so far, comparing
> these values to Sierra SCI's values in the same scene (not waiting for
> Laura to halt, of course- the obstacle's values should remain constant as
> soon as its mover has finished, which should happen even before Laura
> comes near the door).

I'm not exactly sure what to make of the debug output, but here goes...

The last collision check is:
" kernel: (E:\src\freesci\src\engine\kgraphics.c L738): Checking
collision: (150,
129) to (17,2) ([150..167]x[119..121]), obj=0684, sig=6c02, cliplist=7924
 kernel: (E:\src\freesci\src\engine\kgraphics.c L747): edgehit = 0012
 kernel: (E:\src\freesci\src\engine\kgraphics.c L760): Checking vs
dynviews:
 kernel: (E:\src\freesci\src\engine\kgraphics.c L691): OtherSignal=008a,
z=0080
obj=9ca4
 kernel: (E:\src\freesci\src\engine\kgraphics.c L710):  (no)
 kernel: (E:\src\freesci\src\engine\kgraphics.c L691): OtherSignal=009a,
z=0080
obj=8f46
 kernel: (E:\src\freesci\src\engine\kgraphics.c L710):  (no)
 kernel: (E:\src\freesci\src\engine\kgraphics.c L691): OtherSignal=009a,
z=0080
obj=8f94
 kernel: (E:\src\freesci\src\engine\kgraphics.c L710):  (no)
 kernel: (E:\src\freesci\src\engine\kgraphics.c L691): OtherSignal=0002,
z=0000
obj=8ee2
 kernel: (E:\src\freesci\src\engine\kgraphics.c L697):   against (181,116)
to (2
00,118)
 kernel: (E:\src\freesci\src\engine\kgraphics.c L710):  (no)
 kernel: (E:\src\freesci\src\engine\kgraphics.c L691): OtherSignal=0002,
z=0000
obj=8e7e
 kernel: (E:\src\freesci\src\engine\kgraphics.c L697):   against (167,116)
to (1
88,120)
 kernel: (E:\src\freesci\src\engine\kgraphics.c L710):  (no)
 kernel: (E:\src\freesci\src\engine\kgraphics.c L691): OtherSignal=4010,
z=4000
obj=8ca0
 kernel: (E:\src\freesci\src\engine\kgraphics.c L710):  (no)
 kernel: (E:\src\freesci\src\engine\kgraphics.c L691): OtherSignal=4002,
z=4000
obj=8cf2
 kernel: (E:\src\freesci\src\engine\kgraphics.c L710):  (no)
 kernel: (E:\src\freesci\src\engine\kgraphics.c L691): OtherSignal=4002,
z=4000
obj=8d40
 kernel: (E:\src\freesci\src\engine\kgraphics.c L710):  (no)
 kernel: (E:\src\freesci\src\engine\kgraphics.c L772):  -> 4000"

heapobj on 0x8d40 shows:

"Object Splash2
Species=2222, Superclass=2222
Local variables @ 0x90b6
Variable selectors:
  species[0000] = 2222 %Prop
  superClass[0001] = 2222 %Prop
  -info-[0002] = 0000 (0)
  name[0017] = 9063 Warning: Unaligned unsigned read from 9063

  y[0003] = 00b6 (182)
  x[0004] = 00b7 (183)
  z[0055] = 0000 (0)
  heading[003a] = 0000 (0)
  yStep[0037] = 0002 (2)
  view[0005] = 0001 (1)
  loop[0006] = 0006 (6)
  cel[0007] = 0006 (6)
  priority[003f] = 000e (14)
  underBits[0008] = 0000 (0)
  signal[0011] = 4002
  nsTop[0009] = 00b6 (182)
  nsLeft[000a] = 00b7 (183)
  nsBottom[000b] = 00b7 (183)
  nsRight[000c] = 00b8 (184)
  lsTop[000d] = 0000 (0)
  lsLeft[000e] = 0000 (0)
  lsBottom[000f] = 0000 (0)
  lsRight[0010] = 0000 (0)
  brTop[0013] = 00b5 (181)
  brLeft[0014] = 00b0 (176)
  brBottom[0015] = 00b7 (183)
  brRight[0016] = 00bf (191)
  cycleSpeed[00a4] = 0000 (0)
  script[0076] = 0000 (0)
  cycler[00a5] = 0000 (0)
  timer[0071] = 0000 (0)

-- View information:
cel 1/6/6 at (183,182,0)
Priority = 14 (band starts at 180)

nsRect: [183..184]x[182..183]
lsRect: [0..0]x[0..0]
brRect: [176..191]x[181..183]
new nsRect: [183..184]x[182..183]
new clipped nsRect: [183..184]x[182..183]
new brRect: [183..184]x[181..183]

 signals = 4002:
  0002: updated
  4000: ignore_actor"

There are differences in this object (Splash2) between FreeSCI and Sierra
SCI. The different values are (var: Original SCI, Freesci):

lsTop: 182, 0
lsLeft: 183, 0
lsBottom: 183, 0
lsRight: 184, 0


So, the values for lsRect in FreeSCI are zero'd for some reason. Once
again, I ask the question.. where do I go from here? Should I try and
verify the PQ2 bug in the same way, or is this enough information to
formulate a fix?

Thanks for the help, I'm learning a great deal in this exercise :)


--
http://www.clock.org/~matt



Reply via email to