diff --git a/mod/ONIAgentBridge.csproj b/mod/ONIAgentBridge.csproj
index e0e0c3d..c0b4478 100644
--- a/mod/ONIAgentBridge.csproj
+++ b/mod/ONIAgentBridge.csproj
@@ -2,31 +2,15 @@
net471
ONIAgentBridge
- 1.0.0
ONIAgentBridge
- 7
+ latest
+ disable
-
-
-
-
-
-
- $(ONI_Path)/Assembly-CSharp.dll
- False
-
-
- $(ONI_Path)/Assembly-CSharp-firstpass.dll
- False
-
-
- $(ONI_Path)/UnityEngine.dll
- False
-
-
- $(ONI_Path)/UnityEngine.CoreModule.dll
- False
-
+
+
+
+
+
diff --git a/scripts/build_mod.sh b/scripts/build_mod.sh
index 2c35376..351d0b7 100755
--- a/scripts/build_mod.sh
+++ b/scripts/build_mod.sh
@@ -5,65 +5,57 @@
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
-MOD_DIR="$SCRIPT_DIR/mod"
+PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
+MOD_DIR="$PROJECT_DIR/mod"
OUTPUT_DIR="$MOD_DIR/bin"
-# Find ONI installation
ONI_PATH="${ONI_PATH:-}"
if [ -z "$ONI_PATH" ]; then
- # Common paths
for candidate in \
+ "$HOME/.steam/steam/steamapps/common/OxygenNotIncluded" \
"$HOME/.local/share/Steam/steamapps/common/OxygenNotIncluded" \
- "$HOME/Library/Application Support/Steam/steamapps/common/OxygenNotIncluded" \
"/c/Program Files (x86)/Steam/steamapps/common/OxygenNotIncluded" \
"/mnt/c/Program Files (x86)/Steam/steamapps/common/OxygenNotIncluded"; do
- if [ -d "$candidate" ]; then
- ONI_PATH="$candidate"
+ MANAGED="$candidate/OxygenNotIncluded_Data/Managed"
+ if [ -d "$MANAGED" ]; then
+ ONI_PATH="$MANAGED"
break
fi
done
fi
if [ -z "$ONI_PATH" ]; then
- echo "[!] ONI installation not found. Set ONI_PATH environment variable."
- echo " export ONI_PATH=/path/to/OxygenNotIncluded"
+ echo "[!] ONI installation not found."
+ echo " Set ONI_PATH to the Managed directory:"
+ echo ' export ONI_PATH="/path/to/OxygenNotIncluded_Data/Managed"'
exit 1
fi
-echo "[Build] ONI path: $ONI_PATH"
+echo "[Build] ONI: $ONI_PATH"
-# Check required DLLs
-GAME_DLLS=(
- "$ONI_PATH/Assembly-CSharp.dll"
- "$ONI_PATH/Assembly-CSharp-firstpass.dll"
- "$ONI_PATH/UnityEngine.dll"
- "$ONI_PATH/UnityEngine.CoreModule.dll"
- "$ONI_PATH/0Harmony.dll"
-)
-
-for dll in "${GAME_DLLS[@]}"; do
- if [ ! -f "$dll" ]; then
- echo "[!] Required DLL not found: $dll"
- exit 1
- fi
+for dll in "$ONI_PATH/Assembly-CSharp.dll" "$ONI_PATH/UnityEngine.dll" \
+ "$ONI_PATH/UnityEngine.CoreModule.dll" "$ONI_PATH/0Harmony.dll"; do
+ if [ ! -f "$dll" ]; then echo "[!] Missing: $dll"; exit 1; fi
done
-echo "[Build] Found all required DLLs"
-
mkdir -p "$OUTPUT_DIR"
-# Compile
-mcs -target:library \
- -out:"$OUTPUT_DIR/ONIAgentBridge.dll" \
- -reference:"$ONI_PATH/Assembly-CSharp.dll" \
- -reference:"$ONI_PATH/Assembly-CSharp-firstpass.dll" \
- -reference:"$ONI_PATH/UnityEngine.dll" \
- -reference:"$ONI_PATH/UnityEngine.CoreModule.dll" \
- -reference:"$ONI_PATH/0Harmony.dll" \
- -recurse:"$MOD_DIR/*.cs"
+REFS=""
+for dll in "$ONI_PATH/Assembly-CSharp.dll" "$ONI_PATH/UnityEngine.dll" \
+ "$ONI_PATH/UnityEngine.CoreModule.dll" "$ONI_PATH/0Harmony.dll"; do
+ REFS="$REFS -reference:\"$dll\""
+done
+if [ -f "$ONI_PATH/Assembly-CSharp-firstpass.dll" ]; then
+ REFS="$REFS -reference:\"$ONI_PATH/Assembly-CSharp-firstpass.dll\""
+fi
-echo "[Build] Compilation successful!"
-echo "[Build] Output: $OUTPUT_DIR/ONIAgentBridge.dll"
+echo "[Build] Compiling..."
+eval mcs -target:library -out:"$OUTPUT_DIR/ONIAgentBridge.dll" $REFS -recurse:"$MOD_DIR/*.cs"
+
+echo "[Build] SUCCESS: $OUTPUT_DIR/ONIAgentBridge.dll"
echo ""
-echo "To install: copy $OUTPUT_DIR/ONIAgentBridge.dll and $MOD_DIR/mod_info.yaml"
-echo " to your ONI mods/local/ONIAgentBridge/ directory"
+echo "Install (Linux):"
+echo " MOD_DIR=~/.config/unity3d/Klei/OxygenNot\\ Included/mods/local/ONIAgentBridge"
+echo " mkdir -p \"\$MOD_DIR\""
+echo " cp $OUTPUT_DIR/ONIAgentBridge.dll $MOD_DIR/mod_info.yaml \"\$MOD_DIR/\""
+echo " # Then enable mod in ONI > Mods > ONI Agent Bridge"