Author Topic: ►►►m.dts Sequences  (Read 1321 times)

A handy reference for those creating playertypes, or just messing with DSQs (e.g. DSQTweaker, Blender, etc.) for the "m.dts".
Quote
new TSShapeConstructor(mDts) {
   baseShape = "base/data/shapes/player/m.dts";
   sequence0 = "base/data/shapes/player/m_root.dsq root";
   sequence1 = "base/data/shapes/player/m_run.dsq run";
   sequence2 = "base/data/shapes/player/m_run.dsq walk";
   sequence3 = "base/data/shapes/player/m_back.dsq back";
   sequence4 = "base/data/shapes/player/m_side.dsq side";
   sequence5 = "base/data/shapes/player/m_crouch.dsq crouch";
   sequence6 = "base/data/shapes/player/m_crouchRun.dsq crouchRun";
   sequence7 = "base/data/shapes/player/m_crouchBack.dsq crouchBack";
   sequence8 = "base/data/shapes/player/m_crouchSide.dsq crouchSide";
   sequence9 = "base/data/shapes/player/m_look.dsq look";
   sequence10 = "base/data/shapes/player/m_headSide.dsq headside";
   sequence11 = "base/data/shapes/player/m_headup.dsq headUp";
   sequence12 = "base/data/shapes/player/m_standjump.dsq jump";
   sequence13 = "base/data/shapes/player/m_standjump.dsq standjump";
   sequence14 = "base/data/shapes/player/m_fall.dsq fall";
   sequence15 = "base/data/shapes/player/m_root.dsq land";
   sequence16 = "base/data/shapes/player/m_armAttack.dsq armAttack";
   sequence17 = "base/data/shapes/player/m_armReadyLeft.dsq armReadyLeft";
   sequence18 = "base/data/shapes/player/m_armReadyRight.dsq armReadyRight";
   sequence19 = "base/data/shapes/player/m_armReadyBoth.dsq armReadyBoth";
   sequence20 = "base/data/shapes/player/m_spearReady.dsq spearready";
   sequence21 = "base/data/shapes/player/m_spearThrow.dsq spearThrow";
   sequence22 = "base/data/shapes/player/m_talk.dsq talk";
   sequence23 = "base/data/shapes/player/m_death1.dsq death1";
   sequence24 = "base/data/shapes/player/m_shiftUp.dsq shiftUp";
   sequence25 = "base/data/shapes/player/m_shiftDown.dsq shiftDown";
   sequence26 = "base/data/shapes/player/m_shiftAway.dsq shiftAway";
   sequence27 = "base/data/shapes/player/m_shiftTo.dsq shiftTo";
   sequence28 = "base/data/shapes/player/m_shiftLeft.dsq shiftLeft";
   sequence29 = "base/data/shapes/player/m_shiftRight.dsq shiftRight";
   sequence30 = "base/data/shapes/player/m_rotCW.dsq rotCW";
   sequence31 = "base/data/shapes/player/m_rotCCW.dsq rotCCW";
   sequence32 = "base/data/shapes/player/m_undo.dsq undo";
   sequence33 = "base/data/shapes/player/m_plant.dsq plant";
   sequence34 = "base/data/shapes/player/m_sit.dsq sit";
   sequence35 = "base/data/shapes/player/m_wrench.dsq wrench";
   sequence36 = "base/data/shapes/player/m_activate.dsq activate";
   sequence37 = "base/data/shapes/player/m_activate2.dsq activate2";
   sequence38 = "base/data/shapes/player/m_leftrecoil.dsq leftrecoil";
};
Also, as you can see, the bold is also a reference of what you can use with "playthread".
« Last Edit: January 30, 2010, 01:57:24 PM by KoopaScooper »


Could I do something like this?
Code: [Select]
sequence5634 = "./lol.dsq lol";And then call it back like so?
Code: [Select]
%mount.playThread(0, lol);

Could I do something like this?
Code: [Select]
sequence5634 = "./lol.dsq lol";And then call it back like so?
Code: [Select]
%mount.playThread(0, lol);
Yes. I believe so.
Code: [Select]
new TSShapeConstructor(mDts) {
   //other sequences
   sequence39 = "./test.dsq sequenceName";
}

Heed asked just what i needed. :D

Yes. I believe so.
Code: [Select]
new TSShapeConstructor(mDts) {
   //other sequences
   sequence39 = "./test.dsq sequenceName";
}

The TSShapeConstructor must be fully created and loaded before any datablock using that shape is created.

Therefore, you cannot do this unless you make a copy of the default model into an add-on and rename it, make the TSShapeConstructor datablock, THEN the player datablock.

Don't forget the brick textures.

Therefore, you cannot do this unless you make a copy of the default model into an add-on and rename it, make the TSShapeConstructor datablock, THEN the player datablock.
Well actually, you could create a new TSShapeConstructor, inherit from the old one, with your new sequences and it should work fine.

Or you could just be referencing the m.dts directly (ie with a full path, base/shapes/whatever it was) along with all its sequences this way and just add the new sequences into it.

Actually replacing the original TSShapeConstructor however is probably not possible. I dunno if it would let you delete and recreate it. Or when it's loaded.

Well actually, you could create a new TSShapeConstructor, inherit from the old one, with your new sequences and it should work fine.

Or you could just be referencing the m.dts directly (ie with a full path, base/shapes/whatever it was) along with all its sequences this way and just add the new sequences into it.

Actually replacing the original TSShapeConstructor however is probably not possible. I dunno if it would let you delete and recreate it. Or when it's loaded.
Things I have tried:
-Adding sequences to the original one.
 Test failed.
-Deleting and recreating the original one.
 Test failed.
-Copying the player shape files along with everything else into a separate add-on and then made a new TSShapeConstructor and Player datablock in that order.
 Test success.

Things I have tried:
-Adding sequences to the original one.
 Test failed.
-Deleting and recreating the original one.
 Test failed.
-Copying the player shape files along with everything else into a separate add-on and then made a new TSShapeConstructor and Player datablock in that order.
 Test success.
There is no need to copy all the shape files if you're doing this. Just use an absolute reference to it or even parent to the original mDts if you're only adding sequences or something.
With inheritance you should just be able to do this:
Code: [Select]
new TSShapeConstructor(foxDts : mDts)
{
   sequence39 = "./animation.dsq barrelroll";
};

If you repack it all over again then people will have to download the model, and it comes with the game so why should they have to download it?

There is no need to copy all the shape files if you're doing this. Just use an absolute reference to it or even parent to the original mDts if you're only adding sequences or something.
With inheritance you should just be able to do this:
Code: [Select]
new TSShapeConstructor(foxDts : mDts)
{
   sequence39 = "./animation.dsq barrelroll";
};

If you repack it all over again then people will have to download the model, and it comes with the game so why should they have to download it?
Wouldn't doing so not work as the TSShapeConstructor needs to be created before the model is even used once?

Pictures of model PLEASE

Pictures of model PLEASE
Excuse me, are you a moron?
m.dts is the Blockhead model that comes with the game.