VHSgunzo commited on
Commit
9542d2a
·
1 Parent(s): 62e6bf5

Add pseudo CD-ROM for fix old games CD-ROM check (Road Rash and others)

Browse files
Files changed (3) hide show
  1. CHANGELOG.md +4 -0
  2. lux-wine +32 -2
  3. main.zip +2 -2
CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
 
 
 
 
1
  # v0.78.2.7
2
 
3
  * Add app and EXE names to all DB scripts
 
1
+ # v0.78.2.8
2
+
3
+ * Add pseudo CD-ROM for fix old games CD-ROM check (`Road Rash` and others)
4
+
5
  # v0.78.2.7
6
 
7
  * Add app and EXE names to all DB scripts
lux-wine CHANGED
@@ -5089,8 +5089,32 @@ is_winepfx() {
5089
  || -f "$1/user.reg" && -f "$1/.update-timestamp" ]]
5090
  }
5091
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5092
  check_winepfx() {
5093
- is_wine_drive() { ls -l "$WINEPREFIX/dosdevices"/[a-z]: 2>/dev/null|grep -w "${1}$"|grep -o '[a-z]:' &>/dev/null ; }
5094
  [ -n "$1" ] && export WINEPREFIX="$1"
5095
  [ -n "$2" ] && export WINEARCH="$2"
5096
  WPFX_STEAMUSER_DIR="$WINEPREFIX/drive_c/users/steamuser"
@@ -5131,7 +5155,12 @@ check_winepfx() {
5131
  drive_h="$WINEPREFIX/dosdevices/h:"
5132
  is_wine_drive "$HOME"||(rm -f "$drive_h" && \
5133
  ln -sf "$HOME" "$drive_h")
5134
- (DRIVES=(a b d e f g i j k l m n o p q r s t u v w x y)
 
 
 
 
 
5135
  DEF_MP_DIRS=('/media' "/media/$USER" '/mnt' '/run/media' "/run/media/$USER")
5136
  IFS=$'\n' MP_DIRS=($(find "${DEF_MP_DIRS[@]}" -maxdepth 1 -type d 2>/dev/null|sort -u))
5137
  try_rm_broken_link "$WINEPREFIX/dosdevices" &>/dev/null
@@ -5173,6 +5202,7 @@ check_winepfx() {
5173
  fi
5174
  done
5175
  is_winepfx "$WINEPREFIX"||winepfx_init
 
5176
  DEF_WDESK_DIR=("Desktop" "Documents" "Music" "Videos" "Pictures" "Downloads" "Templates")
5177
  (IFS=$'\n' ; for WINEDESK_DIR in "${DEF_WDESK_DIR[@]}"
5178
  do
 
5089
  || -f "$1/user.reg" && -f "$1/.update-timestamp" ]]
5090
  }
5091
 
5092
+ try_add_reg_cdrom() {
5093
+ local PFXSYSREG="$WINEPREFIX/system.reg"
5094
+ if [ -f "$PFXSYSREG" ]
5095
+ then
5096
+ if [ "$1" ]
5097
+ then
5098
+ local drive="${1,,}:"
5099
+ if ! grep -qo "\"$drive\"=\"cdrom\"" "$PFXSYSREG" 2>/dev/null
5100
+ then
5101
+ if grep -Fqo '[Software\\Wine\\Drives]' "$PFXSYSREG" 2>/dev/null
5102
+ then
5103
+ sed -i "/\[Software\\\\\\\\Wine\\\\\\\\Drives\]/{n;a\
5104
+ \"$drive\"=\"cdrom\"
5105
+ }" "$PFXSYSREG"
5106
+ else
5107
+ echo -e "\n[Software\\\\\\Wine\\\\\\Drives]\n\"$drive\"=\"cdrom\"" >> "$PFXSYSREG"
5108
+ fi
5109
+ fi
5110
+ else print_error 'Specify the cdrom drive!'
5111
+ fi
5112
+ else print_error 'system.reg not found in prefix!'
5113
+ fi
5114
+ }
5115
+
5116
  check_winepfx() {
5117
+ is_wine_drive() { ls -l "$WINEPREFIX/dosdevices"/[a-z]: 2>/dev/null|grep -w "${1}$"|grep -qo '[a-z]:' ; }
5118
  [ -n "$1" ] && export WINEPREFIX="$1"
5119
  [ -n "$2" ] && export WINEARCH="$2"
5120
  WPFX_STEAMUSER_DIR="$WINEPREFIX/drive_c/users/steamuser"
 
5155
  drive_h="$WINEPREFIX/dosdevices/h:"
5156
  is_wine_drive "$HOME"||(rm -f "$drive_h" && \
5157
  ln -sf "$HOME" "$drive_h")
5158
+ export PFX_CDROM="$WINEPREFIX/cdrom"
5159
+ cdrom_r="$WINEPREFIX/dosdevices/r:"
5160
+ try_mkdir "$PFX_CDROM"
5161
+ is_wine_drive '../cdrom'||(rm -f "$cdrom_r" && \
5162
+ ln -sfr "$PFX_CDROM" "$cdrom_r")
5163
+ (DRIVES=(a b d e f g i j k l m n o p q s t u v w x y)
5164
  DEF_MP_DIRS=('/media' "/media/$USER" '/mnt' '/run/media' "/run/media/$USER")
5165
  IFS=$'\n' MP_DIRS=($(find "${DEF_MP_DIRS[@]}" -maxdepth 1 -type d 2>/dev/null|sort -u))
5166
  try_rm_broken_link "$WINEPREFIX/dosdevices" &>/dev/null
 
5202
  fi
5203
  done
5204
  is_winepfx "$WINEPREFIX"||winepfx_init
5205
+ try_add_reg_cdrom r
5206
  DEF_WDESK_DIR=("Desktop" "Documents" "Music" "Videos" "Pictures" "Downloads" "Templates")
5207
  (IFS=$'\n' ; for WINEDESK_DIR in "${DEF_WDESK_DIR[@]}"
5208
  do
main.zip CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2a59bac8f26f22f550c47b72ac9e2b50aab5c3eb488813de62b76b4a9ac81df7
3
- size 582966
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e452d23ac037824e612fe9f229744154daa88bd73047458decfd35d22d269662
3
+ size 583252