169 lines
5.5 KiB
Plaintext
169 lines
5.5 KiB
Plaintext
/*
|
|
|
|
NSIS Modern User Interface
|
|
InstallFiles page
|
|
|
|
*/
|
|
|
|
;--------------------------------
|
|
;Page interface settings and variables
|
|
|
|
!macro MUI_INSTFILESPAGE_INTERFACE
|
|
|
|
!ifndef MUI_INSTFILESYPAGE_INTERFACE
|
|
!define MUI_INSTFILESYPAGE_INTERFACE
|
|
|
|
!insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_COLORS "/windows"
|
|
!insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_PROGRESSBAR "smooth"
|
|
|
|
Var mui.InstFilesPage
|
|
|
|
Var mui.InstFilesPage.Text
|
|
Var mui.InstFilesPage.ProgressBar
|
|
Var mui.InstFilesPage.ShowLogButton
|
|
Var mui.InstFilesPage.Log
|
|
|
|
;Apply settings
|
|
InstallColors ${MUI_INSTFILESPAGE_COLORS}
|
|
InstProgressFlags ${MUI_INSTFILESPAGE_PROGRESSBAR}
|
|
SubCaption 4 " "
|
|
UninstallSubCaption 2 " "
|
|
!endif
|
|
|
|
!macroend
|
|
|
|
|
|
;--------------------------------
|
|
;Page declaration
|
|
|
|
!macro MUI_PAGEDECLARATION_INSTFILES
|
|
|
|
!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INSTFILESPAGE ""
|
|
!insertmacro MUI_INSTFILESPAGE_INTERFACE
|
|
|
|
PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}instfiles
|
|
|
|
PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesLeave_${MUI_UNIQUEID}
|
|
|
|
Caption " "
|
|
|
|
PageExEnd
|
|
|
|
!insertmacro MUI_FUNCTION_INSTFILESPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesLeave_${MUI_UNIQUEID}
|
|
|
|
!insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_TEXT
|
|
!insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
|
|
!insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_TEXT
|
|
!insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_SUBTEXT
|
|
|
|
!macroend
|
|
|
|
!macro MUI_PAGE_INSTFILES
|
|
|
|
!verbose push
|
|
!verbose ${MUI_VERBOSE}
|
|
|
|
!insertmacro MUI_PAGE_INIT
|
|
!insertmacro MUI_PAGEDECLARATION_INSTFILES
|
|
|
|
!verbose pop
|
|
|
|
!macroend
|
|
|
|
!macro MUI_UNPAGE_INSTFILES
|
|
|
|
!verbose push
|
|
!verbose ${MUI_VERBOSE}
|
|
|
|
!insertmacro MUI_UNPAGE_INIT
|
|
!insertmacro MUI_PAGEDECLARATION_INSTFILES
|
|
|
|
!verbose pop
|
|
|
|
!macroend
|
|
|
|
|
|
;--------------------------------
|
|
;Page functions
|
|
|
|
!macro MUI_FUNCTION_INSTFILESPAGE PRE SHOW LEAVE
|
|
|
|
Function "${PRE}"
|
|
|
|
!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
|
|
!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLING_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLING_SUBTITLE)
|
|
|
|
FunctionEnd
|
|
|
|
Function "${SHOW}"
|
|
|
|
ReadRegStr $1 HKLM "SOFTWARE\UGX-Mods\Map Installer" "InstallPath"
|
|
|
|
;If this is a first time install with a broken CoDWaW install, save the dir they chose manually for next time.
|
|
|
|
${if} $1 == ""
|
|
WriteRegStr HKLM "Software\UGX-Mods\Map Installer" "InstallPath" "$INSTDIR"
|
|
${EndIf}
|
|
|
|
;Now that we have their root dir, set the install directory to where the mod actually needs to go. Just needed the root dir for bik files.
|
|
StrCpy $INSTDIR "$LOCALAPPDATA\Activision\CoDWaW\mods"
|
|
Rename $INSTDIR\$(^NameDA)\$(^NameDA)_load.bik $1\main\video\$(^NameDA)_load.bik
|
|
|
|
Rename "${NSISDIR}\Contrib\Graphics\Icons\ugx.ico" "$1\main\ugx.ico"
|
|
|
|
SetOutPath "$1"
|
|
CreateShortCut "$DESKTOP\UGX Community Maps\$(^NameDA).lnk" "$1\CoDWaW.exe" " +set fs_game $\"mods/$(^NameDA)$\"" "$1\main\ugx.ico"
|
|
|
|
SetOutPath "$INSTDIR"
|
|
|
|
;Get controls handles
|
|
FindWindow $mui.InstFilesPage "#32770" "" $HWNDPARENT
|
|
GetDlgItem $mui.InstFilesPage.Text $mui.InstFilesPage 1006
|
|
GetDlgItem $mui.InstFilesPage.ProgressBar $mui.InstFilesPage 1004
|
|
GetDlgItem $mui.InstFilesPage.ShowLogButton $mui.InstFilesPage 1027
|
|
GetDlgItem $mui.InstFilesPage.Log $mui.InstFilesPage 1016
|
|
|
|
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
|
|
|
|
FunctionEnd
|
|
|
|
Function "${LEAVE}"
|
|
|
|
!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
|
|
|
|
;Set text on completed page header
|
|
|
|
IfAbort mui.endheader_abort
|
|
|
|
!ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT & MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
|
|
!insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
|
|
!else ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT
|
|
!insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
|
|
!else ifdef MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
|
|
!insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
|
|
!else
|
|
!insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
|
|
!endif
|
|
|
|
Goto mui.endheader_done
|
|
|
|
mui.endheader_abort:
|
|
|
|
!ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT & MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
|
|
!insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
|
|
!else ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT
|
|
!insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
|
|
!else ifdef MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
|
|
!insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
|
|
!else
|
|
!insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
|
|
!endif
|
|
|
|
mui.endheader_done:
|
|
|
|
!insertmacro MUI_LANGDLL_SAVELANGUAGE
|
|
|
|
FunctionEnd
|
|
|
|
!macroend
|