-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgenerate_dev_env.sh
More file actions
executable file
·51 lines (47 loc) · 1.45 KB
/
Copy pathgenerate_dev_env.sh
File metadata and controls
executable file
·51 lines (47 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
if [ $# -lt 3 ]; then
echo "Usage: $0 <cmake build folder> <Soku2 out> <shady-loader path>"
exit 1
fi
CMAKE_OUT="$(realpath "$1")"
SOKU2_OUT="$(realpath "$2")"
SHADY_OUT="$(realpath "$3")"
cd "$(dirname $0)"
setup_dev_character() {
echo "Generating $1"
OUT="$OUTPUT/$1"
IN="src/Characters/$1"
if [ $(cat "$IN/character.json" | jq .enabled) '==' false ]; then
echo "Disabled"
else
IN="src/Characters/$1"
DLL="$(cat "$IN/character.json" | jq -r .character_dll)"
DAT="$(cat "$IN/character.json" | jq -r .data)"
PDB="$(echo "$DLL" | sed 's/\.dll/.pdb/g')"
rm "$SOKU2_OUT/characters/$1/$DLL" || exit
ln -s "$(realpath $CMAKE_OUT/$IN/$DLL)" "$SOKU2_OUT/characters/$1/$DLL" || exit
if [ -f "$SOKU2_OUT/characters/$1/$PDB" ]; then
rm "$SOKU2_OUT/characters/$1/$PDB" || exit
ln -s "$(realpath $CMAKE_OUT/$IN/$PDB)" "$SOKU2_OUT/characters/$1/$PDB" || exit
fi
rm -f "$SHADY_OUT/$1" || exit
ln -s "$(realpath $CMAKE_OUT/$IN/${1}_assets)" "$SHADY_OUT/$1" || exit
CONFIG="$CONFIG
$1=1"
fi
}
export NO_ZIP=1
./generate_build.sh "$CMAKE_OUT" || exit
rm -rf "$SOKU2_OUT" || exit
cp -r "$CMAKE_OUT/Soku2_full" "$SOKU2_OUT" || exit
CONFIG="[Options]
autoUpdate=0
useLoadLock=0
enableLua=1
[Packages]"
for character in `ls src/Characters/`; do
setup_dev_character "$character"
done
rm "$SOKU2_OUT"/CharacterEngine.dat
ln -s "$CMAKE_OUT"/CharacterEngine.dll "$SOKU2_OUT"/CharacterEngine.dat
printf "%s\n" "$CONFIG" > "$SHADY_OUT/shady-loader.ini"