The following information pertains to any BUILD game using Todd Replogle's CON
Script System. Developed at 3DR while working on Duke3D.

The supported games are listed in categories. Games that share the same line have very
similar CONs:

[LameDuke Beta1.3.95, Duke3Dv1.0, Duke3Dv1.2, Duke3Dv1.3Shareware]

Duke3D v1.0, v1.3, v1.5, NAM, WWII GI, Extreme PaintBrawl

Redneck Rampage, Rides Again, Redneck Deer Huntin'

(EDuke will be covered elsewhere)

Compatibility: Although CONs are included with each game, there are differences
with the scripts, with that said. This Document mainly focuses on the Duke v1.3/v1.5
category, as listed above. There is support for the other games listed.

For Completeness here are the Copyrights and Authors of the original CONs that come with
each game, the primary CON names are also listed:

The CON files are plain text files that contain a form of C/C++ (a popular programming
language) , a tad bit of Pascal and other programming experiences that where needed as the
game was developed. The overall reference to this script language is generally known as
'CON Scripts' , 'CONstructed Scripts' , 'DukeC Script' or the traditional 'CONtrol
Scripts'

There are three .CON files that come with Duke3D(4 to 5 usually come with other BUILD
games, which will be covered later) The ones in Duke3D are the USER.CON, DEFS.CON and
GAME.CON The GAME.CON is the primary con file to which all others are included
and loaded. (Note: other BUILD games may have there primary con file named something
different. This is normal and I'll explain why later.) As you read on you will
discover that the GAME.CON is the most powerful of the bunch, since it contains most and
eventually all the scripted routines and executions. Beginners should stay away from the
GAME.CON to ensure that it does not discourage you. The USER.CON and DEFS.CON are simply
two forms of files that provide definitions for the GAME.CON to refer to. Depending on
your style of coding or organization you have other possibilities of how many CONs are
actually used. You can place all the code into the GAME.CON if the scripts are placed in
proper order, everything must be defined prior to using them in code. This is really a
poor method of coding and much harder to work with but it may be necessary time to time.
Its much better to use all three CONs or create your own CONs in order to keep things easy
to reference to. Each of these files will contain scripted code.

A script language is different than a true compiled language ('an executable' such as
duke3d.exe) A true compiled language runs at actual machine level (object code linked
directly with the computer), while a scripted code is interpreted by the
executable(duke3d.exe.) That is, the game reads from a script(CONs) to gather and execute
all functions, variables and data referred, CONtrolling certain aspects of the game. However
before the interpreter can use a scripted code, it must compile it first. Read on.

When you start up your game you always see the script being compiled and checked for
errors, mostly Syntax and structure. The three files are parsed (combined) into a single
.CON file, the primary (which is still the GAME.CON but the USER.CON and DEFS.CON are
included / combined with it.) The compiled code eventually becomes part of a temporary
file for the game to access. For the most part during the compiling phase many of the
words become digits (numerical values) and spaces are removed, compacting the CONs into an
external 'executable,' and made 'part of' the interpreter for faster code
retrieval. (instead of having the game compile the code during the game, for each function
it is served.

The possibilities of altering the game to behave the way you want is one of the major
reasons Duke3D outlived Shadow Warrior even with a tweaked BUILD engine that Shadow
Warrior has. Shadow Warrior use internal assemble code (mathematical language) for its
'scripts' that actually allowed the game to execute faster and smoother. Compare the two
games on your system. You will see what I mean. Please note Shadow Warriors has no CONs
but this site provides a bunch of tools to edit and patch Shadow Warriors internal
hardcoded variables to produce a greater customized add-on for it. I do know of one person
that has made a handful, hats off to him. Although there is more possibilities for
patch's. If you hex edit exe's, try to come up with some new 'Temp Patchers' to
increase the editing abilities for Shadow Warrior. Just remember you can not
distribute any register files.

On the bright side the second release of Duke3D(v1.5) includes more options to alter
the game, additional primitives and functions where added. These include the ability to
add completely new actors. This was one of two major sellers for v1.5 (The #1 major seller
was its new bots, by Ken Silverman-these are hardcoded) NAM and WWII GI are
essentially Duke3D v1.5 under the hood, and share these 'bonuses' as well. On top of
that, NAM itself includes a modified-hardcoded weapon system. Making the
Weapon system more ideal for custom made weapons. (required for NAM conventional weapons)
WWIIGI advanced on that idea and has moved nearly all of the weapon system out to the
CONs, giving you precise control over weapons and ammo. WWIIGI also introduced a real
Variable system and introduced control over key events. Of course many more CON
features. BTW - Yes you can interchange just about every file with each other
between the BUILD Games, more than likely you will end up converting .CONs, .ART tile
parameters, maps (maps will need to be filled again after conversion.) However since
the games are so close in design, it shouldn't take to long.

Alright now, to edit a con file you do not really need allot of knowledge of
programming, in some cases you won't need any. So don't hesitate in trying. To open the
cons, use any plain text editor (such as Wordpad, Notebook or the DOS editor) At first
glance they may seem a bit complex, but skim through the con files one at at time and try
to associate terms in the script to monsters or items etc with things you have seen in the
game. You may find out that some of the stuff makes sense to you. After your all done,
take a break, then review them again. Now think of something you would like to change in
the CONs. Read as many FAQ's and documents you can to help you understand enough of the
scripts that the information will lead you to the answers you seek. Keep in mind that the
easiest and effective CON to modify for beginners is the USER.CON See the RTCM document
"con-user-con" for further information.

For a large array of information on other CONs, see the corresponding documents. The
"con-primitive-declarations" document that explains some of the more complex and
unusual forms of scripting. The information below, CON Syntax and the sections following
are knowledge all users should examine for general handling of the CONs. once you
understand the handling processes I would suggest you further indulge into
modifying the
existing script code that the game developers have written for the game. Over time you
will see the results of your tinkering improve. If you need further explanation about
anything, notify Corvin and he will update the docs for you.

The WWIIGI section of this CON guide was derived directly from Matt's Duke3D Insider / WWII GI
Enhancements and Matt's WWII GI Enhancements. Some EDuke Material was also reviewed for
inclusion in this document.

CON Syntax

As with any programming language or script, there are syntax rules you need to follow
to prevent compiling errors. In Duke3D and other .CON based BUILD Games, those errors are
almost always fatal. You will know if you have a syntax/structural errors as soon as the
game compiles the .CONs. Ultimately, if errors are found you will be presented a question
from the compiler "Do you want to use the internal defaults (Y/N)?". When you
answer yes to this question, Duke3D will then automatically load the standard set of CON
files directly from the master .GRP file, by-passing your cons located externally in the
game directory. The game will run normal. Using a text editor with lines numbers would
benefit you here as part of the compile errors include the line numbers of the errors.

-CON Syntax Rules

Comments:
These are remarks or reminders that you can type with in a Script to make notes for
yourself or others.
There are two types of comment line delimiters.:

The double dash // -Everything after // is commented out. The
remark can only extend to the end of the line where it null outs (assumed closed)
The /* */ -Everything between the /* and */ is commented out and can
span several lines.

Comment Spacing:
There must be correct spacing when using remarks.

The double dash // must have at least one space after it. Simple example:

//This remark is incorrect while // This remark is
the correct spacing.

The /* and */ must have a space after /* and before */ A Simple
example:

/*see*/ is incorrect while /* see */ is the correct spacing.

Note: There is no restriction on the letter case within the confines of the
remarks. You may use lower and upper.

Statement blocks are delimited by { and } and are NOT comment
lines. They are strictly for code. There must be a space after { and before }.
If you use one { then there must be one } to 'close it. In the CONs its best to line up
the start and end. Such as:
Example
{
code here
}

Character case is important, primitive keywords must be in all lowercase.
Defined constants are all UPPER CASE.

"add" primitives are subject to unusual conditions. These limits
are usually explained in the primitive tabulet.

ifxxxx primitives generate a Boolean true or false and behave like
if..then..else statements. Most of the ifprimitives use the same syntax,
ifxxx condition { code } else { code }, however a few have no condition (if thisthing is
this) but simply are Boolean which will branch the same way by design. In otherwords, they
are the same as IF...THEN...ELSE... structure you would find in any other programming
language. These primitives are the most powerful primitives in D3D. Further details
on ifxxxx primitives can be found in the Declaration Document.

CON Process and Safety resources.

We really covered the process in which your game handles the original CON files above
in the introduction above. I suggest you reread it, should be the second paragraph in.
Now I will list and explain to you the 'Safety features' to protect the games original CON
files from damaging your purchased game permanently. Don't let the word
"damaging" scare you since this is far from anything devastating. Read on.

You may notice that there are already three or more .CON type files present. Don't ever
worry about overwriting or losing the games original CON files. The CON files that exists
in the directory are redundant information and are not at all needed for the
original
game to run as designed. Let me explain further, The game contains the original CON files
in the .GRP file (see BUILD FAQS) as well as stored on your Commercial CD in two locations,
for a total of three locations where they are 'backed up'. So its safe you see. Are you
still not convinced? Read on.

To ensure you that the game runs fine without .CON files being present in the games
directory, delete all of the files that have an extension of .CON

Load and run the game as you would normally. As the game prepares to launch you will see
that the CON files are still being compiled by your game even though you have deleted them
from the games directory. The game defaulted from searching the directory to scanning and
using the .CONS in the master .GRP file. So its safe, do you understand and believe me
now?. You can not destroy your game beyond a recoverable state. See below.

Restoring the Original commercial CON files.

To bring back or restore the Register CDs original CON files, you'll have four
immediate options. Read on.

Method: CD Restore-Copy;
This method is for novice or beginners. Simply place your Games CD into your drive and
goto the games directory on the CD. You will see the CON files present just as they where
on your Hard Drive. Copy them from CD to HD and this will restore the original cons. (Note:
some of the other games where packaged differently and may not openly have .CONS present.
But they are there, you may need to use method 4 below.)

Method: BUILD tool-Extract;
Obtain this tool from your CD, KEXTRACT.EXE . Place it in your games directory and at a
command prompt or virtual prompt, type KEXTRACT DUKE3D.GRP *.CON This will extract
the files from the .GRP file and Restore the originals. This method is obviously for more
experienced users and for further info on this tool read one of many BUILD FAQS.

Method: CD Restore-.GRP;
This method is used to completely restore your .GRP file if the internal CONs are
suspected of corruption. Simply copy your .GRP file from the CD to your HD and then read
step 2 above.

Method: RE-Install;
Completely 'uninstall' or remove the game from your computer, then reinstall it.

Methods 3 and 4 may never be needed, since the game by itself
has not / not capable of corrupting the .GRP

Using Hacked Con's (CON files that others have modified and you have obtained)

Lets start off with downloading and obtaining pre-modified CON files. Go check out the
CON Download page and pick out something simple but interesting. Once you have downloaded
the compressed archive, read on.

Delete all the .CON files in your games directory and any previously installed
files. (See the Default Component Document to view a clean folder.)

Now uncompress the archive you have downloaded into your game directory. (This is done
with many 'ZIP' type programs, such as WinZip)

Read the included Readme files for any special instructions. (If there to hard, download
another one)

Load and run your game as you would normally. The games engine will first check to see
if there are .CON files loose in the game directory. In this case the game will use the
new .CONs you have supplied. (If they are named the same as original, most hacked cons
are)

Once your in the game, look for away to trigger the new coding in the new CONs, such as
fire a weapon or frag a monster.

Before 'installing' more CON files ensure you remove the ones you have previously
'installed' and any associated files. This is recommended to ensure you don't get a
buildup of miscellaneous files.

Using Hacked Con's in MULTIPLAY

There are some rules that need to be obeyed with multiplay. Ensure to read and practice
them at all times to ensure smooth and error free gaming.

Get the CONs you want and place them in your game folder. (Read above for more details)

To keep the game fair and in Sync (loosing Sync makes the game unplayable) each
multiplayer must be using the EXACT SAME .CON files.

All supporting files such as .art, .map and sound .voc/.wav should be
exactly the same on all players systems to help the game retain a good Sync.

If you have a slow machine or are using unusually large files, especially demanding sounds
and pixel .art. You can typically throw the entire game off. To ensure you are running at
best performance See the Online / Multiplayer Documents for tips and tweaks.