Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;-----------------------------------------------------------
- ; This is a script to create an installer
- ; of Spring plus a mod, with NSIS 2.42
- ; (Nullsoft Scriptable Install System)
- ;-----------------------------------------------------------
- ; How to update this Gundam installer:
- ;
- ; 1) Script for menu:
- ; - Open \GRTS-Inst\GRTS_menu.txt
- ; - Edit the GameType field
- ;
- ; 2) Spring:
- ; - Compare the files installed by this installer
- ; and the files from official installer,
- ; and update whatever was updated.
- ;
- ; 3) .NSI:
- ; - Edit MOD_VERSION and SPRING_VERSION in the .nsi
- ; - In the Function CheckSpringVersion
- ; uncomment the commented MessageBox line
- ; and use it to get the filesize of newest Spring.exe.
- ; Then update the list of spring.exe filesizes.
- ; - Might want to change the maps and widgets.
- ; - Do not forget the delete section for any file you add!
- ;
- ; 4) Lobbies:
- ; - Run TASClient and SpringLobby, let them autoupdate
- ; - Replace the TASClient.exe and springlobby.exe of this installer by their up to date version
- ;
- ;-----------------------------------------------------------
- ; How to make installer for another mod:
- ;
- ; - Edit all the !define of this .nsi file, up to the line about XPStyle
- ; - Edit everything in ./GRTS-Inst/*.* and rename that folder
- ; - Edit ./ModName_readme.txt
- ; - Edit ./springlobby.global.conf
- ; - Edit ./lobby/var/notify.dat
- ; - Edit ./lobby/var/perform.dat
- ; - Edit ./lobby/var/filters/default.ini
- ;
- ;-----------------------------------------------------------
- ; How to remake this installer from the official installer:
- ;
- ; 1) .NSI
- ; - Get the .nsi of the current Spring,
- ; from: http://github.com/spring/spring/tree/master
- ; or from: http://planetspring.free.fr/spring/src/
- ; or from: http://spring.clan-sy.com/dl/
- ; - Check what changed, update the revelant bits of this .nsi file
- ;
- ; 2) Spring
- ; - Install fresh Spring
- ; - Copy \maps\*.*
- ; - Copy \games\YourMod.sdz
- ; - Copy \LuaUI\Widgets\*.*, do NOT replace but skip
- ; - Copy \LuaUI\Images\*.* , do NOT replace but skip
- ; - Copy \GRTS-Inst\
- ; - Copy end of uikeys.txt
- ; - Write a Gundam_RTS.txt
- ;
- ; 3) Lobby files
- ; - Copy \lobby\var\notify.dat
- ; - Copy \lobby\var\perform.dat
- ; - Copy \lobby\var\filters\default.ini
- ; - Copy springlobby.global.conf
- ; - Update TASClient
- ; - Update SpringLobby
- ;
- ;-----------------------------------------------------------
- ; <- this mean this line is a comment, like the // in a bos ;)
- ; the \ is used to mean the line actually continue on to the other line.
- ; just so that .nsi is more readable.
- ; $\r$\n is to insert a new line in a text
- ;-----------------------------------------------------------
- ; Mod Info:
- !define MOD_NAME "Gundam RTS"
- !define MOD_NAME_NOSPACE "Gundam_RTS"
- !define MOD_SHORTNAME "Gundam"; Must be same as ShortName inside modinfo.tdf
- !define MOD_ACRONYM "GRTS"
- !define MOD_VERSION "1.26"
- !define MOD_WEBSITE "http://www.indiedb.com/games/gundam-rts/"
- !define MOD_README "${MOD_NAME_NOSPACE}_readme.txt"
- !define MOD_ARCHIVE "GUNDAM${MOD_VERSION}.sd7"
- ; Spring Info:
- !define SPRING_VERSION "0.82.7.1"
- !define SPRING_PUBLISHER "The Spring team"
- !define SPRING_WEB_SITE "http://spring.clan-sy.com"
- ; Title of what we install:
- Name "${MOD_NAME} ${MOD_VERSION}"
- ; Where to put the installer once built:
- !define NameOutPutFolder ""
- ; Subfolder where to put stuff used by that install, (such as menu startscript, icons, etc...)
- !define INST_SUBFOLDER "GRTS-Inst"
- ; Start Menu subfolder name:
- !define START_MENU_FOLDER "Gundam RTS"
- ; Name of TASClient customisation (for regkeys, splahscreen, ini)
- !define CLIENT_CUSTO "GRTSClient"
- ; Name of the installer and uninstaller files:
- !define NameInstallFile "${MOD_NAME_NOSPACE}_${MOD_VERSION}_Including_Spring_${SPRING_VERSION}_Installer.exe"
- !define NameUnInstallerFile "Uninstall_${MOD_NAME_NOSPACE}_${MOD_VERSION}.exe"
- OutFile "${NameOutPutFolder}${NameInstallFile}"
- ; HM NIS Edit Wizard helper defines:
- !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\SpringClient.exe"
- !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MOD_NAME}"
- !define PRODUCT_UNINST_ROOT_KEY "HKLM"
- ; Default installation folder
- ;InstallDir "$PROGRAMFILES\Spring" ; Cause issues with non adminship on Vista
- InstallDir "C:\Games\Spring"
- InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
- !define RUN_MENU_PARAMETERS "-w -x 640 -y 480 \${INST_SUBFOLDER}\${MOD_ACRONYM}_menu.txt"
- ; LZMA/Solid gives the smallest installer (but longest to compress and uncompress)
- ;SetCompressor /SOLID lzma
- ; Only one meg more, but instant uncompress
- SetCompressor lzma
- ; Show details
- ShowInstDetails show
- ShowUnInstDetails show
- ; XP style enabled, for pretty buttons!
- XPStyle on
- ;--------------------------------
- ; Utilise NSIS Modern User Interface
- ; Include Modern UI
- !include "MUI.nsh"
- ;--------------------------------
- ; Other Includes
- !include "Library.nsh"
- ;--------------------------------
- ;Interface Settings
- !define MUI_ABORTWARNING
- ;--------------------------------
- ; Some of my global variable
- Var MainSpringSelectionPreviousState
- Var ZeroForTickOneForTell
- ;--------------------------------
- ;Pages
- !define MUI_ICON inst.ico
- !define MUI_UNICON uninst.ico
- !define MUI_HEADER_TRANSPARENT_TEXT
- !define MUI_HEADERIMAGE
- !define MUI_HEADERIMAGE_BITMAP InstallerTopPic.bmp
- ;!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
- ;!define MUI_BGCOLOR FF4901
- ; A long image would hide the text under :(
- ; and I can't get MUI_HEADER_TRANSPARENT_TEXT working
- !define MUI_BGCOLOR FFFFFF ; Well, it's the default anyway
- !define MUI_WELCOMEFINISHPAGE_BITMAP InstallerLeftPic.bmp
- ; Sadly I can't use a diff pic for Welcome and Finish :(
- !define MUI_UNWELCOMEFINISHPAGE_BITMAP UninstallerLeftPic.bmp
- !define MUI_WELCOMEPAGE_TITLE "Ready to install ${MOD_NAME} ${MOD_VERSION} !"
- !define MUI_WELCOMEPAGE_TITLE_3LINES
- !define MUI_WELCOMEPAGE_TEXT "You are about to install the version ${MOD_VERSION} \
- of ${MOD_NAME}, a most awesome game powered by the Spring ${SPRING_VERSION} engine."
- !insertmacro MUI_PAGE_WELCOME
- !define MUI_PAGE_CUSTOMFUNCTION_LEAVE DirLeave
- !define MUI_DIRECTORYPAGE_TEXT_TOP "${MOD_NAME} is a mod for the Spring RTS engine. \
- If you already have Spring ${SPRING_VERSION} installed, \
- please verify that the path below points to where Spring ${SPRING_VERSION} is \
- installed. If you have another version, or do not even know what Spring is about then \
- just leave $\"Spring engine$\" ticked on the next screen and it will get installed.$\r$\n$\r$\n\
- Visit http://spring.clan-sy.com for more info about the Spring RTS engine"
- !define MUI_DIRECTORYPAGE_TEXT_DESTINATION "Where to install?"
- !insertmacro MUI_PAGE_DIRECTORY
- !define MUI_COMPONENTSPAGE_SMALLDESC ; does not work
- !define MUI_COMPONENTSPAGE_TEXT_TOP "Check what you want, and uncheck what you don't, then click Install to proceed"
- !define MUI_COMPONENTSPAGE_TEXT_COMPLIST " "
- ;!define MUI_COMPONENTSPAGE_TEXT_INSTTYPE "Install type:"
- ;!define MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "Description"
- ;!define MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO "Untick what you don't want."
- !insertmacro MUI_PAGE_COMPONENTS
- !define MUI_INSTFILESPAGE_FINISHHEADER_TEXT "${MOD_NAME} ${MOD_VERSION} now installed!"
- !define MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT "To run, use the shorcuts in Start Menu -> ${START_MENU_FOLDER}"
- !define MUI_FINISHPAGE_NOAUTOCLOSE
- !insertmacro MUI_PAGE_INSTFILES
- !define MUI_FINISHPAGE_TITLE "${MOD_NAME} succesfully installed!"
- !define MUI_FINISHPAGE_TITLE_3LINES
- !define MUI_FINISHPAGE_TEXT "The installation of ${MOD_NAME} ${MOD_VERSION} is finished!\r\n\
- You can run it at any time with Start Menu -> ${START_MENU_FOLDER}.\r\n\r\n\
- Single player is useful to just discover the game, \
- but ${MOD_NAME} is meant primarly as an online game, \
- so don't hesitate to run the Spring battleroom and play against real humans!"
- !define MUI_FINISHPAGE_TEXT_LARGE
- !define MUI_FINISHPAGE_RUN "$INSTDIR\spring.exe"
- !define MUI_FINISHPAGE_RUN_TEXT "Run ${MOD_NAME} Single Player!"
- !define MUI_FINISHPAGE_RUN_PARAMETERS "${RUN_MENU_PARAMETERS}"
- !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\${MOD_README}"
- !define MUI_FINISHPAGE_SHOWREADME_TEXT "View ${MOD_NAME} ${MOD_VERSION} Readme"
- !define MUI_FINISHPAGE_NOREBOOTSUPPORT
- !insertmacro MUI_PAGE_FINISH
- !define MUI_WELCOMEPAGE_TITLE "Uninstall ${MOD_NAME}?"
- !define MUI_WELCOMEPAGE_TITLE_3LINES
- !define MUI_WELCOMEPAGE_TEXT "You are about to remove ${MOD_NAME} ${MOD_VERSION}, are you sure? "
- !insertmacro MUI_UNPAGE_WELCOME
- !insertmacro MUI_UNPAGE_COMPONENTS
- !insertmacro MUI_UNPAGE_INSTFILES
- !insertmacro MUI_LANGUAGE "English"
- ;--------------------------------
- ; fileassoc.nsh
- ; File association helper macros
- ; Written by Saivert
- ;
- ; Features automatic backup system and UPDATEFILEASSOC macro for
- ; shell change notification.
- ;
- ; |> How to use <|
- ; To associate a file with an application so you can double-click it in explorer, use
- ; the APP_ASSOCIATE macro like this:
- ;
- ; Example:
- ; !insertmacro APP_ASSOCIATE "txt" "myapp.textfile" "$INSTDIR\myapp.exe,0" \
- ; "Open with myapp" "$INSTDIR\myapp.exe $\"%1$\""
- ;
- ; Never insert the APP_ASSOCIATE macro multiple times, it is only ment
- ; to associate an application with a single file and using the
- ; the "open" verb as default. To add more verbs (actions) to a file
- ; use the APP_ASSOCIATE_ADDVERB macro.
- ;
- ; Example:
- ; !insertmacro APP_ASSOCIATE_ADDVERB "myapp.textfile" "edit" "Edit with myapp" \
- ; "$INSTDIR\myapp.exe /edit $\"%1$\""
- ;
- ; To have access to more options when registering the file association use the
- ; APP_ASSOCIATE_EX macro. Here you can specify the verb and what verb is to be the
- ; standard action (default verb).
- ;
- ; And finally: To remove the association from the registry use the APP_UNASSOCIATE
- ; macro. Here is another example just to wrap it up:
- ; !insertmacro APP_UNASSOCIATE "txt" "myapp.textfile"
- ;
- ; |> Note <|
- ; When defining your file class string always use the short form of your application title
- ; then a period (dot) and the type of file. This keeps the file class sort of unique.
- ; Examples:
- ; Winamp.Playlist
- ; NSIS.Script
- ; Photoshop.JPEGFile
- ;
- ; |> Tech info <|
- ; The registry key layout for a file association is:
- ; HKEY_CLASSES_ROOT
- ; <applicationID> = <"description">
- ; shell
- ; <verb> = <"menu-item text">
- ; command = <"command string">
- ;
- !macro APP_ASSOCIATE EXT FILECLASS DESCRIPTION ICON COMMANDTEXT COMMAND
- ; Backup the previously associated file class
- ReadRegStr $R0 HKCR ".${EXT}" ""
- WriteRegStr HKCR ".${EXT}" "${FILECLASS}_backup" "$R0"
- WriteRegStr HKCR ".${EXT}" "" "${FILECLASS}"
- WriteRegStr HKCR "${FILECLASS}" "" `${DESCRIPTION}`
- WriteRegStr HKCR "${FILECLASS}\DefaultIcon" "" `${ICON}`
- WriteRegStr HKCR "${FILECLASS}\shell" "" "open"
- WriteRegStr HKCR "${FILECLASS}\shell\open" "" `${COMMANDTEXT}`
- WriteRegStr HKCR "${FILECLASS}\shell\open\command" "" `${COMMAND}`
- !macroend
- !macro APP_ASSOCIATE_EX EXT FILECLASS DESCRIPTION ICON VERB DEFAULTVERB SHELLNEW COMMANDTEXT COMMAND
- ; Backup the previously associated file class
- ReadRegStr $R0 HKCR ".${EXT}" ""
- WriteRegStr HKCR ".${EXT}" "${FILECLASS}_backup" "$R0"
- WriteRegStr HKCR ".${EXT}" "" "${FILECLASS}"
- StrCmp "${SHELLNEW}" "0" +2
- WriteRegStr HKCR ".${EXT}\ShellNew" "NullFile" ""
- WriteRegStr HKCR "${FILECLASS}" "" `${DESCRIPTION}`
- WriteRegStr HKCR "${FILECLASS}\DefaultIcon" "" `${ICON}`
- WriteRegStr HKCR "${FILECLASS}\shell" "" `${DEFAULTVERB}`
- WriteRegStr HKCR "${FILECLASS}\shell\${VERB}" "" `${COMMANDTEXT}`
- WriteRegStr HKCR "${FILECLASS}\shell\${VERB}\command" "" `${COMMAND}`
- !macroend
- !macro APP_ASSOCIATE_ADDVERB FILECLASS VERB COMMANDTEXT COMMAND
- WriteRegStr HKCR "${FILECLASS}\shell\${VERB}" "" `${COMMANDTEXT}`
- WriteRegStr HKCR "${FILECLASS}\shell\${VERB}\command" "" `${COMMAND}`
- !macroend
- !macro APP_ASSOCIATE_REMOVEVERB FILECLASS VERB
- DeleteRegKey HKCR `${FILECLASS}\shell\${VERB}`
- !macroend
- !macro APP_UNASSOCIATE EXT FILECLASS
- ; Backup the previously associated file class
- ReadRegStr $R0 HKCR ".${EXT}" `${FILECLASS}_backup`
- WriteRegStr HKCR ".${EXT}" "" "$R0"
- DeleteRegKey HKCR `${FILECLASS}`
- !macroend
- !macro APP_ASSOCIATE_GETFILECLASS OUTPUT EXT
- ReadRegStr ${OUTPUT} HKCR ".${EXT}" ""
- !macroend
- ; !defines for use with SHChangeNotify
- !ifdef SHCNE_ASSOCCHANGED
- !undef SHCNE_ASSOCCHANGED
- !endif
- !define SHCNE_ASSOCCHANGED 0x08000000
- !ifdef SHCNF_FLUSH
- !undef SHCNF_FLUSH
- !endif
- !define SHCNF_FLUSH 0x1000
- !macro UPDATEFILEASSOC
- ; Using the system.dll plugin to call the SHChangeNotify Win32 API function so we
- ; can update the shell.
- System::Call "shell32::SHChangeNotify(i,i,i,i) (${SHCNE_ASSOCCHANGED}, ${SHCNF_FLUSH}, 0, 0)"
- !macroend
- ; end of fileassoc.nsh
- ;--------------------------------
- ;--------------------------------
- ; Check if the current account is an admin
- !macro CheckUserPower NomAction
- ClearErrors
- UserInfo::GetName
- IfErrors Win9x
- Pop $0
- UserInfo::GetAccountType
- Pop $1
- StrCmp $1 "Admin" 0 +2
- Goto isHighEnough
- StrCmp $1 "Power" 0 +2
- Goto isHighEnough
- StrCmp $1 "User" 0 +2
- Goto isTooLow
- StrCmp $1 "Guest" 0 +2
- Goto isTooLow
- isTooLow:
- MessageBox MB_OK 'Your session, "$0", does not have enough rights \
- to perform this ${NomAction}.$\r$\n$\r$\nPlease \
- login as an administrator.'
- Quit
- Win9x: ;Win9x doesn't care about admin or not
- isHighEnough:
- !macroend
- ;--------------------------------
- ;Installer Sections
- Section "-Start of install" SecStart
- DetailPrint "Starting Installation ..."
- SetOutPath "$INSTDIR"
- ; Comment if you don't want to check for adminship
- ; But then, also remove the CheckUserPower in the uninstall section
- !insertmacro CheckUserPower "installation"
- ; Install for all or for current user only
- SetShellVarContext All
- ;SetShellVarContext current
- DetailPrint ""
- DetailPrint "Creating Uninstaller...."
- WriteUninstaller "$INSTDIR\${NameUnInstallerFile}"
- CreateDirectory "$SMPROGRAMS\${START_MENU_FOLDER}"
- CreateShortCut "$SMPROGRAMS\${START_MENU_FOLDER}\Uninstall ${MOD_NAME} ${MOD_VERSION}.lnk" "$INSTDIR\${NameUnInstallerFile}"
- Call CheckAndDoIfMustDeletePreviousSettings
- SectionEnd
- Section "Spring ${SPRING_VERSION} engine" SecEngine
- DetailPrint ""
- DetailPrint "Installing the Spring RTS Engine (version ${SPRING_VERSION})..."
- SetOutPath "$INSTDIR"
- SetOverWrite on
- ; Main stuff
- File "..\spring.exe"
- ;File "..\spring.def" ; 0.78
- File "..\unitsync.dll"
- CreateDirectory "$INSTDIR\maps"
- CreateDirectory "$INSTDIR\mods"
- CreateDirectory "$INSTDIR\games"
- ; Delete Old DLLs
- Delete "$INSTDIR\python24.dll"
- Delete "$INSTDIR\MSVCP71.dll"
- Delete "$INSTDIR\MSVCR71.dll"
- ; DLLs (updated in mingwlibs-v8)
- File "..\glew32.dll"
- File "..\python25.dll"
- File "..\zlib1.dll"
- ; Use SDL 1.2.10 because SDL 1.2.{9,11,12} break keyboard layout.
- File "..\SDL.dll"
- ;File "..\SDL_mixer.dll"; I think it's not needed anymore
- ; 0.79 DLLs
- File "..\ogg.dll"
- File "..\OpenAL32.dll"
- File "..\vorbis.dll"
- File "..\vorbisfile.dll"
- ;File "..\wrap_oal.dll"; I think it's not needed anymore
- ; 0.80 DLLs
- File "..\libgcc_s_dw2-1.dll"
- ; 0.81 DLLs
- File "..\boost_filesystem-gcc44-mt-1_41.dll"
- File "..\boost_system-gcc44-mt-1_41.dll"
- File "..\boost_thread-gcc44-mt-1_41.dll"
- File "..\wxmsw28u_gl_gcc_custom.dll"
- File "..\wxmsw28u_xrc_gcc_custom.dll"
- File "..\OpenAL32_sl.dll"
- ;New Settings Program
- File "..\springsettings.exe"
- ; DLLs
- File "..\mingwm10.dll"
- File "..\wxbase28u_gcc_custom.dll"
- File "..\wxbase28u_net_gcc_custom.dll"
- File "..\wxbase28u_xml_gcc_custom.dll"
- File "..\wxmsw28u_adv_gcc_custom.dll"
- File "..\wxmsw28u_aui_gcc_custom.dll"
- File "..\wxmsw28u_core_gcc_custom.dll"
- File "..\wxmsw28u_html_gcc_custom.dll"
- File "..\wxmsw28u_qa_gcc_custom.dll"
- File "..\wxmsw28u_richtext_gcc_custom.dll"
- ; more DLLs
- File "..\MSVCR71.dll"
- File "..\MSVCP71.dll"
- File "..\DevIL.dll"
- File "..\freetype6.dll"
- File "..\ILU.dll"
- File "..\zlibwapi.dll"
- ; Stuff
- File "..\SelectionEditor.exe"
- File "..\PALETTE.PAL"
- ; Files the user might wanna keep
- ${IfNot} ${FileExists} "$INSTDIR\selectkeys.txt"; If error here, please update your version of NSIS to 2.42 (found out as my 2.27 went too old)
- File "..\selectkeys.txt"
- ${EndIf}
- ${IfNot} ${FileExists} "$INSTDIR\uikeys.txt"
- File "..\uikeys.txt"
- ${EndIf}
- ${IfNot} ${FileExists} "$INSTDIR\cmdcolors.txt"
- File "..\cmdcolors.txt"
- ${EndIf}
- ${IfNot} ${FileExists} "$INSTDIR\ctrlpanel.txt"
- File "..\ctrlpanel.txt"
- ${EndIf}
- ${IfNot} ${FileExists} "$INSTDIR\teamcolors.lua"
- File "..\teamcolors.lua"
- ${EndIf}
- ; Delete Old settings.exe
- Delete "$INSTDIR\settings.exe"
- Delete "$INSTDIR\settingstemplate.xml"
- ; Remove shaders, they are now in springcontent.sdz
- Delete "$INSTDIR\shaders\*.fp"
- Delete "$INSTDIR\shaders\*.vp"
- Delete "$INSTDIR\shaders\*.glsl"
- RMDir "$INSTDIR\shaders"
- ; Remove Luxi.ttf, it has been moved to fonts/Luxi.ttf
- Delete "$INSTDIR\Luxi.ttf"
- CreateDirectory "$INSTDIR\fonts"
- File "/oname=fonts\Luxi.ttf" "..\fonts\Luxi.ttf" ; 0.78
- File "/oname=fonts\FreeSansBold.otf" "..\fonts\FreeSansBold.otf" ; 0.79
- ; startscripts removed since 0.78.2
- ;CreateDirectory "$INSTDIR\startscripts"
- ;File "/oname=startscripts\aistartscripttest.lua" "..\startscripts\aistartscripttest.lua"
- ;File "/oname=startscripts\cmdrscript.lua" "..\startscripts\cmdrscript.lua"
- ;File "/oname=startscripts\missionhelper.lua" "..\startscripts\missionhelper.lua"
- ;File "/oname=startscripts\missiontest.lua" "..\startscripts\missiontest.lua"
- ;File "/oname=startscripts\ordertroops.lua" "..\startscripts\ordertroops.lua"
- ; The stuff commons to all AI .dll
- DetailPrint ""
- DetailPrint "AI's .dll common files..."
- ; For AI coded in C:
- SetOutPath "$INSTDIR\AI\Interfaces\C\0.1"
- File "..\AI\Interfaces\C\0.1\AIInterface.dll"
- File "..\AI\Interfaces\C\0.1\InterfaceInfo.lua"
- File "..\AI\Interfaces\C\0.1\VERSION"
- ; For AI coded in Java:
- SetOutPath "$INSTDIR\AI\Interfaces\Java\0.1"
- File /r /x .svn "..\AI\Interfaces\Java\0.1\*.*"
- ; For AI coded in Python:
- SetOutPath "$INSTDIR\AI\Interfaces\Python\0.1"
- File /r /x .svn "..\AI\Interfaces\Python\0.1\*.*"
- ; Where the AI go:
- CreateDirectory "$INSTDIR\AI\Skirmish"
- ; Default content
- DetailPrint ""
- DetailPrint "Spring's base content..."
- SetOverWrite on
- SetOutPath "$INSTDIR\base"
- File "..\base\springcontent.sdz"
- File "..\base\maphelper.sdz"
- File "..\base\cursors.sdz"
- SetOutPath "$INSTDIR\base\spring"
- File "..\base\spring\bitmaps.sdz"
- ${IfNot} ${FileExists} "$INSTDIR\spring.exe"
- ; Demofile file association
- DetailPrint ""
- DetailPrint "Spring Demo File (*.SDF) association..."
- !insertmacro APP_ASSOCIATE "sdf" "spring.demofile" "Spring demo file" "$INSTDIR\spring.exe,0" "Open with Spring" "$\"$INSTDIR\spring.exe$\" $\"%1$\""
- !insertmacro UPDATEFILEASSOC
- ${EndIf}
- DetailPrint ""
- DetailPrint "Installing the LUA stuff..."
- SetOutPath "$INSTDIR"
- File "..\luaui.lua"
- SetOutPath "$INSTDIR\LuaUI\Images\"
- File "..\LuaUI\Images\flags25x15.png"
- File "..\LuaUI\Images\players.png"
- File "..\LuaUI\Images\highlight_strip.png"
- SetOutPath "$INSTDIR\LuaUI\Icons\"
- File "..\LuaUI\Icons\e.png"
- File "..\LuaUI\Icons\m.png"
- File "..\LuaUI\Icons\x.png"
- File "..\LuaUI\Icons\square.png"
- File "..\LuaUI\Icons\tri-up.png"
- File "..\LuaUI\Icons\cross.png"
- File "..\LuaUI\Icons\hemi-down.png"
- File "..\LuaUI\Icons\hemi-up.png"
- File "..\LuaUI\Icons\sphere.png"
- File "..\LuaUI\Icons\m-down.png"
- File "..\LuaUI\Icons\diamond.png"
- File "..\LuaUI\Icons\triangle-up.png"
- File "..\LuaUI\Icons\star-dark.png"
- File "..\LuaUI\Icons\square_+.png"
- File "..\LuaUI\Icons\star.png"
- File "..\LuaUI\Icons\hourglass.png"
- File "..\LuaUI\Icons\square_x.png"
- File "..\LuaUI\Icons\triangle-down.png"
- File "..\LuaUI\Icons\hourglass-side.png"
- File "..\LuaUI\Icons\m-up.png"
- File "..\LuaUI\Icons\tri-down.png"
- File "..\LuaUI\Icons\hemi.png"
- File "..\LuaUI\Icons\chi.png"
- SetOutPath "$INSTDIR\LuaUI\"
- File "..\LuaUI\loadmodel.lua"
- ${IfNot} ${FileExists} "$INSTDIR\LuaUI\ctrlpanel.txt"
- File "..\LuaUI\ctrlpanel.txt"
- ${EndIf}
- File "..\LuaUI\fonts.lua"
- File "..\LuaUI\savetable.lua"
- File "..\LuaUI\debug.lua"
- File "..\LuaUI\flags.lua"
- File "..\LuaUI\widgets.lua"
- File "..\LuaUI\NEWS.txt"
- File "..\LuaUI\system.lua"
- File "..\LuaUI\main.lua"
- File "..\LuaUI\selector.lua"
- File "..\LuaUI\setupdefs.lua"
- File "..\LuaUI\actions.lua"
- File "..\LuaUI\README.txt"
- File "..\LuaUI\callins.lua"
- File "..\LuaUI\tweakmode.lua"
- File "..\LuaUI\layout.lua"
- File "..\LuaUI\CHANGELOG.txt"
- File "..\LuaUI\utils.lua"
- SetOutPath "$INSTDIR\LuaUI\Widgets\"
- File "..\LuaUI\Widgets\camera_shake.lua"
- File "..\LuaUI\Widgets\camera_smooth_move.lua"
- ;File "..\LuaUI\Widgets\gui_comm_ends.lua"
- ;File "..\LuaUI\Widgets\gui_hilight_unit.lua"
- File "..\LuaUI\Widgets\gui_selbuttons.lua"
- ;File "..\LuaUI\Widgets\gui_team_platter.lua"
- ;File "..\LuaUI\Widgets\gui_xray_shader.lua"
- File "..\LuaUI\Widgets\minimap_relative.lua"
- File "..\LuaUI\Widgets\minimap_startbox.lua"
- ;File "..\LuaUI\Widgets\unit_factory_guard.lua"
- ;File "..\LuaUI\Widgets\unit_immobile_buider.lua"
- ;File "..\LuaUI\Widgets\unit_metal_maker.lua"
- ;File "..\LuaUI\Widgets\unit_stockpile.lua"
- File "..\LuaUI\Widgets\headless_setup.lua"
- SetOutPath "$INSTDIR\LuaUI\Sounds\"
- File "..\LuaUI\Sounds\flag_grab.wav"
- File "..\LuaUI\Sounds\teamgrab.wav"
- File "..\LuaUI\Sounds\message_admin.wav"
- File "..\LuaUI\Sounds\bounce.wav"
- File "..\LuaUI\Sounds\README.txt"
- File "..\LuaUI\Sounds\land.wav"
- File "..\LuaUI\Sounds\message_private.wav"
- File "..\LuaUI\Sounds\message_team.wav"
- File "..\LuaUI\Sounds\pop.wav"
- SetOutPath "$INSTDIR\LuaUI\Headers\"
- File "..\LuaUI\Headers\colors.h.lua"
- File "..\LuaUI\Headers\keysym.h.lua"
- SetOutPath "$INSTDIR\LuaUI\Models\"
- File "..\LuaUI\Models\colors.lua"
- File "..\LuaUI\Models\colors.mtl"
- File "..\LuaUI\Models\colors.obj"
- SetOutPath "$INSTDIR\LuaUI\Fonts\"
- File "..\LuaUI\Fonts\README"
- File "..\LuaUI\Fonts\FreeMonoBold_12.lua"
- File "..\LuaUI\Fonts\FreeMonoBold_12.png"
- ; Purge old file from 0.75 install.
- Delete "$INSTDIR\LuaUI\unitdefs.lua"
- DetailPrint ""
- DetailPrint "New widgets..."
- ; HealthBar Widget
- SetOutPath "$INSTDIR\LuaUI\Images"
- File "..\LuaUI\Images\gradient_alpha_2.png"
- File "..\LuaUI\Images\nuke.png"
- File "..\LuaUI\Images\paralyzed.png"
- SetOutPath "$INSTDIR\LuaUI\Widgets"
- File "..\LuaUI\Widgets\unit_healthbars.lua"
- ; Advanced Player Info Widget
- SetOutPath "$INSTDIR\LuaUI\Images\advplayerslist"
- File "..\LuaUI\Images\advplayerslist\*.png"
- SetOutPath "$INSTDIR\LuaUI\Widgets"
- File "..\LuaUI\Widgets\gui_advplayerslist.lua"
- ; Build E.T.A.
- SetOutPath "$INSTDIR\LuaUI\Widgets"
- File "..\LuaUI\Widgets\gui_build_eta.lua"
- ; Center'n'Select first unit at start
- SetOutPath "$INSTDIR\LuaUI\Widgets"
- File "..\LuaUI\Widgets\gui_center_n_select.lua"
- ; Custom Formation
- SetOutPath "$INSTDIR\LuaUI\Widgets"
- File "..\LuaUI\Widgets\unit_customformations2.lua"
- ; Start Point Remover Widget
- SetOutPath "$INSTDIR\LuaUI\Widgets"
- File "..\LuaUI\Widgets\init_start_point_remover.lua"
- ; Auto Quit on Game Over Widget
- SetOutPath "$INSTDIR\LuaUI\Widgets"
- File "..\LuaUI\Widgets\autoquit.lua"
- ; Redo Team Colors Widget
- SetOutPath "$INSTDIR\LuaUI\Widgets"
- File "..\LuaUI\Widgets\gui_redo_teamcolors.lua"
- ; Action Finder Widget
- SetOutPath "$INSTDIR\LuaUI\Widgets"
- File "..\LuaUI\Widgets\cmd_actionfinder.lua"
- ; Highlight Selected Units Widget
- SetOutPath "$INSTDIR\LuaUI\Widgets"
- File "..\LuaUI\Widgets\gui_hilight_selectedunits.lua"
- !ifdef WITH_MUSIC
- ; Music Widget
- SetOutPath "$INSTDIR\LuaUI\Widgets"
- File "..\LuaUI\Widgets\music.lua"
- !endif
- DetailPrint ""
- DetailPrint "Installing the Spring documentation..."
- SetOutPath "$INSTDIR\docs"
- File "..\docs\FAQ.html"
- File "..\docs\GettingStarted.html"
- File "..\docs\Legal.html"
- File "..\docs\LICENSE.html"
- File "..\docs\main.html"
- File "..\docs\MoreInfo.html"
- File "..\docs\changelog.txt"
- File "..\docs\cmds.txt"
- File "..\docs\SelectionKeys.txt"
- Delete "$INSTDIR\docs\readme.html"
- Delete "$INSTDIR\docs\xtachanges.txt"
- ${IfNot} ${FileExists} "$LOCALAPPDATA\springsettings.cfg"
- DetailPrint ""
- DetailPrint "Writing Spring Settings somewhere..."
- File "/oname=$LOCALAPPDATA\springsettings.cfg" "springsettings${MOD_ACRONYM}default.cfg"
- ${EndIf}
- ${IfNot} ${FileExists} "$INSTDIR\springsettings.cfg"
- DetailPrint ""
- DetailPrint "Writing Spring Settings in Spring folder..."
- File "/oname=$INSTDIR\springsettings.cfg" "springsettings${MOD_ACRONYM}default.cfg"
- ${EndIf}
- DetailPrint ""
- DetailPrint "Creating the Spring registery keys..."
- WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\springclient.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\${NameUnInstallerFile}"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\spring.exe"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${SPRING_VERSION}"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${MOD_WEBSITE}"
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${SPRING_PUBLISHER}"
- SetOutPath "$INSTDIR"
- SectionEnd
- Section "Multiplayer Battleroom" SecBattleRooms
- DetailPrint ""
- DetailPrint "Installing the multiplayer battlerooms..."
- SetOverwrite on
- SetOutPath "$INSTDIR"
- File "..\springlobby.exe"
- File "..\springlobby_updater.exe"
- File "..\springlobby.global.conf"
- File "..\TASClient.exe"
- SetOverwrite off
- File "..\7za.dll" ; TASClient really do need it
- ;File "..\SpringDownloader.exe" ; is now known as Zero-K.exe
- File "..\Zero-K.exe" ; the new name of SpringDownloader.exe
- File "..\Zero-K.ico" ; icon for the
- CreateDirectory "$INSTDIR\lobby\cache"
- CreateDirectory "$INSTDIR\lobby\cache\online"
- CreateDirectory "$INSTDIR\lobby\cache\maps"
- CreateDirectory "$INSTDIR\lobby\cache\mods"
- CreateDirectory "$INSTDIR\lobby\cache\games"
- CreateDirectory "$INSTDIR\lobby\var"
- CreateDirectory "$INSTDIR\lobby\var\replayFilters"
- CreateDirectory "$INSTDIR\lobby\logs"
- CreateDirectory "$INSTDIR\lobby\python"
- CreateDirectory "$INSTDIR\lobby\locale"
- SetOutPath "$INSTDIR\lobby\var"
- ;File "..\lobby\var\autojoin.ini"; New between TASC 0.45 and TASC 0.47; Now removed?
- File "..\lobby\var\groups.ini"
- File "..\lobby\var\tips.txt"
- SetOutPath "$INSTDIR\lobby\python"
- File /r /x .svn "..\lobby\python\*.*"
- SetOutPath "$INSTDIR\lobby\ScrollingNews"
- File /r /x .svn "..\lobby\ScrollingNews\*.*"
- CreateDirectory "$INSTDIR\lobby\locale\en_US\LC_MESSAGES"
- SetOutPath "$INSTDIR\lobby\locale\en_US\LC_MESSAGES"
- File "..\lobby\locale\en_US\LC_MESSAGES\default.mo"
- File "..\lobby\locale\en_US\LC_MESSAGES\default.po"
- CreateDirectory "$INSTDIR\lobby\locale\es\LC_MESSAGES"
- SetOutPath "$INSTDIR\lobby\locale\es\LC_MESSAGES"
- File "..\lobby\locale\es\LC_MESSAGES\default.mo"
- CreateDirectory "$INSTDIR\lobby\locale\ru\LC_MESSAGES"
- SetOutPath "$INSTDIR\lobby\locale\ru\LC_MESSAGES"
- File "..\lobby\locale\ru\LC_MESSAGES\default.mo"
- CreateDirectory "$INSTDIR\lobby\locale\de\LC_MESSAGES"
- SetOutPath "$INSTDIR\lobby\locale\de\LC_MESSAGES"
- File "..\lobby\locale\de\LC_MESSAGES\default.mo"
- CreateDirectory "$INSTDIR\lobby\locale\fr\LC_MESSAGES"
- SetOutPath "$INSTDIR\lobby\locale\fr\LC_MESSAGES"
- File "..\lobby\locale\fr\LC_MESSAGES\default.mo"
- ; Themes (new between Spring 77b5 installer and autoupdated lobby)
- SetOutPath "$INSTDIR\lobby\SPThemes"
- File "..\lobby\SPThemes\*.ssk"
- ; Skins
- SetOutPath "$INSTDIR"
- File "..\TASClient.skn"
- File "..\TASClient_Light.skn"
- ; TASClient tweaks
- SetOverwrite on
- SetOutPath "$INSTDIR\lobby\var"
- File "..\lobby\var\notify.dat"
- SetOutPath "$INSTDIR\lobby\var"
- File "..\lobby\var\perform.dat"
- SetOutPath "$INSTDIR\lobby\var\filters"
- File "..\lobby\var\filters\current.ini"
- File "..\lobby\var\filters\AutoJoinDefault.ini"
- SetOutPath "$INSTDIR\lobby\var\autoJoinPresets"
- File "..\lobby\var\autoJoinPresets\current.ini"
- SetOutPath "$INSTDIR\${INST_SUBFOLDER}\"
- File "${CLIENT_CUSTO}.ini"
- File "${CLIENT_CUSTO}SplashScreen.jpg"
- WriteRegDWORD HKCU "Software\${CLIENT_CUSTO}\Forms\MainForm" "EnableFilters" 1
- WriteRegDWORD HKCU "Software\${CLIENT_CUSTO}\Preferences" "JoinMainChannel" 0
- WriteRegDWORD HKCU "Software\${CLIENT_CUSTO}\Preferences" "CheckForNewVersion" 0
- WriteRegDWORD HKCU "Software\${CLIENT_CUSTO}\Preferences" "EnableSpringDownloader" 0
- WriteRegDWORD HKCU "Software\${CLIENT_CUSTO}\Preferences" "ScriptsEnabled2" 0xFFFFFFFF
- WriteRegDWORD HKCU "Software\${CLIENT_CUSTO}\Preferences" "ScriptWarningMsgShown" 0xFFFFFFFF
- WriteRegDWORD HKCU "Software\${CLIENT_CUSTO}\Preferences" "DisableNews" 0xFFFFFFFF
- WriteRegDWORD HKCU "Software\${CLIENT_CUSTO}\Preferences" "DisableNews3" 0xFFFFFFFF
- ; Rapid
- DetailPrint ""
- DetailPrint "Installing Rapid..."
- SetOutPath "$INSTDIR\rapid"
- File "..\rapid\bitarray._bitarray.pyd"
- File "..\rapid\bz2.pyd"
- File "..\rapid\library.zip"
- File "..\rapid\PyQt4.QtCore.pyd"
- File "..\rapid\PyQt4.QtGui.pyd"
- File "..\rapid\python26.dll"
- File "..\rapid\QtCore4.dll"
- File "..\rapid\QtGui4.dll"
- File "..\rapid\rapid-gui.exe"
- File "..\rapid\rapid.exe"
- File "..\rapid\select.pyd"
- File "..\rapid\sip.pyd"
- File "..\rapid\unicodedata.pyd"
- File "..\rapid\_ctypes.pyd"
- File "..\rapid\_hashlib.pyd"
- File "..\rapid\_socket.pyd"
- File "..\rapid\_ssl.pyd"
- DetailPrint ""
- DetailPrint "Installing Spring LAN server..."
- SetOutPath "$INSTDIR"
- File "..\TASServer.jar"
- SectionEnd
- Section "${MOD_NAME} Game" SecMod
- DetailPrint ""
- DetailPrint "Installing ${MOD_NAME} Game ..."
- SetOutPath "$INSTDIR\games"
- File "..\games\${MOD_ARCHIVE}"
- DetailPrint ""
- DetailPrint "Installing ${MOD_NAME} Launcher and Readme..."
- SetOutPath "$INSTDIR\${INST_SUBFOLDER}"
- File "${MOD_ACRONYM}_menu.txt"
- File "${MOD_ACRONYM}SP.ico"
- SetOutPath "$INSTDIR"
- File "..\${MOD_README}"
- SectionEnd
- Section "${MOD_NAME} Maps" SecMaps
- DetailPrint ""
- DetailPrint "Installing ${MOD_NAME} Maps ..."
- SetOutPath "$INSTDIR\maps"
- File "..\maps\Grts_CookedWell_008.sd7"
- File "..\maps\Grts_desertValley_012.sd7"
- File "..\maps\Grts_Gunmetal_Harbor_009.sd7"
- File "..\maps\Grts_Messa_008.sd7"
- File "..\maps\Grts_Northernmountains009.sd7"
- File "..\maps\Grts_Rocky_Glacier010.sd7"
- File "..\maps\Grts_RiverValley_013.sdz"
- SetOutPath "$INSTDIR"
- SectionEnd
- !ifdef WITH_AI
- Section /o "C++ AIs" SecCppAI
- SectionEnd
- !endif
- Section "-Start menu shortcuts" SecStartMenuShortCut
- DetailPrint ""
- DetailPrint "Installing the start menu shorcuts..."
- SetOutPath "$INSTDIR"
- CreateDirectory "$SMPROGRAMS\${START_MENU_FOLDER}"
- CreateShortCut "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Single Player.lnk" "$INSTDIR\spring.exe" "${RUN_MENU_PARAMETERS}" "$INSTDIR\${INST_SUBFOLDER}\${MOD_ACRONYM}SP.ico"
- ${If} ${FileExists} "$INSTDIR\TASClient.exe"
- CreateShortCut "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Online Multiplayer 1 (TASClient).lnk" "$INSTDIR\TASClient.exe" "-no3d -inifile ${INST_SUBFOLDER}\${CLIENT_CUSTO}.ini"
- ${EndIf}
- ${If} ${FileExists} "$INSTDIR\springlobby.exe"
- CreateShortCut "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Online Multiplayer 2 (SpringLobby).lnk" "$INSTDIR\springlobby.exe"
- ${EndIf}
- ${If} ${FileExists} "$INSTDIR\Zero-K.exe"
- CreateShortCut "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Online Multiplayer 3 (Zero-K Lobby).lnk" "$INSTDIR\Zero-K.exe"
- ${EndIf}
- CreateShortCut "$SMPROGRAMS\${START_MENU_FOLDER}\Settings.lnk" "$INSTDIR\springsettings.exe"
- CreateShortCut "$SMPROGRAMS\${START_MENU_FOLDER}\Selectionkeys editor.lnk" "$INSTDIR\SelectionEditor.exe"
- WriteINIStr "$INSTDIR\${MOD_NAME} Webpage.url" "InternetShortcut" "URL" "${MOD_WEBSITE}"
- CreateShortCut "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} Webpage.lnk" "$INSTDIR\${MOD_NAME} Webpage.url"
- CreateShortCut "$SMPROGRAMS\${START_MENU_FOLDER}\Uninstall ${MOD_NAME} ${MOD_VERSION}.lnk" "$INSTDIR\${NameUnInstallerFile}"
- SetOutPath "$INSTDIR"
- SectionEnd
- Section "Desktop shortcut" SecDesktopShortCut
- DetailPrint ""
- DetailPrint "Installing the desktop shorcuts..."
- SetOutPath "$INSTDIR"
- CreateShortCut "$DESKTOP\${MOD_NAME} - Single Player.lnk" "$INSTDIR\spring.exe" "${RUN_MENU_PARAMETERS}" "$INSTDIR\${INST_SUBFOLDER}\${MOD_ACRONYM}SP.ico"
- ${If} ${FileExists} "$INSTDIR\TASClient.exe"
- CreateShortCut "$DESKTOP\${MOD_NAME} - Online Multiplayer.lnk" "$INSTDIR\TASClient.exe" "-no3d -inifile ${INST_SUBFOLDER}\${CLIENT_CUSTO}.ini"
- ${EndIf}
- SectionEnd
- Section "Reset Spring Settings" SecResetSpringSettings
- ; Nothing here because anyway that section is executed too late
- ; So instead I read if the flag is set in SecStart and then do what must be done
- SectionEnd
- Section /o "Installer Sources" SecInstallerSource
- DetailPrint ""
- DetailPrint "Copying files to recreate installer ..."
- SetOutPath "$INSTDIR"
- CreateDirectory "$INSTDIR\${INST_SUBFOLDER}"
- File "/oname=${INST_SUBFOLDER}\NSIS_GRTS_installer.nsi" "NSIS_GRTS_installer.nsi"
- File "/oname=${INST_SUBFOLDER}\inst.ico" "inst.ico"
- File "/oname=${INST_SUBFOLDER}\uninst.ico" "uninst.ico"
- File "/oname=${INST_SUBFOLDER}\InstallerSplashPic.bmp" "InstallerSplashPic.bmp"
- File "/oname=${INST_SUBFOLDER}\InstallerTopPic.bmp" "InstallerTopPic.bmp"
- File "/oname=${INST_SUBFOLDER}\InstallerLeftPic.bmp" "InstallerLeftPic.bmp"
- File "/oname=${INST_SUBFOLDER}\UninstallerLeftPic.bmp" "UninstallerLeftPic.bmp"
- File "/oname=${INST_SUBFOLDER}\springsettings${MOD_ACRONYM}default.cfg" "springsettings${MOD_ACRONYM}default.cfg"
- SetOutPath "$INSTDIR"
- SectionEnd
- !ifdef WITH_MUSIC
- Section "Music" SecMusic
- DetailPrint ""
- DetailPrint "Installing Music ..."
- SetOutPath "$INSTDIR\LuaUI\Widgets"
- File "..\LuaUI\Widgets\music.lua"; I guess it'll be installed twice, oh well
- SetOutPath "$INSTDIR\Music\${MOD_SHORTNAME}"
- File "..\music\${MOD_SHORTNAME}\_Music_Credits_.txt"
- ;File "..\music\${MOD_SHORTNAME}\ParagonX9 - Chaoz Airflow.ogg"
- SetOutPath "$INSTDIR"
- SectionEnd
- !endif
- ;--------------------------------
- ;Descriptions of installer sections
- !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- !insertmacro MUI_DESCRIPTION_TEXT ${SecEngine} "The Spring RTS Engine, version ${SPRING_VERSION}, \
- necessary to run ${MOD_NAME} \
- $\r$\n$\r$\nIn doubt leave checked."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecBattleRooms} "A ${MOD_NAME} battleroom,$\r$\nto set up multiplayer games and find opponents."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecMod} "The sdz that contains all the data about the ${MOD_NAME} mod."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecMaps} "Some maps specially made for ${MOD_NAME}."
- !ifdef WITH_AI
- !insertmacro MUI_DESCRIPTION_TEXT ${SecCppAI} "There isn't any AI that can play ${MOD_NAME} anyway."
- !endif
- !insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenuShortCut} "Do you want to create shorcuts to \
- ${MOD_NAME} in your Start Menu ?"
- !insertmacro MUI_DESCRIPTION_TEXT ${SecDesktopShortCut} "Do you want to create shorcuts to \
- ${MOD_NAME} on your Desktop ?"
- !insertmacro MUI_DESCRIPTION_TEXT ${SecResetSpringSettings} "Do you want to reset the settings of Spring \
- and SpringLobby stored in $\"Documents and Settings$\" \
- as well as TASClient and ${CLIENT_CUSTO} Registery keys ?"
- !insertmacro MUI_DESCRIPTION_TEXT ${SecInstallerSource} "Do you want to copy the sources$\r$\n\
- of this very installer ?"
- !ifdef WITH_MUSIC
- !insertmacro MUI_DESCRIPTION_TEXT ${SecMusic} "Some music$\r$\nto listen to$\r$\nwhile playing."
- !endif
- !insertmacro MUI_FUNCTION_DESCRIPTION_END
- ;--------------------------------
- ; Initialisation of the install
- Function .onInit
- # the plugins dir is automatically deleted when the installer exits
- InitPluginsDir
- File /oname=$PLUGINSDIR\InstallerSplashPic.bmp "InstallerSplashPic.bmp"
- #optional
- #File /oname=$PLUGINSDIR\TalonSplash.wav "TalonSound.wav"
- advsplash::show 2500 2000 1000 0x00FF00 $PLUGINSDIR\InstallerSplashPic
- ; where the numbers are, in order:
- ; - time shown solid
- ; - time fading in
- ; - time fading out
- ; - transparent color
- Pop $0
- ; $0 has '1' if the user closed the splash screen early,
- ; '0' if everything closed normally, and '-1' if some error occurred.
- Delete $PLUGINSDIR\InstallerSplashPic.bmp
- ; Make some section Read Only:
- SectionGetFlags ${SecMod} $0
- IntOp $0 $0 | ${SF_RO}
- SectionSetFlags ${SecMod} $0
- ;SectionGetFlags ${SecMaps} $0
- ;IntOp $0 $0 | ${SF_RO}
- ;SectionSetFlags ${SecMaps} $0
- ;;SectionGetFlags ${SecCppAI} $0
- ;;IntOp $0 $0 | ${SF_RO}
- ;;SectionSetFlags ${SecCppAI} $0
- ;SectionGetFlags ${SecMusic} $0
- ;IntOp $0 $0 | ${SF_RO}
- ;SectionSetFlags ${SecMusic} $0
- ; Read the initial set of SecEngine
- SectionGetFlags ${SecEngine} $0
- IntOp $MainSpringSelectionPreviousState $0 & ${SF_SELECTED}
- Call SilentCheckSpringVersion
- FunctionEnd
- ;--------------------------------
- !ifdef NO_SPACE_IN_PATH
- var InstDirLength
- var InstDirIterator
- var InstDirChar
- Function VerifySpaceAbsence
- StrLen $InstDirLength $INSTDIR
- IntOp $InstDirIterator 0 - 0
- CharLoop:
- IntOp $InstDirIterator $InstDirIterator + 1
- IntCmp $InstDirIterator $InstDirLength 0 0 Done
- StrCpy $InstDirChar $INSTDIR 1 $InstDirIterator
- StrCmp $InstDirChar " " SpaceFound CharLoop
- SpaceFound:
- MessageBox MB_ICONINFORMATION "The install path must not contain any space!"
- Abort
- Done:
- FunctionEnd
- !endif
- ;--------------------------------
- Function DirLeave
- Call SilentCheckSpringVersion
- !ifdef NO_SPACE_IN_PATH
- Call VerifySpaceAbsence
- !endif
- FunctionEnd
- ;--------------------------------
- Function .onVerifyInstDir
- FunctionEnd
- ;--------------------------------
- Function .onSelChange
- ; If Spring engine just renabled,
- ; Then renabled some stuff
- SectionGetFlags ${SecEngine} $0
- IntOp $0 $0 ^ $MainSpringSelectionPreviousState
- IntCmp $0 ${SF_SELECTED} OnSelChangeSpringMaybeRenabled OnSelChangeSpringNotRenabled
- OnSelChangeSpringMaybeRenabled:
- SectionGetFlags ${SecEngine} $0
- IntOp $0 $0 & ${SF_SELECTED}
- IntCmp $0 ${SF_SELECTED} OnSelChangeSpringRenabled OnSelChangeSpringNotRenabled
- OnSelChangeSpringRenabled:
- SectionGetFlags ${SecBattleRooms} $0
- IntOp $0 $0 | ${SF_SELECTED}
- SectionSetFlags ${SecBattleRooms} $0
- SectionGetFlags ${SecResetSpringSettings} $0
- IntOp $0 $0 | ${SF_SELECTED}
- SectionSetFlags ${SecResetSpringSettings} $0
- OnSelChangeSpringNotRenabled:
- ; If Spring engine is disabled,
- ; then disable some stuff
- ; and also check the version of Spring already installed
- SectionGetFlags ${SecEngine} $0
- IntOp $0 $0 & ${SF_SELECTED}
- IntCmp $0 ${SF_SELECTED} OnSelChangeSpringEngineSelected OnSelChangeSpringEngineNotSelected
- OnSelChangeSpringEngineNotSelected:
- ;SectionGetFlags ${SecBattleRooms} $0
- ;IntOp $0 $0 | ${SF_SELECTED}
- ;IntOp $0 $0 ^ ${SF_SELECTED}
- ;SectionSetFlags ${SecBattleRooms} $0
- SectionGetFlags ${SecEngine} $0
- IntOp $0 $0 ^ $MainSpringSelectionPreviousState
- IntCmp $0 ${SF_SELECTED} OnSelChangeSpringEngineSelectionChanged OnSelChangeSpringEngineSelectionNotChanged
- OnSelChangeSpringEngineSelectionChanged:
- Call CheckSpringVersion
- OnSelChangeSpringEngineSelectionNotChanged:
- OnSelChangeSpringEngineSelected:
- ; Save the state
- SectionGetFlags ${SecEngine} $0
- IntOp $MainSpringSelectionPreviousState $0 & ${SF_SELECTED}
- FunctionEnd
- ;--------------------------------
- Function SilentCheckSpringVersion
- ; Set ZeroForTickOneForTell to 0
- Intop $ZeroForTickOneForTell 0 & 0
- ; Check Spring Version
- Call CheckSpringVersion
- ; Set ZeroForTickOneForTell to 0
- Intop $ZeroForTickOneForTell 1 | 1
- FunctionEnd
- ;--------------------------------
- Function CheckSpringVersion
- ClearErrors
- FileOpen $7 "$INSTDIR\spring.exe" r
- IfErrors NoSpring
- FileSeek $7 0 END $1
- FileClose $7
- ; Someone please fills in the gaps using next line
- ;MessageBox MB_ICONSTOP|MB_OK "The spring.exe length is $1 write it down"
- IntCmp $1 2387968 OutdatedSpring ; 0.40b1
- IntCmp $1 2396160 OutdatedSpring ; 0.40b2
- IntCmp $1 2400256 OutdatedSpring ; 0.41b1
- IntCmp $1 2433024 OutdatedSpring ; 0.50b1
- IntCmp $1 2441216 OutdatedSpring ; 0.50b2
- IntCmp $1 2445312 OutdatedSpring ; 0.51b1
- IntCmp $1 2637824 OutdatedSpring ; 0.60b1
- IntCmp $1 2650112 OutdatedSpring ; 0.61b1
- IntCmp $1 2670592 OutdatedSpring ; 0.61b2
- IntCmp $1 2678784 OutdatedSpring ; 0.62b1
- IntCmp $1 2682880 OutdatedSpring ; 0.63b1 & 0.63b2
- IntCmp $1 2703360 OutdatedSpring ; 0.64b1
- IntCmp $1 3006464 OutdatedSpring ; 0.65b1
- IntCmp $1 3014656 OutdatedSpring ; 0.65b2
- IntCmp $1 3031040 OutdatedSpring ; 0.66b1
- IntCmp $1 3035136 OutdatedSpring ; 0.67b1 & 0.67b2 & 0.67b3
- IntCmp $1 2633728 OutdatedSpring ; 0.70b1
- IntCmp $1 2650112 OutdatedSpring ; 0.70b2
- IntCmp $1 2707456 OutdatedSpring ; 0.70b3 (& 71b1?)
- IntCmp $1 2797556 OutdatedSpring ; 0.72b1
- IntCmp $1 3502080 OutdatedSpring ; 0.73b1
- IntCmp $1 5438464 OutdatedSpring ; 0.74b1
- IntCmp $1 5487104 OutdatedSpring ; 0.74b2
- IntCmp $1 5478912 OutdatedSpring ; 0.74b3
- IntCmp $1 7470080 OutdatedSpring ; 0.75b1
- IntCmp $1 7470592 OutdatedSpring ; 0.75b1+svn3976 - 0.75b1+svn3997
- IntCmp $1 7471104 OutdatedSpring ; 0.75b2
- IntCmp $1 8393728 OutdatedSpring ; 0.76b1
- IntCmp $1 9595392 OutdatedSpring ; 0.77b2
- IntCmp $1 9611264 OutdatedSpring ; 0.77b3
- IntCmp $1 9617408 OutdatedSpring ; 0.77b4
- IntCmp $1 9627648 OutdatedSpring ; 0.77b5
- IntCmp $1 9981440 OutdatedSpring ; 0.78.1.1
- IntCmp $1 11352752 OutdatedSpring ; 0.78.1.4
- IntCmp $1 9643520 OutdatedSpring ; 0.78.2 & 0.78.2.1
- IntCmp $1 8967168 OutdatedSpring ; 0.79.0
- IntCmp $1 8970240 OutdatedSpring ; 0.79.0.1 & 0.79.0.2
- IntCmp $1 8980480 OutdatedSpring ; 0.79.1.0
- IntCmp $1 8976896 OutdatedSpring ; 0.79.1.1
- IntCmp $1 8979456 OutdatedSpring ; 0.79.1.2
- IntCmp $1 8397312 OutdatedSpring ; 0.80.0
- IntCmp $1 8398848 OutdatedSpring ; 0.80.1
- IntCmp $1 8402944 OutdatedSpring ; 0.80.2
- IntCmp $1 8449024 OutdatedSpring ; 0.80.3
- IntCmp $1 8453120 OutdatedSpring ; 0.80.4
- IntCmp $1 8457216 OutdatedSpring ; 0.80.4.1
- IntCmp $1 8457728 OutdatedSpring ; 0.80.4.2
- IntCmp $1 8671232 OutdatedSpring ; 0.80.5
- IntCmp $1 8672768 OutdatedSpring ; 0.80.5.1
- IntCmp $1 8676352 OutdatedSpring ; 0.80.5.2
- IntCmp $1 8843264 OutdatedSpring ; 0.81.0
- IntCmp $1 8866816 OutdatedSpring ; 0.81.1.3
- IntCmp $1 8889856 OutdatedSpring ; 0.81.2
- IntCmp $1 8889344 OutdatedSpring ; 0.81.2.1
- IntCmp $1 10377539 OutdatedSpring ; 0.81.2.1 1377 ge7e87ab
- IntCmp $1 10467257 OutdatedSpring ; 0.82.0
- IntCmp $1 10471865 OutdatedSpring ; 0.82.1
- IntCmp $1 10475875 OutdatedSpring ; 0.82.2 & 0.82.3
- IntCmp $1 10487651 OutdatedSpring ; 0.82.4 & 0.82.5
- IntCmp $1 10488163 OutdatedSpring ; 0.82.5.1
- IntCmp $1 10479459 OutdatedSpring ; 0.82.6 & 0.82.6.1
- IntCmp $1 10494307 OutdatedSpring ; 0.82.7
- IntCmp $1 10499427 UpToDateSpring ; 0.82.7.1
- Goto UnknowSpringUnTick ; Use once all missing versions have been filed
- Goto UnknowSpringTick ; Use to overwrite Spring.exe if unknown version
- NoSpring:
- IntCmp $ZeroForTickOneForTell 0 TickSpringEngine 0 0
- MessageBox MB_ICONSTOP|MB_OK "The Spring RTS engine is not present in the folder you decided to install ${MOD_NAME}$\r$\n$\r$\n\
- ${MOD_NAME} data will be copied, but you won't be able to play it." \
- IDOK CheckSpringVersionPassed IDCANCEL CheckSpringVersionFailed
- Goto CheckSpringVersionPassed
- UnknowSpringUntick:
- IntCmp $ZeroForTickOneForTell 0 UntickSpringEngine 0 0
- MessageBox MB_ICONSTOP|MB_OK "The Spring RTS engine in the folder you decided to install ${MOD_NAME} is of unknown version.$\r$\n\
- Hopefully it's a version of Spring higher than ${SPRING_VERSION} but that will still support \
- ${MOD_NAME} ${MOD_VERSION}.$\r$\nTry and see. If not working, next time try ticking $\"Spring engine$\"." \
- IDOK CheckSpringVersionPassed IDCANCEL CheckSpringVersionFailed
- Goto CheckSpringVersionPassed
- UnknowSpringTick:
- IntCmp $ZeroForTickOneForTell 0 TickSpringEngine 0 0
- MessageBox MB_ICONSTOP|MB_OK "The Spring RTS engine in the folder you decided to install ${MOD_NAME} is of unknown version.$\r$\n\
- Hopefully it's a version of Spring higher than ${SPRING_VERSION} but that will still support \
- ${MOD_NAME} ${MOD_VERSION}.$\r$\nTry and see. If not working, next time try ticking $\"Spring engine$\"." \
- IDOK CheckSpringVersionPassed IDCANCEL CheckSpringVersionFailed
- Goto CheckSpringVersionPassed
- OutdatedSpring:
- IntCmp $ZeroForTickOneForTell 0 TickSpringEngine 0 0
- MessageBox MB_ICONSTOP|MB_OK "You are trying to install ${MOD_NAME} over an outdated version of Spring.$\r$\n$\r$\n\
- We strongly suggest you go back and tick Spring ${SPRING_VERSION} on the list of stuff to install." \
- IDOK CheckSpringVersionPassed IDCANCEL CheckSpringVersionFailed
- Goto CheckSpringVersionPassed
- UpToDateSpring:
- IntCmp $ZeroForTickOneForTell 0 UntickSpringEngine 0 0
- Goto CheckSpringVersionPassed
- CheckSpringVersionFailed:
- ;Abort "Tick Spring ${SPRING_VERSION} next time!"
- TickSpringEngine:
- SectionGetFlags ${SecEngine} $0
- IntOp $0 $0 | ${SF_SELECTED}
- SectionSetFlags ${SecEngine} $0
- SectionGetFlags ${SecBattleRooms} $0
- IntOp $0 $0 | ${SF_SELECTED}
- SectionSetFlags ${SecBattleRooms} $0
- SectionGetFlags ${SecResetSpringSettings} $0
- IntOp $0 $0 | ${SF_SELECTED}
- SectionSetFlags ${SecResetSpringSettings} $0
- Goto CheckSpringVersionPassed
- UntickSpringEngine:
- SectionGetFlags ${SecEngine} $0
- IntOp $0 $0 | ${SF_SELECTED}
- IntOp $0 $0 ^ ${SF_SELECTED}
- SectionSetFlags ${SecEngine} $0
- ;SectionGetFlags ${SecBattleRooms} $0
- ;IntOp $0 $0 | ${SF_SELECTED}
- ;IntOp $0 $0 ^ ${SF_SELECTED}
- ;SectionSetFlags ${SecBattleRooms} $0
- SectionGetFlags ${SecResetSpringSettings} $0
- IntOp $0 $0 | ${SF_SELECTED}
- IntOp $0 $0 ^ ${SF_SELECTED}
- SectionSetFlags ${SecResetSpringSettings} $0
- Goto CheckSpringVersionPassed
- CheckSpringVersionPassed:
- FunctionEnd
- ;--------------------------------
- Function .onInstSuccess
- ;ExecShell "open" "$INSTDIR\${MOD_README}"
- FunctionEnd
- ;--------------------------------
- Function CheckAndDoIfMustDeletePreviousSettings
- SectionGetFlags ${SecResetSpringSettings} $0
- IntCmp $0 ${SF_SELECTED} SecResetSpringSettingsTicked SecResetSpringSettingsUnTicked
- SecResetSpringSettingsTicked:
- DetailPrint ""
- DetailPrint "Deleting Previous Settings..."
- Delete "$LOCALAPPDATA\springsettings.cfg"
- Delete "$LOCALAPPDATA\springlobby\springlobby.conf"
- RMDir "$LOCALAPPDATA\springlobby"
- Delete "$APPDATA\springlobby\springlobby.conf"
- RMDir "$APPDATA\springlobby"
- DeleteRegKey HKCU "Software\${CLIENT_CUSTO}"
- DeleteRegKey HKCU "Software\TASClient"
- SecResetSpringSettingsUnTicked:
- FunctionEnd
- ;--------------------------------
- ;Uninstaller Sections
- Section "-un.Start Uninstall" SecUnStart
- ; Remove if you don't want to check for adminship
- !insertmacro CheckUserPower "installation"
- SectionEnd
- Section "un.${MOD_NAME} ${MOD_VERSION}"
- DetailPrint ""
- DetailPrint "Uninstalling ${MOD_NAME} ${MOD_VERSION}..."
- Delete "$INSTDIR\games\${MOD_ARCHIVE}"
- RMDir "$INSTDIR\games"
- Delete "$INSTDIR\mods\${MOD_ARCHIVE}"
- Delete "$INSTDIR\mods\GUNDAM1.21SP1.sd7"
- Delete "$INSTDIR\mods\GUNDAM1.21SP2.sd7"
- Delete "$INSTDIR\mods\GUNDAM1.21SP3.sd7"
- Delete "$INSTDIR\mods\GUNDAM1.21SP4.sd7"
- Delete "$INSTDIR\mods\GUNDAM1.21SP5.sd7"
- Delete "$INSTDIR\mods\GUNDAM1.21SP6.sd7"
- Delete "$INSTDIR\mods\GUNDAM1.21SP7.sd7"
- Delete "$INSTDIR\mods\GUNDAM1.21SP8.sd7"
- Delete "$INSTDIR\mods\GUNDAM1.21SP9.sd7"
- RMDir "$INSTDIR\mods"
- Delete "$INSTDIR\maps\GRTS_CookedWell_003.sdz"
- Delete "$INSTDIR\maps\Grts_Cookedwell_005.sd7"
- Delete "$INSTDIR\maps\Grts_CookedWell_006.sd7"
- Delete "$INSTDIR\maps\Grts_CookedWell_007.sd7"
- Delete "$INSTDIR\maps\Grts_CookedWell_008.sd7"
- Delete "$INSTDIR\maps\GRTS_desertValley_005.sdz"
- Delete "$INSTDIR\maps\Grts_desertValley_011.sd7"
- Delete "$INSTDIR\maps\Grts_desertValley_012.sd7"
- Delete "$INSTDIR\maps\GRTS_RiverValley_010.sdz"
- Delete "$INSTDIR\maps\Grts_RiverValley_013.sdz"
- Delete "$INSTDIR\maps\Grts_Northernmountains_006.sd7"
- Delete "$INSTDIR\maps\Grts_Northernmountains_008.sd7"
- Delete "$INSTDIR\maps\Grts_Northernmountains009.sd7"
- Delete "$INSTDIR\maps\Gunmetal_Harbor_4.sd7"
- Delete "$INSTDIR\maps\Grts_Gunmetal_Harbor_008.sd7"
- Delete "$INSTDIR\maps\Grts_Gunmetal_Harbor_009.sd7"
- Delete "$INSTDIR\maps\Grts_Rocky_Glacier_004.sd7"
- Delete "$INSTDIR\maps\Grts_Rocky_Glacier_009.sd7"
- Delete "$INSTDIR\maps\Grts_Rocky_Glacier010.sd7"
- Delete "$INSTDIR\maps\Grts_Messa_007.sd7"
- Delete "$INSTDIR\maps\Grts_Messa_008.sd7"
- RMDir "$INSTDIR\maps\paths\"
- RMDir "$INSTDIR\maps"
- Delete "$INSTDIR\${INST_SUBFOLDER}\inst.ico"
- Delete "$INSTDIR\${INST_SUBFOLDER}\uninst.ico"
- Delete "$INSTDIR\${INST_SUBFOLDER}\${MOD_ACRONYM}_menu.txt"
- Delete "$INSTDIR\${INST_SUBFOLDER}\${MOD_ACRONYM}SP.ico"
- Delete "$INSTDIR\${INST_SUBFOLDER}\${CLIENT_CUSTO}.ini"
- Delete "$INSTDIR\${INST_SUBFOLDER}\${CLIENT_CUSTO}SplashScreen.jpg"
- Delete "$INSTDIR\${INST_SUBFOLDER}\InstallerSplashPic.bmp"
- Delete "$INSTDIR\${INST_SUBFOLDER}\InstallerTopPic.bmp"
- Delete "$INSTDIR\${INST_SUBFOLDER}\InstallerLeftPic.bmp"
- Delete "$INSTDIR\${INST_SUBFOLDER}\UninstallerLeftPic.bmp"
- Delete "$INSTDIR\${INST_SUBFOLDER}\${INST_SUBFOLDER}\${MOD_ACRONYM}_menu.txt"
- Delete "$INSTDIR\${INST_SUBFOLDER}\Spring Project Source.url"
- Delete "$INSTDIR\${INST_SUBFOLDER}\springsettings${MOD_ACRONYM}default.cfg"
- Delete "$INSTDIR\${INST_SUBFOLDER}\NSIS_GRTS_installer.nsi"
- Delete "$INSTDIR\${INST_SUBFOLDER}\${MOD_README}"
- RMDir "$INSTDIR\${INST_SUBFOLDER}"
- Delete "$INSTDIR\${MOD_NAME} Webpage.url"
- Delete "$INSTDIR\${MOD_README}"
- Delete "$INSTDIR\${MOD_SHORTNAME}_script.txt"
- Delete "$INSTDIR\${MOD_SHORTNAME}_Dump.txt"
- Delete "$INSTDIR\AutoSave.txt"
- Delete "$INSTDIR\Missions\AutoSave.txt"
- Delete "$INSTDIR\Missions\${MOD_SHORTNAME}_Dump.txt"
- RMDir "$INSTDIR\Missions"
- RMDir "$INSTDIR"
- DetailPrint ""
- DetailPrint "Deleting desktop shortcuts..."
- SetShellVarContext All
- Delete "$DESKTOP\${MOD_NAME} - Single Player.lnk"
- Delete "$DESKTOP\${MOD_NAME} - Online Multiplayer.lnk"
- SetShellVarContext current
- Delete "$DESKTOP\${MOD_NAME} - Single Player.lnk"
- Delete "$DESKTOP\${MOD_NAME} - Online Multiplayer.lnk"
- DetailPrint ""
- DetailPrint "Deleting start menu shorcuts..."
- SetShellVarContext All
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Single Player.lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Single Player.lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Online Multiplayer.lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Online Multiplayer (Alternative).lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Online Multiplayer 1 (TASClient).lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Online Multiplayer 2 (SpringLobby).lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Online Multiplayer 3 (SpringDownloader).lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Online Multiplayer 3 (Zero-K Lobby).lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\Settings.lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\Selectionkeys editor.lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} Webpage.lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\Uninstall ${MOD_NAME} ${MOD_VERSION}.lnk"
- RMDir "$SMPROGRAMS\${START_MENU_FOLDER}"
- SetShellVarContext current
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Single Player.lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Online Multiplayer.lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} - Online Multiplayer (Alternative).lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\Settings.lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\Selectionkeys editor.lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\${MOD_NAME} Webpage.lnk"
- Delete "$SMPROGRAMS\${START_MENU_FOLDER}\Uninstall ${MOD_NAME} ${MOD_VERSION}.lnk"
- RMDir "$SMPROGRAMS\${START_MENU_FOLDER}"
- SectionEnd
- Section "un.Spring ${SPRING_VERSION}"
- DetailPrint ""
- DetailPrint "Deleting Spring ${SPRING_VERSION}..."
- ; Main files
- Delete "$INSTDIR\spring.exe"
- Delete "$INSTDIR\spring-multithreaded.exe"
- Delete "$INSTDIR\Spring.exe_Old_.exe"
- Delete "$INSTDIR\spring.def"
- Delete "$INSTDIR\unitsync.dll"
- Delete "$INSTDIR\PALETTE.PAL"
- Delete "$INSTDIR\SelectionEditor.exe"
- Delete "$INSTDIR\selectkeys.txt"
- Delete "$INSTDIR\uikeys.txt"
- Delete "$INSTDIR\uikeys.txt.bak"
- Delete "$INSTDIR\cmdcolors.txt"
- Delete "$INSTDIR\ctrlpanel.txt"
- Delete "$INSTDIR\teamcolors.lua"
- ;New Settings Program
- Delete "$INSTDIR\springsettings.exe"
- Delete "$INSTDIR\mingwm10.dll"
- Delete "$INSTDIR\wxbase28u_gcc_custom.dll"
- Delete "$INSTDIR\wxbase28u_net_gcc_custom.dll"
- Delete "$INSTDIR\wxbase28u_xml_gcc_custom.dll"
- Delete "$INSTDIR\wxmsw28u_adv_gcc_custom.dll"
- Delete "$INSTDIR\wxmsw28u_aui_gcc_custom.dll"
- Delete "$INSTDIR\wxmsw28u_core_gcc_custom.dll"
- Delete "$INSTDIR\wxmsw28u_html_gcc_custom.dll"
- Delete "$INSTDIR\wxmsw28u_qa_gcc_custom.dll"
- Delete "$INSTDIR\wxmsw28u_richtext_gcc_custom.dll"
- Delete "$INSTDIR\springsettings.conf"
- ; DLLs
- Delete "$INSTDIR\DevIL.dll"
- Delete "$INSTDIR\freetype6.dll"
- Delete "$INSTDIR\glew32.dll"
- Delete "$INSTDIR\ILU.dll"
- Delete "$INSTDIR\ILUT.dll"
- Delete "$INSTDIR\python25.dll"
- Delete "$INSTDIR\SDL.dll"
- Delete "$INSTDIR\SDL_mixer.dll"; May be only for springlobby.exe
- Delete "$INSTDIR\zlib1.dll"
- Delete "$INSTDIR\zlibwapi.dll"
- Delete "$INSTDIR\MSVCR71.dll"
- Delete "$INSTDIR\MSVCP71.dll"
- ; 0.79 DLLs
- Delete "$INSTDIR\ogg.dll"
- Delete "$INSTDIR\OpenAL32.dll"
- Delete "$INSTDIR\vorbis.dll"
- Delete "$INSTDIR\vorbisfile.dll"
- Delete "$INSTDIR\wrap_oal.dll"
- ; 0.80 DLL
- Delete "$INSTDIR\libgcc_s_dw2-1.dll"
- ; 0.81 DLL
- Delete "$INSTDIR\boost_filesystem-gcc44-mt-1_41.dll"
- Delete "$INSTDIR\boost_system-gcc44-mt-1_41.dll"
- Delete "$INSTDIR\boost_thread-gcc44-mt-1_41.dll"
- Delete "$INSTDIR\wxmsw28u_gl_gcc_custom.dll"
- Delete "$INSTDIR\wxmsw28u_xrc_gcc_custom.dll"
- Delete "$INSTDIR\OpenAL32_sl.dll"
- ; TA's Palette
- Delete "$INSTDIR\PALETTE.PAL"
- ; Fonts
- Delete "$INSTDIR\fonts\Luxi.ttf" ; 0.78
- Delete "$INSTDIR\fonts\FreeSansBold.otf" ; 0.79
- RMDir "$INSTDIR\fonts"
- ; AI Interfaces
- RMDir /r "$INSTDIR\AI\Interfaces"
- ; AI Bot dlls
- Delete "$INSTDIR\AI\Bot-libs\TestGlobalAI.dll"
- RMDir "$INSTDIR\AI\Bot-libs"
- RMDir "$INSTDIR\AI\Skirmish"
- RMDir "$INSTDIR\AI"
- ; AI Helper dlls
- Delete "$INSTDIR\AI\Helper-libs\CentralBuildAI.dll"
- Delete "$INSTDIR\AI\Helper-libs\MetalMakerAI.dll"
- Delete "$INSTDIR\AI\Helper-libs\SimpleFormationAI.dll"
- Delete "$INSTDIR\AI\Helper-libs\RadarAI.dll"
- Delete "$INSTDIR\AI\Helper-libs\MexUpgraderAI.dll"
- Delete "$INSTDIR\AI\Helper-libs\EconomyAI.dll"
- Delete "$INSTDIR\AI\Helper-libs\ReportIdleAI.dll"
- RMDir "$INSTDIR\AI\Helper-libs"
- RMDir "$INSTDIR\AI"
- ; Baczek's KP AI 1.2's dll."
- Delete "$INSTDIR\boost_date_time-vc90-1_39.dll"
- Delete "$INSTDIR\boost_python-vc90-mt-1_39.dll"
- Delete "$INSTDIR\boost_regex-vc90-mt-1_39.dll"
- Delete "$INSTDIR\boost_signals-vc90-mt-1_39.dll"
- Delete "$INSTDIR\boost_system-vc90-mt-1_39.dll"
- Delete "$INSTDIR\boost_thread-vc90-mt-1_39.dll"
- Delete "$INSTDIR\boost_thread-vc90-mt-1_39.dll"
- Delete "$INSTDIR\msvcm90.dll"
- Delete "$INSTDIR\msvcp90.dll"
- Delete "$INSTDIR\msvcr90.dll"
- Delete "$INSTDIR\python26.dll"
- ; Startscript
- Delete "$INSTDIR\startscripts\aistartscripttest.lua"
- Delete "$INSTDIR\startscripts\cmdrscript.lua"
- Delete "$INSTDIR\startscripts\missionhelper.lua"
- Delete "$INSTDIR\startscripts\missiontest.lua"
- Delete "$INSTDIR\startscripts\ordertroops.lua"
- Delete "$INSTDIR\startscripts\testscript.lua"
- RMDir "$INSTDIR\startscripts"
- ; May be automatically downloaded by SpringDownloader.exe
- Delete "$INSTDIR\base\otacontent.sdz"
- Delete "$INSTDIR\base\tacontent_v2.sdz"
- Delete "$INSTDIR\base\tatextures_v062.sdz"
- ; base content
- Delete "$INSTDIR\base\spring\bitmaps.sdz"
- Delete "$INSTDIR\base\springcontent.sdz"
- Delete "$INSTDIR\base\maphelper.sdz"
- Delete "$INSTDIR\base\cursors.sdz"
- RMDir "$INSTDIR\base\spring"
- RMDir "$INSTDIR\base"
- ; Generated stuff from running spring
- Delete "$INSTDIR\ArchiveCacheV4.txt"
- Delete "$INSTDIR\ArchiveCacheV5.txt"
- Delete "$INSTDIR\ArchiveCacheV6.txt"
- Delete "$INSTDIR\ArchiveCacheV7.lua"
- Delete "$INSTDIR\unitsync.log"
- Delete "$INSTDIR\infolog.txt"
- Delete "$INSTDIR\_script.txt" ; Spring.Restart generated
- Delete "$INSTDIR\script.sav" ; Generated by my ingame single player menu widget
- Delete "$INSTDIR\infolog.bak.txt" ; Generated by my ingame single player menu widget
- Delete "$INSTDIR\ext.txt"
- Delete "$INSTDIR\modpanel.txt" ; Gundam extracts one
- Delete "$INSTDIR\lups.cfg" ; Not sure if needed, but I've seen one once
- Delete "$INSTDIR\demos\test.sdf"
- RMDir "$INSTDIR\demos"
- ; Demofile file association
- !insertmacro APP_UNASSOCIATE "sdf" "spring.demofile"
- DetailPrint ""
- DetailPrint "Deleting Spring ${SPRING_VERSION} documentation..."
- Delete "$INSTDIR\docs\readme.html"
- Delete "$INSTDIR\docs\LICENSE.html"
- Delete "$INSTDIR\docs\changelog.txt"
- Delete "$INSTDIR\docs\cmds.txt"
- Delete "$INSTDIR\docs\Q&A.html" ; 0.78
- Delete "$INSTDIR\docs\FAQ.html" ; 0.79
- Delete "$INSTDIR\docs\Getting Started.html" ; 0.78
- Delete "$INSTDIR\docs\GettingStarted.html" ; 0.79
- Delete "$INSTDIR\docs\Legal.html"
- Delete "$INSTDIR\docs\main.html"
- Delete "$INSTDIR\docs\More Info.html" ; 0.78
- Delete "$INSTDIR\docs\MoreInfo.html" ; 0.79
- Delete "$INSTDIR\docs\SelectionKeys.txt" ; 0.80
- RMDir "$INSTDIR\docs"
- DetailPrint ""; TODO
- DetailPrint "Deleting Spring ${SPRING_VERSION} shortcuts..."
- Delete "$SMPROGRAMS\Spring\Uninstall.lnk"
- Delete "$SMPROGRAMS\Spring\Website.lnk"
- Delete "$SMPROGRAMS\Spring\Spring test.lnk"
- Delete "$SMPROGRAMS\Spring\Spring multiplayer battleroom.lnk"
- Delete "$SMPROGRAMS\Spring\Selectionkeys editor.lnk"
- Delete "$SMPROGRAMS\Spring\Settings.lnk"
- RMDir "$SMPROGRAMS\Spring"
- Delete "$DESKTOP\Spring battleroom.lnk"
- Delete "$DESKTOP\Spring Spring battleroom.lnk"
- Delete "$DESKTOP\Spring ${SPRING_VERSION} battleroom.lnk"
- DetailPrint ""
- DetailPrint "Deleting Rapid..."
- Delete "$INSTDIR\rapid\bitarray._bitarray.pyd"
- Delete "$INSTDIR\rapid\bz2.pyd"
- Delete "$INSTDIR\rapid\library.zip"
- Delete "$INSTDIR\rapid\PyQt4.QtCore.pyd"
- Delete "$INSTDIR\rapid\PyQt4.QtGui.pyd"
- Delete "$INSTDIR\rapid\python26.dll"
- Delete "$INSTDIR\rapid\QtCore4.dll"
- Delete "$INSTDIR\\rapid\QtGui4.dll"
- Delete "$INSTDIR\rapid\rapid-gui.exe"
- Delete "$INSTDIR\rapid\rapid.exe"
- Delete "$INSTDIR\rapid\select.pyd"
- Delete "$INSTDIR\rapid\sip.pyd"
- Delete "$INSTDIR\rapid\unicodedata.pyd"
- Delete "$INSTDIR\rapid\_ctypes.pyd"
- Delete "$INSTDIR\rapid\_hashlib.pyd"
- Delete "$INSTDIR\rapid\_socket.pyd"
- Delete "$INSTDIR\rapid\_ssl.pyd"
- RMDir "$INSTDIR\rapid"
- DetailPrint ""
- DetailPrint "Deleting Spring ${SPRING_VERSION} battlerooms..."
- Delete "$INSTDIR\springlobby.exe"
- Delete "$INSTDIR\springlobby_updater.exe"
- Delete "$INSTDIR\springlobby.global.conf"
- RMDir /r "$INSTDIR\lobby\SpringLobby\cache"
- RMDir "$INSTDIR\lobby\SpringLobby"
- Delete "$INSTDIR\springlobby.exe.bak"; Created when SpringLobby updates
- RMDir /r "$INSTDIR\locale"; Created when SpringLobby updates
- Delete "$INSTDIR\SpringLobbyDocs\AUTHORS"
- Delete "$INSTDIR\SpringLobbyDocs\ChangeLog"
- Delete "$INSTDIR\SpringLobbyDocs\COPYING"
- Delete "$INSTDIR\SpringLobbyDocs\INSTALL"
- Delete "$INSTDIR\SpringLobbyDocs\NEWS"
- Delete "$INSTDIR\SpringLobbyDocs\README"
- Delete "$INSTDIR\SpringLobbyDocs\THANKS"
- RMDir "$INSTDIR\SpringLobbyDocs"
- ;ExecWait "$INSTDIR\SpringDownloader.exe -uninstall";
- Delete "$INSTDIR\TASClient.exe"
- Delete "$INSTDIR\TASClient_Err.log"
- Delete "$INSTDIR\KPSClient_Err.log"
- Delete "$INSTDIR\TASClient_Scripts_Err.txt"
- Delete "$INSTDIR\KPSClient_Scripts_Err.txt"
- Delete "$INSTDIR\TASClient_Scripts.log"
- Delete "$INSTDIR\KPSClient_Scripts.log"
- Delete "$INSTDIR\_AutoUpdateTempFile.7z"
- Delete "$INSTDIR\TASClient.skn"
- Delete "$INSTDIR\TASClient_Light.skn"
- Delete "$INSTDIR\SpringDownloaderErrors.txt"
- Delete "$INSTDIR\7za.dll"
- Delete "$INSTDIR\lobby\sidepics\arm.bmp"
- Delete "$INSTDIR\lobby\sidepics\core.bmp"
- Delete "$INSTDIR\lobby\sidepics\tll.bmp"
- Delete "$INSTDIR\lobby\var\groups.ini"
- Delete "$INSTDIR\lobby\var\tips.txt"
- Delete "$INSTDIR\lobby\var\autojoin.ini"; New between TASC 0.45 and TASC 0.47
- Delete "$INSTDIR\lobby\locale\en_US\LC_MESSAGES\default.mo"
- Delete "$INSTDIR\lobby\locale\en_US\LC_MESSAGES\default.po"
- Delete "$INSTDIR\lobby\locale\es\LC_MESSAGES\default.mo"
- Delete "$INSTDIR\lobby\locale\ru\LC_MESSAGES\default.mo"
- Delete "$INSTDIR\lobby\locale\de\LC_MESSAGES\default.mo"
- Delete "$INSTDIR\lobby\locale\fr\LC_MESSAGES\default.mo"
- RMDir "$INSTDIR\lobby\cache\maps"
- RMDir "$INSTDIR\lobby\cache\mods"
- RMDir "$INSTDIR\lobby\cache\games"
- RMDir "$INSTDIR\lobby\cache\online"
- RMDir "$INSTDIR\lobby\cache"
- RMDir "$INSTDIR\lobby\logs"
- RMDir "$INSTDIR\lobby\python"
- RMDir "$INSTDIR\lobby\ScrollingNews"
- RMDir "$INSTDIR\lobby\locale\en_US\LC_MESSAGES"
- RMDir "$INSTDIR\lobby\locale\es\LC_MESSAGES"
- RMDir "$INSTDIR\lobby\locale\ru\LC_MESSAGES"
- RMDir "$INSTDIR\lobby\locale\de\LC_MESSAGES"
- RMDir "$INSTDIR\lobby\locale\fr\LC_MESSAGES"
- RMDir "$INSTDIR\lobby\locale\en_US"
- RMDir "$INSTDIR\lobby\locale\es"
- RMDir "$INSTDIR\lobby\locale\ru"
- RMDir "$INSTDIR\lobby\locale\de"
- RMDir "$INSTDIR\lobby\locale\fr"
- RMDir "$INSTDIR\lobby\locale"
- RMDir "$INSTDIR\lobby\var\replayFilters"
- RMDir "$INSTDIR\lobby\var"
- RMDir "$INSTDIR\lobby"
- Delete "$INSTDIR\SpringDownloader.exe"
- Delete "$INSTDIR\Zero-K.exe"
- Delete "$INSTDIR\Zero-K.ico"
- Delete "$INSTDIR\TASServer.jar"
- Delete "$INSTDIR\springsettings.cfg"
- DetailPrint ""
- DetailPrint "Deleting LuaUI..."
- ; HealthBar Widget
- Delete "$INSTDIR\LuaUI\Images\gradient_alpha_2.png"
- Delete "$INSTDIR\LuaUI\Images\nuke.png"
- Delete "$INSTDIR\LuaUI\Images\paralyzed.png"
- Delete "$INSTDIR\LuaUI\Widgets\unit_healthbars.lua"
- ; Advanced Player Info Widget
- Delete "$INSTDIR\LuaUI\Widgets\gui_advplayerslist.lua"
- RMDir /r "$INSTDIR\LuaUI\Images\advplayerslist"
- ; Build E.T.A. Widget
- Delete "$INSTDIR\LuaUI\Widgets\gui_build_eta.lua"
- ; Center'n'Select first unit at start Widget
- Delete "$INSTDIR\LuaUI\Widgets\gui_center_n_select.lua"
- ; Custom Formation Widget
- Delete "$INSTDIR\LuaUI\Widgets\unit_customformations.lua"
- Delete "$INSTDIR\LuaUI\Widgets\unit_customformations2.lua"
- ; Start Point Remover Widget
- Delete "$INSTDIR\LuaUI\Widgets\init_start_point_remover.lua"
- ; Auto Quit on Game Over Widget
- Delete "$INSTDIR\LuaUI\Widgets\autoquit.lua"
- ; Redo Team Colors Widget
- Delete "$INSTDIR\LuaUI\Widgets\gui_redo_teamcolors.lua"
- ; Action Finder Widget
- Delete "$INSTDIR\LuaUI\Widgets\cmd_actionfinder.lua"
- ; Highlight Selected Units Widget
- Delete "$INSTDIR\LuaUI\Widgets\gui_hilight_selectedunits.lua"
- !ifdef WITH_MUSIC
- ; Music Widget
- Delete "$INSTDIR\LuaUI\Widgets\music.lua"
- !endif
- ; Other Widgets
- Delete "$INSTDIR\luaui.lua"
- Delete "$INSTDIR\LuaUI\Images\flags25x15.png"
- Delete "$INSTDIR\LuaUI\Images\players.png"
- Delete "$INSTDIR\LuaUI\Images\highlight_strip.png"
- RMDir "$INSTDIR\LuaUI\Images\"
- Delete "$INSTDIR\LuaUI\Icons\e.png"
- Delete "$INSTDIR\LuaUI\Icons\m.png"
- Delete "$INSTDIR\LuaUI\Icons\x.png"
- Delete "$INSTDIR\LuaUI\Icons\square.png"
- Delete "$INSTDIR\LuaUI\Icons\tri-up.png"
- Delete "$INSTDIR\LuaUI\Icons\cross.png"
- Delete "$INSTDIR\LuaUI\Icons\hemi-down.png"
- Delete "$INSTDIR\LuaUI\Icons\hemi-up.png"
- Delete "$INSTDIR\LuaUI\Icons\sphere.png"
- Delete "$INSTDIR\LuaUI\Icons\m-down.png"
- Delete "$INSTDIR\LuaUI\Icons\diamond.png"
- Delete "$INSTDIR\LuaUI\Icons\triangle-up.png"
- Delete "$INSTDIR\LuaUI\Icons\star-dark.png"
- Delete "$INSTDIR\LuaUI\Icons\square_+.png"
- Delete "$INSTDIR\LuaUI\Icons\star.png"
- Delete "$INSTDIR\LuaUI\Icons\hourglass.png"
- Delete "$INSTDIR\LuaUI\Icons\square_x.png"
- Delete "$INSTDIR\LuaUI\Icons\triangle-down.png"
- Delete "$INSTDIR\LuaUI\Icons\hourglass-side.png"
- Delete "$INSTDIR\LuaUI\Icons\m-up.png"
- Delete "$INSTDIR\LuaUI\Icons\tri-down.png"
- Delete "$INSTDIR\LuaUI\Icons\hemi.png"
- Delete "$INSTDIR\LuaUI\Icons\chi.png"
- RMDir "$INSTDIR\LuaUI\Icons\"
- Delete "$INSTDIR\LuaUI\loadmodel.lua"
- Delete "$INSTDIR\LuaUI\ctrlpanel.txt"
- Delete "$INSTDIR\LuaUI\fonts.lua"
- Delete "$INSTDIR\LuaUI\savetable.lua"
- Delete "$INSTDIR\LuaUI\debug.lua"
- Delete "$INSTDIR\LuaUI\flags.lua"
- Delete "$INSTDIR\LuaUI\widgets.lua"
- Delete "$INSTDIR\LuaUI\NEWS.txt"
- Delete "$INSTDIR\LuaUI\system.lua"
- Delete "$INSTDIR\LuaUI\main.lua"
- Delete "$INSTDIR\LuaUI\selector.lua"
- Delete "$INSTDIR\LuaUI\setupdefs.lua"
- Delete "$INSTDIR\LuaUI\actions.lua"
- Delete "$INSTDIR\LuaUI\README.txt"
- Delete "$INSTDIR\LuaUI\callins.lua"
- Delete "$INSTDIR\LuaUI\tweakmode.lua"
- Delete "$INSTDIR\LuaUI\layout.lua"
- Delete "$INSTDIR\LuaUI\CHANGELOG.txt"
- Delete "$INSTDIR\LuaUI\utils.lua"
- RMDir "$INSTDIR\LuaUI\"
- Delete "$INSTDIR\LuaUI\Widgets\camera_shake.lua"
- Delete "$INSTDIR\LuaUI\Widgets\camera_smooth_move.lua"
- Delete "$INSTDIR\LuaUI\Widgets\gui_comm_ends.lua"
- Delete "$INSTDIR\LuaUI\Widgets\gui_hilight_unit.lua"
- Delete "$INSTDIR\LuaUI\Widgets\gui_selbuttons.lua"
- Delete "$INSTDIR\LuaUI\Widgets\gui_team_platter.lua"
- Delete "$INSTDIR\LuaUI\Widgets\gui_xray_shader.lua"
- Delete "$INSTDIR\LuaUI\Widgets\minimap_relative.lua"
- Delete "$INSTDIR\LuaUI\Widgets\minimap_startbox.lua"
- Delete "$INSTDIR\LuaUI\Widgets\unit_factory_guard.lua"
- Delete "$INSTDIR\LuaUI\Widgets\unit_immobile_buider.lua"
- Delete "$INSTDIR\LuaUI\Widgets\unit_metal_maker.lua"
- Delete "$INSTDIR\LuaUI\Widgets\unit_stockpile.lua"
- Delete "$INSTDIR\LuaUI\Widgets\headless_setup.lua"
- RMDir "$INSTDIR\LuaUI\Widgets\"
- Delete "$INSTDIR\LuaUI\Sounds\flag_grab.wav"
- Delete "$INSTDIR\LuaUI\Sounds\teamgrab.wav"
- Delete "$INSTDIR\LuaUI\Sounds\message_admin.wav"
- Delete "$INSTDIR\LuaUI\Sounds\bounce.wav"
- Delete "$INSTDIR\LuaUI\Sounds\README.txt"
- Delete "$INSTDIR\LuaUI\Sounds\land.wav"
- Delete "$INSTDIR\LuaUI\Sounds\message_private.wav"
- Delete "$INSTDIR\LuaUI\Sounds\message_team.wav"
- Delete "$INSTDIR\LuaUI\Sounds\pop.wav"
- RMDir "$INSTDIR\LuaUI\Sounds\"
- Delete "$INSTDIR\LuaUI\Headers\colors.h.lua"
- Delete "$INSTDIR\LuaUI\Headers\keysym.h.lua"
- RMDir "$INSTDIR\LuaUI\Headers\"
- Delete "$INSTDIR\LuaUI\Models\colors.lua"
- Delete "$INSTDIR\LuaUI\Models\colors.mtl"
- Delete "$INSTDIR\LuaUI\Models\colors.obj"
- RMDir "$INSTDIR\LuaUI\Models\"
- Delete "$INSTDIR\LuaUI\Fonts\README"
- Delete "$INSTDIR\LuaUI\Fonts\FreeMonoBold_12.lua"
- Delete "$INSTDIR\LuaUI\Fonts\FreeMonoBold_12.png"
- RMDir "$INSTDIR\LuaUI\Fonts\"
- RMDir "$INSTDIR\LuaUI"
- DetailPrint ""
- DetailPrint "Removing file association and registery keys..."
- !insertmacro APP_UNASSOCIATE "sdf" "taspring.demofile"
- DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
- DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
- DetailPrint ""
- DetailPrint "Deleting Widget Configuration..."
- Delete "$INSTDIR\LuaUI\Config\${MOD_SHORTNAME}.lua"
- Delete "$INSTDIR\LuaUI\Config\widget_data.lua"
- Delete "$INSTDIR\LuaUI\Config\widget_order.lua"
- RMDir "$INSTDIR\LuaUI\Config"
- RMDir "$INSTDIR\LuaUI"
- DetailPrint ""
- DetailPrint "Removing Lobby Generated files..."
- RMDir /r "$INSTDIR\lobby\cache"
- RMDir /r "$INSTDIR\lobby\SPThemes"; Not sure
- RMDir /r "$INSTDIR\lobby\python"; Not sure
- RMDir /r "$INSTDIR\lobby\ScrollingNews"; Not sure
- RMDir "$INSTDIR\lobby"
- Delete "$INSTDIR\script.txt"
- DetailPrint ""
- DetailPrint "Deleting others..."
- Delete "$INSTDIR\Spring.url"
- Delete "$INSTDIR\jobjol.url"
- Delete "$INSTDIR\ArchiveMover.exe"
- ;Delete "$INSTDIR\uninst.exe"
- Delete "$INSTDIR\SpringDownloader.exe.bak"
- Delete "$INSTDIR\SpringDownloaderConfig.xml"
- Delete "$INSTDIR\lua5.1.dll"
- RMDir "$INSTDIR\temp"
- RMDir /r "$INSTDIR\downloader"
- DetailPrint ""
- DetailPrint "Deleting uninstaller..."
- Delete "$INSTDIR\${NameUnInstallerFile}"
- RMDir "$INSTDIR"
- SectionEnd
- Section "un.Delete Maps Paths"
- ; Maps Paths
- DetailPrint ""
- DetailPrint "Deleting Maps Paths"
- RMDir /r "$INSTDIR\cache"
- RMDir /r "$INSTDIR\maps\paths"
- RMDir "$INSTDIR\maps"
- RMDir "$INSTDIR"
- SectionEnd
- Section /o "un.Delete spread out Settings"
- DetailPrint ""
- DetailPrint "Deleting settings from various places..."
- Delete "$LOCALAPPDATA\springsettings.cfg"
- Delete "$LOCALAPPDATA\springlobby\springlobby.conf"
- RMDir "$LOCALAPPDATA\springlobby"
- Delete "$APPDATA\springlobby\springlobby.conf"
- RMDir "$APPDATA\springlobby"
- DeleteRegKey HKCU "Software\${CLIENT_CUSTO}"
- DeleteRegKey HKCU "Software\TASClient"
- SectionEnd
- Section /o "un.Delete Skirmish AIs"
- RMDir /r "$INSTDIR\AI\Skirmish"
- RMDir "$INSTDIR\AI"
- RMDir "$INSTDIR"
- SectionEnd
- Section /o "un.Delete Lobby Logs & Var"
- RMDir /r "$INSTDIR\temp"; SpringDownloader stuff
- RMDir /r "$INSTDIR\pool"; SpringDownloader stuff
- RMDir /r "$INSTDIR\SDCache"; SpringDownloader stuff
- RMDir /r "$INSTDIR\packages"; SpringDownloader stuff
- RMDir /r "$INSTDIR\lobby\SpringLobby\downloads"
- RMDir /r "$INSTDIR\lobby\SpringLobby\torrents"
- RMDir /r "$INSTDIR\lobby\SpringLobby"
- RMDir /r "$INSTDIR\lobby\var"
- RMDir /r "$INSTDIR\lobby\logs"
- RMDir "$INSTDIR\lobby"
- RMDir "$INSTDIR"
- SectionEnd
- Section /o "un.Delete Demos and Savegames and Screenshots"
- DetailPrint ""
- DetailPrint "Deleting demos..."
- RMDir /r "$INSTDIR\demos"
- RMDir "$INSTDIR"
- DetailPrint ""
- DetailPrint "Deleting savegames..."
- RMDir /r "$INSTDIR\Savegames\${MOD_SHORTNAME}"
- RMDir "$INSTDIR\Savegames"
- RMDir /r "$INSTDIR\Saves"
- RMDir "$INSTDIR"
- DetailPrint ""
- DetailPrint "Deleting screenshots..."
- Delete "$INSTDIR\Screenshots\screen*.jpg"
- Delete "$INSTDIR\Screenshots\screen*.png"
- RMDir "$INSTDIR\Screenshots"
- RMDir "$INSTDIR"
- SectionEnd
- !ifdef WITH_MUSIC
- Section "un.Delete Music"
- DetailPrint ""
- DetailPrint "Deleting music..."
- ;Delete "$INSTDIR\music\${MOD_SHORTNAME}\ParagonX9 - Chaoz Airflow.ogg"
- Delete "$INSTDIR\music\${MOD_SHORTNAME}\_Music_Credits_.txt"
- RMDir "$INSTDIR\music\${MOD_SHORTNAME}"
- RMDir "$INSTDIR\music"
- RMDir "$INSTDIR"
- SectionEnd
- !endif
- ;--------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement