Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
26857087f9 | ||
|
|
a43e1cec86 | ||
|
|
d85e5f0d16 | ||
|
|
196b208af2 | ||
|
|
e731098dae | ||
| 81f7c798a9 | |||
|
|
91f9940aad | ||
|
|
6c17bfd942 | ||
| 94627e4c84 | |||
|
|
991885366b | ||
| b982a3b938 | |||
| 7c7c0b3fcb | |||
| 660d953263 | |||
| 29a321f217 | |||
|
|
05457131c1 | ||
| 3e27a1b5cb | |||
|
|
e3e8c9d402 | ||
| ba4be519bd | |||
| 81d416e55f | |||
| df0badafd1 | |||
| 4baa56d466 |
File diff suppressed because it is too large
Load Diff
77
Run.sh
77
Run.sh
@@ -1,50 +1,79 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
OUTPUT_DIR="$2"
|
OUTPUT_DIR="$2"
|
||||||
CFG_FILE="$3"
|
|
||||||
DEFAULT_CFG_FILE=UnrealTournament.ini
|
DEFAULT_CFG_FILE=UnrealTournament.ini
|
||||||
|
CFG_FILE="${3:-$DEFAULT_CFG_FILE}"
|
||||||
|
|
||||||
|
function add_iniKeyEx() {
|
||||||
|
crudini --set $OUTPUT_DIR/System/$1 $2 __$3 $4
|
||||||
|
# Warning: ugly hack with sed to allow multiple key instances + to remove space around '='
|
||||||
|
sed -i "s/[[:space:]]*__$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')[[:space:]]*=[[:space:]]*/$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')=/g" $OUTPUT_DIR/System/$1
|
||||||
|
}
|
||||||
|
# !!Warning!! section is not considered
|
||||||
|
function del_iniKeyEx() {
|
||||||
|
sed -i "/[[:space:]]*$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')[[:space:]]*=[[:space:]]*$(echo $4 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')/d" $OUTPUT_DIR/System/$1
|
||||||
|
}
|
||||||
|
function add_iniKey() {
|
||||||
|
add_iniKeyEx $CFG_FILE $1 $2 $3
|
||||||
|
}
|
||||||
|
# !!Warning!! section is not considered
|
||||||
|
function del_iniKey() {
|
||||||
|
del_iniKeyEx $CFG_FILE $1 $2 $3
|
||||||
|
}
|
||||||
|
function add_ServerPackage() {
|
||||||
|
add_iniKey 'Engine.GameEngine' ServerPackages $1
|
||||||
|
add_iniKey 'XC_Engine.XC_GameEngine' ServerPackages $1
|
||||||
|
}
|
||||||
|
function del_ServerPackage() {
|
||||||
|
del_iniKey 'Engine.GameEngine' ServerPackages $1
|
||||||
|
del_iniKey 'XC_Engine.XC_GameEngine' ServerPackages $1
|
||||||
|
}
|
||||||
|
function add_ServerActors() {
|
||||||
|
add_iniKey 'Engine.GameEngine' ServerActors $1
|
||||||
|
add_iniKey 'XC_Engine.XC_GameEngine' ServerActors $1
|
||||||
|
}
|
||||||
|
function del_ServerActors() {
|
||||||
|
del_iniKey 'Engine.GameEngine' ServerActors $1
|
||||||
|
del_iniKey 'XC_Engine.XC_GameEngine' ServerActors $1
|
||||||
|
}
|
||||||
|
function getmodprefix() {
|
||||||
|
UFile=$(find $OUTPUT_DIR/System -type f -iname "SmartSB[[:digit:]]*\.u" -exec basename {} \;)
|
||||||
|
BaseName="${UFile%.*}"
|
||||||
|
echo "$BaseName"
|
||||||
|
}
|
||||||
function install() {
|
function install() {
|
||||||
cp $SCRIPT_DIR/Help $OUTPUT_DIR/Help -R
|
rsync -a $SCRIPT_DIR/Help/ $OUTPUT_DIR/Help/ --exclude '.git'
|
||||||
cp $SCRIPT_DIR/System $OUTPUT_DIR/System -R
|
rsync -a $SCRIPT_DIR/System/ $OUTPUT_DIR/System/ --exclude '.git'
|
||||||
cp $SCRIPT_DIR/Textures $OUTPUT_DIR/Textures -R
|
rsync -a $SCRIPT_DIR/Textures/ $OUTPUT_DIR/Textures/ --exclude '.git'
|
||||||
|
|
||||||
echo install ok
|
echo install ok
|
||||||
}
|
}
|
||||||
|
|
||||||
function enable() {
|
function enable() {
|
||||||
SSBUFile=$(find $OUTPUT_DIR/System -type f -iname "SmartSB*.u" ! -name "SmartSBStats.u" -exec basename {} \;)
|
BaseName="$(getmodprefix)"
|
||||||
SSBBaseName="${SSBUFile%.*}"
|
|
||||||
|
|
||||||
# Warning: ugly hack with sed to allow multiple key instances
|
add_ServerPackage $BaseName
|
||||||
crudini --set $OUTPUT_DIR/System/$CFG_FILE 'Engine.GameEngine' _ServerPackages $SSBBaseName
|
add_ServerPackage SmartSBStats
|
||||||
sed -i 's/_ServerPackages/ServerPackages/g' $OUTPUT_DIR/System/$CFG_FILE
|
add_ServerActors $BaseName.SmartSBServerActor
|
||||||
|
|
||||||
crudini --set $OUTPUT_DIR/System/$CFG_FILE 'Engine.GameEngine' _ServerPackages SmartSBStats
|
#todo: config SSB ?
|
||||||
sed -i 's/_ServerPackages/ServerPackages/g' $OUTPUT_DIR/System/$CFG_FILE
|
|
||||||
|
|
||||||
crudini --set $OUTPUT_DIR/System/$CFG_FILE 'Engine.GameEngine' _ServerActors $SSBBaseName.SmartSBServerActor
|
|
||||||
sed -i 's/_ServerActors/ServerActors/g' $OUTPUT_DIR/System/$CFG_FILE
|
|
||||||
|
|
||||||
echo enable ok
|
echo enable ok
|
||||||
}
|
}
|
||||||
|
|
||||||
function disable() {
|
function disable() {
|
||||||
SSBUFile=$(find $OUTPUT_DIR/System -type f -iname "SmartSB*.u" ! -name "SmartSBStats.u" -exec basename {} \;)
|
BaseName="$(getmodprefix)"
|
||||||
SSBBaseName="${SSBUFile%.*}"
|
|
||||||
|
|
||||||
sed -i "/ServerPackages[[:space:]]*=[[:space:]]*$SSBBaseName/d" $OUTPUT_DIR/System/$CFG_FILE
|
del_ServerPackage $BaseName
|
||||||
sed -i "/ServerPackages[[:space:]]*=[[:space:]]*SmartSBStats/d" $OUTPUT_DIR/System/$CFG_FILE
|
del_ServerPackage SmartSBStats
|
||||||
sed -i "/ServerActors[[:space:]]*=[[:space:]]*$SSBBaseName.SmartSBServerActor/d" $OUTPUT_DIR/System/$CFG_FILE
|
del_ServerActors $BaseName.SmartSBServerActor
|
||||||
|
|
||||||
echo disable ok
|
echo disable ok
|
||||||
}
|
}
|
||||||
|
|
||||||
function show_help() {
|
function show_help() {
|
||||||
echo
|
echo
|
||||||
echo "Usage: $0 { install | enable | disable } <UT99_INSTALL_DIR> [<UT99_CONFIG_FILE>]"
|
echo "Usage: $0 { getmodprefix | install | enable | disable } <UT99_INSTALL_DIR> [<UT99_CONFIG_FILE>]"
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,6 +105,10 @@ function check_game_dir() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
'getmodprefix')
|
||||||
|
check_game_dir
|
||||||
|
getmodprefix
|
||||||
|
;;
|
||||||
'install')
|
'install')
|
||||||
check_game_dir
|
check_game_dir
|
||||||
install
|
install
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
[Public]
|
|
||||||
Object=(Name=SmartSB107.SmartSB,Class=Class,MetaClass=Engine.Mutator,Description="SmartSB v107")
|
|
||||||
Binary file not shown.
3
System/SmartSB122.int
Normal file
3
System/SmartSB122.int
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[Public]
|
||||||
|
Object=(Name=SmartSB122.SmartSB,Class=Class,MetaClass=Engine.Mutator,Description="SmartSB v122")
|
||||||
|
Object=(Name=SmartSB122.SmartSBServerActor,Class=Class,MetaClass=Engine.Actor,Description="")
|
||||||
BIN
System/SmartSB122.u
Normal file
BIN
System/SmartSB122.u
Normal file
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user