ShowTool Pro Source Code
by Chan Chi Kit · in Artist Corner · 10/29/2005 (12:02 pm) · 1 replies
Can I have full source code of ShowTool Pro if I purchase it...?
I am going to modify the ShowTool Pro for artists or program it by myself... however, I have some problems to animation...
I tried to study player_side.dsq from the TGE SDK, I don't know what is the relation of node rotations and node translation to the keyframes of animation... How does the data in DSQ file control the vertex of 3D models...? There are 20 nodes with 8 keyframes, but have 88 rotations... In each rotation, there are 4 values, what are the meaning of these 4 values? How can it control the animation?
Besides, in the lower part of the DSQ file, there are some information about sequence. But I don't understand the meanings of values, for example, why Base Rotation = (0), why Base Translation = (0), why Base Scale = (0), why Base Object State = (25), why Base Decal State = (0)
player_side.dsq
Version = (22)
NodeSize = (20)
NameLen = 12, NodeName[0] = 'Bip01 Pelvis'
NameLen = 11, NodeName[1] = 'Bip01 Spine'
NameLen = 12, NodeName[2] = 'Bip01 Spine1'
NameLen = 12, NodeName[3] = 'Bip01 Spine2'
NameLen = 10, NodeName[4] = 'Bip01 Neck'
NameLen = 10, NodeName[5] = 'Bip01 Head'
NameLen = 16, NodeName[6] = 'Bip01 L Clavicle'
NameLen = 16, NodeName[7] = 'Bip01 L UpperArm'
NameLen = 15, NodeName[8] = 'Bip01 L Forearm'
NameLen = 12, NodeName[9] = 'Bip01 L Hand'
NameLen = 16, NodeName[10] = 'Bip01 R Clavicle'
NameLen = 16, NodeName[11] = 'Bip01 R UpperArm'
NameLen = 15, NodeName[12] = 'Bip01 R Forearm'
NameLen = 12, NodeName[13] = 'Bip01 R Hand'
NameLen = 13, NodeName[14] = 'Bip01 L Thigh'
NameLen = 12, NodeName[15] = 'Bip01 L Calf'
NameLen = 12, NodeName[16] = 'Bip01 L Foot'
NameLen = 13, NodeName[17] = 'Bip01 R Thigh'
NameLen = 12, NodeName[18] = 'Bip01 R Calf'
NameLen = 12, NodeName[19] = 'Bip01 R Foot'
A Dummy U32 = (0)
Object Size = (25)
Rotation Size = (88)
Rotation[0] = (2776, 21903, -1601, 24158)
Rotation[1] = (2454, 22512, -1686, 23621)
Rotation[2] = (2076, 22625, -1853, 23537)
Rotation[3] = (1973, 22624, -1800, 23551)
Rotation[4] = (2155, 22813, -1451, 23376)
Rotation[5] = (2285, 22669, -1315, 23511)
Rotation[6] = (1990, 22419, -1537, 23764)
Rotation[7] = (2255, 21768, -1492, 24341)
Rotation[8] = (13, 1334, -13, 32739)
Rotation[9] = (47, 737, -14, 32758)
----
TransLation Size = (32)
Translation[0] = (-0.000296, -0.018345, 1.190411)
Translation[1] = (-0.000296, -0.010174, 1.162392)
Translation[2] = (-0.000296, -0.003449, 1.156640)
Translation[3] = (-0.000296, 0.001274, 1.177746)
Translation[4] = (-0.000296, -0.007810, 1.198962)
Translation[5] = (-0.000296, -0.020151, 1.235660)
Translation[6] = (-0.000296, -0.028820, 1.262221)
Translation[7] = (-0.000296, -0.024266, 1.236372)
Translation[8] = (0.066483, -0.000119, 0.004917)
Translation[9] = (0.066637, -0.000118, 0.001928)
-----
UniformScale Size = (0)
Aligned Scales Size = (0)
Arbitrary Scale Rotation Size = (0)
groundTranSize = (1)
Ground Translation[0] = (-1.483543, -0.000000, -0.000000)
Dummy U32 = (0)Ground Rotation[0] = (0, 32767, 0, 0)
Number of Sequences = (1)
Sequence[i] Name = 'Side'
Flags = (48)
Number of Keyframes = (8)
Duration = (0.566668)
Priority = (0)
First Ground Frame = (0)
Number of Ground Frames = (1)
Base Rotation = (0)
Base Translation = (0)
Base Scale = (0)
Base Object State = (25)
Base Decal State = (0)
First Trigger = (0)
Number of Trigger (2)
Tool Begin = (0.000000)
(0) Int Set 'rotationMatter', size = (1)
rotationMatter[0] = (1032239)
(0) Int Set 'translationMatters', size = (1)
translationMatters[0] = (147459)
(0) Int Set 'scaleMatters', size = (0)
(0) Int Set 'decalMatters', size = (0)
(0) Int Set 'iflMatters', size = (0)
(0) Int Set 'visMatters', size = (0)
(0) Int Set 'frameMatters', size = (0)
(0) Int Set 'matFrameMatters', size = (0)
Number of Triggers = (2)
Trigger[0] = State (-2147483647, 'State Unknown'), Pos (0.411764)
Trigger[1] = State (-2147483646, 'State Unknown'), Pos (0.941175)
I am going to modify the ShowTool Pro for artists or program it by myself... however, I have some problems to animation...
I tried to study player_side.dsq from the TGE SDK, I don't know what is the relation of node rotations and node translation to the keyframes of animation... How does the data in DSQ file control the vertex of 3D models...? There are 20 nodes with 8 keyframes, but have 88 rotations... In each rotation, there are 4 values, what are the meaning of these 4 values? How can it control the animation?
Besides, in the lower part of the DSQ file, there are some information about sequence. But I don't understand the meanings of values, for example, why Base Rotation = (0), why Base Translation = (0), why Base Scale = (0), why Base Object State = (25), why Base Decal State = (0)
player_side.dsq
Version = (22)
NodeSize = (20)
NameLen = 12, NodeName[0] = 'Bip01 Pelvis'
NameLen = 11, NodeName[1] = 'Bip01 Spine'
NameLen = 12, NodeName[2] = 'Bip01 Spine1'
NameLen = 12, NodeName[3] = 'Bip01 Spine2'
NameLen = 10, NodeName[4] = 'Bip01 Neck'
NameLen = 10, NodeName[5] = 'Bip01 Head'
NameLen = 16, NodeName[6] = 'Bip01 L Clavicle'
NameLen = 16, NodeName[7] = 'Bip01 L UpperArm'
NameLen = 15, NodeName[8] = 'Bip01 L Forearm'
NameLen = 12, NodeName[9] = 'Bip01 L Hand'
NameLen = 16, NodeName[10] = 'Bip01 R Clavicle'
NameLen = 16, NodeName[11] = 'Bip01 R UpperArm'
NameLen = 15, NodeName[12] = 'Bip01 R Forearm'
NameLen = 12, NodeName[13] = 'Bip01 R Hand'
NameLen = 13, NodeName[14] = 'Bip01 L Thigh'
NameLen = 12, NodeName[15] = 'Bip01 L Calf'
NameLen = 12, NodeName[16] = 'Bip01 L Foot'
NameLen = 13, NodeName[17] = 'Bip01 R Thigh'
NameLen = 12, NodeName[18] = 'Bip01 R Calf'
NameLen = 12, NodeName[19] = 'Bip01 R Foot'
A Dummy U32 = (0)
Object Size = (25)
Rotation Size = (88)
Rotation[0] = (2776, 21903, -1601, 24158)
Rotation[1] = (2454, 22512, -1686, 23621)
Rotation[2] = (2076, 22625, -1853, 23537)
Rotation[3] = (1973, 22624, -1800, 23551)
Rotation[4] = (2155, 22813, -1451, 23376)
Rotation[5] = (2285, 22669, -1315, 23511)
Rotation[6] = (1990, 22419, -1537, 23764)
Rotation[7] = (2255, 21768, -1492, 24341)
Rotation[8] = (13, 1334, -13, 32739)
Rotation[9] = (47, 737, -14, 32758)
----
TransLation Size = (32)
Translation[0] = (-0.000296, -0.018345, 1.190411)
Translation[1] = (-0.000296, -0.010174, 1.162392)
Translation[2] = (-0.000296, -0.003449, 1.156640)
Translation[3] = (-0.000296, 0.001274, 1.177746)
Translation[4] = (-0.000296, -0.007810, 1.198962)
Translation[5] = (-0.000296, -0.020151, 1.235660)
Translation[6] = (-0.000296, -0.028820, 1.262221)
Translation[7] = (-0.000296, -0.024266, 1.236372)
Translation[8] = (0.066483, -0.000119, 0.004917)
Translation[9] = (0.066637, -0.000118, 0.001928)
-----
UniformScale Size = (0)
Aligned Scales Size = (0)
Arbitrary Scale Rotation Size = (0)
groundTranSize = (1)
Ground Translation[0] = (-1.483543, -0.000000, -0.000000)
Dummy U32 = (0)Ground Rotation[0] = (0, 32767, 0, 0)
Number of Sequences = (1)
Sequence[i] Name = 'Side'
Flags = (48)
Number of Keyframes = (8)
Duration = (0.566668)
Priority = (0)
First Ground Frame = (0)
Number of Ground Frames = (1)
Base Rotation = (0)
Base Translation = (0)
Base Scale = (0)
Base Object State = (25)
Base Decal State = (0)
First Trigger = (0)
Number of Trigger (2)
Tool Begin = (0.000000)
(0) Int Set 'rotationMatter', size = (1)
rotationMatter[0] = (1032239)
(0) Int Set 'translationMatters', size = (1)
translationMatters[0] = (147459)
(0) Int Set 'scaleMatters', size = (0)
(0) Int Set 'decalMatters', size = (0)
(0) Int Set 'iflMatters', size = (0)
(0) Int Set 'visMatters', size = (0)
(0) Int Set 'frameMatters', size = (0)
(0) Int Set 'matFrameMatters', size = (0)
Number of Triggers = (2)
Trigger[0] = State (-2147483647, 'State Unknown'), Pos (0.411764)
Trigger[1] = State (-2147483646, 'State Unknown'), Pos (0.941175)
Associate Manoel Neto
Default Studio Name
I too am interested in licensing the source code, if possible, someday, because I'd like to be able to modify the showToolPro so it can display the changes we made to the engine. As example, we added alphatest support to DTS shapes (we can enable it for some shapes), and since the TSTpro doesn't support it, it makes previeweing things a bit harder.