Wasteland 2
0 of 0

File information

Last updated

Original upload

Created by

OVNI

Uploaded by

OVNI

Virus scan

Safe to use

About this mod

Injects/replaces code within the game to increases mods compatibility.

Requirements
Permissions and credits
Changelogs
Wasteland2ModInjector

This tool allows to inject/replace code within the game in a way that increases mods compatibility (with both other mods, and with official patches).
It also allows to define mod's settings, thus making them easily customizable by players.

Requires Windows with NET Framework 4 or above.



== Wasteland2ModInjector installation ==

Decompress the archive directly (do not tell you zip extractor to create subfolder) in Wasteland2 folder (e.g. : "C:\Steam\SteamApps\common\Wasteland 2").
Wasteland2ModInjector.exe must be within "Wasteland 2" folder (not in a sub-folder).


== Wasteland2ModInjector updates ==


Same as for installation + ovewrite all files when asked by your zip extractor.


== Mod installation ==

To install a Wasteland2ModInjector-compatible mod :
- Close the game if it's still running.
- Copy mod's .xml file into the "Mods" folder (e.g. : "C:\Steam\SteamApps\common\Wasteland 2\Mods")
- Launch Wasteland2ModInjector.exe and wait (the process may take a few minutes depending of your computer)


== Mod Removal ==

- Close the game if it's still running.
- Remove corresponding mod's .xml file from the "Mods" folder (e.g. : "C:\Steam\SteamApps\common\Wasteland 2\Mods")
- Launch Wasteland2ModInjector.exe and wait (the process may take a few minutes depending of your computer)


== Customize Mod's Settings ==

Go in the "Mods" folder and find the .xml corresponding to the mod you want to customize, and open it with a text editor.

The settings are between <settings> and </settings> ; if you can't find them the mod can't be customized.

You can modify the value attribue for each setting, for example assuming a mod define following setting to mod the character running speed :
<setting key="speed" value="12" default="12" vanilla="6" />
Replacing it by the following line
<setting key="speed" value="24" default="12" vanilla="6" />
Will double the speed value relatively to mod's default (and quadruple the speed relatively to vanilla).

Depending of the mod and the targeted Wasteland2ModInjector version, the setting tags may have more (or less) attributes than in this example. You should only modify the value attribute (as show before) and leave the other attributes (if any) unmodified.

Once customized, close the game if it's still running, then launch Wasteland2ModInjector.exe.


== Security Warning ==

Unlike many games Wasteland 2 do not use a sandboxed script engine ; instead almost all its code is hard-coded in an executable dll file.
This means mods that modify game's code also contains non-sandboxed executable code with privilege as high as the user that launch the game.
Most (if not all) anti-malware / anti-virus wont help much, since game's dll needs to read, write and delete files for totally legit purposes (savegames, exporting characters, etc.).
Wasteland2ModInjector will scan mod's code before installation to detect possible harmful code (input/output calls, external executable's execution, ...) and will not install the mod if mod contains such code, but I'm not a security/.net framework expert so it might not be bulletproof.
If you install mods, I recommend you to launch the game from a sandboxed environment to protect your data from malicious access/modifications.

That being said, using a ready-to-use modified Assembly-CSharp.dll file isn't safer at all...


== TroubleShooting ==

- The game doesn't work anymore !!!
Try removing every mods (see Mod Removal section).
If it still doesn't work, go in Wasteland2\Build\WL2_Data\Managed folder, delete Assembly-CSharp.dll, and rename Assembly-CSharp.dll.bak.yyyyMMddHHmmss (yyyyMMddHHmmss is the date : 4 digits for year, 2 for month, etc.) to Assembly-CSharp.dll.
You may have multiple Assembly-CSharp.dll.bak.yyyyMMddHHmmss files, choose one corresponding to a date when the game was still working (you do NOT need to run Wasteland2ModInjector.exe after that).



== For modders ==

XML description :

Look at Mods/template._xml for an example, the xsd schema is with the source if needed.

<mod>
Attributes :
- name (required) : mod's name.
- version (required) : mod's version.
- author (optional) : you...
- link (optional) : link to mod's webpage (take care to replace & character by xml entity)

<settings> (optional)

<setting> (optional, required if <settings> is defined, possibly multiple)
Attributes :
- key (required) : setting's name (don't ask me why i didn't named it "name"...)
- value (required) : setting's value...
- vanilla (optional) : vanilla value if applicable.

<patch> (required, possibly multiple)

<from> (required)
String from where the vanilla code will be replaced by <replacement>'s content.
Only one occurrence of this string must exist in the IL code.

<to> (optional)
String to where the vanilla code will be replaced by <replacement>'s content (the search starts from the end of <from> string's).
If this tag is omitted, replacement will ends at the end of <from> content.

<replacement> (required)
The replacement code... To reference settings, use $$key$$.

Notes :
- <from> <to> <replacement> should be within CDATA tag (white-space matter ! ).
- line break are normalized, so it should not matter what text-editor settings you use.


Copyright (c) 2014, OVNI
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.