Customizing and Modifying the Game

For Minimum Game Version 1.0718


This document and the associated sample files will likely be updated if the game is updated to add, change, or remove some customizing options. Be sure to check back occasionally for the latest information on customizing and modifying the game.

Evochron Legacy uses a simple file and directory system to modify and customize graphics, sound, music, text, and object data. This kit includes required directory names and sample files to customize the various elements of the game. Simply place the desired directories and files in the install folder of the game (default c:\sw3dg\EvochronLegacy) to apply custom media. You can selectively apply and remove custom media by changing the names of files/directories or by deleting/moving them. Some modification options require creating new files (usually text files) in the install folder and those options are also detailed in this document.

Using the customizing options can often result in changing the memory requirements for the game. The game is designed to work with its default media to use certain levels of memory in an effort to maximize compatibility across a wide range of system configurations. Using custom media that requires more memory can impact the compatibility/stability of the game by exceeding the limits of available memory on your system. Most media types are flexible in their resolutions and samples rates. So if you need to reduce the memory load required for your modification(s), you can lower the resolutions of textures and/or shorten the length or reduce the quality of sounds and music files. However, some media files require a specific format or resolution for compatibility. The affiliated sample files help provide general guidelines for format and resolution. You can download the latest sample file set at this link:

Download the Evochron Legacy sample files...


This page is divided into seperate sections for each category of customizing options. Here are the different sections:
- Section Quick Links -

1. General Textures and Effects
2. Ships, Components, and Objects
3. HUD and Cockpit
4. Sound and Music
5. Text and Data



General Textures and Effects

Main Menu Buttons:

To replace the menu buttons, use a subdirectory named \menu and use the following file names (sample images are included in the ZIP above):

blueline.png = menu selection background lights
blueline2.png = menu selection background texture (transparency used to allow light to show through)
chatbox.png = blank small button
chatboxb.png = blank small button highlight
chatdown.png = down button
chatdownb.png = down button highlight
chatslider.png = slider bar
chatslider2.png = slider bar highlight
chatsliderbutton.png = slider bar button
chatup.png = up button
chatupb.png = up button highlight
hud4.png = bar indicator
hudmenu.png = hud configuration menu frame
icon-buttonleft.png = left button
icon-buttonleft2.png = left button highlight
icon-buttonminus.png = minus button
icon-buttonminus2.png = minus button highlight
icon-buttonplus.png = plus button
icon-buttonplus2.png = plus button highlight
icon-buttonright.png = right button
icon-buttonright2.png = right button highlight
medalX.png = medals (X range is 1-8)
menu.png = pilot manager menu frame
menu1.png = menu frame
menu8lightnumber.png = pilot menu number light
menu8lightoptions.png = options menu light
menu8lightpilots.png = pilot menu list light
menu8lightreset.png = pilot menu reset light
menu9.png = joystick axis configuration icon
menubutton1.png = main menu training button
menubutton1light.png = main menu training button highlight
menubutton2.png = main menu launch button
menubutton2light.png = main menu launch button highlight
menubutton3.png = main menu forum button (reserved)
menubutton3light.png = main menu forum button highlight (reserved)
menubutton4.png = main menu pilot manager button
menubutton4light.png = main menu pilot manager button highlight
menubutton5.png = main menu options button
menubutton5light.png = main menu options button highlight
menubutton6.png = main menu exit button
menubutton6light.png = main menu exit button highlight
menubutton7.png = main menu game website button
menubutton7light.png = main menu game website button highlight
menubutton8.png = main menu SW3DG wesbite button
menubutton8light.png = main menu SW3DG website button highlight
menubutton9.png = main menu forum button
menubutton9light.png = main menu forum button highlight
menubutton-blank.png = blank menu button
menubutton-blanklight.png = blank menu button highlight
menuframe.png = main menu frame, lower left and right panels
menulist.png = prompt light menu large
menulist-small.png = prompt light menu small
optionsbar.png = options highlight bar for key/button configuration menu
optionsbutton1.png = main options menu button
optionsbutton1light.png = main options menu button highlight
optionsbutton2.png = axis configuration menu button
optionsbutton2light.png = axis configuration menu button highlight
optionsbutton3.png = key/button configuration menu button
optionsbutton3light.png = key/button configuration menu button highlight
optionsbutton4.png = HUD configuration menu button
optionsbutton4light.png = HUD configuration menu button highlight
optionsslider.png = options menu slider bar
optionsslider2.png = options menu slider bar highlight
shipyardbar.png = shipyard specification readout marker
shipyardbuttonhigh.png = shipyard component/frame highlight indicator bracket
shipyardbuttonside.png = options menu slider bar sideways button
shipyardbuttonslider.png = horizontal options menu slider bar button type 1
shipyardbuttonslider2.png = horizontal options menu slider bar button type 2
shipyardbuttonup.png = shipyard up button
shipyardbuttonup2.png = shipyard up button highlight
shipyardgreen.png = shipyard green highlight color texture
shipyardlight.png = shipyard component/frame highlight indicator
shipyardmenu.png = shipyard main menu frame
shipyardsliderside.png = shipyard sideways slider bar
shipyardsliderside2.png = shipyard sideways slider bar highlight
shipyardx.png = shipyard design X direction indicator
shipyardy.png = shipyard design Y direction indicator
shipyardz.png = shipyard design Z direction indicator
tipX.png = tip images (X range is 1-22)
weaponlabmenu.png = weapon lab menu frame



Planet Rings:

To replace the planet rings, use the folder name \rings and the following file names:

ringsX.dds = Ring textures (1024X1024 recommended, X range = 1-4)



Planet Aurora Borealis:

To replace the textures used for the aurora borealis effect, use the folder name \environment and the following file names:

aurora1.png = blue style
aurora2.png = red style
aurora3.png = yellow style
aurora5.png = green style
(4 is not currently used in the index set)



Engine Exhaust and Thrusters:

To replace the engine exhaust textures, use the \ships folder and the following filenames:

jet1.png = engine exhaust horizontal
jet2.png = engine exhaust vertical and inertial thrusters



Skybox and Background Effects:

The game supports a full six sided 'skybox' texturing system for unique backgrounds. The game uses two separate dedicated systems for both a background starfield and for background nebula effects. You can import completely custom backgrounds this way that provide a unique background for each 90 degree direction. You'll need to import six individual images to use this option, one for each 90 direction. To replace the background textures, use the \environment folder and the following filenames:

Nebula and miscellaneous details:
starsX-0.dds or starsX-0.png = background forward direction
starsX-1.dds or starsX-1.png = background right direction
starsX-2.dds or starsX-2.png = background rear direction
starsX-3.dds or starsX-3.png = background left direction
starsX-4.dds or starsX-4.png = background down direction
starsX-5.dds or starsX-5.png = background up direction


The X can be a number from 1 to 4, 1 for the blue color background, 2 for green, 3 for purple, and 4 for brown.

Starfield:
starsback-0[detail].dds or starsback-0[detail].png = background forward direction
starsback-1[detail].dds or starsback-1[detail].png = background right direction
starsback-2[detail].dds or starsback-2[detail].png = background rear direction
starsback-3[detail].dds or starsback-3[detail].png = background left direction
starsback-4[detail].dds or starsback-4[detail].png = background down direction
starsback-5[detail].dds or starsback-5[detail].png = background up direction


For the starfield images, [detail] needs to be replaced with each level of optional detail. Use the words 'low', 'medium', and 'high' in place of [detail] for each of the three detail levels. By default, the game uses 512X512 images for the low detail level, 1024X1024 for the medium detail level, and 2048X2048 for the high detail level. You can optionally apply different resolution levels for each image set, if desired. Using the DDS image format will allow you to use texture compression (ie DXT5) for larger images with less memory overhead. You can use this texture option in conjunction with the background starfield option or just use one or the other by including blank textures for the option you want to omit.

This kit includes a cube map generator which will automatically convert a spherical texture into the six cube map images needed for the game. The program is located in the \environment folder with this kit and is named EvochronLegacyCubeMapUtility.exe. To use the program, simply save/copy the spherical texture you want to convert in the same folder as the program using the filename spheremap.png, then launch the program. It will prompt you to select the rendering resolution for each image, then once you select a resolution, the program will automatically export the cube images images. If you find the images are mirrored from the orientation you want once the program renders them, simply flip/rotate them as desired after they are exported. The images will be named starsback-X[detail].png where X is the direction number listed above from 0 to 5. For starfield images, [detail] will be either 'low', 'medium', or 'high' depending on the resolution you select for the export. To use exported images for nebula and miscellaneous background details, simply remove the [detail] value from the file names and use the number structure listed above to import a desired image set for each color group.


Lens Flares:

To replace the lens flare textures, use the \environment folder and the following filenames:

grad.png = gradiant glare
lensf.png = lens flare circle 1
lensf2.png = lens flare circle 2



Planetary Entry Heat Effect:

To replace the heat effect texture for planetary descents, use the \environment folder and this filename:

heatflare.png = Atmosphere heat burn texture



Lightning Textures:

To replace the lightning effect texture, use the \environment folder and this filename:

lightningX.png = Lightning texture (X = number from 1 to 3 for different styles)



Asteroid Textures:

To replace the default asteroid textures, use the \environment folder and these filenames:

aster1-[detail].dds = Base texture for rocky asteroids
aster1normal-[detail].png = Normal map for rocky asteroids
aster1shader-[detail].dds = Specular map for rocky asteroids
aster2-[detail].dds = Base texture for ice asteroids
aster2normal-[detail].png = Normal map for ice asteroids
aster2shader-[detail].dds = Specular map for ice asteroids
aster3-[detail].dds = Base texture for metallic asteroids
aster3normal-[detail].png = Normal map for metallic asteroids
aster3shader-[detail].dds = Specular map for metallic asteroids
asterglow.png = Emissive map for asteroid damage


Replace [detail] with each level of optional detail starting with 'low', then 'medium', then finally 'high'.


Asteroid Cave Textures:

To replace the default asteroid cave textures, use the \environment folder and these filenames:

astercave.dds = Base texture for asteroid cave
astercavenormal.dds = Normal map for asteroid cave
astercaveshader.dds = Specular map for asteroid cave



Jump Drive Effect:

To change the jump drive effect, create a text file named hidefade.txt in the game's install folder where the EvochronLegacy.exe file is located and include either the number 1 in the first line:

1 = Fades the warp tunnel to black rather than white. Only the central lens flare effect remains visible.



Optional Screen Mode:

To apply custom screen settings, create a text file in the game's install folder named swscreen.txt Two integer values are used to specify the antialiasing mode and the monitor mode using the following layout for the options: Antialiasing mode (ie 2, 4, 8, etc)
Monitor mode (0 = Off, 1 = multiple monitor mode)




2. Ship, Components, and Objects

Civilian Ship Frames:

To replace the default civilian ship frames, use a directory name of \ships and use the following filenames:

frameX.x = Ship model, X is number slot from 0 to 9 (Talon to Leviathan) and 40-49 (Arrow to Starmaster)



Military Ship Frames:

To replace the default military ship frames, use the \ships directory and the following filenames:

frameX.x = Ship model, X is number slot from 20 to 31 (Ferret to Chimera)


To replace the default ship frame components, use the \ships directory and the following filenames:

frame-cannons.x = particle and beam cannon mesh
frame-landinggear.x = landing framework mesh
frame-thrusters.x = thruster nozzle mesh



Thruster and Engine Outlet Placement:

In addition to the frame, you'll also need to specify the thruster and engine outlet placement for a custom ship model you import into the game.

Each ship includes 8 manuevering thrusters, 2 sets of 4. One thruster set is for the rear directional thrusters, the other set is for the front directional thrusters. You can place each of the 4 thrusters in each set on its own respective axis. For the left and right thrusters, you can select a X position, for the top and bottom thrusters, you can select a Y position. Then for the set as a whole, you can select the Z position to tell the game how far forward or backward to place the set of 4. Each set of the thrusters must align with each other along the ship's hull in order to properly provide 1:1 thrust and counter-thrust effects for the ship. So the Z value is applied to all 4 thrusters in each set. There are 4 engine outlets that also need location values applied. Two inner outlets and two outer outlets, each can individually be placed for symetrical or asymetrical designs.

A utility is included with the kit to help you align the thrusters and engine outlets without having to restart the game every time you make changes. The utility is located in the \ships folder and is named EvochronLegacyTEUtility.exe. To test your custom ships, simply include the desired filename (ie frame0.x) in the \ships folder, then edit the shipspecs.txt file in that folder to apply the changes and values you want. The program will load the custom frame file and place the maneuvering thrusters and engine outlets at the locations you specify in the file (following the pattern listed below). The maneuvering thrusters will fire on each side and cycle back and forth. The engine outlets will stay fully active. Use the arrow keys to turn and pitch the ship, use the Q and E keys to roll the ship. Press the escape key to exit the program. You can change the values and relaunch the program as desired until you get the placement you want. Once you are finished, simply rename/copy the shipspecs.txt file to the required filename that include the ID you want to apply the changes for (ie shipspecs21.txt for frame20.x). More details are below.

The following file also needs to be located in the \ships folder for the game:

shipspecsX.txt = Tells the game where to place maneuvering thruster nozzles and engine outlets (X stands for the ship ID value, which is slot # + 1, 1-10, 41-50, and 21-32).

The file includes the following values:
1st value tells the game which filename is being used for this slot
2nd value tells the game which ship ID is being used
3rd value sets the rear left thruster position on X
4th value sets the rear right thruster position on X
5th value sets the rear top thruster position on Y
6th value sets the rear bottom thruster position on Y
7th value sets the rear thruster set position on Z
8th value sets the front left thruster position on X
9th value sets the front right thruster position on X
10th value sets the front top thruster position on Y
12th value sets the front bottom thruster position on Y
13th value sets the front thruster set position on Z
14th value sets the left inner engine position on X
15th value sets the left inner engine position on Z (mirrored, so - moves up, + moves down)
16th value sets the left inner engine position on Y
17th value sets the right inner engine position on X
18th value sets the right inner engine position on Z (mirrored, so - moves up, + moves down)
19th value sets the right inner engine position on Y
20th value sets the left outer engine position on X
21st value sets the left outer engine position on Z (mirrored, so - moves up, + moves down)
22nd value sets the left outer engine position on Y
23rd value sets the right outer engine position on X
24th value sets the right outer engine position on Z (mirrored, so - moves up, + moves down)
25th value sets the right outer engine position on Y
26th value sets the forward left turret X location for capital ships
27th value sets the forward left turret Y location for capital ships
28th value sets the forward left turret Z location for capital ships
29th value sets the forward right turret X location for capital ships
30th value sets the forward right turret Y location for capital ships
31st value sets the forward right turret Z location for capital ships
32nd value sets the rear left turret X location for capital ships
33rd value sets the rear left turret Y location for capital ships
34th value sets the rear left turret Z location for capital ships
35th value sets the rear right turret X location for capital ships
36th value sets the rear right turret Y location for capital ships
37th value sets the rear right turret Z location for capital ships



To specify custom engine outlet position values for each civilian engine type, use the following file located in the \ships folder for the game:

enginesciv.txt = Tells the game where to place engine outlets for each civilian engine type. A sample file is included in the kit that contains the default values for each civilian engine type.


Vonari Ship Frames:

To replace the default Vonari ship frames, use the \ships directory and the following filenames:

vonari1.x = Vonari Fighter
vonari2.x = Vonari Interceptor
vonari3.x = Vonari Bomber



Civilian Ship Components:

To replace the civilian components, use the same \ships folder and the following filenames:

engineX.x = Engines, range is 0 to 9
shields.x = Shields, automatically scaled by the game for class
cargob.x = Cargo bays, automatically scaled by the game for capacity
fuel.x = Fuel tanks, automatically scaled by the game for capacity
wingsX.x = Wings, range is 0 to 12



Capital Ships:

To replace the default capital ships, use the same \ships folder and the following filenames (sample meshes included with this kit):

ship1.x = Human transport
ship2.x = Human destroyer
ship3.x = Human cruiser
ship4.x = Human battleship
ship5.x = Human command ship
ship2_v.x = Vonari capital ship



Hangar Shield, Docking Area, Hangar Gate Numbers, and Solar Cell Textures:

To replace the hangar shield, docking area, hangar gate numbers, and solar cell textures use the \ships folder and the following filenames:

atmoshield.png = Hangar atmosphere shield
hangarX.png = Hangar gate numbers (1-5)
hangardock.png = Hangar docking area marker
solar.png = solar cell



Ship Textures:

To replace the default textures for ships in the game, use a directory name of \ships and use the following filenames:

hull2-[detail].dds = Base texture for civilian frames and components
hull2-0[detail].dds = Color option 1 texture for civilian frames and components
hull2-1[detail].dds = Color option 2 texture for civilian frames and components
hull2-2[detail].dds = Color option 3 texture for civilian frames and components
hull2-3[detail].dds = Color option 4 texture for civilian frames and components
hull2lights-[detail].dds = Emissive map for civilian frames
hull2normal-[detail].png = Normal map for civilian frames
hull2shader-[detail].dds = Specular map for civilian frames
mplane-[detail].dds = Base texture for military frames
mplanelights-[detail].dds = Emissive map for military frames
mplanenormal-[detail].png = Normal map for military frames
mplaneshader-[detail].dds = Specular map for military frames
ship1_0-[detail].dds = Base texture for capital ship hulls
ship1_0lights-[detail].dds = Emissive map for lights for capital ships
ship1_0normal-[detail].png = Normal map for capital ship hulls
ship1_0shader-[detail].dds = Specular map for capital ship hulls
vonari1-[detail].dds = Base texture for Vonari capital ship and small ships
vonari1lights-[detail].dds = Emissive map for Vonari capital ship and small ships
vonari1normal-[detail].png = Normal map for Vonari capital ship and small ships
vonari1shader-[detail].dds = Specular map for Vonari capital ship and small ships


Ship textures are one of the more memory intensive resource elements in the game, so the modification options for them include multiple detail levels. This allows the user to change the texture detail setting to reduce memory consumption in case their system has limited memory resources. Replace [detail] with each level of optional detail starting with 'low', then 'medium', then finally 'high'. You may want to use texture resolutions such as 1024X1024 or 2048X2048 for the 'high' texture sets, then half size resolutions for each lower setting texture set. Higher resolutions will require more memory in exchange for a more detailed look. If you are including other high memory media files as part of your modifications, you'll want to be sure to watch overall memory consumption carefully to avoid causing players to have memory issues.


In addition to the texture sets above for each class of ships, you can also optionally specify texture sets for each individual ship type. The filenames need to include the ship index you want the textures to be applied to. To specify individual ship type textures, use the \ships folder and the following filenames:

For civilian ships:
frameX-[detail].dds = Base texture for civilian ship
frameXlights-[detail].dds = Emissive map for lights for civilian ship
frameXnormal-[detail].png = Normal map for civilian ship
frameXshader-[detail].dds = Specular map for civilian ship

Where X is one of the following values:
Alliance:
0 = Talon
1 = Osprey
2 = Saber
3 = Falcon
4 = Raptor
5 = Phoenix
6 = Eagle
7 = Renegade
8 = Centurion
9 = Leviathan

Federation:
40 = Arrow
41 = Scorpion
42 = Hunter
43 = Typhoon
44 = Venture
45 = Sentinel
46 = Guardian
47 = Paladin
48 = Titan
49 = Starmaster


For military ships:
mplaneX-[detail].dds = Base texture for civilian ship
mplaneXlights-[detail].dds = Emissive map for lights for civilian ship
mplaneXnormal-[detail].png = Normal map for civilian ship
mplaneXshader-[detail].dds = Specular map for civilian ship

Where X is one of the following values:
20 = Pulsar
21 = Razor
22 = Shadow
23 = Wraith
24 = Evoch
25 = Nighthawk
26 = Lamprey
27 = Firestar
28 = Avenger
29 = Shrike
30 = Predator
31 = Chimera


For Vonari ships:
vonariX-[detail].dds = Base texture for civilian ship
vonariXlights-[detail].dds = Emissive map for lights for civilian ship
vonariXnormal-[detail].png = Normal map for civilian ship
vonariXshader-[detail].dds = Specular map for civilian ship

Where X is one of the following values:
10 = Fighter
11 = Interceptor
12 = Bomber


For capital ships:
shipX-[detail].dds = Base texture for capital ship
shipXlights-[detail].dds = Emissive map for lights for capital ship
shipXnormal-[detail].png = Normal map for capital ship
shipXshader-[detail].dds = Specular map for capital ship

Where X is one of the following values:
1 = Human transport
2 = Human destroyer
3 = Human cruiser
4 = Human battleship
5 = Human command ship



Navigation Light Textures:

To replace the navigation light textures, use the \ships folder and the following filenames:

navgreen.png = right side nav light
navred.png = left side nav light


You can also optionally change the nav light display mode and effect size. To do this, create a file in the game's install folder named 'navlight.txt' and in the first line enter a number from 0 to 4. 0 will render the nav lights with a double pulse flashing effect. 1 will render the nav lights with a single pulse flashing effect. 2 is the default mode and will render the nav lights with a slow fade flashing effect. 3 will render the nav lights always on at full strength. 4 will hide the nav lights. The second line will specify how larger to render the nav light effect. The default value is 1.0.


Tractor Beam Texture:

To replace the tractor beam texture, use the \ships folder and the following filename:

c2bb.png = tractor beam



Countermeasure Flare:

To replace the countermeasure flare, use the \ships folder and the following filename:

flare.png = countermeasure flare



Warp Flash and Jump Tunnel Textures:

To replace the warp flash/gate/wormhole textures, use the \ships folder and the following filenames:

flare2.png = warp flash sparkle
warp.png = warp flash
warp2.png = jump drive warp funnel
warp3.png = jump gate warp funnel



Station and City Modules Meshes:

You can import custom station and city module structures for the single player mode only (importing custom station/city structures will disable multiplayer until they are removed to prevent exploits). To replace these structures, use the \ships folder and the following filenames:

base1-powersupply.x = station power supply module
base1-livingcrew.x = station living/crew module
base1-production.x = station production module
base1-storage.x = station storage module
base1-hangar.x = station command/hangar module
base1-shield.x = station shield module
base1-weapon.x = station weapon module
base1-horizontal.x = station horizontal module
base1-vertical.x = station vertical module

city1-powersupply.x = city power supply module
city1-livingcrew.x = city living/crew module
city1-production.x = city production module
city1-storage.x = city storage module
landingdock.x = city command/docking module
city1-shield.x = city shield module
city1-weapon.x = city weapon module



Station and City Module Textures:

Station and city module textures use a shared set of images. To replace these textures, use the \ships folder and the following filenames:

base1-[detail].dds = Base texture for station/city modules
basenormal-[detail].png = Normal texture for station/city modules
baselights-[detail].dds = Lights texture for station/city modules
baseshader-[detail].dds = Specular texture for station/city modules



Asteroid Mesh:

To replace the structure of the asteroids in the game, use the \environment folder and the following filename:

aster.x = Asteroid mesh (the game will internally vary the size and shape of various asteroids based on this mesh)



Plant Meshes and Textures:

The game's plant system supports multiple structures for each group type. There are 3 group types the game uses and each group is divided into 3 mesh structures. Mesh structures and textures 1-3 are for group type 1, 4-6 are for group type 2, and 7-9 are for group type 3. To replace the plant meshes and textures, use the \environment folder and these filenames:

treeX.x = Plant meshes (X range 1-3 for group 1, 4-6 for group 2, and 7-9 for group 3)
treeX.png = Plant textures (X range 1-3 for group 1, 4-6 for group 2, and 7-9 for group 3)




3. HUD and Cockpit

Optionally available is the Evochron Legacy Cockpit Viewer program. It allows you to preview a custom cockpit design and certain HUD elements without having to load the design in the full game. Below are some details on the program.



The Evochron Legacy Cockpit Viewer (ECV) is a small utility designed to help make the process of creating and modifying custom cockpits much easier. Rather than loading the game each time you want to test changes or additions to a custom cockpit design, the ECV program will render your design in a window with the ability to display animation sequences for indicators that support it as well as provide the ability to pan the view around with the mouse. It also lets you quickly reload your cockpit designs after you make changes. The program supports both custom cockpit indexes for testing, civilian (ccpit1.x) and military (ccpit2.x). With this program, you can edit the files associated with your custom cockpit, then quickly reload the files in the program to view the results at the same time.

The program will load your custom cockpit files from the \hud folder inside the game's install folder. As a result, this program needs to be placed inside the install folder. If no custom cockpit files are present, you'll generally receive an error message or see blank white surfaces in the window. Be careful when extracting this program from its ZIP since it contains a \hud folder with example files. If you already have a \hud folder in place, be sure to back up any files you have in that folder before extracting this program's \hud folder to the install folder. You can also optionally just extract the EvochronCockpitViewer.exe program from the ZIP if you already have the files you need in the \hud folder and/or don't need the example files.

The program comes with the two default cockpit designs you can use as examples for how to set up a test for the viewing program. You'll need to include the various custom HUD image files and cockpit image/mesh files included in the ZIP to provide the minimum needed data for the program to display a custom cockpit design. That includes the high resolution versions of the texture files you're working with for your design (ccpitX-high.dds, ccpitXglass-high.dds, ccpitXnormal-high.dds, ccpitXshader-high.dds where X is either 1 or 2 for the civilian or military design). You can later include the medium and low resolution versions when you're finished and ready to use the custom cockpit in the game. You only need the high resolution version for this program. Certain text files specifying spacing and positioning are optional and are not included in the ZIP file. So only the minimum files needed are included in the ZIP file (some of which have been reduced in resolution and gray scaled). Consult with the game's online documentation for customizing below for more information on what each of the files is for.

When you start the program, it will load what it is able to find in the \hud folder and display the cockpit in a 1280X720 window. You can optionally specify a custom window size by creating a text file in the game's install folder named ecvscreen.txt and include the horizontal resolution you want to use in the first line and the vertical resolution you want to use in the second line. Once the program has started and displays the custom cockpit, you can pan the view around by holding down the mouse button, then moving the mouse. The viewpoint will rotate based on the mouse cursor's distance from the middle of the window. Release the mouse button to stop panning the view. Click the right mouse button to re-center the view. When you want to reload the cockpit data (for example, after making changes to the design's files), press the 'R' key. Press the arrow keys to change the direction light is projected onto the cockpit (up for light from in front, down for light from behind, left for light from left, and right for light from right). If you want to switch between the two cockpit modes, press '1' for the civilian design, and '2' for the military design. You can later rename your custom cockpit files as desired later on. For the program, you'll need to use the main \hud folder and the ccpit1.x and ccpit2.x base mesh format.

Here is the download link for the program: http://www.starwraith.com/evochronlegacy/customkit/EvochronCockpitViewer.zip


To customize the Heads-Up-Display and cockpit textures, use a directory name of \hud and use the following file names for each aspect of the HUD/cockpit you want to modify. The included black-and-white sample images will help with positioning so the displays and indicators still look right and function correctly. You can also use higher resolution textures for more detail, if desired.

Filenames for HUD textures:

b2-compass.png = transparent compass and console buttons
b2-compassshadow.png = compass shadow (inverse transparency, white is invisible)
b2barXcenter.png = button center texture (looped, X range 1-5, 1=blue, 2=yellow, 3=green, 4=purple, 5=red)
b2barXleft.png = button left edge texture
b2barXright.png = button right edge texture
b2barXcenterlight.png = button highlight center texture
b2barXleftlight.png = button highlight left edge texture
b2barXrightlight.png = button highlight right edge texture
b2console.png = base console display
b2console2.png = navigation console display
b2consolebuild.png = build console display
b2consoleinv.png = inventory console display
b2consoleinv2.png = inventory console display (highlighted equipment and commodity description)
b2consoleslide.png = navigation console for slide and 3D map modes
b2consoletrade.png = trade console display
b2console-shadow.png = shadow for console menu
b2consolebuild-shadow.png = shadow for build console menu
b2gun.png = transparent gunsight, mode 1
b2gun2.png = transparent gunsight, mode 2
b2gunshadow.png = gunsight shadow texture (inverse transparency, white is invisible), mode 1
b2gunshadow2.png = gunsight shadow texture, mode 2
b2gunwalker.png = terrain walker gunsight
b2gunwalkershadow.png = terrain walker gunsight shadow texture
b2gunwalker2.png = terrain walker radar display frame
b2gunwalker3.png = terrain walker compass display frame
b2gunwalker4.png = terrain walker side display frames
b2light1.png = Mouseover highlight for Target, Order, Deploy, and Build HUD button options
b2light2.png = Mouseover highlight for Navigation console and Inventory console HUD button options
b2light3.png = Mouseover highlight for Jump Drive and Trade console HUD button options
b2light4.png = Mouseover highlight for Autopilot HUD button option
b2light5.png = Mouseover highlight for Formation HUD button option
b2menu.png = HUD button menu
b2shield1.png = gunsight shield indicator (green)
b2shield2.png = gunsight shield indicator (yellow)
b2shield3.png = gunsight shield indicator (red)
b2shieldimpact.png = gunsight shield array impact direction indicator
blue-circle1.png = station radar blip, long range
blue-circle2.png = station radar blip, medium range
blue-circle3.png = station radar blip, close range
buttonclose.png = Console close button
buttonclose2.png = Console close button mouseover highlight
ccpitblue1.png = 3D radar display screen texture
ccpitblue2.png = ship status display screen texture (left)
ccpitblue3.png = target status display screen texture (right)
ccpitblue3b.png = target range list display screen texture (right)
chatbarleft.png = text message area vertical bar
chatbarline.png = text message area horizontal line highlight bar
chatbarlineshadow.png = shadow for text message area
chatbartop.png = text message area horizontal bar
chatbox.png = blank button box
chatclose.png = text message area close button
chatcolors.png = color selection for text chat
chatdown.png = text message area line down button
chatdownb.png = mouseover text message area line down button
chatdown2.png = text message area page down button
chatdown2b.png = mouseover text message area page down button
chatslider.png = text message area scroll box
chatslider2.png = text message area scroll box active
chatsliderbutton.png = text message area scroll button
chatslidersmall.png = small scroll box
chatslidersmall2.png = small scroll box active
chattext.png = text chat mode button
chattextb.png = mouseover text chat mode button
chatup.png = text message area line up button
chatupb.png = mouseover text message area line up button
chatup2.png = text message area page up button
chatup2b.png = mouseover text message area page up button
chatvoice.png = voice chat button
chatvoiceb.png = mouseover voice chat button
chatvoicemute.png = mute chat indicator
chatvoicemuteb.png = mouseover mute chat indicator
compass.png = transparent numbers for compass display
cyan.png = transparent movement indicators
green1.png = bright green radar blip
green2.png = medium green radar blip
green3.png = station radar blip
greenarrow.png = nav map direction indicator
greenbox.png = nav map waypoint indicator
green-circle1.png = friendly threat level radar blip, long range
green-circle2.png = friendly threat level radar blip, medium range
green-circle3.png = friendly threat level radar blip, close range
grid.png = transparent sphere lines for 3D radar sphere and target ship direction indicator
grid-horizon.png = transparent horizon surface for 3D radar sphere and target ship direction indicator
grid-small.png = MFD transition effect texture
heat.png = heat signature indicator
heatshadow.png = heat signature indicator shadow
hud1.png = target MFD range list left bracket
hud1b.png = target MFD range list right bracket
hud3.png = status display shield hull damage green bar
hud3b.png = target MFD detail hull damage indicator bracket
hud4.png = status display primary weapon energy indicator blue bar
hud5.png = inbound missile range indicator red bar (kept for potential legacy use)
hud7.png = target MFD detail hull damage indicator red bar
hud8.png = red dot used for critical shield array level
hud9.png = yellow dot used for critical shield array level
hud10.png = green dot used for critical shield array level
hud-alert1-X.png = transparent ENERGY alert indicator (X = 1-10 for each frame of animation)
hud-alert2-X.png = transparent SHIELD alert indicator (X = 1-10 for each frame of animation)
hud-alert3-X.png = transparent SYSTEM alert indicator (X = 1-10 for each frame of animation)
hud-alert4-X.png = transparent CAUTION alert indicator (X = 1-10 for each frame of animation)
hud-alert1-shadow.png = ENERGY alert indicator shadow texture
hud-alert2-shadow.png = SHIELD alert indicator shadow texture
hud-alert3-shadow.png = SYSTEM alert indicator shadow texture
hud-alert4-shadow.png = CAUTION alert indicator shadow texture
hudbox1.png = green ship pathway indicator
hudbox2.png = yellow ship pathway indicator
hudbox3.png = red ship pathway indicator
hudrings.png = race course rings
hud-shipicon.png = ship control and thruster indicator icon for primary data
hud-shipicon2.png = ship control and thruster indicator icon for secondary data
hudtape.png = transparent numbers and lines for artificial horizon display
hudtape-shadow.png = shadow for artifical horizon display
icon-ast1.png = rocky asteroid nav map icon
icon-ast2.png = ice asteroid nav map icon
icon-ast3.png = metallic asteroid nav map icon
icon-blackhole.png = black hole nav map icon
icon-blue.png = map log entry nav map icon
icon-buttondown.png = nav map down button
icon-buttondown2.png = nav map down highlight button
icon-buttonleft.png = nav map left button
icon-buttonleft2.png = nav map left highlight button
icon-buttonright.png = nav map right button
icon-buttonright2.png = nav map right highlight button
icon-buttonup.png = nav map up button
icon-buttonup2.png = nav map up highlight button
icon-carr.png = carrier nav map icon
icon-cave.png = cave nav map icon
icon-circle90.png = friendly clan territory indicator
icon-circle90b.png = hostile clan territory indicator
icon-circle180.png = short range sensor probe indicator
icon-circle180b.png = short range sensor probe indicator zoom mode
icon-circle300.png = long range sensor array indicator
icon-circle300b.png = long range sensor array indicator zoom mode
icon-city1.png = primary city nav map icon
icon-city2.png = secondary city nav map icon
icon-csta.png = constructor station nav map icon
icon-gat.png = gate nav map icon
icon-map.png = nav map background map grid
icon-ping.png = ping nav map icon
icon-sta1.png = station type 1 nav map icon
icon-sta2.png = station type 2 nav map icon
icon-sta3.png = station type 3 nav map icon
icon-sta4.png = station type 4 nav map icon
icon-sta5.png = station type 5 nav map icon
icon-sta8.png = station type 8 nav map icon
icon-waypoint.png = waypoint area nav map icon
icon-wor.png = wormhole nav map icon
incominggunfire-X.png = incoming gunfire alert indicator (X = 1-10 for each frame of animation)
incominggunfire-shadow.png = shadow for incoming gunfire alert indicator
inertial1.png = IDS off indicator
inertial2.png = IDS on indicator
jettisonbutton1.png = jettison button
jettisonbutton1b.png = jettison verification button
jettisonbutton2.png = mouseover jettision button
jettisonbutton2b.png = mouseover jettision verification button
landblue1.png = cargo delivery point path
landblue2.png = cargo delivery point path
landgreen1.png = ILS green landing path
landgreen2.png = ILS green landing path
landred1.png = ILS red landing path
landred2.png = ILS red landing path
landshadow.png = ILS landing path shadow
map.png = Quadrant map
mapt.png = Territory quadrant map
mape.png = Economy quadrant map
mdts1.png = transparent MDTS active indicator
mdts2-X.png = transparent MDTS tracking indicator (X = 1-10 for each frame of animation)
mdtsshadow.png = MDTS indicator shadow
menu4.png = small menu frame for certain alerts
mi-X.png = transparent missile inbound alert indicator (X = 1-10 for each frame of animation)
mi-shadow.png = shadow for inbound alert indicator
mi2.png = bright yellow inbound missile highlight box
mlock1-X.png = transparent missile lock indicator (X = 1-10 for each frame of animation)
mlock-shadow.png = shadow for missile lock indicator
mode1.png = particle and beam weapon firing mode indicator
mode2.png = particle weapon firing mode indicator
mode3.png = beam weapon firing mode indicator
modeshadow.png = firing mode indicator shadow
navmapgreen1.png = ALC quadrant map region territory control indicator (default zoom)
navmapgreen2.png = ALC quadrant map region territory control indicator (zoomed mode)
navmappurple1.png = vonari quadrant map region territory control indicator (default zoom)
navmappurple2.png = vonari quadrant map region territory control indicator (zoomed mode)
navmapred1.png = FDN quadrant map region territory control indicator (default zoom)
navmapred2.png = FDN quadrant map region territory control indicator (zoomed mode)
navmapyellow1.png = disputed quadrant map region territory control indicator (default zoom)
navmapyellow2.png = disputed quadrant map region territory control indicator (zoomed mode)
point1.png = menu selection mode mouse pointer
point1-shadow.png = menu selection mode mouse pointer shadow
point4.png = flight mode mouse pointer
point4console.png = selection mode mouse pointer
point4cshadow.png = selection mode mouse pointer shadow
point4shadow.png = flight mode mouse pointer shadow
point8.png = nav map selection mode mouse pointer
point8shadow.png = nav map selection mode mouse pointer shadow
purple1.png = cargo/weapon storage container and wormhole radar blip
purplebox.png = purple quest radar and nav map indicator
purple-circle1.png = miscellaneous/unknown object radar blip, long range
purple-circle2.png = miscellaneous/unknown object radar blip, medium range
purple-circle3.png = miscellaneous/unknown object radar blip, close range
red.png = red coloring used for target display critical damage level
red1.png = dim red radar blip
red2.png = medium red radar blip
red3.png = bright red radar blip
redbox2.png = red highlight box
red-circle1.png = hostile threat level radar blip, long range
red-circle2.png = hostile threat level radar blip, medium range
red-circle3.png = hostile threat level radar blip, close range
strafe.png = transparent strafe indicator (flight path marker and horizontal/vertical velocity marker)
strafe2.png = optional texture option for horizontal/vertical velocity marker
strafeshadow.png = strafe indicator shadow
strafe2shadow.png = optional texture option for horiztonal/vertical velocity marker shadow
target1.png = red lead indicator
target1green.png = green lead indicator
target1yellow.png = yellow lead indicator
target2.png = red tracking indicator high priority
target3.png = red tracking indicator for target
target3green.png = green tracking indicator for target
target3yellow.png = yellow tracking indicator for target
target4.png = red tracking indicator
target4b.png = red missile lock indicator
target5.png = red direction pointer
target5blue.png = blue direction pointer
target5yellow.png = yellow direction pointer
target5green.png = green direction pointer
target7.png = green tracking indicator
target7b.png = green missile lock indicator
target8.png = yellow tracking indicator
target8b.png = yellow missile lock indicator
target9.png = white highlight direction and range indicator for nearest cargo
target10.png = blue station tracking indicator
target11.png = asteroid indicator
target12.png = secondary direction indicator for cargo
target18.png = blue tracking indicator for objects
target18b.png = blue missile lock indicator
targetmissile.png = HUD pointer direction indicator for inbound missiles, regular threat level
targetmissile2.png = HUD pointer range bar for inbound missiles, regular threat level
targetmissile2red.png = HUD pointer range bar for inbound missiles, critical threat level
targetmissile3.png = HUD pointer and range bracket for inbound missiles, regular threat level
targetmissile3red.png = HUD pointer and range bracket for inbound missiles, regular threat level
targetmissilered.png = HUD pointer direction indicator for inbound missiles, critical threat level
targetradarblue.png = blue target highlight radar blip
targetradargreen.png = green target highlight radar blip
targetradarmissile.png = inbound missile blip
targetradarred.png = red target highlight radar blip
targetradaryellow.png = yellow target highlight radar blip
targetshadow.png = tracking indicator shadow for target
targetshadow2.png = tracking indicator shadow
targetshadow2b.png = missile lock indicator shadow
targetshadow3.png = shadow for navigation direction and range indicator
targetshadow4.png = inbound missile indicator shadow
targetshadow5.png = lead indicator shadow
targetshadow7.png = mouse pointer shadow
targetshadow8.png = shadow for waypoint direction and range indicator
targetshadow9.png = shadow for direction and range indicator for nearest cargo
targetshadow10.png = shadow for station tracking indicator
targetshadow12.png = shadow for secondary direction indicator for cargo
targetshadow18.png = shadow for quest direction and range indicator
waypoint1.png = green waypoint direction and range indicator
waypointn.png = yellow navigation direction and range indicator
waypointq.png = purple quest direction and range indicator
white.png = white radar blip
white-circle1.png = cargo radar blip, long range
white-circle2.png = cargo radar blip, medium range
white-circle3.png = cargo radar blip, close range
yellow.png = yellow coloring used for target display moderate damage level
yellow1.png = bright yellow radar blip
yellow-missile.png = medium yellow radar blip for inbound missiles
yellowbox.png = yellow navigation radar and nav map indicator
yellow-circle1.png = moderate threat level radar blip, long range
yellow-circle2.png = moderate threat level radar blip, medium range
yellow-circle3.png = moderate threat level radar blip, close range



Custom Cockpit Options:

The custom cockpit options are available through two different systems. The first system lets you customize the existing cockpit structures and textures. This way, you can remove or change details within the existing cockpit framework, rather than having to import an entirely unique structure and texture set.

For the first option, these three object files are needed:

ccpit#.x = base cockpit structure mesh (include textures in the same folder)
ccpit#displays.x = cockpit displays (the frames/screens that project the holographic display details)
ccpit#glass.x = cockpit glass surface (rendered transparent and reactive to scene lighting)


There are also these texture files:

ccpit#-[detail].dds = Base texture map
ccpit#normal-[detail].png = Normal map
ccpit#shader-[detail].dds = Specular map
ccpit#lights-[detail].dds = Emissive map
ccpit#glass-[detail].dds = Glass texture


The '#' character will either be a 1 for the civilian cockpit or a 2 for the military cockpit. This way, you can import custom cockpit structures and/or textures in part or in whole using the game's loading mechanism for the default cockpits. Simply include the desired file(s) in the \hud folder for the object and/or texture structure you wish to replace. Replace [detail] with each level of optional detail starting with 'low', then 'medium', then finally 'high'. Higher resolutions will require more memory in exchange for a more detailed look.

For the second custom cockpit system, you can specify a single object file on its own for all of the cockpit structure. This option is best if you want to use one global cockpit object for the entire game. Simply include the object file named 'ccpit.x' in the \hud folder. You can also optionally include an additional object for the cockpit's glass named 'ccpitglass.x' which will be rendered transparent and reactive to scene lighting. Once you've imported the structure, you will need to also include a 'ccpitshader.txt' file in the same \hud folder that specifies the textures you want to use for a base map, normal map, and specular map. Here is the required layout for this file:

ccpitshader.txt
1st value specifies the base map (exact filename, place file in \hud folder)
2nd value specifies the normal map (exact filename, place file in \hud folder)
3rd value specifies the specular map (exact filename, place file in \hud folder)
4th value specifies the emissive map (exact filename, place file in \hud folder)
5th value specifies the glass texture (exact filename, place file in \hud folder)


For both custom cockpit systems, you can also specify a custom cockpit for each ship individually by adding the frame number to the end of the \hud folder in its name. For example, if you wanted to specify a custom cockpit for the Talon in the game, simply add the number 1 to the end of the \hud folder so it reads \hud1. This way, the custom cockpit will apply only for that ship type and not the others.


Optional location data for HUD control and thruster indicators (also uses the \hud folder):

huddisplays.dat
1st pitch yaw X location (default value is -2.6)
2nd pitch yaw Y location (default value is 7.08)
3rd pitch yaw Z location (default value is 0)
4th strafe X location (default value is -2.6)
5th strafe Y location (default value is 6.52)
6th strafe Z location (default value is 0)
7th roll X location (default value is -1.858)
8th roll Y location (default value is 6.32)
9th roll Z location (default value is 0)
10th front thrusters X location (default value is 2.6)
11th front thrusters Y location (default value is 7.08)
12th front thrusters Z location (default value is 0)
13th rear thrusters X location (default value is 2.6)
14th rear thrusters Y location (default value is 6.52)
15th rear thrusters Z location (default value is 0)
16th engine X location (default value is 1.858)
17th engine Y location (default value is 6.32)
18th engine Z location (default value is 0)
19th control displays ship icon X location (default value is -1.8)
20th control displays ship icon Y location (default value is 6.8)
21st control displays ship icon Z location (default value is 0)
22nd thruster displays ship icon X location (default value is 1.8)
23rd thruster displays ship icon Y location (default value is 6.8)
24th thruster displays ship icon Z location (default value is 0)
25th global scale factor (default value is 15.0)



The default color of chat/message text in the message log is white-blue by default. You can change this by using a text file named chattext.dat to make it stand out more in contrast to white system message text. Color options apply to the default color values only. Players are still able to select custom text colors in the multiplayer mode for their sent messages.

You can also change the location of the text chat/message log. It is recommended that you do not change the pixel offset values or the Y position value, unless other mods you have need special adjustments. If you move the message log to the left using negative values for the X position, the mouse pointer will automatically toggle to the control buttons and slider on the left side of the log when you move the pointer to the left edge of the screen. Then when you move it away from the control buttons and slider, it will return to the main central area of the screen.

chattext.dat
1st value sets the red color (0-255, default 100)
2nd value sets the green color (0-255, default 255)
3rd value sets the blue color (0-255, default 255)
4th value sets the X pixel offset (usually leave at 20)
5th value sets the Y pixel offset (usually leave at 50)
6th value sets the X position (ie -7.5 for widescreen displays)
7th value sets the Y position (usually leave at 0)



Optional 3D gauge/display positions (used to accomodate custom cockpits):

gauges.txt
1st value sets the left display's vertical position, default is 0.075
2nd value sets the left display's horizontal position, default is 0.0
3rd value sets the left display's rotation angle, default is 20
4th value sets the center display's vertical position, default is 0.0
5th value sets the center display's horizontal position, default is 0.0
6th value sets the center display's rotation angle, default is 0
7th value sets the right display's vertical position, default is 0.075
8th value sets the right display's horizontal position, default is 0.0
9th value sets the right display's rotation angle, default is 20
10th value sets the target object's vertical position, default is 1.98
11th value sets the target object's horizontal position, default is 2.77
12th value sets the 3D radar sphere's vertical position, default is 0.0
13th value sets the 3D radar sphere's horizontal position, default is 0.0
14th value sets the left display's distance, default is 0.0
15th value sets the center display's distance, default is 0.0
16th value sets the right display's distance, default is 0.0
17th value sets the target object's distance, default is 0.0
18th value sets the 3D radar sphere's distance, default is 0.0
19th value sets the 3D radar sphere display's shadow horizontal position, default is 0.0
20th value sets the 3D radar sphere display's shadow vertical position, default is 0.0
21st value sets the 3D radar sphere display's shadow distance position, default is 0.0
22nd value sets the left display's shadow horizontal position, default is 0.0
23rd value sets the left display's shadow vertical position, default is 0.0
24th value sets the left display's shadow distance position, default is 0.0
25th value sets the right display's shadow horizontal position, default is 0.0
26th value sets the right display's shadow vertical position, default is 0.0
27th value sets the right display's shadow distance position, default is 0.0
28th value sets the 3D radar sphere's size factor, default is 1.0
29th value sets the left display's X size factor, default is 1.0
30th value sets the left display's Y size factor, default is 1.0
31st value sets the center display's X size factor, default is 1.0
32nd value sets the center display's Y size factor, default is 1.0
33rd value sets the right display's X size factor, default is 1.0
34th value sets the right display's Y size factor, default is 1.0



Optional location positions for the HUD flight timer, center gunsight text readouts, and digital compass as well as overall character size:

hudtext.txt
1st value sets the timer's horizontal position
2nd value sets the timer's vertical position (offset from the default location)
3rd value sets the timer's distance position (offset from the default location)
4th value sets the center gunsight's text readouts horizontal position
5th value sets the center gunsight's text readouts vertical position
6th value sets the overall character size value for the display text
7th value sets the digital compass indicator's horizontal position
8th value sets the digital compass indicator's vertical position
9th value sets the digital compass indicator's distance position



Optional readouts for cargo bay, ship location, shield levels, and pitch level:

hudtext.dat
1st value sets the activation value (should generally always be 1)
2nd value sets the red color level of the text (0-255)
3rd value sets the green color level of the text (0-255)
4th value sets the blue color level of the text (0-255)
5th value is no longer used and is a placeholder for possible future use
6th value sets the cargo readout's activation status (0 = off, 1 = on)
7th value sets the cargo readout's X position
8th value sets the cargo readout's Y position
9th value sets the location readout's activation status (0 = off, 1 = on)
10th value sets the location readout's X position
11th value sets the location readout's Y position
12th value sets the shield level readout's activation status/spacing (>0 = on and spacing)
13th value sets the shield level readout's X position
14th value sets the shield level readout's Y position
15th value sets the pitch level readout's activation status (0 = off, 1 = on)
16th value sets the pitch level readout's X position
17th value sets the pitch level readout's Y position



Optional scaling for the HUD pitch ladder (the Y and Z values should generally always be the same):

pitchladder.txt
1st value sets the X scaling (default is 58)
2nd value sets the Y scaling (default is 22)
3rd value sets the Z scaling (default is 22)



Optional positioning for the HUD compass:

compass.txt
1st value sets the X position (default is 0)
2nd value sets the Y position (default is 5.5)
3rd value sets the Z position (default is 10)



Optional texture and surface scaling for the target direction pointer:

targetpointer.txt
1st value sets the texture UV X scale (default value is 1.0)
2nd value sets the texture UV Y scale (default value is 1.0)
3rd value sets the texture UV X offset scale (default value is 0)
4th value sets the texture UV Y offset scale (default value is 0)
5th value sets the scaling percentage for the 3D surface (default value is 110.0)



Optional scaling and angle positioning for the HUD gunsight circular bar graph readouts:

hudbargraphs.txt
1st value sets the distance from the center of the gunsight (default value is 2.31)
2nd value sets the starting angle for the upper bar graphs (default value is 42.5)
3rd value sets the starting angle for the lower bar graphs (default value is 48.5)
4th value sets the step distance for the upper bar graphs (default value is -1.5)
5th value sets the step distance for the lower bar graphs (default value is 1.5)
6th value sets the bar X size (default value is 225.0)
7th value sets the bar Y size (default value is 50.0)
8th value sets the character index to use for the bar graphs (default value is 12113)
9th value sets the color mode to use for the bar graphs (blue/white or green with mixed coloring, default value is 1)
10th value sets the offset width parameter (longer width for minimum and maximum lines, default value is 1)


The bar graphs use a circular format designed to fill in the gunsight, so the placement options for them are based on angles and distance from center. The distance from center value simply sets how far away the circular placement pattern will be for the bar graphs. The starting angle for upper bar graph sets how far above and below the center line to place the upper bar graphs. The lower angle sets where to start the lower bar graphs. All angular distances start from 0 for the horizontal center line of the gunsight. The step distance values tell the game how far apart to space each line in the bar graph, also in angle values. The bar size values tell the game how large to make each bar indicator. The character index tells the game which character to use for each line in the bar graph. The default 12113 value is for a '-' symbol. Characters start from index value 12100 (blank space) and increase from there using the character layout in the bitmap font image. The color mode will render the bar graphs in either standard white/blue with the default 1 value, or green with yellow medium and red low levels when the value is set to 0.


Optional mode, rotation maximum, compass/pitch readout, and shadow values for the OCRS (Off-Center Readout System):

ocrssettings.dat
1st value sets the default OCRS mode (0 = off, 1 = on)
2nd value sets the maximum pitch range for OCRS activation (default 20.0)
3rd value sets the maximum yaw range for OCRS activation (default 30.0)
4th value sets the digital compass and pitch readout status (0 = off, 1 = on)
5th value sets the shadow level (range 0-100)



Optional positioning and movement range parameters for joystick and throttle:

joystickthrottle.txt
1st value sets the X position of the joystick (default is 1.75)
2nd value sets the Y position of the joystick (default is 1.4)
3rd value sets the Z position of the joystick (default is -2.0)
4th value sets the movement range of the joystick (default is 0.025)
5th value sets the X position of the throttle (default is 1.75)
6th value sets the Y position of the throttle (default is 1.4)
7th value sets the Z position of the throttle (default is -2.2)
8th value sets the movement range of the throttle (default is 0.05)




4. Sound and Music

To customize the sound effects in the game, use a directory named \sounds and the following filenames:

ambient.wav = ambient sound while player is in cockpit view
backg.wav = background mechanical hum for main menu if no music selected
buzz.wav = error mouse click buzz
buzz2.wav = inbound missile audio alert
chaff.wav = countermeasures
dock.wav = docking effect
exp1.wav = missile explosion
exp2.wav = collision
flyby.wav = ship fly-by effect
gunX.wav = gunfire sound effects (X is the gun type number, 1-15, starting with 1 for the Banshee)
hostilealert.wav = hostile ship in range alert
laser.wav = laser sound effect
lock1.wav = missile lock
mapclick.wav = clicking sound for menu highlighting and map zooming
mdtslock.wav = MDTS lock alert
missle.wav = missile launch
missilerange.wav = missile range beep
nuke.wav = big explosion
nofire.wav = primary weapon misfire
rain.wav = rain sound effect
s2.wav = main engine sound effect
s3.wav = normal explosion
s4.wav = shield impact
s4b.wav = player shield impact (louder)
s4c.wav = disruptor sound effect
s7b.wav = mouse click
scan.wav = scanning sound effect
shutdown1.wav = long shut down sound effect
shutdown2.wav = short shut down sound effect (when deactivating HUD/displays)
startup1.wav = long startup sound effect
startup2.wav = short startup sound effect (when activating HUD/displays)
tabburn.wav = afterburner cycling
taboff.wav = afterburner disengaging
tabon.wav = afterburner engaging
thrusters.wav = maneuvering thruster effect
thunder.wav = nebula cloud thunder effect
tractor.wav = tractor beam
warn.wav = main warning alert
warn2.wav = critical warning alert
warp.wav = jump drive warp
weapload.wav = weapon loading/cycling effect
wind.wav = wind sound effect



To replace the event and environment specific radio chatter, use a subdirectory named \chatter and the following filenames:

chatter-X-V.wav - Numbers from 0 to 9
chatter1-V.wav - Station update, traffic is light.
chatter2-V.wav - Station update, traffic is moderate.
chatter3-V.wav - Station update, traffic is heavy.
chatter4-V.wav - Observe radar activity and follow traffic guidelines.
chatter5-V.wav - Nebula cloud is nearby.
chatter6-V.wav - Hello fellow mercenary.
chatter7-V.wav - Sure is quiet in this system.
chatter8-V.wav - Asteroids are in this system, observe caution when using jump drive.
chatter9-V.wav - Don't let your guard down mercenary, hostiles reported nearby.
chatter10-V.wav - We're reviewing your transponder, stand by.
chatter11-V.wav - Identification confirmed, good day.
chatter18-V.wav - Mercenary spacecraft
chatter19-V.wav - state your purpose.
chatter20-V.wav - Sending requested contract data now.
chatter21-V.wav - We're forwarding our flight plan to you now.
chatter22-V.wav - We're patrolling the area, no set objective.
chatter23-V.wav - We're heading to the nearby asteroid field.
chatter24-V.wav - Returning from completing a contract.
chatter25-V.wav - Destination confirmed, good day.
chatter26-V.wav - Mercenary spacecraft, you are clear to depart through gate
chatter27-V.wav - Mercenary spacecraft, you are clear to dock through gate
chatter28-V.wav - Mercenary spacecraft, watch for traffic approaching gate
chatter29-V.wav - Mercenary spacecraft, pattern is full on gate
chatter30-V.wav - watch for traffic.
chatter31-V.wav - state your origin and destination.
chatter32-V.wav - Inbound from the planet's surface and requesting clearance to dock.
chatter33-V.wav - Departing station and heading for the planet's surface.
chatter34-V.wav - This is mercenary spacecraft
chatter35-V.wav - departing station, gate
chatter36-V.wav - on final to station, gate
chatter37-V.wav - stand by for cargo scan.
chatter38-V.wav - Cargo scan complete, you are clear to proceed.


For these sounds, you can also specify a custom variety of voices. For different voices, change the 'V' in each filename above to a number from 1 to 8 representing each unique voice. Each unique voice will need the entire set of sound files to be used by the game.


Radio Communication:

To replace the radio communication between the player and other ships due to player driven events, use a subdirectory named \radio and use the following file names. Note, each sequence has multiple phrases and voices. All of the ranges need to be filled for no english samples to be played. X represents a random phrase, Y represents the voice.

Each value may have different ranges:

dealrejX-Y.wav = Trade deal rejection vocals, (X range = 1-2, Y range = 1-8)
dealaccX-Y.wav = Trade deal accepted vocals, (X range = 1-2, Y range = 1-8)
enfightX-Y.wav = Combat threats and warnings, (X range = 1-5, Y range = 1-8)
traderej1-Y.wav = Trade rejected vocals, (Y range = 1-8)
tradesell1-Y.wav = Trade agree to sell vocals, (Y range = 1-8)
tradeacc1-Y.wav = Trade request accepted vocals, (Y range = 1-8)
watchfireX-Y = Watch your fire vocals, (X range = 1-2, Y range = 1-8)



For the vocal alerts, use a directory named \alerts and the following filenames:

bb-tractordis.wav = Docking tractor beam disengaged
bb-lowfuel.wav = Caution: Fuel level low
bb-lowalt.wav = Warning: low altitude
bb-contracta.wav = Contract objectives accomplished
bb-contractf.wav = Contract objectives failed
bb-inbound.wav = Alert: Missile inbound
bb-gravity = Caution: Entering high level gravity field
bb-avioplanet.wav = Avionincs switched to planetary mode
bb-aviospace.wav = Avionics switched to space mode
bb-nebula.wav = Caution: Entering dense nebula cloud zone
bb-radiation.wav = Caution: Entering high level radiation zone
bb-tractor.wav = Docking tractor beam engaged (4 second delay recommended)



Training Voice Sequences:

If you want to customize the vocal training sequences, use a folder named \training. Use filenames TRAINX.WAV where X is the number slot of the training slot you are replacing (uses the same number assignments as indicated in the traintext.sw file).


Custom Music:

You can use multiple music tracks for various threat levels. There are 3 levels you can use 3 separate music tracks for. The first level will play the selected track when there are no hostiles around. The second will play when a few hostiles are nearby. The third will play when many hostiles are nearby. Certain events can also trigger a transition from one music track to another, including when hostile reinforcements jump in to assist their allies, when you bribe hostiles to moderate threats, or if hostiles disengage and jump out of the area. The game will automatically fade out the current music track being played, then load and start the new one when a transition is needed. It is recommended that the music you import fade in at the start so the transition is smoother. You may want to structure the music so a softer ambient track plays when there are no hostiles nearby and more energetic music plays when hostiles approach. You can import up to 300 custom songs in 100 sets of three, one song in each set of three for each level. The system is completely random, so it can often play a unique song when there is a transition to a different threat level. Import the songs in order starting with the first set using slot 1 (example: musiclevel1-1.ogg, musiclevel1-2.ogg, and musiclevel1-3.ogg). To use the this option, use a folder named \music and the following filenames:

musiclevelX-Y.ogg = random in-game threat level/event driven music (X is a number from 1 to 100 representing the 100 possible sets of 3 songs, Y is a number from 1 to 3, 1 being the lowest threat level, 3 being the highest).



5. Text and Data

To modify the text in the game, simply open one of the following files in a text editor and change the text as desired (line length and formatting may need to be adjusted to stay within menu frames and buttons):

itemdata.dat = item descriptions and details
systemdata.dat = system descriptions and details
techdata.dat = shipyard technical information
text.dat = in-game text, ship/weapon names, options, etc.
traintext.sw = training text



Custom Fonts:

Evochron Legacy uses an image based font system for rendering text in the game. The game loads characters from a base grayscale image file then internally generates all sorting, scaling, positioning, and coloring as needed to render the characters as text. In the sample files for the customizing kit there are two sample images:

- bitmapfont32.png
- bitmapfont32-ascii.png

'bitmapfont32.png' provides an existing template of characters you can use as a reference for spacing, alignment, and size for correct configuration with the game's menus and buttons. Characters you wish to import into the game should be no larger than the sample characters in the 'bitmapfont32.png' image and positioning should also match closely. Characters must be carefully spaced and positioned to fit within the various menus and buttons in the game. You can replace the characters with your own using the provided scaling and positioning parameters for any custom font design you might want to use. The bitmapfont32.png image must also include transparency so the characters don't overwrite each other when rendered close together and overlap.

The game supports up to 223 custom letter characters plus two more character indexes for up and down arrow indicators. Each character is assigned to a corresponding ASCII (American Standard Code for Information Interchange) value using the default numerical format. The 'bitmapfont32-ascii.png' image provides the number sequence for these ASCII character assignments. Characters start with ASCII value 32 in the upper left corner and continue on through value 255 at the bottom. So you can display any desired character for each ASCII value by applying the characters you want in the bitmapfont32.png file and then select them as desired in the game's editable text files. Character indexes 256 and 257 are used for the up and down arrow indicators and will need to be added to any custom font image file you import into the game. You can copy and paste the sample arrows into a custom image file, if desired.

The customizing kit includes a small utility program that can generate custom font image files for you that are compatible with the game using a font you already have installed on your system. Simply start the 'EvochronBitmapFontCreator.exe' program and it will prompt you for the name of the font you want to load. The font name must match an existing font installed on your system, otherwise it won't be loaded. From there, you can enter the size of the characters you want to apply to the bitmap image. And lastly, the program will prompt you for the vertical offset to apply for each character. Some fonts may require vertical placement adjustment to align with the game's bitmap font system properly. Once these values are entered into the program, it will load the font and create a bitmap image you can use to import the characters from that font into the game. If you have trouble launching the program from the \hud folder or if you want to preserve the example bitmapfont32.png image that is included with the customizing kit, you can place the program in the game's install folder and it should then run as needed. It may take some fine tuning and comparing with the sample image file to get the scaling and positioning correctly aligned for the game. You can also design your own entirely custom characters for the game, including those of different languages that may not be supported by all PC's. Once you have installed and placed each character you want to use into each ASCII index, simply apply the default characters for the ASCII table in any modified text files (listed above) to display the characters you've specified in your custom font image file in the order needed to display the words you want in the game. This way, you can change any default ASCII character to anything you want using the custom character font image you create and the linked ASCII characters in any text files you want to modify.

You can also apply custom color values to the various color levels displayed in the game. Text color is split into three levels of brightness for each main color. To change the default levels, use the following filename:

bitmapfontcolors.txt

A sample file is included with the customizing kit that provides default values. Each color set is marked with a description line. Below each description line are three color values ranging from 0 to 100 for red, green, and blue. There are 3 levels of intensity for each color in the game and you can change the values to change the intensity levels, color mixing, or overall colors themselves.


Save Data Folder Location:

To change the save data folder where the game stores settings and profiles, create a text file in the game's new location you want (in the game's folder where you installed the game and where the EvochronLegacy.exe file is located) named savedir.txt and in the first line, put the drive and folder location. The game automatically adds the \sw3dg and the \EvochronLegacy folder names, so you only need to list the drive and folders that come before those.

For example, if you just move the \sw3dg\EvochronLegacy folder group (both \sw3dg and \EvochronLegacy) from C to D, your savedir.txt file would have this in the first line:

d:\

With nothing else after it. The game will add the \sw3dg and \EvochronLegacy folder names and use the new location.

The game also supports a dynamic %docfolder% tag in the savedir.txt file to specify the Users\UserName\My Documents folder in a global way that is independent of a specific user name that may be on the system. This allows players to direct the game to keep save data in the documents folder using one standard (global) line rather than requiring specific folder names. So for example, if you want to have the game keep save data in the 'My Games' folder that is generally located in the documents folder tree, you can specify this line in the savedir.txt file:

%docfolder%\My Games

The game will then poll Windows for the current system drive, user folder, user name folder, and documents folder and apply them all automatically in the target save data folder. It will then take the characters after the %docfolder% tag and include them in the target save data folder string along with the \sw3dg\EvochronLegacy text, so the end result will be something like this to the game:

c:\Users\[UserName]\My Documents\My Games\sw3dg\EvochronLegacy

And the save data files will then be saved and loaded to/from that folder location. If you want to apply this change to the game, make sure to copy all of the original save data files from the default location of c:\sw3dg\EvochronLegacy to the new folder location you specify before launching the game the next time.


Skip Intro Movie:

To skip the intro movie to the game, create a text file with the name novideo.txt in the same folder as the EXE. It can contain any value.


Saving In-Game Data to Text File:

You can optionally save in-game display data values out to an external text file for use with 3rd party programs and/or devices. To activate the system, create a text file in the game's install folder (where the EXE is located) named savedatasettings.txt Inside the file needs to be an integer value to specify the update rate for the game to use in milliseconds. A good setting to start with is 5000, or 5 second updates, which will generally keep the update rate pretty low and shouldn't impact game performance much. The game will create a file named 'savedata.txt' in the same folder as the EXE and will use the following layout for data:

Pilot Name (string)
Fuel (integer)
Cash (string, includes commas)
Cargo Bay 1 (string, cargo type and number, or will display 'Empty' if nothing)
Cargo Bay 2
Cargo Bay 3
Cargo Bay 4
Cargo Bay 5
Cargo Bay 6
Cargo Bay 7
Cargo Bay 8
Cargo Bay 9
Cargo Bay 10
Player Position X (integer)
Player Position Y (integer)
Player Position Z (integer)
Player Position SX (integer)
Player Position SY (integer)
Player Position SZ (integer)
Local System Name (string)
Energy Level (integer)
Front Shield level (integer)
Right Shield level (integer)
Left Shield level (integer)
Rear Shield level (integer)
Shield Level (integer)
Engine Damage (integer)
Weapon Damage (integer)
Nav Damage (integer)
Target Description (string)
Target Threat Level (string)
Target Range (integer)
Target Front Shield level (integer)
Target Right Shield level (integer)
Target Left Shield level (integer)
Target Rear Shield level (integer)
Target Engine Damage (integer)
Target Weapon Damage (integer)
Target Nav Damage (integer)
Capital Ship Weapon Turret 1 (float, will be 0 if no capital ship is targeted)
Capital Ship Weapon Turret 2 (float)
Capital Ship Weapon Turret 3 (float)
Capital Ship Weapon Turret 4 (float)
Target Cargo Bay 1 (string, cargo type and number, or will display nothing if out of sensor range)
Target Cargo Bay 2
Target Cargo Bay 3
Target Cargo Bay 4
Target Cargo Bay 5
Target Cargo Bay 6
Target Cargo Bay 7
Target Cargo Bay 8
Target Cargo Bay 9
Target Cargo Bay 10
Inbound Missile Alert (0 for off, 1 for on)
Particle Cannon (string)
Beam Cannon (string)
Secondary Weapon Slot 1 (string, will display 'Empty' if no weapon is loaded)
Secondary Weapon Slot 2
Secondary Weapon Slot 3
Secondary Weapon Slot 4
Secondary Weapon Slot 5
Secondary Weapon Slot 6
Secondary Weapon Slot 7
Secondary Weapon Slot 8
Equipment Slot 1
Equipment Slot 2
Equipment Slot 3
Equipment Slot 4
Equipment Slot 5
Equipment Slot 6
Equipment Slot 7
Equipment Slot 8
Equipment Slot 9
Equipment Slot 10
Ship Type (string)
Engine Class (integer)
Shield Class (integer)
Cargo Capacity (integer)
Wing and Thruster Class (integer)
Crew Limit (integer)
Equipment Limit (integer)
Countermeasure Limit (integer)
Hardpoint Limit (integer)
Armor Limit (integer)
Total Kills (integer)
Total Contracts (integer)
Skill and Proficiency Rating (integer)
Military Rank (integer)
Particle Cannon Range (integer)
Armed Missile Range (integer)
Targeted Subsystem (string, will display '----' if no subsystem targeted)
Target Faction (string)
Target Damage Level (integer)
Target Velocity (integer)
Engine/Thruster Heat Indicator (integer, 0 = none/low, 1 = detectable heat signature)
MDTS Status (integer, 0 = off, 1 = on, 2 = locked)
Missile Lock Status (integer, 0 = no lock, 1 = locked)
Countermeasures Remaining (integer)
Energy Bias Setting (string, [shields]S/[weapons]W)
In-Sector Waypoint X Coordinate (integer)
In-Sector Waypoint Y Coordinate (integer)
In-Sector Waypoint Z Coordinate (integer)
Sector Waypoint SX Coordinate (integer)
Sector Waypoint SY Coordinate (integer)
Sector Waypoint SZ Coordinate (integer)
Navigation Waypoint Distance (string)
IDS Status (integer, 0 = on, 1 = off)
IDS Multiplier (integer)
Afterburner Status (integer, 0 = off, 1 = on)
Autopilot Status (integer, 0 = off, 1 = form on target, 2 = fly to nav point)
Navigation Console Status (integer, 0 = off, 1 = on)
Build Console Status (integer, 0 = off, 1 = on)
Inventory Console Status (integer, 0 = off, 1 = on)
Trade Console Status (integer, 0 = off, 1 = on)
Tractor Beam Status (integer, 0 = off, 1 = on)
HUD Status (integer, 0 = off, 1 = partial, 2 = full)
Target Display Status (integer, 0 = detail, 1 = list)
Total Hostiles in Radar Range (integer)
Player Ship Velocity (integer)
Player Ship Set Velocity (integer)
Player Ship Altitude (integer)
Gravity Level (integer)
Heat Signature Level (integer)
Player Ship Total Velocity, AVL (integer)
Player Ship Heading (integer)
Target Engine Class (integer)
Target Resistor Packs (integer)
Target Hull Plating (integer)
Target Module Type (integer)
Target Wing Class (integer)
Player Ship Pitch (integer)
Vertical Velocity Level (string, includes 'U' character when up/positive and 'D' character when down/negative)
Horizontal Velocity Level (string, includes 'R' character when right and 'L' character when left)
Pitch Control Input Level (integer)
Yaw Control Input Level (integer)
Roll Control Input Level (integer)
Horizontal Strafe Control Input Level (integer)
Vertical Strafe Control Input Level (integer)
Forward Vertical Thruster Output Level (integer)
Forward Horizontal Thruster Output Level (integer)
Rear Vertical Thruster Output Level (integer)
Rear Horizontal Thruster Output Level (integer)
Engine Output Level (integer)