The forum

The Feeble Files (GoG)

Author Replies
petch Saturday 7 January 2012 at 11:09
petch

Hi all,
I wrote a script for "The Feeble Files". This game runs under ScummVM, I didn't notice much difference between running Windows or Linux version of this VM, but the script supports both nonetheless.
Enjoy!

https://raw.github.com/petchema/playonlinux/master/thefeeblefiles-gog
#!/bin/bash
# Date : (2012-01-06 21-20)
# Last revision : (2012-01-06 23-38)
# Wine version used : 1.3.36
# Distribution used to test : Debian Sid (Unstable)
# Author : Pierre Etchemaite petchema@concept-micro.com
# Script licence : GPL v.2
# Program licence : Retail
# Depend :

# Tested with install archives:
# setup_the_feeble_files.exe 2476028 "16f0ec3760c68d646abc6671f657361a"
# setup_the_feeble_files-1.bin 2097523968 "df8a0031ac21f2efe93da1440d0fb024"
# setup_the_feeble_files-2.bin 289111409 "27197e9622d4ee349a8f4766f949426b"

[ -z "$PLAYONLINUX" ] && exit 0
source "$PLAYONLINUX/lib/sources"

PREFIX="FeebleFiles_gog"
WORKING_WINE_VERSION="1.3.36"

TITLE="$(eval_gettext 'The Feeble Files (GoG release)')"
SHORTCUT_NAME="The Feeble Files"
SHORTCUT_DOC="$SHORTCUT_NAME - $(eval_gettext 'User manual')"

POL_SetupWindow_Init
POL_Debug_Init

POL_SetupWindow_presentation "$TITLE" "Adventure Soft" "http://www.gog.com/en/gamecard/the_feeble_files" "Pierre Etchemaite" "$PREFIX"

POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"

cd $HOME
POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run.')" "$TITLE" "setup_the_feeble_files.exe"
ARCHIVE="$APP_ANSWER"

POL_SetupWindow_question "$(eval_gettext 'This game uses the ScummVM emulator, that also exists natively for Linux.\\nUse native version when present?')" "$TITLE"
NATIVESCUMMVM=''
[ "$APP_ANSWER" = "TRUE" ] && NATIVESCUMMVM=1


POL_SetupWindow_wait "$(eval_gettext 'Please wait while $TITLE is installed.')" "$TITLE"

POL_Call POL_Function_SetNativeExtension "pdf"

POL_Wine start /unix "$ARCHIVE" || POL_Debug_Fatal "$(eval_gettext 'Error while installing archive')"

POL_Wine_WaitExit "$TITLE"

if cd "$WINEPREFIX/drive_c/$PROGRAMFILES/GOG.com/The Feeble Files/"; then
    # Create setup file for native ScummVM (translating paths)
    perl -ne 'chomp; 
	      if(/^(.*path)=(.*)/) { 
		my($setting, $path)=($1, $2); 
		my $unix_path=`winepath -u '"'"'$path'"'"'`; 
		chomp $unix_path; 
		print "$setting=$unix_path\\n"; 
	      } 
	      else { 
		print "$_\\n"; 
	      }' < feeble.ini > feeble-unix.ini
fi

# GoG work!
Set_OS winxp

# "SVGA videocard" (?)
POL_SetupWindow_VMS "2"

# Doesn't hurt ;)
POL_Wine_reboot

POL_Shortcut "scummvm.exe" "$SHORTCUT_NAME" "" "-c 'C:/$PROGRAMFILES/GOG.com/The Feeble Files/feeble.ini'"
cp "$WINEPREFIX/drive_c/$PROGRAMFILES/GOG.com/The Feeble Files/game.ico" "$REPERTOIRE/icones/32/$SHORTCUT_NAME"
if [ -n "$NATIVESCUMMVM" ]; then
    # All this because InsertBeforeWine does not like slashes, so I can't specify feeble-unix.ini path directly
    POL_Shortcut_InsertBeforeWine "$SHORTCUT_NAME" "cd .."
    POL_Shortcut_InsertBeforeWine "$SHORTCUT_NAME" "exec scummvm -c 'feeble-unix.ini'"
    POL_Shortcut_InsertBeforeWine "$SHORTCUT_NAME" "cd -"
fi
POL_Shortcut "start.exe" "$SHORTCUT_DOC" "" "'C:/$PROGRAMFILES/GOG.com/The Feeble Files/manual.pdf'"

POL_SetupWindow_Close

exit

Edited by petch