Skip to content

Commit

Permalink
Merge pull request #248 from DaXcess/dev
Browse files Browse the repository at this point in the history
Update LCVR to v1.3.0 (V56 Compatibility)
  • Loading branch information
DaXcess authored Aug 10, 2024
2 parents aa47a23 + a66c1af commit c394b3d
Show file tree
Hide file tree
Showing 83 changed files with 3,631 additions and 1,583 deletions.
104 changes: 104 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,150 @@
# 1.3.0

## Car!

Lethal Company V56 introduces the latest and greatest in vehicular technology: **The Company Cruiser!**

Upon purchasing your Company Cruiser, you will receive:

- A Company Cruiser
- A Company Cruiser ignition key
- A Company Cruiser service manual

While we certainly believe in the Company, we feel that this service manual may need some amendments. So here we go.

To get started, enter your Company Cruiser. Now don't be overwhelmed by the amount of buttons, handles and wheels, we'll take you through them all!

First of all, we will go around the buttons that are strewn about the dashboard. On the left side of the steering wheel, you will notice three buttons. These respectively control the windshield wipers, cabin window, and the headlights.

Next up, we have the radio. If you ever get lonely whilst traveling the treacherous landscapes, you can play some relaxing tunes to help you keep your performance at a maximum. The left button allows you to tune between different radio stations, while the right button toggles the radio on or off.

Now that we're over on the right side, you will see a button encased in glass. **This button is for use in emergency situations only!** So don't press it unless it's absolutely necessary!

Should you encounter a dangerous situation while driving, you can alert anyone in the vicinity by pressing the horn. The horn is located in the center of the steering wheel. Just press on it, and let the compressed air tanks do the rest!

Let's get to driving, shall we? On the right side of the steering wheel, left of the emergency button, you will find the ignition. You can make use of the Company Cruiser ignition key, which should have been provided to you upon purchase of your Company Cruiser, to start the vehicle.

Carefully insert the key and twist it until you hear the engine start revving. Keep in mind that this technology was not specifically designed for the atmospheres of other planets, so it might take a few twists until you successfully start your Company Cruiser.

Now that you have started your Company Cruiser, take a peek over on your right. There should be a gear stick, which allows you to drive, reverse, and park your Company Cruiser. It should be in park by default. Carefully reach over with your right hand, grab the stick, and move it between the gears that you want to use.

Last but not least, the steering wheel. You may take hold of the steering wheel using either your left, or your right hand, or both of them. To turn left, steer the steering wheel to your left. To turn right, steer the steering wheel to your right. It's not rocket science!

Now get ready to drive! Put your gear into drive, give the Company Cruiser some throttle, and take to the stars (or... well... the scrap, can't leave bossman hanging)!

## Control rebinding

LCVR 1.3.0 replaces the old controller profile system with individual control rebinding. These are located in the settings menu, just like the keyboard and gamepad controls. Make sure both of your controllers are connected, as the game doesn't detect your controller profile until both the controllers are active.

Some bindings are blacklisted from being used, mostly the "touched" bindings on buttons, as they overrule any "pressed" bindings. Some of them still work though, as some "touched" bindings don't have any "pressed" bindings associated with the same button/touchpad (i.e. Quest 2 thumbrest).

**Additions**:

- Added support for V56
- Added VR interactions for the steering wheel in the Company Cruiser
- Added VR interactions for the buttons in the Company Cruiser
- Added VR interactions for the car honk in the Company Cruiser
- Added VR interactions for the ignition in the Company Cruiser
- Added VR interactions for the eject button in the Company Cruiser
- Added VR interactions for the gear stick in the Company VR
- Added VR interactions for the car magnet lever on the ship
- Added configuration options to disable special car interactions
- Added controls rebinding in the settings menu
- Added new logic to local and remote VR players to allow overriding hand position
- Added welcome and PTT overlay UI to VR
- Added VR support for the Weed Killer item
- Added haptic feedback to the muffle interaction
- Added haptic feedback to the monitor buttons in the ship
- Added new option: `SpectatorLightRemovesVolumetrics`, which disables fog when using the spectator light (if enabled)

**Bug Fixes**:

- Fixed issue where leaving a game while spectating and joining a new game will break spectating
- Fixed finger curling not consistently forcing a fist when requested to
- Fixed bug in controller interactor that prevented the use of "hold down" interactions
- Fixed bug where the interactor could interact through walls of the Company Cruiser
- Fixed bug where having the helmet enabled caused a large shadow to appear
- Fixed bug where the controllers sometimes kept vibrating after the player already died
- (Accidentally) fixed a bug where the keyboard on the terminal would be unusable if the ship was in motion
- Fixed issue where players in an animation wouldn't sync their offset to their room center with other players
- Fixed a vanilla bug where sometimes you could "ghost interact" with battery powered items by using grip buttons

**Changes**:

- Reworked the input system to allow for manual control binding overriding
- XR Origin now has the same parent as the local player
- Reworked a small portion of the 6DOF system to allow 6DOF when parented to other objects
- Resetting height now also resets your rotation if you are in a special interact animation (i.e. terminal, car, enemy kill animation)
- Doubled the base rotation speed on the Smooth Rotation setting

**Removals**:

- Removed the forced startup cutscene
- Removed bracken from the main and pause menus
- Removed the DLSS optimization setting
- Removed support for V50

**Dependencies**:

- Added a dependency to [FixPluginTypesSerialization](https://thunderstore.io/c/lethal-company/p/Evaisa/FixPluginTypesSerialization/)

# 1.2.5

**Bug Fixes**:

- Fixed corrupt/unreadable OpenXR default runtimes preventing VR to launch properly

# 1.2.4

**Bug Fixes**:

- Fixed some of the doors on Artiface not using the new VR interactions
- Leaving the game while spectating will no longer prevent spectating to work in the next game
- Fixed some issues on the main menu when certain mods are active

**Additions**:

- Added VR motion controls to the knife (you can now stabby stab)
- Added VR interactions to the big doors on Artiface

**Changes**:

- Reworked the OpenXR loader, which will now attempt every runtime instead of only the default/preconfigured runtime
- Moved startup logic to a prefix, fixing an issue where occasionally the camera would be black when loading in

**Removals**:

- Removed detection for `UnityExplorer`
- Removed ghost girl from the main/pause menus

# 1.2.3

**Bug Fixes**:

- Fixed issues with enemy collision that was causing error spam and potential other issues
- Changed the way `VerifyGameVersion` finds the game assembly, fixing some mod compatibility issues

**Additions**:

- Added configuration option to disable the settings button on the main menu

**Development Changes**:

- Added debug symbols in the assembly output if the mod is compiled in debug, which helps with tracking down errors

# 1.2.2

**Game Version**:

- Added compatibility with V50 Patch 1

**Bug Fixes**:

- Fixed visual glitch where VR players would not appear to be sinking in mud
- Fixed visual glitch where VR players who died in water got the underwater filter applied sporadically

**Mod Compatibility**:

- Fixed lighting culling issues when CullFactory is installed

# 1.2.1
Expand All @@ -55,6 +156,7 @@ LCVR v1.2.1 brings the joys of V50 into VR.
Due to V50 having changed some important stuff behind the scenes, versions starting from v1.2.1 are no longer supported in V49.

**Additions**:

- Added support for the cold open cinematic cutscene

**Bug fixes:**
Expand All @@ -67,9 +169,11 @@ Due to V50 having changed some important stuff behind the scenes, versions start
- Fixed the rad mech trying to pick up dead players

**API changes**:

- Made the arm HUD canvasses public in `VRSession.Instance.HUD`

**Removals:**

- Removed april fools code & assets
- Removed support for V49

Expand Down
44 changes: 34 additions & 10 deletions Docs/Thunderstore/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,39 @@ Facing issues, have some mod (in)compatibility to report or just want to hang ou

You can join the [LCVR Discord Server](https://discord.gg/2DxNgpPZUF)!

# Compatibility
# Versions

> Versions annotated with **(BETA)** are not available on Thunderstore, and must be downloaded or compiled manually
Here is a list of LCVR versions and which version(s) of Lethal Company it supports

| LCVR | Lethal Company |
|-------------------|-------------------|
| v1.3.0 *(BETA)* | V56 |
| v1.2.5 *(LATEST)* | V50 |
| v1.2.4 | V50 |
| v1.2.3 | V50 |
| v1.2.2 | V50 |
| v1.2.1 | V50 (Older patch) |
| v1.2.0 | V49 |
| v1.1.9 | V45 and V49 |
| v1.1.8 | V45 and V49 |
| v1.1.6 | V45 and V49 |
| v1.1.5 | V45 and V49 |
| v1.1.4 | V45 and V49 |
| v1.1.2 | V45 and V49 |
| v1.1.1 | V45 and V49 |
| v1.1.0 | V45 and V49 |
| v1.0.1 | V45 and V49 |
| v1.0.0 | V45 and V49 |

Adding VR into a game will drastically change some of the gameplay elements. This is guaranteed to cause some incompatibilities with other Lethal Company mods. You can find a [compatibility sheet here](https://docs.google.com/spreadsheets/d/1mSulrvMkQFtjF_BWDeSfGz9rm3UWKMywmUP1yhcgCGo/edit?usp=sharing) where you can find a list of mods that have been tested to see if they work well in conjunction with the VR mod _(mostly managed by Moderators)_.
# Compatibility

In some rare cases, a mod will have "first class support", meaning that LCVR, the mod in question, or both mods have added official compatibility for both mods to work together seamlessly.
Most mods should all work fine with LCVR, like interior mods, new moons, most items, etc. There's also a small handful of mods that have been explicitly made compatible with VR.

## Known incompatibilities

It is generally assumed that any emote mod not listed as fully compatible inside the compatibility sheet will **completely break** LCVR, as the changes made to the player model more often than not conflict heavily with LCVR's IK implementation.

This also includes combining multiple emote mods (even when they are both listed as compatible!) as more often than not the compatibility between the two (or more) emote mods don't account for LCVR when combined.
In general, most emote mods, mods adding UI elements and mods that require new bindings are not compatible with LCVR by default, and either require configuration changes, or dedicated VR support.

# Configuring the mod

Expand All @@ -77,7 +99,8 @@ LCVR attempts to automatically detect which type of controller you are using, an

The current list of built-in controller profiles are:

- Oculus (Rift S, Quest 2, Quest 3) - Default Fallback
- Oculus (Rift S, Quest 2) - Default Fallback
- Meta Quest (Quest 3)
- Valve Index
- HTC Vive
- HP Reverb G2
Expand All @@ -87,11 +110,12 @@ For a list of all controls for your specific controllers, check out the `control

# How to change controls

Check out the [LCVR Controller Profiles](https://github.com/DaXcess/LCVR-Controller-Profiles) GitHub page to find a list of available controller bindings.
You can change controller bindings just like you would normally in Lethal Company.

In the mod's configuration, set the `ControllerBindingsOverrideProfile` option to the name of the profile binding you would like to use. This does however require an active internet connection, since these profiles are downloaded directly from this GitHub repository and will allow the use of new profiles without having to update the mod.
Go to the settings, then press "Change keybinds", and scroll all the way down to the VR controls section.

> Setting `ControllerBindingsOverrideProfile` will override the controller auto-detection
> You must be in VR to change VR controller bindings. <br/>
> Resetting the bindings will only reset the VR bindings, and will not touch keyboard/gamepad bindings.
# Main Menu

Expand Down
4 changes: 2 additions & 2 deletions LCVR.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<TargetFramework>netstandard2.1</TargetFramework>
<AssemblyName>LCVR</AssemblyName>
<Description>Collecting Scrap in VR</Description>
<Version>1.2.5</Version>
<Version>1.3.0</Version>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>12.0</LangVersion>
<Title>LethalCompanyVR</Title>
Expand Down Expand Up @@ -35,7 +35,7 @@
<PackageReference Include="CullFactory" Version="1.0.4" />
<PackageReference Include="DissonanceVoip" Version="1.50.0-lc.1" />
<PackageReference Include="Diversity" Version="2.0.3" />
<PackageReference Include="LethalCompany" Version="1.50.0-beta.1" />
<PackageReference Include="LethalCompany" Version="1.56.0" />
<PackageReference Include="Mimics" Version="2.4.1" />
<PackageReference Include="MoreCompany" Version="1.8.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
Expand Down
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,33 @@ Running the mod using r2modman can be done simply by clicking "Launch Modded", w

For more documentation on using the mod, check out the [LethalCompanyVR Thunderstore page](https://thunderstore.io/c/lethal-company/p/DaXcess/LethalCompanyVR)

# Versions

> [!NOTE]
> Versions annotated with **(BETA)** are not available on Thunderstore, and must be downloaded or compiled manually
Here is a list of LCVR versions and which version(s) of Lethal Company it supports

| LCVR | Lethal Company |
|-------------------|-------------------|
| v1.3.0 *(BETA)* | V56 |
| v1.2.5 *(LATEST)* | V50 |
| v1.2.4 | V50 |
| v1.2.3 | V50 |
| v1.2.2 | V50 |
| v1.2.1 | V50 (Older patch) |
| v1.2.0 | V49 |
| v1.1.9 | V45 and V49 |
| v1.1.8 | V45 and V49 |
| v1.1.6 | V45 and V49 |
| v1.1.5 | V45 and V49 |
| v1.1.4 | V45 and V49 |
| v1.1.2 | V45 and V49 |
| v1.1.1 | V45 and V49 |
| v1.1.0 | V45 and V49 |
| v1.0.1 | V45 and V49 |
| v1.0.0 | V45 and V49 |

# For developers

If you want to make your mod compatible with LCVR, make sure to check out the [API documentation](Docs/API). While at the time of writing it doesn't contain much, this might be expanded more in the future.
Expand Down
Binary file modified Resources/lethalcompanyvr
Binary file not shown.
Loading

0 comments on commit c394b3d

Please sign in to comment.