summarylogtreecommitdiffstats
path: root/magicavoxel
blob: 863e1c29cf208b5cceef28256dd2a2f09bf41b07 (plain)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash

set -e

app_folder="$HOME/.magicavoxel"
app_folder_version_file="$app_folder/version.txt"
app_folder_current_version=1

export WINEDLLOVERRIDES="mscoree,mshtml="
export WINEARCH=win64
export WINEPREFIX="$app_folder/wine"

function _link() {
  for path in "$@"
  do
    ln -s "/usr/share/magicavoxel/$path" "$app_folder/$path"
  done
}

function _copy() {
  for path in "$@"
  do
    cp -r "/usr/share/magicavoxel/$path" "$app_folder/$path"
  done
}

version=0
if [ -f "$app_folder_version_file" ] ; then
    version=$(cat $app_folder_version_file)
fi

if [ ! -d "$app_folder" ] ; then
  mkdir -p "$WINEPREFIX"

  _link MagicaVoxel.exe
  _link plugin OpenImageDenoise.dll tbb.dll tbbmalloc.dll
  mkdir "$app_folder/config"
  _link config/ui

  _copy ibl palette shader cache export vox
  _copy config/config.txt config/hotkey.txt config/dict.txt config/locale.txt config/font
  
  echo "$app_folder_current_version" > "$app_folder_version_file"
fi

if [ "$version" -lt "1" ]; then
    if [ -L "$app_folder/config/font" ]; then
        rm "$app_folder/config/font"
        _copy config/font
    fi

    if [ ! -f "$app_folder/config/dict.txt" ]; then
        _copy config/dict.txt
    fi

    if [ ! -f "$app_folder/config/locale.txt" ]; then
        _copy config/locale.txt
    fi

    echo 1 > "$app_folder_version_file"
fi

wine "$app_folder/MagicaVoxel.exe" "$@"