Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <File.au3>
- #include <GUIConstantsEx.au3>
- #include <EditConstants.au3>
- #include <ColorConstants.au3>
- #include <Array.au3>
- #include <StaticConstants.au3>
- $dataDir = @ScriptDir&"\data"
- $errorLog = @ScriptDir&"\Change Options Error Log.txt"
- $optionsFile = $dataDir&"\options.dat"
- if Not FileExists($dataDir) Then
- error("Missing dirctory '"&$dataDir&"'",1,True)
- EndIf
- ;Vars
- $mapName = ""
- $FHFolder = ""
- $FHTerrainsFolder = ""
- $FHMapFile = ""
- $FHMapFolder = ""
- $FHObjectsFolder = ""
- $CopyObjectFiles = ""
- $OutputFolder = ""
- ;----
- loadOptions()
- $GuiWin = GUICreate("Options", 380, 300,-1,-1)
- $mapnameLabel = GUICtrlCreateLabel("Map Name:", 5, 10, 90, 20)
- $mapnameInput = GUICtrlCreateInput($mapName, 100, 8, 200, 20,BitOR($ES_AUTOHSCROLL,$ES_READONLY))
- $fhfolderLabel = GUICtrlCreateLabel("FH Folder:", 5, 32, 90, 20)
- $fhfolderInput = GUICtrlCreateInput($FHFolder, 100, 30, 200, 20,BitOR($ES_AUTOHSCROLL,$ES_READONLY))
- $fhfolderChange = GUICtrlCreateButton("Change",310, 30, 60, 20)
- $fhterrainsfolderLabel = GUICtrlCreateLabel("FH Terrains Folder:", 5, 54, 90, 20)
- $fhterrainsfolderInput = GUICtrlCreateInput($FHTerrainsFolder, 100, 52, 200, 20,BitOR($ES_AUTOHSCROLL,$ES_READONLY))
- $fhterrainsfolderChange = GUICtrlCreateButton("Change",310, 52, 60, 20)
- $fhmapfileLabel = GUICtrlCreateLabel("FH Map File:", 5, 76, 90, 20)
- $fhmapfileInput = GUICtrlCreateInput($FHMapFile, 100, 74, 200, 20,BitOR($ES_AUTOHSCROLL,$ES_READONLY))
- $fhmapfileChange = GUICtrlCreateButton("Change",310, 74, 60, 20)
- $fhmapfolderLabel = GUICtrlCreateLabel("FH Map Folder:", 5, 98, 90, 20)
- $fhmapfolderInput = GUICtrlCreateInput($FHMapFolder, 100, 96, 200, 20,BitOR($ES_AUTOHSCROLL,$ES_READONLY))
- $fhmapfolderChange = GUICtrlCreateButton("Change",310, 96, 60, 20)
- $fhobjectsfolderLabel = GUICtrlCreateLabel("FH Objects Folder:", 5, 120, 90, 20)
- $fhobjectsfolderInput = GUICtrlCreateInput($FHObjectsFolder, 100, 118, 200, 20,BitOR($ES_AUTOHSCROLL,$ES_READONLY))
- $fhobjectsfolderChange = GUICtrlCreateButton("Change",310, 118, 60, 20)
- $outputfolderLabel = GUICtrlCreateLabel("Output Folder:", 5, 142, 90, 20)
- $outputfolderInput = GUICtrlCreateInput($OutputFolder, 100, 140, 200, 20,BitOR($ES_AUTOHSCROLL,$ES_READONLY))
- $outputfolderChange = GUICtrlCreateButton("Change",310, 140, 60, 20)
- $copyobjectfilesInput = GUICtrlCreateCheckbox("Copy object files", 130, 165, 160, 20)
- GUICtrlSetState(-1,$GUI_DISABLE)
- GUICtrlSetFont(-1,12)
- if $CopyObjectFiles == "1" Then
- GUICtrlSetState($copyobjectfilesInput,$GUI_CHECKED)
- Else
- GUICtrlSetState($copyobjectfilesInput,$GUI_UNCHECKED)
- EndIf
- $autoCompleteButton = GUICtrlCreateButton("Auto Complete",55, 190, 130, 30)
- GUICtrlSetFont(-1,12)
- $resetButton = GUICtrlCreateButton("Reset",200, 190, 130, 30)
- GUICtrlSetFont(-1,12)
- $applyButton = GUICtrlCreateButton("Apply",130, 225, 130, 30)
- GUICtrlSetFont(-1,15)
- $warningLabel = GUICtrlCreateLabel("Warning: Some options are missing and may cause problems when converting",20, 260, 350, 50,$SS_CENTER)
- GUICtrlSetFont(-1,10)
- GUICtrlSetColor(-1,$COLOR_RED)
- GUICtrlSetState($warningLabel,$GUI_HIDE)
- updateCols()
- GUISetState(@SW_SHOW)
- ;WinSetOnTop($GuiWin, "", 1)
- $lastName = ""
- while 1
- $msg = GUIGetMsg()
- If $msg == $GUI_EVENT_CLOSE Then ExitLoop
- if $msg == $fhfolderChange Then
- $newdir = FileSelectFolder("Folder:", "C:\",0,$FHFolder)
- if $newdir == "" Then
- Else
- $FHFolder = $newdir
- GUICtrlSetData($fhfolderInput,$FHFolder)
- updateCols()
- EndIf
- EndIf
- if $msg == $fhterrainsfolderChange Then
- $newdir = FileSelectFolder("Folder:", "C:\",0,$FHTerrainsFolder)
- if $newdir == "" Then
- Else
- $FHTerrainsFolder = $newdir
- GUICtrlSetData($fhterrainsfolderInput,$FHTerrainsFolder)
- updateCols()
- EndIf
- EndIf
- if $msg == $fhmapfileChange Then
- $newdir = FileOpenDialog("File:", $FHTerrainsFolder, "Map File (*.map*)")
- if $newdir == "" Then
- Else
- $FHMapFile = $newdir
- GUICtrlSetData($fhmapfileInput,$FHMapFile)
- Local $sDrive = "", $sDir = "", $sFilename = "", $sExtension = ""
- _PathSplit($FHMapFile, $sDrive, $sDir, $sFilename, $sExtension)
- if $sFilename == "" Then
- Else
- $mapName = $sFilename
- GUICtrlSetData($mapnameInput,$mapName)
- EndIf
- updateCols()
- EndIf
- EndIf
- if $msg == $fhmapfolderChange Then
- $newdir = FileSelectFolder("Folder:", "C:\",0,$FHMapFolder)
- if $newdir == "" Then
- Else
- $FHMapFolder = $newdir
- GUICtrlSetData($fhmapfolderInput,$FHMapFolder)
- updateCols()
- EndIf
- EndIf
- if $msg == $fhobjectsfolderChange Then
- $newdir = FileSelectFolder("Folder:", "C:\",0,$FHObjectsFolder)
- if $newdir == "" Then
- Else
- $FHObjectsFolder = $newdir
- GUICtrlSetData($fhobjectsfolderInput,$FHObjectsFolder)
- updateCols()
- EndIf
- EndIf
- if $msg == $outputfolderChange Then
- if $OutputFolder == "" Then
- $newdir = FileSelectFolder("Folder:", "C:\",0,@ScriptDir)
- Else
- $newdir = FileSelectFolder("Folder:", "C:\",0,$OutputFolder)
- EndIf
- if $newdir == "" Then
- Else
- $OutputFolder = $newdir
- GUICtrlSetData($outputfolderInput,$OutputFolder)
- updateCols()
- EndIf
- EndIf
- if $msg == $autoCompleteButton Then
- if FileExists($FHFolder) Then
- ;if Not FileExists($FHTerrainsFolder) Then
- if FileExists($FHFolder&"\media\terrains") Then
- $FHTerrainsFolder = $FHFolder&"\media\terrains"
- Else
- If FileExists($FHFolder&"\terrains") Then
- $FHTerrainsFolder = $FHFolder&"\terrains"
- EndIf
- EndIf
- ;EndIf
- ;if Not FileExists($FHObjectsFolder) then
- if FileExists($FHFolder&"\media\objects") Then
- $FHObjectsFolder = $FHFolder&"\media\objects"
- Else
- If FileExists($FHFolder&"\objects") Then
- $FHObjectsFolder = $FHFolder&"\objects"
- EndIf
- EndIf
- ;EndIf
- EndIf
- if $mapName == "" Then
- if FileExists($FHMapFile) Then
- Local $sDrive = "", $sDir = "", $sFilename = "", $sExtension = ""
- _PathSplit($FHMapFile, $sDrive, $sDir, $sFilename, $sExtension)
- if $sFilename == "" Then
- Else
- $mapName = $sFilename
- EndIf
- EndIf
- Else
- if Not FileExists($FHMapFile) Then
- if FileExists($FHTerrainsFolder) Then
- if FileExists($FHTerrainsFolder&"\"&$mapName&".map") Then
- $FHMapFile = $FHTerrainsFolder&"\"&$mapName&".map"
- EndIf
- EndIf
- EndIf
- EndIf
- ;if Not FileExists($FHMapFolder) Then
- if $mapName == "" Then
- Else
- if FileExists($FHTerrainsFolder&"\"&$mapName) Then
- $FHMapFolder = $FHTerrainsFolder&"\"&$mapName
- EndIf
- EndIf
- ;EndIf
- GUICtrlSetData($mapnameInput,$mapName)
- GUICtrlSetData($fhfolderInput,$FHFolder)
- GUICtrlSetData($fhterrainsfolderInput,$FHTerrainsFolder)
- GUICtrlSetData($fhmapfileInput,$FHMapFile)
- GUICtrlSetData($fhmapfolderInput,$FHMapFolder)
- GUICtrlSetData($fhobjectsfolderInput,$FHObjectsFolder)
- GUICtrlSetData($outputfolderInput,$OutputFolder)
- updateCols()
- EndIf
- if $msg == $resetButton Then
- $confirmReset = MsgBox(4,"Reset?", "Are you sure you want to reset all options?")
- if $confirmReset == 6 Then
- $mapName = ""
- $FHFolder = ""
- $FHTerrainsFolder = ""
- $FHMapFile = ""
- $FHMapFolder = ""
- $FHObjectsFolder = ""
- $CopyObjectFiles = ""
- $OutputFolder = ""
- GUICtrlSetData($mapnameInput,$mapName)
- GUICtrlSetData($fhfolderInput,$FHFolder)
- GUICtrlSetData($fhterrainsfolderInput,$FHTerrainsFolder)
- GUICtrlSetData($fhmapfileInput,$FHMapFile)
- GUICtrlSetData($fhmapfolderInput,$FHMapFolder)
- GUICtrlSetData($fhobjectsfolderInput,$FHObjectsFolder)
- GUICtrlSetData($outputfolderInput,$OutputFolder)
- saveOptions()
- MsgBox(0,"Reset","Options have been reset")
- EndIf
- EndIf
- if $msg = $applyButton Then
- saveOptions()
- Exit
- EndIf
- $mapName = GUICtrlRead($mapnameInput)
- if $mapName == $lastName Then
- Else
- updateCols()
- EndIf
- $lastName = $mapName
- Sleep(10)
- WEnd
- func updateCols()
- $mapName = GUICtrlRead($mapnameInput)
- GUICtrlSetState($warningLabel,$GUI_HIDE)
- if FileExists($FHFolder) Then
- GUICtrlSetColor($fhfolderLabel,$COLOR_BLACK)
- Else
- GUICtrlSetColor($fhfolderLabel,$COLOR_RED)
- GUICtrlSetState($warningLabel,$GUI_SHOW)
- EndIf
- if FileExists($FHTerrainsFolder) Then
- GUICtrlSetColor($fhterrainsfolderLabel,$COLOR_BLACK)
- if FileExists($FHTerrainsFolder&"\"&$mapName&".map") Then
- GUICtrlSetColor($mapnameLabel,$COLOR_BLACK)
- Else
- GUICtrlSetColor($mapnameLabel,$COLOR_RED)
- GUICtrlSetState($warningLabel,$GUI_SHOW)
- EndIf
- Else
- GUICtrlSetColor($fhterrainsfolderLabel,$COLOR_RED)
- GUICtrlSetState($warningLabel,$GUI_SHOW)
- EndIf
- if FileExists($FHMapFile) Then
- GUICtrlSetColor($fhmapfileLabel,$COLOR_BLACK)
- Else
- GUICtrlSetColor($fhmapfileLabel,$COLOR_RED)
- GUICtrlSetState($warningLabel,$GUI_SHOW)
- EndIf
- if FileExists($FHMapFolder) Then
- GUICtrlSetColor($fhmapfolderLabel,$COLOR_BLACK)
- Else
- GUICtrlSetColor($fhmapfolderLabel,$COLOR_RED)
- GUICtrlSetState($warningLabel,$GUI_SHOW)
- EndIf
- if FileExists($FHObjectsFolder) Then
- GUICtrlSetColor($fhobjectsfolderLabel,$COLOR_BLACK)
- Else
- GUICtrlSetColor($fhobjectsfolderLabel,$COLOR_RED)
- GUICtrlSetState($warningLabel,$GUI_SHOW)
- EndIf
- if FileExists($OutputFolder) Then
- GUICtrlSetColor($outputfolderLabel,$COLOR_BLACK)
- Else
- GUICtrlSetColor($outputfolderLabel,$COLOR_RED)
- GUICtrlSetState($warningLabel,$GUI_SHOW)
- EndIf
- EndFunc
- Func loadOptions()
- if FileExists($optionsFile) Then
- Local $ops
- _FileReadToArray($optionsFile, $ops)
- if UBound($ops) == 9 Then
- $mapName = $ops[1]
- $FHFolder = $ops[2]
- $FHTerrainsFolder = $ops[3]
- $FHMapFile = $ops[4]
- $FHMapFolder = $ops[5]
- $FHObjectsFolder = $ops[6]
- $CopyObjectFiles = $ops[7]
- $OutputFolder = $ops[8]
- Return
- EndIf
- EndIf
- $mapName = ""
- $FHFolder = ""
- $FHTerrainsFolder = ""
- $FHMapFile = ""
- $FHMapFolder = ""
- $FHObjectsFolder = ""
- $CopyObjectFiles = ""
- $OutputFolder = ""
- EndFunc
- Func saveOptions()
- if FileExists($optionsFile) Then
- FileDelete($optionsFile)
- EndIf
- FileWriteLine($optionsFile,$mapName)
- FileWriteLine($optionsFile,$FHFolder)
- FileWriteLine($optionsFile,$FHTerrainsFolder)
- FileWriteLine($optionsFile,$FHMapFile)
- FileWriteLine($optionsFile,$FHMapFolder)
- FileWriteLine($optionsFile,$FHObjectsFolder)
- if GUICtrlRead($copyobjectfilesInput) == $GUI_CHECKED Then
- $CopyObjectFiles = "1"
- Else
- $CopyObjectFiles = ""
- EndIf
- FileWriteLine($optionsFile,$CopyObjectFiles)
- FileWriteLine($optionsFile,$OutputFolder)
- EndFunc
- Func error($errorText,$errorNumber,$fatal)
- ConsoleWrite("--Error--"&@CRLF)
- ConsoleWrite($errorNumber&": "&$errorText&@CRLF)
- ConsoleWrite("---------"&@CRLF)
- if $fatal Then
- MsgBox(0,"Fatal Error("&$errorNumber&")",$errorText)
- FileWriteLine($errorLog, "["&@MDAY&"/"&@MON&"/"&@YEAR&" "&@HOUR&":"&@MIN&":"&@SEC&"] Fatal Error("&$errorNumber&"): "&$errorText) ;Notice how the date is in the format day/month/year, yay British errors!
- Exit
- Else
- MsgBox(0,"Error("&$errorNumber&")",$errorText)
- FileWriteLine($errorLog, "["&@MDAY&"/"&@MON&"/"&@YEAR&" "&@HOUR&":"&@MIN&":"&@SEC&"] Error("&$errorNumber&"): "&$errorText)
- EndIf
- EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement