[Scummvm-devel] Re: [Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.150,1.151 script_v5.cpp,1.147,1.148 scummvm.cpp,2.323,2.324
Max Horn
max at quendi.de
Sat Aug 23 08:37:08 CEST 2003
Am Dienstag, 12.08.03 um 18:43 Uhr schrieb Torbj?rn Andersson:
> Update of /cvsroot/scummvm/scummvm/scumm
> In directory sc8-pr-cvs1:/tmp/cvs-serv4899
>
> Modified Files:
> actor.cpp script_v5.cpp scummvm.cpp
> Log Message:
> Allowed derefActor() and derefActorSafe() to treat actor 0 as a valid
> actor
> since the original interpreters appear to have allowed it. This fixes
> bug
> #786380 ("FOA - FISTS, script crash in Crete").
>
IMHO that is a far to broad change. I have to look at that bug report
before I can form my final opinion, but right now I am thinking "gee
let's undo this change ASAP"
> I do not know what the purpose of actor 0 was in the original. Either
> it's
> a no-op, or it's used to store actor default values.
I know of exactly one "legal" use of actor 0: the default actor talk
color is set by the actor-set opcode, specifying actor 0. All other
occurrences are most likely to be caused by a script bug. Note that in
the past we discovered several script & ScummVM bugs via this check.
Each of them had to be fixed separately. One could argue that it's
easier to just allow actor 0 and hope that by ignoring it, we do the
right thing. But I think that's a bad idea. In fact, we did just this
in the past, and it caused lots and lots of headaches with regards to
save game compatibility, etc..
Max
More information about the Scummvm-devel
mailing list