Update Launch
This commit is contained in:
parent
87da64f126
commit
293b06cb57
345
launch.sh
345
launch.sh
|
@ -3,64 +3,59 @@ export TITLE="Worlds Linux"
|
||||||
export WORLDSDIR="$(dirname "$(readlink -f "$0")")"
|
export WORLDSDIR="$(dirname "$(readlink -f "$0")")"
|
||||||
export WINEPREFIX=$WORLDSDIR/prefix
|
export WINEPREFIX=$WORLDSDIR/prefix
|
||||||
export WORLDSINSTALL="$WINEPREFIX/drive_c/Program Files/Worlds/WorldsPlayer by Worlds.com"
|
export WORLDSINSTALL="$WINEPREFIX/drive_c/Program Files/Worlds/WorldsPlayer by Worlds.com"
|
||||||
|
export SETTHEME="DEFAULT"
|
||||||
|
|
||||||
mkdir -p $WORLDSDIR/backups $WORLDSDIR/themes
|
mkdir -p $WORLDSDIR/backups $WORLDSDIR/themes
|
||||||
|
|
||||||
if [ -f "$WORLDSDIR/wine.worldslinux" ]; then
|
if [ -f "$WORLDSDIR/wrldslinux" ]; then
|
||||||
export WINE=$(cat "$WORLDSDIR/wine.worldslinux")
|
source "$WORLDSDIR/wrldslinux"
|
||||||
fi
|
|
||||||
if [ -f "$WORLDSDIR/wineprefix.worldslinux" ]; then
|
|
||||||
export WINEPREFIX=$(cat "$WORLDSDIR/wineprefix.worldslinux")
|
|
||||||
fi
|
|
||||||
if [ -f "$WORLDSDIR/worlds.worldslinux" ]; then
|
|
||||||
export WORLDSINSTALL=$(cat "$WORLDSDIR/worlds.worldslinux")
|
|
||||||
fi
|
fi
|
||||||
cd "$WORLDSINSTALL"
|
cd "$WORLDSINSTALL"
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
sel=$(zenity \
|
sel=$(zenity \
|
||||||
--list \
|
--list \
|
||||||
--title="$TITLE" \
|
--title="$TITLE" \
|
||||||
--window-icon="$WORLDSDIR/icon.png" \
|
--window-icon="$WORLDSDIR/icon.png" \
|
||||||
--width=300 \
|
--width=320 \
|
||||||
--height=340 \
|
--height=280 \
|
||||||
--cancel-label='Quit' \
|
--cancel-label='Quit' \
|
||||||
--list \
|
--radiolist \
|
||||||
--text 'WorldsPlayer Linux' \
|
--text 'WorldsPlayer Linux' \
|
||||||
--column 'Options' \
|
--column '' \
|
||||||
--hide-header \
|
--column 'Options' \
|
||||||
'Launch Worlds' \
|
--hide-header \
|
||||||
'Open Logger' \
|
TRUE 'Launch Worlds' \
|
||||||
'Open Worlds folder' \
|
FALSE 'Launch Worlds with Logger' \
|
||||||
'Edit worlds.ini' \
|
FALSE 'Open Worlds folder' \
|
||||||
'Backup Worlds files' \
|
FALSE 'Settings' \
|
||||||
'Restore from backup' \
|
FALSE 'Clear Cache' \
|
||||||
'Set theme' \
|
FALSE 'Force Kill' \
|
||||||
'Settings' \
|
FALSE 'Open Github page' 2>/dev/null)
|
||||||
'Clear Cache' \
|
|
||||||
'FORCE KILL' 2>/dev/null)
|
|
||||||
case $sel in
|
case $sel in
|
||||||
'Launch Worlds')
|
'Launch Worlds')
|
||||||
launch ;;
|
launch ;;
|
||||||
'Open Logger')
|
'Launch Worlds with Logger')
|
||||||
logger ;;
|
launch && tail -F "$WORLDSINSTALL/Gamma.Log.open" | zenity --text-info --auto-scroll --height=480 --width=768 --title="$TITLE - Log" --window-icon="$WORLDSDIR/icon.png" --text="Gamma.Log.open" ;;
|
||||||
'Open Worlds folder')
|
'Open Worlds folder')
|
||||||
folder ;;
|
gio open "$WORLDSINSTALL" ;;
|
||||||
'Edit worlds.ini')
|
'Settings' )
|
||||||
ini ;;
|
settings
|
||||||
'Backup Worlds files')
|
main ;;
|
||||||
backup ;;
|
'Clear Cache')
|
||||||
'Restore from backup')
|
cache
|
||||||
restore ;;
|
main ;;
|
||||||
'Set theme' )
|
'Force Kill' )
|
||||||
theme ;;
|
killw
|
||||||
'Settings' )
|
main ;;
|
||||||
settings ;;
|
'Open Github page' )
|
||||||
'Clear Cache')
|
xdg-open "https://github.com/Vencorr/Worlds-LinuxScript"
|
||||||
cache ;;
|
main ;;
|
||||||
'FORCE KILL' )
|
|
||||||
kill ;;
|
|
||||||
esac
|
esac
|
||||||
|
if [ "$?" != 0 ]
|
||||||
|
then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
launch () {
|
launch () {
|
||||||
|
@ -72,122 +67,160 @@ launch () {
|
||||||
elif [ -f "$WORLDSINSTALL/$WORLDSOLD" ]; then
|
elif [ -f "$WORLDSINSTALL/$WORLDSOLD" ]; then
|
||||||
$WINE "$WORLDSINSTALL/$WORLDSOLD"
|
$WINE "$WORLDSINSTALL/$WORLDSOLD"
|
||||||
else
|
else
|
||||||
$WINE "$WORLDSINSTALL/$WORLDSLEGACY"
|
$WINE cmd /c "$WORLDSINSTALL/$WORLDSLEGACY"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
logger () {
|
|
||||||
tail -F "$WORLDSINSTALL/Gamma.Log.open" | zenity --text-info --auto-scroll --height=400 --width=500 --title="$TITLE - Log" --window-icon="$WORLDSDIR/icon.png" --text="Gamma.Log.open"
|
|
||||||
main
|
|
||||||
}
|
|
||||||
|
|
||||||
folder () {
|
|
||||||
gio open "$WORLDSINSTALL"
|
|
||||||
main
|
|
||||||
}
|
|
||||||
|
|
||||||
ini () {
|
|
||||||
xdg-open "$WORLDSINSTALL/worlds.ini"
|
|
||||||
main
|
|
||||||
}
|
|
||||||
|
|
||||||
backup () {
|
|
||||||
mkdir -p "$WORLDSDIR/backups"
|
|
||||||
bkup=$(zenity --file-selection --title="$TITLE - Backup" --text="Select Backup folder to backup to" --directory --filename="$WORLDSDIR/backups/" --save --confirm-overwrite --window-icon="$WORLDSDIR/icon.png")
|
|
||||||
if [[ ! $? -eq 1 ]]; then
|
|
||||||
cp -r "$WORLDSINSTALL/worlds.ini" "$bkup/worlds.ini"
|
|
||||||
cp -r "$WORLDSINSTALL/gamma.avatars" "$bkup/gamma.avatars"
|
|
||||||
cp -r "$WORLDSINSTALL/gamma.worldsmarks" "$bkup/gamma.worldsmarks"
|
|
||||||
if [[ $? -eq 1 ]]; then
|
|
||||||
zenity --error --text="Could not successfully backup files." --width=240 --height=40 --title="$TITLE - Backup" --window-icon="$WORLDSDIR/icon.png"
|
|
||||||
else
|
|
||||||
zenity --info --text="Personal world files successfully backed up." --width=240 --height=40 --title="$TITLE - Backup" --window-icon="$WORLDSDIR/icon.png"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
main
|
|
||||||
}
|
|
||||||
|
|
||||||
restore () {
|
|
||||||
mkdir -p "$WORLDSDIR/backups"
|
|
||||||
rbkup=$(zenity --file-selection --title="Select Backup folder to restore from" --directory --filename="$WORLDSDIR/backups/" --window-icon="$WORLDSDIR/icon.png")
|
|
||||||
if [[ ! $? -eq 1 ]]; then
|
|
||||||
cp -r "$rbkup/worlds.ini" "$WORLDSINSTALL/worlds.ini"
|
|
||||||
cp -r "$rbkup/gamma.avatars" "$WORLDSINSTALL/gamma.avatars"
|
|
||||||
cp -r "$rbkup/gamma.worldsmarks" "$WORLDSINSTALL/gamma.worldsmarks"
|
|
||||||
if [[ $? -eq 1 ]]; then
|
|
||||||
zenity --error --text="Could not successfully restore files." --width=240 --height=40 --title="$TITLE - Restore" --window-icon="$WORLDSDIR/icon.png"
|
|
||||||
else
|
|
||||||
zenity --info --text="Personal world files successfully restored." --width=240 --height=40 --title="$TITLE - Restore" --window-icon="$WORLDSDIR/icon.png"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
main
|
|
||||||
}
|
|
||||||
|
|
||||||
theme () {
|
|
||||||
mkdir -p "$WORLDSDIR/themes"
|
|
||||||
seltheme=$(zenity --file-selection --title="Select a theme folder" --directory --filename="$WORLDSDIR/themes/" --window-icon="$WORLDSDIR/icon.png")
|
|
||||||
if [[ ! $? -eq 1 ]]; then
|
|
||||||
for i in $seltheme/*;
|
|
||||||
do FILENAME="$(basename $i)"
|
|
||||||
echo "$seltheme/$FILENAME >> $WORLDSINSTALL/$FILENAME"
|
|
||||||
ln -sf "$seltheme/$FILENAME" "$WORLDSINSTALL/$FILENAME"
|
|
||||||
done
|
|
||||||
zenity --info --text="Successfully set theme to $(basename $seltheme)." --width=240 --height=40 --title="$TITLE - Theme" --window-icon="$WORLDSDIR/icon.png"
|
|
||||||
fi
|
|
||||||
main
|
|
||||||
}
|
|
||||||
|
|
||||||
settings () {
|
settings () {
|
||||||
SETSEL=$(zenity --list --title="$TITLE - Settings" --text="Settings for Worlds Linux" --column='Option' --column='Value' --cancel-label="Back" --width=300 --height=300 --window-icon="$WORLDSDIR/icon.png" \
|
SETSEL=$(zenity --list --title="$TITLE - Settings" --text="Settings for Worlds Linux" --column='Option' --column='Value' --cancel-label="Back" --width=540 --height=360 --window-icon="$WORLDSDIR/icon.png" \
|
||||||
"Wine Location" "$WINE" \
|
"Wine Location" "$WINE" \
|
||||||
"Prefix Location" "$WINEPREFIX" \
|
"Prefix Location" "$WINEPREFIX" \
|
||||||
"Worlds Location" "$WORLDSINSTALL" \
|
"Worlds Location" "$WORLDSINSTALL" \
|
||||||
2>/dev/null)
|
"Edit worlds.ini" "" \
|
||||||
case $SETSEL in
|
"Wine Configuration" "" \
|
||||||
'Wine Location')
|
"Set Theme" "$SETTHEME" \
|
||||||
WINESEL=$(zenity --entry --title="$WTITLE - Wine Binary Location" --text="Path to wine binary" --entry-text="$WINE" --window-icon="$WORLDSDIR/icon.png")
|
"Install Theme" "" \
|
||||||
if [[ ! $? -eq 1 ]]; then
|
"Backup" "" \
|
||||||
export WINE=$WINESEL
|
"Restore" "" \
|
||||||
echo "$WINESEL" > "$WORLDSDIR/wine.worldslinux"
|
2>/dev/null)
|
||||||
fi
|
case $SETSEL in
|
||||||
settings ;;
|
'Wine Location')
|
||||||
'Prefix Location')
|
WINESEL=$(zenity --entry --title="$WTITLE - Wine Binary Location" --text="Path to wine binary" --entry-text="$WINE" --window-icon="$WORLDSDIR/icon.png")
|
||||||
PREFSEL=$(zenity --entry --title="$WTITLE - Wine Prefix Location" --text="Path to Wine Prefix." --entry-text="$WINEPREFIX" --window-icon="$WORLDSDIR/icon.png")
|
if [[ ! $? -eq 1 ]]; then
|
||||||
if [[ ! $? -eq 1 ]]; then
|
export WINE=$WINESEL
|
||||||
export WINEPREFIX=$PREFSEL
|
fi
|
||||||
echo "$PREFSEL" > "$WORLDSDIR/wineprefix.worldslinux"
|
settings ;;
|
||||||
fi
|
'Prefix Location')
|
||||||
settings ;;
|
PREFSEL=$(zenity --entry --title="$WTITLE - Wine Prefix Location" --text="Path to Wine Prefix." --entry-text="$WINEPREFIX" --window-icon="$WORLDSDIR/icon.png")
|
||||||
'Worlds Location')
|
if [[ ! $? -eq 1 ]]; then
|
||||||
WORLDSEL=$(zenity --entry --title="$WTITLE - Worlds Location" --text="Path to Worlds Folder" --entry-text="$WORLDSINSTALL" --window-icon="$WORLDSDIR/icon.png")
|
export WINEPREFIX=$PREFSEL
|
||||||
if [[ ! $? -eq 1 ]]; then
|
fi
|
||||||
export WORLDSINSTALL=$WORLDSEL
|
settings ;;
|
||||||
echo "$WORLDSEL" > "$WORLDSDIR/worlds.worldslinux"
|
'Worlds Location')
|
||||||
fi
|
WORLDSEL=$(zenity --entry --title="$WTITLE - Worlds Location" --text="Path to Worlds Folder" --entry-text="$WORLDSINSTALL" --window-icon="$WORLDSDIR/icon.png")
|
||||||
settings ;;
|
if [[ ! $? -eq 1 ]]; then
|
||||||
esac
|
export WORLDSINSTALL=$WORLDSEL
|
||||||
main
|
fi
|
||||||
|
settings ;;
|
||||||
|
'Edit worlds.ini')
|
||||||
|
xdg-open "$WORLDSINSTALL/worlds.ini"
|
||||||
|
settings ;;
|
||||||
|
'Wine Configuration')
|
||||||
|
"$WINE"cfg
|
||||||
|
settings ;;
|
||||||
|
'Set Theme')
|
||||||
|
theme
|
||||||
|
settings ;;
|
||||||
|
'Backup')
|
||||||
|
backup
|
||||||
|
settings ;;
|
||||||
|
'Restore')
|
||||||
|
restore
|
||||||
|
settings ;;
|
||||||
|
esac
|
||||||
|
echo "# Configuration for Worlds on Linux." > "$WORLDSDIR/wrldslinux"
|
||||||
|
echo "export WINE=\"$WINE\"" >> "$WORLDSDIR/wrldslinux"
|
||||||
|
echo "export WINEPREFIX=\"$WINEPREFIX\"" >> "$WORLDSDIR/wrldslinux"
|
||||||
|
echo "export WORLDSINSTALL=\"$WORLDSINSTALL\"" >> "$WORLDSDIR/wrldslinux"
|
||||||
|
echo "export SETTHEME=\"$SETTHEME\"" >> "$WORLDSDIR/wrldslinux"
|
||||||
|
echo "source \"$WORLDSDIR/wlrdscmd\"" >> "$WORLDSDIR/wrldslinux"
|
||||||
|
}
|
||||||
|
|
||||||
|
theme () {
|
||||||
|
declare -a acceptimg=(
|
||||||
|
"actb.gif"
|
||||||
|
"actm.gif"
|
||||||
|
"actt.gif"
|
||||||
|
"back.gif"
|
||||||
|
"changeav.gif"
|
||||||
|
"drive.gif"
|
||||||
|
"dyrwtq.gif"
|
||||||
|
"explore.gif"
|
||||||
|
"friends.gif"
|
||||||
|
"hangong.gif"
|
||||||
|
"mfriends.gif"
|
||||||
|
"moreinfo.gif"
|
||||||
|
"notavail.gif"
|
||||||
|
"opnscrnc.gif"
|
||||||
|
"override.ini"
|
||||||
|
"pwc.gif"
|
||||||
|
"quit.gif"
|
||||||
|
"rtpanel.gif"
|
||||||
|
)
|
||||||
|
declare -A map
|
||||||
|
for key in "${!acceptimg[@]}"; do map[${acceptimg[$key]}]="$key"; done
|
||||||
|
|
||||||
|
|
||||||
|
mkdir -p "$WORLDSDIR/themes"
|
||||||
|
cd "$WORLDSDIR/themes"
|
||||||
|
# Due to some bug, this won't even accept a directory despite the option being defined. Instead using text entry.
|
||||||
|
# seltheme=$(zenity --file-selection --directory --title="Select a theme folder" --window-icon="$WORLDSDIR/icon.png")
|
||||||
|
seltheme=$(zenity --entry --title="$WTITLE - Worlds Theme" --text="Enter a theme directory." --entry-text="$WORLDSDIR/themes/" --window-icon="$WORLDSDIR/icon.png")
|
||||||
|
if [[ ! $? -eq 1 ]]; then
|
||||||
|
rename 'y/A-Z/a-z/' "$seltheme/*"
|
||||||
|
for i in $seltheme/*;
|
||||||
|
do FILENAME="$(basename $i)"
|
||||||
|
if [[ -n "${map[$i]}" ]]; then
|
||||||
|
echo "$seltheme/$FILENAME >> $WORLDSINSTALL/$FILENAME"
|
||||||
|
ln -sf "$seltheme/$FILENAME" "$WORLDSINSTALL/$FILENAME"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
export SETTHEME="$(basename $seltheme)"
|
||||||
|
zenity --info --text="Successfully set theme to $(basename $seltheme)." --width=240 --height=40 --title="$TITLE - Theme" --window-icon="$WORLDSDIR/icon.png"
|
||||||
|
else
|
||||||
|
zenity --error --text="Couldn't set $(basename $seltheme). Does it exist?" --width=240 --height=40 --title="$TITLE - Theme" --window-icon="$WORLDSDIR/icon.png"
|
||||||
|
fi
|
||||||
|
cd "$WORLDSINSTALL"
|
||||||
|
settings
|
||||||
|
}
|
||||||
|
|
||||||
|
backup () {
|
||||||
|
mkdir -p "$WORLDSDIR/backups"
|
||||||
|
bkup=$(zenity --file-selection --title="$TITLE - Backup" --text="Select Backup folder to backup to" --directory --filename="$WORLDSDIR/backups/" --save --confirm-overwrite --window-icon="$WORLDSDIR/icon.png")
|
||||||
|
if [[ ! $? -eq 1 ]]; then
|
||||||
|
cp -r "$WORLDSINSTALL/worlds.ini" "$bkup/worlds.ini"
|
||||||
|
cp -r "$WORLDSINSTALL/gamma.avatars" "$bkup/gamma.avatars"
|
||||||
|
cp -r "$WORLDSINSTALL/gamma.worldsmarks" "$bkup/gamma.worldsmarks"
|
||||||
|
if [[ $? -eq 1 ]]; then
|
||||||
|
zenity --error --text="Could not backup files." --width=240 --height=40 --title="$TITLE - Backup" --window-icon="$WORLDSDIR/icon.png"
|
||||||
|
else
|
||||||
|
zenity --info --text="Personal world files successfully backed up." --width=240 --height=40 --title="$TITLE - Backup" --window-icon="$WORLDSDIR/icon.png"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
restore () {
|
||||||
|
mkdir -p "$WORLDSDIR/backups"
|
||||||
|
rbkup=$(zenity --file-selection --title="Select Backup folder to restore from" --directory --filename="$WORLDSDIR/backups/" --window-icon="$WORLDSDIR/icon.png")
|
||||||
|
if [[ ! $? -eq 1 ]]; then
|
||||||
|
cp -r "$rbkup/worlds.ini" "$WORLDSINSTALL/worlds.ini"
|
||||||
|
cp -r "$rbkup/gamma.avatars" "$WORLDSINSTALL/gamma.avatars"
|
||||||
|
cp -r "$rbkup/gamma.worldsmarks" "$WORLDSINSTALL/gamma.worldsmarks"
|
||||||
|
if [[ $? -eq 1 ]]; then
|
||||||
|
zenity --error --text="Could not restore files." --width=240 --height=40 --title="$TITLE - Restore" --window-icon="$WORLDSDIR/icon.png"
|
||||||
|
else
|
||||||
|
zenity --info --text="Personal world files successfully restored." --width=240 --height=40 --title="$TITLE - Restore" --window-icon="$WORLDSDIR/icon.png"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
cache () {
|
cache () {
|
||||||
CDSIZE=$(du -sh "$WORLDSINSTALL/cachedir" | cut -f1)
|
CDSIZE=$(du -sh "$WORLDSINSTALL/cachedir" | cut -f1)
|
||||||
if [ -d "$WORLDSINSTALL/cachedir" ]; then
|
if [ -d "$WORLDSINSTALL/cachedir" ]; then
|
||||||
rm -rf "$WORLDSINSTALL/cachedir"
|
rm -rf "$WORLDSINSTALL/cachedir" | zenity --progress --no-buttons --text="Removing cachedir..." -title="$TITLE - Removing Cachedir" --window-icon="$WORLDSDIR/icon.png" --auto-close --auto-kill
|
||||||
if [ ! -d "$WORLDSINSTALL/cachedir" ]; then
|
if [ ! -d "$WORLDSINSTALL/cachedir" ]; then
|
||||||
zenity --info --text="$CDSIZE were successfully cleared." --width=240 --height=40 --title="$TITLE - Cachedir" --window-icon="$WORLDSDIR/icon.png"
|
zenity --info --text="$CDSIZE were successfully cleared." --width=240 --height=40 --title="$TITLE - Cachedir" --window-icon="$WORLDSDIR/icon.png"
|
||||||
else
|
else
|
||||||
zenity --error --text="Something went wrong." --width=240 --height=40 --title="$TITLE - Cachedir" --window-icon="$WORLDSDIR/icon.png"
|
zenity --error --text="Something went wrong." --width=240 --height=40 --title="$TITLE - Cachedir" --window-icon="$WORLDSDIR/icon.png"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
zenity --error --text="Cachedir doesn't exist! Was it already cleared?" --width=240 --height=40 --title="$TITLE - Cachedir" --window-icon="$WORLDSDIR/icon.png"
|
zenity --error --text="Cachedir doesn't exist! Was it already cleared?" --width=240 --height=40 --title="$TITLE - Cachedir" --window-icon="$WORLDSDIR/icon.png"
|
||||||
fi
|
fi
|
||||||
main
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kill () {
|
killw () {
|
||||||
killall WorldsPlayer.exe run.exe javaw.exe jrew.exe
|
killall WorldsPlayer.exe run.exe javaw.exe jrew.exe run.bat | zenity --progress --no-buttons --title="$TITLE - Killing Processes" --width=300 --height=50 --auto-close --auto-kill
|
||||||
zenity --error --text="Killed all possible running processes of Worlds." --width=240 --height=40 --title="$TITLE - Kill" --window-icon="$WORLDSDIR/icon.png"
|
zenity --error --text="Killed all possible running processes of Worlds." --width=240 --height=40 --title="$TITLE - Kill" --window-icon="$WORLDSDIR/icon.png"
|
||||||
main
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main
|
main
|
||||||
|
|
Loading…
Reference in New Issue
Block a user