================================= 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 folder>. 1b. GAMEPASS: Find "XboxGames" folder on one of your drives. folder will be "X:\XboxGames\The Elder Scrolls IV- Oblivion Remastered\" 2. Create directory "~mods" inside \OblivionRemastered\Content\Paks\ 3. Extract content of the zip-archive inside the folder: \OblivionRemastered\Content\Paks\~mods 4. Validate that files "Simple_Photomode.*" are in that folder 5. OPTIONAL: alteratively, you can extract content into just "\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