Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; **************************************************************************
- ; === Define constants ===
- ; **************************************************************************
- !define VER "1.0.0.0" ; version of launcher
- !define APPNAME "ScummVM" ; complete name of program
- !define APP "ScummVM" ; short name of program without space and accent this one is used for the final executable an in the directory structure
- !define APPEXE "scummvm.exe" ; main exe name
- !define SAVEDIR "Data\Save"
- !define EXTDIR "App\Extra"
- !define THDIR "App\Theme"
- !define GMDIR "App\Games"
- !define APPDIR "App\ScummVM" ; main exe relative path
- !define APPSWITCH `` ; some default Parameters
- ; **************************************************************************
- ; === Best Compression ===
- ; **************************************************************************
- SetCompressor /SOLID lzma
- SetCompressorDictSize 32
- ; **************************************************************************
- ; === Includes ===
- ; **************************************************************************
- !include "PortableApp.nsh"
- ; **************************************************************************
- ; === Set basic information ===
- ; **************************************************************************
- Name "${APPNAME} Portable"
- OutFile "..\..\${APP}Portable\${APP}Portable.exe"
- Icon "${APP}.ico"
- ; **************************************************************************
- ; ==== Running ====
- ; **************************************************************************
- Section "Main"
- Call CheckStart
- Call CopyDefaultFile
- Call AppData
- Call SplashLogo
- Call Launch
- Call BackupData
- SectionEnd
- ; **************************************************************************
- ; === Run Application ===
- ; **************************************************************************
- Function Launch
- ReadINIStr $1 "$EXEDIR\${APP}Portable.ini" "${APP}Portable" "AdditionalParameters"
- StrCmp $1 "" 0 +2
- WriteINIStr "$EXEDIR\${APP}Portable.ini" "${APP}Portable" "AdditionalParameters" ""
- SetOutPath "$EXEDIR\${APPDIR}"
- ${GetParameters} $0
- ExecWait `"$EXEDIR\${APPDIR}\${APPEXE}"${APPSWITCH} $0 $1`
- WriteINIStr "$EXEDIR\Data\${APP}Portable.ini" "${APP}Portable" "GoodExit" "true"
- FunctionEnd
- ; **************************************************************************
- ; ==== Actions on AppData and scummvm.ini =====
- ; **************************************************************************
- Function CopyDefaultFile
- IfFileExists $EXEDIR\Data\AppData FileExist CreateData
- FileExist:
- IfFileExists $EXEDIR\Data\AppData\scummvm.ini Ignore IniCopy
- IniCopy:
- CopyFiles `$EXEDIR\App\DefaultData\scummvm.ini` `$EXEDIR\Data\AppData`
- IfFileExists $EXEDIR\Data\AppData\scummvm.ini Ignore IniCopy
- Ignore:
- Call SetIniPath
- CreateData:
- CreateDirectory $EXEDIR\Data
- CreateDirectory $EXEDIR\Data\Game
- CreateDirectory $EXEDIR\Data\AppData
- IfFileExists $EXEDIR\Data IniCopy Ignore
- FunctionEnd
- Function SetIniPath
- WriteINIStr "$EXEDIR\Data\AppData\scummvm.ini" "scummvm" "savepath" "${SAVEDIR}"
- WriteINIStr "$EXEDIR\Data\AppData\scummvm.ini" "scummvm" "extrapath" "${EXTDIR}"
- WriteINIStr "$EXEDIR\Data\AppData\scummvm.ini" "scummvm" "browser_lastpath" "${GMDIR}"
- WriteINIStr "$EXEDIR\Data\AppData\scummvm.ini" "scummvm" "themepath" "${THDIR}"
- FunctionEnd
- Function AppData
- Rename $APPDATA\ScummVM $APPDATA\ScummVM-backed
- CreateDirectory $APPDATA\ScummVM
- CopyFiles `$EXEDIR\Data\AppData\scummvm.ini` `$APPDATA\ScummVM`
- FunctionEnd
- Function BackupData
- CopyFiles `$APPDATA\ScummVM\scummvm.ini` `$EXEDIR\Data\Appdata`
- RMDir $APPDATA\ScummVM
- Rename $APPDATA\ScummVM-backed $APPDATA\ScummVM
- FunctionEnd
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement