Redguard Preservation
Reference documentation for The Elder Scrolls Adventures: Redguard (1998) file formats, engine behavior, and undocumented features. The documentation covers the GOG release’s Glide renderer and notes known original-CD differences.
Reference sections
- Engine behavior: scripting, actor animation, movement, rendering, audio, menus, and hidden cheats.
- File formats: binary layouts for models, maps, textures, sound, saved state, and bundled support files.
- Configuration: INI settings for worlds, combat, items, input, rendering, and menus.
Look and feel
Reproducing the look and feel explains how terrain and model lighting, fog, sky, water, texture animation, camera projection, and on-screen presentation combine, with links to each subsystem.
Starting points
| Task | References |
|---|---|
| Load a world | RGM scenes, WLD terrain, WORLD.INI, and PVO visibility |
| Reproduce actor behavior | SOUP scripting, animation playback, player movement, and item attachment |
| Reproduce the scene renderer | Start with the Glide shading overview, then follow its references to lighting, normals, textures, palettes, fog, sky and water. |
| Reproduce menus and presentation | Book menu, HUD, subtitles, and cinematics |
| Inspect or convert assets | CLI usage and library API |
Engine lineage
Redguard runs on Bethesda’s XnGine, a DOS-based 3D engine. Battlespire used its own build of the engine, and Redguard added 3dfx Glide support.
| Game | Year | SOUP usage | Assessment |
|---|---|---|---|
| The Terminator: Future Shock | 1995 | Unverified | A community port drives map logic from an action-id handler table |
| The Terminator: SkyNET | 1996 | Unverified | A community port drives map logic from an action-id handler table |
| The Elder Scrolls II: Daggerfall | 1996 | Not established | Quests use a separately documented table-driven format |
| XCar: Experimental Racing | 1997 | Unverified | No evidence identified |
| An Elder Scrolls Legend: Battlespire | 1997 | Unverified | No script format documented; candidate for checking |
| Burnout: Championship Drag Racing | 1998 | Unverified | No evidence identified |
| The Elder Scrolls Adventures: Redguard | 1998 | Confirmed | Uses SOUP386 |
| NIRA Intense Import Drag Racing | 1999 | Unverified | No evidence identified |
Terminator and Daggerfall files share structure with Redguard’s:
| Format | Shared structure |
|---|---|
| WLD terrain | The Terminator games use the same section layout and the same 128-entry height lookup table. Daggerfall’s WOODS.WLD uses the same container: width and height at 0x04 and 0x08, an offset list at 0x90, and a 22-byte header on each offset’s block. It stores 1000×500 cells and a 1000×500 elevation map. |
| 3D models | Terminator and Daggerfall .3D files place the vertex block at 0x30 and the face array at 0x3C. In v2.6 and v2.7 files the face texture field splits into an archive number (value >> 7) and a record number (value & 0x7F) in all three games. |
| Software texture banks | Terminator TEXTURE.NNN banks use the same 20-byte directory starting at byte 26. Image width, height, data offset, frame count, and frame delay sit at the same offsets, and animated frames use the same transparent-run and literal-run row encoding. |
Terminator scenes use a cell grid with linked entity lists, not RGM sections.
Related community work:
- XnGine: game list and engine history.
- skynet-godot
wld_terrain.gd: TerminatorWLDlayout and height table. - skynet-godot
mesh_3d.gd: Terminator.3Dheader offsets and texture ids. - skynet-godot
texture_nnn.gd: TerminatorTEXTURE.NNNlayout. - skynet-godot
map_file.gd: TerminatorMAPlayout. - UESP: Daggerfall Mod:WOODS.WLD format and Daggerfall Unity
WoodsFile.cs: Daggerfall terrain file layout. - Daggerfall Unity
Arch3dFile.cs: Daggerfall.3Dheader and texture ids. - Daggerfall Unity and terminator-unity: a Daggerfall reimplementation, and an effort to extend it to the Terminator games.
Installation contents
Main Files
| File | Size | Description |
|---|---|---|
REDGUARD.EXE | 980 K | Main game executable |
RGFX.EXE | 1.9 M | Glide (3dfx) renderer executable |
DOS4GW.EXE | 260 K | DOS/4GW protected-mode extender |
3DfxSpl2.dll | 1.1 M | 3dfx Splash/Glide support library |
glide2x.dll | 1.3 M | Glide 2.x runtime |
ENGLISH.RTX | 177 M | Dialogue text + voice audio container (largest file in the game) |
REDGUARD.SWG / redguard.swx | 18,610 bytes each | SideWinder Gamepad and Freestyle Pro controller profiles |
OBJECT.SAV | 4 K | Object state persistence |
*.INI | — | Configuration: COMBAT, ITEM, KEYS, MENU, REGISTRY, surface, SYSTEM, WORLD |
*.LOG | — | Runtime log files (BITMAP, CAMERA, COMBAT, ERROR, EXIT, GENERAL, GRID, MAINLOOP, MENU, OBJECT, PATH, RAI, SAVEFILE, STARTUP, TESTMAPS) |
*.TXT (3 files) | — | BETHESDA.TXT, CREDITS.TXT, ReadMe.TXT |
Asset Directories
| Directory | Size | Files | Contents |
|---|---|---|---|
fonts/ | 604 K | 29 | 29 .FNT bitmap font files (Arial variants, HI/LO menu fonts, Redguard-styled fonts) |
fxart/ | 102 M | 755 | Glide-version 3D assets: 204 .3DC, 65 .3D, 31 .ROB, 27 .COL, 415 TEXBSI.xxx textures, FOG.INI, more model information report |
maps/ | 12 M | 45 | 27 .RGM scene files, 5 .PVO visibility octrees, 4 .WLD terrain files, 9 .TSG trigger-state files |
sound/ | 5.3 M | 49 | MAIN.SFX (all 118 sound effects), R212.WAV, Miles Sound System drivers (.mdi, .dig), OPL and AD instrument banks, PIF program settings, RST editor state, audio configs |
soup386/ | 48 K | 1 | SOUP386.DEF — script function/flag definitions for the SOUP engine |
system/ | 18 M | 69 | 65 .GXA UI graphics (menus, inventory, compass, maps, skies), gui.anm, gui.lbm, pointers.bmp, SKY_61.PCX |
SAVEGAME/ | 79 M | 594 | 17 save slots (SAVEGAME.000–016), each containing per-map .TSG trigger-state snapshots + LOGBOOK.TXT |
Asset and support-file roles
Models, textures, fonts, UI images, maps, dialogue, sound effects, movie data, and CD music supply the content of a faithful reimplementation. Hardware configuration, audio-utility launch settings, SideWinder presets, and tool reports describe the original environment. Their layouts remain part of the format references in Bundled support resources.
The cursor file system/pointers.bmp contains a GXA archive despite its
extension. fxart/fxart.txt and fxart/fxart3dc.txt are historical directory
listings, and fxart/LOGFILE.TXT records collision-sphere generation.
The support-file reference describes these
files and the Miles setup catalog sound/MSSDRVR.LST.
Save-game containers describe SAVEGAME.SAV and the
per-world .TSG snapshots. A slot’s LOGBOOK.TXT is journal content.
GOG vs original CD differences
The English CD installer contains software and Glide resources. GOG selects the Glide distribution and omits the software-specific asset directory and executable. The game data, renderer choice, configuration defaults, and host packaging are separate parts of edition compatibility.
Executables and installation layout
| Resource | CD installer payload | GOG distribution |
|---|---|---|
| Software engine | RG.EXE beside the CD installer; uses 3dart/ | Omitted |
| Glide engine | RGFX.EXE beside the CD installer; uses fxart/ | Redguard/RGFX.EXE |
| Windows launcher | REDGUARD.EXE in the installer cabinet | Redguard/REDGUARD.EXE |
| Installed resources | DATA1.CAB, including both renderer asset sets | Expanded Redguard/ directory with Glide assets |
| Cinematics | .SMK files in the CD data directory | Data track of game.gog, described by game.ins |
| Music | Red Book audio tracks on the CD | Audio tracks in the same game.gog image |
| Host runtime | DOS/4GW and the selected renderer’s hardware support | DOSBox configuration and Glide support libraries |
RGFX.EXE is byte-identical between the English CD payload and GOG. The Windows
REDGUARD.EXE launchers differ; they are not the DOS rendering executables.
The CD places the DOS executables outside DATA1.CAB, so extracting that cabinet
alone does not produce a runnable installation.
Renderer-specific assets
| Directory | Renderer | Model versions | Resources |
|---|---|---|---|
3dart/ | Software | v2.6, v2.7 | 120 v2.6 .3DC, 52 v2.7 .3D, and 27 v2.7 .3DC; ROB archives, TEXTURE.### textures, COL palettes, and SHADE.### / HAZE.### tables. |
fxart/ | Glide | v4.0, v5.0 | 204 v4.0 .3DC, 26 v4.0 .3D, and 39 v5.0 .3D; ROB archives, TEXBSI.### textures, COL palettes, and standalone BSI images. |
GOG’s fxart/ contents are byte-identical to the English CD installer payload.
GOG does not include 3dart/.
The directories overlap in model names, but are not interchangeable copies.
Glide includes additional standalone models; software includes additional ROB
archives. Even matching names can have different geometry and animation data:
TIRBA001.3DC has different face and frame counts, and NCROCK.3D has different
face counts. Resolve resources within the chosen renderer’s asset set rather
than substituting a same-named file from the other set.
Both model generations use renderer-specific headers and texture references.
See 3D model versions.
Software texture banks are named TEXTURE.###, not TEXBSI.###; changing the
filename prefix does not establish format compatibility. See software texture banks and software palette lookup tables.
3dart/ contains 18 COL palettes, including art_pal.col, world palettes,
and sky palettes. It does not use art_pal.col exclusively. Matching palette
names can differ between renderers: NECRO2.COL and REDGUARD.COL have different
contents. The Glide set contains 27 populated COL palettes and an empty
CLDTEST.COL placeholder. See COL palettes.
Shared content
The English CD installer payload and GOG share byte-identical:
- RGM scenes and their embedded scripts, WLD terrain, and PVO visibility data;
SOUP386.DEF,WORLD.INI,COMBAT.INI,ITEM.INI,MENU.INI,KEYS.INI,REGISTRY.INI, andsurface.ini;ENGLISH.RTXdialogue and speech,MAIN.SFX, and the other sound resources except the configureddig.iniandmdi.inidevice selections;- fonts and system artwork, including title, menu, HUD, and sky images.
Renderer-specific model and texture differences therefore coexist with shared authored scenes, scripts, and presentation resources.
Configuration defaults
GOG changes these values relative to the English CD installer’s SYSTEM.INI:
| Section and key | CD installer default | GOG default |
|---|---|---|
[screen] smk_interlace | 1 | 0 |
[system] fast_sound | 0 | 1 |
[3dmanager] cache_lifetime | 32 | 64 |
[dialog] dialog_print_text | 0 | 1 |
[3dfx] resolution | 7 | 12 |
These are stored settings, not differences in the shared game scripts.
animation_drive differs only in drive-letter capitalization, d:\ versus
D:\. The software [screen] resolution remains 1 in both configurations.
See SYSTEM.INI for field meanings and renderer overrides.
The CD cabinet’s sound/dig.ini and sound/mdi.ini contain setup comments
without device selections. GOG supplies Sound Blaster device and driver settings.
Hardware configuration belongs to the installation environment; it does not
replace the game’s Red Book music tracks.
Cinematics, disc audio, and support files
The CD Smacker movies are byte-identical to those in GOG’s data track,
including their embedded audio. GOG’s virtual disc omits the CD’s installer
cabinet, DOS engines, setup files, and bundled hardware-driver installers.
Its ISO9660 filenames FINDRE~1.EXE and REDGUA~1.ICO refer to the same
contents as the CD’s FindRedguard.exe and RedguardCD.ICO.
An extracted CD data directory contains movies and installation files, but not the Red Book audio tracks. Mounting that directory as a CD-ROM cannot reconstruct the missing music tracks. A music-capable disc source must retain the audio tracks and their numbering; separately distributed soundtrack files are not a substitute for the disc’s track layout. See background music.
GOG adds host Glide libraries and DOSBox launch configuration. The selected Glide implementation determines the splash variant independently of the shared Glide executable. See startup presentation.