Registry Spec.txt: Difference between revisions

From Sierra WikiNew
Jump to navigationJump to search
No edit summary
 
m (1 revision imported)
 
(No difference)

Latest revision as of 00:11, 3 June 2024

GK3 system/user configuration info document embedded in the resource barn (*.BRN) files from Gabriel Knight 3[1].

                 --== GK3 Registry/INI file documentation ==--   Scott Bilas
                     --==-----------------------------==--       10/04/1999

GK3 reads its system/user configuration info from three places, in this order:

1. [Registry] HKEY_CURRENT_USER\Software\Sierra\Gabriel Knight III
2. [Registry] HKEY_LOCAL_MACHINE\Software\Sierra\Gabriel Knight III
3. [INI File] GK3.ini (in the working directory when start GK3.exe)

In each case if it can't find an entry that it's looking for it will go to the
next step to search for it. If none have it then it will choose the default
value. GK3 has defaults for everything and so does not require any of these to
be filled in to run - we autodetect as much as possible.

The game will never write to anything except the HKEY_CURRENT_USER registry.
The INI file is a dev-only feature and unsupported, and the user may not have
access to the HKEY_LOCAL_MACHINE registry on an NT machine. So anything that
the game will write out will override everything else.

Each of the [Section] names here correspond to a [Section] in the INI file or
a "Section\" subkey underneath "Gabriel Knight III" in the registry. Types and
their meanings:

Type    INI                           Registry
--------------------------------------------------------------------------------
bool    yes/no or true/false or 1/0   REG_DWORD (1/0)
int     string converted to int       REG_DWORD
string  string                        REG_SZ

There are also a few special default values:

local_writable_dir
  attempts to find the first path that is writable from:
    1. EXE dir
    2. Working dir
    3. %temp%
    4. %tmp%
    5. c:\

has_no_barns
  true if the game cannot find any barn files

physical_memory
  amount of physical memory in the machine in kilobytes


                           --== Settings catalog ==--
                               --==----------==--

Type    Name                        Default Value             Description
--------------------------------------------------------------------------------

[App]

string  Language                    E                         Language prefix used on all local-specific resources
int     Run Count                   0                         Number of times the game has been run on this machine
string  Save Game Path              local_writable_dir        Where to store save game files
string  Screen Shot Path            local_writable_dir        Where to store screen shots (F11)
int     CD Spin Down Time           0                         How often to "poke" the CD (in msec) because the stupid thing spins down too fast
string  Text Editor                 notepad                   [DEV ONLY] Default text editor to use for game editing commands

[Resources]

bool    Allow NetPath               has_no_barns              [DEV ONLY] Allow SIF NetPath tag when running over network
bool    Fast Spin Down              false                     This will disable streaming for stupid CD drives that spin down too fast
string  Barn Default Paths          ""                        Semicolon-delimited additional paths to search for barn files
string  Removable Paths             ""                        Semicolon-delimited additional removable drive paths to disconnect from during CD swaps
string  Default Paths               ""                        Semicolon-delimited additional paths to search for individual resource files
string  Custom Paths                ""                        Semicolon-delimited high priority additional paths to search for individual resource files

[Engine]

string  Rasterizer                  detect                    Choose rasterizer - one of: detect, software, hardware, secondary, rgb, reference, guid
int     Screen Width                640                       Game resolution width
int     Screen Height               480                       Game resolution height
bool    Full Screen                 true                      Full screen or windowed mode?
int     Monitor                     0                         Choose by monitor instead (0 is primary)
string  Rasterizer GUID             ""                        GUID if chose "guid" for rasterizer - defaults to primary
string  Start X                     center                    X coord of game window - one of: default, center, <number>
string  Start Y                     center                    Y coord of game window - one of: default, center, <number>
int     Animation FPS               15                        Base speed of animations in frames per second
bool    Smooth Mouse                true                      Enable mouse movement smoothing for camera motion
bool    Camera Glide                false                     Enable smooth gliding camera for inspects
bool    Captions                    false                     Enable text captions for dialogue and movies
bool    Cinematics                  true                      Enable cinematic camera cuts during dialogue and scripted sequences
int     Max Memory Usage            physical_memory           Limit total physical RAM game will attempt to use (in KB)
int     Max HW Surface Memory Usage 50                        Percentage of physical RAM to reserve for DirectDraw surfaces when running in hardware 3D
int     Max SW Surface Memory Usage 33                        Percentage of physical RAM to reserve for DirectDraw surfaces when running in software 3D
int     Max SW Cache Memory Usage   33                        Percentage of physical RAM to reserve for prebuilt surface cache when running in software 3D
string  Aspect Ratio                ""                        Aspect ratio of screen in form: x,y (i.e. use 16,9 for HDTV)
int     Stretch State               0                         Allowable stretch state for movie blits - one of: default, never, always, invalid

[Engine\Hardware] or [Engine\Software]

bool    Incremental Rendering       <depends on HW>           Enable incremental rendering/scene capture
bool    Mip Mapping                 true                      Enable mip mapping
bool    Interpolation               true                      Enable animation interpolation (only worthwhile if avg fps > 15, looks best at 30+)
bool    Trilinear Filtering         true                      Enable trilinear filtering
int     Max Anisotropy Level        0                         Enable anisotropic filtering - set to -1 to autodetect, 0 to disable, 1-8 to force (if HW supports)
string  Gamma                       <depends on HW>           Gamma correction level
int     LOD                         100                       Percentage of LOD bias (distance-based)
string  Surface Quality             high                      Surface quality for textures (<= 48M of RAM will use low quality)
string  Scene Shade Mode            best                      Choose scene model shade mode - one of: hide, wireframenofill, wireframe, plain, lmaps, best
string  Model Shade Mode            best                      Choose model shade mode - one of: hide, wireframenofill, wireframe, plain, flat, diffuse, best

[Sound]

bool    Sound Enabled               true                      Global sound enabled
bool    SFX Sound Enabled           true                      Enabling of foot steps, glass clinks, etc.
bool    Ambient Sound Enabled       true                      Enabling of background tracks
bool    Dialogue Sound Enabled      true                      Enabling of talking, conversations, voice-overs
bool    Music Sound Enabled         true                      Enabling of musical score
int     Volume                      100                       Global sound volume in percent
int     SFX Volume                  100                       Volume in percent of foot steps, glass clinks, etc.
int     Ambient Volume              100                       Volume in percent of background tracks
int     Dialogue Volume             100                       Volume in percent of talking, conversations, voice-overs
int     Music Volume                100                       Volume in percent of musical score
int     Sound Data Rate             44100                     Sample playback rate for primary sound buffer
int     Sound Max                   16                        Max simultaneous total sounds
int     Sound Max 3D                -1                        [DEV ONLY] Force this many 3D buffers even if no hw support (-1 means autodetect)

[Bindings]

int     Back Key                    VK_ESCAPE
int     Top Key                     VK_F2
int     Inventory Key               'I'
int     Pause Key                   'P'
int     Pause Key 2                 VK_PAUSE
int     QuickSave Key               VK_F5
int     QuickLoad Key               VK_F6
int     Gamma Up Key                '='
int     Gamma Down Key              '-'
int     Help Key                    VK_F1
int     Help Key 2                  'H'
int     Console Key                 '`'
int     Skip Action Key             VK_ESCAPE
int     Skip Glide Key              VK_ESCAPE
int     Skip Actor Walk Key         VK_ESCAPE
int     Skip Dialogue Key           VK_ESCAPE
int     Skip Movie Key              VK_ESCAPE
int     Fwd Camera Key              VK_UP
int     Fwd Camera Key 2            'W'
int     Back Camera Key             VK_DOWN
int     Back Camera Key 2           'S'
int     Left Camera Key             VK_LEFT
int     Left Camera Key 2           'A'
int     Right Camera Key            VK_RIGHT
int     Right Camera Key 2          'D'
int     Level Camera Key            VK_SPACE
int     Pitch Camera Mod Key        VK_SHIFT
int     Level Camera Mod Key        VK_CONTROL
int     Fast Camera Mod Key         VK_MENU

[Debug]

bool    GEngine AlwaysActive        false                     App is always active - good for debugging
bool    GEngine AnimateBlits        false                     Animate blits to the screen (delay between each)
bool    GEngine BuildAmbients       true                      Build ambient maps
bool    GEngine CheckSceneTex       false                     Report list of missing scene textures
bool    GEngine DisableAsyncMouse   false                     Disable asynchronous mouse updates
bool    GEngine DisableFileCaching  false                     Disable win32 system file caching on all file access
bool    GEngine DisableGammaHW      false                     Disable hardware gamma
bool    GEngine DisableAsyncBlend   false                     Disable asynchronous blending of blits via tile shader
bool    GEngine DisableLocalBlend   false                     Disable local blending of blits via tile shader
bool    GEngine DisableVerifyAction false                     Disable automatic verification of .act's
bool    GEngine DisableVSync        false                     Disable wait for vertical display sync
bool    GEngine EnableLogs          false                     Enable log files
bool    GEngine ForceLocalBlend     false                     Always force local blending (for testing)
bool    GEngine LockCounts          false                     Report lock counts when exiting
bool    GEngine MouseTicks          false                     Show a red tick for async updates, and green tick for sync updates
bool    GEngine NoGammaCalibration  false                     Disable gamma calibration
bool    GEngine NoMipMap            false                     Prevent mip mapping
bool    GEngine NoTripleBuffer      false                     Prevent triple buffering
bool    GEngine Resources           true                      Show resource loading/unloading
bool    GEngine ShowBoundBoxes      false                     Show bound boxes on models
bool    GEngine ShowLightmaps       false                     Only render lightmaps
bool    GEngine ShowStats           false                     Show rendering statistics
bool    GEngine ShowSurfaces        false                     Show distinct surfaces
bool    GEngine ShowSurfSizes       false                     Label surface sizes
bool    GEngine ShowTexSizes        false                     Show texture sizes using color-coded textures
bool    GEngine SwapScreen          false                     Swap the front and back buffers (to see what's going on for painting)
bool    GEngine TrackLocks          false                     Track usage of locking/unlocking
bool    GEngine TrackNotifies       false                     Track usage of notifies
bool    GEngine TrackResources      false                     Track resource usage

                     --==-----------------------------==--


References


Related Links