The NGLE Manual
Scripts
Secrets
This can be used in one
of two ways - to set a global number of secrets or to set
the numbers of secrets for each level.
Syntax: Customize=
CUST_SET_SECRET_NUMBER, NumberOfSecrets
To have a TR4 style of overall secrets without knowing how
many are in each level, insert the script entry into the
script for the title level with the total number of secrets
for the whole game.

To have the number of
secrets displayed for each level, insert
the script entry into the script for each level along with
the number of secrets for that level.
***
AddEffect=
Syntax: AddEffect=Id,
EffectType (ADD_), FlagsEffect (FADD_), JointType (JOINT_),
DispX, DispY, DispZ, DurateEmit, DuratePause, Extra param
array
Scope: to use in [Level] section
AddEffect command is suggested only for advanced level
builders.
Its more common usage is to have animcommands to use in
animation editor (of wad merger program) to add particles
effects to moveable only in specific moments (frame) of
animation.
You can add: blood, flame, smoke and mist (like waterfall
mist)
Theorically you can use add effect also like common triggers
anyway the better usage is to convert the trigger in
animcommand and then add it in animation of moveable.
Arguments:
Id = This is a simple identifier of what addeffect command
of script file you refer in trigger windows. It works like
first argument of PuzzleItem or PuzzleCombo commands.
For example if you type "1" this means you'll refer to this
addeffect in trigger window choosing 1 like effect to add.
EffectType= you set in this field the ADD_ constant to
choose the effect type to add. You find the full list in
reference panel of ng_center program.
Currently you can use one of following values:
ADD_FLAME (1) = Flame (fire)
ADD_SMOKE (2) = Smoke
ADD_BLOOD (3) = Blood, vlady
ADD_MIST (4) = Mist, like water mist
FlagsEffect (FADD_...)
You can use some flag effects (FADD_) to override other
settings about durate or behavior of effect.
There are following values you can choose:
FADD_CONTINUE_EMIT ($0100)
If you use this flag, the values typed in DurateEmit and
DuratePause will be ignored.
You should use this flag for effect types requiring a
continue emission, like mist and flames.
FADD_DURATE_STATEID ($0200)
If you want you can keep this effect active until moveable
is in current state id.
Using this flag the time durate set in trigger window will
be ignored, and the effect will be removed only when
moveable will change its state Id with a value different
than that used at start of effect.
FADD_DURATE_ANIMATION ($8000)
This flag work in very similar way of above flag
fadd_durate_stateid, but in this case the value to check for
condition emit/disable is the animation number.
FADD_SMOKE_EXHAUST:$0400
This flag will be used only for ADD_SMOKE type effect.
There are two different smoke emitters: the default is a
common smoke will go up and disappear in fast time, while
other is the exahust smoke you see also in jeep or sidecar.
If you want use exhaust smoke set this flag, while you want
a more traditional smoke don'use this flag.
FADD_ROTATE_90 ($2000)
FADD_ROTATE_180 ($4000)
FADD_ROTATE_270 ($0800)
The fadd_rotate flags are used only in particular
circustances , when you use an effect type that use the
orientation (horizontal) of object to compute the direction
of emitting.
In this case you can alterate the orienting of emit adding
one of above flags. For example if you want the mist strip
will be oriented in side instead of in front of object
facing, you can use FADD_ROTATE_90 flag.
FADD_DURATE_SINGLE_FRAME:$1000
This flag force the emitting to work only for single frame.
There will be a single emitting and then the effect will be
disabled.
I think only blook can work with this flag.
FADD_NONE (0)
If you don't want set any flag you should type FADD_NONE or
0 (zero) in this field.
JointType (JOINT_...)
Other to specify the type of effect you have to set also the
exact position where to show this effect.
This compute is a bit complicated and you have to start from
a point corresponding to some joint of moveable and then
(see following fields DispX, DispY and DispZ) set the
displacement from this joint you chose.
You can choose one of following joints:
JOINT_SINGLE_MESH:0
JOINT_PUBIS:0
JOINT_LEFT_THIGH:1
JOINT_LEFT_KNEE:2
JOINT_LEFT_ANCKLE:3
JOINT_RIGHT_THIGH:4
JOINT_RIGHT_KNEE:5
JOINT_RIGHT_ANCKLE:6
JOINT_ABDOMEN:7
JOINT_NECK:8
JOINT_LEFT_SHOULDER:9
JOINT_LEFT_ELBOW:10
JOINT_LEFT_WRIST:11
JOINT_RIGHT_SHOULDER:12
JOINT_RIGHT_ELBOW:13
JOINT_RIGHT_WRIST:14
About the value JOINT_SINGLE_MESH (0), it will be used for
moveable using a single mesh. In this situation the origin
of effect will be the center of mesh (really the pivot but
it's very often the center of single meshes)
Differently, when you want add a particle effect to
multi-mesh moveables you have to set a joint like origin and
then modify this origin with DispX, DispY and DispZ fields
to create the effect in wished position.
See following field descriptions for more infos.
DispX, DispY, DispZ fields.
The three values DispX, DispY and DispZ are the distance
between origin of effect you set in Joint field.
To understand how set these 3 values it's more easy to do an
example.
If you want add smoke to lara's mouth (as breath) you should
choose a joint near to target point, so we could choose the
neck, i.e. the JOINT_NECK to type in joint field.
Then we should move this origin because we don't want the
smoke in the neck but in upper and forward position.
To understand the axis X,Y,Z you can imaginate to watch lara
while she has her face in front of you. (face to face)
Well, now the X,Y and Z axis have following orienting:
X Values will be negative at right hand of lara (but at your
left) while the x values will become positive going to left
hand of lara (but to your right)
Y Values will be negative when moving to head of lara
(upward) while the Y values will be positive when moving to
feet of lara (downstair)
Z Values will be positive when the direct is to your face
(you are looking lara, do you remember?) while the z values
will become negative go back to lara.
Following above orienting we could use these value to move
the smoke in front of lara's mouth
Since we start from neck as origin, we should:
Move in front direction the smoke, because the mouth is put
out of neck, so this regard the Z coord, and we'll use a
positive values because the smoke will in front of lara and
not back.
DispZ = +70
Then we need to move upward the smoke because the neck is
down the mouth, since Y axe has negative values for upwards
and positive values for downstair we could use value:
DispY = -70
About DispX we can let it to 0 because the neck and mouth
are on same vertical line.
So we'll use the displacement:
JOINT_NECK, 0, -70, 70
and the smoke should be (about) in front of lara's mouth.
DurateEmit and DuratePause fields.
For some effects, like smoke and blood, it's necessary
alternate a phase of emitting particles with other phase of
pause to perimit at particles to decay.
The values you type in above fields are number of frames.
For example if you insert as DurateEmit 3 and as DuratePause
10, the effect will be emitted for 3 consecutive frames and
will be suspended for 10 frames.
Chaning these two values you can set the wished intensity of
effect.
Some tip to set these two fields:
Fire and Smoke: it's better to use flag FADD_CONTINUE_EMIT
to have continue emit. In this case it's not important the
values type in durate and pause emit fields because they
will be ignored.
For blood: set 1 as emit and 30 for pause.
For mist: depend by result you want get. In some
circustances also mist works fine with FADD_CONTINUE_EMIT
flag, anyway if you want simulate sprays you can use 1 as
emit and 3 as pause.
Extra Param array fields
From this field you have optional fields changing in
according with effect type.
Currently there are extra parameters only for mist but in
short time will be added also for other effects.
Extra parameters for mist.
Extra1 = Size of mist ball. Default value is 12
Extra2 = Number of mist balls. Default is 1. You can set a
max of 4 mist balls, they will be placer over an ideal line.
The mist line will be oriented following facing of current
moveable,anyway you can rotate the facing of mist line using
rotate flags.
Extra3 = Color of mist. You can set a MIST_COL_ value. You
find all colors in reference panel of NG_Center program
Extra4 = Persistence time of mist. Default value = 6. You
should use this field only if the moveable is moving
fastling and you want let a wake. Bigger values, longer
wakes.
AssignSlot=
Syntax:
AssignSlot=SlotType, NewObjectType
Scope: To use in [Level] section
SlotType = Number or constant name to identifiy a slot
position of standard tomb4 wads (example: "ENEMY_JEEP" or
34)
NewObjectType = Code to identify some new object supported
by trng engine.
Currently there are following OBJ_ codes:
2 $0002: OBJ_MOTOR_BOAT
6 $0006: OBJ_MOTOR_BOAT_ANIM
1 $0001: OBJ_RUBBER_BOAT
5 $0005: OBJ_RUBBER_BOAT_ANIM
(You can find the updated list in [Reference] panel of NG
Center program)
You can type indifferently the name o the number, for
example:
AssignSlot=ENEMY_JEEP, OBJ_RUBBER_BOAT
or (same mean of above line):
AssignSlot=34, 1
(since 34th slot is for ENEMY_JEEP and code OBJ_RUBBER_BOAT
= 1)
The AssignSlot= command is necessary when you add in your
wad/tr4 a new object imported from other tr games, like the
rubber boat of Tomb Raider 3.
Since all slot have some hardcoded managements, when you
import a new object it's necessary inform trng engine to get
trng was able to manage correctly the hardcoded functions
for new object applied in that specific slot you chose.
About assigning slot remeber that for vehicles you have to
import and to assign two "objects".
First object for vehicle meshes, and other slot for the
animations of Lara when she drives that vehicle.
Currently only Rubber Boat is available on trng but other
objects will be added in short time.
To use hardcoded features supported by trng for rubber boat,
you should use two commands like these:
AssignSlot= ENEMY_JEEP, OBJ_RUBBER_BOAT
AssignSlot= VEHICLE_EXTRA, OBJ_RUBBER_BOAT_ANIM
Above commands say to game engine that:
- The rubber boat mesh object is in slot of (old) object
ENEMY_JEEP
- The Lara animation used for rubber boat have been copied
in VEHICLE_EXTRA slot
CRS=
Syntax:
CRS=ENABLED/DISABLED
Scope: To use in [Options] section
CRS means Crash Resume System, it works in same way of CRS
settings of NGLE program.
When CRS is enabled is very improbable the game was stopped
by crash.
My suggestion about usage of CRS is to disable CRS
(CRS=DISABLED) while you are building your level (because
it's better to know if somewhat doensn't work), while to
enable CRS only before developing your final release on the
net to avoid further crashes at players.
Remarks:
(1) When CRS is disabled if a crash occurs a file named
Last_Crash#.txt will be created in current TRLE folder.
Another little file (always the same) will be showed non
just the game has been closed, to inform you it's happened a
crash and where you can locate the specific Last_Crash file
with crash log.
CutScene=
Syntax: CutScene=ENABLED
Scope: To use in [Level] section
Cutscene command permit to singal current level like a
cutscene-level.
The operations performed by this command are only two:
1) all keyboard/joystick input will be disabled for whole
cutscene-level.
2) If lara has in her hands weapons or flare, force lara to
throw out them to get free hand. This operation to free
hands will be performed at start of cutscene level.
Diagnostic=
Syntax: Diagnostic=
ENABLED/DISABLED
Scope: To use in [Options] section
If you enable the diagnostic with Diagnostic=ENABLED, in
game will be showed on screen some information in real time
about number of current Lara's animation, the current
State-id of lara and current effective frame rate in game.
These infos are useful to discover what is the number of
some animation, then you can use this number to locate
animation in wad file using Animation Editor of wad merger
program.
If you have problems to read in real-time above
informations, remember you can also to use Tomb4_Logger.exe
program to catch all diagnostic mexages and store them in a
text file.
If you perform Tomb4_Logger.exe before starting tomb4 trng
engine with diagnostic enabled, you'll have also in log file
the LoadCamera= .. script command line with infos about
current camera view to add in script.txt file for load
camera screenshot
To get infos about LoadCamera in log file you have to keep
down the F1 key.
This is a sample of text you can get in this way:
21656: LoadCamera= 6656, -2817, 14123, 6656, -2631, 12800, 2
21672: Animation=103 StateId=2 ($2)
Elevator=
Syntax:
Elevator=ElevatorIndex, ClickFloorDistance, NumberOfFloors,
Elevator flags (EF_...), FirstDoorIndex, InnerKeyPadIndex,
Speed, Frame items array
Scope: To use in [Level] section.
Arguments:
ElevatorIndex= Index you see in NGLE in yellow box when you
click over elevator item
ClickFloorDistance = Number of click for height of each
floor. For example if there are three blocks between each
floor you'll type in this field "12", since each block is 4
clicks.
NumberOfFloors = Easy, the number of floor of this elevator.
For example is you type 3 it means your elevator will move
in in 3 different positions (floors)
ElevatorFlags
You find all elevator flags in reference panel of NG_Center
program.
You can place one or more flags using the "+" sign or type
directly the sum of rispective values.
However remember that some flags are uncompatible to use in
same moment, like Multi-doors and single-door flags.
Currently there are following flags:
EF_MULTI_DOORS ($0001)
If you want that trng engine handle for you all doors in
front any floor you can set this flag and then set in
IndexFirstDoor the index of door at first floor.
The management of game engine is very simple: when elevator
reach a floor the door of that floor will be opened.
When elevator leaves a floor the door in that floor will be
closed.
If you use this multi-doors handling is important you place
all doors in your project exaclty at same vertical distance
you set in ClickFloorDistance field. It's important, because
is you place some door to different distance that door will
be not found by trng engine and you'll have troubles.
Pratically just you place each door at same height where the
elevator will stop it, floor for floor.
EF_SINGLE_DOOR ($0002)
If you use single door mode you cann't set also flag
multi-door.
In single door mode the elevator has a single door linked
with elevator cage.
This door will be moved up and down in according with
elevator movement.
When elevator reach a flor the door will be opened, when
elevator starts from a floor the door will be closed.
If you set this flag you have to type in FirstDoorIndex
field the index for the door you placed near to elevator.
Remark: you can use also a "fake" door you find in slot
Animating2 in ng2.wad
This animating will be moved, sliding it horizzontally, like
a door by trng engine if you use single-door mode and you
set its index in FirstDoorIndex field.
There is a reason to use a fake door like this: when you use
a real door,in fact, in some circustances (it depends by
door type and by position of door respect to rooms linking)
the engine will add an invisible sector collision in front
of the door when it's closed. Since it's boring in many
situations you can use the fake animating door to avoid this
problem.
EF_INNER_KEYPAD ($0004)
If you want insert the keypad to choose flor inside the
elevator you must set this flag and (in ngle) to place the
keypad oriented on wished elevator wall. Then you'll type
the index of keypad in InnerKeyPadIndex field.
Remember to use the "fake" keypad you find in
Animating16_mip of ng.wad or ng2.wad and not the real keypad
in switch_type1.
The reason of this choice is given by a technical problem:
the switch_type requires a switch trigger to work, but you
elevator floor you have to place also dummy triggers and for
this reason it's not possbile place both special trigger in
some sectors.
For this reason the management of "fake" keypad (of
Animating16_mip) will be performed in hardcoded mode by
engine.
Apparentrly the keypad will work in same way of switch_type1
but with no need of special trigger to handle it.
EF_MODE_YO_YO ($0008)
Yo yo mode is a bit curious: elevator will move endless up
and down, without any stop at floors.
Using this mode you cann't use doors, since there is no time
to open and close them.
Lara will have to jump at fly in elevator.
An interesting application of yo-yo mode is to give to
elevators also the role of trap, since if lara will be
touched by elevator she will be killed (if she is under
elevator moving down, or over elevator when elevator moves
up and above lara there is the ceiling) or "disturbed" if
she is climbing the wall when elevator touch her (lara will
be untouched by wall)
Remarks:
1) You cann't mix yo yo mode and stop and go mode.
2) If you set elevator for yo you mode the number of floor
will be always two (2) and the distance between floor will
be the height of whole movement that elevator will cover
before inverting direction.
EF_MODE_STOP_AND_GO ($0010)
Stop and go mode is similar to yo yo mode, but in this case
the elevator stop and stay for some second (2 for elevator
door less, 3 seconds for elevator with doors) in each floor.
Differently by yo yo mode, using stop and go mode you can
place the doors (multi or single) and you can set a various
number of floors.
Also stop and go mode may heart lara (like all elevators)
EF_NONE (0)
If you don't want set any flag you can type EF_NONE or the
value corresponing: 0 (zero)
FirstDoorIndex= Index of first door (that at first floor).
You place in this field the index for single door or
multidoor.
InnerKeyPadIndex = Index of keypad you inserted in elevator.
Remember also to set the EF_INNER_KEYPAD flag when you want
have an inner keypad
Speed=Set the speed of movement for elevator. If you type
IGNORE in this field the default speed is 20.
About speed remember that this units is 1/1024 of sector.
I.e. : 1024 = 1 sector, 256 = 1 click.
Each second will be changed the pos ition for 30 times, so
it's better don't exagerate in speed value. The max value
suggested is 50, if you pass over this value you could have
troubles in collision computes when elevator hits lara.
Frame Items array
After speed field starts an optional list of item indices.
It's optional, so you can also don't type anything after
Speed field.
Anyway the frame array is useful for many targets.
All items you type in this array will moved up and down in
according with elevator movement, giving the idea to be
linked with elevator cage.
For example you can create a chain to place over the ceiling
of elevator to get more realistic the movement of elevator.
In ng2.wad you find animating5 that it's used in samples for
yo-yo and stop and go elevators.
You can place different instances of this chain to cover all
height of elevator moving and then type all indices of
chains in elevator script command. In this way when elevator
will be moved in game, also the chain will be moved.
Another usage of frame array is to place invisible collision
panels around elevator.
You can find collision panel in Animating1 of ng2.wad (1x2
sectors) and Animating1_mip (1x1 sector to use when you set
a little door for elevator cage)
You need to use collision panels only if you want place
elevator in outdoor, i.e. without room walls around it.
If you place the elevator at center of big environment it's
necessary you place collision panels, otherwise lara will be
able to go through elevator walls of cage.
In yo-you and stop and go samples you can see like collision
panel were used.
Just you place over each elevator wall the collision panel.
You should cover all walls except where is the door of
elevator cage, then you type all indices of this collision
panel in frame array, and the collision will be moved up ad
down getting elevator cage a real closed box.
You can place about 23 frame indices in frame array but for
collision panels just a maxminum of 8 items.
Remarks:
1) When you place elevator and other items for elevator
(keypad, single door, chain, collision panel ect) in your
project, the elevator must be at first floor.
If you want in game to have elevator in another floor you
can use the elevator flipeffect to move it in wished floor
but it's necessary that the elevator was always at first
floor in project phase.
2) The max number of floor is 10. When you use 10 floor the
10th floor will be chosen with keypad typing the value "0"
3) You can have until 20 elevators for level, working with
different modes in according with different Elevator script
commands
Enemy=
Syntax: Enemy=Slot, HP
(vitality), NEF_ flags, TombFlags, Extra, Damage1, Damage2,
Damage3
Scope: To use in [Level] section
This command permits to set different settings for specific
Slot objects.
You can set the HP (vitality, i.e. resistence to shot of
Lara), the damage they give to Lara (damage1, damage2 ..).
Using some flags, like Ng Enemy Flags (NEF_...) or Tomb
Enemy Flags you can set particular behavior of slot.
You should use this command only con Slot = moveable enemies
(baddies) or traps, anyway you can use this command also to
change all moveables but many settings will have no effect
in this case.
Arguments:
Slot field
Wad slot to modify with this command. (See Slot Moveable
list in Reference panel of NG_Center program)
HP (vitality) field
You can set resistance of this enemy to Lara' shots.
For example if you set a big value (1000) it will be very
difficultous kill it. If you set a little value (20) it will
be killed with few revolver shots.
NEF_ flags field
This field accept values NEF_... (See Mnemonic Constants
list in Reference panel) to chose different settings.
Currently there are following values for NEF_ flags:
NEF_EXPLODE
When creature will be killed it explodes
NEF_EXPLODE_AFTER
Like "nef_explode" , but the body will explode only after
death animation is complete
NEF_HIT_BLOOD
NEF_HIT_DEFAULT
NEF_HIT_FRAGMENTS
NEF_HIT_SMOKE
The NEF_HIT flags set the behavior of lara shots on the
creature.
You can use only once NEF_HIT flag to set: blood, fragments,
or smoke.
If you use NEF_HIT_DEFAULT the response to shots will be not
changed. If you don't set any NEF_HIT ... flag, the shots
will have no effect
NEF_NON_TARGET
Enemy becomes non targetable from lara and it will be
immortal
NEF_NONE
Reserved, don't use. If you want omit to set NEF_ flags you
must type only IGNORE in this field
NEF_ONLY_EXPLODE
The enemy will become like skeleton or mummy.
Apparently the common ammos will have no effect but
explosive ammos will can destroy it.
NEF_SET_AS_CREATURE
Experimental. You can use a non enemy and non trap slot and
to use this flag to transform it like an enemy. Pratically
lara will can aim this object and kill it (theorically but
it's yet experimental)
NEF_SET_AS_MORTAL
This flag may be used with slot of semigod to transform then
in mortal enemies.
When you set this flag the enemy will be killed also with
common ammos.
TombFlags field
This field is only for experiment. It corresponds to Flags
field of slot structure. If you type wrong values in this
field you can have many troubles.
I suggest to set this field to IGNORE and to use only NEF
flags to modify behavior of object (other NEF flags will be
added in short time)
Anyway , if you want to do experiments with TombFlags field,
here there are some values for well-known slots:
$3A7B = used for skeleton
$327B = used for von croy
$3072 = used for guide
$267B = used for baddy 1
$0472 = used for big scorpion
Extra field
For most slots you can set this field to IGNORE, anyway
there are some slots that requires an extra value to type in
this field.
Currently only following slot require an Extra value:
With slots: WRAITH1, WRAITH2, WRAITH3, WRAITH4
You can enable or disable burning lara setting 0 to disable,
and 1 to enable death whereby flames.
With slot: TEETH_SPIKES
You can enable the no-damage for lara when she moves slowly
(walking).
If you set 1 in Extra field of TEETH_SPIKES, lara will can
walk in teeth spikes with no damage.
Remark: this setting works only if you set in OCB field of
TEETH_SPIKES object (using NGLE) the ocb value = 20
Ocb 20 means: pointing to north and static spikes.
Damage1/2/3 fields
You can type none, one or more values for damage that
current enemy cause to Lara.
The reason to accept a variable number of values is because
some Slot don't damage lara, while other moveables can
damage lara in different ways, like baddy can hurt lara
unsing UZI or sword, and in this situation you may type
different damage, one for each type of damage.
To know when an enemy has one, two, three or none damage,
read the Damage Enemy list in Reference panel of NG_Center
program.
Remark:
If you want modify only one damage value but no other, you
can use IGNORE null value to specify "don't change this
damage kind".
For example if you want change only granade damage for SAS
but you don't want change the UZI damage you can type
following line:
Enemy=SAS, IGNORE, IGNORE, IGNORE, 0, IGNORE, 1000
Above command don't change HP, NEF_ flags, TombFlags.
Set to 0 Extra and with IGNORE first damage (UZI), while
change the granade damage to 1000 (immediate death of lara
with burning)
Remark:
- In Damage1/2/3 fields you should type only positive
values. In some circustances you can type negative values
but the result will be to recharge Lara vitality instead of
hearting her. It should be weird.
- Remember to follow the Range limits you read in Damage
Enemy list, because if you set a value outside of range you
could get unpredictable results about damage (anyway no
crash will happen)
FMV=
Syntax: Fmv= NumberFmv,
EnableEscape
Scope: To use in [Level] section.
NumberFmv is the number of fmv file.
EnableEscape may have value 0 or 1. Value 1 means: "permit
to playet to skip movie using Escape key"
The fmv file name must have following syntax:
"FMV" + [Number] + [Extension]
For example, following names are correct for fmv files:
fmv4.wmv
fmv1.mpg
fmv43.avi
Differently it should be wrong to use following names:
fmv04.wmv (there is a not meaningful "0" in front of "4")
fmv0.avi (number start from "1")
fmv41 (Missing extension)
fmv5.bik (".Bik" extension is not more supported )
In script command "Fmv=" first number (NumberFmv) is number
within the fmv file name.
For example working with file name "fmv3.wmv" you should
write in script a command like: Fmv=3,0
Remarks:
(1) Remember to set the wished extension with command "FMV="
used in [PCExtensions] section. (This "Fmv=" command has
same name but don't confuse you, it is a different script
command)
(2) Really Fmv= command is not a new next generation
command, it was present also in standard script.exe. Anyway
only using TRNG engine you can really show FMVs in game.
(3) TRNG engine will look for fmv file in following
sub-folders:
- Current folder (pratically the folder where is stored also
trng engine, usually named "TRLE")
- Further folder named "FMVs" in current (trle) folder
"trle\FMVs\... fmv files"
- Further folder named "Store" in current (trle) folder
"trle\store\... fmv files
FogRange=
Syntax:
FogRange=MinViewOfFog, MaxDistanceFog
Scope: To use in [Level] section
Default values in tomb4:
MinViewOfFog = 12 sectors
MaxDistanceFog = 20 sectors
With FogRange= command you can change two different values
for fog visibility in game.
The MinViewOfFog value is the number of sectors from what
the fog will be visibile.
The Max DistanceFog is the greather distance where game
engine will create the fog, pratically over that distance
the fog will disappear.
Remarks:
(1) First value ( MinViewOfFog) works only when VolumetricFX
is disabled in setup game or with ForceVolumetricFX= command
(2) Second value (MaxDistanceFog) works only when
VolumetricFX is enabled in setup game or with
ForceVolumetricFX= command.
It is used only for Fog Bulbs lights.
(3) It's not advisable set for MaxDistanceFog a value
greater than value set with WorldFarView= command.
ForceBumpMapping=
Syntax:
ForceBumpMapping=ENABLED/DISABLED
Scope: To use in [Options] section
If you prepared bump map textures for your game, you can use
this command to override settings in tomb4 setup and to
force enabling of BumpMap in game.
Remark:
(1) Differntly by ForceVolumetricFx this command works only
in [Options] section because it affectes all levels of your
game in same moment.
ForceVolumetricFX=
Syntax:
ForceVolumetricFX=ENABLED/DISABLED
Scope: To use in [Level] section
With ForceVolumetricFX command you can enable or disable
volumtric fx setting in current level.
This command is useful if you want to mix fog bulbs with
distance fog.
Remark:
(1) You can also enable or disable volumtric fx in dynamic
way using some new flipeffects of NGLE in game.
This trick culd be interesting to "switch off" the fog bulb
and "switch on" them when you want create an effect of gas
or smoke after an explosion.
(2) If no ForceVolumetricFX command is used for current
level then it will be used the setting set in tomb4 setup
window from player.
KeyPad=
Syntax:
KeyPad=AtStartAnimation, FrameStartPopUp, AtEndAnimation,
ClickSound
Scope: to use in [Level] section
KeyPad command is optional and it used to change default
animations and sounds for Keypad switch_type1 you find in
ng.wad
You should use this command only if you want modify
animations or sounds to enable when lara activates the
keypad switch in game.
Parameters:
AtStartAnimation= Number of lara animation to show when Lara
engages with Action command the keypad.
You don't wad any animation at start you can type in this
field IGNORE.
Remark: the default value was 197
FrameStartPopUp=Used only if you set a valid value in above
field AtStartAnimation. In this case the keypad image will
be showed only when the start animation reachs this frame
number. For example if you type 20 in this field, the keypad
will be showed 20 frames after start animation was started.
Remarks:
* If you don't set any AtStartAnimation, this field will be
ignored.
* If you set a valid AtStartAnimation value, you must set in
FrameStartPopUp field a valid value, you cann't set IGNORE
in this field.
AtEndAnimation= Number of animation to show when the keypad
was closed.
Remarks:
*If you don't wad a final animation you can type IGNORE in
this field.
*The AtEndAnimation will be showed only if player goes off
from keypad with Enter/[*] key, differently, if he exits
using Escape key no final animation will be performed.
ClickSound=Number of sound effect to play when player hits
some key of keypad.
Remarks:
*If you don't wad any sound, type IGNORE in this field
*You can see the list of sound effect in Reference panel of
NG_Center program.
LevelFarView=
Syntax:
LevelFarView=NumberOfBlocks
Scope: To use in [Level] section
NumberOfBlocks is the number of sectors showed in game view.
Default value in old tomb4 was 20 sectors, this means that
the mesh more far that 20 sectors from lara became black.
Valid range: Min=1 Max=127
Remark:
(1) The NumberOfBlocks you set with this command should be
less or equal than value you set in [Options] section with
"WorldFarView=" command, otherwise it will be ignored.
(2) For above remark you should insert in [Options] section
a WordFarView= command with a big number and then set for
different levels littler value with LevelFarView= in
according with speed of game.
Remeber that not only the far view distance affects the
speed of game but also (and overall) the number of meshes,
transparent textures and moveables present in the level.
For this reason you could be forced to reduce the
levelfarview for level with wide spaces and much
moveables/meshes/transparent textures to enhance the speed,
but in other level you could use a bigger levelfarview with
no problem because the scene is more simple to draw for game
engine.
Settings=
Syntax: Settings= SET_
constants
Scope: To use in [Options] section
This command will be placed in [Options] section to set some
gloal settings.
Arguments:
SET_ constants field
You can type one or more SET_ values separated by plus (+)
sign.
Currently there are followin SET_ constants:
SET_DISABLE_CHEATS
Disable all hidden cheats to skip level, get infinite
weapons or items.
Remark: to disable flycheat you have to use old command
FlyCheat = DISABLED
SET_BLIND_SAVEGAMES
If you want forbid players of your game to use savegame
editor to change savegames, just you add this flag in
Settings command.
Any attempt of players to modify savegames will cause
immediate crash at reload.
SET_PERFORM_FROM_CD
With this constant your game will be able to be performed
from CD / DVD and generally from only-read storage support.
Pratically the reason to use this setting is when you want
give your game to some friend, stored on cd and playable
directly from CD with no need of installation of level
editor (TRLE) folder on local disk.
When this setting is present the trng engine will save and
load savegame not from current TRLE folder where is has been
store, but in/from new folder in local drive C: with same
name of first level description different by title.
For example if you use this option with a level described in
script.txt like "City Of The Dead", trng will create a
folder named:
C:\City_Of_The_Dead
and it will save and load savegames in/from this folder.
Remark:
If you want create an autostart CD in this way, you have to
perform following steps:
1) Add in script.txt file in [Options] section the command:
Settings = SET_PERFORM_FROM_CD
(You can also add other SET_ flag to above line, of course)
2) Build script.txt
3) When you have in TRLE folder all level files (.dat , .tr4
) necessary to play your game, you can save whole TRLE
folder, including also the name of TRLE folder, in CD image
to burn on cd support.
4) Before burning image you should add to image also
following files, you find in Extra_NG_File.zip:
START.exe
autorun.inf
5) Now you can burn the CD and, at end, you should get
following list browsing the new created CD:
START.exe
autorun.info
TRLE (Folder)
Remark: the start.exe and autorun.inf files should be in
root of CD, i.e. outside of TRLE folder
6) Now just inserting this cd in some CD reader and the game
will be started and played byself, without need of
installation on local disk (of target computer) of TRLE or
other files or programs.
ShowLaraInTitle=
Syntax:
ShowLaraInTitle=ENABLED/DISABLED
Scope: to use in [Options] section
By default lara is not visible in Title level but using this
command:
ShowLaraInTitle=ENABLED in [Options] section, lara will be
drawn.
TextFormat=
Syntax: TextFormat=Color,
FormatFlags (FT_...) , BlinkTime, SizeCharacter (SC_...)
Scope: To use in [Level] section or [Title] section
Arguments:
Color = CL_... values (see constant list) to set default
color for print string flipeffect
FormatFlags = FT_... values (see constant list) to set
default position of text, default size and further blink or
stretch characters
Note: You can add to FT values for text position the two
flags FT_NARROW_CHARS and FT_BLINK_CHARS and all FT_SIZE..
flags using '+' character.
Example:
FormatText= CL_GOLD, FT_TOP_CENTER + FT_BLINK_CHARS, 16
In this way you set gold color as color, you set top center
as position and (plus) you set also blinking characters way.
Remark: remember this setting work only for text you print
using print text flipeffect.
If you want change size of tomb characters you have to set a
SC_ .. value in SizeCharacters field (see belove).
BlinkTime = Numeric value to signal interval for blinking
when you set also flag FT_BLINK_CHARS in FormatFlags
parameter
Note: for blink time you can use only power by 2 values,
like: 1, 2, 4, 8, 16, 32, 64, 128
SizeCharacter = Costant value SC_ type to change default
size of character in tomb4 menu.
Remark: differently by values of FT_ flags, the value you
set in SizeCharacter field will effect only tomb raider
default texts (menu, options, legend) but this setting will
have no effect on flipeffect print text. For this reason you
should use this field only in [Title] section in this way:
TextFormat= IGNORE, IGNORE,IGNORE, SC_HALF_HEIGHT
While when you use TextFormat in [Level] section you should
type in this field always IGNORE, otherwise the text for
menu of tomb raider will change in irregular way in
according with last level played.
Currently you can select only one of following values in
this field:
SC_NORMAL
Don't change anything. The characters will have usual size
SC_HALF_WIDTH
It will be reduced by half the width of characters, while
the height will be not changed
SC_HALF_HEIGHT
It will be reduced by half the height of characters, while
the width will be not changed
SC_HALF_SIZE
This value reduce by half both width and height of
characters
SC_DOUBLE_WIDTH
Set double width for characters, untouched the height
SC_DOUBLE_HEIGHT:5
Set double height for characters, untouched the width
SC_DOUBLE_SIZE
Se double width and double height for characters.
Default values for TextFormat command:
If you don't set any TextFormat command for current level,
the default values will be used are:
TextFormat= CL_WHITE, FT_BOTTOM_CENTER, 16, SC_NORMAL
Remarks:
(1) You can change the settings for text also in game with
some flipeffects, anyway to avoid to waste too much triggers
for text formatting it's better to use this script command
to set default values.
(2) Other to use some FT_... value to set position of text
you can also add to specific string some format characters
to change furtherly the position of text on screen. For
example if you use a FT_TOP_LEFT but you are not happy to
see the text overlapped to vitality bar you can start your
text with character couple: "\n" (n = newline) in this way a
first empty row will be printed and the visible text will
start in lower position.
If you want move more right a LEFT alignment you can start
each row of your text with character couple: "\t" (t =
tabulation)
Example:
\tHi world\n\tI'm very happy to be here
WorldFarView=
Syntax:
WorldFarView=MaxSectorDistance
Scope: To use in [Options] section
Default value in tomb4:
WorldFarView=MaxSectorDistance = 20 sectors
Valid range: Min=1 Max=127
With WorldFarView you set the max distance you'll could use
in any level of your game.
You should set a bigger number with WorldFarView and littler
or equal values with LevelFarView in different level in
according with further speed troubles for two wide and
complex scenes.
Remark:
See also LevelFarView command and FogRange command for more
infos.
Back to Top