Copyright: Copyright ©1999 Volition Inc.


Introduction

Welcome to Red, the editor for Red Faction.

We may periodically update this help file.  Please visit the Downloads section of the Official Red Faction page for any such updates:

http://www.redfaction.com/

For more information or help regarding Red Faction level editing, please visit the VBB forums:

http://vbb.volition-inc.com/cgi-bin/Ultimate.cgi

Many fans and development team members frequent those forums, and provide answers to common questions.


Group Mode

What is a group?

A group is a collection of one or more brushes and/or objects.  A brush and/or object can exist in more than one group. A group is defined by a group name. There are 3 basic types of groups. Master groups (which are predefined), user groups and mover groups. Groups are used to make handling multiple brushes and/or objects easier and more efficient.  You can save and reload single groups and multiple groups.

Group Mode Functions

Create: Creates group from all selected brushes and objects.

Dissolve: Removes the selected group from the group list. Does not delete the actual brushes and/or objects from the level.

Add To: Adds the selected brush(es) and/or object(s) to the group currently highlighted in the group list.

Remove: Removes the selected brush(es) and/or object(s) from the the group currently highlighted in the group list.

Save: Allows you to save a group or you can save multiple groups as one group (and still retain the individual groups. More on this later).

Load: Allows you to load a saved group.

Rename: Allows you to rename the currently selected group.

Lock: Allows you to lock the brush(es) of the currently selected group.

Unlock: Allows you to unlock the brush(es) of the currently selected group.

Duplicate: Similar to copy and paste. Allows you to select a group (or groups), copy them and still maintain the group relationship for the copy.

Keyframe: Turns the selected group into a mover group.

Reconnect: If you move a translating mover group, you have to press this after you have moved it. It reconnects the selected mover group's keyframes to the mover groups

         geometry.


Object Mode

When in Object Mode you can create, place, and perform operators on objects in your level. Objects are defined as anything that is not world geometry (terrain). Things such as lights, triggers, player start, events, power-ups, crates, special effects (fire, smoke, etc.) can all be found in Object Mode. Objects can be place by double-clicking the left mouse button or by right-clicking in one of the orthographic views and selecting "Place object here" from the pop-up menu.

Selecting Objects

Objects can be selected in many ways. The most common way it to left-click when your mouse pointer is over an object. it will then highlight to show that it was selected. The editor also allows you to select many objects at once. To select multiple objects, hold down the CTRL key while left clicking on objects. Those objects selected will highlight.

You may also box-select objects. This entails drawing out a virtual box that will select any objects that are inside this box. To box-select, you must left-click in an open area (one that has no objects under the mouse pointer). Then, while continuing to hold down the left mouse button, you move the mouse pointer. This starts to create your virtual box. Once again, any objects that are contained within this box will be selected.

To delete selected objects, use the delete key.

Selected objects can also use the Cut, Copy, Paste functions. When you copy/paste an object, it will appear in the same spot and rotation as the original object and will become your newly selected object. You may then move it's position to the desired location. Another way to paste objects after a copy would be right-clicking in one of the orthographic views and selecting "Paste object here" from the pop-up menu.

Also See: Brush Mode, Face Mode, Vertex Mode, Texture Mode.


Mesh Smooth

The mesh smooth function works just like it would in a high-end 3D application. It smooths geometry by adding faces and averaging it's corners. The more you mesh smooth an object, the more faces are added. While mesh smooth is a very powerful editing tool, you must be careful not to get carried away and make to many faces in a given area. This feature works on both selected faces as well as entire brushes.


Properties Dialog
Entity Properties Dialog

To access the entity properties dialog:

1. Enter object-mode (CTRL+0)

2. Select the entity or entities you want to view/modify properties for.

3. Press CTRL+P

The entity properties dialog contains numerous settings that let you customize the entity.

Class Name: What entity class this entity is (from entity.tbl).  The list of entity classes is accessible in the editor via the "Entity" tree in the Object list.

Script Name: Name for entity.  This is used primarily for the designer to help organize entities.

AI Mode: Default AI behavior for the entity:

a) Catatonic: Entity will not react to anything in the world.

b) Waiting: Entity will react to enemies that are seen, and will react to sounds (if not flagged as Deaf)

c) Waypoints: Entity is following waypoints (waypoint list is specified via Waypoint List field described below, or through a Follow_Waypoints Event)

d) Collecting: Entity is picking up and collecting clutter (usually rocks) and dropping them off at a specific location.  This is currently used for grabber robots that collect rocks and deposit them in rock crushers.

e) Motion Detection: Entity will attack any moving objects that it has line of sight to.  This is currently used for unmanned turrets.

AI Attack Style:

a) Evasive: Entity will move evasively while attacking target.

b) Direct: Entity will move directly towards target when attacking.

c) Stand Ground: Entity will stay rooted to it's current position while attacking, and will not pursue targets.

Min Attack Dist: The distance that an entity must be to a target to open fire (in meters).  For example, if you only wanted an enemy to open fire if within 10 meters of a target, then specify 10 for the min attack dist.

FOV: Field-of-view for the entity.  The default FOV for the entity is specified in entity.tbl ($FOV), but you can adjust it here to simulate an entity being having reduced peripheral vision.

Life:The hit points for the entity.  The default value is their max life.  You can reduce the life of an entity to simulate the entity being injured, or to make certain scripted sequences work better (e.g., you want an entity to die after being hit once).

Cooperation:Currently not used.

Friendliness: Alignment for this entity.  The player and allies are Friendly.  Entities hostile to the player are considered Unfriendly.  Neutral is used for entities which won't attack the player on sight, but they also won't help the player when attacked.  Outcast is used for entities which attack all other entites, including other Outcast entities.

Default Primary: Weapon class (from weapons.tbl) that the entity is using for a primary weapon.

Default Secondary: Weapon class (from weapons.tbl) that the entity is using for a secondary weapon.  Currently only vehicles and some robots utilize secondary weapons.

Item Drop: Item class name (from items.tbl) that the entity will drop when killed.

State Anim: Animation state that entity is forced to be in.  State animations are looping, so the entity will remain in this animation state until attacked or given scripted instructions.

Corpse Pose: If specified, entity will be created as a corpse in this position.  This is how corpses are placed by the designer.

Death Anim: Death animation that is forced to play when entity dies.

Skin: Texture set to use for the entity.  When you place an entity, a random skin is selected.  Alternate skins are specified in entity.tbl ($Skin).

Team ID: Currently not used.

Waypont List: Name of the waypoint list that the entity will follow (if their AI mode is set to Waypoints).

Waypoint Method: How the entity should follow waypoints

a) One Way: go from first to last waypoint and stop

b) Loop: go from first to last waypoint, and repeat (go directly from last to first waypoint)

c) Ping Pong: go from first to last waypoint, then follow waypoints backwards back to first waypoint, and repeat

Path Follow Style: Currently not used.

Sweep Min/Max Angle: This is used by entities that sweep back and forth as part of their default behavior (security cameras, motion detecting turrets).  The angle is specified in degrees, and is relative to zero degrees.  The min angle must always be less than the max angle.

Turret UID: If specified, this is the UID for a turret that the entity should be attached to (i.e., is using).

Alert Camera UID: If specified, this entity will be alerted to the player when the specified camera sights the player.  This is used to simulate guards being alerted to the player via security monitors.

Entity Flags:

Only Attack Player: Entity will only attack the player.  It will never attack other AI, even if attacked.

Weapon Is Holstered: Entity has weapon holstered by default.  The weapon is still available for the entity to use, but it must be unholstered first.

Ready To Fire State: Entity is posed in a ready to fire animation state.

Ignore Terrain When Firing: Entity doesn't do collision detection with terrain when deciding to fire on targets, once target is sighted initally through line of sight.  This is useful for large turrets or other weapons which you want to keep firing even if the player is hidden by cover.

Hidden: Entity is hidden.  This means the entity isn't visible.  No AI or physics of any kind is applied to the entity.

Cower From Weapon: Entity will flee and cower if it sees an entity of different friendliness with an unholstered weapon.

Question Unarmed Player: Entity will question the presence of the player if he is unarmed.

Deaf: Entity does not hear, so it will not investigate or react to sounds.

Boarded (vehicles only): Entity is boarded.  This is used to indicate that vehicles are manned by AI.

Wear Helmet: Entity wears a helmet if one is defined for that entity class in entity.tbl ($Helmet V3D Filename).

End Game If Killed: Game ends if this entity is killed.  When the entity is killed, the game cuts to a black screen with scrolling text.  The scriptname of the entity determines what text is displayed.  The text for various scriptnames is defined in endgame.tbl.  This means that you must have a unique scriptname for an entity that has this flag set.

Start Crouched: Entity begins crouched.


Camera & Movement Hotkeys
Camera and Movement Hotkeys

Keyboard Camera Movement

Shortcut	Freelook	Top	Front	Left	Bottom	Back	Right
2	Pitch down	+ Z	+ Y	+ Y	- Z	+ Y	+ Y
4	Heading left	- X	- X	- Z	- X	+ X	- Z
6	Heading right	+ X	+ X	+ Z	+ X	- X	+ Z
8	Pitch up	- Z	- Y	- Y	+ Z	- Y	- Y
+	Slide up	+ Z	+ Y	+ Y	- Z	+ Y	+ Y
Enter	Slide down	- Z	- Y	- Y	+ Z	- Y	- Y
7	Bank left	n/a	n/a	n/a	n/a	n/a	n/a
8	Bank right	n/a	n/a	n/a	n/a	n/a	n/a
1	Slide left	- X	- X	- Z	- X	+ X	- Z
3	Slide right	+ X	+ X	+ Z	+ X	- X	+ Z

                 NOTE: The first 4 views are defaults. The rest are optional.

                              All Keys are on the numeric keypad.

Shortcut	Operation
A	Zoom in
A + Shift	Zoom in fast
Z	Zoom out
Z + Shift	Zoom out fast
+	Coarse zoom out
-	Coarse zoom out
Home	Camera to 0, 0, 0
T	Teleport camera to X, Y, Z
C + Shift	Reorient camera to world axis

Mouse Camera Movement

Shortcut                     Description

Left Button + Shift	Slides camera up, down, left and right.
Right Button + Shift	In freelook, changes heading and pitch. In orthographic, same as the left mouse button and shift.
Both Buttons + Shift	Zoom in and out, freelook only.
Right Button + Ctrl	Hold down CTRL then right click while in an orthographic view. Teleports camera

Keyboard Brush/Face/Vertex/Texture/Object/ Group Movement

Shortcut	   Description

M + Arrow Key	Non-axis constrained movement relative to the currently selected window's plane.
R + Arrow Key	Non-axis constrained rotationmovement relative to the currently selected window's plane.
S + Up/Down Arrow	Scales selected face(s)/vertices. Scales textures on selected faces in texture mode.
M + PageUp	Moves positively in the 3rd axis normally not available in a given view.
M + PageDown	Moves negatively in the 3rd axis normally not available in a given view.
R + PageUp	Rotates positively in the 3rd axis normally not available in a given view.
R + PageDown	Rotates negatively in the 3rd axis normally not available in a given view.
Mouse Brush/Face/Vertex/Texture/Object/ Group Movement

Shortcut	         Description

M + Left Button	Non-axis constrained movement relative to the currently selected window's plane.
N + Left Button	Axis constrained movement relative to the currently selected window's plane.
S + Left Button	Scales selected face(s)/vertices


Universal Hotkeys

Operation	Shortcut
Brush mode	B + Shift
Face mode	F + Shift
Vertex mode	V + Shift
Texture mode	T + Shift
Object mode	O + Shift
Group mode	G + Shift
Save level	S + Ctrl
Open level	O + Ctrl
Create new level	N + Ctrl
Redo last operation	Y + Ctrl
Undo last operation	Z + Ctrl
Invert selection	I
Unhide hidden brush(es)	H + Shift
Invert hidden brush(es) and/or object(s)	H + Ctrl
Hide all objects	W
Unhide all objects	W + Shift
Maximize window under cursor Make all views same size Grid brightness	F4 F5 \
Grid size increase	]
Grid size decrease	[
Grid size increase (rotational)	] + Shift
Grid size decrease (rotational)	[ + Shift
Coordinates toggle (global/local)	G
Rebuild geometry	Space
Recalculate lighting	L + Shift
Calculate paths on selected nav points	Space + Shift
Play game	F7
Play game from camera position	F8


Brush Mode Hotkeys

Operation	Shortcut
Snap cookie cutter brush to camera	B
Copy selected brush(es)	C + Ctrl
Stretch selected brush(es)	D
Move selected brush(es) center points.	D + Ctrl
Deleted selected brush(es)	Delete
Snap selected brush(es) to current grid	G + Ctrl
Hide selected brush(es)	H
Reorient brush	O
Selected brush(es) property(ies)	P + Ctrl
Coordinates of selected brush(es)	P + Shift
Lock selected brush(es)	Q
Unlock selected brush(es)	Q + Shift
Select brush by UID	U
Paste selected brush(es)	V + Ctrl
Cut selected brush(es)	X + Ctrl
Open brush clipping dialogue	X


Face Mode Hotkeys

Operation	Shortcut
Bevel selected face(s)	B
Scale selected faces (SPECIAL)	S
Select all faces of selected brush(es)	S + Shift

NOTE - Hold down "S" and use the left mouse

            button or the arrow keys to scale a face.


Vertex Mode Hotkeys

Operation	Shortcut
Extrude selected face(s)	E + Ctrl
Snap selected vertex(ices) to current grid	G + Ctrl
Select all vertices of selected brush(es)	S + Shift
Scale selected vertices (SPECIAL)	S

NOTE - Hold down "S" and use the left mouse button or

           the arrow keys to scale a face.


Texture Mode Hotkeys

Operation	Shortcut
Reselect previously selected face(s)	Backspace
Select all adjacent brush faces	S + Shift
Copy selected face's UV map	C + Ctrl
Copy UV map to selected face(s)	V + Ctrl
Box map selected face(s)	Q + Ctrl
Planar map selected face(s)	E + Ctrl
Cylinder map selected face(s)	W + Ctrl
Snap cylinder map to grid	G + Ctrl
Flip selected face(s) horizontally	H
Flip selected face(s) vertically	V
Scale selected faces (SPECIAL)	S
Selected face(s) property(ies)	P + Ctrl

NOTE - Hold down "S" and use the up and down arrow keys

            to scale a texture on a face.


Object Mode Hotkeys

Operation	Shortcut
Cut selected object(s)	X + Ctrl
Copy selected object(s)	C + Ctrl
Paste selected object(s)	V + Ctrl
Delete selected object(s)	Delete
Select object by UID number	U
Hide selected object(s)	H
Selected object(s) property(ies)	P + Ctrl
Coordinates of selected object	P + Shift
Reorient selected object(s)	O
Staple selected object(s)	S
Teleport camera to selected object(s)	T + Ctrl
Link 2 selected objects	K
Break links of all selected objects	K + Shift
Link properties of selected object	L + Ctrl
Snap selected object to camera	S + Shift
Connect/disconnect selected nav points	J
Bring up waypoint lists (if nothing selected) Create waypoint list from selected nav points	W + Ctrl W + Ctrl


Group Mode Hotkeys

Operation	Shortcut
Cut selected brush(es) and/or object(s)	X + Ctrl
Copy selected brush(es) and/or object(s)	C + Ctrl
Paste selected brush(es) and/or object(s)	V + Ctrl
Deleted selected brush(es) and/or object(s)	Delete
Select brush or object by UID	U
Hide selected brush(es) and/or object(s)	H
Selected object(s) property(ies)	P + Ctrl
Coordinates of selected brush or object	P + Shift
Reorient selected object(s)	O
Staple selected object(s)	S
Teleport camera to selected object	T + Ctrl
Link 2 selected objects	K
Break links of all selected objects	K + Shift
Link properties of selected object	L + Ctrl
Connect/disconnect selected nav points	J
Move selected brush(es) center points.	D + Ctrl


Particle Emitter

Soon...


Liquids
Liquids (water, lava, acid, etc.)

Creating liquid (like water or lava) is done using the "Room Effect" object and setting the "Effect Type" pulldown to "Liquid Room". You in essence "Fill" a room with liquid to a certain height. The Room Effect object has several properties used for liquid. They are:

Surface Bitmap: This is where you can select the texture you wish to use for the surface of the liquid.

Liquid Type: Sets the type of liquid you want to have. Lava and acid will cause the player various types of damage for instance. It also sets the type of sounds that should be associated with that liquid type.

Waveform: This sets the type of motion (if any) you want the liquid to have.

Depth: This will say how deep the liquid is. It starts from the lowest point in the room and is measured in meters.

Liquid Color: This lets you specify the color of the liquid under the surface. It in effect changes the color of the volume fog.

Visibility: This value says how far you can see under water by changing the density of the volume fog. The value is in meters.

See the Liquid Tutorial for more info.


Sky Box

Sky boxes are a way of creating the illusion of a sky in your level. What it does is replace any faces that should be a sky with a view from inside the center of a "sky" room with cloud textures and such- usually shaped like a box in it’s simplest form. This view never moves (though it does rotate 360 degrees in any direction) in this sky box and there for gives the illusion of a sky being there because the rest of the level moves like it should when you walk/look around, but because the sky does not appear to move, it looks like it is very far away.

A Sky box can become very complicated with many textures, layers of clouds, light sources, moon/sun objects, and other sky type things. The shape of the actual room that represents the sky may also be complicated to get different effect. The best way to make nice sky boxes is to just fool around with them and discover what works for you.

The rules of a sky box:

- The sky box needs to be it’s own separate room. It can be made up of many brushes though.

- You must set the properties of any face in your level you wish to show the sky (use the "Show Sky" flag).

- Missiles and other such objects will not collide with faces marked as sky, they will continue on looking like they are flying up into the sky.

- Any lights placed in the sky box will NOT light up the level in anyway. You will need to put similar lights in the actual level where the sky is showing.

- If you don't wish to use lights in your sky box you can mark the faces in the actually sky box as fullbright.

- Keep in mind that all the faces, textures, lightmaps, and objects in a sky box will have to be rendered where ever you show the sky in the level.

Se the Sky Box Tutorial for more info.


Event System

Introduction

The event/scripting system for Red is very powerful, yet easy to use. The basic philosophy behind it is that you LINK a TRIGGER to an EVENT(s). This system is very versatile and will let you create an almost unlimited number of special scripted sequences.

An "Event" is a basic game action that occurs when it receives either an On and/or Off message. On messages can be sent from triggers, objects, or they can be received from other Events. Off messages are sent from the off state of events like the Switch Event, or are sent through an Invert Event. Most Events only respond to On messages (since most Events do a single thing which doesn’t need to be stopped with an Off message). Events must be linked to the trigger source so they know when to trigger. You link a trigger and event together by using the objects unique id number, or by just selecting the first object, then the second object, and hitting the "K" hot-key.

Events can also be linked to other Events to set up a "Chain reaction" of event all triggered from one source. For example, you might have a trigger which links to a Play_Sound Event (which plays a scream), and the Play_Sound Event could link to a Play_Animation Event (which plays an animation of an AI holding his head in agony).

All Events have an optional delay associated with them, which you can specify in the Event properties (CTRL-P or by right clicking over the selected event and selecting "Properties" from the pop-up menu). This will delay the action of the event by the specified amount of time, after an On or Off message is received.

Events can link to other objects, which is used to tell the Event which objects to affect. Each Event affects their linked objects in different ways, so refer to the Event list below for a detailed description of each event. The link HAS to go from the event to the object for it to work- even if the object is being used at the "trigger"!

Event Listing

Continuous Damage

Description

Cause the AI or Player which triggered the event to receive damage (use a trigger reset time of 0 to make the damage continuous).

On Response

Apply damage to the entity who triggered the event. Any linked objects will also receive damage.

Off Response

None.

Parameters

Damage_per_second: Damage per second applied.

Damage_type: Generic, Brushing, Burning. Currently the only supported damage_type is Generic.

Cyclic Timer

Description

This Event will send an On message to all linked Events at a specified interval.  This Event has to receive an On Message before it will begin sending out messages.

On Response

Begin sending On messages at the specified interval.

Off Response

None.

Parameters

Time: The interval in seconds between sending On messages to all linked Events

Max Sends: The number of times the Event will send out On messages

Send Forever: If true, the Max Sends field is ignored, and the Cyclic Timer sends On messages forever

Drop Point Marker

Description

This is a special type of Event which doesn’t respond to On or Off messages.  This Event is used as a position where AI will drop off objects while in AI_COLLECTING_MODE.  This is how Grabber robots can drop their rocks off at a specific location.

On Response

None.

Off Response

None.

Parameters

None.

Explode

Description

This Event will cause an explosion to occur at the Event location.  The explosion can be made to cause a geomod, and you can control the amount of damage caused by the explosion.

On Response

Make the explosion happen.

Off Response

None.

Parameters

Damage: The amount of damage caused by the explosion.  This is the damage that is applied to any object within the explosion range.

Type: Small, Medium, Large.  This field isn’t properly supported yet.  We need to list a selection of different explosions to choose from.

Geomod: If true, the explosion will apply a geomod at the center of the explosion.  The hardness of the rock where the explosion occurs is used to determine if a geomod is possible.

Follow_Waypoints

Description

This event will force all linked objects to follow a specified waypoint list, with a specific following method.

On Response

Begin following the waypoints.  An AI will use the closest waypoint as the location to begin the path following.

Off Response

Stop following the current waypoint path.

Parameters

Waypoint List: Name of the waypoint list that the AI should follow.

Always Face Player: If true, the AI will always face the player while following their waypoints

Max Speed Scale (0-100): Used to make the AI move slower while following waypoints

Follow Method: This determines how the AI will behave when the last waypoint node is reached.  The choices are:

1.	One way:	follow the waypoints to the last node and stop.

2.	Loop:	follow the waypoints to the last node, then return to the start and repeat

3.	Ping Pong:	follow the waypoints to the last node, then follow the nodes back to the start (repeat).

Follow_Player

Description

This Event will force all linked objects to follow and protect the Player.  This should only be used to make Hendrix follow (or stop following) the Player.

On Response

Make linked entities follow the Player.

Off Response

Make linked entities stop following the Player.

Parameters

None.

Give_Item_To_Player

Description

This Event will make the player pick up a specific item.  Items are normally automatically picked up by the player when he gets close enough to them.  All game items are specified in items.tbl.

On Response

Give the player the specified item.

Off Response

None.

Parameters

Item: Item class name, which is selectable from a drop-down list of all items from items.tbl.

Goal_Check

Description

This Event can either block or forward On messages, depending on the state of an associated goal_set Event.

On Response

Foward On messages if min_count exceeds the current count value of the associated goal_set Event

Off Response

None.

Parameters

Goal Name: Script name for the associated Goal_Set Event

Minimum Count: The miniumum value that the associated Goal_Set Event must have before forwarding messages

Goal_Set

Description

This Event will increment a count variable every time it receives an On message (Off messages will cause the count value to decrement).

On Response

Increment count by one.

Off Response

Decrement count by one.

Parameters

Start Count: The inital value of the count variable (this will be zero in most cases).

Goto

Description

This Event will make all linked entities travel to the Event location.

On Response

Make linked entities start moving towards Event location.

Off Response

None.

Parameters

Always Face Player: If true, the AI will always face the player while following their waypoints

Max Speed Scale (0-100): Used to make the AI move slower while following waypoints

Goto_Player

Description

This Event will make all linked entities travel to the Player position.  The linked entities will continue to pathfind to the Player until they have line-of-sight.  When the entities can see the Player, they will return to their default AI.

On Response

Make linked entities start moving towards the Player.

Off Response

None.

Parameters

None.

Heal

Description

This Event will add life to all the linked objects.  This Event can be used to damage events by using a negative Life Delta value.

On Response

Add the Event Life Delta value to the life of all linked objects.

Off Response

None.

Parameters

Life Delta: How much life to add  (negative amount will cause damage)

Invert

Description

This Event will change On messages to Off messages (and Off to On) before forwarding them to any linked Events.

On Response

Change message to Off.

Off Response

Change message to On.

Parameters

None.

Level_Transition_Marker

Description

This is a special type of Event which doesn’t respond to On or Off messages.  This Event is used to maintain the correct positions and orientations off all objects in the transition areas between levels.  This Event needs to be placed in the location of the trigger which causes level loading in the other level involved in the transition.

On Response

None.

Off Response

None.

Parameters

None.

Load_Level

Description

This Event will cause the specified level to load.  The Player will be taken to the new level seamlessly.

On Response

Load the specified level.

Off Response

None.

Parameters

Filename: Disk filename (including the .d4l extension) of the level to load.

Start Marker id: The unique id of the Drop_Point_Marker associated with the level transition.

Look_At

Description

This Event will cause any linked AI to turn and face the Event location.

On Response

Make linked AI look at the Event.

Off Response

None.

Parameters

None.

Play_Sound

Description

This Event will cause a sound to play.  The sound can be a 3D or 2D sound, and it can be made to loop.

On Response

Start playing the sound.

Off Response

Stop the sound, if it is playing.

Parameters

Sound Filename: Disk filename of the sound to play (including .wav extension).

Min Distance: Distance (in meters) where the sound begins to drop off in volume.  If you don’t want the sound to be 3D, set the Min Distance to zero.

Looping: If true, the sound will play looping (until you stop it by sending an Off message to this Event).

Make_Fly

Description

This Event will make the linked AI enter fly mode.  If the AI is already flying, this Event does nothing.  This Event can only make AI fly if it normally has the ability (i.e., this Event can’t make a Cave Slug fly).

On Response

Make linked AI enter fly mode.

Off Response

None.

Parameters

None.

Make_Walk

Description

This Event will make the linked AI enter walk mode.  If the AI is already walking, this Event does nothing.  This Event can only make AI walk if it normally has the ability (i.e., this Event can’t make a Grabber walk).

On Response

Make linked AI enter walk mode.

Off Response

None.

Parameters

None.

Message

Description

This Event will make a sound file play and display the associated text on the Player HUD.

On Response

Play the message.

Off Response

None.

Parameters

Persona: Selectable from drop-down list of names which is generated from personas.tbl.  Select "none" if you don’t want the message to be from a persona.

Voice Filename: Disk filename (including .wav extension) of the sound file to play.

Play_Animation

Description

This event will cause a linked AI to play a specific animation.  If the animation is a state animation (i.e., a looping animation) then it will replace the current animation state for the AI.  If the animation is an action animation (i.e., a one-time animation) then it is blended with the current state.

On Response

Play the animation.

Off Response

None.

Parameters

Animation: Name of the animation.  This is selectable from a list of possible animations for the object that is linked.

Hold Last Frame: If true, the model will stay in the last frame of animation.  This is only valid if the animation is defined as an action animation.

Remove_Object

Description

This Event will destroy all objects linked to the event.  Objects will disappear instantly (i.e., without their death sequence).

On Response

Kill all linked objects immediately.

Off Response

None.

Parameters

None.

Set_Friendliness

Description

This Event will set the Friendliness of all linked objects.

On Response

Change the Friendliness of an entity.

Off Response

None.

Parameters

Friendliness: The friendliness is selectable from a drop-down list, and consists of the following choices:

1.	Unfriendly: AI will attack the player on sight.

2.	Neutral: AI will only attack the player if provoked.

3.	Friendly: AI will not attack the player, and may attack entities that are attacking the player.

4.	Outcast: AI will attack anything it sees.

Set_Light_State

Description

This Event will set the state of any linked lights.  Currently this event can set a light on or off, but any light related changes (like making a light flash, change color, etc.) can be data within this event.

On Response

Change the state of all linked lights.

Off Response

None.

Parameters

State: On or Off

Slay_Object

Description

This Event will kill all linked objects, and allow their death sequence to play.

On Response

Kill all linked objects.

Off Response

None.

Parameters

None.

Shake_Player

Description

This Event will shake the viewpoint of the Player.

On Response

Start shaking the Player camera.

Off Response

None.

Parameters

Magnitude: How strong to make the shaking.  This value is the max amplitude of the shake in meters.

Time: How long to shake the camera in seconds.

Shield

Description

This Event will add the Shield Delta value to the shield of all linked objects.

On Response

Add Shield Delta to all linked objects shields.

Off Response

None.

Parameters

Shield Delta: The amount of shield to add (you can decrease shield by using a negative number here).

Shoot_At

Description

This Event will cause all linked AI to shoot at the Event location.  The AI will continue to shoot at the Event until an Off message is received.

On Response

Make all linked AI attack the Event location.

Off Response

Make all linked AI stop attacking the Event location.

Parameters

None.

Shoot_Once

Description

This Event will make all linked AI shoot once in the direction they are currently facing.

On Response

Fire a single time.

Off Response

None.

Parameters

Shoot Type: Primary, Secondary, Flare.  What type of weapon to use.

Spawn_Object

Description

This Event will cause a specific object type to be created.  The object is created at the Event location, with an identity matrix orientation. [FIXME: we may want to give events an orientation]

On Response

Spawn the object at the Event location.

Off Response

None.

Parameters

Object Type: Entity, Clutter, Item.  Selectable from a drop-down list.

Object Class: The classname of the object.  Selectable from a drop-down list.  The choice here depends on the Object Type that has been selected.

Swap_Textures

Description

This Event will cause the specified textures (up to 2 per Event) to be used on all linked objects.

On Response

Swap the textures.

Off Response

None.

Parameters

Texture Num: Texture index to swap (starts from 0)

Texture Filename: Disk filename (including extension) of the texture bitmap to use

Switch

Description

This Event behaves like a switch that remembers it’s state (on or off).  This Event can be used to turn lights on or off, and can be used to let the player activate special events.  If the Event is linked to a VFX, this VFX is used as the model for the switch (the default state of the VFX should be off, with the animation taking the VFX to the on state).

On Response

Toggle the state of the switch.  The behavior of the switch is controlled through the Event parameters.

Off Response

None.

Parameters

Initial State: The initial state of the switch (either on or off)

Behavior: This says what kind of signal the switch will send. (toggle between on and off, always send an on, always send an off)

Sound: Disk filename (including the .wav extension) of the sound to play when the switch is thrown

Max Throws: How many times the switch can be thrown

Infinite Throws: If true, the Max Throws parameter is ignored, and the switch can be thrown an infinite number of times.

Switch_Model

Description

This Event will change the model of all linked objects to the model filename that is contained in the Event.

On Response

Change the model.

Off Response

None.

Parameters

Model filename: Disk filename (with extension) of the model to switch to.

Teleport

Description

This Event will teleport all linked objects to the Event location.  There are no special effects associated with the teleportation.

On Response

Teleport all linked objects.

Off Response

None.

Parameters

None.

When Dead

Description

This Event will send an On message to all linked Events when all linked objects have died.  This Event is used when you want to do something when a specific object has been destroyed.

On Response

None.

Off Response

None.

Parameters

None.


Security Cameras

How to create a security camera

1. Move the camera to the location and orientation that you want the security camera to appear

2. Enter object mode if you aren't already in that mode (Ctrl+O)

3. Double-click on camera2 in the object list, in the Entity->Robots category

Note: the script name of the camera is what is displayed on the player HUD when viewing from that camera.

How to create a security monitor

1. Move the camera to the location and orientation that you want the security monitor to appear

2. Enter object mode if you aren't already in that mode (Ctrl+O)

3. Double-click on smallscreen or screen1 in the object list, in the Clutter->Screens category

Note: Only clutter objects with the $Use: "monitor" set can be used as secruity monitors that display the output from cameras

Linking a security camera to a security monitor

1. Create a Set_Monitor_State event

2. Events must receive an On message to execute, so link an auto-trigger to this event

3. The event needs to know what security camera and monitor to use, so link from the event to the secruity camera and monitor

4. If you want the security camera to alarm and track the player, set the security camera friendliness to "Unfriendly"

Note: You can link to more than one security camera, and the monitor will cycle between these cameras at the interval specified in the Set_Monitor_State event.

Alerting entities when a secruity camera alarm occurs

1. Make sure that the security camera friendliness is set to "Unfriendly"

2. Select the entity that you want to be alerted when camera alarms, and press Ctrl+P to bring up properties

3. Enter the secruity camera UID into the "Alert Camera UID" field


Triggers

A Trigger is used to set off any number of Events. It could be to start a sound effect playing using a sound event, or to start a complex scripted sequence. The trigger object can be found with all the other objects under Object Mode.

Trigger Properties

Shape: The shape of the trigger in 3D space (Sphere or Box). Below this option you may specify the size you want as either a radius (Sphere) or as Width, Depth, Height (Box).

Trigger Resets X Times: Specify how many times the trigger will work, where "X" is a number you input. A setting of -1 means the trigger will always work. A setting of zero means the trigger will never work (bad idea). For example: If you want to trigger a one time event, use 1.

Trigger Resets after X Seconds: Specify a delay before the trigger becomes "active" again (usable), where "X" is a number you input. Using zero here will make the trigger work as fast as possible.

Activated By:

Players Only: Only the player can set off the trigger.

All Objects: Any object passing through the trigger will set it off.

Linked Objects: Only object linked to the trigger will set it off if they pass through it.

Check Boxes

Is NPC Trigger: Allows any passing AI to activate the trigger.

Is Auto Trigger: This check box tells the trigger to activate when the level first loads.

Use Key is Required to Activate Trigger: Entering the trigger area is not enough- you must use the "Use" key to activate the trigger.

Player Weapon Activates Trigger: The trigger can be activated by a weapon projectile flying through it.

Always Show Range: Shows the range of the trigger in the editor, even if the trigger is not selected.


Tutorial - Hello Room
Hello Room

This tutorial will teach you how to make your first room, complete with player start, textures, and a light. This tutorial just covers the very basics and does not get in depth with anything unnecessary. You will learn some very useful basics on using the editor though.

Making the room:

Step 1: Run the editor. When the editor first comes up it is in "Brush Mode" and ready for you to build a room. You can tell what mode you are in by looking at the little "Mode" pull-down box at thetop left side of the editors main interface. You will see a Cyan (blue-green) colored cube in all four views. This is your "cookie cutter" brush that shows you the shape and size a brush will be when you create them.

The other thing you see in the four views is a green player icon. This marks the player start position. You need to make sure the player start is in your world before trying to play a level in the game.

The player start can be placed any where in your level. It is initially placed at 0, 0, 0. If you want to "move" the player start, go into "Object" mode and double click on "Player Start" in the object creation pane on the left. This will create a singe player start using the camera's current location and orientation.

Step 2: Since we are already in brush mode, all we need to do is think of the type of room we want to make. Let’s make a 6 sided room (hexagon shaped). Select the "Shape" pull-down over in the Brush Properties area and select "Cylinder". This will change the cookie cutter into the shape of a cylinder.

Step 3: Let’s change some properties on the cylinder cookie cutter to make our room. Since we want our room to have air in it and not be solid, we will leave the "Type" pull-down to it’s default of "Air". The default height of 4 meters is fine also.

Let’s make the room a little bigger by changing the cylinder radius to 4 meters.

Now lets make this cylinder have 6 sides (a hexagon) like we wanted by changing it’s "Sides" value to 6.

Step 4: There, we are now ready to make our room. Hit the big "Create Brush" button and your room will be made and textured with the default texture. Now hit the SPACEBAR to rebuild the level. This will make sure everything if calculated properly so you can do things like texturing (which is the next step in this tutorial actually).

Texturing the room:

Step 5: Now we should put some nice textures on the floor, ceiling, and walls. This means we need to go into "Texture Mode". Select "Texture" from the Mode pull-down or use the SHIFT+T hot-key combo. Notice when you change modes the interface changes as well to things that are useful for the Mode you are currently in.

Step 6: This new interface shows a window (thumbnail) with your current default texture. Below this thumbnail view are two pull-down boxes. The first/top one shows a list of the textures in the texture directory you are currently in. Next to this pull-down box are two arrow buttons. These buttons allow you to "scroll" through all the textures in your currently selected directory. The second pull-down box lets you change to the various texture directories. These directories are fairly self explanatory and contain textures of those types/purpose.

Step 7: First let’s texture the walls. First we need to select the wall faces to do this. In the 3D preview window select ANY face of your room by putting you mouse pointer over it and clicking with the left mouse button. That face should now highlight in green. Since we have so many faces to texture, let’s take a very useful shortcut. While you have that face selected (it’s highlighted in green), press SHIFT+S. This will tell the editor to select ALL the faces of that brush. All your brush faces should now be green.

Now use the directory pull-down box and select the "Wall - Metal" texture directory (you may need to scroll down to it). The texture thumbnail window will change to show you the first texture in that directory. Select a cool looking wall texture by using the arrow "Scroll" buttons or use the pull-down box next to the buttons. You can also use the "Browse" button to bring up and advanced texture browser, but that will be covered in a different tutorial. Once you have the texture you want to use selected, just press the "Apply" button right below the texture directory pull-down box. You should see the textures change on the faces- don't worry about the floor/ceiling for now.

Step 8: You may notice that some of the faces have the textures facing in different direction. This is easily fixed by telling the editor how we want it to "map" the texture onto the faces. A little further down in the interface you will see one more pull-down box that says "Box" in it. Hit the "Apply Map" button just to the right of this pull-down box. This will tell the editor to use a box mapping technique on the faces and will align your textures better. More advanced texturing and info is beyond the scope of this tutorial.

Step 9: Now let’s put a new texture on the floor. Before we can do that we need to de-select all those faces. To do that just click with your left mouse button over a blank area of any of the four preview windows- the faces should no longer be green.

In the 3D preview window select the floor face by putting you mouse pointer over it and clicking with the left mouse button- that face will highlight in green. Now use the directory pull-down box and select the "Floor - Metal" texture directory. Pick a cool texture and hit the "Apply" button. Repeat this step for the ceiling.

Lighting the room:

Step 10: Now we have a room that is textured- let’s give it a light! To do that we need to go to "Object Mode" by either using the Mode pull-down box at the top left or by the hot-key combination of SHIFT+O. Once in Object Mode the interface will once again change. It now shows a pull-down box and a big tree-view window. The pull-down box let’s you select what category of objects you want to work with. We can leave that alone for right now as the object we want (light) comes up in the tree view window by default.

Step 11: Select "Light" in the tree-view window. It should highlight when you do this. This will tell the editor that we want to place a light. We will use the  "Top" preview window  to place our light (also known as an orthographic window because it shows a flat 2D view of the 3D world). This window let’s you look down on your level from above it. Put the mouse pointer somewhere over the room in the view. Now hold down the "P" key while you click your left mouse button. A light should appear there (shown as a little light bulb with circles drawn to show you the range and fall off of the light).

Step 12: Make sure this light is in you level by looking at all the views. If it is not, you can hold down the "M" key and the left mouse button and "drag" the light were you want. Also, you can hold down the "M" key while using the arrow keys (as well as the Page Up / Page Down keys) instead of the mouse to move the light as well.

Step 13: Now that we have the light placed in the room, it’s time to tell the editor to calculate lightmaps and lighting. Go up to the Level menu and select "Calculate Maps and Light". Also make sure you have "Show Textures with Lightmaps" selected under the "View" menu.

Finishing up:

Step 14: Once you have your light in the room and the room is lit, we can now place our player start in the room. As mentioned above, the player is that little silver guy in the four window views. He should already be in your room so there is no need to move him. If you did want to move him he can be moved by selecting him while in Object Mode. This is done by clicking on him with the left mouse button. Then he can be moved just like the light in Step 12. Just make sure he is completely inside of your room!

Step 15: Now save your level into the levels\user directory and then select "Play Level" from the File menu.


Tutorial - Liquids
Liquids Tutorial

To create a simple pool of water, follow these steps:

1) create an average room-size air brush (about 4 meters high with a width and depth of 12 meters).

2) Make a second smaller air brush in the floor of the room to act as the pool. (note: if you have areas in your room that is lower than the pool of water, you may want to make the room it’s own portal so the water won’t fill from lower points in the room)

3) Put a "Room Effect" object in the pool air brush and set it’s "Effect Type" property to "Liquid Room" in the pulldown. (note: hit CTRL+P on the selected object to bring up it’s properties dialog).

4) While in the properties dialog for the Room Effect object, go ahead and play with the liquid properties to get the type of water effect you want. Make sure you at least give it a water texture and set a good Depth for your pool of water.

5) Now add a light to the room so you can see the water in the game, rebuild and re-light your level, then run it.

See Liquids for more info.


Tutorial - Sky Box
Simple Sky Box Tutorial

To create a simple sky box, follow these steps:

1) create a large square air brush (about 20 meters high with a width and depth of 120 meters). Make sure it is far of to the side and away from your actual level to give you room.

2) Apply cloud textures to all the walls. Scale them to a good size.

3) Put a "Room Effect" object in the air brush and set it’s "Effect Type" property to "Sky Room" in the pulldown. (note: hit CTRL+P on the selected object to bring up it’s properties dialog).

4) In Texture Mode, select the faces and check the "Full Bright" flag in the properties window. (note: hit CTRL+P on the selected faces to bring up it’s properties dialog).

5) In Texture Mode, select the faces in your level that you want to show sky and check off the "Show Sky" flag in the properties window. (note: hit CTRL+P on the selected faces to bring up it’s properties dialog).

6) Rebuild and light your level, then run it.


Basic Mulitplayer Map
Basic Multiplayer Map

In order to create a multiplayer map, there are a few things you need to do first:

- If you are creating  a deathmatch/team deathmatch level, the level's file name must start with "dm".

- If you are creating a CTF level, the level's file name must start with "ctf".

- You need to let the editor and game know this a multiplayer map by setting the multiplayer flag under level properties.   You can access level properties under the "Edit" pulldown menu. You will see

   a checkbox at the bottom of the level   properties dialogue box called "Multiplayer Level". Click on that box once so there is a check in the box.

- You need to place Multiplayer Respawn Points in your level. If you are making a deathmatch/team deathmatch level, just place them where you want them and don't worry about the flags. Like the

   single player start points, mulitplayer start points are placed based upon your camera's current position and orientation. However, unlike the single player start point, you can move them and rotate

   them just like any other object.

   If you are creating a CTF level, you need to make sure only the Red team or Blue team flag is checked.

- Once you have made created a level, refer to the section "Distributing User Made Levels".


Movers

Movers are any object, brush, or combination thereof that are setup to move around the level in-game. Things such as doors, lifts, or a tram would be considered a mover. Movers are created in Group Mode and use a keyframe system to specify how groups should move. Also, a mover can be made up of many objects and/or brushes.

Follow these steps to create a mover group:

Create the brushes/objects you wish to turn into a mover.

Place them where you want them to start moving from (the initail state). Texture the brushes as needed.

Go into Group Mode and select the brushes/objects (even if it's just one brush or object) and create a user group for them.

Find the user group you just created and select it.

Hit the "Keyframe" button to turn this group into a Moving Group and create the master keyframe for it. The master keyframe shows the starting position for this mover and is shown as a gold key object.

After you create a mover you can "animate" it by giving it more keyframes that tell the mover what to do and where to move to.

Keyframes

The editor uses keyframes as the method for animating how movers move. They are a way to tell the game engine where the mover should go and in what order. You also use the keyframes to tell the mover how fast to go to the next keyframe, if the mover should reverse or start the process over when it finishes, and other such information.


Navpoints

Navpoints are placed like other object.  Then, you must connect your nav points together.  The key to connect two nav points is the "J" key.  In order to see the new connection you have to go into the debug menu (by typing "SHIFT + ENTER" or the "~" key), and type "show_nodes".  This will show all the connections between all the nav points.

You will see a box around the connections between the nodes.  This box will be as wide as the smallest radius of the two connected nav points.  The radius of a path node will soon be used for some important functions.  Namely, if a nav point is too small, than an entity with a larger radius than the nav point WILL NOT USE THAT NAV POINT in finding paths.  This will allow you to have humans following paths, but APCs will not try to follow.  Furthermore, when you place a nav point, you are guaranteeing that the area within the nav point radius is clear of obstructions.  And even more, you are guaranteeing that the box connecting the two nav points is ALSO clear of obstructions.  This means that entities can walk anywhere within the nav points and anywhere within the boxes connecting the nav points, and they can't do something stupid (like walk off a ledge or get stuck on a corner) if they stay within those bounds.  Adding width to our connections between nav points will keep the AI from piling on top of each other.

If you select two nav points and keep pressing "J", you will notice that you are toggling before 4 types of connections.  Let's call the two nav points "A" and "B".  If you have just plopped down these two nav points, then by default, they will not be connected.  In other words, no entity can walk directly from point "A" to point "B".  If you press the "J" key once, then it will connect them.  In other words, you are guaranteeing the AI code that an entity can walk from point "A" to point "B" and ALSO is able to walk from point "B" to point "A".  However, there may be cases where you can only walk in one direction.  For instance, you may have your entities walking off of a ledge to go from point "A" to point "B".  But the drop is too far for them to go directly from point "B" back to point "A".  In such cases, you can keep pressing the "J" key, to toggle through both "directional" connections (i.e. point "A" to point "B" OR point "B" to point

"A").  This type of connection is indicated by an arrow line which connects the two nodes in addition to the box.  If you keep pressing the "J" key, you will get back to the unconnected state.

Recap:

- Initial state:  no connection between point A and point B

- Press J once :  entity can go from point A to point B AND from point B to

point A

- Press J twice:  entity can only go from point A to point B

- Press J thrice:  entity can go only from point B to point A

- Press J four+ times:  go back to "no connection" and loop back through the

possibilities

Here's an important restraint.  Do not cross the streams.  Why, you ask?  Because that...would look bad.  Entities will wind up following non-optimal paths if connections between nav points were to cross.  When I say "cross", I mean, do not form an "X" on the ground without having a new nav point at the center of the "X".


Waypoints

The all important key for setting up waypoints is "CTRL + W".  It only works in object mode.  The new method for creating a waypoint

list is the following.  You place all of your nav points.  Then you select the nav points you want to make into a waypoint list IN ORDER of how you want the entity to follow that path.  Then you press CTRL + W.  This will create a waypoint path with no name.  A window will pop up which allows you

to change the name of the waypoint list and to add and remove nav points from the waypoint list.

If the waypoint had a pause time associated with it, then the new nav point will ALSO have a pause time associated with it.  Pause times associated with nav points ONLY apply to entities that are at that are using that nav point AS A WAYPOINT.  In other words, you cannot assign a pause time to a nav point and expect an entity to pause at that nav point as it is doing its regular pathfinding.  The pause time only affects entities using the nav point as a waypoint.

If you want to modify an existing waypoint list, then make sure that you have no objects selected.  THEN press "CTRL + W".  You will see a list of existing waypoint lists.  Select the waypoint list that you want to modify and press OK.  You will now get the same window that popped up when you created the waypoint list in the first place.  Again, you will be able to modify which waypoints are in the list and which are not.

Note that a given nav point can be used by several waypoint lists.  However, if you have a pause time associated with the nav point, it will affect all waypoint lists that use it.


Contents

Introduction

Contents

Group Mode

Object Mode

Mesh Smooth

Properties Dialog

Camera & Movement Hotkeys

Universal Hotkeys

Brush Mode Hotkeys

Face Mode Hotkeys

Vertex Mode Hotkeys

Texture Mode Hotkeys

Object Mode Hotkeys

Group Mode Hotkeys

Particle Emitter

Liquids

Sky Box

Event System

Security Cameras

Triggers

Tutorials

Tutorial - Hello Room

Tutorial - Liquids

Tutorial - Sky Box

Basic Mulitplayer Map

Playing and Distributing Levels

Using Mod-based Levels

Using Custom Textures

Movers

Navpoints

Waypoints


Tutorials

The tutorials list below will help you learn various features of Red by giving you hands on experience. Just click on a link below to bring up that tutorial. Note: You may want to print the tutorial before begining. This way, this help system will not be in the way while actually doing the tutorial.

Hello Room

Liquids

Sky Box

Basic Multiplayer Map

Distributing User Made Levels

Using Mod-based Levels

Using Custom Textures


Playing and Distributing Levels

RED saves levels in .RFL format.  This format can be opened & saved by RED at any time.  The game cannot load RFL files directly, however.  You must first export your level as a VPP "packfile" using the "Create Level Packfile" command in the File menu.

The VPP packfile will include your saved RFL level, as well as any custom textures you've used in it.  It will not include any default textures that come with Red Faction.  The VPP file will be saved in \RedFaction\user_maps\single\ or \multi\, depending on where you've saved the RFL file.  The VPP must be in one of those two folders for the game to find it.

Once you've saved out the VPP file, you can hit F7 in RED (or use the File/Play Level command) to launch Red Faction and load your level.  If you haven't correctly saved the VPP file, Red Faction will give you an error once it's started.

IMPORTANT:  If you intend to distribute your levels to other players, you MUST distribute the VPP files.  Distributing the RFL files won't allow them to play your levels unless they use RED to export them in VPP files first.  You only need to distribute the standalone RFL file if you'd like other people to use it in RED.

If you're interested in creating more advanced VPP files with more than one level, or a series of levels designed to play together, you will need to use a third-party VPP creation tool (RED will only create single-level VPP files).  One third-party fan-run website already has tools for editing Red Faction VPP files:

  Descent Network's Red Faction site:

  http://www.red-faction.com/

Please note, this is not an official site, nor are the tools they provide supported in any way by Volition or THQ.  USE AT YOUR OWN RISK!!!

Even more complex level interactions can be made by creating a "mod" from your levels.  Please look at the "MOD Tutorial.txt" file for more information on constructing data mods.  This is found in your Red Faction install directory, under \RedFaction\mods\.


Using Mod-Based Levels

Before reading further, you may wish to familiarize yourself with Red Faction mods.  A brief tutorial can be found in "MOD Tutorial.txt" file, found in your \RedFaction\mods\ directory.

If you have created a data-based "mod" for Red Faction, or would like to create levels specifically designed for a mod, you will need to run RED with the same command-line parameter.  You can do this through a command-prompt (or MS-Dos Prompt), by going to the RedFaction install directory and typing:

  RED.exe -mod <my mod name>

Where <my mod name> is the name of the installed mod.  This is the same parameter used by the game (RF.exe).  You can create a special shortcut to RED using this parameter by right-clicking the shortcut, and adding " -mod <my mod name>" to the end of the Target field (may differ slightly in various versions of Windows).

Levels created by RED in a mod mode cannot be loaded by the game, or by RED unless they're running the same mod.  If you aren't running in the proper mod mode, a warning will come up.


Using Custom Textures

It's easy to add custom texture maps to your Red Faction levels.

Texture Requirements:

All textures must be 24- or 32-bit .TGA (Targa) files.  They must be a power-of-two in each dimension, no more than 256 pixels wide or tall.  32x32, 64x32, 256x256 are all okay.  133x64, 512x256 or 100x100 are not okay. Texture dimension cannot not have a ratio greater than 8 to 1 (e.g. 256 x 8 is not allowed)

Once you have your textures created, simply copy them to your \RedFaction\user_maps\textures\ directory, and run RED.

Enter Texture Mode using the Mode drop-down list, or by hitting SHIFT-T.  In the texture category list on the left, choose the "Custom" category.  It should contain your custom textures.  If a texture does not appear in the editor, check that it meets the above requirements.

Any custom textures used in a level will be automatically included in the VPP packfile when you use the "Create Level Packfile" command.  Please see the section on "Playing & Distributing Levels" for details.