Documentation
Readme
View as plain text
=================================
INFO
=================================
Mod adds primitive Photomode as well as some mobility tools
IMPORTANT: using console commands will disable your achievements!
=================================
INSTALL
=================================
SCP: /Games/Mods/VTSpectator/ABPML_Mod_VTSpectator.ABPML_Mod_VTSpectator_C
1a. STEAM: Go to your Steam Library, find "Oblivion Remastered", right-click,
Manage -> Browse Local Files. This is your <game_root> folder>.
1b. GAMEPASS: Find "XboxGames" folder on one of your drives.
<game_root> folder will be "X:\XboxGames\The Elder Scrolls IV- Oblivion Remastered\"
2. Create directory "~mods" inside <game_root>\OblivionRemastered\Content\Paks\
3. Extract content of the zip-archive inside the folder:
<game_root>\OblivionRemastered\Content\Paks\~mods
4. Validate that files "Simple_Photomode.*" are in that folder
5. OPTIONAL: alteratively, you can extract content into just "<game_root>\OblivionRemastered\Content\Paks\"
6. Execute console command:
mod add /Game/Mods/VTSpectator/ABPML_Mod_VTSpectator
Installation is complete
=================================
UNINSTALL
=================================
1. mod del /Games/Mods/VTSpectator/ABPML_Mod_VTSpectator.ABPML_Mod_VTSpectator_C
2. Delete aforementioned files.
=================================
CONFLICTS
=================================
???
=================================
KNOWN ISSUES
=================================
1. If you need to preserve output image calibration settings like brightness from options,
then you have to either enable "bUseGameCam" in Engine.ini as per Readme or run console command
vtconf bUseGameCam True
2. Hi-res screenshot functionality is gutted in Bethesda's UE, you have to make your own screenshots
=================================
USAGE
=================================
Backspace :: FlyCam mode. Commands only work in this mode
WASD/LStick :: move
Mice/RStick :: look around
MouseWheel :: up/down to zoom, click to reset zoom
MWheelClick :: reset fov to default
Z/X/R1/L1 :: move vertically up/down
E/Q :: Tilt camera left/right
R :: reset tilt
I/O :: fixed title roation
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+= :: speedup time
Ctrl+- :: slowdown time
Ctrl+0 :: reset time
F8 :: actor watch ON/OFF
F9 :: high-res screenshot. Stored in `%LOCALAPPDATA%\OblivionRemastered\Saved\Screenshots`
F10 :: this will temporarily disable input to the free cam itself
=================================
CONSOLE 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 aset_class_path
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 True
Accepted value are integers (1, 2), floats (1.0, 2.0) and booleans (true/false).
Check the config example 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:
Steam: c:\Users\%USERNAME%\Documents\My Games\Oblivion Remastered\Saved\Config\Windows\Engine.ini
Gamepass: c:\Users\%USERNAME%\Documents\My Games\Oblivion Remastered\Saved\Config\WinGDK\Engine.ini
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
TiltSpeed=100.0 ; tilt rotation speed
FixedTitlStep=15 ; fixed rot. step for tilt
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
bUseGameCam=False ; should we attempt to use raw game camera? Can be buggy.
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?
bPauseViaTimescale=True ; should we use TimeStop instead of pause?
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 (OblivionRemastered module):
When I say "module" I mean the commands you excecute when you are in FlyCam mode
[/Game/Mods/VTSpectator/Core/Modules/AC_VTModule__Altar__Altar.AC_VTModule__Altar__Altar]
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=F9)
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 RSW Module (do note that category path is separate for module!):
[/Game/Mods/VTSpectator/Core/Modules/AC_VTModule__Altar.AC_VTModule__Altar_C]
Commands=((Equals, "TimeDilationUp"),(Hyphen, "TimeDilationDown"),(Zero, "TimeDilationReset"),(F1, "Teleport"),(F2, "HideUI"),(F3, "TogglePause"))
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.
=================================
HOW TO REPORT ISSUES
=================================
- describe exact steps/what you did that lead to the bug
- provide savegames before and after if possible
=================================
CHANGELOG
=================================
- v0.1.10 - fixed CTRL+F3 not using timescale as a pause method
- updated SML
- split SML and SPM
- v0.1.9 - Pause does not work in Oblivion's UE, switched to Time Stop.
- you can disable this via bPauseViaTimescale
- v0.1.8 - added reticle hiding
- v0.1.7 - added `bUseGameCam` to control game camera directly to preserve calibration
disabled by default see readme how to enable
- v0.1.6 - readme clarification
- v0.1.5 - fix for broken savegames after uninstalling the mod.
Sadly, existing savegames will require mod installed
- v0.1.4
- FOV automatically resets to default when leaving free cam
- added custom HUD hiding that does not affect rest of UI
- disabled wipe of default game console keys
- v0.1.3 - adapted for OblivionRemastered
- v0.1.2 - removed F12 bind as it is not required for this game
- v0.1.1 - small inernal fixes
- v0.1.0 - BREAKING CHANGE: rewrote for modloader
- v0.0.4 - added all UE cvars and S2HOC item IDs lists
- v0.0.3 - fixed mod not reloading on save reload
- v0.0.2 - added photomode, console commands
- v0.0.1 - Initial release
=================================
CREDITS
=================================
KeinZantezuken