[Startup]
PersistentPackages=Core
PersistentPackages=Engine
PersistentPackages=FMODAudio
PersistentPackages=IGEffectsSystem
PersistentPackages=IGVisualEffectsSubsystem
PersistentPackages=IGSoundEffectsSubsystem
PersistentPackages=VengeanceShared
; Rowan: disable IpDrb coz we have no network code
;PersistentPackages=IpDrv
PersistentPackages=Scripting
PersistentPackages=Tyrion

; Bioshock-specific persistent packages

PersistentPackages=ShockGame
PersistentPackages=ShockAI
PersistentPackages=IGModEffectsSubsystem

[Perobjectconfig]
; configuration files in root directory
PerObjIniFile=startup.ini
PerObjIniFile=DefUser.ini
PerObjIniFile=Default.ini

; Configuration files in system directory.
;
; The seek-free system requires this section to specify any INI files from  
; which per-object config data may be loaded at runtime due to runtime
; object creation. 
;
; Note: Version.ini is needed so that we can get the build number in the 
; logs and crash stacks

PerObjIniFile=Version.ini
PerObjIniFile=Ai.ini
PerObjIniFile=Bathysphere.ini
PerObjIniFile=Difficulty.ini
PerObjIniFile=Gui.ini
PerObjIniFile=Hacking.ini
PerObjIniFile=LootTables.ini
PerObjIniFile=Manual.ini
PerObjIniFile=Plasmids.ini
PerObjIniFile=Quests.ini
PerObjIniFile=Spawning.ini
PerObjIniFile=Speech.ini
PerObjIniFile=Weapons.ini
PerObjIniFile=ResourceLimits.ini
PerObjIniFile=Bindings.ini
PerObjIniFile=Physics.ini
PerObjIniFile=Animation.ini
PerObjIniFile=AutoTest.ini

[Languages]
language=int
language=esp
language=deu
language=fra
language=ita

[XenonLanguageMapping]
XC_LANGUAGE_ENGLISH=int
XC_LANGUAGE_GERMAN=deu
XC_LANGUAGE_FRENCH=fra
XC_LANGUAGE_SPANISH=esp
XC_LANGUAGE_ITALIAN=ita
XC_LANGUAGE_KOREAN=int
XC_LANGUAGE_TCHINESE=int
XC_LANGUAGE_PORTUGUESE=int

;;========================================================================
;; XBox360 file caching hints
;;
;; Cache hint values must follow these two rules:
;;
;; 1) A file extension description of the following form: "*.ext", where ext is the name of a file extension. 
;; 2) A directory description of the following form: "game:\dir\subdir\", where dir and subdir are directory names.
;;    The string must have a drive name, and must end in a back slash.
;;    Files contained in the directory (and in all sub-directories) are passed to the caching system. 
;;========================================================================

[XenonFileCaching]

;; NOTE: unless they are in the DoNotCache list, all files can potentially 
;; be cached. The AlwaysCacheWithPriority and AlwaysCache lists are just 
;; hints to the caching system that these files should definitely be cached
;; (so that they can be cached even if they haven't been used in-game yet)

; CACHE THESE FILES AND PREFER NOT TO REMOVE THEM FROM THE CACHE 
; Files that should be always try to be cached, and prefer NOT to be removed 
; when space is needed (e.g., files that are needed all the time)

AlwaysCacheWithPriority=game:\BulkContent\DynamicBulkFileTextures.blk
AlwaysCacheWithPriority=game:\FlashMovies\ProgressBar.swf

; CACHE THESE FILES 
; Files that should be always try to be cached, and 
; needed (e.g., files that are needed all the time)
;
; NOTES ON WHY THESE FILES ARE LISTED AND IN THIS ORDER: these files
; are listed this way for a particular reason. 
;
;  First, they are listed in the reverse order that we want them
;  cached. This is because, for some reason, the Microsoft caching
;  system caches them in the opposite order that we ask it to. 
; 
;  Second, the goal is to be caching shared files and the files for
;  the upcoming level while you're in the current level.
;
;  Third, streaming audio files are smaller than bulk texture files;
;  we cache them before bulk files so that it's more likely at least
;  some of the content will be on the HD when it's needed.
;
;  Fourth, we want to cache localized audio before non-localized,
;  because it's more likely (when you're playing in a non-english
;  build) that the localized FSB files will be accessed more frequently
;  than their non-localized ones
;
;  Fifth, it's more important to cache bulk textures than streaming music
;

AlwaysCache=game:\Sounds_Xenon\streams_audio.fsb

AlwaysCache=game:\Sounds_Xenon\streams_99_audio.ita_fsb
AlwaysCache=game:\Sounds_Xenon\streams_99_audio.fsb
AlwaysCache=game:\Sounds_Xenon\streams_99_audio.fra_fsb
AlwaysCache=game:\Sounds_Xenon\streams_99_audio.esp_fsb
AlwaysCache=game:\Sounds_Xenon\streams_99_audio.deu_fsb

AlwaysCache=game:\Sounds_Xenon\streams_7_music_audio.fsb
AlwaysCache=game:\Sounds_Xenon\streams_7_audio.ita_fsb
AlwaysCache=game:\Sounds_Xenon\streams_7_audio.fsb
AlwaysCache=game:\Sounds_Xenon\streams_7_audio.fra_fsb
AlwaysCache=game:\Sounds_Xenon\streams_7_audio.esp_fsb
AlwaysCache=game:\Sounds_Xenon\streams_7_audio.deu_fsb

AlwaysCache=game:\Sounds_Xenon\streams_6_music_audio.fsb
AlwaysCache=game:\BulkContent\7-bossfightLevel.blk
AlwaysCache=game:\BulkContent\7-GauntletLevel.blk
AlwaysCache=game:\BulkContent\7-scienceLevel.blk
AlwaysCache=game:\Sounds_Xenon\streams_6_audio.ita_fsb
AlwaysCache=game:\Sounds_Xenon\streams_6_audio.fsb
AlwaysCache=game:\Sounds_Xenon\streams_6_audio.fra_fsb
AlwaysCache=game:\Sounds_Xenon\streams_6_audio.esp_fsb
AlwaysCache=game:\Sounds_Xenon\streams_6_audio.deu_fsb

AlwaysCache=game:\Sounds_Xenon\streams_5_music_audio.fsb
AlwaysCache=game:\BulkContent\6-slumsLevel.blk
AlwaysCache=game:\BulkContent\6-resiLevel.blk
AlwaysCache=game:\Sounds_Xenon\streams_5_audio.fsb
AlwaysCache=game:\Sounds_Xenon\streams_5_audio.ita_fsb
AlwaysCache=game:\Sounds_Xenon\streams_5_audio.fra_fsb
AlwaysCache=game:\Sounds_Xenon\streams_5_audio.esp_fsb
AlwaysCache=game:\Sounds_Xenon\streams_5_audio.deu_fsb

AlwaysCache=game:\Sounds_Xenon\streams_4_music_audio.fsb
AlwaysCache=game:\BulkContent\5-ryanLevel.blk
AlwaysCache=game:\BulkContent\5-hephaestusLevel.blk
AlwaysCache=game:\Sounds_Xenon\streams_4_audio.fsb
AlwaysCache=game:\Sounds_Xenon\streams_4_audio.ita_fsb
AlwaysCache=game:\Sounds_Xenon\streams_4_audio.fra_fsb
AlwaysCache=game:\Sounds_Xenon\streams_4_audio.esp_fsb
AlwaysCache=game:\Sounds_Xenon\streams_4_audio.deu_fsb

AlwaysCache=game:\Sounds_Xenon\streams_3_music_audio.fsb
AlwaysCache=game:\BulkContent\4-recreationLevel.blk
AlwaysCache=game:\Sounds_Xenon\streams_3_audio.fsb
AlwaysCache=game:\Sounds_Xenon\streams_3_audio.ita_fsb
AlwaysCache=game:\Sounds_Xenon\streams_3_audio.fra_fsb
AlwaysCache=game:\Sounds_Xenon\streams_3_audio.esp_fsb
AlwaysCache=game:\Sounds_Xenon\streams_3_audio.deu_fsb

AlwaysCache=game:\Sounds_Xenon\streams_2_music_audio.fsb
AlwaysCache=game:\BulkContent\3-marketLevel.blk
AlwaysCache=game:\BulkContent\3-arcadiaLevel.blk
AlwaysCache=game:\Sounds_Xenon\streams_2_audio.fsb
AlwaysCache=game:\Sounds_Xenon\streams_2_audio.ita_fsb
AlwaysCache=game:\Sounds_Xenon\streams_2_audio.fra_fsb
AlwaysCache=game:\Sounds_Xenon\streams_2_audio.esp_fsb
AlwaysCache=game:\Sounds_Xenon\streams_2_audio.deu_fsb
AlwaysCache=game:\Sounds_Xenon\streams_1_music_audio.fsb

AlwaysCache=game:\BulkContent\2-subbayLevel.blk
AlwaysCache=game:\BulkContent\2-fisheriesLevel.blk
AlwaysCache=game:\BulkContent\1-medicalLevel.blk
AlwaysCache=game:\Sounds_Xenon\streams_1_audio.fsb
AlwaysCache=game:\Sounds_Xenon\streams_1_audio.ita_fsb
AlwaysCache=game:\Sounds_Xenon\streams_1_audio.fra_fsb
AlwaysCache=game:\Sounds_Xenon\streams_1_audio.esp_fsb
AlwaysCache=game:\Sounds_Xenon\streams_1_audio.deu_fsb

AlwaysCache=game:\Sounds_Xenon\streams_aivo_audio.ita_fsb
AlwaysCache=game:\Sounds_Xenon\streams_aivo_audio.fsb
AlwaysCache=game:\Sounds_Xenon\streams_aivo_audio.fra_fsb
AlwaysCache=game:\Sounds_Xenon\streams_aivo_audio.esp_fsb
AlwaysCache=game:\Sounds_Xenon\streams_aivo_audio.deu_fsb

AlwaysCache=game:\Sounds_Xenon\streams_music_common_audio.fsb

AlwaysCache=game:\BulkContent\1-welcomeLevel.blk
AlwaysCache=game:\Sounds_Xenon\streams_0_music_gui_audio.fsb
AlwaysCache=game:\Sounds_Xenon\streams_0_music_audio.fsb
AlwaysCache=game:\Sounds_Xenon\streams_0_audio.fsb


; DO NOT CACHE THESE FILES
; Files that should not be cached to the hard drive, ever

; --> misc

; NOTE: never cache the shader cache; it sometimes causes shaders to always be recompiled at runtime
DoNotCache=*.xbs
; NOTE: never cache the maps; they're loaded only once in a while
DoNotCache=*.bsm
; We don't cache the lighthouse content because you're only ever in lighthouse 
; once and we're better served caching e.g. welcome content while in lighthouse
DoNotCache=game:\BulkContent\0-lighthouseLevel.blk

; --> bink
; NOTE: we explicitly don't cache only the bink movies that we know are only
;       played once. The others are allowed to be opportunistically cached


DoNotCache=game:\BinkMovies\2KG_logo_720P.bik
DoNotCache=game:\BinkMovies\300K-640X360.bik
DoNotCache=game:\BinkMovies\attractMovie.bik
DoNotCache=game:\BinkMovies\Bathy_BG.bik
DoNotCache=game:\BinkMovies\BrightnessAdjust.bik
DoNotCache=game:\BinkMovies\Controls.bik
	; DoNotCache=game:\BinkMovies\CraftingBG.bik
DoNotCache=game:\BinkMovies\Credits.bik
DoNotCache=game:\BinkMovies\GathererTeddyBear.bik
	; DoNotCache=game:\BinkMovies\HackingBG.bik
	; DoNotCache=game:\BinkMovies\HackingBGbots.bik
	; DoNotCache=game:\BinkMovies\HackingBGcamera.bik
	; DoNotCache=game:\BinkMovies\HackingBGcrafting.bik
	; DoNotCache=game:\BinkMovies\HackingBGhealth.bik
	; DoNotCache=game:\BinkMovies\HackingBGsafe.bik
	; DoNotCache=game:\BinkMovies\HackingBGvending.bik
DoNotCache=game:\BinkMovies\Harvest.bik
DoNotCache=game:\BinkMovies\Harvest4x3.bik
DoNotCache=game:\BinkMovies\HarvestedGatherers.bik
	; DoNotCache=game:\BinkMovies\ManualBG.bik
DoNotCache=game:\BinkMovies\PlaneSequence.bik
DoNotCache=game:\BinkMovies\PlasmaNow_BG1.bik
DoNotCache=game:\BinkMovies\PlasmaNow_BG2.bik
DoNotCache=game:\BinkMovies\PlasmaNow_BG3.bik
DoNotCache=game:\BinkMovies\PlasmaNow_BG4.bik
DoNotCache=game:\BinkMovies\PlasmidBefriendBigDaddyTraining.bik
DoNotCache=game:\BinkMovies\PlasmidCryoShardTraining.bik
DoNotCache=game:\BinkMovies\PlasmidDecoyTraining.bik
DoNotCache=game:\BinkMovies\PlasmidElectroBoltTraining.bik
DoNotCache=game:\BinkMovies\PlasmidEnrageTraining.bik
DoNotCache=game:\BinkMovies\PlasmidIncinerateTraining.bik
DoNotCache=game:\BinkMovies\PlasmidInsectSwarmTraining.bik
DoNotCache=game:\BinkMovies\PlasmidSecurityBeaconTraining.bik
DoNotCache=game:\BinkMovies\PlasmidSonicBoomTraining.bik
DoNotCache=game:\BinkMovies\PlasmidTelekinesisTraining.bik
DoNotCache=game:\BinkMovies\PlasmidVortexTrapTraining.bik
DoNotCache=game:\BinkMovies\SavedGatherers.bik
DoNotCache=game:\BinkMovies\WouldYouKindly.bik
DoNotCache=game:\BinkMovies\WouldYouKindly4x3.bik

; --> flash
DoNotCache=game:\FlashMovies\EndingMovieHarvestedGatherers.swf
DoNotCache=game:\FlashMovies\EndingMovieSavedGatherers.swf
DoNotCache=game:\FlashMovies\EndingMovieHarvestedGatherers.swf
DoNotCache=game:\FlashMovies\Bathysphere.swf
DoNotCache=game:\FlashMovies\ComboLock.swf
DoNotCache=game:\FlashMovies\ControlsContainer.swf
DoNotCache=game:\FlashMovies\craftingStation.swf
DoNotCache=game:\FlashMovies\CreditsContainer.swf
DoNotCache=game:\FlashMovies\EndingMovieHarvestedGatherers.swf
DoNotCache=game:\FlashMovies\EndingMovieSavedGatherers.swf
DoNotCache=game:\FlashMovies\FadeIn.swf
DoNotCache=game:\FlashMovies\FadeOut.swf
DoNotCache=game:\FlashMovies\GenericBinkContainer.swf
DoNotCache=game:\FlashMovies\hacking.swf
DoNotCache=game:\FlashMovies\HUDRadial.swf
DoNotCache=game:\FlashMovies\InfoBoxContainer.swf
DoNotCache=game:\FlashMovies\ingamemanual.swf
DoNotCache=game:\FlashMovies\maps.swf
DoNotCache=game:\FlashMovies\NTSCColorBars.swf
DoNotCache=game:\FlashMovies\pause.swf
DoNotCache=game:\FlashMovies\PlasmidEquipStation.swf
DoNotCache=game:\FlashMovies\PlasmidTrainingContainer.swf
DoNotCache=game:\FlashMovies\PlasmiNow.swf
	; NOTE: we cache the progress bar since it's the only flash movie that's loaded and unloaded in-game
	; DoNotCache=game:\FlashMovies\ProgressBar.swf
DoNotCache=game:\FlashMovies\sharedlibrary.swf
DoNotCache=game:\FlashMovies\Warning.swf

;;========================================================================
;;========================================================================

[URL]
Protocol=Bioshock
ProtocolDescription=Bioshock Protocol
Name=Player
Map=Index.bsm
LocalMap=Entry.bsm
Host=
Portal=InitialSpawn
MapExt=bsm
EXEName=bioshock.exe
SaveExt=bsg
Port=8888
Class=ShockGame.ShockPlayer

; XenonRoot is the directory underneath XE:\ that contains the executable and the root of the game content.
XenonRoot=Bioshock
XenonTargetDir=XE:\bioshock
XenonEXEName=Bioshock_Xenon.xex

[FirstRun]
FirstRun=0

[TestTrack]
; NOTE: the TestTrackProxy.php file on the boston server is on 'debian', which is 192.168.100.16
ProxyURL=http://192.168.100.16/TestTrackProxy.php
; NOTE: the server soap client is on 2K Los Angeles' server 64.167.75.22
ServerSoapClientUrl=http://64.167.75.11/ttsoapcgi.wsdl
ProductBugSubmittedFromConsoleTool=Xbox 360
ProductBugSubmittedFromUnrealEd=Both
ProductBugSubmittedFromPCGame=Both
Project=Bioshock
UserName=LASTNAME, FIRSTNAME
Priority=1 - Extreme
Priority=2 - High
Priority=3 - Major
Priority=4 - Normal
Priority=5 - Minor
Priority=Feedback / Suggestion
Priority=Feature Request

[FogBugz]
BugDB="Bioshock"
Area="Misc"
URL="http://minuteman/fogbugz/scoutSubmit.asp?FriendlyResponse=1&ForceNewBug=0&ScoutProject=%s&ScoutUserName=%s&ScoutArea=%s&Description=%s&Extra=%s&ScoutDefaultMessage=Your%%20bug%%20has%%20been%%20submitted."
FILEURL="http://minuteman/fogbugz/"

[StatNotifyProviders]
StatsNotifyProvider_UDP=1

[Bink]
IntroMoviePC="..\BinkMovies\2KG_logo_720P.bik"
; 0 buffer size means use default
IntroMovieBufferSizePC=0
IntroMovieXBox360="..\BinkMovies\2KG_logo_720P.bik"
; 5MB for now needs testing with final intro movie
IntroMovieBufferSizeXBox360=5242880

AttractMovieXBox360="..\BinkMovies\attractMovie.bik"

;; Use 20mb for attract movie; reduces DVD reads which allows more caching to the hard drive while
;; the attract movie plays
AttractMovieBufferSizeXBox360=20971520

BioshockLogoMoviePC="..\BinkMovies\BioshockLogo.bik"
BioshockLogoMovieXBox360="..\BinkMovies\BioshockLogo.bik"
; 1MB for now needs testing with final logo movie
BioshockLogoMovieBufferSizeXBox360=268608

[SaveGame]

;the maximum save game size for any individual level
; 2MB
MaximumLevelSaveSizeBytes=2097152

ThumbnailFilename=game:\System\savegame.png

[Engine.Engine]
UsePerforce=1
GameDriverClassName=ShockGame.ShockGameDriver
RenderDevice=D3DDrv.D3DRenderDevice
AudioDevice=FMODAudio.FMODAudioSubsystem
AudioDevice_Xenon=FMODAudio.FMODAudioSubsystem
;NetworkDevice=IpDrv.TcpNetDriver
ViewportManager=WinDrv.WindowsClient
ViewportManager_Xenon=XeDrv.XenonClient
DemoRecordingDevice=Engine.DemoRecDriver
Console=Engine.Console
DefaultPlayerMenu=
Language=rus
GameEngine=Engine.GameEngine
EditorEngine=Editor.EditorEngine
GUIController=Engine.FlashGUIController
DefaultGame=ShockGame.ShockGameInfo
DefaultServerGame=ShockGame.ShockGameInfo
Render=Render.Render
Input=Engine.Input
Canvas=Engine.Canvas
; Note: Do NOT enable ForceActorCleanup in shipping builds, it will kill performance.
; However, by enabling it you force references to destroyed actors to be cleaned up
; immediately when the actor is destroyed, which causes dangling-ref bugs to manifest
; more quickly. Hence it's good to keep on in debug builds.
ForceActorCleanup=0

[Core.System]
PurgeCacheDays=30
; note that the savepath must use backslashes
; because the URL parsing mechanism trips on a pair of forward slashes
SavePath=SaveGames
MemoryPath=MEMORY\CurrentGame
CachePath=..\Cache
CacheExt=.bxx

; Paths for core engine (non-game specific) content
Paths=*.u
Paths=../Engine/*.pkg
Paths=../Engine/*.hka

; .U paths for asset catalog and effects system cache packages
Paths=../System/*.u

; Standard paths for game-specific content
Paths=../Maps/*.unr
Paths=../Maps/*.bsm
Paths=../Maps/Maps_Working/*.unr
Paths=../Maps/Maps_Working/*.bsm
Paths=../Art/*.pkg
Paths=../Art/Characters/*.pkg
Paths=../Art/Game/*.pkg
Paths=../Art/Level/*.pkg
Paths=../Art/UI/*.pkg
Paths=../Art/Weapons/*.pkg
Paths=../Classes/*.pkg

; Bink Movies
Paths=../BinkMovies/*.bik

; Legacy paths to support the transition to .pkg format
Paths=../Art/*.hka
Paths=../Art/Characters/*.hka
Paths=../Art/Game/*.hka
Paths=../Art/Level/*.hka
Paths=../Art/UI/*.hka
Paths=../Art/Weapons/*.hka
Paths=../Animations/*.pkg
Paths=../Art/*.ukx
Paths=../Art/Characters/*.ukx
Paths=../Art/Game/*.ukx
Paths=../Art/Level/*.ukx
Paths=../Art/UI/*.ukx
Paths=../Art/Weapons/*.ukx
Paths=../Textures/*.utx
Paths=../StaticMeshes/*.usx
Paths=../Animations/*.ukx
Paths=../Sounds/*.uax
Paths=../Music/*.umx
Paths=../Saves/*.uvx
Paths=../Classes/*.u
Paths=../Classes/*.pkg
Paths=../System/*.u
Paths=../Prefabs/*.pkg

; Test directories
Paths=../Test/Art/*.pkg
Paths=../Test/Art/Characters/*.pkg
Paths=../Test/Art/Game/*.pkg
Paths=../Test/Art/Level/*.pkg
Paths=../Test/Art/UI/*.pkg
Paths=../Test/Art/Weapons/*.pkg
Paths=../Test/Maps/*.bsm
Paths=../Test/Maps/*.unr
Paths=../Test/Maps/Performance/*.unr
Paths=../Test/Maps/Components/*.bsm 
Paths=../Test/Maps/AITestMaps/*.bsm 
Paths=../Test/Textures/*.utx
Paths=../Test/Textures/*.pkg
Paths=../Test/StaticMeshes/*.usx
Paths=../Test/StaticMeshes/*.pkg
Paths=../Test/Animations/*.ukx
Paths=../Test/Animations/*.pkg
Paths=../Test/Sounds/*.uax
Paths=../Test/Sounds/*.umx
Paths=../Test/Sounds/*.pkg
Paths=../Test/Classes/*.u
Paths=../Test/Classes/*.pkg

Suppress=DevLoad
Suppress=DevSave
Suppress=DevNetTraffic
Suppress=DevNetTrafficRPC
Suppress=DevGarbage
Suppress=DevKill
Suppress=DevReplace
Suppress=DevCompile
Suppress=DevBind
Suppress=DevBsp
Suppress=DevAssert
;Suppress=WindowedMode
Suppress=Log
Suppress=ScriptLog

[PerformanceLimits]
; Wait until the game has been running for 5 seconds before starting to track stats (prevents spike at start of level)
InitialDelaySeconds=5
; Warn when ANY stat exceeds the SpikeLimit
SpikeLimit=75

[XenonPerformanceLimits]
Core.Log (native)=0.3
Core.Logs (script)=0.5
Engine.MainGameUpdate=33
Engine.ActorTick=15
Engine.Move=6
Engine.Particles (All)=6
Engine.Particles (Active)=4
Engine.Flash Update=2.5
Render.Scene GPU=33
Render.Scene Render=33
Render.Particle Render=4
Render.Skinning=5
Render.Flash=4
Havok.TotalCycles=6
Core.String concat (script)=0.25

[PcPerformanceLimits]


[Engine.GameEngine]
EnableDevTools=False
CacheSizeMegs=32
UseSound=True
;ServerActors=IpDrv.UdpBeacon
;ServerActors=IpServer.UdpServerQuery
;ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
;ServerActors=UWeb.WebServer
ServerPackages=Core
ServerPackages=Engine
ServerPackages=IGEffectsSystem
ServerPackages=IGVisualEffectsSubsystem
ServerPackages=IGSoundEffectsSubsystem
ServerPackages=Editor
ServerPackages=UWindow
ServerPackages=VengeanceShared
ServerPackages=UnrealEd
; Rowan: disable IpDrb coz we have no network code
;ServerPackages=IpDrv
ServerPackages=UDebugMenu
ServerPackages=Tyrion
ServerPackages=Scripting
ServerPackages=ShockGame
ServerPackages=ShockAI

[WinDrv.WindowsClient]
WindowedViewportX=1024
WindowedViewportY=768
FullscreenViewportX=1024
FullscreenViewportY=768
MenuViewportX=640
MenuViewportY=480
Brightness=0.525
Contrast=0.425
Gamma=1.0
; Note: Joystick enabling is not necessary for Microsoft Common Controller (gamepad on pc)
UseJoystick=False
UseController=False
CaptureMouse=True
StartupFullscreen=True
ScreenFlashes=True
NoLighting=False
MinDesiredFrameRate=25.000000
Decals=True
Coronas=True
DecoLayers=True
Projectors=True
NoDynamicLights=False
ReportDynamicUploads=False
TextureDetailInterface=Normal
TextureDetailTerrain=Normal
TextureDetailWeaponSkin=Normal
TextureDetailPlayerSkin=Normal
TextureDetailWorld=Normal
TextureDetailRenderMap=Normal
TextureDetailLightmap=UltraHigh
NoFractalAnim=False
ScaleHUDX=0.0

[XeDrv.XenonClient]
WindowedViewportX=640
WindowedViewportY=480
FullscreenViewportX=640
FullscreenViewportY=480
MenuViewportX=640
MenuViewportY=480
Brightness=0.525
Contrast=0.425
Gamma=1.0
UseJoystick=False
CaptureMouse=True
StartupFullscreen=False
ScreenFlashes=True
NoLighting=False
MinDesiredFrameRate=35.000000
Decals=True
Coronas=True
DecoLayers=True
Projectors=True
NoDynamicLights=False
ReportDynamicUploads=True
TextureDetailInterface=Normal
TextureDetailTerrain=Normal
TextureDetailWeaponSkin=Normal
TextureDetailPlayerSkin=Normal
TextureDetailWorld=Normal
TextureDetailRenderMap=Normal
TextureDetailLightmap=UltraHigh
NoFractalAnim=False
ScaleHUDX=0.0

[Engine.Player]
ConfiguredInternetSpeed=10000
ConfiguredLanSpeed=20000

[ALAudio.ALAudioSubsystem]
UseEAX=False
Use3DSound=False
UseDefaultDriver=True
CompatibilityMode=False
UsePrecache=True
ReverseStereo=false
Channels=32
MusicVolume=0.3
AmbientVolume=0.6
SoundVolume=0.6
VoiceVolume=1.0
DopplerFactor=1.0
Rolloff=0.5
TimeBetweenHWUpdates=15
DisablePitch=False
LowQualitySound=False
StreamingSoundFudgeFactor=0.375

[FMODAudio.FMODAudioSubsystem]
MaxChannels=128
MaxStreams=8
; StreamBufferSize in KB per live stream up to MaxStreams
; Specifying 0 uses the FMOD default of 16KB per stream
StreamBufferSize=256

[IpDrv.TcpNetDriver]
AllowDownloads=True
ConnectionTimeout=15.0
InitialConnectTimeout=500.0
AckTimeout=1.0
KeepAliveTime=0.2
MaxClientRate=20000
SimLatency=0
RelevantTimeout=5.0
SpawnPrioritySeconds=1.0
ServerTravelPause=4.0
NetServerMaxTickRate=20
LanServerMaxTickRate=35
DownloadManagers=IpDrv.HTTPDownload
DownloadManagers=Engine.ChannelDownload
AllowPlayerPortUnreach=False
LogPortUnreach=False
MaxConnPerIPPerMinute=5
LogMaxConnPerIPPerMin=False

[IpDrv.HTTPDownload]
RedirectToURL=
ProxyServerHost=
ProxyServerPort=3128
UseCompression=True

[Engine.DemoRecDriver]
DemoSpectatorClass=Engine.CHSpectator
MaxClientRate=25000
ConnectionTimeout=15.0
InitialConnectTimeout=500.0
AckTimeout=1.0
KeepAliveTime=1.0
SimLatency=0
RelevantTimeout=5.0
SpawnPrioritySeconds=1.0
ServerTravelPause=4.0
NetServerMaxTickRate=60
LanServerMaxTickRate=60

[Engine.GameReplicationInfo]
ServerName=Bioshock Server
ShortName=Bioshock Server

[IpDrv.TcpipConnection]
SimPacketLoss=0
SimLatency=0

[IpServer.UdpServerQuery]
GameName=ut

[IpDrv.UdpBeacon]
DoBeacon=True
BeaconTime=0.50
BeaconTimeout=5.0
BeaconProduct=ut

[D3DDrv.D3DRenderDevice]
HighDetailActors=True
SuperHighDetailActors=True
UsePrecaching=True
UseTrilinear=True
AdapterNumber=-1
ReduceMouseLag=True
DoubleBufferMouseLag=True
DesiredRefreshRate=60
UseVSync=True
LevelOfAnisotropy=4
TesselationFactor=1.0
CheckForOverflow=False
BatchRenderFlash=True

[D3DDrv10.D3DRenderDevice10]
HighDetailActors=True
SuperHighDetailActors=True
UsePrecaching=True
UseTrilinear=True
UseHighDetailShadowMaps=True
AdapterNumber=-1
ReduceMouseLag=True
DoubleBufferMouseLag=True
DesiredRefreshRate=60
UseVSync=True
LevelOfAnisotropy=4
TesselationFactor=1.0
CheckForOverflow=False
BatchRenderFlash=True

[Editor.EditorEngine]
UseSound=True
CacheSizeMegs=32
GridEnabled=True
SnapVertices=False
SnapDistance=10.000000
GridSize=(X=16.000000,Y=16.000000,Z=16.000000)
RotGridEnabled=True
; RotGridSize is in degrees
RotGridSize=(Pitch=5.625,Yaw=5.625,Roll=5.625)
GameCommandLine=-log
FovAngleDegrees=75.000000
GodMode=True
AutoSave=True
AutoSaveTimeMinutes=5
AutoSaveIndex=6
UseAxisIndicator=True
MatineeCurveDetail=0.1
UseActorRotationGizmo=True
LoadEntirePackageWhenSaving=0
EditPackages=Core
EditPackages=Engine
EditPackages=FMODAudio
EditPackages=IGEffectsSystem
EditPackages=IGVisualEffectsSubsystem
EditPackages=IGSoundEffectsSubsystem
EditPackages=Editor
EditPackages=UWindow
EditPackages=VengeanceShared
EditPackages=UnrealEd
; Rowan: disable IpDrb coz we have no network code
; EditPackages=IpDrv
EditPackages=UDebugMenu
EditPackages=Scripting
EditPackages=Tyrion
EditPackages=ShockGame
EditPackages=ShockAI
EditPackages=IGModEffectsSubsystem

EditorAutoLoadPackages=ShockAIClasses
EditorAutoLoadPackages=ShockDesignerClasses
EditorAutoLoadPackages=Doors
EditorAutoLoadPackages=AnimatedDecorClasses
EditorAutoLoadPackages=Prefabs
EditorAutoLoadPackages=Gen_Physics
EditorAutoLoadPackages=NonPhysicalReactiveObjects

TexturePackageExt=pkg
StaticMeshPackageExt=pkg
AudioPackageExt=pkg
AnimationPackageExt=pkg
MusicPackageExt=pkg
PrefabPackageExt=pkg
ClassPackageExt=pkg

;all extensions that need to be loaded for dumpint commandlet (localization)
LocalizablePackageExt=*.u
LocalizablePackageExt=*.pkg
LocalizablePackageExt=*.utx
LocalizableLevelExt=*.bsm

[WindowPositions]
GameLog=(X=5,Y=489,XL=642,YL=294)
ScriptLog=(X=649,Y=4,XL=527,YL=296)

[UMenu.UnrealConsole]
RootWindow=UMenu.UMenuRootWindow
UWindowKey=IK_Esc
ShowDesktop=True

[UMenu.UMenuMenuBar]
ShowHelp=True
GameUMenuDefault="UTMenu.UTGameMenu"
MultiplayerUMenuDefault="UTMenu.UTMultiplayerMenu"
OptionsUMenuDefault="UTMenu.UTOptionsMenu"

[Engine.GameInfo]
bLowGore=False
bVeryLowGore=False

[Engine.LevelInfo]
PhysicsDetailLevel=PDL_Medium

[Engine.Console]
ConsoleKey=109
DisableAutoCompletion=false
DefineOwnDictionary=false
ExtraDictionaryEntry=Quit
ExtraDictionaryEntry=editactor
ExtraDictionaryEntry=editclass
ExtraDictionaryEntry=editobject
ExtraDictionaryEntry=rmode
ExtraDictionaryEntry=Recreation

[Compatibility]
RequireMinSpec=true


[SkipCalls]
;Uncomment to skip calls during compilation of UnrealScript (i.e., don't emit bytecode for those function calls, which turns them into no-ops)
;SkipCall=Assert
;SkipCall=Log

[Havok]
; HavokNumThreads: Number of threads the physics should use for performing simulation updates. 
; Note: If there are fewer logical processors present than this number, then this value will be clamped to the number of processors.
; Note: Ignored on XBox360.  
HavokNumThreads=2

;RebuildMoppWhenMissingOrOld: If this is true the mopp will be rebuilt when it isn't in sync with the map.  If it is false
;the mopp will never be rebuilt and no verification will occur.
RebuildMoppWhenMissingOrOld=1

[Engine.RenderConfig]
; Note: HDRSceneExpBias only affects the XBox360. 
HDRSceneExpBias=-3

; skeletal mesh projector vars
MaxSkeletalProjectorsPerActor=6
OffsetSkeletalProjectorRearFrustrumPlane=10.0

; Note: EdgeDetect variables only affect antialiasing on XBox360 when in 720p mode 
UseSoftwareAntiAliasing=True
EdgeDetectCutoff=0.002
EdgeBlurSize=0.5

; Streaming system priority weightings
; Note: These will eventually be normalized
StreamingVisibleWeight=10
StreamingDiffuseWeight=4
StreamingBSPWeight=1
StreamingEmissiveWeight=7
StreamingLightmapWeight=5
StreamingNormalmapWeight=1
StreamingDynamicLoadedWeight=10
StreamingDistanceScale=1000

; pc graphics config options
HighDetailShaders=True
Shadows=True
RealTimeReflection=True
PostProcessing=True
HardwareOcclusion=True
UseRippleSystem=True
UseHighDetailSoftParticles=True
UseSpecCubeMap=True;
UseDistortion=True;
