$ ./tracekey.py DescentMystV_District_dsntFootRgns.prp plAudioInterface MusicEmitter
MusicEmitter [plAudioInterface]
Region.004_SndRgn [plResponderModifier]
Region.004 [plSceneObject]
DescentMystV_District_FootRgns [plSceneNode]
CaveStep05.001 [plSceneObject]
CaveStep05.001 [plCoordinateInterface]
CaveStep05.001 [plSimulationInterface]
CaveStep05coll [plSceneObject]
CaveStep05coll [plSimulationInterface]
Cylinder [plSceneObject]
Cylinder [plCoordinateInterface]
Cylinder [plSimulationInterface]
Cylinder.001 [plSceneObject]
Cylinder.001 [plCoordinateInterface]
Cylinder.001 [plSimulationInterface]
DesertRockSmall05coll [plSceneObject]
DesertRockSmall05coll [plSimulationInterface]
DesertRockSmall07coll [plSceneObject]
DesertRockSmall07coll [plSimulationInterface]
DesertRockSmall08coll [plSceneObject]
DesertRockSmall08coll [plSimulationInterface]
DesertRockSmall09coll [plSceneObject]
DesertRockSmall09coll [plSimulationInterface]
DesertRockSmall10coll [plSceneObject]
DesertRockSmall10coll [plSimulationInterface]
DesertRockSmall12.001 [plSceneObject]
DesertRockSmall12.001 [plSimulationInterface]
DesertRockSmall13coll [plSceneObject]
DesertRockSmall13coll [plSimulationInterface]
DesertRockSmall14coll [plSceneObject]
DesertRockSmall14coll [plSimulationInterface]
DesertRockSmall18coll [plSceneObject]
DesertRockSmall18coll [plSimulationInterface]
DesertRockSmall19coll [plSceneObject]
DesertRockSmall19coll [plSimulationInterface]
DesertRockSmall22coll [plSceneObject]
DesertRockSmall22coll [plSimulationInterface]
EntrFtStp [plSceneObject]
EntrFtStp [plCoordinateInterface]
EntrFtStp [plSimulationInterface]
FootStepRgn [plSceneObject]
FootStepRgn [plCoordinateInterface]
FootStepRgn [plSimulationInterface]
FootStepRgn.001 [plSceneObject]
FootStepRgn.001 [plCoordinateInterface]
FootStepRgn.001 [plSimulationInterface]
FootStepRgn.002 [plSceneObject]
FootStepRgn.002 [plCoordinateInterface]
FootStepRgn.002 [plSimulationInterface]
FootStepRgn.003 [plSceneObject]
FootStepRgn.003 [plCoordinateInterface]
FootStepRgn.003 [plSimulationInterface]
FootStepRgn.004 [plSceneObject]
FootStepRgn.004 [plCoordinateInterface]
FootStepRgn.004 [plSimulationInterface]
FootStepRgn.005 [plSceneObject]
FootStepRgn.005 [plCoordinateInterface]
FootStepRgn.005 [plSimulationInterface]
FootStepRgn.006 [plSceneObject]
FootStepRgn.006 [plCoordinateInterface]
FootStepRgn.006 [plSimulationInterface]
FootStepRgn.007 [plSceneObject]
FootStepRgn.007 [plCoordinateInterface]
FootStepRgn.007 [plSimulationInterface]
FootStepRgn.008 [plSceneObject]
FootStepRgn.008 [plCoordinateInterface]
FootStepRgn.008 [plSimulationInterface]
FootStepRgn.009 [plSceneObject]
FootStepRgn.009 [plCoordinateInterface]
FootStepRgn.009 [plSimulationInterface]
FootStepRgn.010 [plSceneObject]
FootStepRgn.010 [plCoordinateInterface]
FootStepRgn.010 [plSimulationInterface]
FootStepRgn.011 [plSceneObject]
FootStepRgn.011 [plCoordinateInterface]
FootStepRgn.011 [plSimulationInterface]
FootStepRgn.012 [plSceneObject]
FootStepRgn.012 [plCoordinateInterface]
FootStepRgn.012 [plSimulationInterface]
FootStepRgn.013 [plSceneObject]
FootStepRgn.013 [plCoordinateInterface]
FootStepRgn.013 [plSimulationInterface]
FootStepRgn.014 [plSceneObject]
FootStepRgn.014 [plCoordinateInterface]
FootStepRgn.014 [plSimulationInterface]
FootStepRgn.015 [plSceneObject]
FootStepRgn.015 [plCoordinateInterface]
FootStepRgn.015 [plSimulationInterface]
FootStepRgn.016 [plSceneObject]
FootStepRgn.016 [plCoordinateInterface]
FootStepRgn.016 [plSimulationInterface]
FootStepRgn.017 [plSceneObject]
FootStepRgn.017 [plCoordinateInterface]
FootStepRgn.017 [plSimulationInterface]
FootStepRgn.018 [plSceneObject]
FootStepRgn.018 [plCoordinateInterface]
FootStepRgn.018 [plSimulationInterface]
FootStepRgn.019 [plSceneObject]
FootStepRgn.019 [plCoordinateInterface]
FootStepRgn.019 [plSimulationInterface]
FootStepRgn.020 [plSceneObject]
FootStepRgn.020 [plCoordinateInterface]
FootStepRgn.020 [plSimulationInterface]
Handle Collider [plSceneObject]
Handle Collider [plSimulationInterface]
Handle Collider.001 [plSceneObject]
Handle Collider.001 [plSimulationInterface]
Ladder [plSceneObject]
Ladder [plCoordinateInterface]
Ladder [plSimulationInterface]
LwrTunlFtstp [plSceneObject]
LwrTunlFtstp [plCoordinateInterface]
LwrTunlFtstp [plSimulationInterface]
LwrTunlFtstp.001 [plSceneObject]
LwrTunlFtstp.001 [plCoordinateInterface]
LwrTunlFtstp.001 [plSimulationInterface]
LwrTunlFtstp.002 [plSceneObject]
LwrTunlFtstp.002 [plCoordinateInterface]
LwrTunlFtstp.002 [plSimulationInterface]
RefGeo02.001 [plSceneObject]
RefGeo02.001 [plSimulationInterface]
Region [plSceneObject]
Region [plSimulationInterface]
Region.001 [plSceneObject]
Region.001 [plSimulationInterface]
RestFtstp [plSceneObject]
RestFtstp [plCoordinateInterface]
RestFtstp [plSimulationInterface]
Rock115coll [plSceneObject]
Rock115coll [plSimulationInterface]
Rock118.001 [plSceneObject]
Rock118.001 [plSimulationInterface]
Rock121.001 [plSceneObject]
Rock121.001 [plSimulationInterface]
Rock129.001 [plSceneObject]
Rock129.001 [plSimulationInterface]
Rock129.002 [plSceneObject]
Rock129.002 [plSimulationInterface]
RungRgn [plSceneObject]
RungRgn [plCoordinateInterface]
RungRgn [plSimulationInterface]
RungRgn.001 [plSceneObject]
RungRgn.001 [plCoordinateInterface]
RungRgn.001 [plSimulationInterface]
RungRgn.002 [plSceneObject]
RungRgn.002 [plCoordinateInterface]
RungRgn.002 [plSimulationInterface]
SfxRegSenDsnt-Stone [plSceneObject]
SfxRegSenDsnt-Stone [plCoordinateInterface]
SfxRegSenDsnt-Stone [plSimulationInterface]
SfxRegSenFeet-Stone [plSceneObject]
SfxRegSenFeet-Stone [plCoordinateInterface]
SfxRegSenFeet-Stone [plSimulationInterface]
ShaftFtstp [plSceneObject]
ShaftFtstp [plCoordinateInterface]
ShaftFtstp [plSimulationInterface]
TunnelFtstp [plSceneObject]
TunnelFtstp [plCoordinateInterface]
TunnelFtstp [plSimulationInterface]
TunnelFtstp.001 [plSceneObject]
TunnelFtstp.001 [plCoordinateInterface]
TunnelFtstp.001 [plSimulationInterface]
TunnelFtstp.002 [plSceneObject]
TunnelFtstp.002 [plCoordinateInterface]
TunnelFtstp.002 [plSimulationInterface]
TunnelFtstp.003 [plSceneObject]
TunnelFtstp.003 [plCoordinateInterface]
TunnelFtstp.003 [plSimulationInterface]
TunnelFtstp.004 [plSceneObject]
TunnelFtstp.004 [plCoordinateInterface]
TunnelFtstp.004 [plSimulationInterface]
UpperTunlFtstp [plSceneObject]
UpperTunlFtstp [plCoordinateInterface]
UpperTunlFtstp [plSimulationInterface]
UpperTunlFtstp.001 [plSceneObject]
UpperTunlFtstp.001 [plCoordinateInterface]
UpperTunlFtstp.001 [plSimulationInterface]
VolcanoFtstp [plSceneObject]
VolcanoFtstp [plCoordinateInterface]
VolcanoFtstp [plSimulationInterface]
VolcanoFtstp.001 [plSceneObject]
VolcanoFtstp.001 [plCoordinateInterface]
VolcanoFtstp.001 [plSimulationInterface]
VolcanoFtstp.002 [plSceneObject]
VolcanoFtstp.002 [plCoordinateInterface]
VolcanoFtstp.002 [plSimulationInterface]
VolcanoFtstp.003 [plSceneObject]
VolcanoFtstp.003 [plCoordinateInterface]
VolcanoFtstp.003 [plSimulationInterface]
VolcanoFtstp.004 [plSceneObject]
VolcanoFtstp.004 [plCoordinateInterface]
VolcanoFtstp.004 [plSimulationInterface]
VolcanoFtstp.005 [plSceneObject]
VolcanoFtstp.005 [plCoordinateInterface]
VolcanoFtstp.005 [plSimulationInterface]
WaterRgn [plSceneObject]
WaterRgn [plCoordinateInterface]
WaterRgn [plSimulationInterface]
WaterRgn.002 [plSceneObject]
WaterRgn.002 [plCoordinateInterface]
WaterRgn.002 [plSimulationInterface]
Region.004 [plCoordinateInterface]
Region.004 [plSimulationInterface]
Ok, that is about what I thought, too, but it took me a while to figure that out1) What you're seeing here is that some of libPlasma's header's have changed between builds; PrpShop will need to be re-linked when this happens, or it will cause the crashes you see. Sometimes I also make changes that will require libPlasma to be mostly rebuilt, but unfortunately I'm too lazy to get all of the header dependancy sorted out on the Linux and OSX makefiles, so doing a make clean when things break is usually the easiest way to fix that ^_^. The Windows project files will (usually) automatically rebuild dependancies though, so it's less of a worry.
The output seems to confirm what I already feared - if you remove one object and everything it references to and is referenced by, you end up removing the whole prp file since the plSceneNode references each plSceneObject (and perhaps the other way round, too). Of course one could stop doing recursion when you hit a plSceneNode and just remove the reference to the plSceneObject you removed, but I'm not sure if hardcoding something like that is a good idea. I will test your script as soon as you think it can be released2) I'm working on a key reference tracer script in Python (PyPlasma) which should help find those lingering key references. Unfortunately, there are still a lot of classes not exposed to PyPlasma, but so far it's working pretty well... For example, on the file you sent me, tracing the (deleted) audio interface produces this dependancy tree so far:
ImportError: No module named PyPlasma
I don't have such a file anywhere in my Plasma directory, all I got is a PyPlasma.so in the bin/ directory, and executing the Python script in there still gives me the same error. Renaming it doesn't help (I didn't expect it to, anyway ) . Do I have to specify some make arguments or something like that for it to be built?Have the .py script in the same dir as PyPlasma.pyd.
Users browsing this forum: No registered users and 2 guests