Dear returning Carmageddon fans Image

These last years, the CWA Board assimilated what was archived from many old Carmageddon forums, including the whole of the Official Carmageddon.com Forums.
If you wish to merge any previous account you might have had with your new or existing CWA account, don't hesitate to reach out to us !

TDR 2000 Userdata types

All things Carmageddon TDR2000 related - hey, it's got multiplayer.
Post Reply
User avatar
Toshiba-3
BRender Actor
Posts: 5511
Joined: Sun Jun 08, 2003 12:14 am
Location: MagnaChem Data Unit
Contact:

TDR 2000 Userdata types

Post by Toshiba-3 »

Just listing the TDR 2000 userdata types for future reference. Will complete if we stumble upon new ones.

TYPE 1: Object set to detach
Detach userdata is assigned to a Dummy Null, not the actual mesh. All child objects of this Null are detachable.

Code: Select all

1
// This flag is 0 if the child is attached and 1 when it's detached
I 0
// The next one is a pointer to the rigidbody created when the child is detached
I 0
// The next string is the DCOL for the detachable bit (child) to use for collision when it come off
S "Car_Body.txt"
TYPE 2: Unknown

TYPE 3: Detachable object (type 1) also set to deform
Assigned to a part that Deforms and Detachs such as panels, bumpers, etc. The userdata is assigned to a Dummy Null, not the actual mesh. All child objects of this Null are Deformable and Detachable.
It must have a Null with userdata type 1 as its parent. Detachable meshes and collision objects are placed as the child of this Null.

Code: Select all

// Deform with detachment
3
// Softness
F 0.25
// Crush type (unused, get rid of it)
I 0
// Ease of detachment 
F 1.0
// Current damage
F 0.0
// Texture damage level 1 texture pointer
I 0
// Texture damage level 2 texture pointer
I 0
// Threshhold for level 2
F 0.2
// Damage level 1 texture (undamaged)
S "supastucka"
// Damage level 2 texture
S "supastucka_damaged"
Softness: Default 1.0. Higher is softer, lower is harder. This multiplies the force that is being applied to the mesh when deforming.
Crush Type: Default 0. Zero is for deforming, 1-4 is for glass that smashes when the sides of the object is hit. (1 means a force from the front can break this 2=rear, 3=left, 4=right)
Ease Of Detachment: Default 1.0. The higher this value, the harder it is to break this bit off.
Current Damage: Default 0. Leave it at 0.0 always.
Threshold for level 2: Default 0.5. How hard it is to get to the second damage level (damaged texture smashed glass). The higher this is, the harder it is to get to the 2nd level of damage.
Damage Level 1 Texture: Base car texture without the TGA extension.
Damage Level 2 Texture: Damaged car texture without the TGA extension.

TYPE 4: Axis of rotation for an object
Assigned to a Null to define the point of rotation for any detachable part that needs to rotate such as doors, hood, boot (trunk), etc.
The Axis Null must be the parent of the detach null in the hierarchy.

Code: Select all

// rotating node
4
// Rotation Axis  X = 0  Y = 1  Z = 2
I 0             
// current
F 0.0
// current delta
F 1.0
// min rotation angle from current
F 0.0
// max rotation angle from current
F 75.0
TYPE 5: Unknown

TYPE 6: Object deforms but doesn't detach
Assigned to any meshes that deform, but never detach, such as the main car chassis. If using a LODed non detachable deformable, put userdata on each lod mesh.

Code: Select all

// Deform with no detachment
6
// Softness
F 0.25
// Crush type (unused, get rid of it)
I 0
// Ease of detachment (ignored)
F 0.0
// Current damage
F 0.0
// Texture damage level 1 texture pointer
I 0
// Texture damage level 2 texture pointer
I 0
// Threshhold for level 2
F 0.2
// Damage level 1 texture (undamaged)
S "supastucka"
// Damage level 2 texture
S "supastucka_damaged"
TYPE 7: Object spins
The spinner is a mesh which rotates at a constant rate throughout the game. The rotation is centered on the center of the mesh, and the rotation occurs around one of the three axis, chosen in the userdata. The speed of the rotation is also selected in the userdata.

Code: Select all

// spinner node
7
// axis
I 1
// current
F 0.0
// current delta in degrees per second.
F -360.0
TYPE 8: Object moves back and forth
A Pumper is any object that moves back and forth, such as the blades on the Limey. This userdata is assigned directly to the mesh. Generally Pumpers don't need another userdata or Nulls.

Code: Select all

// pumper node
8
// axis
I 2
// current
F 0.0
// current delta in meters per second
F -1.5
// Minimum
F -0.8
// Maximum
F 0.0
TYPE 9: Animated texture

Code: Select all

// Burn node, the next texture down is animated as burning.
9
// Burning. If it's 1, animate, if it's 0 then stop rendering anything under this node
I 1
// Number of frames in the animation (this determines how the UV is animated)
I 8
// Frames per second (speed of the animation)
F 20.0
// current animation time
F 0.0
TYPE 10: Set object to behave like a corona (always faces the camera)

Code: Select all

// Just ding this userdata on a corona and it'll face ya and rotate, and do all that funky
// stuff. Make sure all points are on the z = 0 plane too.
10
TYPE 11: Pivot points for a detachable object
This is assigned to a polygon that represents the points a detachable mesh will rotate about as it falls from the car. The Pivot polygon must be a child of the collison mesh of the detachable part.

Code: Select all

// pivots points
11
TYPE 12: Unknown
Looks to behave like a corona.

TYPE 13: Texture rolls as the driving wheels spin

Code: Select all

// This userdata causes UV animation on the mesh, as the driving wheels turn.
// This is used on the tracks of the king merc.
// The U coordinate moves by the wheel pitch * gearing multiplier
13
// The UV animation gearing multiplier.
F -2.7
TYPE 14: Object spins with the driving wheels

Code: Select all

// This userdata causes subhierarchy to spin, as the driving wheels turn.
// This is used on the wheels of the king merc.
// The subtree rotates by the wheelpitch * gearing multiplier
14
// Spinner gearing multiplier
F 0.5654
TYPE 15: Hides object and childs when wasted

Code: Select all

// This userdata stops rendering the subtree when the car is wasted.
15
// 1 means draw, 0 means don't draw
I 1
Image / carmageddon add-ons at road reaction

Tags:
Post Reply

Check who’s online

Users browsing this forum: No registered users and 97 guests