Page 1 of 2

How to Make a Spitting Dino in Tres CE

Posted: Thu Sep 28, 2017 6:02 pm
by TheIdiot
I've recently, after a couple hours of furious fighting with the game, worked out how to make a spitting dinosaur in CE...and, despite the struggle, it turns out to be incredibly easy. I was able to apply this to the TC~Isle dilophosaurs and they worked perfectly, spitting venom on ActBite and unfurling their frills.

----------------------------------------------------------------------------------

The setup:
First off, you'll need the script provided with Tres CE, which can be found in the "doc/scripting/samples/" folder within the CE package. The script you want is "Spitter.nut" - you'll be pasting it into your mod's Scripts folder, which is essentially a replacement for ATX's MAPS folder. If you don't already have a Scripts folder for your mod, create one in the base directory (where you can also find the Data folder). Paste the Spitter.nut file into this folder - you can rename it to whatever you want if you wanto to make things a bit more organized, it will still work fine.

The Spitter.nut script's contents:
Time for a quick explaination of what this script does, from my meagre understanding of it. While I don't really understand much of the language involved in the .NUT file (although it appears somewhat similar to LUA scripting, which I am familiar with), I was able to pinpoint the key things you need to make the Spitter work by reading through CE's documentation. Open up the Spitter.nut file with any text editor, such as Notepad or the likely better choice of Notepad++. We've got three Class definitions in here - SpitterHelper, SpitterProjectile, and Spitter. These define the induvidual scripts for each entity within Trespasser, which appear to be called "classes" in the scripting. You can see that the SpitterProjectile class has the "extends CInstance" setting, which means it can only be applied to a CInstance; likewise for the Spitter class, which can only be applied to a CAnimal. These scripts tell the game how to use the SpitterProjectile as a...well, projectile, and the Spitter when to attack, how to aim its spit, and etc. The other class is SpitterHelper, which is a LevelScript. It is automatically initialized upon level load and appears to reset itself through the scripting to prevent it from breaking when the level changes. It will load by itself in any level, although it seems possible to restrict such a script to certain levels which is explained in the documentation. For now, level the script as it is.

How to activate the script and make your dinosaur spit an object:
Now, how do we actually apply these scripts to a CInstance? It's extremely simple. With your script in the Scripts folder, boot up TresEd, preferrably a level which already has a Spitter set up. All you really need is a Spit Projectile CInstance and a CAnimal that will do the spitting, but for ease of use I went straight into TC~Isle as it already has the triggers neccessary for hit detection and the dilophosaur's frill to unfold. First, you'll want to find your Spit Projectile instance and go into its T-Script. Add the line "string Script = "SpitterProjectile"" and save the script. TresEd will freak out and inform you that Script isn't a valid function, but you can safely ignore this. This tiny addition tells the spit object to use the SpitterProjectile class we looked at in the .NUT script, so it should now function as the projectile when a dinosaur performs ActBite and spits. You'll now need to find the dinosaur you want to make spit and do the same to its T-Script, adding the "string Script =" line, but instead of making the string SpitterProjectile, you want to make it Spitter, so that the CAnimal uses the Spitter script. Save the script and that's it! You're done! All you have to do is add the Script string to your instances and make sure they are using the correct class as defined in your script. Head into the game and test it out to be sure it works.

----------------------------------------------------------------------------------

There are a few settings you can tweak in the Spitter.nut file as well, which can be found under the "Spitter Configuration" header:
Spoiler: show

Code: Select all

	// ===== Spitter configuration ======

	// minimum time between spitting (seconds)
	fMinLaunchInterval = 4.0;

	// distance from head (along the head's viewing direction) where the projectile spawns
	fProjectileSpawnDistFromHead = 0.45;

	// projecile speed
	fProjectileSpeed = 7.0;

	// velocity impulse length (in milliseconds)
	iProjectileImpulseLen = 60;

	// spit probability (1.0 = 100%)
	fLaunchProbaility = 0.5;

	// min time to wait after a failed probability check before trying again (seconds)
	fProbabilityInterval = 1.0;

	// squared min horizontal distance between head and target to allow spitting (must be >0)
	fMinHorizDistSq = 2.25 * 2.25;

	// squared min distance between head and target to allow spitting (must be >0)
	fMinDistSq = 2.5 * 2.5;

	// cosine of the cone half-angle inside with the target must be located
	// (the cone is like a viewing cone along the viewing direction of the dino head, with the tip in head)
	fMaxAngleCosine = cos(60.0 * 0.01745329);// the first value is the angle in degrees, the second is just a radian conversion factor

	// enable to make dino launch at target direction rather than in its viewing direction
	bAutoAim = true;

	// ==================================
They work similar to the functions in ATX, allowing you to change the time between spit attacks, probability of spitting, and more. I'd make sure the spitter works at all before changing these and then make a backup of the script before editing anything, just in case.

I hope this allows more people to use spitting dinosaurs in their levels since it's really as easy as adding a couple of lines (and importing the triggers from TC for hit detection and resetting the spit object, but I'll leave that up to you :wink: ).

In short, a recap:
1. Copy the Spitter.nut script to your mod's Scripts folder.
2. Find the CInstance you wish to use as the SpitProjectile in TresEd.
3. Add the "string Script = "SpitterProjectile"" line and save.
4. Find the CAnimal you wihs to make spit.
5. Add the "string Script = "Spitter" line and save.
6. You're ready to go!

Re: How to Make a Spitting Dino in Tres CE

Posted: Thu Sep 28, 2017 7:09 pm
by Draconisaurus
Nice, thanks for posting! Though my old-timer Tres-self is pointing out to me that, had you been active in the community back when the spitting dilo was first made, you may more likely have described modding the actual TC~dilo level where the ATX feature was first introduced. :P Guess this gives an extra reason to do an EastDock re-release one day...

And now I'm curious. How complicated would it be to re-introduce the ATX jumping-dinos effect via the CE script engine?

Re: How to Make a Spitting Dino in Tres CE

Posted: Thu Sep 28, 2017 8:29 pm
by TheIdiot
Nice, thanks for posting! Though my old-timer Tres-self is pointing out to me that, had you been active in the community back when the spitting dilo was first made, you may more likely have described modding the actual TC~dilo level where the ATX feature was first introduced. :P
That's something I definitely would have done since I also eventually worked out how to make a number of spitting dinosaurs work together in a single level while running on ATX. I also did however test this on TC~dilo to make sure it worked, and it did. 8)
And now I'm curious. How complicated would it be to re-introduce the ATX jumping-dinos effect via the CE script engine?
Absolutely no clue. Presumably you would tell the scripting to propel the dinosaur forward and up by a certain upon doing ActBite and make sure it can only do it every X seconds, but I have no idea how to program that. Could also give the Raptors proper foot physics as well with Damage values assigned as that might cause their foot claws to do some damage, too. :wink:

Re: How to Make a Spitting Dino in Tres CE

Posted: Thu Sep 28, 2017 11:16 pm
by machf
TheIdiot wrote:Add the line "string Script = "SpitterProjectile"" and save the script. TresEd will freak out and inform you that Script isn't a valid function, but you can safely ignore this
Which can be prevented by addint a "Script" entry into the "GeomAdd.knownvalues.txt" file located inside both TresEd's and GeomAdd's folders.

I need to provide an updated version of that file, really, now that I've been working for so long on the Trespasser Script Reference I can tell you that several values are missing from it...

Re: How to Make a Spitting Dino in Tres CE

Posted: Fri Sep 29, 2017 2:10 am
by TheIdiot
Which can be prevented by addint a "Script" entry into the "GeomAdd.knownvalues.txt" file located inside both TresEd's and GeomAdd's folders.
Forgot all about that file!
I need to provide an updated version of that file, really, now that I've been working for so long on the Trespasser Script Reference I can tell you that several values are missing from it...
That's something I've been hoping someone would do for a while now. TresEd could really do with that since I find those errors start to stack up quite a bit in CE.

Re: How to Make a Spitting Dino in Tres CE

Posted: Fri Sep 29, 2017 4:09 am
by machf
Let's see if i can take some minutes tomorrow to do that.

Re: How to Make a Spitting Dino in Tres CE

Posted: Fri Sep 29, 2017 7:26 pm
by TheIdiot
machf wrote:Let's see if i can take some minutes tomorrow to do that.
By the way, it seems the T-Script Reference is missing Float Danger for CAnimals and CAnimal physics. Is this a real value? I've found it in a number of dinosaur physics boxes and I don't know exactly what it does, if anything at all. Does it have something to do with a CAnimal's Bravery value?

Re: How to Make a Spitting Dino in Tres CE

Posted: Fri Sep 29, 2017 7:51 pm
by machf
It's one of those parameters that weren't included in the original listing and so far I haven't added it, either... but yes, it's valid.

Most likely, it's related to that property...

Code: Select all

float Danger = 0.5;		// Default zero-  0-1 scale, how scary is this?

Re: How to Make a Spitting Dino in Tres CE

Posted: Fri Sep 29, 2017 8:37 pm
by Draconisaurus
As a note... Trespasser Twilight uses Big Red's direct EXE dump of all value keywords accepted by Trespasser. This excludes typos from the retail level files and includes ones which were not used. I highly recommend this version be used as starting point before adding CE-recognized values.

Re: How to Make a Spitting Dino in Tres CE

Posted: Fri Sep 29, 2017 9:16 pm
by TheIdiot
machf wrote:It's one of those parameters that weren't included in the original listing and so far I haven't added it, either... but yes, it's valid.

Most likely, it's related to that property...

Code: Select all

float Danger = 0.5;		// Default zero-  0-1 scale, how scary is this?
Is this limited to CAnimal-related objects, or can I apply this to, say, an electric fence or a scary picture of a T-rex? I wonder how well it works, in any case. I have managed to get a Raptor to run away from a T-rex through some heavy scripting, but I don't know for sure if it was the Danger = 1.0 value on the Rex's head and the Raptor having only Bravery = 0.7 or just random luck. I've been monitoring the dinosaurs using the Bones cheat and it seems the Raptor sees the Rex and then runs away to a safe distance.
Draconisaurus wrote:As a note... Trespasser Twilight uses Big Red's direct EXE dump of all value keywords accepted by Trespasser. This excludes typos from the retail level files and includes ones which were not used. I highly recommend this version be used as starting point before adding CE-recognized values.
I thought that's what I was using, but I'll have to check then or just wait for machf to do his thing. :)

Re: How to Make a Spitting Dino in Tres CE

Posted: Fri Sep 29, 2017 10:19 pm
by Draconisaurus
Depends where you got it from... The knownvalues thingy in the download of GeomAdd (or TresEd) itself seems to have been built through compilation of retail-present values (including typos) and possibly also guessed values.

Btw, I am 100% sure that the Danger value for CAnimal physics boxes is meant to influence AI in such a way that they avoid higher danger levels in animal-to-animal confrontations, for example to make a RaptorA go around and attack the sides or back of a Trike instead of its face.

Re: How to Make a Spitting Dino in Tres CE

Posted: Sat Sep 30, 2017 12:02 am
by machf
TheIdiot wrote:
machf wrote:It's one of those parameters that weren't included in the original listing and so far I haven't added it, either... but yes, it's valid.

Most likely, it's related to that property...

Code: Select all

float Danger = 0.5;		// Default zero-  0-1 scale, how scary is this?
Is this limited to CAnimal-related objects, or can I apply this to, say, an electric fence or a scary picture of a T-rex? I wonder how well it works, in any case. I have managed to get a Raptor to run away from a T-rex through some heavy scripting, but I don't know for sure if it was the Danger = 1.0 value on the Rex's head and the Raptor having only Bravery = 0.7 or just random luck. I've been monitoring the dinosaurs using the Bones cheat and it seems the Raptor sees the Rex and then runs away to a safe distance.
I don't really remember much about that one... must do further tests, I guess.
Draconisaurus wrote:As a note... Trespasser Twilight uses Big Red's direct EXE dump of all value keywords accepted by Trespasser. This excludes typos from the retail level files and includes ones which were not used. I highly recommend this version be used as starting point before adding CE-recognized values.
I thought that's what I was using, but I'll have to check then or just wait for machf to do his thing. :)
Well, I *have* used Big Red's as a starting point, and included the typos as commented lines in case anyone wants to have them (I think I got all the typos, as after a while I got tired of searching for each of them by doing copy/paste from the original GeomAdd.knownvalues.txt file, so I just relied on a quick visual examination of the listing). The updated listing is below between "Spoiler" tags (for length reasons), and also attached inside a .ZIP file.
Spoiler: show

Code: Select all

% This file contains the names of valid values, and is used
% during level verification.
% Use a '%' at the begining of a line to specify a comment
% Use a single "%d" in a value to mean "any sequence of digits",
% Eg. to match "Model00, Model01, Model02, ..." use Model%d
% WARNING: There is no error checking, so make sure names contain
% no more than one '%' character.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% These are values used by GeomAdd and TresEd.
% Trespasser ignores any unrecognised values such as these.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ext_GeometryType
ext_IsOnTerrain
ext_Model%d
ext_ImportScale

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% These are all of the values that are listed in the original
% Trespasser executable, extracted by Big Red with a script.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Class
Mesh
Physics
Min
Max
InitialState
MinHighTime
MaxHighTime
MinLowTime
MaxLowTime
Toggle
Close
Decay
SpangCount
Armour
DamageMultiplier
DamagePerSecond
Mass
Density
Elasticity
Floats
Friction
Frozen
File
Impulse
Location
Material
Moveable
Planted
Open
Ratio
RotationRatio
Reset
Shadow
Small
SoundMaterial
Substitute
Tangible
Target
Type
Value
HintID
Volume
Scale
MinScale
MaxScale
ScaleLimit
FogNear
FogFar
WindSpeedX
WindSpeedY
SubDivision
FillScreen
CriticalHit
HitPoints
MaxHitPoints
Regeneration
ReallyDie
DieRate
Ouch
Fall
Culling
ShadowCulling
CullMaxDist
CullMaxRadius
CullMaxDistShadow
CullMaxRadiusShadow
Priority
HardwareOnly
SoftwareOnly
NoLowRes
CameraFOV
PixelError
SubdivisionLen
AltPixelError
AltSubdivisionLen
AlwaysFace
NoCache
NoCacheAlone
CacheMul
TeleportDestObjectName
HeightRelative
OnTerrain
SetPosition
SetOrientation
FireDelay
FireCount
FireExpression
Probability
FireAtZero
ResetFire
ProcessStyle
RepeatPeriod
BoundVol
SequenceDelayMin
SequenceDelayMax
Element1
Element2
SoundMaterial1
SoundMaterial2
MinVelocity
MaxVelocity
CreatureDie
CreatureWake
CreatureSleep
CreatureCriticalDamage
CreatureDamagePoints
EvaluateAll
MasterVolumeMin
MasterVolumeMax
ActionType
Sample
SpatialType
Volume
StopAfterFade
Attenuation
BoundaryVolume
MaxVolDistance
Emitter
Frustum
Mute
OutsideVolume
Looped
LoopCount
MaximumDistance
VolumeFader
Attach
Bitmap
Center
Discard
XPos
YPos
FogType
FogPower
FogHalf
AmbientLight
FarClipPlane
NearClipPlane
UseObject
PickUpObject
PutDownObject
TriggerName
TrrPixelTol
TrrPixelTolFar
TrrNoShadowDist
TrrNoTextureDist
TrrNoDynTextureDist
TrrMovingShadows
NearTolerance
FarTolerance
NearZ
FarZ
FarZNo
SortPixelTol
MaxNumToSort
Sort2PartAt
Sort4PartAt
TerrNearTolerance
TerrFarTolerance
TerrNearZ
TerrFarZ
UseSeperateTol
PixelRatio
MinPixels
CacheAge
CacheActive
CacheIntersect
CreatureEnterCount
CreatureLeaveCount
PlayerInTrigger
PlayerLeaveTrigger
PlayerEnterTrigger
ObjectInTrigger
ObjectLeaveTrigger
ObjectEnterTrigger
CreatureInTrigger
CreatureLeaveTrigger
CreatureEnterTrigger
TriggerActivate
PointTrigger
ObjectName
Enable
Query
LevelName
AnimationName
SequenceListenNames
SequenceOrderNames
SequenceEvalNowNames
SequenceFalseTriggerName
X
Y
Z
Breakable
BreakStrength
Delta
Drive
Delay
AngleMin
AngleMax
CMagnet
Instance
Gender
Magnet
MasterObject
RestoreStrength
SlaveMagnet
SlaveObject
XTFree
YTFree
ZTFree
XFree
YFree
ZFree
HandPickup
ShoulderHold
ResolutionRatio
Strength
Interval
Radius
AudioEnvironment
ReverbVolume
ReverbDecay
ReverbDamping
Bumpiness
Bumpmaps
CacheIntersecting
Detail1
Detail2
Detail3
Detail4
DetailShadow
Diffuse
Emissive
Texture
Merge
Normals
Curved
NumDoubleJoints
NumJoints
PRadius
PVA
Reflect
Refract
RefractIndex
Specular
SpecularAngle
Split
Visible
Wrap
Unlit
ClutStartColor
ClutStopColor
ClutReflectionColor
DefaultClutStartColor
DefaultClutStopColor
DefaultClutReflectionColor
AlphaWaterProperties
NonAlphaWaterProperties
Body
Foot
LeftFoot
RightFoot
LeftRearFoot
RightRearFoot
Hand
Head
Neck
Tail
ReverseKnees
SubMaterial%d
% Goes from SubMaterial01 to SubMaterial20
SubMaterialEnd
Anim%d
% Goes from Anim00 to Anim29
AnimB%d
% Goes from AnimB00 to AnimB29
Frame
FreezeFrame
TrackTwo
DeltaX
DeltaY
AnimSubMaterial
Vertex%d
% Goes from Vertex000 to Vertex511
Model%d
% Goes from Model00 to Model11
A%d
% Goes from A00 to A199
CTerrainObj
Height
Alpha
R
G
B
AlphaChannel
MipMap
SkyFlatColour
Intensity
Ammo
MaxAmmo
ROF
AutoFire
AltAmmoCount
AmmoPickup
AmmoAlmostEmpty
AmmoHalfFull
AmmoFull
AmmoReallyFull
Damage
TranqDamage
EmptyClipSample
RingSample
Range
Kick
Push
Barrel
RecoilOrg
RecoilForce
MFlashOrg
MFlashDuration
RandomRotate
MFlashObject%d
MFlashObject1
MFlashObject2
MFlashObject3
MFlashObject4
MFlashObject5
MFlashObject6
MFlashObject7
MFlashObject8
MFlashObject9
ActTestMouth
ActTestHeadPosition
ActTestWagTail
ActTestHeadOrient
ActTestHeadCock
ActNothing
ActLookAround
ActSniff
ActGlare
ActCower
ActBackAway
ActRearBack
ActCockHead
ActSniffTarget
ActTaste
ActLookAt
ActMoveBy
ActDash
ActApproach
ActGetOut
ActJumpBack
ActPursue
ActFlee
ActStayAway
ActStayNear
ActCircle
ActStalk
ActWander
ActDontTouch
ActMoveAway
ActJump
ActMoveToward
ActDie
ActCroon
ActSnarl
ActHowl
ActHelp
ActOuch
ActTailSwipe
ActShoulderCharge
ActJumpBite
ActDrink
ActRam
ActFeint
ActBite
ActEat
Action%d
% Goes from Action00 to Action99
ActTestMouthFear
ActTestMouthLove
ActTestMouthAnger
ActTestMouthCuriosity
ActTestMouthHunger
ActTestMouthThirst
ActTestMouthFatigue
ActTestMouthPain
ActTestMouthSolidity
ActTestHeadPositionFear
ActTestHeadPositionLove
ActTestHeadPositionAnger
ActTestHeadPositionCuriosity
ActTestHeadPositionHunger
ActTestHeadPositionThirst
ActTestHeadPositionFatigue
ActTestHeadPositionPain
ActTestHeadPositionSolidity
ActTestWagTailFear
ActTestWagTailLove
ActTestWagTailAnger
ActTestWagTailCuriosity
ActTestWagTailHunger
ActTestWagTailThirst
ActTestWagTailFatigue
ActTestWagTailPain
ActTestWagTailSolidity
ActTestHeadOrientFear
ActTestHeadOrientLove
ActTestHeadOrientAnger
ActTestHeadOrientCuriosity
ActTestHeadOrientHunger
ActTestHeadOrientThirst
ActTestHeadOrientFatigue
ActTestHeadOrientPain
ActTestHeadOrientSolidity
ActTestHeadCockFear
ActTestHeadCockLove
ActTestHeadCockAnger
ActTestHeadCockCuriosity
ActTestHeadCockHunger
ActTestHeadCockThirst
ActTestHeadCockFatigue
ActTestHeadCockPain
ActTestHeadCockSolidity
ActNothingFear
ActNothingLove
ActNothingAnger
ActNothingCuriosity
ActNothingHunger
ActNothingThirst
ActNothingFatigue
ActNothingPain
ActNothingSolidity
ActLookAroundFear
ActLookAroundLove
ActLookAroundAnger
ActLookAroundCuriosity
ActLookAroundHunger
ActLookAroundThirst
ActLookAroundFatigue
ActLookAroundPain
ActLookAroundSolidity
ActSniffFear
ActSniffLove
ActSniffAnger
ActSniffCuriosity
ActSniffHunger
ActSniffThirst
ActSniffFatigue
ActSniffPain
ActSniffSolidity
ActGlareFear
ActGlareLove
ActGlareAnger
ActGlareCuriosity
ActGlareHunger
ActGlareThirst
ActGlareFatigue
ActGlarePain
ActGlareSolidity
ActCowerFear
ActCowerLove
ActCowerAnger
ActCowerCuriosity
ActCowerHunger
ActCowerThirst
ActCowerFatigue
ActCowerPain
ActCowerSolidity
ActBackAwayFear
ActBackAwayLove
ActBackAwayAnger
ActBackAwayCuriosity
ActBackAwayHunger
ActBackAwayThirst
ActBackAwayFatigue
ActBackAwayPain
ActBackAwaySolidity
ActRearBackFear
ActRearBackLove
ActRearBackAnger
ActRearBackCuriosity
ActRearBackHunger
ActRearBackThirst
ActRearBackFatigue
ActRearBackPain
ActRearBackSolidity
ActCockHeadFear
ActCockHeadLove
ActCockHeadAnger
ActCockHeadCuriosity
ActCockHeadHunger
ActCockHeadThirst
ActCockHeadFatigue
ActCockHeadPain
ActCockHeadSolidity
ActSniffTargetFear
ActSniffTargetLove
ActSniffTargetAnger
ActSniffTargetCuriosity
ActSniffTargetHunger
ActSniffTargetThirst
ActSniffTargetFatigue
ActSniffTargetPain
ActSniffTargetSolidity
ActTasteFear
ActTasteLove
ActTasteAnger
ActTasteCuriosity
ActTasteHunger
ActTasteThirst
ActTasteFatigue
ActTastePain
ActTasteSolidity
ActLookAtFear
ActLookAtLove
ActLookAtAnger
ActLookAtCuriosity
ActLookAtHunger
ActLookAtThirst
ActLookAtFatigue
ActLookAtPain
ActLookAtSolidity
ActMoveByFear
ActMoveByLove
ActMoveByAnger
ActMoveByCuriosity
ActMoveByHunger
ActMoveByThirst
ActMoveByFatigue
ActMoveByPain
ActMoveBySolidity
ActDashFear
ActDashLove
ActDashAnger
ActDashCuriosity
ActDashHunger
ActDashThirst
ActDashFatigue
ActDashPain
ActDashSolidity
ActApproachFear
ActApproachLove
ActApproachAnger
ActApproachCuriosity
ActApproachHunger
ActApproachThirst
ActApproachFatigue
ActApproachPain
ActApproachSolidity
ActGetOutFear
ActGetOutLove
ActGetOutAnger
ActGetOutCuriosity
ActGetOutHunger
ActGetOutThirst
ActGetOutFatigue
ActGetOutPain
ActGetOutSolidity
ActJumpBackFear
ActJumpBackLove
ActJumpBackAnger
ActJumpBackCuriosity
ActJumpBackHunger
ActJumpBackThirst
ActJumpBackFatigue
ActJumpBackPain
ActJumpBackSolidity
ActPursueFear
ActPursueLove
ActPursueAnger
ActPursueCuriosity
ActPursueHunger
ActPursueThirst
ActPursueFatigue
ActPursuePain
ActPursueSolidity
ActFleeFear
ActFleeLove
ActFleeAnger
ActFleeCuriosity
ActFleeHunger
ActFleeThirst
ActFleeFatigue
ActFleePain
ActFleeSolidity
ActStayAwayFear
ActStayAwayLove
ActStayAwayAnger
ActStayAwayCuriosity
ActStayAwayHunger
ActStayAwayThirst
ActStayAwayFatigue
ActStayAwayPain
ActStayAwaySolidity
ActStayNearFear
ActStayNearLove
ActStayNearAnger
ActStayNearCuriosity
ActStayNearHunger
ActStayNearThirst
ActStayNearFatigue
ActStayNearPain
ActStayNearSolidity
ActCircleFear
ActCircleLove
ActCircleAnger
ActCircleCuriosity
ActCircleHunger
ActCircleThirst
ActCircleFatigue
ActCirclePain
ActCircleSolidity
ActStalkFear
ActStalkLove
ActStalkAnger
ActStalkCuriosity
ActStalkHunger
ActStalkThirst
ActStalkFatigue
ActStalkPain
ActStalkSolidity
ActWanderFear
ActWanderLove
ActWanderAnger
ActWanderCuriosity
ActWanderHunger
ActWanderThirst
ActWanderFatigue
ActWanderPain
ActWanderSolidity
ActDontTouchFear
ActDontTouchLove
ActDontTouchAnger
ActDontTouchCuriosity
ActDontTouchHunger
ActDontTouchThirst
ActDontTouchFatigue
ActDontTouchPain
ActDontTouchSolidity
ActMoveAwayFear
ActMoveAwayLove
ActMoveAwayAnger
ActMoveAwayCuriosity
ActMoveAwayHunger
ActMoveAwayThirst
ActMoveAwayFatigue
ActMoveAwayPain
ActMoveAwaySolidity
ActJumpFear
ActJumpLove
ActJumpAnger
ActJumpCuriosity
ActJumpHunger
ActJumpThirst
ActJumpFatigue
ActJumpPain
ActJumpSolidity
ActMoveTowardFear
ActMoveTowardLove
ActMoveTowardAnger
ActMoveTowardCuriosity
ActMoveTowardHunger
ActMoveTowardThirst
ActMoveTowardFatigue
ActMoveTowardPain
ActMoveTowardSolidity
ActDieFear
ActDieLove
ActDieAnger
ActDieCuriosity
ActDieHunger
ActDieThirst
ActDieFatigue
ActDiePain
ActDieSolidity
ActCroonFear
ActCroonLove
ActCroonAnger
ActCroonCuriosity
ActCroonHunger
ActCroonThirst
ActCroonFatigue
ActCroonPain
ActCroonSolidity
ActSnarlFear
ActSnarlLove
ActSnarlAnger
ActSnarlCuriosity
ActSnarlHunger
ActSnarlThirst
ActSnarlFatigue
ActSnarlPain
ActSnarlSolidity
ActHowlFear
ActHowlLove
ActHowlAnger
ActHowlCuriosity
ActHowlHunger
ActHowlThirst
ActHowlFatigue
ActHowlPain
ActHowlSolidity
ActHelpFear
ActHelpLove
ActHelpAnger
ActHelpCuriosity
ActHelpHunger
ActHelpThirst
ActHelpFatigue
ActHelpPain
ActHelpSolidity
ActOuchFear
ActOuchLove
ActOuchAnger
ActOuchCuriosity
ActOuchHunger
ActOuchThirst
ActOuchFatigue
ActOuchPain
ActOuchSolidity
ActTailSwipeFear
ActTailSwipeLove
ActTailSwipeAnger
ActTailSwipeCuriosity
ActTailSwipeHunger
ActTailSwipeThirst
ActTailSwipeFatigue
ActTailSwipePain
ActTailSwipeSolidity
ActShoulderChargeFear
ActShoulderChargeLove
ActShoulderChargeAnger
ActShoulderChargeCuriosity
ActShoulderChargeHunger
ActShoulderChargeThirst
ActShoulderChargeFatigue
ActShoulderChargePain
ActShoulderChargeSolidity
ActJumpBiteFear
ActJumpBiteLove
ActJumpBiteAnger
ActJumpBiteCuriosity
ActJumpBiteHunger
ActJumpBiteThirst
ActJumpBiteFatigue
ActJumpBitePain
ActJumpBiteSolidity
ActDrinkFear
ActDrinkLove
ActDrinkAnger
ActDrinkCuriosity
ActDrinkHunger
ActDrinkThirst
ActDrinkFatigue
ActDrinkPain
ActDrinkSolidity
ActRamFear
ActRamLove
ActRamAnger
ActRamCuriosity
ActRamHunger
ActRamThirst
ActRamFatigue
ActRamPain
ActRamSolidity
ActFeintFear
ActFeintLove
ActFeintAnger
ActFeintCuriosity
ActFeintHunger
ActFeintThirst
ActFeintFatigue
ActFeintPain
ActFeintSolidity
ActBiteFear
ActBiteLove
ActBiteAnger
ActBiteCuriosity
ActBiteHunger
ActBiteThirst
ActBiteFatigue
ActBitePain
ActBiteSolidity
ActEatFear
ActEatLove
ActEatAnger
ActEatCuriosity
ActEatHunger
ActEatThirst
ActEatFatigue
ActEatPain
ActEatSolidity
Archetype
AIType
AIMass
Danger
Fear
Love
Anger
Curiosity
Hunger
Thirst
Fatigue
Pain
Solidity
HumanFear
HumanLove
HumanAnger
HumanCuriosity
HumanHunger
HumanThirst
HumanFatigue
HumanPain
HumanSolidity
DamageFear
DamageLove
DamageAnger
DamageCuriosity
DamageHunger
DamageThirst
DamageFatigue
DamagePain
DamageSolidity
Bravery
Team
Speed
Mouth
AI
Climb
Dinosaur
Pathfind
Vocal
TerrainPathfinding
SenseTerrain
SenseObjects
SenseAnimates
WakeUp
Sleep
StayNearMax
StayNearOK
StayNearTarget
StayAwayMin
StayAwayOK
StayAwayTarget
BiteTargetDistance
FeintTargetDistance
Width
HeadReach
TailReach
ClawReach
JumpDistance
JumpUp
JumpDown
WalkOver
WalkUnder
JumpOver
CrouchUnder
MoveableMass
UpAngle
DownAngle
NodesPerSec
MaxNodes
TimeToForgetNode
TimeToForgetInfluence
MaxPathLength
MaxAStarSteps
Solid
Dust
Log
Number
Velocity
Lifespan
Size
Length
Gravity
StuckGravity
Spread
Threshold
TextPosition
TextDisplayTime
TextAtTop
OverlayText
ResourceID

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% These are all values that are used in the original levels but
% use incorrect capitalization, as values are case-sensitive,
% or are just incorrect typos.
% Uncomment the lines if you want to ignore the errors.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% aitype
% culling
% curved
% meat
% refract
% shadow
% ActDying
% ActMoveTowards
% BoundBol
% Breakstrength
% CachIntersecting
% GravityStuck
% RestoringForce
GeomAdd.knownvalues.zip
(4.49 KiB) Downloaded 475 times
I will later make another one with the CE values added (like that "Script" value and the re-enabled dinosaur activities)...

EDIT: well, I went through the CE documentation, and so far, I've only needed to add lines for two values, as the other ones introduced in CE are just reusing names already used elsewhere... so, the beginning of the file now looks like this:

Code: Select all

% This file contains the names of valid values, and is used
% during level verification.
% Use a '%' at the begining of a line to specify a comment
% Use a single "%d" in a value to mean "any sequence of digits",
% Eg. to match "Model00, Model01, Model02, ..." use Model%d
% WARNING: There is no error checking, so make sure names contain
% no more than one '%' character.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% These are values used by GeomAdd and TresEd.
% Trespasser ignores any unrecognised values such as these.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ext_GeometryType
ext_IsOnTerrain
ext_Model%d
ext_ImportScale

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% These are all values that have been added in Trespasser CE
% so far, you may comment them out if you don't want them.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ScriptAT
Script

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% These are all of the values that are listed in the original
% Trespasser executable, extracted by Big Red with a script.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The whole listing is attached below inside a .ZIP file.
GeomAdd.knownvalues.CE.zip
(4.56 KiB) Downloaded 479 times

Re: How to Make a Spitting Dino in Tres CE

Posted: Sat Sep 30, 2017 2:07 am
by tatu
It seems like you forgot the typo "Pathfinding" found in $AnneBody.

Re: How to Make a Spitting Dino in Tres CE

Posted: Sat Sep 30, 2017 2:20 am
by machf
tatu wrote:It seems like you forgot the typo "Pathfinding" found in $AnneBody.
Now that you mention it... there's also "TerrainPathFinding" as another typo, apparently.
Fortunately I commented them out by default, so it doesn't matter much that they're not there.
I'm partial to letting them out, BTW, so that modders correct those typos where needed rather than ignore them...

And the big question: is it worth making similar files for the earlier releases of Trespasser? (release 22, release 32, release 55, etc.)

Re: How to Make a Spitting Dino in Tres CE

Posted: Sat Sep 30, 2017 6:58 pm
by Draconisaurus
machf wrote:I'm partial to letting them out, BTW, so that modders correct those typos where needed rather than ignore them...
Same.
And the big question: is it worth making similar files for the earlier releases of Trespasser? (release 22, release 32, release 55, etc.)
I wouldn't think so... Unless you want to cast GeomAdd Known Values files into aether for use in alternate realities where those versions of Tres ended up as retail and thus the basis of alternate TresCom websites...