Advertisement
Guest User

ScummVM Portable

a guest
Apr 3rd, 2010
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. ; **************************************************************************
  3. ; === Define constants ===
  4. ; **************************************************************************
  5. !define VER         "1.0.0.0"   ; version of launcher
  6. !define APPNAME     "ScummVM"   ; complete name of program
  7. !define APP         "ScummVM"   ; short name of program without space and accent  this one is used for the final executable an in the directory structure
  8. !define APPEXE      "scummvm.exe"   ; main exe name
  9. !define SAVEDIR     "Data\Save"
  10. !define EXTDIR      "App\Extra"
  11. !define THDIR       "App\Theme"
  12. !define GMDIR       "App\Games"
  13. !define APPDIR      "App\ScummVM"   ; main exe relative path
  14. !define APPSWITCH   ``  ; some default Parameters
  15.  
  16. ; **************************************************************************
  17. ; === Best Compression ===
  18. ; **************************************************************************
  19. SetCompressor /SOLID lzma
  20. SetCompressorDictSize 32
  21.  
  22. ; **************************************************************************
  23. ; === Includes ===
  24. ; **************************************************************************
  25. !include "PortableApp.nsh"
  26.  
  27. ; **************************************************************************
  28. ; === Set basic information ===
  29. ; **************************************************************************
  30. Name "${APPNAME} Portable"
  31. OutFile "..\..\${APP}Portable\${APP}Portable.exe"
  32. Icon "${APP}.ico"
  33.  
  34. ; **************************************************************************
  35. ; ==== Running ====
  36. ; **************************************************************************
  37.  
  38. Section "Main"
  39.  
  40.     Call CheckStart
  41.     Call CopyDefaultFile
  42.     Call AppData
  43.  
  44.         Call SplashLogo
  45.         Call Launch
  46.  
  47.     Call BackupData
  48.  
  49. SectionEnd
  50.  
  51. ; **************************************************************************
  52. ; === Run Application ===
  53. ; **************************************************************************
  54. Function Launch
  55. ReadINIStr $1 "$EXEDIR\${APP}Portable.ini" "${APP}Portable" "AdditionalParameters"
  56. StrCmp $1 "" 0 +2
  57. WriteINIStr "$EXEDIR\${APP}Portable.ini" "${APP}Portable" "AdditionalParameters" ""
  58. SetOutPath "$EXEDIR\${APPDIR}"
  59. ${GetParameters} $0
  60. ExecWait `"$EXEDIR\${APPDIR}\${APPEXE}"${APPSWITCH} $0 $1`
  61. WriteINIStr "$EXEDIR\Data\${APP}Portable.ini" "${APP}Portable" "GoodExit" "true"
  62. FunctionEnd
  63.  
  64. ; **************************************************************************
  65. ; ==== Actions on AppData and scummvm.ini =====
  66. ; **************************************************************************
  67. Function CopyDefaultFile
  68. IfFileExists $EXEDIR\Data\AppData FileExist CreateData
  69. FileExist:
  70.     IfFileExists $EXEDIR\Data\AppData\scummvm.ini Ignore IniCopy
  71.         IniCopy:
  72.             CopyFiles `$EXEDIR\App\DefaultData\scummvm.ini` `$EXEDIR\Data\AppData`
  73.             IfFileExists $EXEDIR\Data\AppData\scummvm.ini Ignore IniCopy
  74.         Ignore:
  75.             Call SetIniPath
  76. CreateData:
  77.     CreateDirectory $EXEDIR\Data
  78.     CreateDirectory $EXEDIR\Data\Game
  79.     CreateDirectory $EXEDIR\Data\AppData
  80.     IfFileExists $EXEDIR\Data IniCopy Ignore
  81. FunctionEnd
  82.  
  83. Function SetIniPath
  84. WriteINIStr "$EXEDIR\Data\AppData\scummvm.ini" "scummvm" "savepath" "${SAVEDIR}"
  85. WriteINIStr "$EXEDIR\Data\AppData\scummvm.ini" "scummvm" "extrapath" "${EXTDIR}"
  86. WriteINIStr "$EXEDIR\Data\AppData\scummvm.ini" "scummvm" "browser_lastpath" "${GMDIR}"
  87. WriteINIStr "$EXEDIR\Data\AppData\scummvm.ini" "scummvm" "themepath" "${THDIR}"
  88. FunctionEnd
  89.  
  90. Function AppData
  91. Rename $APPDATA\ScummVM $APPDATA\ScummVM-backed
  92. CreateDirectory $APPDATA\ScummVM
  93. CopyFiles `$EXEDIR\Data\AppData\scummvm.ini` `$APPDATA\ScummVM`
  94. FunctionEnd
  95.  
  96. Function BackupData
  97. CopyFiles `$APPDATA\ScummVM\scummvm.ini` `$EXEDIR\Data\Appdata`
  98. RMDir $APPDATA\ScummVM
  99. Rename $APPDATA\ScummVM-backed $APPDATA\ScummVM
  100. FunctionEnd
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement