Update README.md

This commit is contained in:
Mister_Nebula 2021-08-04 18:59:49 +01:00
parent 39ad5862e9
commit 85eb03f3c8

View File

@ -165,20 +165,42 @@ Note - _nebula has no idea how Hamachi works and has never used it, so don't ask
- If needed, right click `References` in the Solution Explorer > Manage NuGet Packages > Update OWML to fix missing references - If needed, right click `References` in the Solution Explorer > Manage NuGet Packages > Update OWML to fix missing references
- Run this to stop tracking QSB.csproj.user: ```git update-index --skip-worktree QSB/QSB.csproj.user``` - Run this to stop tracking QSB.csproj.user: ```git update-index --skip-worktree QSB/QSB.csproj.user```
To fix the references, right click "References" in the Solution Explorer > "Add Reference", and add all the missing DLLs (references with yellow warning icon). You can find these DLLs in the game's directory (`OuterWilds\OuterWilds_Data\Managed`);
After doing this, the project references should be working. After doing this, the project references should be working.
When you build the solution, the QuantumUNET dll and all the mod files/assets are copied to `[Mod Manager directory]/OWML/QSB` from the dev folder. The build pipeline (in post-build events):
QSB.dll is first built to the dev folder as usual, then QNetWeaver is ran on it to weave in QNet/UNet serialisation code. This program outputs to the `WeavedFiles` folder, and then the weaved dll is also copied to `[Mod Manager directory]/OWML/QSB`.
If for some reason none of this is working, you might have to set everything manually: - Build QuantumUNET.
- Copy built `QuantumUNET.dll` to mod folder.
- Build QNetWeaver.
- Build QSB.
- Copy `default-config.json` to mod folder.
- Copy AssetBundles to mod folder.
- Copy `manifest.json` to mod folder.
- Run QNetWeaver on built `QSB.dll`, putting weaved files into `QSB\WeavedFiles`.
- Copy QSB.dll from `QSB\WeavedFiles` into mod folder.
- Build QSBTests.
- Use `dotnet test` to run QSBTests on QSB project.
If Visual Studio isn't able to automatically copy the files, you'll have to copy the built dlls manually to OWML.
- To fix the references, right click "References" in the Solution Explorer > "Add Reference", and add all the missing DLLs (references with yellow warning icon). You can find these DLLs in the game's directory (`OuterWilds\OuterWilds_Data\Managed`);
- If Visual Studio isn't able to automatically copy the files, you'll have to copy the built dlls manually to OWML.
If QNetWeaver does not work and does not output anything to `WeavedFiles` : If QNetWeaver does not work and does not output anything to `WeavedFiles` :
- Check what directories it's getting and make sure they point to the correct DLLs. - Check what directories it's getting in the post-build events and make sure they point to the correct DLLs.
- Contact _nebula on the Outer Wilds modding server. - Contact _nebula on the Outer Wilds modding server.
It is recommended to use the Epic version of Outer Wilds, as you cannot run multiple versions of the Steam version.
A powerful PC is needed for development, due to the high amount of RAM and CPU needed to run 2 or 3 instances of modded Outer Wilds.
It is also recommended to lower all graphics settings to minimum, be in windowed mode, and lower resolution to roughly a quarter of your monitor space. This lets you run multiple instances of Outer Wilds to quickly test QSB.
**Warning : Mod development can lead to unexpected errors in your computer system.**
- **When editing the networking code, mistakes can lead to QSB overwhelming your network connection with excess packets**.
- **Too high RAM usage will lead to Outer Wilds sticking at ~31% loading, then crashing**.
- **There have been instances of graphics cards crashing, and needing to be disabled/re-enabled from Device Manager.**
## Authors and Special Thanks ## Authors and Special Thanks
- [\_nebula](https://github.com/misternebula) - Developer of v0.3 onwards - [\_nebula](https://github.com/misternebula) - Developer of v0.3 onwards