View Issue Details

IDProjectCategoryView StatusLast Update
0004232The Dark ModCodingpublic14.12.2019 14:04
ReporterSpringheel Assigned ToSteveL  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status resolvedResolutionfixed 
Target VersionTDM 2.04Fixed in VersionTDM 2.04 
Summary0004232: skins do not change collision data
DescriptionCan completely mess up rope arrow use:

http://forums.thedarkmod.com/topic/17461-skins-do-not-change-collision-data/
TagsNo tags attached.

Relationships

related to 0003187 resolvedgrayman Increase limit of collision models 
has duplicate 0002678 closedSteveL nodraw skinned surfaces are still active for collision detection 
related to 0004268 closedSteveL Can walk through a door in SVN 
related to 0004269 resolvedSteveL Problem walking through furniture 
related to 0004802 assignednbohr1more Nodraw surfaces in models remain invisible when given a visible texture via skin. 
related to 0004970 resolvedstgatilov Avoid problems with rotation-resized models 

Activities

SteveL

SteveL

12.10.2015 01:02

reporter   ~0007858

Last edited: 12.10.2015 18:12

Fix this at the same time: FS CMs are linked and unlinked 5 times in quick succession

InitDefaultPhysics links the clipmodel 3 times. Each of these operations does it:
    defaultPhysicsObj.SetClipModel( clipModel, 1.0f );
    defaultPhysicsObj.SetOrigin( origin );
    defaultPhysicsObj.SetAxis( axis );
Then idEntity::Spawn does it twice more straight away:
    SetOrigin( origin );
    SetAxis( axis );

We could do with a combined SetOriginAndAxis, and the others should check whether there's been a change (and that the CM is linked) before relinking.

EDIT: Don't bother fixing this. Profiler shows it taking up only 0.1% of map load time.

SteveL

SteveL

12.10.2015 01:06

reporter   ~0007859

idCollisionModelManagerLocal::LoadRenderModel makes the CM. It's identified by filename, so all copies of the model, skinned or not, share the same CM data. Same routine checks whether there's a special collision surface.

Skinned models should participate in the same process. We should cache their model too, but distinct from the base model.
SteveL

SteveL

12.10.2015 01:18

reporter   ~0007860

To try:
idCollisionModelManagerLocal::LoadModel should take a "skin" parameter, or have an alternative version idCollisionModelManagerLocal::LoadSkinnedModel

The model hash name / index should have to skin name appended after it's been checked. Need to make sure it's not used again as a filename.

What happens now if a skin is missing?

LoadRenderModel should then RemapShaderBySkin before doing its surface tests.
SteveL

SteveL

14.10.2015 18:03

reporter   ~0007864

Solution
========
Skins were used by render entities (i.e. the visible model) but not by collision models.

Changes:
Constructor for idClipModel and idClipModel::CheckModel (which precaches CMs for models) have been given extra variants that let the calling code pass in the render entity's custom skin. Those variants are used during entity spawning.

idCollisionModelManagerLocal creates CMs from models, and to save doing that task repeatedly for multiple instances of the same model, it caches the generated CMs, using the model filename as the tag that identifies the right CM. That was why all skinned variants of a model had the same CM properties -- they all share a filename irrespective of the skin. I've updated it so that it stores a separate CM for each different skin, using filename~skinname as the tag instead of just filename.

The script event setSkin() (and the underlying game code) can change a skin, but can also be used by moveables, and AI etc whose current CM is not the same as that defined in the model file. Best not apply a blanket update following a skin change. Added another script event reskinCollisionModel() for scripters that need to recreate a CM from the current visible model and skin.
SteveL

SteveL

14.10.2015 18:07

reporter  

cm_skin.map (47,581 bytes)   
Version 2
// entity 0
{
"classname" "worldspawn"
"editor_drLastCameraPos" "-31.7728 465.511 90.2113"
"editor_drLastCameraAngle" "-30 137.1 0"
"editor_drMapPos1" "622.965 891.597 194.506"
"editor_drMapAngle1" "0 4.7 0"
"editor_drMapPos2" "856 856 194.506"
"editor_drMapAngle2" "0 -88.6028 0"
"editor_drMapPos3" "832 264 194.506"
"editor_drMapAngle3" "0 82.1467 0"
"editor_drMapPos4" "462.987 512.708 197.518"
"editor_drMapAngle4" "-2.8 151.047 0"
"editor_drMapPos5" "395.633 301.73 201.855"
"editor_drMapAngle5" "-2.6 187.447 0"
"editor_drMapPos6" "406.528 296.563 56.6098"
"editor_drMapAngle6" "-4 187.247 0"
"editor_drMapPos7" "952.822 285.005 1366.04"
"editor_drMapAngle7" "-74.8 149.373 0"
"editor_drMapPos8" "976 424 320"
"editor_drMapAngle8" "-3 15.3467 0"
"editor_drMapPos9" "409.146 547.464 392.83"
"editor_drMapAngle9" "-16.8 284.947 0"
// primitive 0
{
brushDef3
{
( 0 0 1 -208 ) ( ( 0.02604005858302116 0.0002894468780141324 126.0234527587891 ) ( -0.0002894468780141324 0.02604005858302116 125.263069152832 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -800 ) ( ( 0.0260416641831398 0 2.75063943862915 ) ( 0 0.0260416679084301 0 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -432 ) ( ( 0.02604166604578495 0 126.0688400268555 ) ( 0 0.02604166604578495 0 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -144 ) ( ( 0.0260416641831398 0 125.2493591308594 ) ( 0 0.0260416679084301 0 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 -480 ) ( ( 0.02604166604578495 0 1.931161880493164 ) ( 0 0.02604166604578495 0 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 192 ) ( ( 0.02604166604578495 0 -39.73550415039063 ) ( 0 0.02604166604578495 -6.25 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 1
{
brushDef3
{
( 0 1 0 -800 ) ( ( 0.01302083488553762 0 1.375312089920044 ) ( 0 0.01302083302289248 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 1 0 0 -416 ) ( ( 0.0130208320915699 0 255.0172424316406 ) ( 0 0.01302083395421505 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 -1 0 ) ( ( 0.01302002929151058 -0.0001447234390070662 255.0117340087891 ) ( 0.0001447234390070662 0.01302002929151058 1.438787579536438 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( -1 0 0 -464 ) ( ( 0.0130208320915699 0 0.9827626943588257 ) ( 0 0.01302083395421505 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 -1 0 784 ) ( ( 0.01302083488553762 0 254.6246795654297 ) ( 0 0.01302083302289248 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 1 -48 ) ( ( 0.007812017574906349 8.683418127475306e-005 255.4070281982422 ) ( -8.683418127475306e-005 0.007812017574906349 255.2492370605469 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
}
}
// primitive 2
{
brushDef3
{
( 0 1 0 -784 ) ( ( 0.0130208320915699 0 1.36992621421814 ) ( 0 0.01302083395421505 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 1 0 0 -432 ) ( ( 0.01302083302289248 0 255.034423828125 ) ( 0 0.01302083302289248 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 -1 0 ) ( ( 0.01302002929151058 -0.0001447234390070662 255.0117340087891 ) ( 0.0001447234390070662 0.01302002929151058 1.438787579536438 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 -1 0 -128 ) ( ( 0.0130208320915699 0 254.6315460205078 ) ( 0 0.01302083395421505 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( -1 0 0 416 ) ( ( 0.01302083302289248 0 0.965580940246582 ) ( 0 0.01302083302289248 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 1 -48 ) ( ( 0.007812017574906349 8.683418127475306e-005 255.4070281982422 ) ( -8.683418127475306e-005 0.007812017574906349 255.2492370605469 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
}
}
// primitive 3
{
brushDef3
{
( 0 1 0 -816 ) ( ( 0.0130208320915699 0 0.9586454629898071 ) ( 0 0.01302083395421505 0 ) ) "textures/darkmod/stone/flat/slate01_light" 0 0 0
( 1 0 0 -448 ) ( ( 0.01302083302289248 0 255.034423828125 ) ( 0 0.01302083302289248 0 ) ) "textures/darkmod/stone/flat/slate01_light" 0 0 0
( 0 0 -1 -16 ) ( ( 0.01302002929151058 -0.0001447234390070662 255.0163726806641 ) ( 0.0001447234390070662 0.01302002929151058 0.9518341422080994 ) ) "textures/darkmod/stone/flat/slate01_light" 0 0 0
( 0 -1 0 -160 ) ( ( 0.0130208320915699 0 255.0413513183594 ) ( 0 0.01302083395421505 0 ) ) "textures/darkmod/stone/flat/slate01_light" 0 0 0
( -1 0 0 -496 ) ( ( 0.01302083302289248 0 0.965580940246582 ) ( 0 0.01302083302289248 0 ) ) "textures/darkmod/stone/flat/slate01_light" 0 0 0
( 0 0 1 0 ) ( ( 0.01302083302289248 0 0 ) ( 0 0.01302083302289248 0.4166666567325592 ) ) "textures/darkmod/stone/flat/slate01_light" 0 0 0
}
}
// primitive 4
{
brushDef3
{
( 1 0 0 -416 ) ( ( 0.0130208320915699 0 255.0117340087891 ) ( 0 0.01302083395421505 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 -1 0 ) ( ( 0.01302002929151058 -0.0001447234390070662 255.0117340087891 ) ( 0.0001447234390070662 0.01302002929151058 1.438787579536438 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 -1 0 -144 ) ( ( 0.01302083488553762 0 254.6246795654297 ) ( 0 0.01302083302289248 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( -1 0 0 -464 ) ( ( 0.0130208320915699 0 0.9827626943588257 ) ( 0 0.01302083395421505 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 1 0 128 ) ( ( 0.01302083488553762 0 1.375312089920044 ) ( 0 0.01302083302289248 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 1 -48 ) ( ( 0.007812017574906349 8.683418127475306e-005 255.4070281982422 ) ( -8.683418127475306e-005 0.007812017574906349 255.2492370605469 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
}
}
// primitive 5
{
brushDef3
{
( 0 1 0 -784 ) ( ( 0.0130208320915699 0 1.36992621421814 ) ( 0 0.01302083395421505 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 -1 0 ) ( ( 0.01302002929151058 -0.0001447234390070662 255.0117340087891 ) ( 0.0001447234390070662 0.01302002929151058 1.438787579536438 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 -1 0 -128 ) ( ( 0.0130208320915699 0 254.6300811767578 ) ( 0 0.01302083395421505 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( -1 0 0 -480 ) ( ( 0.01302083302289248 0 0.965580940246582 ) ( 0 0.01302083302289248 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 1 0 0 464 ) ( ( 0.01302083302289248 0 255.034423828125 ) ( 0 0.01302083302289248 0.0703125 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
( 0 0 1 -48 ) ( ( 0.007812017574906349 8.683418127475306e-005 255.4070281982422 ) ( -8.683418127475306e-005 0.007812017574906349 255.2492370605469 ) ) "textures/darkmod/stone/brick/blocks_brown" 0 0 0
}
}
// primitive 6
{
brushDef3
{
( 0 0 1 -192 ) ( ( 0.02604005858302116 0.0002894468780141324 126.4447250366211 ) ( -0.0002894468780141324 0.02604005858302116 125.6750793457031 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -800 ) ( ( 0.02604166604578495 0 2.323200941085815 ) ( 0 0.02604166604578495 0 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -144 ) ( ( 0.02604166604578495 0 125.6767959594727 ) ( 0 0.02604166604578495 0 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 -496 ) ( ( 0.02604166604578495 0 1.514495253562927 ) ( 0 0.02604166604578495 0 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 480 ) ( ( 0.02604166604578495 0 126.4855041503906 ) ( 0 0.02604166604578495 0 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 0 ) ( ( 0.0156240351498127 -0.0001736683625495061 127.0668411254883 ) ( 0.0001736683625495061 0.0156240351498127 1.394955039024353 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 7
{
brushDef3
{
( 0 0 1 -192 ) ( ( 0.02604005858302116 0.0002894468780141324 126.4447250366211 ) ( -0.0002894468780141324 0.02604005858302116 125.6750793457031 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -448 ) ( ( 0.0260416641831398 0 126.4401168823242 ) ( 0 0.0260416679084301 0 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -160 ) ( ( 0.02604166604578495 0 125.6660232543945 ) ( 0 0.02604166604578495 0 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 -496 ) ( ( 0.02604166604578495 0 1.548858761787415 ) ( 0 0.02604166604578495 0 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 144 ) ( ( 0.02604166604578495 0 2.333972692489624 ) ( 0 0.02604166604578495 0 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 0 ) ( ( 0.0156240351498127 -0.0001736683625495061 127.0668411254883 ) ( 0.0001736683625495061 0.0156240351498127 1.394955158233643 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 8
{
brushDef3
{
( 0 0 1 -192 ) ( ( 0.02604005858302116 0.0002894468780141324 126.0188217163086 ) ( -0.0002894468780141324 0.02604005858302116 124.8464279174805 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -800 ) ( ( 0.02604166604578495 0 3.156534433364868 ) ( 0 0.02604166604578495 0 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -448 ) ( ( 0.02604166604578495 0 126.0688400268555 ) ( 0 0.02604166604578495 0 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 -144 ) ( ( 0.0260416641831398 0 124.4297409057617 ) ( 0 0.0260416679084301 0 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 432 ) ( ( 0.02604166604578495 0 1.931161880493164 ) ( 0 0.02604166604578495 0 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 0 ) ( ( 0.0156240351498127 -0.0001736683625495061 126.8113021850586 ) ( 0.0001736683625495061 0.0156240351498127 1.89214563369751 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 9
{
brushDef3
{
( 0 0 1 -192 ) ( ( 0.02604005858302116 0.0002894468780141324 125.6068115234375 ) ( -0.0002894468780141324 0.02604005858302116 125.2677001953125 ) ) "textures/smf/portal_sky" 0 0 0
( 0 1 0 -816 ) ( ( 0.02604166604578495 0 2.75063943862915 ) ( 0 0.02604166604578495 0 ) ) "textures/smf/portal_sky" 0 0 0
( 1 0 0 -448 ) ( ( 0.02604166604578495 0 125.617805480957 ) ( 0 0.02604166604578495 0 ) ) "textures/smf/portal_sky" 0 0 0
( -1 0 0 -496 ) ( ( 0.02604166604578495 0 2.382192134857178 ) ( 0 0.02604166604578495 0 ) ) "textures/smf/portal_sky" 0 0 0
( 0 -1 0 800 ) ( ( 0.02604005858302116 -0.0002894468780141324 126.0234527587891 ) ( 0.0002894468780141324 0.02604005858302116 2.736919641494751 ) ) "textures/smf/portal_sky" 0 0 0
( 0 0 -1 0 ) ( ( 0.0156240351498127 -0.0001736683625495061 126.564094543457 ) ( 0.0001736683625495061 0.0156240351498127 1.639382362365723 ) ) "textures/smf/portal_sky" 0 0 0
}
}
// primitive 10
{
patchDef2
{
"textures/darkmod/stone/flat/slate01_light"
( 15 15 0 0 0 )
(
( ( -464 -128 6 -1.666666626930237 -6.041666522622109 ) ( -464 -62.85713958740234 -5 -0.8184523188642103 -6.041666522622109 ) ( -464 2.285720825195313 -1 0.02976198920181616 -6.041666522622109 ) ( -464 67.42858123779297 4 0.8779762972678427 -6.041666522622109 ) ( -464 132.5714416503906 6 1.726190605333869 -6.041666522622109 ) ( -464 197.7143020629883 4 2.574404913399896 -6.041666522622109 ) ( -464 262.8571624755859 3 3.422619221465922 -6.041666522622109 ) ( -464 328.0000228881836 -2 4.270833529531949 -6.041666522622109 ) ( -464 393.1428833007813 0 5.119047837597975 -6.041666522622109 ) ( -464 458.2857437133789 2 5.967262145664002 -6.041666522622109 ) ( -464 523.4286041259766 -5 6.815476453730028 -6.041666522622109 ) ( -464 588.5714645385742 -3 7.663690761796055 -6.041666522622109 ) ( -464 653.7143249511719 -5 8.511905069862081 -6.041666522622109 ) ( -464 718.8571853637695 5 9.360119377928108 -6.041666522622109 ) ( -464 784.0000457763672 2 10.20833368599413 -6.041666522622109 ) )
( ( -401.1428565979004 -128 -3 -1.666666626930237 -5.223214154087362 ) ( -401.1428565979004 -62.85713958740234 1 -0.8184523188642103 -5.223214154087362 ) ( -401.1428565979004 2.285720825195313 9 0.02976198920181616 -5.223214154087362 ) ( -401.1428565979004 67.42858123779297 1 0.8779762972678427 -5.223214154087362 ) ( -401.1428565979004 132.5714416503906 8 1.726190605333869 -5.223214154087362 ) ( -401.1428565979004 197.7143020629883 0 2.574404913399896 -5.223214154087362 ) ( -401.1428565979004 262.8571624755859 -3 3.422619221465922 -5.223214154087362 ) ( -401.1428565979004 328.0000228881836 -3 4.270833529531949 -5.223214154087362 ) ( -401.1428565979004 393.1428833007813 8 5.119047837597975 -5.223214154087362 ) ( -401.1428565979004 458.2857437133789 -1 5.967262145664002 -5.223214154087362 ) ( -401.1428565979004 523.4286041259766 3 6.815476453730028 -5.223214154087362 ) ( -401.1428565979004 588.5714645385742 6 7.663690761796055 -5.223214154087362 ) ( -401.1428565979004 653.7143249511719 -4 8.511905069862081 -5.223214154087362 ) ( -401.1428565979004 718.8571853637695 -3 9.360119377928108 -5.223214154087362 ) ( -401.1428565979004 784.0000457763672 9 10.20833368599413 -5.223214154087362 ) )
( ( -338.2857131958008 -128 8 -1.666666626930237 -4.404761785552616 ) ( -338.2857131958008 -62.85713958740234 3 -0.8184523188642103 -4.404761785552616 ) ( -338.2857131958008 2.285720825195313 6 0.02976198920181616 -4.404761785552616 ) ( -338.2857131958008 67.42858123779297 -1 0.8779762972678427 -4.404761785552616 ) ( -338.2857131958008 132.5714416503906 6 1.726190605333869 -4.404761785552616 ) ( -338.2857131958008 197.7143020629883 -3 2.574404913399896 -4.404761785552616 ) ( -338.2857131958008 262.8571624755859 10 3.422619221465922 -4.404761785552616 ) ( -338.2857131958008 328.0000228881836 8 4.270833529531949 -4.404761785552616 ) ( -338.2857131958008 393.1428833007813 -5 5.119047837597975 -4.404761785552616 ) ( -338.2857131958008 458.2857437133789 10 5.967262145664002 -4.404761785552616 ) ( -338.2857131958008 523.4286041259766 -2 6.815476453730028 -4.404761785552616 ) ( -338.2857131958008 588.5714645385742 8 7.663690761796055 -4.404761785552616 ) ( -338.2857131958008 653.7143249511719 2 8.511905069862081 -4.404761785552616 ) ( -338.2857131958008 718.8571853637695 3 9.360119377928108 -4.404761785552616 ) ( -338.2857131958008 784.0000457763672 -5 10.20833368599413 -4.404761785552616 ) )
( ( -275.4285697937012 -128 6 -1.666666626930237 -3.586309417017869 ) ( -275.4285697937012 -62.85713958740234 4 -0.8184523188642103 -3.586309417017869 ) ( -275.4285697937012 2.285720825195313 10 0.02976198920181616 -3.586309417017869 ) ( -275.4285697937012 67.42858123779297 -1 0.8779762972678427 -3.586309417017869 ) ( -275.4285697937012 132.5714416503906 2 1.726190605333869 -3.586309417017869 ) ( -275.4285697937012 197.7143020629883 -2 2.574404913399896 -3.586309417017869 ) ( -275.4285697937012 262.8571624755859 -3 3.422619221465922 -3.586309417017869 ) ( -275.4285697937012 328.0000228881836 2 4.270833529531949 -3.586309417017869 ) ( -275.4285697937012 393.1428833007813 3 5.119047837597975 -3.586309417017869 ) ( -275.4285697937012 458.2857437133789 -1 5.967262145664002 -3.586309417017869 ) ( -275.4285697937012 523.4286041259766 8 6.815476453730028 -3.586309417017869 ) ( -275.4285697937012 588.5714645385742 6 7.663690761796055 -3.586309417017869 ) ( -275.4285697937012 653.7143249511719 7 8.511905069862081 -3.586309417017869 ) ( -275.4285697937012 718.8571853637695 10 9.360119377928108 -3.586309417017869 ) ( -275.4285697937012 784.0000457763672 9 10.20833368599413 -3.586309417017869 ) )
( ( -212.5714263916016 -128 3 -1.666666626930237 -2.767857048483123 ) ( -212.5714263916016 -62.85713958740234 4 -0.8184523188642103 -2.767857048483123 ) ( -212.5714263916016 2.285720825195313 9 0.02976198920181616 -2.767857048483123 ) ( -212.5714263916016 67.42858123779297 8 0.8779762972678427 -2.767857048483123 ) ( -212.5714263916016 132.5714416503906 -2 1.726190605333869 -2.767857048483123 ) ( -212.5714263916016 197.7143020629883 1 2.574404913399896 -2.767857048483123 ) ( -212.5714263916016 262.8571624755859 9 3.422619221465922 -2.767857048483123 ) ( -212.5714263916016 328.0000228881836 -3 4.270833529531949 -2.767857048483123 ) ( -212.5714263916016 393.1428833007813 5 5.119047837597975 -2.767857048483123 ) ( -212.5714263916016 458.2857437133789 6 5.967262145664002 -2.767857048483123 ) ( -212.5714263916016 523.4286041259766 5 6.815476453730028 -2.767857048483123 ) ( -212.5714263916016 588.5714645385742 4 7.663690761796055 -2.767857048483123 ) ( -212.5714263916016 653.7143249511719 21 8.511905069862081 -2.767857048483123 ) ( -212.5714263916016 718.8571853637695 6 9.360119377928108 -2.767857048483123 ) ( -212.5714263916016 784.0000457763672 -1 10.20833368599413 -2.767857048483123 ) )
( ( -149.714282989502 -128 -1 -1.666666626930237 -1.949404679948376 ) ( -149.714282989502 -62.85713958740234 4 -0.8184523188642103 -1.949404679948376 ) ( -149.714282989502 2.285720825195313 3 0.02976198920181616 -1.949404679948376 ) ( -149.714282989502 67.42858123779297 -5 0.8779762972678427 -1.949404679948376 ) ( -149.714282989502 132.5714416503906 6 1.726190605333869 -1.949404679948376 ) ( -149.714282989502 197.7143020629883 7 2.574404913399896 -1.949404679948376 ) ( -149.714282989502 262.8571624755859 6 3.422619221465922 -1.949404679948376 ) ( -149.714282989502 328.0000228881836 3 4.270833529531949 -1.949404679948376 ) ( -149.714282989502 393.1428833007813 1 5.119047837597975 -1.949404679948376 ) ( -149.714282989502 458.2857437133789 4 5.967262145664002 -1.949404679948376 ) ( -149.714282989502 523.4286041259766 5 6.815476453730028 -1.949404679948376 ) ( -149.714282989502 588.5714645385742 6 7.663690761796055 -1.949404679948376 ) ( -149.714282989502 653.7143249511719 3 8.511905069862081 -1.949404679948376 ) ( -149.714282989502 718.8571853637695 9 9.360119377928108 -1.949404679948376 ) ( -149.714282989502 784.0000457763672 -2 10.20833368599413 -1.949404679948376 ) )
( ( -86.85713958740234 -128 -5 -1.666666626930237 -1.13095231141363 ) ( -86.85713958740234 -62.85713958740234 -3 -0.8184523188642103 -1.13095231141363 ) ( -86.85713958740234 2.285720825195313 -3 0.02976198920181616 -1.13095231141363 ) ( -86.85713958740234 67.42858123779297 1 0.8779762972678427 -1.13095231141363 ) ( -86.85713958740234 132.5714416503906 2 1.726190605333869 -1.13095231141363 ) ( -86.85713958740234 197.7143020629883 3 2.574404913399896 -1.13095231141363 ) ( -86.85713958740234 262.8571624755859 -1 3.422619221465922 -1.13095231141363 ) ( -86.85713958740234 328.0000228881836 6 4.270833529531949 -1.13095231141363 ) ( -86.85713958740234 393.1428833007813 -4 5.119047837597975 -1.13095231141363 ) ( -86.85713958740234 458.2857437133789 -2 5.967262145664002 -1.13095231141363 ) ( -86.85713958740234 523.4286041259766 -2 6.815476453730028 -1.13095231141363 ) ( -86.85713958740234 588.5714645385742 -1 7.663690761796055 -1.13095231141363 ) ( -86.85713958740234 653.7143249511719 44 8.511905069862081 -1.13095231141363 ) ( -86.85713958740234 718.8571853637695 -2 9.360119377928108 -1.13095231141363 ) ( -86.85713958740234 784.0000457763672 7 10.20833368599413 -1.13095231141363 ) )
( ( -23.99999618530273 -128 -4 -1.666666626930237 -0.3124999428788833 ) ( -23.99999618530273 -62.85713958740234 5 -0.8184523188642103 -0.3124999428788833 ) ( -23.99999618530273 2.285720825195313 2 0.02976198920181616 -0.3124999428788833 ) ( -23.99999618530273 67.42858123779297 -4 0.8779762972678427 -0.3124999428788833 ) ( -23.99999618530273 132.5714416503906 2 1.726190605333869 -0.3124999428788833 ) ( -23.99999618530273 197.7143020629883 10 2.574404913399896 -0.3124999428788833 ) ( -23.99999618530273 262.8571624755859 1 3.422619221465922 -0.3124999428788833 ) ( -23.99999618530273 328.0000228881836 1 4.270833529531949 -0.3124999428788833 ) ( -23.99999618530273 393.1428833007813 10 5.119047837597975 -0.3124999428788833 ) ( -23.99999618530273 458.2857437133789 7 5.967262145664002 -0.3124999428788833 ) ( -23.99999618530273 523.4286041259766 8 6.815476453730028 -0.3124999428788833 ) ( -23.99999618530273 588.5714645385742 -3 7.663690761796055 -0.3124999428788833 ) ( -23.99999618530273 653.7143249511719 1 8.511905069862081 -0.3124999428788833 ) ( -23.99999618530273 718.8571853637695 0 9.360119377928108 -0.3124999428788833 ) ( -23.99999618530273 784.0000457763672 1 10.20833368599413 -0.3124999428788833 ) )
( ( 38.85714721679688 -128 0 -1.666666626930237 0.5059524256558632 ) ( 38.85714721679688 -62.85713958740234 2 -0.8184523188642103 0.5059524256558632 ) ( 38.85714721679688 2.285720825195313 -2 0.02976198920181616 0.5059524256558632 ) ( 38.85714721679688 67.42858123779297 5 0.8779762972678427 0.5059524256558632 ) ( 38.85714721679688 132.5714416503906 10 1.726190605333869 0.5059524256558632 ) ( 38.85714721679688 197.7143020629883 7 2.574404913399896 0.5059524256558632 ) ( 38.85714721679688 262.8571624755859 -4 3.422619221465922 0.5059524256558632 ) ( 38.85714721679688 328.0000228881836 -1 4.270833529531949 0.5059524256558632 ) ( 38.85714721679688 393.1428833007813 9 5.119047837597975 0.5059524256558632 ) ( 38.85714721679688 458.2857437133789 8 5.967262145664002 0.5059524256558632 ) ( 38.85714721679688 523.4286041259766 -4 6.815476453730028 0.5059524256558632 ) ( 38.85714721679688 588.5714645385742 -5 7.663690761796055 0.5059524256558632 ) ( 38.85714721679688 653.7143249511719 -2 8.511905069862081 0.5059524256558632 ) ( 38.85714721679688 718.8571853637695 -3 9.360119377928108 0.5059524256558632 ) ( 38.85714721679688 784.0000457763672 -2 10.20833368599413 0.5059524256558632 ) )
( ( 101.7142906188965 -128 -3 -1.666666626930237 1.32440479419061 ) ( 101.7142906188965 -62.85713958740234 0 -0.8184523188642103 1.32440479419061 ) ( 101.7142906188965 2.285720825195313 8 0.02976198920181616 1.32440479419061 ) ( 101.7142906188965 67.42858123779297 -5 0.8779762972678427 1.32440479419061 ) ( 101.7142906188965 132.5714416503906 6 1.726190605333869 1.32440479419061 ) ( 101.7142906188965 197.7143020629883 0 2.574404913399896 1.32440479419061 ) ( 101.7142906188965 262.8571624755859 10 3.422619221465922 1.32440479419061 ) ( 101.7142906188965 328.0000228881836 4 4.270833529531949 1.32440479419061 ) ( 101.7142906188965 393.1428833007813 3 5.119047837597975 1.32440479419061 ) ( 101.7142906188965 458.2857437133789 1 5.967262145664002 1.32440479419061 ) ( 101.7142906188965 523.4286041259766 -4 6.815476453730028 1.32440479419061 ) ( 101.7142906188965 588.5714645385742 -5 7.663690761796055 1.32440479419061 ) ( 101.7142906188965 653.7143249511719 6 8.511905069862081 1.32440479419061 ) ( 101.7142906188965 718.8571853637695 10 9.360119377928108 1.32440479419061 ) ( 101.7142906188965 784.0000457763672 5 10.20833368599413 1.32440479419061 ) )
( ( 164.5714340209961 -128 -3 -1.666666626930237 2.142857162725356 ) ( 164.5714340209961 -62.85713958740234 -5 -0.8184523188642103 2.142857162725356 ) ( 164.5714340209961 2.285720825195313 -2 0.02976198920181616 2.142857162725356 ) ( 164.5714340209961 67.42858123779297 -5 0.8779762972678427 2.142857162725356 ) ( 164.5714340209961 132.5714416503906 -4 1.726190605333869 2.142857162725356 ) ( 164.5714340209961 197.7143020629883 -3 2.574404913399896 2.142857162725356 ) ( 164.5714340209961 262.8571624755859 5 3.422619221465922 2.142857162725356 ) ( 164.5714340209961 328.0000228881836 5 4.270833529531949 2.142857162725356 ) ( 164.5714340209961 393.1428833007813 0 5.119047837597975 2.142857162725356 ) ( 164.5714340209961 458.2857437133789 3 5.967262145664002 2.142857162725356 ) ( 164.5714340209961 523.4286041259766 6 6.815476453730028 2.142857162725356 ) ( 164.5714340209961 588.5714645385742 7 7.663690761796055 2.142857162725356 ) ( 164.5714340209961 653.7143249511719 -1 8.511905069862081 2.142857162725356 ) ( 164.5714340209961 718.8571853637695 2 9.360119377928108 2.142857162725356 ) ( 164.5714340209961 784.0000457763672 4 10.20833368599413 2.142857162725356 ) )
( ( 227.4285774230957 -128 10 -1.666666626930237 2.961309531260103 ) ( 227.4285774230957 -62.85713958740234 4 -0.8184523188642103 2.961309531260103 ) ( 227.4285774230957 2.285720825195313 7 0.02976198920181616 2.961309531260103 ) ( 227.4285774230957 67.42858123779297 9 0.8779762972678427 2.961309531260103 ) ( 227.4285774230957 132.5714416503906 4 1.726190605333869 2.961309531260103 ) ( 227.4285774230957 197.7143020629883 5 2.574404913399896 2.961309531260103 ) ( 227.4285774230957 262.8571624755859 -3 3.422619221465922 2.961309531260103 ) ( 227.4285774230957 328.0000228881836 7 4.270833529531949 2.961309531260103 ) ( 227.4285774230957 393.1428833007813 2 5.119047837597975 2.961309531260103 ) ( 227.4285774230957 458.2857437133789 9 5.967262145664002 2.961309531260103 ) ( 227.4285774230957 523.4286041259766 0 6.815476453730028 2.961309531260103 ) ( 227.4285774230957 588.5714645385742 8 7.663690761796055 2.961309531260103 ) ( 227.4285774230957 653.7143249511719 1 8.511905069862081 2.961309531260103 ) ( 227.4285774230957 718.8571853637695 10 9.360119377928108 2.961309531260103 ) ( 227.4285774230957 784.0000457763672 2 10.20833368599413 2.961309531260103 ) )
( ( 290.2857208251953 -128 2 -1.666666626930237 3.779761899794849 ) ( 290.2857208251953 -62.85713958740234 7 -0.8184523188642103 3.779761899794849 ) ( 290.2857208251953 2.285720825195313 8 0.02976198920181616 3.779761899794849 ) ( 290.2857208251953 67.42858123779297 -1 0.8779762972678427 3.779761899794849 ) ( 290.2857208251953 132.5714416503906 1 1.726190605333869 3.779761899794849 ) ( 290.2857208251953 197.7143020629883 2 2.574404913399896 3.779761899794849 ) ( 290.2857208251953 262.8571624755859 9 3.422619221465922 3.779761899794849 ) ( 290.2857208251953 328.0000228881836 6 4.270833529531949 3.779761899794849 ) ( 290.2857208251953 393.1428833007813 0 5.119047837597975 3.779761899794849 ) ( 290.2857208251953 458.2857437133789 -5 5.967262145664002 3.779761899794849 ) ( 290.2857208251953 523.4286041259766 10 6.815476453730028 3.779761899794849 ) ( 290.2857208251953 588.5714645385742 -2 7.663690761796055 3.779761899794849 ) ( 290.2857208251953 653.7143249511719 -2 8.511905069862081 3.779761899794849 ) ( 290.2857208251953 718.8571853637695 -4 9.360119377928108 3.779761899794849 ) ( 290.2857208251953 784.0000457763672 2 10.20833368599413 3.779761899794849 ) )
( ( 353.1428642272949 -128 -4 -1.666666626930237 4.598214268329596 ) ( 353.1428642272949 -62.85713958740234 7 -0.8184523188642103 4.598214268329596 ) ( 353.1428642272949 2.285720825195313 10 0.02976198920181616 4.598214268329596 ) ( 353.1428642272949 67.42858123779297 -1 0.8779762972678427 4.598214268329596 ) ( 353.1428642272949 132.5714416503906 6 1.726190605333869 4.598214268329596 ) ( 353.1428642272949 197.7143020629883 -4 2.574404913399896 4.598214268329596 ) ( 353.1428642272949 262.8571624755859 8 3.422619221465922 4.598214268329596 ) ( 353.1428642272949 328.0000228881836 2 4.270833529531949 4.598214268329596 ) ( 353.1428642272949 393.1428833007813 8 5.119047837597975 4.598214268329596 ) ( 353.1428642272949 458.2857437133789 10 5.967262145664002 4.598214268329596 ) ( 353.1428642272949 523.4286041259766 -1 6.815476453730028 4.598214268329596 ) ( 353.1428642272949 588.5714645385742 -4 7.663690761796055 4.598214268329596 ) ( 353.1428642272949 653.7143249511719 4 8.511905069862081 4.598214268329596 ) ( 353.1428642272949 718.8571853637695 5 9.360119377928108 4.598214268329596 ) ( 353.1428642272949 784.0000457763672 4 10.20833368599413 4.598214268329596 ) )
( ( 416.0000076293945 -128 -5 -1.666666626930237 5.416666636864342 ) ( 416.0000076293945 -62.85713958740234 3 -0.8184523188642103 5.416666636864342 ) ( 416.0000076293945 2.285720825195313 10 0.02976198920181616 5.416666636864342 ) ( 416.0000076293945 67.42858123779297 4 0.8779762972678427 5.416666636864342 ) ( 416.0000076293945 132.5714416503906 4 1.726190605333869 5.416666636864342 ) ( 416.0000076293945 197.7143020629883 6 2.574404913399896 5.416666636864342 ) ( 416.0000076293945 262.8571624755859 4 3.422619221465922 5.416666636864342 ) ( 416.0000076293945 328.0000228881836 -4 4.270833529531949 5.416666636864342 ) ( 416.0000076293945 393.1428833007813 0 5.119047837597975 5.416666636864342 ) ( 416.0000076293945 458.2857437133789 4 5.967262145664002 5.416666636864342 ) ( 416.0000076293945 523.4286041259766 0 6.815476453730028 5.416666636864342 ) ( 416.0000076293945 588.5714645385742 3 7.663690761796055 5.416666636864342 ) ( 416.0000076293945 653.7143249511719 3 8.511905069862081 5.416666636864342 ) ( 416.0000076293945 718.8571853637695 -4 9.360119377928108 5.416666636864342 ) ( 416.0000076293945 784.0000457763672 5 10.20833368599413 5.416666636864342 ) )
)
}
}
// primitive 11
{
brushDef3
{
( -0.6946575338273856 0 0.7193407739836857 182.3095084344938 ) ( ( 0.0625 0 17.9375 ) ( 0 0.0625 95.15166473388672 ) ) "textures/common/nodraw" 0 0 0
( 0 1 0 -289 ) ( ( 0.04341613501310349 -0.04495872184634209 11.51888370513916 ) ( 0.04495872184634209 0.04341613501310349 95.151611328125 ) ) "textures/common/nodraw" 0 0 0
( 0.6946575722616062 0 -0.7193405711480561 -186.3093945678108 ) ( ( 0.0625 0 14.0625 ) ( 0 0.0625 95.15170288085938 ) ) "textures/common/nodraw" 0 0 0
( 0 -1 0 285 ) ( ( 0.04341613501310349 0.04495872184634209 20.48111724853516 ) ( -0.04495872184634209 0.04341613501310349 95.151611328125 ) ) "textures/common/nodraw" 0 0 0
( 0.7193385780544882 0 0.6946598077772603 -2084.42893284393 ) ( ( 0.0625 0 14.0625 ) ( 0 0.0625 20.48092269897461 ) ) "textures/common/nodraw" 0 0 0
( -0.7193386951384097 0 -0.694659686533747 2080.428467563192 ) ( ( -0.25 0 56.75 ) ( 1.000110758098138e-010 -0.2500276863574982 46.58397674560547 ) ) "textures/darkmod/nature/skybox/starry1/moon_full" 0 0 0
}
}
// primitive 12
{
patchDef3
{
"textures/darkmod/nature/skybox/starry1/skyfade"
( 5 5 4 4 0 0 0 )
(
( ( 1472 416 1096 0.5 0.5 ) ( 1472 352 1224 0.25 0.5 ) ( 1472 288 1224 0 0.5 ) ( 1472 224 1224 -0.25 0.5 ) ( 1472 160 1096 -0.5 0.5 ) )
( ( 1536 416 1224 0.5 0.25 ) ( 1536 352 1352 0.25 0.25 ) ( 1536 288 1352 0 0.25 ) ( 1536 224 1352 -0.25 0.25 ) ( 1536 160 1224 -0.5 0.25 ) )
( ( 1600 416 1224 0.5 0 ) ( 1600 352 1352 0.25 0 ) ( 1600 288 1352 0 0 ) ( 1600 224 1352 -0.25 0 ) ( 1600 160 1224 -0.5 0 ) )
( ( 1664 416 1224 0.5 -0.25 ) ( 1664 352 1352 0.25 -0.25 ) ( 1664 288 1352 0 -0.25 ) ( 1664 224 1352 -0.25 -0.25 ) ( 1664 160 1224 -0.5 -0.25 ) )
( ( 1728 416 1096 0.5 -0.5 ) ( 1728 352 1224 0.25 -0.5 ) ( 1728 288 1224 0 -0.5 ) ( 1728 224 1224 -0.25 -0.5 ) ( 1728 160 1096 -0.5 -0.5 ) )
)
}
}
// primitive 13
{
brushDef3
{
( 0 0 -1 1096 ) ( ( 0.03125 0 55 ) ( 0 0.03125 50 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 -1352 ) ( ( 0.03125 0 55 ) ( 0 0.03125 14 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 128 ) ( ( 0.03125 0 14 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -1728 ) ( ( 0.03125 0 55 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -160 ) ( ( 0.03125 0 50 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 1472 ) ( ( 0.03125 0 9 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 14
{
brushDef3
{
( 0 0 -1 1096 ) ( ( 0.03125 0 55 ) ( 0 0.03125 50 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 -1352 ) ( ( 0.03125 0 55 ) ( 0 0.03125 14 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 416 ) ( ( 0.03125 0 14 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -1728 ) ( ( 0.03125 0 55 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -448 ) ( ( 0.03125 0 50 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 1472 ) ( ( 0.03125 0 9 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 15
{
brushDef3
{
( 0 0 -1 1096 ) ( ( 0.03125 0 55 ) ( 0 0.03125 50 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 -1352 ) ( ( 0.03125 0 55 ) ( 0 0.03125 14 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 160 ) ( ( 0.03125 0 14 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -1472 ) ( ( 0.03125 0 55 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -416 ) ( ( 0.03125 0 50 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 1440 ) ( ( 0.03125 0 9 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 16
{
brushDef3
{
( 0 0 -1 1096 ) ( ( 0.03125 0 55 ) ( 0 0.03125 50 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 -1352 ) ( ( 0.03125 0 55 ) ( 0 0.03125 14 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 160 ) ( ( 0.03125 0 14 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -1760 ) ( ( 0.03125 0 55 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -416 ) ( ( 0.03125 0 50 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 1728 ) ( ( 0.03125 0 9 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 17
{
brushDef3
{
( 0 0 -1 1352 ) ( ( 0.03125 0 55 ) ( 0 0.03125 50 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 -1384 ) ( ( 0.03125 0 55 ) ( 0 0.03125 14 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 160 ) ( ( 0.03125 0 14 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -1728 ) ( ( 0.03125 0 55 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -416 ) ( ( 0.03125 0 50 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 1472 ) ( ( 0.03125 0 9 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 18
{
brushDef3
{
( 0 0 -1 1064 ) ( ( 0.03125 0 55 ) ( 0 0.03125 50 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 -1096 ) ( ( 0.03125 0 55 ) ( 0 0.03125 14 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 160 ) ( ( 0.03125 0 14 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -1728 ) ( ( 0.03125 0 55 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -416 ) ( ( 0.03125 0 50 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 1472 ) ( ( 0.03125 0 9 ) ( 0 0.03125 84.25 ) ) "textures/common/caulk" 0 0 0
}
}
}
// entity 1
{
"classname" "atdm:ambient_world"
"name" "ambient_world"
"_color" "0.09 0.09 0.09"
"light_center" "0 0 0"
"light_radius" "2363.27 2772.13 320"
"nodiffuse" "0"
"noshadows" "0"
"nospecular" "0"
"origin" "80 16 160"
"parallel" "0"
"rotation" "0.938897 0.344197 0 -0.344197 0.938897 0 0 0 1"
"texture" "lights/ambientlightnfo"
}
// entity 2
{
"classname" "info_player_start"
"name" "info_player_start_1"
"angle" "89.3631591796875"
"origin" "368 128 4.23325"
}
// entity 3
{
"classname" "light"
"name" "light_4"
"_color" "0.19 0.21 0.25"
"light_center" "96 -32 96"
"light_radius" "3062.12 2388.98 320"
"nodiffuse" "0"
"noshadows" "0"
"nospecular" "0"
"origin" "400 192 160"
"parallel" "1"
"rotation" "0.938897 0.344197 0 -0.344197 0.938897 0 0 0 1"
}
// entity 4
{
"classname" "light"
"name" "light_5"
"_color" "0.10 0.09 0.08"
"light_center" "-96 32 96"
"light_radius" "2459.27 2820.13 320"
"nodiffuse" "0"
"noshadows" "1"
"nospecular" "0"
"origin" "64 80 160"
"parallel" "1"
"rotation" "0.938897 0.344197 0 -0.344197 0.938897 0 0 0 1"
}
// entity 5
{
"classname" "atdm:ai_citywatch"
"name" "ai_idle_fixed"
"origin" "400 64 5.96312"
"rotation" "-0.999939 0.0111145 0 -0.0111145 -0.999939 0 0 0 1"
"team" "0"
}
// entity 6
{
"classname" "atdm:weapon_blackjack"
"name" "atdm_weapon_blackjack_1"
"inv_map_start" "1"
"origin" "192 224 16"
}
// entity 7
{
"classname" "atdm:weapon_shortsword"
"name" "atdm_weapon_shortsword_1"
"inv_map_start" "1"
"origin" "128 224 16"
}
// entity 8
{
"classname" "func_static"
"name" "sign_text"
"gui" "guis/readables/sign_text_decals/sign_text_stone.gui"
"gui_parm1" "Update CM"
"model" "sign_text"
"origin" "-43 520.5 49"
// primitive 0
{
patchDef3
{
"textures/darkmod/decals/signs/decal_gui"
( 3 3 1 1 0 0 0 )
(
( ( -50.00359469866157 509.7445443208007 55.82979655507405 0 0 ) ( -42.45615239034044 522.6890453348676 56.51972746412003 0.5 3.061616997868383e-017 ) ( -34.90871008201941 535.6335463489345 57.20965837316601 1 6.123233995736766e-017 ) )
( ( -49.5032965186557 509.8516520275007 48.34726826135685 -3.061616997868383e-017 0.5 ) ( -41.95585421033445 522.7961530415677 49.0371991704028 0.4999999999999999 0.5 ) ( -34.40841190201343 535.7406540556347 49.72713007944878 1 0.5000000000000001 ) )
( ( -49.00299833864966 509.9587597342007 40.86473996763962 -6.123233995736766e-017 1 ) ( -41.45555603032847 522.9032607482676 41.55467087668559 0.4999999999999999 1 ) ( -33.90811372200733 535.8477617623345 42.24460178573155 0.9999999999999999 1 ) )
)
}
}
}
// entity 9
{
"classname" "func_static"
"name" "sign"
"model" "sign"
"origin" "-44 524 27"
// primitive 0
{
brushDef3
{
( -0.06670642400077702 -0.01428102755999469 0.9976704391619972 -35.8671446345377 ) ( ( -6.829904419802801e-010 0.015625 0 ) ( -0.015625 -6.829904419802801e-010 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( -0.8616132622506285 0.505058860402684 -0.05037974353930624 -2.020490204035809 ) ( ( -6.829904419802801e-010 0.015625 0 ) ( -0.015625 -6.829904419802801e-010 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( 0.503162820554722 0.8629667342710882 0.04599539393639586 -3.003380544879121 ) ( ( -6.829904419802801e-010 0.015625 0 ) ( -0.015625 -6.829904419802801e-010 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( 0.06670642400077702 0.01428102755999469 -0.9976704391619972 -36.13321584614108 ) ( ( -6.829904419802801e-010 0.015625 0 ) ( -0.015625 -6.829904419802801e-010 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( 0.8616132622506285 -0.505058860402684 0.05037974353930624 -1.979509673715256 ) ( ( -6.829904419802801e-010 0.015625 0 ) ( -0.015625 -6.829904419802801e-010 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( -0.503162820554722 -0.8629667342710882 -0.04599539393639586 -0.996622193909559 ) ( ( -6.829904419802801e-010 0.015625 0 ) ( -0.015625 -6.829904419802801e-010 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
}
}
// primitive 1
{
brushDef3
{
( -0.06670642400077702 -0.01428102755999469 0.9976704391619972 -31.86712460783332 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( -0.8616132622506285 0.505058860402684 -0.05037974353930624 0.9795097042778025 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( 0.503162820554722 0.8629667342710882 0.04599539393639586 -19.0033915000335 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( 0.06670642400077702 0.01428102755999469 -0.9976704391619972 11.86702447431155 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( 0.8616132622506285 -0.505058860402684 0.05037974353930624 -2.979509643154131 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( -0.503162820554722 -0.8629667342710882 -0.04599539393639586 -16.99663314906405 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
}
}
}
// entity 10
{
"classname" "atdm:ammo_firearrow"
"name" "atdm_ammo_firearrow_1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"origin" "176 255.314 32.6849"
"rotation" "1 0 0 0 0 -1 0 1 0"
}
// entity 11
{
"classname" "light"
"name" "light_1"
"_color" "0.11 0.1 0.07"
"falloff" "0"
"light_center" "0 0 0"
"light_radius" "10 10 14"
"nodiffuse" "0"
"noshadows" "0"
"nospecular" "0"
"origin" "1644 288 1330"
"rotation" "0.71934 0 0.694658 0 1 0 -0.694658 0 0.71934"
"texture" "lights/tdm_sky_fadebiground1"
}
// entity 12
{
"classname" "func_static"
"name" "func_static_4"
"model" "func_static_4"
"origin" "1600 288 1248"
"shaderparm4" "0.001"
"shaderparm5" "0.0002"
// primitive 0
{
patchDef3
{
"textures/darkmod/nature/skybox/starry1/clouds"
( 5 5 4 4 0 0 0 )
(
( ( 1472 416 1184 0 0 ) ( 1472 352 1248 0 0.5 ) ( 1472 288 1248 0 1 ) ( 1472 224 1248 0 1.5 ) ( 1472 160 1184 0 2 ) )
( ( 1536 416 1248 0.5 0 ) ( 1536 352 1312 0.5 0.5 ) ( 1536 288 1312 0.5 1 ) ( 1536 224 1312 0.5 1.5 ) ( 1536 160 1248 0.5 2 ) )
( ( 1600 416 1248 1 0 ) ( 1600 352 1312 1 0.5 ) ( 1600 288 1312 1 1 ) ( 1600 224 1312 1 1.5 ) ( 1600 160 1248 1 2 ) )
( ( 1664 416 1248 1.5 0 ) ( 1664 352 1312 1.5 0.5 ) ( 1664 288 1312 1.5 1 ) ( 1664 224 1312 1.5 1.5 ) ( 1664 160 1248 1.5 2 ) )
( ( 1728 416 1184 2 0 ) ( 1728 352 1248 2 0.5 ) ( 1728 288 1248 2 1 ) ( 1728 224 1248 2 1.5 ) ( 1728 160 1184 2 2 ) )
)
}
}
}
// entity 13
{
"classname" "func_static"
"name" "func_static_2"
"model" "func_static_2"
"origin" "1600 288 1208"
"shaderparm4" "0.1"
"shaderparm5" "0.1"
"shaderparm6" "0.4"
// primitive 0
{
patchDef3
{
"textures/darkmod/nature/skybox/starry1/twinkle_stars"
( 5 5 4 4 0 0 0 )
(
( ( 1472 416 1080 0 0 ) ( 1472 352 1208 0 0.75 ) ( 1472 288 1208 0 1.5 ) ( 1472 224 1208 0 2.25 ) ( 1472 160 1080 0 3 ) )
( ( 1536 416 1208 0.75 0 ) ( 1536 352 1336 0.75 0.75 ) ( 1536 288 1336 0.75 1.5 ) ( 1536 224 1336 0.75 2.25 ) ( 1536 160 1208 0.75 3 ) )
( ( 1600 416 1208 1.5 0 ) ( 1600 352 1336 1.5 0.75 ) ( 1600 288 1336 1.5 1.5 ) ( 1600 224 1336 1.5 2.25 ) ( 1600 160 1208 1.5 3 ) )
( ( 1664 416 1208 2.25 0 ) ( 1664 352 1336 2.25 0.75 ) ( 1664 288 1336 2.25 1.5 ) ( 1664 224 1336 2.25 2.25 ) ( 1664 160 1208 2.25 3 ) )
( ( 1728 416 1080 3 0 ) ( 1728 352 1208 3 0.75 ) ( 1728 288 1208 3 1.5 ) ( 1728 224 1208 3 2.25 ) ( 1728 160 1080 3 3 ) )
)
}
}
}
// entity 14
{
"classname" "light"
"name" "light_3"
"_color" "1 1 1"
"falloff" "0"
"light_center" "0 0 0"
"light_radius" "64 64 64"
"nodiffuse" "0"
"noshadows" "0"
"nospecular" "0"
"origin" "1620 288 1308"
}
// entity 15
{
"classname" "light"
"name" "light_2"
"_color" "0.53 0.53 0.53"
"falloff" "0"
"light_center" "0 0 0"
"light_radius" "96 96 128"
"nodiffuse" "0"
"noshadows" "0"
"nospecular" "0"
"origin" "1600 288 1304"
"texture" "lights/tdm_sky_starsbiground1"
}
// entity 16
{
"classname" "info_portalsky"
"name" "info_portalsky_2"
"origin" "1600 288 1288"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 17
{
"classname" "atdm:ammo_vinearrow"
"name" "atdm_ammo_vinearrow_1"
"inv_ammo_amount" "10"
"origin" "256 224 32"
}
// entity 18
{
"classname" "atdm:ammo_ropearrow"
"name" "atdm_ammo_ropearrow_1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"origin" "144 240 32"
}
// entity 19
{
"classname" "func_static"
"name" "extender_unskinned1"
"model" "models/darkmod/architecture/modules/exteriors/ext_timber01/ext_timber01_extender01.lwo"
"origin" "-225.569 126.429 48"
"rotation" "0 1 0 -1 0 0 0 0 1"
}
// entity 20
{
"classname" "func_static"
"name" "extender_skinned_timber"
"model" "models/darkmod/architecture/modules/exteriors/ext_timber01/ext_timber01_extender01.lwo"
"origin" "-225.569 302.43 48"
"rotation" "0 1 0 -1 0 0 0 0 1"
"skin" "timber01_boards"
}
// entity 21
{
"classname" "func_static"
"name" "extender_unskinned2"
"model" "models/darkmod/architecture/modules/exteriors/ext_timber01/ext_timber01_extender01.lwo"
"origin" "-225.569 478.429 48"
"rotation" "0 1 0 -1 0 0 0 0 1"
}
// entity 22
{
"classname" "func_static"
"name" "awning1"
"origin" "-128 688 32"
"model" "models/darkmod/architecture/modules/exteriors/ext_timber01/ext_timber01_window01_awning.lwo"
}
// entity 23
{
"classname" "func_static"
"name" "awning2"
"origin" "32 688 32"
"model" "models/darkmod/architecture/modules/exteriors/ext_timber01/ext_timber01_window01_awning.lwo"
"skin" "bright_lit_window02"
}
// entity 24
{
"classname" "func_static"
"name" "awning3"
"origin" "192 688 32"
"model" "models/darkmod/architecture/modules/exteriors/ext_timber01/ext_timber01_window01_awning.lwo"
}
// entity 25
{
"classname" "func_static"
"name" "sign_text1"
"gui" "guis/readables/sign_text_decals/sign_text_stone.gui"
"gui_parm1" "Switch Skin"
"model" "sign_text1"
"origin" "-75 472.5 49"
// primitive 0
{
patchDef3
{
"textures/darkmod/decals/signs/decal_gui"
( 3 3 1 1 0 0 0 )
(
( ( -82.00359469866157 461.7445443208007 55.82979655507405 0 0 ) ( -74.45615239034044 474.6890453348676 56.51972746412003 0.5 3.061616997868383e-017 ) ( -66.90871008201941 487.6335463489345 57.20965837316601 1 6.123233995736766e-017 ) )
( ( -81.5032965186557 461.8516520275007 48.34726826135685 -3.061616997868383e-017 0.5 ) ( -73.95585421033445 474.7961530415677 49.0371991704028 0.4999999999999999 0.5 ) ( -66.40841190201343 487.7406540556347 49.72713007944878 1 0.5000000000000001 ) )
( ( -81.00299833864966 461.9587597342007 40.86473996763962 -6.123233995736766e-017 1 ) ( -73.45555603032847 474.9032607482676 41.55467087668559 0.4999999999999999 1 ) ( -65.90811372200733 487.8477617623345 42.24460178573155 0.9999999999999999 1 ) )
)
}
}
}
// entity 26
{
"classname" "func_static"
"name" "sign1"
"model" "sign1"
"origin" "-76 476 27"
// primitive 0
{
brushDef3
{
( -0.06670643195280149 -0.01428102926242564 0.9976705580935672 -35.86716258698233 ) ( ( -6.829904419802801e-010 0.015625 0 ) ( -0.015625 -6.829904419802801e-010 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( -0.8616132622506285 0.505058860402684 -0.05037974353930624 -2.020476707995499 ) ( ( -6.829904419802801e-010 0.015625 0 ) ( -0.015625 -6.829904419802801e-010 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( 0.5031628805363972 0.8629668371447271 0.04599539941947344 -3.003464333574698 ) ( ( -6.829904419802801e-010 0.015625 0 ) ( -0.015625 -6.829904419802801e-010 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( 0.06670643195280149 0.01428102926242564 -0.9976705580935672 -36.13322362765977 ) ( ( -6.829904419802801e-010 0.015625 0 ) ( -0.015625 -6.829904419802801e-010 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( 0.8616132622506285 -0.505058860402684 0.05037974353930624 -1.9795229863538 ) ( ( -6.829904419802801e-010 0.015625 0 ) ( -0.015625 -6.829904419802801e-010 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( -0.5031628805363972 -0.8629668371447271 -0.04599539941947344 -0.9965396522514993 ) ( ( -6.829904419802801e-010 0.015625 0 ) ( -0.015625 -6.829904419802801e-010 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
}
}
// primitive 1
{
brushDef3
{
( -0.06670643195280149 -0.01428102926242564 0.9976705580935672 -31.8671411306133 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( -0.8616132622506285 0.505058860402684 -0.05037974353930624 0.9795230627667593 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( 0.5031628805363972 0.8629668371447271 0.04599539941947344 -19.00348027688006 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( 0.06670643195280149 0.01428102926242564 -0.9976705580935672 11.86703384876841 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( 0.8616132622506285 -0.505058860402684 0.05037974353930624 -2.979522909942261 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
( -0.5031628805363972 -0.8629668371447271 -0.04599539941947344 -16.9965555955568 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/darkmod/wood/boards/rough_pine_light" 0 0 0
}
}
}
// entity 27
{
"classname" "atdm:switch_rotate_lever"
"name" "atdm_switch_rotate_lever_1"
"origin" "-76.4035 475.464 63"
"rotate" "0 0 45"
"rotation" "0.414414 0.910088 0 -0.910088 0.414414 0 0 0 1"
"target0" "atdm_target_callscriptfunction_2"
}
// entity 28
{
"classname" "atdm:switch_rotate_lever"
"name" "atdm_switch_rotate_lever_2"
"origin" "-44.4035 523.464 63"
"rotate" "0 0 45"
"rotation" "0.414414 0.910088 0 -0.910088 0.414414 0 0 0 1"
"target0" "atdm_target_callscriptfunction_1"
}
// entity 29
{
"classname" "atdm:target_callscriptfunction"
"name" "atdm_target_callscriptfunction_1"
"origin" "-72 536 64"
"foreach" "0"
"call" "fixCM"
}
// entity 30
{
"classname" "atdm:target_callscriptfunction"
"name" "atdm_target_callscriptfunction_2"
"origin" "-96 488 64"
"foreach" "0"
"call" "switchSkin"
}
cm_skin.map (47,581 bytes)   
SteveL

SteveL

14.10.2015 18:07

reporter  

cm_skin.script (1,095 bytes)
SteveL

SteveL

14.10.2015 18:08

reporter   ~0007865

NB the attached test map uses TDM 2.05 assets, so will work only in SVN builds.
SteveL

SteveL

15.10.2015 18:50

reporter   ~0007870

One final tweak needed: the skinning code idDeclSkin::RemapShaderBySkin was set up to exclude invisible meshes like collision hulls from being reskinned. Commented out that restriction.

Commited at rev 6551

/trunk/cm/CollisionModel.h
/trunk/cm/CollisionModel_load.cpp
/trunk/cm/CollisionModel_local.h
/trunk/framework/DeclSkin.cpp
/trunk/game/Entity.cpp
/trunk/game/Entity.h
/trunk/game/physics/Clip.cpp
/trunk/game/physics/Clip.h
SteveL

SteveL

15.10.2015 18:52

reporter   ~0007871

binaries at 14407
SteveL

SteveL

26.10.2015 18:48

reporter   ~0007880

Last edited: 26.10.2015 19:13

And rev 6553: To protect older maps from unexpected changes, only maps that specify TDM 2.04+ will get skinned collision models loaded at map start

/trunk/game/Entity.cpp

EDIT: UNDONE. I forgot to check what happens when the pk4 doesn't specify a required version :( The game pretends that the pk4 requested the current TDM version, so this check can't help pk4s that don't have a required version.

Uncommitted at rev 6554

SteveL

SteveL

05.11.2015 18:48

reporter   ~0007885

Next test: Increase max CM limit to 8k instead of 4k.
SteveL

SteveL

07.01.2016 20:14

reporter   ~0007996

Last edited: 08.01.2016 21:25

Further commit at rev 6566: clip.cpp

Turns out the combined modelName+skinName is stored in the savegame file. The procedure that loads CMs from save games needs to be aware of it so it can reconstruct the proper combo.

We should change the ~ symbol later to chr(1) or something else that no mapper will ever use in a file name. Kept as ~ for now so people can test using their existing save games, but issue left open to change it next time I make another commit that'll break save games.

SteveL

SteveL

07.01.2016 20:19

reporter   ~0007997

Further commit, to up the CM limit to 8192.

Some maps exceed the 4096 limit when their skinned models get their different CMs. Early testing not found any perf hit. Also, most places that allocate a block of memory to hold CMs already use the entity limit (8192) instead of the CM limit, which should limit the potential for a perf hit, at least in those places.
SteveL

SteveL

07.01.2016 20:24

reporter   ~0007998

At rev 6567

/trunk/cm/CollisionModel_local.h
SteveL

SteveL

14.01.2016 19:31

reporter   ~0008025

Final commit at #6570: changed the delimiter in modelFileName~skinName in savegame files from ~ to chr(1) to avoid conflict with file names that contain a tilde

Issue History

Date Modified Username Field Change
11.10.2015 13:20 Springheel New Issue
11.10.2015 16:42 SteveL Assigned To => SteveL
11.10.2015 16:42 SteveL Status new => assigned
12.10.2015 00:19 SteveL Relationship added related to 0002678
12.10.2015 01:02 SteveL Note Added: 0007858
12.10.2015 01:04 SteveL Note Edited: 0007858
12.10.2015 01:06 SteveL Note Added: 0007859
12.10.2015 01:18 SteveL Note Added: 0007860
12.10.2015 18:12 SteveL Note Edited: 0007858
14.10.2015 18:03 SteveL Note Added: 0007864
14.10.2015 18:07 SteveL File Added: cm_skin.map
14.10.2015 18:07 SteveL File Added: cm_skin.script
14.10.2015 18:08 SteveL Note Added: 0007865
14.10.2015 18:09 SteveL Relationship replaced has duplicate 0002678
15.10.2015 18:50 SteveL Note Added: 0007870
15.10.2015 18:52 SteveL Note Added: 0007871
15.10.2015 18:52 SteveL Status assigned => resolved
15.10.2015 18:52 SteveL Fixed in Version => TDM 2.04
15.10.2015 18:52 SteveL Resolution open => fixed
15.10.2015 18:52 SteveL Target Version => TDM 2.04
19.10.2015 18:30 SteveL Status resolved => assigned
26.10.2015 18:48 SteveL Note Added: 0007880
26.10.2015 19:09 SteveL Note Edited: 0007880
26.10.2015 19:10 SteveL Note Edited: 0007880
26.10.2015 19:13 SteveL Note Edited: 0007880
05.11.2015 18:39 SteveL Relationship added related to 0003187
05.11.2015 18:48 SteveL Note Added: 0007885
04.01.2016 19:08 SteveL Relationship added related to 0004268
04.01.2016 19:35 SteveL Relationship added related to 0004269
07.01.2016 20:14 SteveL Note Added: 0007996
07.01.2016 20:19 SteveL Note Added: 0007997
07.01.2016 20:24 SteveL Note Added: 0007998
08.01.2016 21:25 SteveL Note Edited: 0007996
14.01.2016 19:31 SteveL Note Added: 0008025
14.01.2016 19:32 SteveL Status assigned => resolved
27.05.2018 16:46 nbohr1more Relationship added related to 0004802
14.12.2019 14:04 stgatilov Relationship added related to 0004970