sinfar-installer/Pages/page_select_path.nsi
2025-04-20 08:56:39 -04:00

48 lines
1.2 KiB
NSIS

!include "nsDialogs.nsh"
Var PathTextBoxHandle
Function Page_SelectNWNPath
nsDialogs::Create 1018
Pop $0
${NSD_CreateLabel} 0 0 100% 12u "Please select your Neverwinter Nights install folder:"
Pop $1
; Create a read-only text box to display the selected path
${NSD_CreateText} 0 14u 75% 12u "$INSTPATH"
Pop $PathTextBoxHandle
; Create a "Browse..." button
${NSD_CreateButton} 80% 14u 20% 12u "Browse..."
Pop $2
${NSD_OnClick} $2 OnBrowseClicked
nsDialogs::Show
FunctionEnd
Function OnBrowseClicked
nsDialogs::SelectFolderDialog "Select Neverwinter Nights Folder" "$INSTPATH"
Pop $0
StrCmp $0 "" done
StrCpy $INSTPATH "$0"
${NSD_SetText} $PathTextBoxHandle $INSTPATH
done:
FunctionEnd
Function Page_SelectNWNPath_Validation
; Get the current text in the folder path textbox
${NSD_GetText} $PathTextBoxHandle $INSTPATH
; Check if tlk and hak folder exists
IfFileExists "$INSTPATH\tlk\*.*" 0 invalid
IfFileExists "$INSTPATH\hak\*.*" 0 invalid
; Everything is valid
Return
invalid:
MessageBox MB_ICONEXCLAMATION|MB_OK "The selected folder must contain both 'tlk' and 'hak' subfolders."
Abort ; Prevents advancing to next page
FunctionEnd