Music. Coding. Gaming. Life.

olmod

Project Homepage: https://github.com/overload-development-community/olmod
Primary Language: C#
Created: 3/16/2019 1:26:01 pm (3/16/2019)
Updated: 4/1/2021 4:52:55 am (4/1/2021)

A mod for the game Overload that enhances the multiplayer experience.

Releases

v0.3.9

- Fix for runaway debugging in logs.
- 2% to 8% improvement in FPS from collision mesh not being rendered. (Thanks, derhass!)

v0.3.8

Features:

- New "Always Cloaked" option for multiplayer games.
- projdata.txt files - files that can be used to tweak the balance of the game - can now be loaded for multiplayer games. Put any file starting with "projdata-" and ending with ".txt" in the same directory as olmod, and when you start a multiplayer game you can load that projdata into your game without other players needing the projdata file themselves.
- For single player and challenge mode, map authors can now put projdata.txt files and robotdata.txt files - files that can be used to tweak the balance of the robots - inside their level .zip files, and they will be honored.
- The preset for public anarchy games will now have the default setting for picture-in-picture rear view to be on. You can still turn this setting off in advanced settings.
- TODO: Last feature

Bug fixes:

- Internationalization fix for controller users who don't use decimal points to represent floating point numbers.
- Double the allotted time for a player to enter a map at the beginning of the match from 30s to 60s (should help slow-loading maps on slow computers with synchronized starting)
- Further improvements to lag compensation on bad connections. (Thanks, derhass!)
- Server-side input accelleration is no longer held back when a variable gets desynced. You'll no longer see ships flying a full second behind where they're firing from.

v0.3.7

Bug fixes:

- Fixed disconnected pilots leaving behind "ghost ships" that appeared to be eating shots. (Thanks, Tobias!)
- Fixed a number of CTF flag duplication issues.
- Fix to prevent powerups from being picked up by 2 players simultaneously.
- Fixed minor bug with lag compensation implementation. (Thanks, derhass!)

v0.3.6

Features:

- New lag compensation mods. In short, on default settings, you should be able to more clearly hit ships and more clearly dodge incoming fire at the expense of ships jumping around somewhat when they change trajectories. Settings to fine tune your experience - or turn this off - are found in Options > Multiplayer Options.
- Automap in multiplayer. This uses the quick save key bind from single player as opposed to the existing automap key to avoid confusing with the automap key's purpose in multiplayer.
- Additional autoselect options exist to determine what to do when you pick up a weapon higher than what you're holding but you are holding the fire button down.
- Parts of the player snapshot have been uncompressed to fix ship position quantization in maps that don't stay near the origin.
- Controller Axis Settings are now numerical sliders for more fine tuning.
- You will now clearly see if you are **MODDED** on the main menu.

Bug fixes:

- Potentially seizure-inducing flashing in VR fixed. (I'm not kidding, it really was THAT bad.)
- Swapping to a higher primary won't eat your thunderbolt charge, you'll get to fire it first.
- CTF flag pickup text should make more sense.
- CTF Boost and Classic Spawn are now correctly implemented for match preset JSON files.
- Team anarchy no longer uses the 3*K+A formula to sort players, it now sorts on kills, breaking ties with assists first, then least deaths.
- Minor tweak to new primary spawns to help ensure extra weapons do not unexpectedly spawn.
- Exceptions with creeper sync have been resolved.
- Crusher/Lancer anti-cheat was relaxed somewhat to address issues from players that keep the button held down, then quick released and re-pressed the button, which would falsely trigger the anti-cheat code.
- .sh files pulled from the repo on Windows and then ported to Linux will now have proper LF line endings. You may need to remove and reset your .sh files for this to take effect.

v0.3.5

Modding (using DLLs that start with Mod-) is now disabled by default. To enable modding, you must pass the "-modded" command line switch to olmod. You will know this works and your mod is enabled by seeing the word `**MODDED**` as part of your version number. Works for servers as well, modded servers can be seen in the multiplayer lobby (the width of the text for the server version has been expanded for this purpose).

The default method of primary weapon spawning in multiplayer maps has been changed. For players, all you need to know is that you will see more consistent primary loadouts in levels, and that the Lancer will start spawning in JIP games when certain player thresholds are met (this threshold varies by level, which is 5 for Backfire and maps that don't set these values such as Burning Indika v1.1). For map designers, here is what you need to know about the multiplayer mode file:

- The "percent" field - which wasn't really a "percent" - on fields such as $weapon;IMPULSE;2.0 is now a weight. This means that something like giving Imuplse a weight of 2.0 and Driller a weight of 1.0 is no different from giving the Impulse 50 and Driller 25, or Impulse 0.2 and Driller 0.1. Previously, the higher the number, the *more* of that weapon would spawn, and numbers too high would potentially put a primary's spawn rate at 100%.

- Previously, the game capped the number of available primary spawns at whatever was in the weapon count 8 field, regardless if there were more players than 8 in the game. This cap has been lifted. For instance, if you have $weapon_count2;2 and $weapon_count8;8, today 10 players would give you a maximum of 8 primaries spawned in at once. Now, you will get 10.

- Whether or not the Lancer spawn is controlled by three things. First, if you set $weapon;LANCER;0, you will never see a Lancer. Second, if you set the new command $lancer_players;4, you will not get a Lancer until there are 4 players in the game. The number 4 is adjustable, if you want there to be 8 players before a Lancer is spawned, you set $lancer_players;8. Lastly, if you do not specify $lancer_players, olmod will fallback on old behavior. I'm not going to go into the formula to what this behavior here is, because it's complex and isn't exactly the greatest piece of code in Overload. Generally, the lower the weight of the Lancer is ranked among the other primaries, the more players that will be required for it to spawn.

- Finally, the max number of players is re-evaluated every time a weapon spawn happens. That means as more players join via Join in Progress, more primaries may be available if the map maker allows for it. This also means that if you fall below the player threshold for the Lancer to spawn, it will stop spawning until the player threshold is met.

Autoselect is now available for multiplayer games. To enable, you must go to Control Options -> Advanced Options and set Primary Auto-Select to Never. You modify autoselect settings on the same screen you modify your loadout, ship graphics, and modifiers, the Multiplayer -> Customize menu. Order the weapons you wish starting with the weapon you want to select always on top. You can "X" out a weapon to make sure it never gets selected. Also, never miss a devastator autoselect with the alert option. Autoselect can be enabled for primaries, secondaries, both, or neither. For Classic Spawns mode, Impulse+ (dual Impulse) is treated as being below everything in the list. If you don't want a weapon to be selected above Impulse+, simply "X" it out. Note that this will affect what weapon is selected in your loadouts. For instance, if you have a loadout with Impulse, Thunderbolt, and Hunters, and you have Thunderbolt higher than Impulse in autoselect, you will now start with Thunderbolt selected, and NOT Impulse. Works for missiles, too.

New advanced settings are available for multiplayer games:

- Allow Rear View Camera (defaults off). This option allows players to use the rear view camera. Note the cheat code has been removed. You can now turn on rear view in Cockpit & HUD options.

- Scale Respawn To Team Size (defaults off, only available in team games). This option will scale a player's respawn time after death to be equal to the number of players on their team.

- Classic Spawns (defaults to off). In this mode, you do not get loadouts, but rather you start with Impulse+ (dual Impulse) and Falcons, and must collect the primaries you wish to use. When you pick up an Impulse, you will be rewarded with the Impulse++ Q upgrade which gives quad Impulse. Further, you are unable to pick up copies of weapons you already have, and spewed primaries from destroyed ships will disappear after 30 seconds if not collected to prevent level clutter.

- CTF Carrier Boosting (defaults to off, only available in CTF). This option will prevent flag carriers from using boost in CTF. It will be shown in the UI by your boost always being in an overheat state. Note that this is a change in defaults. In 0.3.4 and prior it was always on.

- Loadout Settings -> Allowed Modifiers (defaults to all modifiers allowed) - Allows you to fine tune which modifiers are allowed in the game. If a player comes in with modifiers that are not allowed, they will be prevented from readying up, and will have to select one of the allowed modifiers before playing. They will be forcefully removed from the game when it starts up, and will not be allowed in a join in progress game with the wrong modifiers.

An attempt has been made to work around the known issue of ships being invisible when you join a multiplayer game in progress.

The multiplayer level selection screen now properly shows map descriptions.

entity_trigger_box_lava_alien and entity_trigger_box_lava_normal entities from the editor are now enabled in game.

Shenanigans, methinks.

v0.3.4

Fixed a bug with silent thunderbolt.

v0.3.3

- VSync options no longer assume 60 Hz, and the left arrow now works for it.
- Sniper packet projectiles are now seen correctly by other clients for all primaries except thunderbolt. Thunderbolt and all secondaries were already being seen correctly by all clients. This should make receiving damage from most primaries feel more consistent.
- Major JIP fixes, including preserving player scores, making players inactive until they spawn, and correctly-synchronized weapons.
- Creeper sync has been expanded to include time bombs.
- Projectiles are no longer able to be seen coming through walls on maps with multiple chunks. These projectiles would not cause damage, but were confusing to players.
- Thunderbolt charge and cyclone fire rate will no longer hold over after a death if you're holding the primary button down when you die and when you spawn.
- CTF flag duplication should no longer occur.
- 10 FPS floor for client-side ticks removed from multiplayer games.
- Race mode times are now displayed in m:ss.fff format.
- Servers should no longer crash when maps have missing resources, it should just bounce clients back to the lobby and continue functioning normally.
- Console now accepts left key input.
- Attempt to make GSync dnSpy fix more consistent.

v0.3.2

- Client-side handling of games that use maps with missing resources. Clients will now be booted to the lobby in this case. Servers still crash, and is being tracked in issue #33.
- Match Presets left arrow now works.
- Sniper packets mod is now on by default, and no longer has an option to be turned off. The only time a v0.3.2 server should start a game without the sniper packets mod is when the client that starts it does not have the sniper packets mod.
- Clients without the sniper packets mod can now join games with the sniper packets mod, but won't have the benefit of sniper packets enabled for them.
- Devastators will still exhibit some strange client-side behavior, and is being tracked in issue #29.

v0.3.2-beta.2

* Potential bug fix to other players' devastators remaining in the game as a broken physics object after being manually detonated.
* olmod.sh can now be ran from any directory if you provide the -gamedir argument for the path to the Overload executable.

Note: v0.3.1.3 and earlier clients will still be able to start and play games on v0.3.2-beta.2 servers. However, if a v0.3.2-beta.2 client starts a game with sniper packets, v0.3.1.3 and earlier clients will not be able to join.

v0.3.2-beta.1

- Replaces default networking model with a sniper packets style, resulting in more consistent network play.

- Better synchronizes energy, ammo, weapon choice, missile counts, and devastator firing/triggering when using sniper packets.

Note: v0.3.1.3 and earlier clients will still be able to start and play games on v0.3.2-beta.1 servers. However, if a v0.3.2-beta.1 client starts a game with sniper packets, v0.3.1.3 and earlier clients will not be able to join.

- Fix for observer first person view

- Add view player option to observer mode, by roncli

- Fix for observer joining in progress match

- Fixed creeper sync server controlled explosions

- Add creeper sync support

- Join-In-Progress: Better support for joining while match starts/ends

- Fixes for server browser (support old game build, fix lan/internet match after using server browser, allow esc key)

- Added server browser by Tobias
- Fix boost reset on spawn fix

- Fixes for upcoming Overload version

- Support for upcoming Overload version

- Fix partial team mode in race mode

- Better support for no lap limit
- Changed lap limit setting increments
- Fixed race mode scoreboard sorting
- Default to instant respawn for race mode
- Fixed bumping sound after leaving match
- Fixed 3 or more team matches

Added Race mode by Tobias
Support for mac
Show current team score when joining in progress match
Reset boost heat on respawn
Mod loading speedup

- Added fire macro/mouse wheel prevention by roncli
- Added sudden death option for MB/CTF matches by roncli
- CTF: Score on touching flag instead of goal
- CTF: Fix scoring when flag is returned
- CTF: Disable flag pickup when dying

- Added O1L match preset
- Preserve LD_PRELOAD on linux by derhass

Changes since 0.2.7.2:
- Added MP Presets by Tobias
- Less strict item pickup for inverted segment MP levels, originally by terminal
- CTF: Added lost flag return timer
- Show HUD messages and flag status on MP death screen
- Added long MP password support by Tobias
- Increased simultaneous sounds to 512 (formerly mod-moreaudio)
- Disable super spawn when no spawnable items specified
- Support for internet server ping

- Disable sometimes unreliable 'grate' pickup check in MP
- Added long MP password support by Tobias

- Added MP Presets by Tobias
- Increased simultaneous sounds to 512 (formerly mod-moreaudio)

CTF return timer fixes

- CTF: Added return timer

- Disable super spawn when no spawnable items specified

- Fix Impulse in Warrior loadout when used with Bomber (serverside)
- Disable super alarm in levels without super spawn (serverside)

- Always make all MP loadouts available and use impulse instead of reflex for Warrior (with help from terminal)
- Fix for missing doors and teleporters in MP levels

- MP server support for new tracker (by roncli)
- MP hunter speed reduced (for updated client & server)
- Client side homing tracking improved (by terminal)
- Prevent power-ups moving through ceiling in outdoor levels (by terminal)
- Added Join/Create again after match
- Fixed JIP team balancing
- Added internet server (without olproxy)
- MP damage log includes weapon lava explosions

- CTF: possible fix for persistent halo
- CTF: pickup sound changed to be less similar to super sound (by terminal)
- MP teams: added red enemy arrow to name in hud (by terminal)

- Added MP Capture The Flag (CTF) mode
- Observer mode visibility fixes by roncli
- MP Prev weapon switch fix byTobias
- Added "Create open match" to enable JIP more easily
- Disabled door opening when nearby in MP (with updated server)
- Fix for MP door visibility in some levels (with help from terminal)
- Added support for crystals and more fans/monitors in custom levels (with help from kevin)

- Adds MP level select screen

- Adds game stats tracking, by roncli

- Hopefully fixes team imbalance with JIP

- Fixes already exists with new level version on level download

- Disables weapon speed/lifetime randomization in MP

- Support for multiple level versions in level download

- Observer: double movement speed, show thunderbolt/missiles (server side fix), skip more level deactivation

- Join in progress: auto level download, fix for 0ms ping

A few client only changes:

- Sorts MP level list by name (by Tobias)

- Adds custom mod loading, add mod-xxx.dll assembly to olmod directory

- Adds -frametime command line option

- Allows spawn data for custom MP levels

- Allows custom music in custom levels

- Adds Internet match option with built in olproxy

- New server stat log with JSON output (by luponix)

- Experimental client side MP level download

- MP fixes: assist calculation (by roncli), no extra new weapon pickup sound, show olmod server version

- JIP fixes: match time no longer resets, shows joined player, fix for join in lobby

- join-in-progress fixes: join as observer, loadout data, preserve kda/time in match, start 1 player match

- console: option to enable console key `

- console commands: xp, reload_missions, mipmap_bias, ui_color

- -gamedir option

- Join in progress support

- Shoot to open doors in MP (by terminal)

- Paste in MP password field with Ctrl+V

- Monsterball: fix linux support, better weapon balance, use thunderbolt charge, only score with ball, support wind tunnels, no score after game ends (by terminal)

- Fix empty anarchy lobby bug

- Fixes for more than 8 players: joining, lobby UI, assist finding

- More monsterball tweaks: drag, speed cap, thunderbolt (by terminal)

- Removes log spam on windows server

- Added MP homing fix by terminal

- Added monsterball tweaks by terminal (weapons now hit monsterball, no more suicide penalty)

- Fix for CM/SP no damage bug, reported by sLLiK

- Hide empty teams, suggested by Yoshimitsu

- Observer & more teams fixes

- Added game stats log (by luponix)

Added support for up to 8 teams

- More 16 player tweaks, it appears to work now

- Added `frametime` non-cheat code and `rearview` cheat code

- Customize robot / projectile (weapon) data

- Stability fix for observer mode

- A few stability fixes for the Windows loader

- Added MP observer mode

- Attempt at MP 16 player support, not working currently

- linux support

Known bugs:

- observer mode fails if the game does not have focus when the match starts

Initial version

Recent Commits

0bf248c Fix excessive collisions.
6334e14 Add changes.
8e531a7 Merge branch 'master' of https://github.com/overload-development-community/olmod
10e85e0 Version 0.3.9.

Fix excessive debugging and Smashmouth Overload.
98701f9 Merge pull request #103 from derhass/for_roncli/dont_render_ui_collision_mesh

Don't render the UI collision mesh
6fb589f Do not render the UI collision mesh.

This improves the rendering performace. You can expect to observe
a boost in the range of 2% to 8% of your frame rate, depending on
your hardware and your settings.

In my test scenario on my machine, framerate on a particular spot
in vault went from ~160 to ~170 (+6%).

Overload uses a mesh to render the distorted menu and UI elements (also
in game). For the menu to be usable with the mouse, the distortion
has to be inverted. This is done by _another_ mesh which is almost
identical to the render mesh and is used only for CPU side raycasting in
UIManager.FindMousePosition().

However, for dynamically creating this collision only mesh, Luke
Schneider's concept of "UnityRenderLayer" is used, But this has the
effect that we now have an "collision ui layer" lying around which has
its own Renderer and whivh actually renders the collision mesh
_each frame_, for no benefeit at all.

This patch simply disables the renderer for the UI collision layer.
7dac6db Don't spawn a cloak super powerup when always cloaked is on.
5e192c1 Version 0.3.8.
654629a Allow rear view by default in public anarchy.
a9f5861 Merge pull request #100 from tobiasksu/projdata

Initial checkin - extended projdata support, addresses Issue #98
36e9615 Initial checkin - extended projdata support, addresses Issue #98
b652836 Fix the "Ben bug".

The "Ben bug": https://clips.twitch.tv/VenomousResourcefulBillPJSugar

m_input_deficit appears to be useless, just set to 60 before accelerating inputs to ensure it never bothers anything.

Fixes #97.
15b27b2 Always cloaked mode.
a6ba14f Top Secret
6525fed Chilly's going to *kill me*...
0a43dda Merge pull request #96 from derhass/for_roncli/0.3.7_improvments_for_bad_network_connection

Improvements for bad network connection quality
1586abd Double the allotted time for a client to load a map from 30 to 60 seconds.
7357aa5 Correctly represent floats in the settings file.
c1e58c8 delay the time resync as much as possible to allow to process more than one new snapshot at once

This addresses the issue that occurs when packets arrive late followed by
several packets received in short succession, as could happen if data
is buffered somewhere on your network path, or by packet loss, when unity's
reliable conncetion fowrds two packets at once after it detected that
one was missing.

Consider the following example:
We do not receive new packets for 70ms (4 physics ticks), and then 4 new
packages within 1ms. On Reception of the first packet, we would detect
that we are out of sync by 3 frames, triggering a hard sync, and during the
processing of the 3 following packets, we would be out of sync by -3
frames again, doing another hard sync inbetween. However, if we had
processed all 4 packets at once and only synced after all of them,
we would have processed all 4 packets worth of 67ms simulation time wich
closely matches the 70ms elapsed time, and no hard resync is neccessary
at all.

This implementation works cby ounting the number of received (and enqueued)
packets for which no time resync was done so far, and delaying the re-sync
until we need the data for rendering a new frame. All packets which arrived
during the rendering of the last frame will be processed at once.
38a2405 ensure full backwards and forward compatibility

The client assumes that NewPlayerSnapshotToClientMessages will NOT
contain reliable timestamps unless explicitely told so by the server.

The server now unconditionally sends the MPTweak
"nocompress.reliable_timestamps,True" to tell clients that the timestamps
it sends are reliable.

Full compatibitility is achieved for all possible combinations of
"old" PlayerSnapshots, NewPlayersnapshots with unreliable timestamps,
NewplayerSnapshots with reliable timestamps on client and server,
but the improvements of this version will only be available when using
it on both client and server.
ffbed32 Use timestamps of the new snapshot messages to detect missing packets

This improves the smoothness of ship movements under bad network
conditions, especially with high packet loss ratios.

This patch changes the data sent in the m_server_timestamp field of
NewPlayerSnapshotToClientMessages to transmit the server's
Time.fixedTime field which matches the fact that the individual
snapshots always contain movement over Time.fixedDeltaTime seconds.

The client uses this timestamp to detect if any packets inbetween
were missing (or even if we got duplicates or messages out of order,
although that should never happen as long as we use unity's "reliable"
transmission channel).

If missing packets are detected, synthetic messages are calculated
based on the new message and the latest message we received, and
added to the ring buffer, so that the actual per-frame code can
be kept simple and rely on the fact that the ring buffer always
contains packets which are fixedDeltaTime apart in simulation time.

Furthermore, the number of missing packets is also used as basis
for the time sync calculation, as we now exactly know how many
new packets the server actually did sent since the last time we
did the resync.
1066263 Attribution for bug fix.
ec2b62f Version 0.3.7.
f2bdb4d Issue #30 - remove disconnected PlayerShip client side
a8486c7 Merge pull request #95 from overload-development-community/roncli/ctf-flag-dupe-fix

Attempt to fix bugs with flag getting duplicated.
835b0bf Item types to none.

To be doubly sure that we don't pick up something that's already been picked up, we set the item's type to NONE when the item's game object is destroyed, and then check if the item type is NONE when we test the trigger. Given this worked for powerups, this should probably work here as well.
6e28088 Prevent a powerup being picked up by 2 pilots at the same time.

Fixes #81.
ea3c832 Attempt to fix bugs with flag getting duplicated.

Also fixes pickup message when a flag at home is picked up, and adds a new dropped message.
e5cf368 Merge pull request #94 from derhass/fixes/0.3.6_use_velocities_again

actually use the new velocity fields from the 0.3.6. protocol
7edded0 use the new protocol velocities when available

This fixes a regression from 9159fca1c700043d7977dff8414eaefef136111e
which accidently estimated the velocities from the previos snapshots
even if the new protocol with explicit velocities was used.
9159fca Allow new clients to work with old network protocol.
abb1e6b Version 0.3.6.
a1f2b88 .gitattributes for *.sh files.
1a61dc4 Merge pull request #77 from DissCent/master

Add GameMod.dll mono build script
ea430a6 Fix lag compensation strength setting.

Fixes #92.
4b2dade Comment out logging, pending removal.
ace6e9c Fix incorrect compensation strength calc.
d51b41d Menu fading.
6919279 Whoops.
4684e88 Merge pull request #91 from tobiasksu/rc036

Fix for Lag Compensation menu Lag on sliders (Lagception)
9bae68a Fix for Lag Compensation menu Lag on sliders
a9f00b9 Don't reset whether lag compensation is on or not.
3b1b682 Wire up menus, default lag compensation to on.
426b617 Change defaults to 100.
4eede1b Update menus, prepare net code for RC 3.
4dd758a Merge pull request #89 from tobiasksu/036rc3_menus

Added supporting menu items for Lag Compensation in Options -> Multip…
0f90c04 Merge pull request #88 from derhass/for_roncli/0.3.6.RC3_time_dilation_fix

fix extrapolation / interpolation offsets during time dilation (timebombs)
59da310 Added supporting menu items for Lag Compensation in Options -> Multiplayer Options, removed deprecated Cross-Platform options from UI
55e3557 fix extrapolation / interpolation offsets during time dilation (timebombs)
7759eea Merge pull request #87 from sjackso/RC3

Lag compensation updates from sjackso and derhass.
8937336 Derhass interpolation extravaganza
b28e96c extrapolation reset for new match
72908b0 WIP from derhass code
1592ef3 Re-compress position quaternions

Store server timestamps on client
0c02aa7 Complete new networking code as of 0.3.6.RC2.COW.5
ff96f4e Backwards compatibility. (#1)

* Backwards compatibility.

* Swap channels.

* Completely swap channels.
46d7ac6 WIP towards new network protocol for RC3
1067065 For extrapolation, move the extra frame from the lookahead to the GetShipExtrapolationTime function.
e5f85cf Minor tweak to anticheat.
d721284 Add lag compensation scale. Fix ship extrapolation.
f4355f2 Reinstate the 75% factor for now.
f78dd96 Merge pull request #84 from sjackso/cowfix_rc2

Fixes for teleporting ships
ddf51ba Add and use Tobias menu items

Untested as yet
30a8d21 Merge pull request #83 from derhass/fixes/joystick_mod_initialization

fix joystick mod initialization
3c14311 Fixes for teleporting ships
a384217 Also this is part of the VR flashing fix.
be0d83e Fix annoying flashing in VR.

Fixes #82.
14be0e8 Merge pull request #1 from derhass/fixes/dcents_linux_build

restore mono_build.sh which got deleted by a previous commit and mae t work if OLPATH contains whitespace characters
13b4b33 restore mono_build.sh which got deleted by a previous commit and make it work if OLPATH contains whitespace characters

You probably forgot to add the moved file when you moved it from GameMod/
to linux/ ;)

Also fix issues if OLPATH contains whitespaces, which is the case for the
default GOG installation path of "$HOME/GOG Games/"
df0e5ee fix joystick sensitivity initialization from original pilot config

Overload offers 5 distinc joystick sensitifity settings which map to
values between 0.75 and 2.2 as the underlying sensitify factors. The
joystick mod offers a setting from 0 to 100, and linearly maps the
[0,100] range to [0.75,2.2] by using f(x)=0.0145*x + 0.75. However, when
reading the initial settings from the unmodded sensitivity value, the
conversion formula is not properly inverted, it uses

float sens = (RWInput.sens_multiplier[sens_index] / 2.2f) * 100f;

instead, which simply maps the range [0,2.2] to [0,100].

This patch fixes the initialization by properly applying the
inverse of the forward transform so that [0.75,2.2] is mapped to [0,100].
f82df66 fix wrong array indexing when initialzing joystick settings from the original pilot config

The joystick mod attempts to initalize the new sensitiviy and deadzone
settings from the original settings of the unmodded version, however, the
code to do so was broken: Overload holds the array m_deadzone and
m_sensitivity per controller, which are each sized by the number of axes.
The functions GetAxisDeadzone() and GetAxisSensitivity() just return the
value of the respective array for the selected axis parameter.

But the olmod code here acutally indexes into this array twice: it
gets the raw arrays AND calls the getter functions, effectively using
m_sensitivity[m_sensitivity[axis]] and m_deadzone[m_deadzone[axis]],
which is totally wrong and also leads to the game getting stuck at the
loading screen if the array indices are out of range. Note that both
sensitivity and deadzone are originally indices from 0 to 4, so for any
joystick with less than 5 axes, a high setting will trigger this bug.
In my case, I had a deadzone setting of 4 in a joystick with 4 axis, which
lead to:

Unhandled Exception detected: IndexOutOfRangeException: Array index is out of range.

(Filename: /home/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

GameMod.Controllers_PilotManager_Select.ReadControlData () <0x00390>
(wrapper dynamic-method) Overload.PilotManager.Select_Patch0 (string) <0x0010f>
Overload.PilotManager.Initialize () <0x002b9>
Overload.GameManager/c__Iterator0.MoveNext () <0x00da8>
(wrapper dynamic-method) Overload.GameManager.Update_Patch1 (object) <0x000ea>

This patch fixes the access by properly indexing both arrays once per axis,
as it was intented all along...
eb811a3 Make no compression backwards compatible.
253e6e7 Project file update for spawn initialization.
2cc83b4 Combine flak/cyclone/thunderbolt fix with the boost fix, and move it all into the MPSpawnInitialization mod.
a119752 Backwards compatibility for classic spawns.

Fixes #64.
1fd7e8b Code cleanup.

Cache many places where reflection is used.
e4f5b47 Improve Linux/Mac makefile to notice changes to CS files
1c0c0db Add build instructions for Linux and Mac to README.md
5511172 Implement building of GameMod.dll from Linux/Mac makefile
ddd6372 Don't compress position/rotation.

Fixes #74.
33f9d3e Merge pull request #80 from tobiasksu/issue44

Issue #44 - Don't sort players in team anarchy games by anarchy points
f4107af Merge pull request #78 from tobiasksu/mp-automap

Enable Automap in MP (via Quick Save binding)
f6a3c63 Merge pull request #79 from tobiasksu/joystick

Data type mismatch in .xconfigmod read
5f51802 Issue #44 - Don't sort players in team anarchy games by anarchy points
fe15869 Data type mismatch in .xconfigmod read
76b3936 Enable Automap in MP (via Quick Save binding)
d03f075 Add GameMod.dll mono build script
4a87908 Merge pull request #76 from luponix/master

resolves overload-development-community/olmod#72
1786964 resolves overload-development-community/olmod#72
23d2960 Merge branch 'master' of https://github.com/overload-development-community/olmod
52a5a37 Client Extrapolation mod from Whollycow.
35beada Merge pull request #73 from luponix/master

Fix for charge eating Thunderbolt swaps
14c2dac Fix for charge eating Thunderbolt swaps

Fixes the bug where if the player carried a Thunderbolt and picked up a weapon while charging, Autoselect would wait for the player to stop charging but would still initiate the swap (if the picked up weapon was of higher priority) to early for the TB shot to be actually fired.
503ffb1 Fix exception with creeper sync.

Fixes #62.
d6d575a Extra checks to ensure extra weapons do not spawn.

Fixes #63.
19f601d Merge pull request #71 from tobiasksu/joystick

Convert "Controller Axis Settings" to numerical sliders
b07c640 Merge pull request #70 from tobiasksu/modded_fix

Tweak **MODDED** version display mechanism
17c1f62 Merge pull request #69 from tobiasksu/presets_fix

Add CTF Boost and Classic Spawn to Match Presets
391980d Convert "Controller Axis Settings" to numerical sliders
2c9647a Tweak **MODDED** version display mechanism
roncli.com Media Player