Documentation
Readme
View as plain text
=================================
INFO
=================================
Mod enables add simple FlyCam as well as some extra functionality
=================================
INSTALL
=================================
1. STEAM: Go to your Steam Library, find "Silent Hill 2", right-click, Manage -> Browse Local Files.
This is your game root folder.
2. Extract content of the zip-archive inside root folder. If you did everything correctly,
files "pakchunk111*", "pakchunk55*" and "pakchunk99*" will be present inside
"SHProto\Content\Paks\".
3. Installation complete.
=================================
UNINSTALL
=================================
Delete aforementioned files
=================================
USAGE
=================================
Backspace :: FlyCam mode. Commands only work in this mode
WASD/LStick :: move
Mice/RStick :: look around
Z/X/R1/L1 :: move vertically up/down
E/Q :: Tilt camera left/right
R :: reset tilt
Shift+R :: reset all rotation
Shift/Alt :: speedup/slowdown during flycam
Ctrl+F1 :: teleport to current FlyCam location
Ctrl+F2 :: hide game UI during flycam
Ctrl+F3 :: pause game/world
Ctrl+F4 :: hide james
Ctrl+= :: speedup time
Ctrl+- :: slowdown time
Ctrl+0 :: reset time
F8 :: actor watch ON/OFF
F10 :: this will temporarily disable input to the free cam itself
F12 :: high-res screenshot. Stored in `%LOCALAPPDATA%\SilentHill2\Saved\Screenshots`
F12 :: IMPORTANT! This restores input to the mod as a fallback after you change ANY game controls
[~] :: developer console
=================================
CONSOLE COMMANDS
=================================
Press [~] or [`] to draw dev console and use commands.
-- Generic comands --
fov X - where X is desired fov value. To reset fov, use 0 as value
r.fog 0 - disable fog (1 to enable)
r.Lumen.Reflections.Allow 0 - this will simplify lighting
r.Lumen.DiffuseIndirect.Allow 0 - this will simplify lighting
r.DynamicGlobalIlluminationMethod 0 - this will simplify lighting
-- SH2 freecam module commands--
[setwatch]
Syntax: setwatch string_value
When you are in flycam mode you can add on-screen watch for specific actors, for example,
if you want to see all items near you, set watch via console command:
setwatch /Game/Game/Gameplay/Interactions/Items/ItemBase_BP.ItemBase_BP_C
and then press F8 (by default) to toggle watch ON/OFF)
In order to update watch for new location, just retoggle it and it will update cache.
[screenfolder]
Syntax: screenfolder
Will open an Explorer folder containing your screenshot (ALT+TAB to see it)
[vtconf]
Syntax: vtconf PropertyName Value
Allows you to configure FreeCam options live, at runtime. For example, if you want to temporarily
disable blocking input to game character, you can execute
vtconf bDisableGameInput False
To enable game input block again:
vtconf bDisableGameInput False
Accepted value are integers (1, 2), floats (1.0, 2.0) and booleans (true/false).
Check the config below to see which properties avilable and which type of value they are.
=================================
CONFIG
=================================
! An example `Engine.ini` file is included with the mod !
Open/create `Engine.ini` inside %LOCALAPPDATA%\SilentHill2\Saved\Config\Windows\ folder.
Add the following sections:
== MAIN CONFIG ==
[/Game/Mods/VTSpectator/ABPML_Mod_VTSpectator.ABPML_Mod_VTSpectator_C]
MovSpeed=1000.0 ; flycam movement speed
PitchSpeed=120.0 ; mouse/rstick pitch sensitivty
YawSpeed=150.0 ; mouse/rstick yaw sensitivity
FastMultiplier=3.0 ; fast speed mult. by LShift
SlowMultiplier=0.5 ; slow speed mult. by LAlt
AxisTolerance=0.01 ; if your movement/look behaves odd or sticky, increase this
GlobalFOVStep=5.0 ; step by which increase/decrease global FOV when using mouse wheel
ResolutionMultp=2.0 ; hi-res screenshot resolution multiplier
bDisableGameInput=True ; should we disable input to game character upon entering FreeCam mode?
bForceBlockInput=False ; a complimentary to previous option, used for edge cases when normal blocking fails
bRememberLastPos=False ; remember last used flycam position, instead of using player's when enabling FlyCam?
bPauseGameOnCamMode=True ; should we pause game upon entering FreeCam mode?
bUnpauseGameOnCamExit=True ; should we unpause game upon exiting from FreeCam mode?
CommandsKey=LeftCtrl ; this is modifier key (only ALT/SHIFT/CTRL) used for commands like teleport, pause, etc
;ActionMappings= ; SEE BELOW, only add it if you plan to rebind default controls!
;AxisMappings= ; SEE BELOW, only add it if you plan to rebind default controls!
- Module config (Silent Hill 2 module):
When I say "module" I mean the commands you excecute when you are in FlyCam mode
[/Game/Mods/VTSpectator/Core/Modules/AC_VTModule_SH2.AC_VTModule_SH2_C]
CopyCameraSettings=True ; when using bViaPosses mode, shall we try mimic game camera?
UseRawTeleport=False ; alternative teleport mode
TimeDilationStep=0.1 ; controls the step at which gamespeed is decreased/increased
Commands= ; see below
In general, configuration structure is fairly simple:
[Category]
Option=Value ;comment
ALL options have defaults, that means, you only need to add an option you want
to change, the rest will stay at their default values (see defaults above). So,
for example, this is enough if you only want to change movement speed:
[/Game/Mods/VTSpectator/ABPML_Mod_VTSpectator.ABPML_Mod_VTSpectator_C]
MovSpeed=500.0
== CONTROLS REBINDING ==
This is for advanced users. READ CAREFULLY, this is your only source on
how to do so, there is no live support.
List of valid UE keynames:
https://nerivec.github.io/old-ue4-wiki/pages/list-of-keygamepad-input-names.html
- BASIC ACTIONS:
This mod allows you to rebind default controls to either keyboard or
XPad. This is done via the same config above. Keybind format is split
into 2 categories for basic input: ActionMapping and AxisMapping.
In order to add/replace default, you simply add relevant line to either
"ActionMappings" or "AxisMappings" property in the config, for example:
[/Game/Mods/VTSpectator/ABPML_Mod_VTSpectator.ABPML_Mod_VTSpectator_C]
; some other options here
ActionMappings=(ActionName="VTToggleSpectator",bShift=True,Key=F1)
ActionMappings=(ActionName="VTSpeedUp",Key=RightShift)
AxisMappings=(AxisName="VTMoveForward",Scale=1.0,Key=O)
This will change the bindings to toggle flycam from BACKSPACE
to SHIFT+F1, changes SpeedUp key to RightShift instead and, finally,
changes MoveForward input to "O", instead of "W". Do note that unlike
plain options, the input ones have to be repeated, because they are
additive, i.e. two subsequent "ActionMappings" definitions do NOT
override each other, they complement.
Here is all default values:
; ACTIONS
ActionMappings=(ActionName="VTToggleSpectator",bCtrl=False,bShift=False,bAlt=False,Key=Backspace)
ActionMappings=(ActionName="VTSpeedUp",Key=LeftShift)
ActionMappings=(ActionName="VTSlowDown",Key=LeftAlt)
ActionMappings=(ActionName="VTRestore",bShift=True,Key=Escape)
ActionMappings=(ActionName="VTRestoreCamTilt",Key=R)
ActionMappings=(ActionName="VTResetRotation",bShift=True,Key=R)
ActionMappings=(ActionName="VTZoomReset",Key=MiddleMouseButton)
ActionMappings=(ActionName="VTToggleWatch",Key=F8)
ActionMappings=(ActionName="VTHiResScreenshot",Key=F12)
ActionMappings=(ActionName="VTBlockOwnInput",Key=F10)
;AXIS
; keyboard
AxisMappings=(AxisName="VTMoveForward",Scale=1.0,Key=W)
AxisMappings=(AxisName="VTMoveBackwards",Scale=-1.0,Key=S)
AxisMappings=(AxisName="VTMoveRight",Scale=1.0,Key=D)
AxisMappings=(AxisName="VTMoveLeft",Scale=-1.0,Key=A)
AxisMappings=(AxisName="VTCamUpDown",Scale=1.0,Key=MouseY)
AxisMappings=(AxisName="VTCamLeftRight",Scale=1.0,Key=MouseX)
AxisMappings=(AxisName="VTCamTiltLR",Scale=1.0,Key=Q)
AxisMappings=(AxisName="VTCamTiltLR",Scale=-1.0,Key=E)
AxisMappings=(AxisName="VTMoveUp",Scale=1.0,Key=Z)
AxisMappings=(AxisName="VTMoveDown",Scale=-1.0,Key=X)
AxisMappings=(AxisName="VTZoom",Key=MouseWheelAxis)
; gamepad
AxisMappings=(AxisName="VTCamUpDown",Scale=1.0,Key=Gamepad_RightY)
AxisMappings=(AxisName="VTCamLeftRight",Scale=1.0,Key=Gamepad_RightX)
AxisMappings=(AxisName="VTMoveLeft",Scale=-1.0,Key=Gamepad_LeftStick_Left)
AxisMappings=(AxisName="VTMoveRight",Scale=1.0,Key=Gamepad_LeftStick_Right)
AxisMappings=(AxisName="VTMoveBackwards",Scale=-1.0,Key=Gamepad_LeftStick_Down)
AxisMappings=(AxisName="VTMoveForward",Scale=1.0,Key=Gamepad_LeftStick_Up)
AxisMappings=(AxisName="VTMoveUp",Scale=1.0,Key=Gamepad_RightTriggerAxis)
AxisMappings=(AxisName="VTMoveDown",Scale=-1.0,Key=Gamepad_LeftTriggerAxis)
So, to put it simply, you can just replace the key name string in the binding
and add it to the config. Just make sure to avoid changing "ActioName"! You can
change axis "Scale", if you desire, for example, to invert mouse-look or left-stick,
i.e. changing `1.0` in `VTCamUpDown` to `-1.0` will invert mouse lookup.
- MODULE COMMANDS
Module rebinding slightly differs from basic actions. First, you need to
define "CommandsKey" in the general config above. By default it is "LeftCtrl",
and this key only accepts keyboard modifier keys: CTRL, ALT, SHIFT
Then, you can change the chord key used for module commands, such as Teleport
or Hide UI. Chord means it has to be used in pair to be triggered, for example,
default binding for "Teleport" is CTRL+F1, which means you have to first press
"LeftCtrl" and then, while keeping it down, press F1.
Here is full config for SH2 Module (do note that category path is separate for module!):
[/Game/Mods/VTSpectator/Core/Modules/AC_VTModule_SH2.AC_VTModule_SH2_C]
Commands=((Equals, "TimeDilationUp"),(Hyphen, "TimeDilationDown"),(Zero, "TimeDilationReset"),(F1, "Teleport"),(F2, "HideUI"),(F3, "TogglePause"),(F4, "Invisible"))
As you can see, this one can be defined in a single line and only accepts
the final chord key, the first key - modifier - you specify in the base
config for the mod.
=================================
KNOWN ISSUES
=================================
- after adjusting any of the controls settings in game, mod stops responding to hotkeys.
In this case, use F12 to restore binds.
=================================
CHANGELOG
=================================
- v0.0.9 - added new binds for HiResScreenshot and own input block
- added console command to quickly open game data folder (screenshots, savegames)
- added console command to configure freecam options live
- added 3 new options to config for more granular control over input/pause
- v0.0.8 - camera mode now mimics original game camera position, no longer spawns inside James
- fixed global FOV scale on mouse wheel
- added Actor Watch mode
- v0.0.7 - added vertical movement
- added example Engine.ini showing how to configure the mod
- added handy FOV/Zoom to MouseWheel
- added full rotation reset
- v0.0.6 - added camera tilt
- added quick explanation how to enforce FOV
- v0.0.5 - fixed slow-mo and wolrd pause
- added ability to hide James
- game is now paused by default to imitate Photo Mode (this mod is NOT a photo mode)
- changed default flycam hotkey to Backspace
- added long-ass section explaining how to configure custom controls
- v0.0.4 - attempt to fix the bug with rebindable game controls, if it fails use 0.0.3
- v0.0.3 - added input restoration workaround
- v0.0.2 - internal fixes
- v0.0.1 - Initial release
=================================
CREDITS
=================================
KeinZantezuken