You are on page 1of 46

Serious_Editor_Item_By_Item (v0.

19)
edited by Michael Harris
written by Croteam, Michael Harris, Entroper, Lutrosis, Forager, ...... your name can be here
(special thanks Croteam's Alen Ladavac and Davor Hunski for their patience and many answers
and apologies for any errors introduced by my editing)
(if I have overlooked or grossly mis-edited anyone, please let me know)

unlimited rights to Serious Sam developer Croteam, all other rights reserved

TABLE OF CONTENTS AND PREFACE

Table Of Contents

01 Table Of Contents & Preface


02 Menu Bar
03 Toolbar (1st)
04 Toolbar (2nd)
05 Toolbar (3rd)
06 Color Button (not yet written, see editor help)
07 Property Combo (partially written)
08 Virtual Tree
09 Tools Info
10 Right Click Menu
(lasso tool and right click menus for Entity, Polygon, Sector and CSG modes)
11 Terminology and Definitions (started)

Preface

If you have not already done so, locate the .gro files that came with and were installed by Serious
Sam and the software development kit. Rename them to .zip. Then unzip them to the Serious
Sam directory (currently "C:\Program Files\Croteam\Serious Sam ...."), making sure to use
directory/folder option to assure that their directory/file contents get automatically dispersed to
the appropriate root or subdirectory locations within it. This provides numerous textures, entities
and enemies that can then be utilized within the editor.

If you have not already done so, work through the Navigation and Basic Room tutorials that
accompanied the editor (it is contained in the editor's help file), several times, to develop basic
familiarity and proficiency with the editor. Keep a copy of the editor keyboard shortcuts and the
basic room tutorial (and other tutorial/reference material) handy, both in hardcopy and online
help form. Also load up and explore and study the Karnak and other worlds that
accompany/comprise Serious Sam.

Before attempting major projects, do these and other tutorials and then do modest high risk low
cost experimentation, to prove out concepts that you are interested in employing. The editor
lends itself to this superbly. Given that no compilation of levels is required and that one can
quickly launch a test of the level currently being edited, from within the editor, one can rapidly
and repeatedly modify and test, modify and test, modify and test........ (Often, will be faster to try
and test, than to bug Croteam and others with questions...... save asking for the big original
questions/problems.) Save often, using a consistent naming scheme. I tend to embed a
date/time stamp in my file names, in the format of YYMMDDNN, where YY is two digit year, MM is
two digit month, DD is two digit day and NN is a sequentially assigned two digit number that I
restart at 01 each day and increment with each successive save during that day. Alternately, it
appears that the editor can be integrated with using the SafeSource (?) library/module
versioning/management product.

Serious Editor is a standard Windows application, which means that features such as menus,
select/copy/paste/etc., multilple documents (worlds), working/copying between same, etc. are all
robustly supported. Currently, context sensitive help is not supported.

Help does contain significant material in the forms of Tutorials, How To, Keyboard Shortcuts, Tips
and Tricks, etc.

There may be some additional setup that will be appropriate before beginning to use Serious
Editor heavily (best place to work on/store worlds is the Worlds subdirectory?). Virtual tree
setup/customiztion?

TOOLS: TGA file viewers/editors include Photoshop (excellent, but expensive), PaintShop (much
cheaper), ACDSee (shareware viewer), IrfanView (free viewer with limited editing abilities), .........

NOTE: If employing Serious Editor on a Windows 95 system and experience problem of the editor
crashing when you attempt to open a world (.wld) file that has a corresponding (identically
named) thumbnail (.tbn) file, the workaround is to avoid use of the mouse during the open.....
instead, do Alt | F | O | Shift+Tab | select file | Enter.... after which can use mouse again.

Feedback

This is, obviously, a very preliminary work-in-progress. Conversion to Word, Help or HTML seems
a likely step, at some point, as does the addition of graphics of menu/tool bars and buttons.

Please send suggestions, comments, criticisms, questions, etc. to me either on the forum(s) or at
mharris@fgi.net.
Contribute material and get your named added to the document.

MENU BAR

File

New (Ctrl+N) -- Start a new document (world)


Use File | Save As to initially save and establish a file name for the new world.
If have more than one world loaded, use Window to switch between.

Open (Ctrl+O) -- Load an existing document (.wld world file) into the editor.
Can have more than one world loaded at the same time,
allowing for copying, etc.

Source safe -- Store and manage successive versions of worlds, etc.


in Source Safe (?) module storage/version management product's library
- Check in (?)
- Check out (?)
- Undo check out (?)
- Get latest version (?)

Import 3D Object -- Import 3D objects, of the following formats:


- 3D object (native Serious format, of file type .???)
- Lightwave object (.lwo)
- 3DS object (3D Studio Max) (.3ds)
- additional formats (following notes are based on a quick review of file names
found in the ....bin\3dexplorationnplugins directory and should be taken
with a large grain of salt....as to identify, type of file and degree of support/compatability
(i.e. 3D object, 2D image, 2D animation, .....):
(? how integrate/use these ?)
- 3drm ?
- archive ?
- Dwg AutoCAD DWG
- E3nurbs ?
- Glc ?
- Halflife Halflife ?
- Hmworld Homeworld ?
- Imagine Imagine 3D ?
- isogcode ISO G Code ?
- kftools ?
- lwo Lightwave
- map Quake (Quake II) ?
- max 3d Studio MAX ?
- mts MetaStream ?
- Nendo ? (Nintendo ?) ?
- Nurbs ?
- Openflt OpenFlight (Multigen) ?
- Pgm Portable Gray Map ?
- Pro Power Render ?
- Quake3 Quake III Arena ?
- Rax RAX file format ?
- Rhino Rhinoseros ?
- Spx SPX file format ?
- Stl Stereo Litho ?
- Tim Playstation TIM picture ?
- Tspace TrueSpace ?
- Vrml Virtual Reality Markup Language
- Xsi SoftImage XSI ?

Convert List -- Convert given file list of ???? to ????


(using lists of file types: .lst, .txt)

Close -- Close the current document (world)

Save (Ctrl+S) -- Save the current document (world) under its current file name

Save As (Ctrl+Shift+S) -- Save the current document (world) under a new file name

Save Thumbnail (Alt+T) -- Save the current perspective view of the current
document (world) as a thumbnail (small) image file,
with its name set identical to the world file name,
but with a file type of .tbn
(for player preview/selection in Serious Sam)
(NOTE: Thumbnail (.tbn) files are actually Serious texture files (dimensions, etc.?).
If one wishes to use such thumbnails as textures in Serious worlds,
perhaps for a "hall of world portraits" effect,
copy/rename the .tbn file to .tex and use it just as any other texture file.
Note that, at least in the test versions, the thumbnail files for Karnak and othe worlds
are renamed to .tex, using the following convention:
- remove ".tbn" from end of file name
- replace it with "Tbn.tex"
Serious Sam, at least in the test version, seems equally happy with these file sets:
TestWorld.wld
TestWorld.tbn
and
TestWorld.wld
TestWorldTbn.tex
Reason for use/support of the two scenarios has not been asked/determined.

Take Screen Shot (Alt+C) -- Save a shot of the current perspective view (?)
to a file in Targa format, with file type of .tga

Create Texture (Ctrl+T) -- Create a Serious texture file, with file type .tex,
of/from one of the following texture types:
- Normal texture (from .pcx or .tga)
- Animated texture (from .pcx, .tga or script .scr)
- Effect texture (from .tex., modified by effect class and effect)

Preferences (Ctrl+P) -- Set world editor preferences:


User flags (????)
- Copy state of existing window (?)
- Set default colors (?) (default)
- Maximize window on open (?) (default)
- Always update inactive views (?)
- Automatic info (?) (default)
- Binary grid by default (?) (default)
- Save undo for delete (?) (default)
(tells editor to treat/save "delete entity" as an Undo step)
- Automatically colorize primitives (?)
- Show all on open (default)
Global Settings
- Undo levels - slider control for number of undo levels to be maintained
(left = fewer, right = more?)
- Change full screen display mode specification
(for full screen testing)
Current settings
- OpenGL - current OpenGL driver (?) (example: ICD)
- Display mode - current resolution (ex: 1024x768x)
New settings
- OpenGL - select between ICD (?) and other (????) (ex. ICD)
- Resolution - select resolution (ex: 1024x768)
- Colors: (color depth)
- Default (? bits or ? colors) (default)
- High color (? bits or ? colors)
- True color (? bits or ? colors)
- Test - test the new settings (displays color bar & text test patterns)
Apply - set/apply the new settings
Source safe (if using SourceSafe version control/library management software to manage
source code, etc.)
Source safe project ($/FLESH/)
Rendering configurations (????)
(You can save 10 (?) custom editor screen/window setups,
each to one of the numeric pad number keys,
by holding Ctrl down and tapping the desired number key to save
and by tapping the desired number key to restore)
(Each rendering configuration also has its own
"Rendering Preferences Of Buffer 11")
- 0 standard/default four sub-window (top, front, side, perspective)
- 1 (?)
- 2 color polygon rendering mode (default)
- 3 (?)
- 4 (?)
- 5 (?)
- 6 full screen, maximum quality, no editor entity icons, for testing (default)
- 7 (?)
- 8 (?)
- 9 (?)
- 10 (?) (how select via number pad?)
- Window startup configuration
(defaults to "0", which is the standard four sub-window
(top, front, side, perspective) editor layout)

...list of most recently opened documents (world files)


(enables quick reload of recently edited worlds..... a standard Windows application feature)

Exit
Exit Serious Editor

Game

Current player and controls -- select player and controls for testing game
(player and control definitions appear to be shared by editor and game?)
(create/save in "Player settings" below or in Serious Sam itself)
- Available players -- 8 customizable/recallable player setups
- Player 0 thru 7 (can be renamed)
- Player's controls -- 8 customizable/recallable sets of control settings?)
(previously consisted of Universal Controls (keyboard+mouse),
Controls 1 thru 6, DEN's special setup)
- dummy....... (can be renamed)

Player settings -- edit players and controls


- Players -- appearance and name of player 0 thru 7
- Appearance -- stub/unimplemented.... to be visual selection of player appearance?
- Rename -- rename to something more personal/meaningful than "Player x"
- Controls -- configuration and name of controls 0 thru 7
- Edit -- edit/reassign button and axis actions and select axis-type controller(s)
- Button action -- assign actions to buttons
(can assign each action to two buttons/keys)
- First control
- Second control
- Axis action -- assign axis action to controller axis
- Available axis-type controllers
- Invert controller input -- reverse controller action
(commonly used to reverse look u/d)
- Controller type
- Relative controller (?)
- Absolute (?)
- Controller sensitivity
- Rename -- rename to something more personal/meaningful than "dummy"

Audio settings -- adjust audio quality settings (quality/features vs. performance)


- Audio quality -- audio quality vs. performance
- Low (11Khz ?) (best for low end systems)
- Normal (22Khz ?)
- High (44Khz ?)
- Use Direct Sound 3D -- (? hardware feature, ? stereo, ?surround)

Video settings -- video quality vs. performance


- World shadow quality -- (shadows cast by buildings?, particular kinds of lights?, or general?)
- Low, Normal, High
- Texture quality -- (texture resolution, mixing, ?)
- Low, Normal, High
- Object shadow quality -- (shadows cast by smaller objects, players, enemies?)
- Off, Low, High

Test game (T) -- test world, in editor's perspective view window


(near immediate start/exit, facilitating rapid edit/test/edit/test.... development cycle)
(faster than full screen?)
(useful for studying screen composition)
(useful for "near full screen" testing on systems whose less than robust OpenGL
experiences problems with full screen game testing from within the editor....
i.e. just enlarge the perspective view by dragging its corner, test,
then shrink by redragging corner))
(note that perspective view and other windows can be quickly resized
via dragging frames/corners)

Test game (full screen) (Ctrl+T) -- test world, in full screen


(near immediate start/exit, facilitating rapid edit/test/edit/test.....)
(provides better sense of immersive gamer full screen experience)

Console (Ctrl+L) -- access to game command console from within editor:


- scrollable review of console log (startup and commands history/results)
- listing (and selection?) of engine symbols/script variables available for setting/display
- command entry

Edit

Snapshot (Ctrl+W) -- remember entire current world state, at this point in time, for undo
(editor normally snapshots entire world state for undo, at each CSG operation
and optionally at each entity deletion.... (thanks to Alen Ladavac for this info)

Undo (Ctrl+Z) -- undo to world state before last CSG operation or (optionally) entity deletion
(editor does not currently do more detailed incremental action-by-action snapshotting)

Redo (Ctrl+Y) -- redo previous undo

Cut (Ctrl+X) -- cut the selection and put it in the clipboard

Copy (Ctrl+C) -- copy selected sectors from clipboard without entities

Paste (Ctrl+V) -- insert clipboard contents


View (shows/hides following tool bars, windows, dialogs)

Toolbar -- main tool bar (default)


(first fourth of first tool bar, offering standard Windows
new, open, save, cut, copy paste, help about, context help services (not implemented))

Status Bar -- status bar (default)


(bottom of screen, offering standard Windows display
displaying reminders, menu pick previews/explanations,
sector vs. entity vs. polygon vs. CSG mode indication,
grid resolution, current xyz location of solected item)

CSG Tools -- Constructive Solid Geometry (GSG) bar (default)


(first two thirds of second tool bar, offering
selection of current brush (?) from drop down list,
creation of conus, torus, stair, sphere and terrain primtives,
cancelation of CSG operation, repeat of last CSG operation,
triangularization of primitives polygons,
addition of second layer to world, removal of second layer from world,
joining of layers, splitting of selected sectors, joining of selected sectors,
splitting of selected polygons, joining of selected polygons,
joining of all polygons, toggling of cut mode on/off)

Projections Bar -- (viewing windows controls) projection bar (default)


(first third of third tool bar, offering
resetting viewer's target to origin of world,
selection of window view to top, bottom, right, left, front, back, perspective,
circle editing mode for polygons/sectors/entities,
toggling presence of orientation icons on/off in windows,
toggling frame rate display on/off,
toggling use of measurement tape on/off,
screen shot, test game, test game in full screen)

Work Bar -- (miscellaneous ?) (default)


(middle third of third tool bar, offering
recalculate shadows (useful when have continuous shadow calculation off ?),
choose color to colorize current selection
(use to tag multiple polygons with same color code,
to facilitate later selection and mass re-texturing of same),
drop marker at current position of entity
(to facilitate placing multiple markers for moving brushes (and other?),
test entity connections (????),
test entity connections backward (????),
center selected entity (????),
center background viewer (????),
save pictures for environment (????)

Shadows and Textures -- (texture and shadows toggling) (default)


(last third of second tool bar, offering
toggling of texture visibility (for adjusting texturing effects)
toggle texture 1 visibility (?????purpose),
toggle texture 2 visibility (????),
toggle texture 3 visibility (?????),
and
toggle shadows on/off (light & shadow (slower, more representative of in-game speed)
vs. fullbright (flat pseudolit) (faster, perhaps useful in editor))
(also useful when have not yet added lights),
calculate shadows on/off (static (fast) vs. continuosly recalculated shadows (slow) ?)
(see "recalculate shows" above)
(do these static/on request vs continuously recalculated shadows
settings apply to just the editor or both editor and game ?)

Select entity -- (power tools for selection of entities) (default)


(middle third of first tool bar, offering
browse by volume, align volume,
previous entity, next entity,
select all in volume, select by description)

Settings and utility -- (miscellaneous grouping of world, light and texture tools) (default)
(second fourth of first tool bar, offering
world settings for both editor and game,
light animation editor,
create texture)

View tools -- (view control for editing) (default)


(last third of first tool bar, offering
toggle selection rendering,
enable moving of anchored entity (5 minutes),
show/hide entity targets,
view from selected entity,
toggle decadic and binary grid snapping type,
toggle automatic snapping, toggle grid,
toggle view pictures, toggle measure mode,
update links,
hide unselected, hide selected, show all)

Mip tools -- (level of detail (LOD) tools) (MIP stands for ????) (default)
(last third of third tool bar, offering
toggle auto mip brushing,
edit mip switch distance,
set manual mip factor to show previous mip brush,
set manual mip factor to show next mip brush,
clone current mip brush to more precise mip level,
create empty brush at more precise mip level,
clone current mip brush to rougher mip level
create empty brush at rougher mip level,
delete current mip brush)

Property Combo -- (used to view/set selected entity type, name, properties...)


(default)
(upper third of left side of screen)
(comprised of property combo box,
in which entity type, name and properties can be viewed
and properties can be set
NOTE: properties vary by entity type and can get quite numerous and complex.....
including name, type, falloff, target, parent, child, .............
Lots of power here, folks!)

Browse window -- (browse virtual tree used to organize textures, entities and enemies)
(default)
(lower two thirds of left side of screen)
(comprised of scroll list, scaling buttons and palette items,
from which items (textures, entities and enemies)
are selected for placement into the world)

Info window (Q, Ctrl+I) -- (polygon/entity/sector specific parameters) (not default)


(pop-up window in lower left hand corner of screen,
with which to view/set properties of selected polygon, entity or sector object)

Window

New Window -- Open a new window, containing another set of


top/front/side/perspective views of the current world

Cascade - Cascade/overlap windows containing sets of views.

Tile -- Tile (non-overlap) windows containing sets of view.

Arrange Icons -- ????


("arrange icons at the bottom of the window" ?????)

Split -- split active window into multiple adjustable views

. . . list of currently open windows/worlds


(use to switch between them, by selecting from the list)

Help

Tip of the Day - Useful way to obtain one-a-day exposure/reminder on Serious features.

Help Topics -- Help regarding Serious


(serves as Serious documentation)
- Version changes
- Engine
- Overview
- Basic Information
- Editor
- Overview
- Tutorials
- How To
- Keyboard Shortcuts
- Tips & Tricks
- Modeler
- Overview
- Usage
- Tutorial
- How To
- Keyboard Shortcuts
- Software development kit
- General Information
- Engine
- Entities
- Tutorials
TOOLBAR (1ST)

The first toolbar (button bar) under the menu bar


consists of the following groupings of buttons:
- Toolbar -- main tool bar (?), offering standard Windows tools
- Settings and utility -- miscellaneous grouping of world, light and texture tools)
- Select entity -- power tools for selection of entities
- View tools -- selective view control for editing

More detailed descriptions of groupings and buttons follow.

Toolbar (grouping)-- standard Windows tools


(first fourth of first tool bar)
- New -- Start a new document (world)
Use File | Save As to initially save and establish a file name for the new world.
If have more than one world loaded, use File | Window to switch between.
- Open -- Load an existing document (world) into the editor.
Can have more than one world loaded at the same time,
allowing for copying, etc.
(NOTE: If working on a Windows 95 PC and experiencing problems of editor crashing
when open world (.wld) files that have accompanying thumbnail (.tbn) image files,
avoid use of mouse during the entire open process
and instead use keyboard Alt | F | O | Shift+Tab | select desired world | Enter
and then resume using mouse.)
- Save -- Save the current document (world)
- Cut -- Cut the selection and put it in the clipboard
- Copy -- Copy selected sectors without entities
- Paste (Ctrl+V) -- Insert clipboard contents
- About -- About World Editor (Serious Editor).
- Help -- Context sensitive help (does not work, for lack of seriouseditor.hlp file)

Settings and utility (grouping)-- miscellaneous world, light and texture tools
(second fourth of first tool bar)
- World Settings -- change world settings, for both editor and game
- Background color -- color button, for selecting color of unused portion of world
- Backdrop object -- background 3D object that one can reference against and/or model
over
(.lwo LightWave object)
- Top view picture -- reference image (.pcx, .tga), to be displayed as background
in top view window, against which can compare/design the world
(width, length, center x, center z ....... default to 1,1,0,0)
- Front view picture -- ditto
- Right view picture -- ditto
- Level name -- world's narrative name, to be displayed in
Serious Sam's "load custom world" worlds choice list
- Spawn flags -- levels of difficulty and custom features (?)
and single/multiplayer/custom game type supported
- Level of difficulty ?
- E -- Easy (and Tourist?, in which players health constantly improves)
- N -- Normal
- H -- Hard
- X -- Serious (Extreme)
- 1 -- custom/undefined level of difficulty ?
- 2 -- custom/undefined level of difficulty ?
- 3 -- custom/undefined level of difficulty ?
- 4 -- custom/undefined level of difficulty ?
- 5 -- custom/undefined level of difficulty ?
- Single/Multiplayer/custom game type?
- S - Single player
- C - Coop? Capture the flag multiplayer ?
- D - Deathmatch (scorematch?) multiplayer ?
- 1 -- fly-over?
- 2 -- custom/undefined game type ?
- 3 -- custom/undefined game type ?
- 4 -- custom/undefined game type ?
- 5 -- custom/undefined game type ?
- 6 -- custom/undefined game type ?
- Edit mission description -- mission/wworld narrative description
(currently not used, other than for documentation/notes)
(could be accessed from code and displayed in-game. Alen Ladavac)
- Light Animation Editor -- create/edit light animation files
(animation file name is displayed in title bar of the dialog box)
(each animation file can contain multiple named animations)
- Animation -- light animation (within current animation file) selection list
- Add -- add light animation to current light animation file
- Delete -- delete light animation from current light animation file
- Name -- current light animation that is being edited
- Speed -- seconds per frame (fractions of seconds supported)
- Number of frames -- length of animation in frames
- animation edit bar (scrollable)
(bright/dark color/length indication?,
green start of /end of dots,
delete frame(s) key)
- Load -- load light animation file
- Save -- save light animation file under current name
- Save As -- save light animation file under new name
- Close -- close light animation file and dialog window
- Create Texture -- Create a Serious texture (.tex),
of/from one of the following texture types
(are resulting textures just internal to current world
or can be exported from browser's texture pallette?):
- Normal texture (from .pcx or .tga)
(?name/save as .tex into some Serious directory?)
- Animated texture (from .pcx, .tga or script .scr)
(?supply/specify images (via script .scr or sequential names .pcx or .tga?)
to be combined into an animation,
then name/save result as .??? animated texture file?)
- Effect texture (from .tex., modified by effect class and effect)
- Effect texture (name)
- Base texture (directory/name of file and width and height in pixels)
- Width and Height (in pixels, by powers of two, from 1 to 256)
- Size (meters) (effect texture's square (?) width and height
size in world, by powers of two, from 0.25 to 1024
- Effect classes & Effects (within classes)
- Water Fast and
Water Medium and
Water Slow and
?blank
- Raindrops
- Raindrops Big
- Raindrops Small
- Random Surfer
- Oscilator
- Vertical Line
- Horizontal Line
- Plasma Tile and
Plasma Up and
Plasma Up Tile and
Plasma Down and
Plasma Down Tile and
Plasma Up Slow and
Fire
- Point
- Random Point
- Shake Point
- FirePlace
- Roller
- Fall
- Fountain
- Side Fountain
- Lightning
- Lightning Ball
- Smoke
- Rendering speed (of effect texture being worked on)
in millisceonds
- Create -- save effect texture
using current Effect texture name for file name
- Create As -- save effect texture
under new effect texture file name
- Remove FX -- ? delete current effect texture file ?
- Cancel -- cancel creation of/changes to
current effect texture being worked on
- Checked background (check box) -- provide a chequered background
as background/contrast to non-solid/translucent effect textures?)

Select entity (grouping) -- power tools for selection of entities


(middle third of first tool bar)
- Browse by volume (V) -- (toggle green volume (selection box) on/off in world being edited)
(volume faces are broken into two or four triangles, depending on view)
(to resize/reposition an edge, start dragging it from within that edge's pyramid)
- Align volume (A) -- (expand/shrink (but do not reorient) the volume
such that the face closet to the perspective view's camera location
intersects the camera?)
- Previous entity ( [ )-- select previous entity within the volume
- Next entity ( ] ) -- select next entity within the volume
- Select all in volume (Ctrl + A) -- select all entities within the volume ?
- Select by description (Ctrl+Shift+A) -- list of all entities
(within world or volume, depending on volume toggle state)
to which a variety of selections/operations can be applied
(sortable by column headings)
- Selected entities -- count of entities selected
- Total entities -- total count of entities within world/volume
- Volume -- world/volume toggle check box
- list
(columns:
Class -- entity class
Name -- entity name
Description -- narrative (or parametric?) entity description
Sector name -- sector name (? how do sectors fit in all this ?)
No -- unique, sequentially issued entity number
X, Y, Z -- entity's origin X,Y,Z coordinates
H, P, B -- entity's Heading, Pitch and Bank, in degrees
Distance -- entity's distance from ???????????
(operations/buttons/shortcuts
- Delete -- delete selected entities from world
- Remove -- remove selected entities from current work list of entities
- Leave -- remove all unselected entities from current work list of entities
- Select all -- select all entities in current work list
- Feed volume -- add selected entities to list of those in volume
- Revert -- revert current work list back to is original contents
- Select sectors -- select only selected sectors
- OK -- apply specified selections to entities in world and return to editor
- Cancel -- leave selections as they were and return to editor

View tools (grouping)-- selective view control for editing


(last third of first tool bar, offering
- Toggle Selection Rendering (Z) -- toggle visual highlighting of selections
- Enable Moving Of Anchored Entities -- temporarily enable movement
of anchored entities (for 5 minutes)
- Show targets (G) -- toggle display of selected entity's targets (?)
- View From Selected Entity (Y) -- switch/lock perspective to that of selected entity
(used for ?)
- Toggle Grid Type (Ctrl+B) -- toggle between decadic (x10) and binary (x2) grid increments
- Toggle Automatic Snap -- toggle between snapping to evenly spaced grid intervals
vs. placement at arbitrary/fractional value locations
(? optimization/performance issues?)
( snapping assures alignment of entities)
- Toggle Grid (Ctrl+G) -- toggle grid visibility in top/front/side views
- Toggle View Pictures (Alt+P) -- ? toggle visibility of reference pictures
in top, front and right views?
- Toggle Measure Mode (Tab) -- toggle visible display of measured distance
between two points, shown within active window as two axis aligned measurements
plus direct point-to-point distance displayed in status bar
- Update Links -- ????
- Remain Selected (X) -- ? toggle/lock currently selected entity(s) to remain selected
despite other selecting, until toggled off ?
- Hide selected (Alt+X) -- hide selected entities
- Show all (Alt+A) -- show all entities

TOOLBAR (2ND)

The second toolbar (button bar) under the menu bar


consists of the following groupings of buttons:
- CSG Tools -- brush selection, creation, modification
- Shadows and Textures -- texture visibility and shadow visibility and computation
Brush: A piece of architecture (world) that is edited using CSG, opposed to Model which
is imported from 3d packages. (Alen Ladavac)

NOTE: Repeated mention is made of "second layer" and occassional mention is made of
"layer mode" (CSG mode). This gets a bit confusing.
As best I understand this, in short, here's the deal.
When working in Serious Editor, things can be in four possible locations:
- in the current world being edited ("first layer"?)
- in other worlds, which can be opened as additional documents/world
or made available as virtual tree browser palette items
- in the Windows clipboard, where they have been copied to
- in the "second layer" in which primitives or more complex items pending from a CSG operation
float/reside until the CSG operation is finalized as an add, subtract or join.

NOTE: "Triangularization" is a powerful option supported for a number of the CSG tools.
It enables the creation of complexly shaped surfaces on primitives,
via manual manipulation of vertices and/or use of height/displacement bitmap files.

More detailed descriptions of groups and buttons follow

CSG Tools (grouping) -- brush selection, creation and modification


via Constructive Solid Geometry (CSG)
(first two thirds of second tool bar)
(existing brush selection)

- Select Current Brush -- via drop down list


(? important to select "parent" brush before specifying/adding new brush?)
(? this is how individual primtive shapes get aggregated together to form
complex brushes that are placed/copied/moved/treated as single entities?)
(NOTE: the option of using triangulation exists while specifying the
following primitives)
(new brush specification)
(keep in mind that are dealing with polygonally faceted approximatations)

- Select Current Brush Entity -- ?


(Takes the current brush (the one from the toolbar) and selects it (in entity mode).)
(Brush selection specifies/assures what the next CSG operation is being applied to.) (Alen
Ladavac)

- Create Conus Primitive (Numeric Enter) -- specify/derive most common primitives


from a conical primitive
(including cubes, cones, cylinders, pyramids, etc.,
with optional slant (shear) and truncation (stretch))
- Global (read only)
- thumbnail image of texture to be assigned
- path/name of texture file(s)
- selected polygons
- selected sectors
- selected entities
- Position (location and orientation of primitive)
- X, Y, Z (in meters/yards from world origin)
- Heading, Pitch, Banking (in degrees)
- Primitives (gross/fine dimension, slant, truncation, solid/hole, etc.)
- W, L, H (gross width, length, height in meters/yards)
- Shear x, y (horizontal offset of top center from bottom center)
(i.e. slant)
- Base vtx (number of vertices/faces at base)
2 - polygon ?
3 - prism/pyramid
4 - cube/pyramid
5 or more
- cylinder/cone
- Stretch x, y (ratio of top vertices separation to bottom vertices) (truncation)
(i.e. is top narrower/same/wider than bottom)
0 - zero width at top (pyramid/cone)
0.5 - half width at top (truncated pyramid/cone)
1 - full/same width at top (prism/cube/cylinder)
(note: x and y must be set identical,
unless triangularization is to be used?)
- Room (primtive is to be treated as a solid or a hole)
- if checked, treat as room (hole, typically used
to cut hole in solid world/brush)
- if not checked, treat as non-room (solid, typically
used to add solid to empty space)
(note that the specified room/non-room primitive
may in turn be added or subtracted, such that final
result depends upon room/non-room,
solidity/emptyness of target space
and add or subtract of specified primitive
to/from target space...
this is presumably offered to provide flexibility
and suit the world builder's personal preference)
- History (list of previously specified/created primitives)
(productivity feature)
(quickly select/re-use setting of previously added primtive,
rather than manually supplying again)
- Outer (gross/fine dimension toggle,
specifying whether W, L and H bound the
primitive's opposite sides (results in larger primitive)
or opposite vertices (results in smaller primitive)
- Polygon color -- color button for selecting/copying/assigning
color and/or color code to specified primitive's polygons
- Sector color -- color dialog for selecting/copying/assigning
color and/or color code to specified sector's polygons,
in support of mode to render in sector colors (little used).
(Polygon colors are much more usefl, due to the double-click
selection tricks.) (Alen Ladavac)

- Create Torus Primitive -- specify/derive less common primitives from a torus primitive
(including torus/donut, spiral)
(note: requires use/specification of triangularization.......
just keep hitting ok until can go back up to dropdown list in middle
of this same toolbar and select a triangularization type)
(Croteam has indicated will be fixed so that one may select triangularizatioin type first.)
- Global (read only)
- thumbnail image of texture to be assigned
- path/name of texture file(s)
- selected polygons
- selected sectors
- selected entities
- Position (location and orientation of primitive)
- X, Y, Z (in meters/yards from world origin)
- Heading, Pitch, Banking (in degrees)
- Primitives (gross/fine dimension, spiraling, segmentation,
number of full/partial turns, solid/hole, etc.)
- W -- the thickness of the torus ring,
along a line running from torus center out through torus ring
(similar to thickness of a tire)
- L -- the thickness of the torus ring,
along a perpendicular line running through torus ring center
(i.e. parallel to torus axis of rotation)
(similar to width of a tire)
- H -- spiral offset per complete turn
0 - no spiraling (i.e. a single/simple/closed donut)
greater than 0
- spiraling (offset of torus ring center, per turn, in ????)
- Slices in 360 -- number of slices/segments required for complete
donut/complete turn)
0,1 - unuseable/crashes
2 - useable?/polygonal sheet?
3 - triangular torus
4 - square torus
5 or more
- increasingly rounded torus
(default is 12)
- No. of slices -- number of slices/segments actually desired
(for complete turn, must match "slices in 360")
(fewer gives partial turn)
(more gives multiple whole/partial turns)
(more is needed when spiraling)
- Base vtx -- number of vertices in cross section of torus ring
0,1,2 - unuseable/crashes
3 - triangular cross section
4 - square cross section
5 or more
- increasingly round cross section
- Radius -- distance from torus center to torus ring center
(note: a useful figure to keep for future reference,
for when applying torus type gravity
to a torus)
- Room (primtive is to be treated as a solid or a hole)
- if checked, treat as room (hole, typically used
to cut hole in solid world/brush)
- if not checked, treat as non-room (solid, typically
used to add solid to empty space)
(note that the specified room/non-room primitive
may in turn be added or subtracted, such that final
result depends upon room/non-room,
solidity/emptyness of target space
and add or subtract of specified primitive
to/from target space...
this is presumably offered to provide flexibility
and suit the world builder's personal preference)
- History (list of previously specified/created primitives)
(productivity feature)
(quickly select/re-use setting of previously added primtive,
rather than manually supplying again)
- Outer (gross/fine dimension toggle,
specifying whether W ("tire thickness)
and L ("tire width") bound the
torus ring's faces (results in slightly larger ring)
or vertices (results in slightly smaller ring)
- Polygon color -- color button for selecting/copying/assigning
color and/or color code to specified primitive's polygons
- Sector color -- color dialog for selecting/copying/assigning
color to ??????

- Create Stairs Primitive -- specify/derive less common primitives from a stair primitive
(including straight, circular and spiral stairs)
(solid/hole)
- Global (read only)
- thumbnail image of texture to be assigned
- path/name of texture file(s)
- selected polygons
- selected sectors
- selected entities
- Position (location and orientation of primitive)
- X, Y, Z (in meters/yards from world origin)
- Heading, Pitch, Banking (in degrees)
- Primitives (dimension, stepping, spiraling,
number of full/partial turns, solid/hole, etc.)
(note: straight (non-spiral) vs. spiral specification
changes the variables presented/used
in specifying the primitive)
- W -- stair/step width
- L -- step length (depth)
(not used for spiral stairs)
- H -- step height
- Slices in 360 -- number of steps in a complete turn
(applies to spiral, not straight, stairs)
- No. of stairs -- total number of steps in stairs
- Radius -- distance from spiral stairs center to step outer edge
- Top -- (treat top surfaces of steps as.....)
- Stairs - as individual steped surfaces
- Slope - as single slope
- Ceiling - as single level top (flush with top of top step)
- Bottom -- (treat bottom surfaces of steps as.....)
- Stairs - as individual steped surfaces
- Slope - as single slope
- Floor - as single level bottom (flush with bottom of bottom step)
- Room (primitive is to be treated as a solid or a hole)
- if checked, treat as room (hole, typically used
to cut hole in solid world/brush)
- if not checked, treat as non-room (solid, typically
used to add solid to empty space)
(note that the specified room/non-room primitive
may in turn be added or subtracted, such that final
result depends upon room/non-room,
solidity/emptyness of target space
and add or subtract of specified primitive
to/from target space...
this is presumably offered to provide flexibility
and suit the world builder's personal preference)
- Spiral -- non-spiral (straight) vs. spiral (spiral)
- History (list of previously specified/created primitives)
(productivity feature)
(quickly select/re-use setting of previously added primtive,
rather than manually supplying again)
- Outer (gross/fine dimension toggle,
specifying whether Radius bounds the
stairs outer faces (results in slightly larger stairs)
or outer vertices (results in slightly smaller stairs) ?
- Polygon color -- color button for selecting/copying/assigning
color and/or color code to specified primitive's polygons
- Sector color -- color dialog for selecting/copying/assigning
color to ??????

- Create Sphere Primitive -- specify/derive less common primitives from a spherical primitive
(including spheres and diamonds
?and possibly 2D or semi-2D spherical/diamond polygons?)
- Global (read only)
- thumbnail image of texture to be assigned
- path/name of texture file(s)
- selected polygons
- selected sectors
- selected entities
- Position (location and orientation of primitive)
- X, Y, Z (in meters/yards from world origin)
- Heading, Pitch, Banking (in degrees)
- Primitives (dimension, roundedness, solid/hole, etc.)
- W, L, H (width, length, height in meters/yards)
(bounds on vertices)
- Meridians -- number of vertical slices through sphere
at north and south poles
(similar to natural slices in orange fruit)
- Parallels -- number of horizontal slices through sphere
parallel to its equator
- Stretch x -- not applicable
- Stretch y -- not applicable
- Room -- (primitive is to be treated as a solid or a hole)
- if checked, treat as room (hole, typically used
to cut hole in solid world/brush)
- if not checked, treat as non-room (solid, typically
used to add solid to empty space)
(note that the specified room/non-room primitive
may in turn be added or subtracted, such that final
result depends upon room/non-room,
solidity/emptyness of target space
and add or subtract of specified primitive
to/from target space...
this is presumably offered to provide flexibility
and suit the world builder's personal preference)
- History -- (list of previously specified/created primitives)
(productivity feature)
(quickly select/re-use setting of previously added primtive,
rather than manually supplying again)
- Equal parallels -- ????, doesn't work?
- Polygon color -- color button for selecting/copying/assigning
color and/or color code to specified primitive's polygons
- Sector color -- color dialog for selecting/copying/assigning
color to ??????

- Create Terrain Primitive -- specify/derive landscapes/complex surfaces out of the


triangularized top surface of a
rectangular primitive, with Mip (level of detail) control
(including terrain, mountains, 3D tiling effects, ????)
(use directly as landscapes/complex surfaces
or use as tool with which to cut/impress same onto surfaces of primitives/brushes)
(NOTE: Terrain vertices can be raised/lowered by placing mouse over them
and using PgUp/PgDn keys. ?If triangularization is on, can also drag vertices sideways?)
- Global (read only)
- thumbnail image of texture to be assigned
- path/name of texture file(s)
- selected polygons
- selected sectors
- selected entities
- Position (location and orientation of primitive)
- X, Y, Z (in meters/yards from world origin)
- Heading, Pitch, Banking (in degrees)
- Primitives (dimension, slicing, Mip, height/displacement, solid/hole, etc.)
- W, L, H (gross width, length, height in meters/yards)
- Slices per W (slices/tiles across width)
- Slices per H (slices/tiles across height? WRONG?)
(? should be per L length?)
- Amplitude (scale height map height up and down)
- Mip start (resolution at which to start mip (LOD) brushes????)
- Mip step (? incremental resolution at which
to generate additional/replacement
mip (LOD) brushes????)
(Mip means level of detail (LOD)?)
- Room (primtive is to be treated as a solid or a hole)
- if checked, treat as room (hole, typically used
to cut hole in solid world/brush)
- if not checked, treat as non-room (solid, typically
used to add solid to empty space)
(note that the specified room/non-room primitive
may in turn be added or subtracted, such that final
result depends upon room/non-room,
solidity/emptyness of target space
and add or subtract of specified primitive
to/from target space...
this is presumably offered to provide flexibility
and suit the world builder's personal preference)
- History (list of previously specified/created primitives)
(productivity feature)
(quickly select/re-use setting of previously added primtive,
rather than manually supplying again)
- Displace: (.TGA or .PCX bitmap file to be used
as terrain/surface displacement/height map)
- Create mip brushes
(toggle creation of mip (LOD) brushes)
- Polygon color -- color dialog for selecting/copying/assigning
color and/or color code to specified primitive's polygons
- Sector color -- color dialog for selecting/copying/assigning
color to ??????

- Cancel CSG operation (Num Del) -- cancel (do not create) primitive that you are
currently specifying (this drops you out of red/layer CSG mode)

- Repeat CSG operation (O and Alt+O) --


(O is Repeat last CSG operation,
Alt+O is Repeat last CSG operation using numeric option)
- Repeat CSG operation (O) - determines the similarities/differences
(dimension and orientation)
between the last two CSG operations
and extrapolates/repeats the CSG operation
- Repeat CSG operation with numeric option (Alt+O) -
same as Repeat CSG operation, except that it prompts for the
desired number of repetitions to be carried out and then does so,
extrapolating/duplicating as it goes
(NOTE: this needs elaboration.
Changes in dimension and orientation appear to be extrapolated,
such that a change in size or orientation between
the first two is continued (linearly).
What other things changes are extrapolated?
Distance between each pair does not seem to change?
Be sure to do saves before and after, to different file names.)
(Limited to same primitive types)

- Triangularize primitive's polygons (drop down list) --


break/replace conus, torus, stairs and sphere (but not terrain?)
default polygons (often four sided) with/up into triangles, to provide?:
- smoother surfaces?
- closer fit to desired shapes
- greater number of facets to work with
- greater number of vertices to work with (to drag/move)
(if primitive does not support or allow changes to triangularization)
- None Available
(if primitive does support and allow changes to triangularization)
- None (no triangularization)
- Center (? break polygon into four triangles?)
- Vertex 1 thru Vertex 16
(? break polygon into two triangles,
at specified vertex?)
(NOTE: the Terrain primitive appears to be pre/always triangularized,
in a non-changeable way.....
i.e. its triangularization apparently can't be changed/turned off
but its vertices can be moved/raised, either manually
(? via placing mouse over it and using PageUp/PageDown keys?)
or via use of a displacement/height map?)
(? if triangularization is on, can also drag vertices sideways ?)

(new brush finalization/placement into world)

- Add second layer to world (Num+, Shift + Num+) -- do CSG combining of two world layers
- Add second layer to world (Num+) --
add second (temp/specification/pending) layer of world
to first (cumulative/developing) layer of world
- Add with reverse priority (first to second?) (Shift + Num+) -- ????
(Example. Normal add of box into a wall, flat aligned, would result in the face of the
box
aligned with the wall remaining visible. Add with reverse priority results in the face of
the
box not being visibile. Not very useful, more of an obsolete feature.) (Alen Ladavac)
- Remove second layer from world (Num-) -- do CSG subtraction between two world layers
by subtracting second layer from world

- Join layers (L) -- join second layer into world, without CSG operations between the two
(objects/entites brought in from the second layer do not get modified
and do not get combined with existing ones, leaving them free
to be moved independantly later?)
(useful for avoiding splintering...)
(also useful for temporarly laying in primitives to be used for reference sake,
which can subsequently be removed without affecting the world)

(modify existing brushes)

(First, a few notes about selecting things.


In Polygon mode, click on a polygon to select it.....
to add more polygons, hold down Shift and click them.
In Entity mode, click on an entity....to add more entitities,
hold down Shift and click on them.
In Sector mode, click on an entity's surface adjacent to/associated
with the sector desired....
to add more sectors, hold down Shift and click more.
In Sector mode, if you need to select an entity for which
no entity surface is adjacent to,
make sure you are looking at/through the sector surface, point at it
hold down Shift and click the Right mouse button.)

- Split selected sectors (Num /) -- split selected sectors by second layer


(use primitive that you have just specified
(or brush brought into second layer from other world?)
to split sector(s) into multiple sectors,
for purposes such as different name?, different contents
(air, water, lava, cold, spikes), different force (gravity),
different fog, different haze, ............)
(note that properties of the sectors resulting from
the split operation inherit are inherited from the
original sectors in the world (first layer)?)
(if sectors are not selected before the split operation,
the split is applied to whatever/all sectors that
the primitive/brush in the second layer intersects)

- Join selected sectors (Shift+Num /) -- join selected sectors back into a single sector
(resolution of conflicting sector properties?)

- Split selected polygons (Num *) -- split selected polygons by second layer


? uses freehand line drawn with lasso tool in entity mode ?

- Join selected polygons (Shift+Num *, Ctrl+Shift+Num *)


- Shift+Num * -- join selected polygons
- Ctrl+Shift+Num * -- join selected polygons,
preserving polygons with different textures

- Join all polygons (this button) -- join all possible polygons


(Ctrl+this button) join all possible polygons,
preserving polygons with different textures

- Cut mode toggle (Ctrl+X) -- toggle cut mode on/off


(A simple cutting tool. Select polygon or sector. Enter cut mode.
Draw a line (using lasso) across it. Press Enter to split.) (Alen Ladavac)

Shadows and Textures (grouping) -- (texture and shadows toggling)


(last third of second tool bar, offering the following)

(Serious supports triple texturing, for building up complex/dirty/bumpy? looking surfaces)

(the next three buttons allow viewing one, two or three of the textures at the same time)

- Toggle texture 1 visibility (Ctrl+Shift+1) - toggle visibility of backmost texture (#1) on/off

- Toggle texture 2 visibility (Ctrl+Shift+2) - toggle visibility of middle texture (#2) on/off

- Toggle texture 3 visibility (Ctrl+Shift+3) - toggle visibility of frontmost texture (#3) on/off

(the next two buttons allow controlling viewing and calculation of shadows,
for editing convenience and performance)

- Toggle shadows on/off (H) -- toggle between seeing the world lighted and shadowed,
versus a faster full-bright even pseudo-lit view with no lighting and shadows
(the latter is useful, at least until one has the world lit
and may continue to be useful when focusing on
things other than lighting and shadows)

- Calculate shadows on/off (Ctrl+H) -- toggle between realtime shadow calculation


and frozen shadows ?
(might be useful for speeding editing while editing complex worlds
and/or making multiple/complex lighting changes?)
(note that recalculation of shadows cast by directional lights (sun, etc.)
must be manually requested.... see below)

TOOLBAR (3RD)

The third toolbar (button bar) under the menu bar


consists of the following groupings of buttons:
- Projection Bar -- controls for views presented by front/top/side/perspective windows
- Work Bar -- ???? miscellaneous tools (catch-all?) for working in windows ?????
- Mip Tools -- level of detail (LOD) tools?

Projection Bar (grouping) -- viewing windows controls


(first third of third tool bar, offering
controls for views presented by editor's projection windows)

- Reset Viewer -- reset viewer's target to origin of world (i.e. all windows to look at 0,0,0)

(the following apply to whichever window the mouse is over)


- Top (F5) -- set current view to Top projection
- Bottom (Shift+F5) -- set current view to Bottom projection
- Right (F6) -- set current view to Right projection
- Left (Shift+F6) -- set current view to Left projection
- Front (F7) -- set current view to Front projection
- Back (Shift+F7) -- set current view to Back projection
- Perspective (F8) -- set current view to Perspective projection

- Circle Editing Mode (Tab) -- switch sequentially between polygon, sector and entity modes,
which is indicated on status line by color and text as follows.....
yellow=polygon, green=sector, blue=entity
(note that when CSG primtive is in the process of being specified,
the status line shows red=CSG, indicating CSG ("second layer") mode)

- Toggle Orientation Icons (Ctrl+Shift+I) -- show/hide orientation icons presence in windows

- Toggle Frame Rate (Ctrl+Alt+R) -- show/hide frame rate display in perspective view window
(shows overall frame rate, detailed timing breakout, etc.)

- Toggle Measurement Tape (Alt+M) -- show/hide measurement tape


(hold mouse over desired window as do Alt+M)
(acts as a scale indicator (and measuring ruler if one slides the view
so as to place it over an item of interest)
(see tool bar #1 "Toggle Measure Mode" if desire to use a
draggable/extendable measuring tape)

- Screen Shoot (Alt+C) - snap shot of entire editor screen,


to desired location/file, in TGA format

- Test Game (T) - test game in current non-full size perspective view window
(little or no start time, fast due to smaller size,
useful for studying composition of scene being viewed,
can be resized before/after testing started by dragging lower right corner)

- Test Game In Full Screen (Ctrl+T) -- test game in full screen mode
(little or no start time, perhaps slower due to larger size,
useful for studying full screen immersive experience,
hit Esc to return to editor windows)

Work Bar (grouping) -- miscellaneous tools (catch-all?) for working in windows


(middle third of third tool bar, offering

- Recalculate Shadows (R) or Recalculate Filtered Shadows (Ctrl+R) --


(recalculate directional lights' shadows (they are not continuously recalculated)
("filtered" means ?????)

- Colorize Selection (C) -- assign color code to current selection


(this is a mechanism for assigning a color code to multiple polygons,
by which all polygons having the same color code can later
have changes applied simultaneously to all of them (texture change, etc.))
(see the editor's Help - Tutorials - Basic Room ..... polygon grouping discussion)

- Drop Marker (D) -- at current position of entity


(used to lay points along path being laid for current entity (moving brush, other?)
(also for camera, ?????)
(when done this way, marker type is automatically determined by entity type)

- Test Connections (Alt+D) -- test entity connections forward


(Moves an entity to next/previous marker.
Works for MovingBrush, Camera, Enemy, etc.) (Alen Ladavac)
- Test Connections Backward (Alt+Shift+D) -- test entity connections backward (????)

- Center Selected (C) -- center all windows on selected entity

- Center background viewer (Shift+Backspace) -- ????


(Goes to the backgound viewer (entity?).
Useful for quickly finding the sun or editing the background.
Enemy (and object?) template rooms are often near there also.
If you are in a mode in which background is displayed,
you won't see the actual background viewer (entity?)) (Alen Ladavac)

- Save Pictures For Environment -- ? saves top/bottom/front/back/left/right views


from selected entity's location, in TGA format, in textures directory,
for subsequent use as environmental mapping textures, when environment
mapping/mirroring surround environment onto entity's surfaces ?

Mip tools (grouping) -- level of detail (LOD) tools


("mip" stands for Multum In Pavra (spelling?) = a lot in a little) (Alen Ladavac)
(may substitute the phrase/acronym Level of Detail (LOD))
(works by substituting appropriate resolution model from set of various resolution models
for a model, based on distance from player)
(last third of third tool bar, offering

- Auto Mip Brushing (B) -- toggle enable/disable


(Displays brushes with mips depending on distance, just as in game.
If off, you can control mip distance manually (this is the default)) (Alen Ladavac)

- Edit Mips Switch Distance -- ????


(Enter distance at which the current mip of the current brush disappears
and the next one (if any) appears.) (Alen Ladavac)

- Previous Mip Brush ( [ ) -- set manual mip factor to show previous mip brush
- Next Mip Brush ( ] ) -- set manual mip factor to show next mip brush
(Move the manual mip-distance, so you can see next/previous mip.) (Alen Ladavac)

- Clone Mip Brush To More Precise Mip Level -- ????


- Create Empty Brush At More Precise Mip Level -- ????
- Clone Current Mip Brush To Rougher Mip Level -- ????
- Create Empty Brush At Rougher Mip Level -- ????
(These add a new mip to the current brush.
The new mip is added before or after the current mip,
and it is made empty or a copy of the current mip.) (Alen Ladavac)

- Delete Mip Brush -- ????

PROPERTY COMBO (not yet written)

The top third (vertically speaking) of the left side of the Serious Editor screen
is occupied by a property combo box that enables one
to view/set selected entity type, name, properties...)

Properties vary by entity type and can get quite numerous and complex.....
including name, type, falloff, target, parent, child, .............

Some entity properties are accompanied by a shortcut character.


One can do a Shift+character to quickly select those properties.

Lots of power here, folks!

(further writeup and listing/definition of properties needed)

VIRTUAL TREE

The middle third (vertically speaking) of the left side of the Serious Editor screen
is occupied by two associated scrollable windows/lists employed in managing
and selecting from a virtual tree that is used to hold and organize
textures, entities, enemies and custom items for whatever world is being edited.

At the top of the area is a tree-like (folder hierarchy) representation of the


virtual tree that allows one to manage and maintain virtual directory tree(s)
and to select between working on/with categories of items such as
textures, entities, enemies, custom, etc. Items in the virtual tree are
organized logically, independant of their location in the file system.

One can manage and maintain virtual tree(s) and their structure
by right clicking on the root or a subordinate category
and doing the following:
- Create directory - create another directory within the virtual tree
- Delete directory - delete directory from within the virtual tree
- Rename directory - rename directory
- Directory tree shortcuts (W) - assign 0-to-9 as shortcuts to categories within the tree
(stored via Ctrl+#)
(invoked via "W", then #)
- Load virtual tree - load a (different) virtual tree
- Save virtual tree - save the updated current virtual tree
- Save As virtual tree - save the updated current virtual tree under new file name

By default, the virtual tree consists of three directories/categories:


- Textures (textures employed on polygon surfaces of entities in the world)
- Entities (basic markers, items, switches with which to make the world react to players)
- Enemies (enemies/bots that the player will encounter and fight)
These are discussed in more detail below.
One may add additional directories/categories. A likely example would be small world files
(example: a temple) that could be dragged and dropped into larger worlds (example: Karnak).

Below the small virtual tree window is a small button bar which one may use to determine
at what size a directory's items will be displayed at, below in the browser (palette) area:
-S - small thumbnail images, arranged eight across
- M - medium thumbnail images, arranged four across
- L - large thumbnail images, arranged two across
- XL - extra large thumbnail image, one only
- D - small thumbnail image plus description (text), in downward list
- F - small thumnail image plus file location/name, in downward list
Textures\ for textures
Classes\ for entities
Classes\ for enemies

Below that is the item browser (palette) from which items can be dragged and dropped
into the world being worked on. One can manage and maintain category items,
by right clicking within the browser and doing the following:
- Insert items (textures, enemies, entities, entire worlds)
NOTE: One can insert an entire world, wordlet, skybox, etc. into the virtual tree,
providing a very powerful productivity/library capability
To drag the current world into the virtual tree,
save the world,
be in polygon or sector mode,
Alt+drag from the world's perspective view to the lower palette portion of virtual tree
browser area
(the thumbnail image may be messed up, but the resulting palette item should work)
(thanks Alen Ladavac)
(one can also do an insert of a world to the virtual tree,
via an Alt+drag of a world from the perspective view window to the browser?)
- Delete items
- Create and add texture (as discussed in File menu's Create Texture entry documentation)
- Recreate texture ?????
(use this to refrex the .tex file, if you have changed the original .tga file that
the texture was created from)
(Alen Ladavac)
- Set as current texture (LMB x 2) (set current texture as default texture for new primitives)
- Export texture
- Select by texture(s) in sectors ????
(Selects all polygons that have that texture on current active texture layer in selected
sectors.)
(Alen Ladavac)
- Select by texture(s) in world ????
(Same as above, in entire world.)
(Alen Ladavac)
- Select except texture(s) in world ????
(A complement of the last one.)
(Alen Ladavac)
- Add textures from world ????
(Adds all textures used in the world to the current virtual directory.
These last four items are used in conjunction to locate unwanted textures
when optimizing texture usage on large levels.)
(Alen Ladavac)
- Select for drop marker ????
(Probably largely unused or obsolete.
Was used to make entities drop different classes of markers, when using "D".
Have since added a feature that enables each entity class to tell the editor
which class of marker to use/drop for it.)
(Alen Ladavac)
- Convert to class ????
(This goes with "ModelHolder2" entity.
Older "ModelHolder" is obsolete class.
We had to change the class's implementation in such a way that prevented the old
entities from loading.
This would have broken all the existing worlds, so we created a new class of
"ModelHolder2"
and added this "convert to class" option that makes a neew entity of the new class
and copies all properties with same name/type to it.
You would generally select a class and use "convert to class" to make it converted.)
(Alen Ladavac)
- Show using > (small, medium, large, etc. display of textures as discussed above)
- Directory Tree Shortcuts (W) -- 0-to-9 used as shortcuts to tree categories
1. Entities\
2. Enemies\
3. Textures \
4. thru 10. <ROOT>
Press numbers to choose directory
Press CTRL+numbers to store directory
(hit Esc, to get out of )

Textures (3) -- browser palette of textures to be employed on polygons


(can be Normal, Animated (# of frames), Effect (procedural) texture)

Entities (1) -- basic markers, items, switches with which to make the world react to players

To place an entity of a specific type, drag its basic type from the entity palette to the world,
then use the Properties dialog to select the Type (Y) property
and then set the entity to the desired type.

NOTE: Davor Hunski will try to provide more detailed descriptions of all entity classes,
probably after the gold.

Entities present by default (others exist and can be added) are:

- WorldBase (globe) -- The original starting point(s) of a Serious world.


The ultimate/root parent entity.
Used as a root location to which some performance intensive markers/entities,
such as fog, gradient, gravity, haze and mirror, must first be registered
(limited in number), before they can be seen by/applied to sectors within the world.
Only one type.
Can apparently have more than one within a given world. Considerations?

- PlayerMarker (checkered flag with large "GO", supported by two poles,


with grid identifying locating in in-spawning players and
with directional arrow indicating player(s) original direction
- Player starting (and restart?) position(s) in world. Can have more than one.
Can be used to assign various properties to player starting at this marker.
Only one type.

- BackgroundViewer (eye floating over landscape)


A camera/viewing position in front of which/around which
a background view (skybox/distant unreachable landscape, etc.)
that is to rendered as the distant-most thing the player can see
from within the world is to be built.
Only one type.
- ModelHolder2 (hand holding a small white ball/egg/placeholder)
Point/marker for holding model. ????
Only one type.

- Light (red/orange spotlight/light bulb)


Multiple types:
- Ambient - diffuse/nondirectional and fills specified spherical area
- Directional - harsher/directional
(if adjust directional lights, then need to do a "recalculate shadows",
as directional lights' shadows are not continuously recalculated)
- Point - harsh/nondirectional
- Strong ambient - ????
- Strong point - ????

- Marker (red cube with x\y\z axis arrows radiating outward)


Mark spots in world.
Used for AI?, pathing?, custom/complex gravity types, .....

- MovingBrush (white tile, with red arrow.... appears in world as globe)


(is not a world base)
Used to establish start position for yet to be created moving entity.
Has properties associated with movement/interaction of entity
with world, entities, enemies and player(s).
Only one type.
To set up a moving brush, drag and drop a MovingBrush into the world,
then select it, then add a new primitive or brush to it. Then set up
its movement path as discussed below in MovingBrushMarker.

- MovingBrushMarker (white tile, with x\y\z axis arrows radiating outward)


(can most conveniantly be placed my moving moving brush to
each desired spot and "dropping" a MovingBrushMarker
via "D")
Used to mark moving brush path points/ends/turnarounds/etc.
Only one type.

- WeaponItem (revolver/pistol) -- weapon for player pickup/use.


Multiple types:
- Cannon - Fires large bouncing cannonballs.
Adjustable velocity. Trajectory/gravity sensitive.
- Colt - Revolver (handgun) with magic/infinite reload.
Instant/straight hit.
If a player collects two revolvers,
can use both simultaneously.
- Double shotgun - Double barrel shotgun. More damage, slower reload.
Instant/straight hit.
- Grenade launcher - Fires grenade.
Adjustable velocity. Trajectory/gravity sensitive.
- Laser - Multi-barrel laser. Fast/instant destruction to enemies.
Non-instant/straight line.
- Minigun - Gatling gun. High rate of fire machine gun.
Instant/straight hit.
Requires a moment to spin up to speed.
Is spin-up/spin-down sound detectable by enemies?
- Rocket launcher - Fires rocket.
Fixed velocity/straight line.
A falling player will fall past a rocket
that they previously fired straight down.
- Single shotgun - Shotgun. Significant damage. Fast reload.
Instant/straight hit.
- Tommygun - Machine gun. Low rate of fire machine gun.
Instant/straight hit.

- AmmoItem (bundle of rockets) -- ammunition for player pickup/use in reloading weapons.


Multiple types:
- Bullets - for Colt, Minigun, Tommygun
- Electricity - for Laser
- Grenades - for Grenade launcher
- IronBalls - for cannon (they bounce and eventually explode....
and one hitting another will cause explosion)
- Rockets - for rocket launcher
- Shells - for shotguns

- HealthItem (red heart) -- health for player pickup/use in healing wounds.


Multiple types:
- Large - Red Cross box
- Medium - flask (green fluid)
- Pill - pill (labeled "wound healer") (weakest?)
- Small - test tube (violet fluid)
- Super - red heart

- ArmorItem (breastplate armor) -- armor for player pickup/use in withstanding damage


Multiple types:
- Medium - kevlar vest (partial, green)
- Shard - armor fragment (small striped shield) (weakest?)
- Small - harness
- Strong - front/back breastplate (open sides, blue)
- Super - full upper torso armor (red)

- SoundHolder (hand bell) -- sound source

- TouchField (touching hand, appears in world as globe) -- ????


(is not a world base)
Detects entities entering it.
Is an advanced version of DoorController, with much less performance hit when used on
large areas.
DoorControllers are simpler, but imprecise and slow if applied to large areas.
(Alen Ladavac)
(Create a touchfield by first dragging an touchfield entity object inot the world,
select it, then create and add a primitive/brush (dimensioned to the size
needed for the touchfield). Suddenly you have the classic green touchfield.)
(forager)

- Switch (on/off wall switch, appears in world as dark cube with X/Y/Z axis arrows)
Multiple types:
- On/Off - toggle ?? on/off
- Once - one time only

- Trigger (detonator type box with "T" plunger handle) -- ????


Routes events around with delay and/or counting.
(Alen Ladavac)

(Advice from Alen Ladavac on setting up a touchfield to trigger something repeatedly,


at a given time delay:
Touchfield has one target for entering and one for leaving. Make sure you set up the
exit-check time (frequency for rechecking for exit). Then make a loop of two triggers,
one has a delay of one second. On enter, activate and trigger one of them, on exit,
deactivate it. Maxtrigs must be set to ? to allow repetition. Also, there must be
a delay ("Wait") on at least one of them.)

- ShipMarker (paper boat, atop a large red arrow)


- Used to mark/apply shiplike moving brush
rocking/path points/ends/turnarounds/etc.
Only one type
(Used with Ship to make a rocking/moving boat.)
(Alen Ladavac)

- WatchPlayers (eyeball)
- Used to trigger events, based on player visibility to it ????
(Much more imprecise/simple/inexpensive detector of player's,
than TouchFields or DoorControllers, in most cases.
(I may have mangled this one. MH)
(Alen Ladavac)

- ModelDestruction (hand saw)


- Destructible model marker ?
Specifies multiple models for stages of destruction,
model/body part types, etc. ?

- FogMarker (pictorial banner (crisp mountain scene with foggy valley)


supported by two poles, with foggy cube below it)
- ? fog specifier for ???? (area centered on it?, sector?, .....)
fog tends to fill only bottom of area.....hugs the ground ?

- HazeMarker (pictorial banner (hazy mountain scene)


supported by two poles, with haze cube below it)
- ? haze specifier for ???? (area centered on it?, sector?, ....)
haze tends to completely fill area ?
(appears to support different haze color per direction,
to simulate hazed lighting effects)

- EnvironmentMarker (triangular sign displaying an "X", with large red arrow)


(This can be used to create something like moveable
modelholders with animations. Not used anywhere in Sam.)
(Alen Ladavac)

- Enemy Spawner (newly hatched blue chicken peering out of broken egg,
appears in world as spiked star)
- enemy factory
(?? how specify enemy type?)
Multiple Types:
- Destroyable - can be destroyed?
- Respawner - ??
- Simple - ??
- Teleporter - ??
- Triggered - ??
(also useful due to less memory consumption than
actual enemy? must have one representative enemy template
somewhere for it to draw from)
- Bouncer (circular trampoline with upward red arrow)
- bounces/throws players (and enemies?) in specified manner
(and gravity respecting weapons?)

- GravityMarker (apple, with blue arrow)


(remember to treat tip of blue arrow as origin/center
of gravity marker)
- gravity generator
(must be identified to/listed in relevant world base's
properties list of gravity properties,
after which can be assigned as gravity ("force") to sector(s))
Multiple types:
- Central - spherical, from or toward central point
- Cylindrical - cylindrical, from or toward central axis
- Parallel - parallel, from or toward infinite point
(parallel to specified vector)
- Torus - torus/donut, from or toward central axis
(apparently not applicable to non-
simple
torus (helix/spiral))
(note: ZeroG,
Normal U,
Normal D,
Normal E,
Normal W,
Normal N,
Normal S
are already available as predefined gravity/force
that may be selected as a sector's "force"
in the Tools Info (Q) window)

- AnimationChanger (movie slate)


- light/model/texture animation changer ????

- DoorController (purple zone, in front of door frame)


-- door activation zone
(actually generic 3D activation zone for doors and
other?)
Multiple types:
- Auto - open when approached? then auto
close?
- Locked - open only when player carries
specified key
- Triggered - ? triggerable ?
- Triggered Auto - open when approached or
triggered ?

- MusicChanger (two guitars, connected by curved bidirectional arrow)


-- music (sound?) changer
Multiple types:
- Event - ????
- Heavy - ????
- Light - ????
- Medium - ????

(additional entities that do not appear in the virtual tree browser entity palette by default
follow.....)
- WorldSettingsController (sunset/daylight graphic on box)
-- references heigh map, etc. terrain related?

- Camera (movie camera) -- for generating in-game and/or demo fly through footage
(examples from test: fly over of pool area,
cut away to spike pit being filled with sand when lever
pulled)

- Camera Marker (still camera) -- marks points along movie camera's movement/flight

- Copier (two sheets of paper (appears as photocopier-like entity icon within world when
editing)
-- non-enemy entity duplicator/spawner (requires presence
of entity
template elsewhere)

- ? enemy spawner ?

- Devil Marker (large X) (appears as large blue X entity icon in world when editing)
-- ?

- Effect Marker (large X accompnaied by "FX") (appears as cube with X,Y,Z arrows)
-- ? related to
appearance/disappearance/blending/shaking of
models and/or players ?

- Enemy Marker (large X) (appears as large red X)

- Gradient Marker (split pyramid with sphere floating in center)


-- ? color/lighting/other gradient ......change between two
markers?

- Key Item (key) (appears as ankh entity icon in world when editing)
-- key needed to trip/open something somewhere in world
types:
- cobra
- element-Air
- element-Earth
- element-Fire
- element-Water
- Eye of Ra
- Feather of Truth
- Gold amon
- Gold ankh
- Gold ankh dummy key
- Gold heart
- Moon Key
- Ra Key
- Scarab
- Scarab dummy
- Sphinx 1
- Sphinx 2
- Stone ankh
- Wooden ankh

- Message (man holding sign) (appears as open book entity icon in world when editing)
-- define Netricsa messages?

- Mirror Marker (mirror on stand)


-- rotating mirror?
(properties include: none/banking/rotating)

- Music Holder ????? -- mood, score, volume ?

- Particles Holder -- paramater driven texturizeable particle generator


types:
- Atomic
- Blood
- Emanate
- Emanate Plane
- Fountain
- Lava Erupting
- Lava Flow
- Rising
- Sand Flow
- Smoke
- Spiral
- Stardust
- Waterfall foam
- Water Flow

- Player Action Marker (Sam with arrow pointing at small pyramid) (appears as small
pyramid)
-- ???????

- Pyramid Space Ship Marker (spaceship over large X) (appears as cube with X,Y,Z arrows)
-- ?????????

- Teleport (portal) (appears as translucent upright rectangular bluish monolith)


-- use in combintion with portaled surface to create
apparent portal/warp through which one can
walk to some non contiguous location
(don't have to use with portal?)

- Damager ("error") (appears as photocopier)


-- ??????

- Navigation Marker ("error") (appears as four-way signpost with circular base)


-- ??????

- Voice Holder ("error") (appears as open book)


-- used to make Sam (or Netricsa or others or other things)
speak
or make/play other audio sounds?
??????

Enemies (2) -- enemies/bots that the player will encounter and fight

Enemies present by default are (others exist and may be added?):


- Headman (headless humanoid)
Multiple types:
- Bomberman (green shirt) - throws bombs at player
- Fire Cracker (red shirt) - fires multiple sparklers projectiles at player
(which obey gravity)
- Kamikaze (shirtless) - blows self up when close to player
- Rocketman (purple shirt) - fires golden "Y" projectile at player
- Boneman (skeletal horned clawed humanoid, throws bolos)
- Scorpman (half human/half scorpion, fires rapid fire bullets/beams)
Multiple types:
- General - mid-size
- Soldier - smallest
- Werebull (stampeding bull/buffalo)
- Woman (harpy/angel)
Multiple types:
- Fly only - stays in air, above player?
- Fly (air) - air attack - favors staying in air, above player?
- Fly (air) - ground attack - favors staying in air, but low?
- Fly (ground) - air attack - moves on/near ground, but attacks from air?
- Fly (ground) - ground attack - moves on/near ground, attack from same?
- Ground only - stays on ground, attacks from ground?
- Eyeman (walking/flying headless one eyed purple/gray people eater)
Multiple types:
- Fly only - stays in air, above player?
- Fly (air) - air attack - favors staying in air, above player?
- Fly (air) - ground attack - favors staying in air, but low?
- Fly (ground) - air attack - moves on/near ground, but attacks from air?
- Fly (ground) - ground attack - moves on/near ground, attack from same?
- Ground only - stays on ground, attacks from ground?
- Walker (large walking cyborg chicken with energy weapons)
(is there a smaller blue one?)

TOOLS INFO

Tools Info (Q) -- pop-up window, used for polygon/entity/sector mode related
viewing and editing of settings of currently selected item

Polygon mode
- Global (read only display of related information)
- Selected polygons
- Selected sectors
- Selected entitites
- path/name of texture file(s)
- Polygon
- Translucent -- toggle player ability to see through to other side?
- Portal -- toggle player ability to see through to somewhere other than other side?
(or to function as one of multiple components involved in accomplishing this)
- Passable -- toggle player ability to walk through ?
(generic ability to walk through or specific to portals?)
- Stairs -- related to friction/traction/change in elevation?
- Invisible -- keep but disregard in terms of rendering and gameplay?
(previously called "Ignored")
(Not rendered but can be used e.g. for creating exact collisions for models.)
(I may have mangled this. MH)
(Alen Ladavac)
- Detail -- ????
(Not subjected to visibility determination/calculations.
Makes rendering go faster when dealing with lots of small polygons.)
(Alan Ladavac)
- Link -- related to portaling?
- Occluder -- block or stop visibility determination/cacheing of world behind it?
(may be equivalent to Quake III's "caulk")
(holds the potential to be very useful useful in optimizing frame rate
when dealing with complex architecture and terrain)
(Included in visisbility determination/calculation, but never rendered.
Usually you would put one large occluder behind a lot of small detail
polygons to make fast visibility calculations.)
(Alen Ladavac)
- Surface -- surface friction type
- Standard
- Ice
- Standard-no step
- Standard-high steps
- Ice climbable slope
- Ice sliding slope
- Ice less sliding
- Roller Coaster
- Lava (damage/pain to player walking on it)
- Sand
- Climbable slope
- Standard-no impact
- Water
- Mirror -- mirror type
(Not more than one mirror in same scene is supported currently,
so only first one is needed.
Also, mirrormarkers appear here, when you make warp-portals.)
(Alen Ladavac)
- None
- Std mirror 1 through std mirror 8 (????)
- Marker not set ?
- Pretender distance -- ????
(numeric value, default 0)
(A portal that becomes a wall after a certain distance.
Use to create simple LOD.
Put a texture of cave entrance (made from a screenshot) over a real cave entrance
portal
and make that portal be a pretender. That way you don't have to render the cave
interior when viewed from afar.)
(Alen Ladavac)
- Shadow (????)
- Don't cast
- Don't receive
- Accurate
- Dark corners
- Full bright
- Dynamic only
- No dynamic
- Directional
- Dir. ambient
- No diffusion
- Gradient - variation in shadow across the polygon ?
- None ?
- Marker not set ?
- Illumination - types of self-illumination ?
- Lava 1, 2, 3 - surface illumination?
- Misc 1,2, 3 - ????
- Vitraj 1, 2, 3 - internal illumination ?????
- Blending - ????
- Opaque
- Shade
- Blend
- Add
- Shade pulsating
- Blend pulsating full
- Add pulsating
- Blend pulsating half
- Stormy sky blend
- Stormy sky shade
- Pyramid plate appearing
- Activated plate 1
- Activated plate 2
- Activated plate 3
- Activated plate 4
- Activate pyramid morph room
- Cluster size - ?????????
- default 2m
- range from 3.125cm to 1024m
- Color button
- Texture
- ... - browse/select texture file
- None - ?
- texture info (dimensions in meters, pixels, ?/?)
- texture file path/name
- Texture 1 / Texture 2 / Texture 3 -- selection of which texture layer to work on
- Offset (two values) - 2D slide of texture
- Stretch (two values) - 2D stretch/compress of texture
- Rotation (two values) - 2D rotation of texture
- Scroll -- real time scrolling/sliding/rotation of texture
- None
- R (?) (various speeds)
- Dummy 1, 2, 3
- Water movement (various speeds)
- Stormy sky appearing
- Rotation Left and Right (various speeds)
- D (?) (various speeds)
- Blend - ????
- Opaque
- Shade
- Blend
- Add
- Shade pulsating
- Blend pulsating full
- Add pulsating
- Blend pulsating half
- Stormy sky blend
- Stormy sky shade
- Pyramid plate appearing
- Activated plate 1
- Activated plate 2
- Activated plate 3
- Activated plate 4
- Activate pyramid morph room
- Clamp U/V -- ????
(U=horizontal axis in texture, V=vertical axis)
(Alen Ladavac)
(For those who don't know what "clamp U/V" does, it makes texture nonrepeating.
When you give OpenGL a primitive, you supply texture coordinates as floating point
values.
0.0 is the left edge of the texture, 1.0 is the right edge. If you don't have the texture
"clamped", it will repeat if you supply coordinates outside of the range (0.0 to 2.0 for
example would draw the texture twice over the poly). When the texture is clamped,
then
all area outside of the 0.0 - 1.0 range is drawn as the border of the texture. It's kind
of
hard to explain. If your texture looked like:
1234
5678
9012
3456
(please pretend that each digit represents a color)
And you gave OpenGL the coordinates 0.0, 1.5, the following would be drawn:
123444
567888
901222
345666
This should explain why using the clamp U/V option helps eliminate the nasty border
pixels
when you make a sky box. Those incorrect border pixels are caused by the texture
repeating a bit at the edge, so instead of repeating, it just draws the edge pixel once
more,
smoothing out the edge nicely.)
(Entroper)
- Discardable -- ????
(Obsolete)
(Alen Ladavac)
- After shadow -- make texture immune to shadowing ?
(NOTE: Useful for "lighted windows on building/spaceship" effect.)
(The texture is rendered after the shadowmap, so the shadow map
doesn't darken it.
Use this with Add or Blend modes to add lights on spaceships, futuristic buildings.
The SkyCity of Sirius was built using these :) ).
(Alen Ladavac)

Entity mode
- Global (read only display of related information)
- Selected polygons count
- Selected sectors count
- Selected entitites count
- path/name of texture file(s)
- Position
- X, Y, Z
- Heading, Pitch, Banking
Sector mode
- Global (read only display of related information)
- Selected polygons
- Selected sectors
- Selected entitites
- path/name of texture file(s)
- Sector
- Name -- assign name to sector (rules/guidelines/usage?)
- Content -- contents of sector
(affects player)
- Air (walk, fall)
- Water (swim, drown)
- Lava (walk/sink, die)
- Cold Water (swim, shake, hypothermia, drown quickly)
- Spikes (die) (death zone)
- Desert Heat (sweat, dehydration, slow death)
- Force -- gravity (or other?) acting on player and gravity sensitive entities
- Normal U, D, E, W, N, S (normal 1G gravity oriented six different ways)
- Zero G (no gravity, how move within?)
(Similar to swimming/flying. Try it.)
(Alen Ladavac)
- unused ????
- gravity marker (if present) (defined as parallel, cylindrical, central (spherical))
- Fog -- fills lower portion of sector?
- fog marker (if present)
- Marker not set
- Haze -- fills entire sector, with differing color based on direction of view
- haze marker (if present)
- Marker not set
- Environment -- ? acoustic nature/environmental sounds ?
- Normal
- Generic
- Small room
- Medium room
- Big room
- Corridor
- Arena
- Long Corridor
- Small Canyon
- Big Canyon
- Open Space
- Cave
- Sewers
- Underwater
- Ambient color -- color button for color that fills the sector

RIGHT CLICK MENUS

For lack of a better place to put it for now, a different topic,


before we get into the right click menus.
Lasso Tool (enclose/select entities with line drawn via left mouse button) (entity mode only)
In entity mode, one can select multiple entities by enclosing them in a
closed irregularly shaped area marked by a freehand line/curve
that one draws around them by/while holding down the left mouse button.

Now, on to right click menus.

Right Click Menu - Constructive Solid Geometry (CSG) mode


(i.e. when specifying CSG primitive to be added to world)
- Cancel CSG cancel the current/pending "add CSG primitive"
- Select brush select brush that CSG primitive is to be applied to ?
(When you have already entered the CSG mode,
but have forgotten to select the target brush to
make the CSG to.)
(Alen Ladavac)
- Select sector select sector that CSG primitive is to be applied to ?
(Similar to above, but for splitting sectors.)
(Alen Ladavac)
- Insert vertex Shift+LMB break polygon edge and insert new vertex at break ?
- Delete vertex Shift+RMB remove existing vertex from polygon edge ?
- Add primitive add the current/pending "add CSG primtive" to world
- Remove primitive remove current/pending "add CSG primitive" from
world
- Split polygons ?
- Split sectors ?
- Join layers add current/pending "add CSG primitive" to world,
without modifying it relative to whatever is
already present
- View properties see "Change rendering properties of buffer 11." below

Right Click Menu - Entities mode (in perspective or top/from/side view windows)
(i.e. when dealing with primitives, enemies, etc. already in the world)
- Create primitive
- Conus
- Torus
- Stairs
- Sphere
- Terrain
- Select active brush To make sure which brush entity is current for CSG
(Alen Ladavac)
- Select: (select entities, for identification or modification sake)
- All entities
- All sectors in entity Ctrl+Alt+A
- All sectors entity is in Alt+C
- Clones Ctrl+E
- All of the same class Ctrl+Shift+E
- Target entity \
- All target entitites Ctrl+\
- Entities who target Shift+\
- Clear all targets
- Reoptimize brushe(s) Always use this after dragging vertices around.
Otherwise the brush won't work properly.
(Alen Ladavac)
- Discard shadows Sometimes the automatic shadow-recalculation system
fails to detect (or intentionally doesn't detect)
some shadow changes and doesn't recalculate the
shadow maps.
Use this to force the recalculation.
(Alen Ladavac)
- Fall down To make sure the entity is resting firmly on the ground,
neither floating above, nor being intersected with the
floor.
(Alen Ladavac)
- Copy Ctrl+C
- Clone Ctrl+Shift+C
- Update clones Ctrl+Shift+U
- Paste Ctrl+V
- Paste into layer Ctrl+Shift+V Paste into second layer?
Use when you have more than one entity in the clipboard to paste.
If you paste them normally (into the world (first layer)),
they will snap to grid when moving.
If you paste them to the second layer, you can move them as a
group,
and join layers when you are happy with their placements.
(Alen Ladavac)
- Delete
- Mirror and stretch entire world Stretch or mirror it.
A bit slow, but very useful sometimes.
Entities that are not stretchable remain at their sizes,
but are placed at appropriate positions.
(Alen Ladavac)
- View properties see "Change rendering properties of buffer 11." below

Right Click Menu - Sector mode


(i.e. when working with world splits sectoring (zoning),
for sector performance, gravity, fog/haze/water, etc.)
- Create primitive
- Conus
- Torus
- Stairs
- Sphere
- Terrain
- Select active brush ?
- Select: (for identification/selection....)
- Visible sectors
- Sectors with same name
- All polygon(s) in sector(s) Ctrl+Alt+A
- All entities in sector(s) Ctrl+A
- Links to this sector
- Discard shadows ?
- Hide selected so can focus on those still visible
- Hide unselected so can focus on those still visible
- Show all so all sectors
- Copy sectors
- Copy sectors without entities Ctrl+Shift+C
- Paste sectors
- Delete sectors
- Copy ambient color .
- Paste ambient color K
- Join sectors combine
- Colorize sectors To adjust sector colors. Just a visual cue.
Polygon colors are more useful, due to double-click
selections,
as noted before.
(Alen Ladavac)
- Mirror and stretch entire world Stretch or mirror it.
A bit slow, but very useful sometimes.
Entities that are not stretchable remain at their sizes,
but are placed at appropriate positions.
(Alen Ladavac)
- View properties see "Change rendering properties of buffer 11."
below

Right Click Menu - Polygon mode


(i.e. when working with surfaces of entities...)
- Create primitive
- Conus
- Torus
- Stairs
- Sphere
- Terrain
- Select active brush
- Select: (for identification/selection purposes)
- Lights with influence all lights that influence selected polygon(s)
(Used when adjusting lighting and you don't know
what caused some shadows/lightspots.)
(Alen Ladavac)
- Polygons with bad triangularization find polygons needing fixing ?
(Selects all polygons that have triangularization problems,
in the world. You need to re-split those sometimes,
to help the engine.)
(Alen Ladavac)
- By texture adjacent Ctrl+RMBx2 similar by texture
- By color in sector Ctrl+Shift+RMBx2 similar by color
- By texture in sector Ctrl+Shift+LMBx2 ?
- Select sectors from other side Use on portals to see where they link to.
(Alen Ladavac)
- Select all vertices Ctrl+A vertices of all
selected
- Reoptimize brushe(s) Always use this after dragging vertices around.
Otherwise the brush won't work properly.
(Alen Ladavac)
- Discard shadows Sometimes the automatic shadow-recalculation
system
fails to detect (or intentionally doesn't detect)
some shadow changes and doesn't recalculate the
shadow maps.
Use this to force the recalculation.
(Alen Ladavac)
- Triangularize clicked polygon
- Retriple polygons F9
- Join polygons combine selected (coplaner?) polygons
- Join all possible polygons combine all polygons coplaner with selected
- Colorize polygons select color code to assign
- Find texture Ctrl+F find corresponding texture in palette
- Filter selection F ?
- Remain selected by orientation Alt+Shift+LMB per texture orientation
- Remain selected by orientation one side Ctrl+Alt+Shift+LMB
- Deselect by orientation Alt+Shift+RMB per texture
orientation
(The above three "by orientation"
filters the selection of polygons to have
similar/nonsimilar
orientation to the one you clicked on.
Usually used when texturizing columns.)
(Alen Ladavac)
- Copy: (between source and destination polygons)
- Polygon properties Ctrl+C
- Texture .
- Mapping M
- Paste:
- Polygon properties Ctrl+V
- Polygon properties except textures Ctrl+Shift+V
- Texture K
- Mapping J
- Mapping as projected U
- Align mapping U Ctrl+K
- Align mapping V Ctrl+Shift+K
- Mirror and stretch entire world ?
- Export displace map export selected Serious texture in .TGA
format
- Remove unused textures in world reduce size of world file
- View properties see "Change rendering properties of buffer
11." below

Change rendering properties of buffer 11 ("View Properties" sub-menu of most right click menus)

(Alen Ladavac's response to MH's query about the possibility of enabling/utilizing


some of the following in-game:
Yes, these can be adjusted in the game code if needed.
It is for the productivity convenience, but could be used
as you said, for cartoon like rendering, or also for
performance bottleneck detection. E.G. use wireframe to
see through wall and spot visibility detection errors.)

World Rendering (views appearance control)


(? controls view appearance just in editor, or also in Serious Sam itself?)
(possibility of tuning game rendering? cartoonlike rendering? wireframe, hidden
surface......?)
(or similar, but just for in editor.... for convenience, speed, productivity, ......)
- Paper color color button (top/side/from view background color)
- Grid color color button
- Bcg picture: ..... (file selection dialog, for background picture?)
- Vertices ink: color button (vertices color)
- Edges ink: color button (edges color)
- Polygons ink: color button (polygon fill color?)
- Selection color: color button ?
- Vertex fill type: ?
- No vertices (default)
- Vertices ink
- Polygon color
- Sector color
- Edges fill type:
- No edges (default)
- Edges ink
- Polygon color
- Sector color
- Polygon fill type:
- No polygons
- Polygons ink
- Polygon color
- Sector color
- Texture (default)
- Auto Rendering Range default
- Rendering range (inactive, but defaulted to 100) ?

World rendering (continued, second column)


- Flare FX: lens flare
- None
- Single flare
- Reflections
- Reflections and glare
- Render background
- Render fields default
- Render mirrors
- Render fog
- Render haze

Model rendering
- Bounding box
- Wire frame
- Shadows default
- Hidden lines
- Render editor models default (show editor objects placed in
world)
- Texture type:
- No fill
- White color
- Surface colors
- On colors
- Off colors
- Texture (default)

Load
Save
OK
Cancel
TERMINOLOGY AND DEFINITIONS

Cloning (and relationship to naming):


All entities of same name are considered clones,
but only for purpose of "select all clones" and "update clones" commands. Nothing else.
(Alen Ladavac)
This is a productivity feature. Populate a world with a clones of a rough draft architectural
feature,
then later update all clones of that feature to something more polished, all at once.
? Affects children whose parents are clones ?

CSG (Constructive Solid Geometry):

Constructive Solid Geometry (CSG) is the construction of complex shapes through the addition
and subtraction of (usually) simpler shapes to/from some (usually) simple starting shape.

"CSG operations don't need to be performed only with primitives. Lets say you want to
subtract a very complex shape from a piece of your world. First, build the shape
as a new layer (add the first primitive of the shape as a new world base, the add all
other primitives to it). Then, go to entity mode and select the brush you just build,
which you want to subtract from your original world base. In the dropdown box
at the topleft, have the world base to be subtracted from selected. Then just hit
the "subtract" button, as you would for a regular primitive."
(Lutrosis)

"There is only one layer - "second layer". It is on while the current mode is CSG
(red indicator). You can get there by:
1) pressing one of the CreateNewPrimitive buttons on toolbar (or Numpad Enter),
2) drag-and-drop another world from virtualtree or from windows explorer or
3) pasting entities that you have copied over from another world opened in another window
(use Ctrl+Shift+V to paste into second layer, instead of doing a normal pase).
.
You can copy entire world from another window. You can copy entire world
if you press Ctrl+C in entity mode while no entities are selected.
.
When you have something in the second layer, you can either make a CSG, or just join it.
If you join (JoinLayers, or "L"), all the entities in the second world are just laid down into
the base one. No CSG applied. If you do a CSG, the first worldbase will be CSG-added
(or whatever else), while all other entities will still be joined into the world. This is useful
for adding ready rooms with torches, etc.
.
Also, there is this thing where you can do a CSG without a second layer. Example, if you
have a column that is a separate non-zoning brush. Choose current brush for CSG to be the
base world. Select the column in entity mode and press CSGAdd. The column will be added
to the world.
.
(Alen Ladavac)

A tip from Lutrosis regarding cleaning up odds and end fragmentary sectors
left by the process of building up a complex object via CSG:
Select the main empty space sector around the object
and the odd-and-end fragmentary sector(s)
and add them together (Join Sectors?).

Falloff:
Hotspot:
These two are common in 3d graphics to define a linear ramp for influence of e.g. a light.
Everything nearer than hotspot is at full intensity, everything further than falloff is at zero
intensity.
Interpolate linearly in between.
(Alen Ladavac)

Naming Practices:
At own preference so far.
People used to prepend important names with _, or __, or ___, etc. to impose hard-wired name-
sorting order.
(Alen Ladavac)

Multiple World Bases:


See "Zoning" discussion below.
Also provides a means of exceeding 10 gravity markers per world.
One could modify the world base class code to support more than 10,
but was not done, so as to avoid data bloating where they were not used.
(Alen Ladavac)

Parent/Child:
When a parent moves, its children move with it.
The relation is transitive (or may I save recursive).
Note that if the child is a moveable entity that tries to move at the same time as its parent
(e.g. to have the child move relative to the moving parent, rather than relative to the world
reference frame)
may not work sometimes/properly (as noted by Lutrosis).
Also, children's collision detection (if enabled) is not consideered during movement of their
parent,
which can lead to strange results, so best avoided.
The primary intention of this option was to enable one to child models and lights
as decorations on/to parent moving brushes.
Also, some entities such as as movingbrushes and modelholders that can be destroyed
send an event to all their children when you blow up the parent, such that if the children
are marked properly, they will be destroyed too.
That way, torches (parent) are destroyed together with their fire, light and lensflare.
See KarnakDemo for examples.
(Alen Ladavac)

Sounds:
All sounds in the world are always tested against viewer in each frame.
All those out of falloff are quickly rejected.
Having too many can bog the engine down.
In the final version, envsounds (environmental sounds) are used
to provide effects such as/similar to wind sounds.
(Alen Ladavac)

Speed of Sound:
Speed of sound is finite and changeable. And there is a doppler sound effect.
Speed of sound is currently set very high, since some people thought
the real world speed (330) was a bug.
This can be adjusted via the console (or presumably the config files MH).
We will probably extend the sound mixer significantly, later through patches.
(Alen Ladavac)

Strong (lights):
Generally makes light "brighter", by pushing the hotspot toward the falloff.
Not used much?
(Alen Ladavac)

Targetting:
Used for various purposes.
Mainly for sending events and moving along paths marked with appropriate markers.
Depends on each entity class.

Zoning:

Sectors of zoning brushes define zones in the world. These are then used for gravities,
fog/haze, content types.
Nonzoning brushes are details like columns and similar.
Note that you can make world from several separated zoning brushes, as long as you mark the
polygons
along borders as 'portal'. Those portals must align nicely to each other, and it will work as if in
same brush.
These can be useful e.g. for LOD-ing a building It is best to see how the small kiosks and the
third big temple
in the yard of three temples in the KarnakDemo level are built. They use that technique.
(Alen Ladavac)

You might also like