Posted by R.Stone on March 07, 2000 at 22:44:36:
In reply to: http://anon.free.anonymizer.com/Re: TRviewer posted by E.Popov on March 07, 2000 at 16:58:39:
> Yes, but because of the behaviour pb, we can't just replace a mesh by any
> other: the new mesh should have a similar behaviour than the replaced mesh.
It's not the mesh that triggers the behaviour, it's the ObjectID (Item
Identifier). The AI is based upon these indices. If one were to copy a
monkey from one level to another, one would need to copy not only the related
Meshes, Animations, StateChanges, AnimDispatches, and MeshTrees; one would
also want to copy the ObjectID, so that the behaviour would follow the mesh.
If one were to simply change the ObjectID and leave the meshes alone, the
behaviour would change (and possibly crash the game, if the number of states
did not match correctly).
Note that the ObjectIDs change between TR versions, so that a boulder in
TR1 would be something completely different in TR2; this is one of the main
problems in writing a level converter (wouldn't it be nice to play TR1 levels
using the TR2 or TR3 engine?). Another is that some behaviours are simply
hard-coded (e.g. the dragon in TR2 requires 2 specific moveables, and is rather
limited in its capabilities; in TR1, Pierre can't be killed until a certain
point in the game, TR1 has the "mirror image mutant Lara" that seems to be
hard-coded, etc.). I believe that a complete level-translation utility is
impossible; however, certain levels could possibly be translated in a manner
sufficient to play (assuming that the internal state numbers don't vary too
much - I haven't looked at this yet).
--R.Stone