diff options
Diffstat (limited to 'files/batch-compiler-spec')
24 files changed, 5728 insertions, 0 deletions
diff --git a/files/batch-compiler-spec/Backup.bci b/files/batch-compiler-spec/Backup.bci new file mode 100644 index 0000000..34a4333 --- /dev/null +++ b/files/batch-compiler-spec/Backup.bci @@ -0,0 +1,74 @@ +// Specification: Backup +// Written by: Ryan Gregg +// Version: 2.0 +// Created: August 4, 2004 +// Last updated: August 4, 2004 + +Batch +{ + Name "Backup" + Priority "1" + Links "Backup,http://collective.valve-erc.com/index.php?go=mapbackup" + Stages "Backup" + Filter "Supported Files|*.map;*.rmf;*.bsp|MAP Files (*.map)|*.map|RMF Files (*.rmf)|*.rmf|BSP Files (*.bsp)|*.bsp" + Template "@echo off\n"_ + "\"${StagePath=Backup}\" ${StageParam=Backup} \"${FilePath}\\${FileName}\"\n" +} + +// +// Backup +// +Stage +{ + Name "Backup" + Type "Program" + Filter "MAPBACKUP (mapbackup.exe)|mapbackup.exe" + + CheckBox + { + Name "Sub-Directory Save" + Param "-dir" + Hint "\tPlace backups of all files inside \filename\.\n\n"_ + "\tBy default, an incremental backup will be created of your mapfile (mapname0000.map, mapname0001.map, etc) in the same directory everytime you compile. This switch will override that behaviour and create a sub-directory using the map file name." + } + + TextBox + { + Name "Maximum Backup Files" + Param "-max" + Type "Integer" + Default "64" + Min "0" + Max "64" + Hint "\tSpecify a maximum number of backup files to create.\n\n"_ + "\tOnce the maximum number of backups is reached (defined by -max), the program starts overwriting at 1 and counts up again." + } + + TextBox + { + Name "Extension" + Param "-ext" + Type "String" + Hint "\tForce a specific extension for all backup files." + } + + FolderBox + { + Name "Backup Path" + Param "-out" + Hint "\tForce a specific backup directory path (negates -ext and -dir)." + } + + Space + { + Size "6" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Batch.bci b/files/batch-compiler-spec/Batch.bci new file mode 100644 index 0000000..b28682a --- /dev/null +++ b/files/batch-compiler-spec/Batch.bci @@ -0,0 +1,296 @@ +// Specification: Batch +// Written by: Ryan Gregg +// Version: N/A +// Created: August 4, 2004 +// Last updated: October 17, 2004 + +// Updated by: Ryan Gregg +// Date: October 17, 2004 +// Added Batch Batch. + +// Updated by: Ryan Gregg +// Date: September 5, 2004 +// Thanks to: Matt 'Bluefang' Turnbull +// Added Delete .INC After Compile +// Moved Delete .ERR After Compile +// Fixed Delete .ENT.BAK After Compile + +// Updated by: Ryan Gregg +// Date: August 9, 2004 +// Thanks to: Anders Jenbo +// Added Delete .ENT.BAK After Compile + +Variable +{ + Name "Output" + Type "Folder" + Optional "False" + Hint "File output directory." +} + +Batch +{ + Name "Batch" + Priority "1" + Stages "Batch" + Template "@echo off\n"_ + "${StageCmd=Batch}\n" +} + +// +// Batch +// +Stage +{ + Name "Batch" + Title "Batch Operations" + Type "CommandList" + + // + // Recommended File Deletions + // + + LabelBox + { + Name "Recommended File Deletions:" + Bold "True" + } + + CheckBox + { + Name "Delete .WIC After Compile" + Param "if not exist \"${FilePath}\\${FileName}.wic\" goto nodelwic\n"_ + "del \"${FilePath}\\${FileName}.wic\"\n"_ + "echo ${FilePath}\\${FileName}.wic deleted.\n"_ + ":nodelwic" + } + + CheckBox + { + Name "Delete .LIN After Compile" + Param "if not exist \"${FilePath}\\${FileName}.lin\" goto nodellin\n"_ + "del \"${FilePath}\\${FileName}.lin\"\n"_ + "echo ${FilePath}\\${FileName}.lin deleted.\n"_ + ":nodellin" + } + + CheckBox + { + Name "Delete .P0 After Compile" + Param "if not exist \"${FilePath}\\${FileName}.p0\" goto nodelp0\n"_ + "del \"${FilePath}\\${FileName}.p0\"\n"_ + "echo ${FilePath}\\${FileName}.p0 deleted.\n"_ + ":nodelp0" + } + + CheckBox + { + Name "Delete .P1 After Compile" + Param "if not exist \"${FilePath}\\${FileName}.p1\" goto nodelp1\n"_ + "del \"${FilePath}\\${FileName}.p1\"\n"_ + "echo ${FilePath}\\${FileName}.p1 deleted.\n"_ + ":nodelp1" + } + + CheckBox + { + Name "Delete .P2 After Compile" + Param "if not exist \"${FilePath}\\${FileName}.p2\" goto nodelp2\n"_ + "del \"${FilePath}\\${FileName}.p2\"\n"_ + "echo ${FilePath}\\${FileName}.p2 deleted.\n"_ + ":nodelp2" + } + + CheckBox + { + Name "Delete .P3 After Compile" + Param "if not exist \"${FilePath}\\${FileName}.p3\" goto nodelp3\n"_ + "del \"${FilePath}\\${FileName}.p3\"\n"_ + "echo ${FilePath}\\${FileName}.p3 deleted.\n"_ + ":nodelp3" + } + + CheckBox + { + Name "Delete .PRT After Compile" + Param "if not exist \"${FilePath}\\${FileName}.prt\" goto nodelprt\n"_ + "del \"${FilePath}\\${FileName}.prt\"\n"_ + "echo ${FilePath}\\${FileName}.prt deleted.\n"_ + ":nodelprt" + } + + CheckBox + { + Name "Delete .ERR After Compile" + Param "if not exist \"${FilePath}\\${FileName}.err\" goto nodelerr\n"_ + "del \"${FilePath}\\${FileName}.err\"\n"_ + "echo ${FilePath}\\${FileName}.err deleted.\n"_ + ":nodelerr" + Hint "Note: If you delete this file you won't be able to view the compiler's error file." + } + + CheckBox + { + Name "Delete .ENT.BAK After Compile" + Param "if not exist \"${FilePath}\\${FileName}.ent.bak\" goto nodelentbac\n"_ + "del \"${FilePath}\\${FileName}.ent.bak\"\n"_ + "echo ${FilePath}\\${FileName}.ent.bak deleted.\n"_ + ":nodelentbac" + } + + Space + { + Size "1" + } + + // + // Recommended File Functions + // + + LabelBox + { + Name "Recommended File Functions:" + Bold "True" + } + + CheckBox + { + Name "Copy .BSP After Compile" + Bold "True" + Param "if not exist \"${FilePath}\\${FileName}.bsp\" goto nocopybsp\n"_ + "copy \"${FilePath}\\${FileName}.bsp\" \"${Output}\"\n"_ + "echo ${FileName}.bsp copied to ${Output}.\n"_ + ":nocopybsp" + Hint "Copy your .BSP file to your map destination folder." + } + + CheckBox + { + Name "Copy .RES After Compile" + Bold "True" + Param "if not exist \"${FilePath}\\${FileName}.res\" goto nocopyres\n"_ + "copy \"${FilePath}\\${FileName}.res\" \"${Output}\"\n"_ + "echo ${FileName}.res copied to ${Output}.\n"_ + ":nocopyres" + Hint "Copy your .RES file to your map destination folder." + } + + CheckBox + { + Name "Copy .PTS After Compile" + Bold "True" + Param "if not exist \"${FilePath}\\${FileName}.pts\" goto nocopypts\n"_ + "copy \"${FilePath}\\${FileName}.pts\" \"${Output}\"\n"_ + "echo ${FileName}.pts copied to ${Output}.\n"_ + ":nocopypts" + Hint "Copy your .PTS file to your map destination folder." + } + + Space + { + Size "7" + } + + // + // Unrecommended File Deletions + // + + LabelBox + { + Name "Unrecommended File Deletions:" + Bold "True" + } + + CheckBox + { + Name "Delete .LOG After Compile" + Param "if not exist \"${FilePath}\\${FileName}.log\" goto nodellog\n"_ + "del \"${FilePath}\\${FileName}.log\"\n"_ + "echo ${FilePath}\\${FileName}.log deleted.\n"_ + ":nodellog" + Hint "Note: If you delete this file you won't be able to view the compiler's log file." + } + + CheckBox + { + Name "Delete .PTS After Compile" + Param "if not exist \"${FilePath}\\${FileName}.pts\" goto nodelpts\n"_ + "del \"${FilePath}\\${FileName}.pts\"\n"_ + "echo ${FilePath}\\${FileName}.pts deleted.\n"_ + ":nodelpts" + Hint "Note: If you delete this file without copying it you won't be able to view the compiler's pts file." + } + + CheckBox + { + Name "Delete .MAP After Compile" + Param "if not exist \"${FilePath}\\${FileName}.map\" goto nodelmap\n"_ + "del \"${FilePath}\\${FileName}.map\"\n"_ + "echo ${FilePath}\\${FileName}.map deleted.\n"_ + ":nodelmap" + } + + CheckBox + { + Name "Delete .MAX After Compile" + Param "if not exist \"${FilePath}\\${FileName}.max\" goto nodelmax\n"_ + "del \"${FilePath}\\${FileName}.max\"\n"_ + "echo ${FilePath}\\${FileName}.max deleted.\n"_ + ":nodelmax" + } + + CheckBox + { + Name "Delete .RMF After Compile" + Param "if not exist \"${FilePath}\\${FileName}.rmf\" goto nodelrmf\n"_ + "del \"${FilePath}\\${FileName}.rmf\"\n"_ + "echo ${FilePath}\\${FileName}.rmf deleted.\n"_ + ":nodelrmf" + } + + CheckBox + { + Name "Delete .RMX After Compile" + Param "if not exist \"${FilePath}\\${FileName}.rmx\" goto nodelrmx\n"_ + "del \"${FilePath}\\${FileName}.rmx\"\n"_ + "echo ${FilePath}\\${FileName}.rmx deleted.\n"_ + ":nodelrmx" + } + + CheckBox + { + Name "Delete .BSP After Compile" + Param "if not exist \"${FilePath}\\${FileName}.bsp\" goto nodelbsp\n"_ + "del \"${FilePath}\\${FileName}.bsp\"\n"_ + "echo ${FilePath}\\${FileName}.bsp deleted.\n"_ + ":nodelbsp" + Hint "Note: If you delete this file without copying it you won't be able to play your bsp file." + } + + CheckBox + { + Name "Delete .RES After Compile" + Param "if not exist \"${FilePath}\\${FileName}.res\" goto nodelres\n"_ + "del \"${FilePath}\\${FileName}.res\"\n"_ + "echo ${FilePath}\\${FileName}.res deleted.\n"_ + ":nodelres" + } + + CheckBox + { + Name "Delete .ENT After Compile" + Param "if not exist \"${FilePath}\\${FileName}.ent\" goto nodelent\n"_ + "del \"${FilePath}\\${FileName}.ent\"\n"_ + "echo ${FilePath}\\${FileName}.ent deleted.\n"_ + ":nodelent" + } + + CheckBox + { + Name "Delete .INC After Compile" + Param "if not exist \"${FilePath}\\${FileName}.inc\" goto nodelinc\n"_ + "del \"${FilePath}\\${FileName}.inc\"\n"_ + "echo ${FilePath}\\${FileName}.inc deleted.\n"_ + ":nodelinc" + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/HLExtract.bcs b/files/batch-compiler-spec/HLExtract.bcs new file mode 100644 index 0000000..e1c6c25 --- /dev/null +++ b/files/batch-compiler-spec/HLExtract.bcs @@ -0,0 +1,124 @@ +// Specification: HLExtract +// Written by: Ryan Gregg +// Version: 1.1.3 +// Created: September 19, 2004 +// Last updated: September 19, 2004 + +Variable +{ + Name "Output" + Type "Folder" + Optional "False" + Hint "File output directory." +} + +Batch +{ + Name "HLExtract" + Priority "1" + Stages "HLExtract" + Filter "Package Files (*.bsp;*.gcf;*.pak;*.wad)|*.bsp;*.gcf;*.pak;*.wad|BSP Files (*.bsp)|*.bsp|GCF Files (*.gcf)|*.gcf|PAK Files (*.pak)|*.pak|WAD Files (*.wad)|*.wad" + Template "@echo off\n"_ + "\"${StagePath=HLExtract}\" -p \"${FilePath}\\${FileName}.${FileExt}\" -d \"${Output}\" ${StageParam=HLExtract}" +} + +// +// HLExtract +// +Stage +{ + Name "HLExtract" + Title "Half-Life Extract" + Type "Program" + Filter "HLExtract (hlextract.exe)|hlextract.exe" + + CheckBox + { + Name "Console" + Param "-c" + Hint "\tUse the interactive console." + } + + CheckBox + { + Name "Silent" + Param "-s" + Hint "\tDisplay error messages only (not success messages)." + } + + CheckBox + { + Name "File Mapping" + Param "-m" + Checked "True" + Hint "\tUse Windows file mapping.\n\n"_ + "\tThis can be more effecient and memory usage friendly but can also fail on systems with primitive file mapping." + } + + CheckBox + { + Name "Volatile Access" + Param "-v" + Hint "\tAllow for volatile access.\n\n"_ + "\tThis will allow HLLib to open files that Steam already has open but can make HLLib unstable." + } + + TextBox + { + Name "Extract" + Param "-e" + Size "2" + Type "String" + Hint "\tSpecify an item to extract in the format \"root\\folder\\file.ext\" or \"root\\folder\"." + } + + TextBox + { + Name "Extract" + Param "-e" + Size "2" + Type "String" + Hint "\tSpecify an item to extract in the format \"root\\folder\\file.ext\" or \"root\\folder\"." + } + + TextBox + { + Name "Extract" + Param "-e" + Size "2" + Type "String" + Hint "\tSpecify an item to extract in the format \"root\\folder\\file.ext\" or \"root\\folder\"." + } + + TextBox + { + Name "Extract" + Param "-e" + Size "2" + Type "String" + Hint "\tSpecify an item to extract in the format \"root\\folder\\file.ext\" or \"root\\folder\"." + } + + TextBox + { + Name "Extract" + Param "-e" + Size "2" + Type "String" + Hint "\tSpecify an item to extract in the format \"root\\folder\\file.ext\" or \"root\\folder\"." + } + + Space + { + Size "1" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Quote "False" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/HLFix.bci b/files/batch-compiler-spec/HLFix.bci new file mode 100644 index 0000000..b6d1f69 --- /dev/null +++ b/files/batch-compiler-spec/HLFix.bci @@ -0,0 +1,155 @@ +// Specification: HLFix +// Written by: Ryan Gregg +// Version: 0.81b +// Created: August 4, 2004 +// Last updated: September 13, 2004 + +// Updated by: Ryan Gregg +// Date: September 13, 2004 +// Added MakeWAD Batch and Stage. + +Batch +{ + Name "MakeWAD" + Priority "0" + Links "HLFix,http://extension.ws/hlfix/" + Stages "MakeWAD" + Template "@echo off\n"_ + "\"${StagePath=MakeWAD}\" ${StageParam=MakeWAD}\n" +} + +Batch +{ + Name "HLFix" + Priority "1" + Links "HLFix,http://extension.ws/hlfix/" + Stages "HLFix" + Filter "Supported Files|*.rmf;*.map|RMF Files (*.rmf)|*.rmf|MAP Files (*.map)|*.map" + Template "@echo off\n"_ + "\"${StagePath=HLFix}\" ${StageParam=HLFix} \"${FilePath}\\${FileName}\"\n" +} + +// +// MakeWAD +// +Stage +{ + Name "MakeWAD" + Title "Make WAD" + Type "Program" + Filter "MakeWAD (makewad.exe)|makewad.exe" + + Space + { + Size "10" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +} + +// +// HLFix +// +Stage +{ + Name "HLFix" + Title "Half-Life Fix" + Type "Program" + Filter "HLFix (hlfix.exe)|hlfix.exe" + + CheckBox + { + Name "Only Visible" + Param "-v" + Bold "True" + Hint "\tProcess and output visible objects only." + } + + CheckBox + { + Name "No Tessellation" + Param "-nt" + Hint "\tDon't tesselate non-planar faces." + } + + CheckBox + { + Name "No Decomposition" + Param "-nd" + Hint "\tDon't decompose non-convex solids." + } + + CheckBox + { + Name "No Union" + Param "-nu" + Hint "\tDon't unite coplanar faces." + } + + CheckBox + { + Name "No Correction" + Param "-na" + Hint "\tDon't perform any geometry correction." + } + + TextBox + { + Name "Epsilon" + Param "-e" + Type "Single" + Default "1.0" + Min "0.0" + Hint "\tEpsilon factor for numeric comparisons.\n\n"_ + "\tCertain numeric comparisons in hlfix require a \"fuzziness\" value in order to deal with inaccurate data that can be generated by VHE. The value of the -e parameter is a multiplier for this fuzziness value. If you find that hlfix is modifying geometry it shouldn't or producing unexplainable \"Incomplete edge cycle\" errors, try raising this value. If you find that hlfix is not modifying geometry it should or that your compiled maps have visible errors, try lowering this value." + } + + TextBox + { + Name "Output File" + Param "-o" + Type "String" + Hint "\tSpecify another output file name (default is <mapname>.map or <mapname>.rmf)." + } + + ComboBox + { + Name "Input File" + Bold "True" + Default "RMF File" + Options "RMF File,|MAP File,-r" + Hint "\tSpecify the input file type.\n\n"_ + "\tIf RMF File is selected HLFix will generate a MAP File. If MAP File is selected HLFix will generate a RMF File." + } + + FileBox + { + Name "WAD File" + Param "-w" + Bold "True" + FullPath "True" + //Default "wad.txt" + Filter "Text Files (*.txt)|*.txt|All Files|*.*" + Hint "\tSpecify a .wad file list.\n\n"_ + "\tThe .wad files used in your map must be listed in a seperate text file (because they aren't listed in the .rmf file). This file must contain the full paths of the wad files used in your map, listed one per line. By default, hlfix looks for a file called wad.txt. It looks for the file in the same directory as the input file unless you specify a path when using the -w parameter. A utility is included with hlfix called makewad.exe which reads VHE's registry entries to generate a wad list file. The only reason hlfix needs the filenames for .wads is so those filenames can be written to the .map file. hlfix does not actually attempt to read any of the .wads as it currently does not perform any operations on textures themselves." + } + + Space + { + Size "1" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Half-Life.bci b/files/batch-compiler-spec/Half-Life.bci new file mode 100644 index 0000000..132847b --- /dev/null +++ b/files/batch-compiler-spec/Half-Life.bci @@ -0,0 +1,174 @@ +// Specification: Half-Life +// Written by: Ryan Gregg +// Version: 1.1.1.0 +// Created: August 4, 2004 +// Last updated: August 4, 2004 + +Batch +{ + Name "HL" + Priority "1" + Links "Valve,http://www.valvesoftware.com/" + Stages "HL" + Filter "BSP Files (*.bsp)|*.bsp" + ShellExecute "True" + Template "\"${StagePath=hl}\" ${StageParam=hl}" +} + +// +// HL +// +Stage +{ + Name "HL" + Title "Half-Life" + Type "Program" + Filter "Half-Life (hl.exe)|hl.exe|Counter-Strike (cstrike.exe)|cstrike.exe" + + CheckBox + { + Name "Run Map" + Param "+map ${FileName}" + Checked "True" + Bold "True" + Hint "\tThe map to start Half-Life with." + } + + CheckBox + { + Name "Enable Console" + Param "-console" + Bold "True" + Hint "\tStart Half-Life with console enabled." + } + + CheckBox + { + Name "To Console" + Param "-toconsole" + Hint "\tLoad Half-Life straight to console screen." + } + + CheckBox + { + Name "Developer" + Param "-dev" + Hint "\tStart Half-Life in developer mode (cheats)." + } + + CheckBox + { + Name "Safe Mode" + Param "-safe" + Hint "\tStart Half-Life in safe mode (no acceleration)." + } + + CheckBox + { + Name "Numeric Ping" + Param "-numericping" + Hint "\tDisplay server listing with ping times instead of Green dots." + } + + CheckBox + { + Name "Minimum Memory" + Param "-minmemory" + Hint "\tStart Half-Life with minimum memory." + } + + CheckBox + { + Name "No Intro" + Param "-nointro" + Hint "\tSkip starting intro." + } + + CheckBox + { + Name "No Joystick" + Param "-nojoy" + Hint "\tDisable joystick initialization (saves a bit of memory)." + } + + Space + { + Size "1" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } + + CheckBox + { + Name "No IP" + Param "-noip" + Hint "\tDon't let Half-Life try to connect to the internet." + } + + CheckBox + { + Name "No IPX" + Param "-noipx" + Hint "\tDisable IPX (recommended if you do not use IPX communication)." + } + + TextBox + { + Name "MOD" + Param "-game" + Bold "True" + Type "String" + Default "cstrike" + Hint "\tThe MOD to start Half-Life in." + } + + TextBox + { + Name "Heap Size" + Param "-heapsize" + Type "Integer" + Default "65536" + Min "16384" + Hint "\tThe amount of memory to allocate for Half-Life." + } + + TextBox + { + Name "Particles" + Param "-particles" + Type "Integer" + Default "65536" + Min "1" + Hint "\tThe number of particles to search for leaks with." + } + + ComboBox + { + Name "Render Mode" + Default "Direct 3D" + Options "Direct 3D,-d3d|Software,-soft|Open GL,-gl" + Hint "\tStart Half-Life in the following rendermode." + } + + ComboBox + { + Name "Colors" + Default "32bit" + Options "32bit,-32bpp|16bit,-32bpp" + Hint "\tStart Half-Life in 32 or 16 bit colors." + } + + ComboBox + { + Name "Startup State" + Default "Fullscreen" + Options "Fullscreen,-full|Windowed,-win" + Hint "\tStart Half-Life with the following window state." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Mapster.bci b/files/batch-compiler-spec/Mapster.bci new file mode 100644 index 0000000..33b5c11 --- /dev/null +++ b/files/batch-compiler-spec/Mapster.bci @@ -0,0 +1,130 @@ +// Specification: Mapster +// Written by: Ryan Gregg +// Version: 3.0 +// Created: August 4, 2004 +// Last updated: August 4, 2004 + +Batch +{ + Name "Mapster" + Priority "1" + Links "Mapster,http://countermap.counter-strike.net/Mapster/" + Stages "Mapster" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "\"${StagePath=Mapster}\" ${StageParam=Mapster} \"${FilePath}\\${FileName}\"\n" +} + +// +// Mapster +// +Stage +{ + Name "Mapster" + Type "Program" + Filter "Mapster (mapster.exe)|mapster.exe;mapster2.exe;mapster3.exe|All Executables (*.exe)|*.exe" + + ComboBox + { + Name "Vis Type" + Bold "True" + Default "Normal" + Options "Normal,|Full,-full" + Hint "\tRun as normal or full VIS.\n\n"_ + "\tFull vis enables extra calculations during vis, which help reduce the number of vis errors in a map over a normal vis. The speed hit is approximately 30% over a normal vis. r_speeds will generally be the same, though lower in some areas, and higher in others (primarily due to vis errors being fixed)." + } + + CheckBox + { + Name "Server" + Param "-server" + Bold "True" + Hint "\tRun as the NetVIS server." + } + + CheckBox + { + Name "Trace" + Param "-trace" + Bold "true" + Hint "\tTrace NetVis's output.\n\n"_ + "\tThe mapster console will not show all the data that NetVis outputs by default, this command allows it to." + } + + TextBox + { + Name "Port" + Param "-port" + Type "Integer" + Default "21212" + Min "0" + Max "65535" + Hint "\tThe socket or port." + } + + TextBox + { + Name "Rate" + Param "-rate" + Type "Integer" + Default "60" + Min "1" + Hint "\tChange the status display update rate. (In seconds.)\n\n"_ + "\tEvery time this interval is hit your console is updated with a progress report listing all the clients and their progress as well as an overall percentage." + } + + TextBox + { + Name "Host IP" + Param "-hostip" + Type "String" + Hint "\tManually Specify IP address.\n\n"_ + "\tMapster will attempt to determine your IP address automatically, but sometimes is unable to do so. If so, you will see an error message on your screen about this." + } + + TextBox + { + Name "Host Name" + Param "-name" + Type "String" + Hint "\tName to identify your server or client by.\n\n"_ + "\tIf you set your name with this command, it will be saved in the Mapster Registry database and displayed on the Status Page." + } + + TextBox + { + Name "Host Location" + Param "-location" + Type "string" + Hint "\tYour location for others to see.\n\n"_ + "\tIf you set your name with this command, it will be saved in the Mapster Registry database and displayed on the Status Page." + } + + ComboBox + { + Name "Connection" + Param "-connection" + Bold "True" + Default "Low" + Options "Low,L|Medium,M|High,H" + Hint "\tYour connection type for others to see.\n\n"_ + "\tIf you are compiling maps (being a server) you should use this command with the arguments \"L\", \"M\", or \"H\" to indicate your connection speed, where L = low speed (fast dialup or slow cable modem), M = medium speed (cable modem or DSL), and H = high speed (fast DSL, T1 or better, etc.). This information is used by Mapster to decide how fast to send you client connections if you are running a Netvis server. The slower your speed, the more Mapster will space out connections to your map job." + } + + FolderBox + { + Name "Zoners Path" + Param "-zpath" + Size "3" + Hint "\tPath to Zoners.\n\n"_ + "\tIf you have installed Mapster in your zoners folder, you will not need to use this command. However if you have installed Mapster in another directory, you will need to use this command to set the full path to your zoners directory." + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Opt_EntData.bci b/files/batch-compiler-spec/Opt_EntData.bci new file mode 100644 index 0000000..97dc21d --- /dev/null +++ b/files/batch-compiler-spec/Opt_EntData.bci @@ -0,0 +1,148 @@ +// Specification: Opt_EntData 0.7b +// Written by: Anders Jenbo +// Version: 0.7b +// Created: August 8, 2004 +// Last updated: September 5, 2004 + +// Updated by: Ryan Gregg +// Date: September 5, 2004 +// Thanks to: Matt 'Bluefang' Turnbull +// Added Texture Data option. +// Changed Settings filter to setting_*.db. + +// Updated by: Ryan Gregg +// Date: August 10, 2004 +// Fixed Opt_EntData's command line. + +// Updated by: Ryan Gregg +// Date: August 9, 2004 +// Changed the switch for Keep Properties from -nolghts to -nostrip. +// Renamed No Linemod option to No Line Mod. +// Added No Log option. +// Repositioned Additional Parameters to its standard position. +// Spell checked all hints and improved their wording and punctuation. +// Updated Opt_EntData link. + +Include "Templates.bci" + +Batch +{ + Name "Opt_EntData" + Priority "1" + Links "Opt_EntData,http://www.chatbear.com/board.plm?a=viewthread&t=52%2c1080647136%2c18491&id=634830&b=590&v=flatold&s=0" + Stages "Opt_EntData" + Filter "Entity Files (*.ent)|*.ent" + Template "@echo off\n"_ + "\"${StagePath=Opt_EntData}\" \"${FilePath}\\${FileName}\" ${StageParam=Opt_EntData}\n"_ + "${LogViewerRun}\n" +} + +// +// Opt_EntData +// +Stage +{ + Name "Opt_EntData" + Title "Optimize Entity Data" + Type "Program" + Filter "Opt_EntData (opt_entdata.exe)|opt_entdata.exe" + + + CheckBox + { + Name "No Line Mod" + Checked "True" + Param "-nolinemod" + Hint "\tThis is an option for those having problems with other programs that may need access to a map's entdata.\n\n"_ + "\tIt also makes debugging scripted events difficult so it is recommended only for release versions of a map.\n\n"_ + "\tRunning Opt_EntData twice on the same ENT file with out this option will delete all entity data except for the worldspawn (first line) and can prevent RESGen from running properly." + } + + CheckBox + { + Name "Run RipEnt" + Checked "True" + Param "-ripent" + Hint "\tOpt_EntData requires Ripent to import and export entity data to and from the BSP.\n\n"_ + "\tThis option should always be checked unless you know what you are doing." + } + + CheckBox + { + Name "Simplify" + Param "-simplify" + Hint "\tSimplify takes names of entities and replaces them with a (in theory) shorter one.\n\n"_ + "\tIt makes debugging scripted events difficult so it is recommended only for release versions of a map.\n\n"_ + "\tWhen (if ever) asked for a log file from opt_entdata (or screen output) then -verbose is a recommended option to use.\n\n"_ + "\tSometimes simplify may overwrite a name it shouldn't. Consider, for example, an entity named spawnflags or something similar. Now let us assume simplify picks that up as a name and replaces it with a name of abc. Messy eh?" + } + + CheckBox + { + Name "Keep Misc" + Param "-nomiscents" + Hint "\tThis option prevents opt_entdata from removing the info_null, info_texlights and info_compile_parameters from the BSP.\n\n"_ + "\tIf you seem to be getting errors around the \"Removing misc ents..\" message then try using this option." + } + + CheckBox + { + Name "Keep Lights" + Param "-nolights" + Hint "\tThis disables the removal of lights and (most) optimizations made on them.\n\n"_ + "\tThis option has a MAJOR impact on the effectiveness of opt_entdata. Use with caution." + } + + CheckBox + { + Name "Keep Properties" + Param "-nostrip" + Hint "\tThis option is frequently the cause of in game problems concerning entities.\n\n"_ + "\tThis option has a MAJOR impact on the effectiveness of opt_entdata. Use with caution." + } + + CheckBox + { + Name "No Log" + Param "-nolog" + Hint "\tDon't use the compile LOG files.\n\n"_ + "\tThis option disables the use of the LOG files which are normally written to whenever opt_entdata runs. Regardless of -nolog's presence, logging will be disabled if opt_entdata can't locate your map's LOG file." + } + + CheckBox + { + Name "Verbose" + Param "-verbose" + Hint "\tThe verbose option enables extra output information while the program is running.\n\n"_ + "\tIf you observe strange problems verbose mode may show you where they occur.\n\n"_ + "\tWhen (if ever) asked for a log file from opt_entdata (or screen output) then -verbose is a recommended option to use." + } + + TextBox + { + Name "Texture Data" + Param "-texdata" + Type "Integer" + Default "4096" + Min "2048" + Hint "\tAlter maximum texture memory limit (in kb).\n\n"_ + "\tHalflife was built with a 2Mb texture limit, as was Opposing Force. The ZHLT default limit is 4Mb. Even 4Mb can be a bit much, when combined with model textures, skies, hud graphics, and more. This is especially true of people with older cards (Voodoo 1 and 2's, etc)." + } + + FileBox + { + Name "Settings" + Param "-settings" + FullPath "False" + Filter "Setting File (setting_*.db)|setting_*.db" + Hint "\tYou only need specify this if you don't want to use the setting_default." + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Quake_Tools.bci b/files/batch-compiler-spec/Quake_Tools.bci new file mode 100644 index 0000000..6c77552 --- /dev/null +++ b/files/batch-compiler-spec/Quake_Tools.bci @@ -0,0 +1,409 @@ +// Specification: Quake Tools +// Written by: Ryan Gregg +// Version: 2.8 +// Created: August 4, 2004 +// Last updated: August 4, 2004 + +Include "Templates.bci" + +Batch +{ + Name "Quake Tools" + Priority "2" + Filter "Map Files (*.map)|*.map" + Stages "CSG|BSP|VIS|RAD|Shared" + Template "@echo off\n"_ + "\"${StagePath=CSG}\" ${StageParam=CSG} \"${FilePath}\\${FileName}\"\n"_ + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "CSG" + Priority "1" + Stages "CSG|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "\"${StagePath=CSG}\" ${StageParam=CSG} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "BSP" + Priority "1" + Stages "BSP|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "VIS" + Priority "1" + Stages "VIS|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "RAD" + Priority "1" + Stages "RAD|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +// +// CSG +// +Stage +{ + Name "CSG" + Title "Constructive Solid Geometry" + Type "Program" + Filter "QCSG (qcsg.exe)|qcsg.exe" + + CheckBox + { + Name "No WAD Textures" + Param "-nowadtextures" + Bold "True" + Hint "Include all used textures into bsp."_ + "This option is obsolete by -wadinclude and is only left in to retain some backwards compatibility." + } + + CheckBox + { + Name "Entities Only" + Param "-onlyents" + Hint "Do an entity update from .map to .bsp."_ + "This option will take the entities from the .map file and update them into the bsp file. For the most part, entities can only be edited. Adding or removing any can reorder the other entities which frequently break brush based entities, especially triggers." + } + + CheckBox + { + Name "GL View" + Param "-glview" + Hint "Create <mapname>.gl file."_ + "Creates a <mapname>.gl file, which contains the number of planes, the number of points in each plane, the points used to define each plane, and the total light on that plane." + } + + Space + { + Size "7" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "Add additional parameters here as you would a command line." + } +} + +// +// BSP +// +Stage +{ + Name "BSP" + Title "Binary Space Partition" + Type "Program" + Filter "QBSP (qbps2.exe)|qbsp2.exe" + + CheckBox + { + Name "Leak Only" + Param "-leakonly" + Hint "Run BSP only enough to check for leaks."_ + "If you already know a map has a leak, this is a good option to just save some time in hlbsp and just generate the pts file." + } + + CheckBox + { + Name "Not T-Junction" + Param "-notjunc" + Hint "Don't break edges on t-junctions (not for final runs)."_ + "This is a development/debugging option that should not be set in normal use." + } + + TextBox + { + Name "Subdivide" + Param "-subdivide" + Type "Single" + Default "240.0" + Min "64.0" + Max "240.0" + Hint "Sets the face subdivide size."_ + "Faces in Half-life are subdivided by this value (in units). The default and maximum are both 240, and it should never need to be set lower (as it just increases r_speeds)." + } + + Space + { + Size "7" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "Add additional parameters here as you would a command line." + } +} + +// +// VIS +// +Stage +{ + Name "VIS" + Title "Visibility Index Set" + Type "Program" + Filter "VIS (vis.exe)|vis.exe" + + CheckBox + { + Name "Fast" + Param "-fast" + Bold "true" + Hint "Fast vis."_ + "A fast vis is handy for running around in a developed map without dropping polygons. However, r_speeds will usually be pretty bad, as well as epoly counts. The map can still be lit with hlrad, however its quality and compile time will both suffer as a result. Maps should regularly be compiled without fast vis, as fast vis can mask a sudden increase in normal vis compile time." + } + + Space + { + Size "9" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "Add additional parameters here as you would a command line." + } +} + +// +// RAD +// +Stage +{ + Name "RAD" + Title "Radiosity" + Type "Program" + Filter "QRAD (qrad.exe)|qrad.exe" + + CheckBox + { + Name "Extra" + Param "-extra" + Bold "True" + Hint "Turns on 9 point oversampling for lighting, making it look much better." + } + + CheckBox + { + Name "No Texture Scale" + Param "-notexscale" + Hint "Do not scale radiosity patches with texture scale."_ + "By default, hlrad will take the texture scale and apply it to the chopping grid which is projected onto it. This option turns that off, and almost always increases the number of patches in a map as most maps have many walls scaled up to 2 and 3." + } + + CheckBox + { + Name "Dump Light Patches" + Param "-dump" + Hint "Dumps light patches to a file for hlrad debugging info This is a developer option for zhlt, to dump out the patch data generated by the chopping/subdividing and make sure it looks alright." + } + + CheckBox + { + Name "Incremental" + Param "-inc" + Hint "Use or create an incremental transfer list file."_ + "This is a handy option for tweaking lighting, especially on slow or lower memory machines. BuildVisLeafs, MakeScales, and SwapTransfers can be skipped entirely on subsequent runs of hlrad. Note that geometry must not change, but lighting can." + } + + Space + { + Size "6" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "Add additional parameters here as you would a command line." + } + + TextBox + { + Name "Bounce" + Param "-bounce" + Bold "True" + Type "Integer" + Default "1" + Min "0" + Hint "Set number of radiosity bounces."_ + "This option sets the number of times light bounces in the radiosity pass. By the time the code gets to this point, all the data is precomputed, and extra bounces are very fast. It will make the shadows less harsh using more bounces, but can help light up dark areas much more naturally." + } + + TextBox + { + Name "Smooth" + Param "-smooth" + Bold "True" + Type "Single" + Default "50.0" + Min "0.0" + Max "180.0" + Hint "Set smoothing threshold for blending (in degrees)."_ + "By default hlrad uses Phong shading on all faces. If the angle between two edges is less than this value, it will be shaded with the Phong smoothing code, otherwise it won't." + } + + TextBox + { + Name "Chop" + Param "-chop" + Type "Single" + Default "64.0" + Min "1.0" + Hint "Set radiosity patch size for normal textures."_ + "Each face in the world has a grid projected onto it, and chopped up into a rather coarse set of sample points. These points are patches, and are what hlrad uses to do the bounced lighting calculations. A higher chop sacrifices quality for both speed and memory consumption of hlrad. A lower chop increases the quality at the expense of speed and memory usage." + } + + TextBox + { + Name "Coring" + Param "-coring" + Type "Single" + Default "1.0" + Min "0.0" + Hint "Set lighting threshold before blackness on switchable light surfaces."_ + "This value controls how much light it takes before a surface will be lit with a non-black value." + } + + TextBox + { + Name "Max Light" + Param "-maxlight" + Type "Single" + Default "2.0" + Min "0.0" + Max "2.0" + Hint "Overexpose textures."_ + "Allows for the overexposure of textures for more realistic lighting. Less than 2 produces duller lighting, but the textures don't \"blow out\" as much." + } + + TextBox + { + Name "Scale" + Param "-scale" + Type "Single" + Default "1.0" + Min "0.0" + Hint "Set global light scaling value."_ + "This option scales the final light values right after the direct lighting layer is added to the radiosity bounced lighting layer. Low values make the world darker, higher values make it brighter." + } + + TextBox + { + Name "Gamma" + Param "-gamma" + Type "Single" + Default "0.5" + Min "0.0" + Hint "Set global gamma value."_ + "This option also occurs after the direct and radiosity layers are added together, and a global gamma correction is calculated and applied to the lighting before it is finalized." + } + + TextBox + { + Name "Sky" + Param "-sky" + Type "Single" + Default "1.0" + Min "0.0" + Hint "Set ambient sunlight contribution in the shade outside."_ + "Many faces have line of sight to sky, but fall in the shadow of some other object. This option affects how much of the normal sky lighting is put into the shadows. A setting of '1' (the default) will result in a full hemisphere of the sky contributing about 1/4 of the direct component. Set to '0' for direct lighting only. Set to a value greater than '1' for a more diffuse (cloudy, overcast) sky appearance." + } + + Space + { + Size "3" + } + + ComboBox + { + Name "Messages" + Default "Normal" + Options "Terse,-terse|Normal,|Verbose,-verbose" + Hint "Set the message mode to run QRAD in."_ + "Terse runs with the minimum amount of information output during compiling, normal runs without any special messages and verbose runs with the maximum amount of information output during compiling. Many of the tools have 'minor warnings' and informative messages which are displayed when verbose mode is set." + } + + ColorBox + { + Name "Ambient Light" + Param "-ambient" + Type "Single" + Default "0 0 0" + Hint "Set ambient world light."_ + "This option sets a minimum light value to every face so that nothing comes out pitch black." + } + + FileBox + { + Name "Lights File" + Param "-lights" + FullPath "True" + Bold "true" + Filter "Radiosity Files (*.rad)|*.rad|Text Files (*.txt)|*.txt" + Hint "Manually specify a lights.rad file to use."_ + "The .rad file will be used in addition to the defaults of lights.rad and mapname.rad." + } +} + +Stage +{ + Name "Shared" + Title "Shared Parameters" + Type "ParameterList" + + CheckBox + { + Name "Verbose" + Param "-v" + Stages "CSG|BSP|VIS|RAD" + Hint "Compile with verbose messages."_ + "Many of the tools have 'minor warnings' and informative messages which are displayed when verbose mode is set." + } + + TextBox + { + Name "Threads" + Param "-threads" + Stages "CSG|BSP|VIS|RAD" + Type "Integer" + Default "1" + Min "1" + Hint "Manually specify the number of threads to run."_ + "This option is generally only necessary on the non-windows versions of the tools, where there is not a standard way to detect the number of processors in the system and auto-set the value. It can be manually set on windows machines, primarily if you wish to use fewer threads than processors." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Quake_Tools_Legacy.bcs b/files/batch-compiler-spec/Quake_Tools_Legacy.bcs new file mode 100644 index 0000000..fd1545b --- /dev/null +++ b/files/batch-compiler-spec/Quake_Tools_Legacy.bcs @@ -0,0 +1,51 @@ +// Specification: Quake Tools Legacy +// Written by: Ryan Gregg +// Version: N/A +// Created: August 4, 2004 +// Last updated: September 13, 2004 + +// Updated by: Ryan Gregg +// Date: September 13, 2004 +// Improved game execution. + +Include "Quake Tools.bci" +Include "Batch.bci" +Include "Half-Life.bci" +Include "Steam.bci" +Include "Templates.bci" + +Batch +{ + Name "Quake Tools Legacy" + Priority "3" + Links "Steam,http://www.steampowered.com/|"_ + "Valve,http://www.valvesoftware.com/" + Filter "Supported Files|*.map;*.bsp|MAP Files (*.map)|*.map|BSP Files (*.bsp)|*.bsp" + Stages "CSG|BSP|VIS|RAD|Shared|Batch|HL|Steam" + LogFile "${FilePath}\\${FileName}.log" + Template "@echo off\n"_ + + "${Splash}"_ + + "\"${StagePath=CSG}\" ${StageParam=CSG} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + + "${StageCmd=Batch}\n"_ + "\"${StagePath=hl}\" ${StageParam=hl}\n"_ + "\"${StagePath=Steam}\" ${StageParam=Steam}\n"_ + "goto succeeded\n"_ + + ":failed\n"_ + "echo.\n"_ + "echo There was a problem compiling your map, check your ${FileName}.log file for errors.\n"_ + ":succeeded\n"_ + "echo.\n"_ + + "${LogViewerRun}\n" +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/RESGen.bci b/files/batch-compiler-spec/RESGen.bci new file mode 100644 index 0000000..2f8ecfb --- /dev/null +++ b/files/batch-compiler-spec/RESGen.bci @@ -0,0 +1,171 @@ +// Specification: RESGen +// Written by: Ryan Gregg +// Version: 2.0b3 +// Created: August 4, 2004 +// Last updated: August 4, 2004 + +Batch +{ + Name "RESGen" + Priority "1" + Links "RESGen,http://www.unitedadmins.com/resgen.php" + Stages "RESGen" + Filter "BSP Files (*.bsp)|*.bsp" + Template "@echo off\n"_ + "\"${StagePath=RESGen}\" -k ${StageParam=RESGen} -f \"${FilePath}\\${FileName}\"\n" +} + +// +// RESGen +// +Stage +{ + Name "RESGen" + Title "Resource Generator" + Type "Program" + Filter "RESGen (RESGen.exe)|RESGen.exe" + + CheckBox + { + Name "Minimal Output" + Param "-v" + Hint "\tMakes RESGen only give minimal output.\n\n"_ + "\tIt's recommended you use this if you want to create res files as fast as possible. RESGen will still report any error." + } + + CheckBox + { + Name "No Status Line" + Param "-s" + Hint "\tRESGen will not display it's status line.\n\n"_ + "\tThis might considerably speed up res file generation, especially on smaller maps." + } + + CheckBox + { + Name "No Folder Info" + Param "-i" + Hint "\tRESGen will only report the base folder it's searching, but not the subfolders. Useful with -r option." + } + + CheckBox + { + Name "No Resource Info" + Param "-j" + Hint "\tResources found while building the resource list will not be displayed. Useful with -e option." + } + + CheckBox + { + Name "No Lowercase" + Param "-l" + Hint "\tTurns off converting all res file entries to lowercase.\n\n"_ + "\tRESGen converts all res file entries to lowercase since this is the default for Half-Life files. It has to do this because a lot of resource files in maps don't have the proper case that matches the actual resources. Only use this option if you know what you are doing." + } + + CheckBox + { + Name "Overwrite .RES Files" + Param "-o" + Checked "True" + Hint "\tIf a res file already exists it will be overwritten." + } + + CheckBox + { + Name "Don't Check .PAK" + Param "-p" + Hint "\tPrevents RESGen from using the contents of any pakfile for resource verification.\n\n"_ + "\tThus, any resource that is available, but in a pakfile is excluded from the res file. This option is only useful when the -e option is also used. Please note that if a map comes with it's own pakfile, using this option will generate a res file that is incomplete." + } + + Space + { + Size "3" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } + + FolderBox + { + Name "Folder" + Param "-d" + Hint "\tSpecify a folder that will be searched for bsp files." + } + + FolderBox + { + Name "Recursive Folder" + Param "-r" + Hint "\tSpecify a folder that will be searched for bsp files. The folder's sub folders will also be searched." + } + + FolderBox + { + Name "MOD Folder" + Param "-e" + Hint "\tMakes RESGen verify that all resources in the res file actually exist.\n\n"_ + "\tResources that can't be found will be excluded from the res file. RESGen expects modpath to point to a valid mod directory structure. If the modpath isn't the valve folder, RESGen will try to find the valve folder too, so a complete resource list can be established." + } + + FileBox + { + Name "RFA File" + Param "-a" + FullPath "True" + Filter "RFA Files (*.rfa)|*.rfa|Text Files (*.txt)|*.txt" + Hint "\tThe contents of the rfa file will be added to the end of the res file.\n\n"_ + "\tThis is useful when adding custom resources, like the StatsMe sound pack. The .rfa file extension is optional." + } + + Space + { + Size "7" + } + + FileBox + { + Name "Exclude .BSP" + Param "-x" + FullPath "True" + Filter "BSP Files (*.bsp)|*.bsp" + Hint "\tExclude this map from res file generation.\n\n"_ + "\tOnly works on maps found with -d or -r options. The .bsp file extension is optional." + } + + FileBox + { + Name "Exclude .BSP" + Param "-x" + FullPath "True" + Filter "BSP Files (*.bsp)|*.bsp" + Hint "\tExclude this map from res file generation.\n\n"_ + "\tOnly works on maps found with -d or -r options. The .bsp file extension is optional." + } + + FileBox + { + Name "Exclude .BSP" + Param "-x" + FullPath "True" + Filter "BSP Files (*.bsp)|*.bsp" + Hint "\tExclude this map from res file generation.\n\n"_ + "\tOnly works on maps found with -d or -r options. The .bsp file extension is optional." + } + + FileBox + { + Name "Exclude .BSP" + Param "-x" + FullPath "True" + Filter "BSP Files (*.bsp)|*.bsp" + Hint "\tExclude this map from res file generation.\n\n"_ + "\tOnly works on maps found with -d or -r options. The .bsp file extension is optional." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Source_Batch.bci b/files/batch-compiler-spec/Source_Batch.bci new file mode 100644 index 0000000..792329a --- /dev/null +++ b/files/batch-compiler-spec/Source_Batch.bci @@ -0,0 +1,155 @@ +// Specification: Source Batch +// Written by: Ryan Gregg +// Version: N/A +// Created: November 5, 2004 +// Last updated: December 1, 2004 + +// Updated by: Ryan Gregg +// Date: December 1, 2004 +// Added Batch Batch. +// Added Ouput variable. + +Variable +{ + Name "Output" + Type "Folder" + Optional "False" + Hint "File output directory." +} + +Batch +{ + Name "Batch" + Priority "1" + Stages "Batch" + Template "@echo off\n"_ + "${StageCmd=Batch}\n" +} + +// +// Batch +// +Stage +{ + Name "Batch" + Title "Batch Operations" + Type "CommandList" + + // + // Recommended File Deletions + // + + LabelBox + { + Name "Recommended File Deletions:" + Bold "True" + } + + CheckBox + { + Name "Delete .PRT After Compile" + Param "if not exist \"${FilePath}\\${FileName}.prt\" goto nodelprt\n"_ + "del \"${FilePath}\\${FileName}.prt\"\n"_ + "echo ${FilePath}\\${FileName}.prt deleted.\n"_ + ":nodelprt" + } + + Space + { + Size "9" + } + + // + // Recommended File Functions + // + + LabelBox + { + Name "Recommended File Functions:" + Bold "True" + } + + CheckBox + { + Name "Copy .BSP After Compile" + Bold "True" + Param "if not exist \"${FilePath}\\${FileName}.bsp\" goto nocopybsp\n"_ + "copy \"${FilePath}\\${FileName}.bsp\" \"${Output}\"\n"_ + "echo ${FileName}.bsp copied to ${Output}.\n"_ + ":nocopybsp" + Hint "\tCopy your .BSP file to your map destination folder." + } + + CheckBox + { + Name "Copy .LIN After Compile" + Param "if not exist \"${FilePath}\\${FileName}.lin\" goto nocopylin\n"_ + "copy \"${FilePath}\\${FileName}.lin\" \"${Output}\"\n"_ + "echo ${FileName}.lin copied to ${Output}.\n"_ + ":nocopylin" + Hint "\tCopy your .LIN file to your map destination folder." + } + + Space + { + Size "8" + } + + // + // Unrecommended File Deletions + // + + LabelBox + { + Name "Unrecommended File Deletions:" + Bold "True" + } + + CheckBox + { + Name "Delete .BSP After Compile" + Param "if not exist \"${FilePath}\\${FileName}.bsp\" goto nodelbsp\n"_ + "del \"${FilePath}\\${FileName}.bsp\"\n"_ + "echo ${FilePath}\\${FileName}.bsp deleted.\n"_ + ":nodelbsp" + Hint "\tNote: If you delete this file without copying it you won't be able to play your bsp file." + } + + CheckBox + { + Name "Delete .GL After Compile" + Param "if not exist \"${FilePath}\\${FileName}.gl\" goto nodelgl\n"_ + "del \"${FilePath}\\${FileName}.gl\"\n"_ + "echo ${FilePath}\\${FileName}.gl deleted.\n"_ + ":nodelgl" + } + + CheckBox + { + Name "Delete .LIN After Compile" + Param "if not exist \"${FilePath}\\${FileName}.lin\" goto nodellin\n"_ + "del \"${FilePath}\\${FileName}.lin\"\n"_ + "echo ${FilePath}\\${FileName}.lin deleted.\n"_ + ":nodellin" + Hint "\tNote: If you delete this file without copying it you won't be able to view the compiler's lin file." + } + + CheckBox + { + Name "Delete .LOG After Compile" + Param "if not exist \"${FilePath}\\${FileName}.log\" goto nodellog\n"_ + "del \"${FilePath}\\${FileName}.log\"\n"_ + "echo ${FilePath}\\${FileName}.log deleted.\n"_ + ":nodellog" + Hint "\tNote: If you delete this file you won't be able to view the compiler's log file." + } + + CheckBox + { + Name "Delete .VMF After Compile" + Param "if not exist \"${FilePath}\\${FileName}.vmf\" goto nodelvmf\n"_ + "del \"${FilePath}\\${FileName}.vmf\"\n"_ + "echo ${FilePath}\\${FileName}.vmf deleted.\n"_ + ":nodelvmf" + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Source_GLView.bci b/files/batch-compiler-spec/Source_GLView.bci new file mode 100644 index 0000000..56a7b99 --- /dev/null +++ b/files/batch-compiler-spec/Source_GLView.bci @@ -0,0 +1,61 @@ +// Specification: GLView +// Written by: Ryan Gregg +// Version: N/A +// Created: December 3, 2004 +// Last updated: N/A + + +Batch +{ + Name "GLView" + Priority "1" + Links "Source SDK,http://www.valve-erc.com/srcsdk/" + Stages "GLView" + Filter "GL Files (*.gl)|*.gl" + ShellExecute "True" + Template "\"${StagePath=GLView}\" ${StageParam=GLView} \"${FilePath}\\${FileName}.gl\"" +} + +// +// GLView +// +Stage +{ + Name "GLView" + Title "GLView" + Type "Program" + Filter "GLView (glview.exe)|glview.exe" + + CheckBox + { + Name "Portal" + Param "-portal" + Hint "\tRead portal file." + } + + CheckBox + { + Name "Portal Highlight" + Param "-portalhighlight" + Hint "\tHighlight portals." + } + CheckBox + { + Name "Displacement" + Param "-disp" + Hint "\t???" + } + + Space + { + Size "7" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Source_Texture_Utility.bcs b/files/batch-compiler-spec/Source_Texture_Utility.bcs new file mode 100644 index 0000000..2ac64d4 --- /dev/null +++ b/files/batch-compiler-spec/Source_Texture_Utility.bcs @@ -0,0 +1,147 @@ +// Specification: VTex +// Written by: Ryan Gregg +// Version: N/A +// Created: April 7, 2004 +// Last updated: N/A + +Include "Templates.bci" + +Variable +{ + Name "ValveProject" + Type "Folder" + Optional "True" + Hint "The directory your gameinfo.txt is located in." +} + +Batch +{ + Name "VTex" + Priority "1" + Links "Source SDK,http://www.valve-erc.com/srcsdk/" + Filter "TGA Files (*.tga)|*.tga" + Stages "VTex" + Template "@echo off\n"_ + "set VPROJECT=${ValveProject}\n"_ + + "${Splash}"_ + + "\"${StagePath=VTex}\" -nopause ${StageParam=VTex} \"${FileName}.${FileExt}\"\n" +} + +// +// VTex +// +Stage +{ + Name "VTex" + Title "VTex" + Type "Program" + Filter "VTex (vtex.exe)|vtex.exe" + + CheckBox + { + Name "Make Directory" + Bold "True" + Param "-mkdir" + Hint "\tMake the destination directory if it does not exist.\n\n"_ + "\tFor example, if you had a .tga in your .../sourcesdk_content/hl2/materialsrc/sample/sample_material.tga folder, -mkdir would create a new directory called \"sample\" in your .../Half-Life 2/hl2/materials directory, if it didn't already exist, and then place the compiled .vtf file in that new location. If the directory already exists, the -mkdir parameter is ignored." + } + + CheckBox + { + Name "Quiet" + Param "-quiet" + Hint "\tDon't display any console output." + } + + TextBox + { + Name "VMT Parameter" + Param "-vmtparam" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tIf a .vmt already exists in the same location, any new parameters will not be added. For example, to make a material translucent, you would type the following: \"$translucent 1\" (without quotes).\n" + } + + TextBox + { + Name "VMT Parameter" + Param "-vmtparam" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tIf a .vmt already exists in the same location, any new parameters will not be added. For example, to make a material translucent, you would type the following: \"$translucent 1\" (without quotes).\n" + } + + TextBox + { + Name "VMT Parameter" + Param "-vmtparam" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tIf a .vmt already exists in the same location, any new parameters will not be added. For example, to make a material translucent, you would type the following: \"$translucent 1\" (without quotes).\n" + } + + TextBox + { + Name "VMT Parameter" + Param "-vmtparam" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tIf a .vmt already exists in the same location, any new parameters will not be added. For example, to make a material translucent, you would type the following: \"$translucent 1\" (without quotes).\n" + } + + TextBox + { + Name "VMT Parameter" + Param "-vmtparam" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tIf a .vmt already exists in the same location, any new parameters will not be added. For example, to make a material translucent, you would type the following: \"$translucent 1\" (without quotes).\n" + } + + TextBox + { + Name "Custom Shader" + Param "-shader" + Size "2" + Type "String" + Hint "\tHave VTex create a .vmt for the new material with the shader specified.\n\n"_ + "\tNot to be used with the Standard Shader option." + } + + ComboBox + { + Name "Standard Shader" + Param "-shader" + Size "2" + Default "Lightmapped Generic" + Options "Cable,Cable|Decal,Decal|Decal Modulate,DecalModulate|Lightmapped Generic,LightmappedGeneric|Modulate,Modulate|Monitor Screen,MonitorScreen|Predator,Predator|Refract,Refract|Shattered Glass,ShatteredGlass|Sprite,Sprite|Unlit Generic,UnlitGeneric|Vertex Lit Generic,VertexlitGeneric|Water,Water" + Hint "\tHave VTex create a .vmt for the new material with the shader specified.\n\n"_ + "\tNot to be used with the Custom Shader option." + } + + Space + { + Size "1" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Quote "False" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Source_Tools.bci b/files/batch-compiler-spec/Source_Tools.bci new file mode 100644 index 0000000..6d0d8d9 --- /dev/null +++ b/files/batch-compiler-spec/Source_Tools.bci @@ -0,0 +1,772 @@ +// Specification: Source Tools +// Written by: Ryan Gregg +// Version: N/A +// Created: November 5, 2004 +// Last updated: January 22, 2006 + +// Updated by: Ryan Gregg +// Date: January 22, 2006 +// Added Virtual Displacment Physics and Min Luxel Scale options to BSP. +// Added Chop, Max Chop, Soft Sun and Lightmap Type options to RAD. +// Added Full Mini Dump option to Shared. + +// Updated by: Ryan Gregg +// Date: May 28, 2005 +// Updated VIS and RAD filters. + +// Updated by: Ryan Gregg +// Date: April 27, 2005 +// Added CST tools to each stage's filter. +// Added CST link. + +// Updated by: Ryan Gregg +// Date: Febuary 23, 2005 +// Updated all tools to refelect changes to the SDK. + +// Updated by: Ryan Gregg +// Date: December 1, 2004 +// Added BinRoot and ValveProject variables. + +Include "Templates.bci" + +Variable +{ + Name "BinRoot" + Type "Folder" + Optional "True" + Hint "SDK bin directory.\n...\\Steam\\SteamApps\\<User Name>\\sourcesdk\\bin\\" +} + +Variable +{ + Name "ValveProject" + Type "Folder" + Optional "True" + Hint "The directory your gameinfo.txt is located in." +} + +Batch +{ + Name "Source Tools" + Priority "2" + Links "Custom Source Tools,http://www.zhlt.tk/|"_ + "Source SDK,http://www.valve-erc.com/srcsdk/" + Filter "Supported Files|*.vmf;*.bsp|VMF Files (*.vmf)|*.vmf|BSP Files (*.bsp)|*.bsp" + Stages "BSP|VIS|RAD|Shared|ZIP" + Template "@echo off\n"_ + "set VPROJECT=${ValveProject}\n"_ + "cd ${BinRoot}\n"_ + + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=ZIP}\" ${StageParam=ZIP}\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + + "goto succeeded\n"_ + + ":failed\n"_ + "echo.\n"_ + "echo There was a problem compiling your map, check your ${FileName}.log file for errors.\n"_ + ":succeeded\n"_ + "echo.\n"_ + + "${LogViewerRun}\n" +} + +Batch +{ + Name "BSP" + Priority "1" + Stages "BSP|Shared" + Filter "VMF Files (*.vmf)|*.vmf" + Template "@echo off\n"_ + "set VPROJECT=${ValveProject}\n"_ + "cd ${BinRoot}\n"_ + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "VIS" + Priority "1" + Stages "VIS|Shared" + Filter "VMF Files (*.vmf)|*.vmf" + Template "@echo off\n"_ + "set VPROJECT=${ValveProject}\n"_ + "cd ${BinRoot}\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "RAD" + Priority "1" + Stages "RAD|Shared" + Filter "VMF Files (*.vmf)|*.vmf" + Template "@echo off\n"_ + "set VPROJECT=${ValveProject}\n"_ + "cd ${BinRoot}\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "ZIP" + Priority "1" + Stages "ZIP" + Filter "VMF Files (*.vmf)|*.vmf" + Template "@echo off\n"_ + "set VPROJECT=${ValveProject}\n"_ + "cd ${BinRoot}\n"_ + "\"${StagePath=ZIP}\" ${StageParam=ZIP}\n" +} + +// +// BSP +// +Stage +{ + Name "BSP" + Title "Binary Space Partition" + Type "Program" + Filter "VBSP (vbsp.exe)|vbsp.exe|CSTBSP (cstbsp.exe)|cstbsp.exe" + + CheckBox + { + Name "Bump All" + Param "-bumpall" + Hint "\tForce all surfaces to be bump mapped." + } + + CheckBox + { + Name "Dump Collision Data" + Param "-dumpcollide" + Hint "\tWrite files with collision info." + } + + CheckBox + { + Name "Dump Static Props" + Param "-dumpstaticprop" + Hint "\tDump static props to staticprop*.txt." + } + + CheckBox + { + Name "Full Detail" + Param "-fulldetail" + Hint "\tMark all detail geometry as normal geometry (so all detail geometry will affect visibility)." + } + + CheckBox + { + Name "GLView" + Bold "True" + Param "-glview" + Hint "\tWrites .gl files in the current directory that can be viewed with glview.exe. If you use -tmpout, it will write the files into the \\tmp folder." + } + + CheckBox + { + Name "Keep Stale Zip" + Param "-keepstalezip" + Hint "\tKeep the BSP's zip files intact but regenerate everything else." + } + + CheckBox + { + Name "Leak Test" + Param "-leaktest" + Hint "\tStop processing the map if a leak is detected. Whether or not this flag is set, a leak file will be written out at <vmf filename>.lin, and it can be imported into Hammer." + } + + CheckBox + { + Name "Light If Missing" + Param "-lightifmissing" + Hint "\tForce lightmaps to be generated for all surfaces even if they don't need lightmaps." + } + + + CheckBox + { + Name "No Detail" + Param "-nodetail" + Bold "True" + Hint "\tGet rid of all detail geometry. The geometry left over is what affects visibility." + } + + CheckBox + { + Name "No Linux Data" + Param "-nolinuxdata" + Hint "\tBy default, BSP writes physics data for linux servers. This parameter disables writing linux physics data into the map." + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Quote "False" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } + + CheckBox + { + Name "No Water" + Param "-nowater" + Bold "True" + Hint "\tGet rid of water brushes." + } + + CheckBox + { + Name "No CSG" + Param "-nocsg" + Hint "\tDon't chop out intersecting brush areas." + } + + /*CheckBox + { + Name "No Linux Data" + Param "-nolinuxdata" + Hint "\tForce it to not write physics data for linux multiplayer servers, even if there are multiplayer entities in the map." + }*/ + + CheckBox + { + Name "No Merge" + Param "-nomerge" + Hint "\tDon't merge together chopped faces on nodes." + } + + CheckBox + { + Name "No Merge Water" + Param "-nomergewater" + Hint "\tDon't merge together chopped faces on water." + } + + CheckBox + { + Name "No Opt" + Param "-noopt" + Hint "\tBy default, vbsp removes the 'outer shell' of the map, which are all the faces you can't see because you can never get outside the map. -noopt disables this behaviour." + } + + CheckBox + { + Name "No Prune" + Param "-noprune" + Hint "\tDon't prune neighboring solid nodes." + } + + CheckBox + { + Name "No Share" + Param "-noshare" + Hint "\tEmit unique face edges instead of sharing them." + } + + CheckBox + { + Name "No Subdivide" + Param "-nosubdiv" + Hint "\tDon't subdivide faces for lightmapping." + } + + CheckBox + { + Name "No T-Junction" + Param "-notjunc" + Hint "\tDon't fixup t-junctions." + } + + CheckBox + { + Name "No Weld" + Param "-noweld" + Hint "\tDon't join face vertices together." + } + + Space + { + Size "1" + } + + CheckBox + { + Name "Snap Axial" + Param "-snapaxial" + Hint "\tSnap axial planes to integer coordinates." + } + + CheckBox + { + Name "Only Entites" + Param "-onlyents" + Bold "True" + Hint "\tThis option causes vbsp only import the entities from the .vmf file. -onlyents won't reimport brush models." + } + + CheckBox + { + Name "Only Props" + Param "-onlyprops" + Bold "True" + Hint "\tOnly update the static props and detail props." + } + + CheckBox + { + Name "Verbose Entities" + Param "-verboseentities" + Hint "\tIf -verbose is on, this disables verbose output for submodels." + } + + CheckBox + { + Name "Virtual Displacement Physics" + Param "-virtualdispphysics" + Hint "\tUse virtual (not precomputed) displacement collision models." + } + + TextBox + { + Name "Block" + Param "-Block" + Type "String" + Quote "False" + Default "0.0 0.0" + Hint "\tControl the grid size mins that vbsp chops the level on." + } + + TextBox + { + Name "Blocks" + Param "-Blocks" + Type "String" + Quote "False" + Default "0.0 0.0 0.0 0.0" + Hint "\tEnter the mins and maxs for the grid size vbsp uses." + } + + TextBox + { + Name "Luxel Scale" + Param "-luxelscale" + Type "Single" + Default "1.0" + Min "0.0" + Max "100.0" + Hint "\tScale all lightmaps by this amount." + } + + TextBox + { + Name "Micro" + Param "-micro" + Type "Single" + Default "1.0" + Min "0.0" + Hint "\tvbsp will warn when brushes are output with a volume less than this number." + } + + TextBox + { + Name "Min Luxel Scale" + Param "-minluxelscale" + Type "Single" + Default "1.0" + Min "0.0" + Max "100.0" + Hint "\tNo luxel scale will be lower than this amount." + } +} + +// +// VIS +// +Stage +{ + Name "VIS" + Title "Visibility Index Set" + Type "Program" + Filter "VVIS (vvis.exe)|vvis.exe|CSTVIS (cstvis.exe;cstvis_launcher.exe)|cstvis.exe;cstvis_launcher.exe" + + CheckBox + { + Name "No Sort" + param "-nosort" + Hint "\tDon't sort portals (sorting is an optimization)." + } + + TextBox + { + Name "Radius Override" + param "-radius_override" + Type "Single" + Default "0.0" + Min "0.0" + Hint "\tForce a VIS radius." + } + + ComboBox + { + Name "VIS Type" + Bold "True" + Default "Normal" + Options "Fast,-fast|Normal," + Hint "\tRun as fast or normal.\n\n"_ + "\tFast VIS only does a first quick pass on VIS calculations." + } + + Space + { + Size "7" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Quote "False" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +} + +// +// RAD +// +Stage +{ + Name "RAD" + Title "Radiosity" + Type "Program" + Filter "VRAD (vrad.exe)|vrad.exe|CSTRAD (cstrad.exe;cstrad_launcher.exe)|cstrad.exe;cstrad_launcher.exe" + + CheckBox + { + Name "Center Samples" + param "-centersamples" + Hint "\tMove sample centers." + } + + CheckBox + { + Name "Direct Lightmap" + param "-dlightmap" + Hint "\tForce direct lighting into different lightmap than radiosity." + } + + CheckBox + { + Name "Debug Extra" + param "-debugextra" + Hint "\tPlaces debugging data in lightmaps to visualize supersampling." + } + + CheckBox + { + Name "Dump" + param "-dump" + Hint "\tWrite debugging .txt files." + } + + CheckBox + { + Name "Dump Normals" + param "-dumpnormals" + Hint "\tWrite normals to debug files." + } + + CheckBox + { + Name "Log Hash" + param "-loghash " + Hint "\tLog the sample hash table to samplehash.txt." + } + + CheckBox + { + Name "No Detail Light" + param "-nodetaillight" + Hint "\tDon't light detail props." + } + + CheckBox + { + Name "No Extra" + param "-noextra" + Bold "true" + Hint "\tDisable supersampling." + } + + CheckBox + { + Name "Only Detail" + param "-onlydetail" + Hint "\tOnly light detail props and per-leaf lighting." + } + + /*CheckBox + { + Name "Red Error" + param "-rederror" + Hint "\tShow errors in red." + }*/ + + CheckBox + { + Name "Stop On Exit" + param "-stoponexit" + Hint "\tWait for a keypress on exit." + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Quote "False" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } + + TextBox + { + Name "Chop" + Param "-chop" + Type "Single" + Default "64.0" + Min "1.0" + Hint "\tSmallest number of luxel widths for a bounce patch, used on edges." + } + + TextBox + { + Name "Bounce" + Param "-bounce" + Bold "True" + Type "Integer" + Default "100" + Min "0" + Hint "\tSet max number of bounces." + } + + TextBox + { + Name "Luxel Density" + Param "-luxeldensity" + Type "Single" + Default "1.0" + Min "0.0" + Max "1.0" + Hint "\tRescale all luxels by the specified amount." + } + + TextBox + { + Name "Max Chop" + Param "-maxchop" + Type "Single" + Default "64.0" + Min "2.0" + Hint "\tCoarsest allowed number of luxel widths for a patch, used in face interiors." + } + + TextBox + { + Name "Max Disp Sample Size" + Param "-maxdispsamplesize" + Type "Single" + Default "512.0" + Min "0.0" + Hint "\tSet max displacement sample size." + } + + TextBox + { + Name "Smooth" + Param "-smooth" + Type "Single" + Default "45.0" + Min "0.0" + Max "360.0" + Hint "\tSet the threshold for smoothing groups, in degrees." + } + + TextBox + { + Name "Soft Sun" + Param "-softsun" + Type "Single" + Default "0.0" + Min "0.0" + Max "360.0" + Hint "\tTreat the sun as an area light source of the specified size in degrees.\n\n"_ + "\tProduces soft shadows. Recommended values are between 0 and 5 degrees." + } + + ComboBox + { + Name "Lightmap Type" + Bold "True" + Default "LDR" + Options "LDR,-ldr|HDR,-hdr|Both,-both" + Hint "\tThe type of lightmaps to generate.\n\n"_ + "\tThe Source Engine supports two independent sets of lightmaps, one for HDR (High Dynamic Range) lighting and one for LDR (Low Dynamic Range) lighting. LDR lighting is the same static lighting from HL2. With LDR lighting, we often have to supplement dark areas with additional point and texture lights to help make these areas visible. Now, with HDR, we can simply use auto-exposure to enhance most of these dark areas without the \"fake\" lights. The one drawback to having two sets of lightmaps is the increased BSP file size, which in some cases may more than double.\n\n"_ + "\tChoosing LDR generates LDR lightmaps only, choosing HDR generate HDR lightmaps only and choosing Both generates LDR and HDR lightmaps." + } + + ComboBox + { + Name "RAD Type" + Bold "True" + Default "Normal" + Options "Fast,-fast|Normal,|Final,-final" + Hint "\tRun as fast or normal.\n\n"_ + "\tFast RAD does quick and dirty lighting calculations.\n\n"_ + "\tFinal RAD increases the quality of skylight and indirect light by spending more CPU time firing rays. Final RAD can dramatically increase the compile time for RAD, and so it is mainly intended for final map compiles. The biggest quality impact of this option is the reduction of lighting artifacts that are commonly found in indoor spaces lit primarily from light_environment." + } + + FileBox + { + Name "Lights File" + Param "-lights" + FullPath "True" + Bold "True" + Filter "Radiosity Files (*.rad)|*.rad|Text Files (*.txt)|*.txt" + Hint "\tLoad a lights file in addition to lights.rad and the level lights file." + } +} + +// +// ZIP +// +Stage +{ + Name "ZIP" + Title "BSP ZIP" + Type "Program" + Filter "BSPZIP (bspzip.exe)|bspzip.exe" + + ComboBox + { + Name "Operation" + Checked "True" + Default "Add" + Options "Add,-addlist \"${FilePath}\\${FileName}.bsp\" \"${FilePath}\\${FileName}.lst\" \"${FilePath}\\${FileName}.bsp\"|Extract,-extract \"${FilePath}\\${FileName}.bsp\" \"${FilePath}\\${FileName}.zip\"|List,-dir \"${FilePath}\\${FileName}.bsp\"" + Hint "\tAdd files to, extract files from or list the files in the BSP's embedded ZIP file.\n\n"_ + "\tWhen adding files a <filename>.lst file must exist in your input file's folder. This file contains pairs in the format ZIP path Local path separated by new line characters. For example, to add the material walls/stonewall our <filename>.lst file would contain:\n\n"_ + "\tmaterials/walls/stonewall.vmt\n"_ + "\tC:\\materials\\walls\\stonewall.vmt\n"_ + "\tmaterials/walls/stonewall.vtf\n"_ + "\tC:\\materials\\walls\\stonewall.vtf" + } + + Space + { + Size "9" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Quote "False" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +} + +// +// Shared +// +Stage +{ + Name "Shared" + Title "Shared Parameters" + Type "ParameterList" + + CheckBox + { + Name "Full Mini Dumps" + param "-fullminidumps" + Stages "BSP|VIS|RAD" + Hint "\tWrite large minidumps on crash." + } + + CheckBox + { + Name "No VConfig" + param "-novconfig" + Stages "BSP|VIS|RAD" + Hint "\tDon't bring up graphical UI on VPROJECT errors." + } + + CheckBox + { + Name "MPI" + param "-mpi" + Stages "VIS|RAD" + Hint "\tUse VMPI to distribute computations." + } + + CheckBox + { + Name "Verbose" + param "-verbose" + Stages "BSP|VIS|RAD" + Hint "\tCompile with verbose messages." + } + + TextBox + { + Name "MPI Password" + Param "-mpi_pw" + Stages "VIS|RAD" + Type "String" + Hint "\tUse a password to choose a specific set of VMPI workers." + } + + TextBox + { + Name "Threads" + Param "-threads" + Stages "BSP|VIS|RAD" + Type "Integer" + Default "1" + Min "1" + Hint "\tControl the number of threads vbsp uses (defaults to the # of processors on your machine)." + } + + ComboBox + { + Name "Priority" + Stages "BSP|VIS|RAD" + Default "Normal" + Options "Low,-low|Normal," + Hint "\tRun program an altered priority level.\n\n"_ + "\tSetting the priority of the compile tools to -low is very handy, as you can multitask and do other things without really feeling the drain of the compile programs on the system, provided there is enough memory for the tools and the other programs you use." + } + + FolderBox + { + Name "Game" + Param "-game" + Stages "BSP|VIS|RAD" + Bold "True" + Hint "\tOverride the VPROJECT environment variable.\n\n"_ + "\tShould point to the folder your gameinfo.txt is located in." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Source_Tools_Advanced.bcs b/files/batch-compiler-spec/Source_Tools_Advanced.bcs new file mode 100644 index 0000000..8689743 --- /dev/null +++ b/files/batch-compiler-spec/Source_Tools_Advanced.bcs @@ -0,0 +1,57 @@ +// Specification: Source Tools Advanced +// Written by: Ryan Gregg +// Version: N/A +// Created: December 3, 2004 +// Last updated: April 27, 2005 + +// Updated by: Ryan Gregg +// Date: April 27, 2005 +// Added CST link. + +Include "Source Tools.bci" +Include "Source Batch.bci" +Include "Source GLView.bci" +Include "Steam.bci" +Include "Templates.bci" + +Batch +{ + Name "Source Tools Normal" + Priority "3" + Links "Custom Source Tools,http://www.zhlt.tk/|"_ + "Source SDK,http://www.valve-erc.com/srcsdk/|"_ + "Steam,http://www.steampowered.com/|"_ + "Valve,http://www.valvesoftware.com/" + Filter "Supported Files|*.vmf;*.bsp;*.gl|VMF Files (*.vmf)|*.vmf|BSP Files (*.bsp)|*.bsp|GL Files (*.gl)|*.gl" + Stages "BSP|VIS|RAD|Shared|ZIP|Batch|GLView|Steam" + LogFile "${FilePath}\\${FileName}.log" + Template "@echo off\n"_ + "set VPROJECT=${ValveProject}\n"_ + "cd ${BinRoot}\n"_ + + "${Splash}"_ + + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=ZIP}\" ${StageParam=ZIP}\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + + + "\"${StagePath=GLView}\" ${StageParam=GLView} \"${FilePath}\\${FileName}.gl\"\n"_ + + "${StageCmd=Batch}\n"_ + "\"${StagePath=Steam}\" ${StageParam=Steam}\n"_ + "goto succeeded\n"_ + + ":failed\n"_ + "echo.\n"_ + "echo There was a problem compiling your map, check your ${FileName}.log file for errors.\n"_ + ":succeeded\n"_ + "echo.\n"_ + + "${LogViewerRun}\n" +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Source_Tools_Normal.bcs b/files/batch-compiler-spec/Source_Tools_Normal.bcs new file mode 100644 index 0000000..898bffd --- /dev/null +++ b/files/batch-compiler-spec/Source_Tools_Normal.bcs @@ -0,0 +1,51 @@ +// Specification: Source Tools Normal +// Written by: Ryan Gregg +// Version: N/A +// Created: November 5, 2004 +// Last updated: April 27, 2005 + +// Updated by: Ryan Gregg +// Date: April 27, 2005 +// Added CST link. + +Include "Source Tools.bci" +Include "Source Batch.bci" +Include "Steam.bci" +Include "Templates.bci" + +Batch +{ + Name "Source Tools Normal" + Priority "3" + Links "Custom Source Tools,http://www.zhlt.tk/|"_ + "Source SDK,http://www.valve-erc.com/srcsdk/|"_ + "Steam,http://www.steampowered.com/|"_ + "Valve,http://www.valvesoftware.com/" + Filter "Supported Files|*.vmf;*.bsp|VMF Files (*.vmf)|*.vmf|BSP Files (*.bsp)|*.bsp" + Stages "BSP|VIS|RAD|Shared|Batch|Steam" + LogFile "${FilePath}\\${FileName}.log" + Template "@echo off\n"_ + "set VPROJECT=${ValveProject}\n"_ + "cd ${BinRoot}\n"_ + + "${Splash}"_ + + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + + "${StageCmd=Batch}\n"_ + "\"${StagePath=Steam}\" ${StageParam=Steam}\n"_ + "goto succeeded\n"_ + + ":failed\n"_ + "echo.\n"_ + "echo There was a problem compiling your map, check your ${FileName}.log file for errors.\n"_ + ":succeeded\n"_ + "echo.\n"_ + + "${LogViewerRun}\n" +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Steam.bci b/files/batch-compiler-spec/Steam.bci new file mode 100644 index 0000000..527f22f --- /dev/null +++ b/files/batch-compiler-spec/Steam.bci @@ -0,0 +1,138 @@ +// Specification: Steam +// Written by: Ryan Gregg +// Version: 1.1.1.1 +// Created: August 4, 2004 +// Last updated: October 25, 2005 + +// Updated by: Ryan Gregg +// Date: October 25, 2005 +// Added Day od Defeat: Source to Game ComboBox. + +// Updated by: Ryan Gregg +// Date: September 4, 2005 +// Added Half-Life: Blue Shift to Game ComboBox. + +// Updated by: Ryan Gregg +// Date: November 19, 2004 +// Added Half-Life 2 and Half-Life: Source to Game ComboBox. + +// Updated by: Ryan Gregg +// Date: October 15, 2004 +// Added Counter-Strke: Source to Game ComboBox. + +// Updated by: Ryan Gregg +// Date: September 23, 2004 +// Improved options hints. + +// Updated by: Ryan Gregg +// Date: September 7, 2004 +// Changed default MOD from nsp to ns. + +// Updated by: Ryan Gregg +// Date: August 9, 2004 +// Thanks to: Anders Jenbo +// Corected Startup State. +// Removed Colors. + + +Batch +{ + Name "Steam" + Priority "1" + Links "Steam,http://www.steampowered.com/|"_ + "Valve,http://www.valvesoftware.com/" + Stages "Steam" + Filter "BSP Files (*.bsp)|*.bsp" + ShellExecute "True" + Template "\"${StagePath=Steam}\" ${StageParam=Steam}" +} + +// +// Steam +// +Stage +{ + Name "Steam" + Title "Steam" + Type "Program" + Filter "Steam (steam.exe)|steam.exe" + + CheckBox + { + Name "Developer" + Param "-dev" + Hint "\tStart Steam in developer mode (cheats)." + } + + CheckBox + { + Name "Run Map" + Param "+map ${FileName}" + Bold "True" + Checked "True" + Hint "\tStart Steam with the map you selected as the input file." + } + + TextBox + { + Name "MOD" + Param "-game" + Bold "True" + Type "String" + Index "1" + Hint "\tThe MOD to start Steam in.\n\n"_ + "\tTo launch a third party MOD you must first select Half-Life as you Game, next you must enter the name of the third party MOD you wish to launch here. For example the value \"ns\" would be for the third party MOD Natural Selection, \"ts\" would be for the third party MOD The Specialists." + } + + TextBox + { + Name "Particles" + Param "-particles" + Type "Integer" + Default "65536" + Min "1" + Hint "\tThe number of particles to search for leaks with." + } + + ComboBox + { + Name "Game" + Param "-applaunch" + Bold "True" + Checked "True" + Index "0" // Index of 0 means this will always be the first parameter. + Default "Half-Life" + Options "Condition Zero,80|Condition Zero Deleted Scenes,100|Counter-Strike,10|Counter-Strike: Source,240|Day of Defeat,30|Day of Defeat: Source,300|Deathmatch Classic,40|Dedicated Server,5|Half-Life,70|Half-Life 2,220|Half-Life 2: Deathmatch,320|Half-Life: Blue Shift,130|Half-Life: Source,280|Opposing Force,50|Ricochet,60|Team Fortress Classic,20" + Hint "\tStart Steam with the selected game.\n\n"_ + "\tTo launch an official game or MOD you would use this option." + } + + ComboBox + { + Name "Render Mode" + Default "Direct 3D" + Options "Direct 3D,-d3d|Open GL,-gl|Software,-soft" + Hint "\tStart Half-Life in the selected rendermode." + } + + ComboBox + { + Name "Startup State" + Default "Fullscreen" + Options "Fullscreen,-full|Window,-window" + Hint "\tStart Half-Life with the selected window state." + } + + Space + { + Size "3" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Templates.bci b/files/batch-compiler-spec/Templates.bci new file mode 100644 index 0000000..909a76a --- /dev/null +++ b/files/batch-compiler-spec/Templates.bci @@ -0,0 +1,17 @@ +// Written by: Ryan Gregg +// Created: December 5, 2004 + +Once + +Define "Splash" "echo ###################################################\n"_ + "echo # Batch Compiler #\n"_ + "echo ###################################################\n"_ + "echo ###################################################\n"_ + "echo # Please report bugs to: [email protected] #\n"_ + "echo ###################################################\n"_ + "echo.\n"_ + "echo Written At: ${Date} ${Time}\n"_ + "echo BC Version: ${Version}\n"_ + "echo.\n" + +Define "LogViewerRun" "if exist \"${FilePath}\\${FileName}.log\" \"${LogViewerPath}\" \"${FilePath}\\${FileName}.log\""
\ No newline at end of file diff --git a/files/batch-compiler-spec/VTFCommand.bcs b/files/batch-compiler-spec/VTFCommand.bcs new file mode 100644 index 0000000..e2cb087 --- /dev/null +++ b/files/batch-compiler-spec/VTFCommand.bcs @@ -0,0 +1,463 @@ +// Specification: VTFCmd +// Written by: Ryan Gregg +// Version: 1.0.3 +// Created: April 17, 2005 +// Last updated: May 6, 2005 + +// Updated by: Ryan Gregg +// Date: May 6, 2005 +// Added -nwrap option. + +Batch +{ + Name "VTFCmd" + Priority "1" + Stages "VTF|VMT|Misc" + Filter "Supported Files (*.bmp;*.dds;*.gif;*.jpg;*.jpeg;*.png;*.tga)|*.bmp;*.dds;*.gif;*.jpg;*.jpeg;*.png;*.tga|BMP Files (*.bmp)|*.bmp|DDS Files (*.dds)|*.dds|GIF Files (*.gif)|*.gif|JPEG Files (*.jpg;*.jpeg)|*.jpg;*.jpeg|PNG Files (*.png)|*.png|TGA Files (*.tga)|*.tga|All Files (*.*)|*.*" + Template "@echo off\n"_ + "\"${StagePath=VTF}\" -file \"${FilePath}\\${FileName}.${FileExt}\" ${StageParam=VTF} ${StageParam=VMT} ${StageParam=Misc}" +} + +// +// VTF +// +Stage +{ + Name "VTF" + Title "VTF Options" + Type "Program" + Filter "VTFCmd (vtfcmd.exe)|vtfcmd.exe" + + CheckBox + { + Name "Gamma Correct" + Param "-gamma" + Hint "\tGamma correct input file." + } + + CheckBox + { + Name "No Reflectivity" + Param "-noreflectivity" + Hint "\tDon't calculate reflectivity." + } + + CheckBox + { + Name "No Thumbnail" + Param "-nothumbnail" + Hint "\tDon't generate thumbnail image." + } + + CheckBox + { + Name "Normal Map" + Param "-normal" + Hint "\tConvert input file to normal map." + } + + CheckBox + { + Name "Normal Wrap" + Param "-nwrap" + Hint "\tWrap the normal map (for tiled textures)." + } + + CheckBox + { + Name "Resize" + Param "-resize" + Checked "True" + Hint "\tResize input file to be a power of two." + } + + TextBox + { + Name "Bumpmap Scale" + Param "-bumpscale" + Type "Single" + Default "1.0" + Min "0.0" + Hint "\tEngine bumpmapping scale to use." + } + + + TextBox + { + Name "Gamma Correction" + Param "-gcorrection" + Type "Single" + Default "2.0" + Min "0.0" + Hint "\tSpecify the gamma correction to apply." + } + + TextBox + { + Name "Normal Scale" + Param "-nscale" + Type "Single" + Default "2.0" + Min "0.0" + Hint "\tSpecify the normal map scale to use." + } + + Space + { + Size "1" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Quote "False" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } + + ComboBox + { + Name "Flag" + Param "-flag" + Default "Anisotropic" + Options "Point Sample,POINTSAMPLE|Trilinear,TRILINEAR|Clamp S,CLAMPS|Clamp T,CLAMPT|Anisotropic,ANISOTROPIC|Hint DXT5,HINT_DXT5|Normal,NORMAL|No Mipmaps,NOMIP|No LOD,NOLOD|Min Mipmap,MINMIP|Procedural,PROCEDURAL|Render Target,RENDERTARGET|Depth Render Target,DEPTHRENDERTARGET|No Debug Overide,NODEBUGOVERRIDE|Single Copy,SINGLECOPY|One Over Mipmap Level In Alpha,ONEOVERMIPLEVELINALPHA|Premultiply Color By One Over Mipmap Level,PREMULTCOLORBYONEOVERMIPLEVEL|Normal To DuDv,NORMALTODUDV|Alpha Test Mipmap Generation,ALPHATESTMIPGENERATION|No Depth Buffer,NODEPTHBUFFER|Nice Filtered,NICEFILTERED" + Hint "\tSpecify a flag to set in the output texture." + } + + ComboBox + { + Name "Flag" + Param "-flag" + Default "Clamp S" + Options "Point Sample,POINTSAMPLE|Trilinear,TRILINEAR|Clamp S,CLAMPS|Clamp T,CLAMPT|Anisotropic,ANISOTROPIC|Hint DXT5,HINT_DXT5|Normal,NORMAL|No Mipmaps,NOMIP|No LOD,NOLOD|Min Mipmap,MINMIP|Procedural,PROCEDURAL|Render Target,RENDERTARGET|Depth Render Target,DEPTHRENDERTARGET|No Debug Overide,NODEBUGOVERRIDE|Single Copy,SINGLECOPY|One Over Mipmap Level In Alpha,ONEOVERMIPLEVELINALPHA|Premultiply Color By One Over Mipmap Level,PREMULTCOLORBYONEOVERMIPLEVEL|Normal To DuDv,NORMALTODUDV|Alpha Test Mipmap Generation,ALPHATESTMIPGENERATION|No Depth Buffer,NODEPTHBUFFER|Nice Filtered,NICEFILTERED" + Hint "\tSpecify a flag to set in the output texture." + } + + ComboBox + { + Name "Flag" + Param "-flag" + Default "Clamp T" + Options "Point Sample,POINTSAMPLE|Trilinear,TRILINEAR|Clamp S,CLAMPS|Clamp T,CLAMPT|Anisotropic,ANISOTROPIC|Hint DXT5,HINT_DXT5|Normal,NORMAL|No Mipmaps,NOMIP|No LOD,NOLOD|Min Mipmap,MINMIP|Procedural,PROCEDURAL|Render Target,RENDERTARGET|Depth Render Target,DEPTHRENDERTARGET|No Debug Overide,NODEBUGOVERRIDE|Single Copy,SINGLECOPY|One Over Mipmap Level In Alpha,ONEOVERMIPLEVELINALPHA|Premultiply Color By One Over Mipmap Level,PREMULTCOLORBYONEOVERMIPLEVEL|Normal To DuDv,NORMALTODUDV|Alpha Test Mipmap Generation,ALPHATESTMIPGENERATION|No Depth Buffer,NODEPTHBUFFER|Nice Filtered,NICEFILTERED" + Hint "\tSpecify a flag to set in the output texture." + } + + ComboBox + { + Name "Flag" + Param "-flag" + Default "Nice Filtered" + Options "Point Sample,POINTSAMPLE|Trilinear,TRILINEAR|Clamp S,CLAMPS|Clamp T,CLAMPT|Anisotropic,ANISOTROPIC|Hint DXT5,HINT_DXT5|Normal,NORMAL|No Mipmaps,NOMIP|No LOD,NOLOD|Min Mipmap,MINMIP|Procedural,PROCEDURAL|Render Target,RENDERTARGET|Depth Render Target,DEPTHRENDERTARGET|No Debug Overide,NODEBUGOVERRIDE|Single Copy,SINGLECOPY|One Over Mipmap Level In Alpha,ONEOVERMIPLEVELINALPHA|Premultiply Color By One Over Mipmap Level,PREMULTCOLORBYONEOVERMIPLEVEL|Normal To DuDv,NORMALTODUDV|Alpha Test Mipmap Generation,ALPHATESTMIPGENERATION|No Depth Buffer,NODEPTHBUFFER|Nice Filtered,NICEFILTERED" + Hint "\tSpecify a flag to set in the output texture." + } + + ComboBox + { + Name "Flag" + Param "-flag" + Default "No Debug Overide" + Options "Point Sample,POINTSAMPLE|Trilinear,TRILINEAR|Clamp S,CLAMPS|Clamp T,CLAMPT|Anisotropic,ANISOTROPIC|Hint DXT5,HINT_DXT5|Normal,NORMAL|No Mipmaps,NOMIP|No LOD,NOLOD|Min Mipmap,MINMIP|Procedural,PROCEDURAL|Render Target,RENDERTARGET|Depth Render Target,DEPTHRENDERTARGET|No Debug Overide,NODEBUGOVERRIDE|Single Copy,SINGLECOPY|One Over Mipmap Level In Alpha,ONEOVERMIPLEVELINALPHA|Premultiply Color By One Over Mipmap Level,PREMULTCOLORBYONEOVERMIPLEVEL|Normal To DuDv,NORMALTODUDV|Alpha Test Mipmap Generation,ALPHATESTMIPGENERATION|No Depth Buffer,NODEPTHBUFFER|Nice Filtered,NICEFILTERED" + Hint "\tSpecify a flag to set in the output texture." + } + + ComboBox + { + Name "Flag" + Param "-flag" + Default "No Mipmaps" + Options "Point Sample,POINTSAMPLE|Trilinear,TRILINEAR|Clamp S,CLAMPS|Clamp T,CLAMPT|Anisotropic,ANISOTROPIC|Hint DXT5,HINT_DXT5|Normal,NORMAL|No Mipmaps,NOMIP|No LOD,NOLOD|Min Mipmap,MINMIP|Procedural,PROCEDURAL|Render Target,RENDERTARGET|Depth Render Target,DEPTHRENDERTARGET|No Debug Overide,NODEBUGOVERRIDE|Single Copy,SINGLECOPY|One Over Mipmap Level In Alpha,ONEOVERMIPLEVELINALPHA|Premultiply Color By One Over Mipmap Level,PREMULTCOLORBYONEOVERMIPLEVEL|Normal To DuDv,NORMALTODUDV|Alpha Test Mipmap Generation,ALPHATESTMIPGENERATION|No Depth Buffer,NODEPTHBUFFER|Nice Filtered,NICEFILTERED" + Hint "\tSpecify a flag to set in the output texture." + } + + ComboBox + { + Name "Flag" + Param "-flag" + Default "No LOD" + Options "Point Sample,POINTSAMPLE|Trilinear,TRILINEAR|Clamp S,CLAMPS|Clamp T,CLAMPT|Anisotropic,ANISOTROPIC|Hint DXT5,HINT_DXT5|Normal,NORMAL|No Mipmaps,NOMIP|No LOD,NOLOD|Min Mipmap,MINMIP|Procedural,PROCEDURAL|Render Target,RENDERTARGET|Depth Render Target,DEPTHRENDERTARGET|No Debug Overide,NODEBUGOVERRIDE|Single Copy,SINGLECOPY|One Over Mipmap Level In Alpha,ONEOVERMIPLEVELINALPHA|Premultiply Color By One Over Mipmap Level,PREMULTCOLORBYONEOVERMIPLEVEL|Normal To DuDv,NORMALTODUDV|Alpha Test Mipmap Generation,ALPHATESTMIPGENERATION|No Depth Buffer,NODEPTHBUFFER|Nice Filtered,NICEFILTERED" + Hint "\tSpecify a flag to set in the output texture." + } + + ComboBox + { + Name "Flag" + Param "-flag" + Default "Normal" + Options "Point Sample,POINTSAMPLE|Trilinear,TRILINEAR|Clamp S,CLAMPS|Clamp T,CLAMPT|Anisotropic,ANISOTROPIC|Hint DXT5,HINT_DXT5|Normal,NORMAL|No Mipmaps,NOMIP|No LOD,NOLOD|Min Mipmap,MINMIP|Procedural,PROCEDURAL|Render Target,RENDERTARGET|Depth Render Target,DEPTHRENDERTARGET|No Debug Overide,NODEBUGOVERRIDE|Single Copy,SINGLECOPY|One Over Mipmap Level In Alpha,ONEOVERMIPLEVELINALPHA|Premultiply Color By One Over Mipmap Level,PREMULTCOLORBYONEOVERMIPLEVEL|Normal To DuDv,NORMALTODUDV|Alpha Test Mipmap Generation,ALPHATESTMIPGENERATION|No Depth Buffer,NODEPTHBUFFER|Nice Filtered,NICEFILTERED" + Hint "\tSpecify a flag to set in the output texture." + } + + ComboBox + { + Name "Flag" + Param "-flag" + Default "Point Sample" + Options "Point Sample,POINTSAMPLE|Trilinear,TRILINEAR|Clamp S,CLAMPS|Clamp T,CLAMPT|Anisotropic,ANISOTROPIC|Hint DXT5,HINT_DXT5|Normal,NORMAL|No Mipmaps,NOMIP|No LOD,NOLOD|Min Mipmap,MINMIP|Procedural,PROCEDURAL|Render Target,RENDERTARGET|Depth Render Target,DEPTHRENDERTARGET|No Debug Overide,NODEBUGOVERRIDE|Single Copy,SINGLECOPY|One Over Mipmap Level In Alpha,ONEOVERMIPLEVELINALPHA|Premultiply Color By One Over Mipmap Level,PREMULTCOLORBYONEOVERMIPLEVEL|Normal To DuDv,NORMALTODUDV|Alpha Test Mipmap Generation,ALPHATESTMIPGENERATION|No Depth Buffer,NODEPTHBUFFER|Nice Filtered,NICEFILTERED" + Hint "\tSpecify a flag to set in the output texture." + } + + ComboBox + { + Name "Flag" + Param "-flag" + Default "Trilinear" + Options "Point Sample,POINTSAMPLE|Trilinear,TRILINEAR|Clamp S,CLAMPS|Clamp T,CLAMPT|Anisotropic,ANISOTROPIC|Hint DXT5,HINT_DXT5|Normal,NORMAL|No Mipmaps,NOMIP|No LOD,NOLOD|Min Mipmap,MINMIP|Procedural,PROCEDURAL|Render Target,RENDERTARGET|Depth Render Target,DEPTHRENDERTARGET|No Debug Overide,NODEBUGOVERRIDE|Single Copy,SINGLECOPY|One Over Mipmap Level In Alpha,ONEOVERMIPLEVELINALPHA|Premultiply Color By One Over Mipmap Level,PREMULTCOLORBYONEOVERMIPLEVEL|Normal To DuDv,NORMALTODUDV|Alpha Test Mipmap Generation,ALPHATESTMIPGENERATION|No Depth Buffer,NODEPTHBUFFER|Nice Filtered,NICEFILTERED" + Hint "\tSpecify a flag to set in the output texture." + } + + Space + { + Size "1" + } + + ComboBox + { + Name "Format" + Param "-format" + Default "RGBA8888" + Options "RGBA8888,RGBA8888|ABGR8888,ABGR8888|RGB888,RGB888|BGR888,BGR888|RGB565,RGB565|I8,I8|IA88,IA88|A8,A8|RGB888 (Bluescreen),RGB888_BLUESCREEN|BGR888 (Bluescreen),BGR888_BLUESCREEN|ARGB8888,ARGB8888|BGRA8888,BGRA8888|DXT1,DXT1|DXT3,DXT3|DXT5,DXT5|BGRX8888,BGRX8888|BGR565,BGR565|BGRX5551,BGRX5551|BGRA4444,BGRA4444|DXT1 (One Bit Alpha),DXT1_ONEBITALPHA|BGRA5551,BGRA5551|UV88,UV88|UVWQ8888,UVWQ8888|RGBA16161616 (Float),RGBA16161616F|RGBA16161616,RGBA16161616|UVLX8888,UVLX8888" + Hint "\tSpecify the output texture format." + } + + ComboBox + { + Name "Normal Alpha" + Param "-nalpha" + Default "White" + Options "No Change,NOCHANGE|Height,HEIGHT|Black,BLACK|White,WHITE" + Hint "\tSpecify what to do with the alpha channel after generating normal maps." + } + + ComboBox + { + Name "Normal Height" + Param "-nheight" + Default "Average RGB" + Options "Red,RED|Green,GREEN|Blue,BLUE|Alpha,ALPHA|Average RGB,AVERAGERGB|Biased RGB,BIASEDRGB|Max RGB,MAXRGB|Colorspace,COLORSPACE" + Hint "\tSpecify the height source to use when generating normal maps." + } + + ComboBox + { + Name "Normal Kernel" + Param "-nkernel" + Default "3x3" + Options "4x,4X|3x3,3X3|5x5,5X5|7x7,7X7|9x9,9X9|DuDv,DUDV|Q8W8V8U8,Q8W8V8U8" + Hint "\tSpecify the filter to use when generating normal maps." + } + + ComboBox + { + Name "Mipmap Filter" + Param "-mfilter" + Default "Box" + Options "Point,POINT|Box,BOX|Triangle,TRIANGLE|Quadratic,QUADRATIC|Cubic,CUBIC|Catrom,CATROM|Mitchell,MITCHELL|Gaussian,GAUSSIAN|SinC,SINC|Bessel,BESSEL|Hanning,HANNING|Hamming,HAMMING|Blackman,BLACKMAN|Kaiser,KAISER" + Hint "\tSpecify the mipmap filter to use when generating mipmaps." + } + + ComboBox + { + Name "Mipmap Sharpen" + Param "-msharpen" + Default "Sharpen Soft" + Options "None,NONE|Negative,NEGATIVE|Lighter,LIGHTER|Darker,DARKER|Contrast More,CONTRASTMORE|Contrast Less,CONTRASTLESS|Smoothen,SMOOTHEN|Sharpen Soft,SHARPENSOFT|Sharpen Medium,SHARPENMEDIUM|Sharpen Strong,SHARPENSTRONG|Find Edges,FINDEDGES|Contour,CONTOUR|Edge Detect,EDGEDETECT|Edge Detect Soft,EDGEDETECTSOFT|Emboss,EMBOSS|Mean Removal,MEANREMOVAL|Unsharp,UNSHARP|XSharpen,XSHARPEN|Wrap Sharp,WARPSHARP" + Hint "\tSpecify the mipmap sharpen filter to use when generating mipmaps." + } + + ComboBox + { + Name "Resize Filter" + Param "-rfilter" + Default "Triangle" + Options "Point,POINT|Box,BOX|Triangle,TRIANGLE|Quadratic,QUADRATIC|Cubic,CUBIC|Catrom,CATROM|Mitchell,MITCHELL|Gaussian,GAUSSIAN|SinC,SINC|Bessel,BESSEL|Hanning,HANNING|Hamming,HAMMING|Blackman,BLACKMAN|Kaiser,KAISER" + Hint "\tSpecify the resize filter to use when resizing images." + } + + ComboBox + { + Name "Resize Method" + Param "-rmethod" + Default "Nearest" + Options "Nearest,NEAREST|Biggest,BIGGEST|Smallest,SMALLEST" + Hint "\tSpecify the resize method to use when resizing images.\n\n"_ + "\tThis determines what power of two to resize the image to." + } + + ComboBox + { + Name "Resize Sharpen" + Param "-rsharpen" + Default "None" + Options "None,NONE|Negative,NEGATIVE|Lighter,LIGHTER|Darker,DARKER|Contrast More,CONTRASTMORE|Contrast Less,CONTRASTLESS|Smoothen,SMOOTHEN|Sharpen Soft,SHARPENSOFT|Sharpen Medium,SHARPENMEDIUM|Sharpen Strong,SHARPENSTRONG|Find Edges,FINDEDGES|Contour,CONTOUR|Edge Detect,EDGEDETECT|Edge Detect Soft,EDGEDETECTSOFT|Emboss,EMBOSS|Mean Removal,MEANREMOVAL|Unsharp,UNSHARP|XSharpen,XSHARPEN|Wrap Sharp,WARPSHARP" + Hint "\tSpecify the resize sharpen filter to use when resizing images." + } +} + +// +// VMT +// +Stage +{ + Name "VMT" + Title "VMT Options" + Type "ParameterList" + + TextBox + { + Name "Parameter" + Param "-param" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tThe parameter consists of a string argument followed by a string or numeric value. Strings should be in double quotes. For example, to make a material translucent, you would type the following: \"$translucent\" 1.\n" + } + + TextBox + { + Name "Parameter" + Param "-param" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tThe parameter consists of a string argument followed by a string or numeric value. Strings should be in double quotes. For example, to make a material translucent, you would type the following: \"$translucent\" 1.\n" + } + + TextBox + { + Name "Parameter" + Param "-param" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tThe parameter consists of a string argument followed by a string or numeric value. Strings should be in double quotes. For example, to make a material translucent, you would type the following: \"$translucent\" 1.\n" + } + + TextBox + { + Name "Parameter" + Param "-param" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tThe parameter consists of a string argument followed by a string or numeric value. Strings should be in double quotes. For example, to make a material translucent, you would type the following: \"$translucent\" 1.\n" + } + + TextBox + { + Name "Parameter" + Param "-param" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tThe parameter consists of a string argument followed by a string or numeric value. Strings should be in double quotes. For example, to make a material translucent, you would type the following: \"$translucent\" 1.\n" + } + + TextBox + { + Name "Parameter" + Param "-param" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tThe parameter consists of a string argument followed by a string or numeric value. Strings should be in double quotes. For example, to make a material translucent, you would type the following: \"$translucent\" 1.\n" + } + + TextBox + { + Name "Parameter" + Param "-param" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tThe parameter consists of a string argument followed by a string or numeric value. Strings should be in double quotes. For example, to make a material translucent, you would type the following: \"$translucent\" 1.\n" + } + + TextBox + { + Name "Parameter" + Param "-param" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tThe parameter consists of a string argument followed by a string or numeric value. Strings should be in double quotes. For example, to make a material translucent, you would type the following: \"$translucent\" 1.\n" + } + + TextBox + { + Name "Parameter" + Param "-param" + Size "2" + Type "String" + Quote "False" + Hint "\tAdd additional material parameters to the created .vmt file.\n\n"_ + "\tThe parameter consists of a string argument followed by a string or numeric value. Strings should be in double quotes. For example, to make a material translucent, you would type the following: \"$translucent\" 1.\n" + } + + TextBox + { + Name "Custom Shader" + Param "-shader" + Size "2" + Type "String" + Hint "\tHave VTFCmd create a .vmt for the new material with the shader specified. Not to be used with the Standard Shader option." + } + + ComboBox + { + Name "Standard Shader" + Param "-shader" + Size "2" + Default "Lightmapped Generic" + Options "Cable,Cable|Decal,Decal|Decal Modulate,DecalModulate|Lightmapped Generic,LightmappedGeneric|Modulate,Modulate|Monitor Screen,MonitorScreen|Predator,Predator|Refract,Refract|Shattered Glass,ShatteredGlass|Sprite,Sprite|Unlit Generic,UnlitGeneric|Vertex Lit Generic,VertexlitGeneric|Water,Water" + Hint "\tHave VTFCmd create a .vmt for the new material with the shader specified. Not to be used with the Custom Shader option." + } +} + +// +// Misc +// +Stage +{ + Name "Misc" + Title "Miscellaneous Options" + Type "ParameterList" + + CheckBox + { + Name "Silent" + Param "-silent" + Hint "\tDon't display any console output." + } + + TextBox + { + Name "Postfix" + Param "-postfix" + Type "String" + Hint "\tOutput file postfix." + } + + TextBox + { + Name "Prefix" + Param "-prefix" + Type "String" + Hint "\tOutput file prefix." + } + + FolderBox + { + Name "Output Folder" + Param "-output" + Hint "\tPut the output texture in the specified folder, otherwise put it in the same folder as the input folder." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Zoners_Tools.bci b/files/batch-compiler-spec/Zoners_Tools.bci new file mode 100644 index 0000000..cc4bbd4 --- /dev/null +++ b/files/batch-compiler-spec/Zoners_Tools.bci @@ -0,0 +1,894 @@ +// Specification: Zoners Tools +// Written by: Ryan Gregg +// Version: 2.5.3 +// Created: August 4, 2004 +// Last updated: August 9, 2004 + +// Updated by: Ryan Gregg +// Date: August 9, 2004 +// Thanks to: Anders Jenbo +// Moved RAD's Sparse and No Visibility Matrix options to a ComboBox. +// Moved RipEnt's Import and Export options to a ComboBox. +// Reorganized options to match Zoners Tools P Series. + +// Updated by: Ryan Gregg +// Date: August 6, 2004 +// Added Zoners Tools Link. + +Include "Templates.bci" + +Variable +{ + Name "WADRoot" + Type "Folder" + Optional "True" + Hint "Wad root directory." +} + +Batch +{ + Name "Zoners Tools" + Priority "2" + Links "Zoners Tools,http://dev.valve-erc.com/index.php?go=zhlt" + Filter "Supported Files|*.map;*.bsp|MAP Files (*.map)|*.map|BSP Files (*.bsp)|*.bsp" + Stages "CSG|BSP|VIS|NetVIS|RAD|RipEnt|Shared" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + "\"${StagePath=CSG}\" ${StageParam=CSG} \"${FilePath}\\${FileName}\"\n"_ + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "\"${StagePath=NetVIS}\" ${StageParam=NetVIS} \"${FilePath}\\${FileName}\"\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} \"${FilePath}\\${FileName}\"\n"_ + "\"${StagePath=RipEnt}\" ${StageParam=RipEnt} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "CSG" + Priority "1" + Stages "CSG|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + "\"${StagePath=CSG}\" ${StageParam=CSG} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "BSP" + Priority "1" + Stages "BSP|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "VIS" + Priority "1" + Stages "VIS|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "NetVIS" + Priority "1" + Stages "NetVIS|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + "\"${StagePath=NetVIS}\" ${StageParam=NetVIS} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "RAD" + Priority "1" + Stages "RAD|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "RipEnt" + Priority "1" + Stages "RipEnt|Shared" + Filter "BSP Files (*.bsp)|*.bsp" + Template "@echo off\n"_ + "\"${StagePath=RipEnt}\" ${StageParam=RipEnt} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + + +// +// CSG +// +Stage +{ + Name "CSG" + Title "Constructive Solid Geometry" + Type "Program" + Filter "HLCSG (hlcsg.exe)|hlcsg.exe" + + CheckBox + { + Name "No Clip" + Param "-noclip" + Stages "BSP" + Hint "\tDon't create clipping hull.\n\n"_ + "\tHalf-life like Quake 1, has 4 hulls, 1 visual hull and 3 collision hulls. This option disables generation of the collision hulls for a small savings in compile time. Note that the world will not be solid at all (everything will fall into the void) with this option set." + } + + CheckBox + { + Name "No Sky Clip" + Param "-noskyclip" + Hint "\tDisable automatic clipping of SKY brushes.\n\n"_ + "\tBy default hlcsg will CLIP all SKY brushes, as well as remove all non-sky faces on the 'inside' of a sky brush (which eases up vis time, and improves some time and memory usage in rad as well)." + } + + CheckBox + { + Name "No WAD Textures" + Param "-nowadtextures" + Hint "\tInclude all used textures into bsp.\n\n"_ + "\tThis option is obsolete by -wadinclude and is only left in to retain some backwards compatibility as it making the bsp unnecessarily big by including textures from the default wad's." + } + + CheckBox + { + Name "Entities Only" + Param "-onlyents" + Hint "\tDo an entity update from .map to .bsp.\n\n"_ + "\tThis option will take the entities from the .map file and update them into the bsp file. For the most part, entities can only be edited. Adding or removing any can reorder the other entities which frequently break brush based entities, especially triggers." + } + + TextBox + { + Name "Brush Union" + Param "-brushunion" + Type "Single" + Default "95.0" + Min "0.0" + Max "100.0" + Hint "\tThreshold to warn about overlapping brushes.\n\n"_ + "\tThis option is a mapper debugging feature. The value passed in is a percentage (0 to 100) of overlap of two brushes before a warning is printed. Starting with a high value (95+) is a good idea, as going too low to start can print hundreds or thousands of messages. The brush numbers of the intersecting brushes and the percentage in which they intersect each other is displayed for each occurrence. This option is off by default as it dramatically slows down hlcsg to do these calculations." + } + + TextBox + { + Name "Tiny" + Param "-tiny" + Type "Single" + Default "0.5" + Min "0.0" + Hint "\tMinimum brush face surface area before it is discarded.\n\n"_ + "\tTiny brush faces are outright removed. The current cut-off is 0.5 square units. It is dangerous to drop faces in this manner, as the BSP tree for the world can be unusable, or generate leaf portal errors or hall-of-mirrors vis errors." + } + + FileBox + { + Name "Hull File" + Param "-hullfile" + FullPath "True" + Filter "Hull Files (*.hull)|*.hull|Text Files (*.txt)|*.txt" + Hint "\tLoad a custom hullfile.\n\n"_ + "\tLoads a custom set of hulls for the collision hull generation. The file is composed of 3 lines of 3 whitespace delimited numbers. Each line is an X Y Z size of the bounding box it is for. Only specific mod authors and their mapping teams should ever worry about this feature." + } + + Space + { + Size "3" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FolderBox + { + Name "WAD Path" + Param "-wadinclude" + Hint "\tPlace textures used by wad files in the folder specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FolderBox + { + Name "WAD Path" + Param "-wadinclude" + Hint "\tPlace textures used by wad files in the folder specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } +} + +// +// BSP +// +Stage +{ + Name "BSP" + Title "Binary Space Partition" + Type "Program" + Filter "HLBSP (hlbsp.exe)|hlbsp.exe" + + CheckBox + { + Name "Leak Only" + Param "-leakonly" + Hint "\tRun BSP only enough to check for leaks.\n\n"_ + "\tIf you already know a map has a leak, this is a good option to just save some time in hlbsp and just generate the pts file." + } + + CheckBox + { + Name "No Fill" + Param "-nofill" + Hint "\tDon't fill outside (will mask leaks) (not for final runs).\n\n"_ + "\tThis step causes filling to not be performed, which will cause all the faces on the outside of the map to not be discarded. It is probably a bad idea to rad a map that has been compiled this way, though vis should run normally." + } + + CheckBox + { + Name "No T-Junction" + Param "-notjunc" + Hint "\tDon't break edges on t-junctions (not for final runs).\n\n"_ + "\tThis is a development/debugging option that should not be set in normal use." + } + + TextBox + { + Name "Max Node Size" + Param "-maxnodesize" + Bold "True" + Type "Single" + Default "1024.0" + Min "64.0" + Max "8192.0" + Hint "\tSets the maximum portal node size.\n\n"_ + "\tThis option tweaks the maximum size of a portal node. Setting it smaller will bsp the world into smaller chunks at the cost of higher r_speeds, but it can pay itself back in many cases with making vis either faster, or more accurate, or both." + } + + TextBox + { + Name "Subdivide" + Param "-subdivide" + Type "Single" + Default "240.0" + Min "64.0" + Max "240.0" + Hint "\tSets the face subdivide size.\n\n"_ + "\tFaces in Half-life are subdivided by this value (in units). Setting this to high might cause bad surface extents when running rad. It should never be set lower then 240 as this just increases the r_speeds." + } + + Space + { + Size "5" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +} + +// +// VIS +// +Stage +{ + Name "VIS" + Title "Visibility Index Set" + Type "Program" + Filter "HLVIS (hlvis.exe)|hlvis.exe" + + ComboBox + { + Name "Vis Type" + Bold "True" + Default "Normal" + Options "Fast,-fast|Normal,|Full,-full" + Hint "\tRun as fast or normal or full VIS.\n"_ + "\tFull vis enables extra calculations during vis, which help reduce the number of vis errors in a map over a normal vis. The speed hit is approximately 30% over a normal vis. r_speeds will generally be the same, though lower in some areas, and higher in others (primarily due to vis errors being fixed).\n\n"_ + "\tFast vis is handy for running around in a developed map without dropping polygons. However, r_speeds will usually be pretty bad, as well as epoly counts. The map can still be lit with hlrad, however its quality and compile time will both suffer as a result. Maps should regularly be compiled without fast vis, as fast vis can mask a sudden increase in normal vis compile time." + } + + Space + { + Size "9" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +} + +// +// NetVIS +// +Stage +{ + Name "NetVIS" + Title "Network Visibility Index Set" + Type "Program" + Filter "NetVIS (netvis.exe)|netvis.exe" + + ComboBox + { + Name "Vis Type" + Bold "True" + Default "Normal" + Options "Normal,|Full,-full" + Hint "\tRun as normal or full VIS.\n"_ + "\tFull vis enables extra calculations during vis, which help reduce the number of vis errors in a map over a normal vis. The speed hit is approximately 30% over a normal vis. r_speeds will generally be the same, though lower in some areas, and higher in others (primarily due to vis errors being fixed)." + } + + CheckBox + { + Name "Server" + Param "-server" + Bold "True" + Hint "\tRun as the NetVIS server." + } + + TextBox + { + Name "Connect" + Param "-connect" + Bold "True" + Type "String" + Hint "\tHosts computer name, domain name, or ip address.\n\n"_ + "\tConnect to a NetVIS server and assist compiling." + } + + TextBox + { + Name "Port" + Param "-port" + Type "Integer" + Default "21212" + Min "0" + Max "65535" + Hint "\tThe socket or port." + } + + TextBox + { + Name "Rate" + Param "-rate" + Type "Integer" + Default "60" + Min "1" + Hint "\tChange the status display update rate. (In seconds.)\n\n"_ + "\tEvery time this interval is hit your console is updated with a progress report listing all the clients and their progress as well as an overall percentage." + } + + Space + { + Size "5" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +} + +// +// RAD +// + +Stage +{ + Name "RAD" + Title "Radiosity" + Type "Program" + Filter "HLRAD (hlrad.exe)|hlrad.exe" + + CheckBox + { + Name "Circus" + Param "-circus" + Hint "\tEnable 'circus' mode for locating unlit lightmaps.\n\n"_ + "\tThis is a debugging option, which will cause all black pixels in any lightmap to be set to a random fullbright color. It only looks at the direct lighting to make this determination, and ignores any bounced radiosity data for making this determination." + } + + CheckBox + { + Name "Dump Light Patches" + Param "-dump" + Hint "\tDumps light patches to a file for hlrad debugging info This is a developer option for zhlt, to dump out the patch data generated by the chopping/subdividing and make sure it looks alright." + } + + /*CheckBox + { + Name "Extra" + Param "-extra" + Bold "True" + Hint "\tTurns on 9 point oversampling for lighting, making it look much better." + }*/ + + CheckBox + { + Name "Incremental" + Param "-incremental" + Hint "\tUse or create an incremental transfer list file.\n\n"_ + "\tThis is a handy option for tweaking lighting, especially on slow or lower memory machines. BuildVisLeafs, MakeScales, and SwapTransfers can be skipped entirely on subsequent runs of hlrad. Note that geometry must not change, but lighting can." + } + + CheckBox + { + Name "No Linear Interpolation" + Param "-nolerp" + Hint "\tDisable three multi-point interpolation for radiosity patch blending, use nearest point sample instead." + } + + /*CheckBox + { + Name "No Visibility Matrix" + Param "-nomatrix" + Hint "\tDisable usage of vismatrix entirely.\n\n"_ + "\tAs the sparse code does some compression, it requires a lot of thread synchronization and does not scale well past 2 CPU's. The -nomatrix switch was added to address this. However, the addition of 'opaque brush entities' starting with ZHLT 2.2 hurts the -nomatrix method's performance quite a bit. There is no vismatrix in this method at all, so it essentially reduces the memory requirements to zero for that structure." + }*/ + + CheckBox + { + Name "No Opaque Entities" + Param "-nopaque" + Bold "True" + Hint "\tDisable all entities using zhlt_lightflags 2 to block light. Using opaque entities slows rad down, and using this option is useful for doing quicker non-final lighting compiles." + } + + CheckBox + { + Name "No Sky Fix" + Param "-noskyfix" + Hint "\tDisable light_environment being global ZHLT 2.1 added a simpler more manageable system for light_environments. The new behavior is that a map only needs a single light_environment entity to light up all sky everywhere. The placement of the entity no longer matters. The -noskyfix option turns this feature off and enables the original code which requires multiple light_environments to properly light up an outdoor area." + } + + CheckBox + { + Name "No Texture Scale" + Param "-notexscale" + Hint "\tDo not scale radiosity patches with texture scale.\n\n"_ + "\tBy default, hlrad will take the texture scale and apply it to the chopping grid which is projected onto it. This option turns that off, and almost always increases the number of patches in a map as most maps have many walls scaled up to 2 and 3." + } + + CheckBox + { + Name "Sparse" + Param "-sparse" + Bold "True" + Hint "\tEnable low memory vismatrix algorithm.\n\n"_ + "\tThe original vismatrix algorithm was limited to 65535 patches due to its design. Its memory usage also grew exponentially with the number of patches (patches * patches / 16 bytes). This option enables a compressed vismatrix, which at the cost of extra CPU time, breaks the 65535 limit, and also uses about 10% of the memory the vismatrix would." + } + + TextBox + { + Name "Bounce" + Param "-bounce" + Bold "True" + Type "Integer" + Default "1" + Min "0" + Hint "\tSet number of radiosity bounces.\n\n"_ + "\tThis option sets the number of times light bounces in the radiosity pass. By the time the code gets to this point, all the data is precomputed, and extra bounces are very fast. It will make the shadows less harsh using more bounces, but can help light up dark areas much more naturally." + } + + TextBox + { + Name "Chop" + Param "-chop" + Type "Single" + Default "64.0" + Min "1.0" + Hint "\tSet radiosity patch size for normal textures.\n\n"_ + "\tEach face in the world has a grid projected onto it, and chopped up into a rather coarse set of sample points. These points are patches, and are what hlrad uses to do the bounced lighting calculations. A higher chop sacrifices quality for both speed and memory consumption of hlrad. A lower chop increases the quality at the expense of speed and memory usage." + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } + + TextBox + { + Name "Coring" + Param "-coring" + Type "Single" + Default "1.0" + Min "0.0" + Hint "\tSet lighting threshold before blackness.\n\n"_ + "\tThis value controls how much light it takes before a surface will be lit with a non-black value." + } + + TextBox + { + Name "Direct Light" + Param "-dlight" + Type "Single" + Default "25.0" + Min "0.0" + Hint "\tSet direct lighting threshold.\n\n"_ + "\tThis option is similar to -maxlight, except that it re-normalizes the direct lighting values instead of clipping them if they are too high." + } + + TextBox + { + Name "Direct Scale" + Param "-dscale" + Bold "True" + Type "Single" + Default "2.0" + Min "0.0" + Hint "\tSet direct lighting scale.\n\n"_ + "\tDue to a bug in the original version of qrad, the direct lighting layer was added into the final lighting twice. The correct thing to do is only have it in there once, but at the time too many maps had been created with this assumption and it was left in there. This has been corrected as a command line switch, to scale the direct lighting by.\n\n"_ + "\tUsing the value of '1' would generate the most correct looking maps. Using a value of '0' will remove the direct lighting completely. Using larger values, like '3' or '4', cause extremely harsh direct lighting relation to shadows." + } + + TextBox + { + Name "Fade" + Param "-fade" + Type "Single" + Default "1.0" + Min "0.0" + Hint "\tSet global fade (larger values shorter lights).\n\n"_ + "\tThis value adds in an artificial factor into the normal (1 / dist * dist) inverse square falloff calculations, by multiplying the denominator of the scale by the fade value. Point lights can set their own individual fade and falloff values, which override any global setting on the command line. These calculations only affect the direct lighting layer, as the radiosity pass always uses plain inverse square falloff." + } + + TextBox + { + Name "Gamma" + Param "-gamma" + Type "Single" + Default "0.5" + Min "0.0" + Hint "\tSet global gamma value.\n\n"_ + "\tThis option also occurs after the direct and radiosity layers are added together, and a global gamma correction is calculated and applied to the lighting before it is finalized." + } + + TextBox + { + Name "Max Light" + Param "-maxlight" + Type "Integer" + Default "255" + Min "0" + Hint "\tSet maximum light intensity value.\n\n"_ + "\tThis option can be used to cap the bright spots, if you want a map to come out darker overall." + } + + TextBox + { + Name "Scale" + Param "-scale" + Type "Single" + Default "1.0" + Min "0.0" + Hint "\tSet global light scaling value.\n\n"_ + "\tThis option scales the final light values right after the direct lighting layer is added to the radiosity bounced lighting layer. Low values make the world darker, higher values make it brighter." + } + + TextBox + { + Name "Sky" + Param "-sky" + Type "Single" + Default "0.5" + Min "0.0" + Hint "\tSet ambient sunlight contribution in the shade outside.\n\n"_ + "\tMany faces have line of sight to sky, but fall in the shadow of some other object. This option affects how much of the normal sky lighting is put into the shadows." + } + + TextBox + { + Name "Smooth" + Param "-smooth" + Bold "True" + Type "Single" + Default "50.0" + Min "0.0" + Max "180.0" + Hint "\tSet smoothing threshold for blending (in degrees).\n\n"_ + "\tBy default hlrad uses Phong shading on all faces. If the angle between two edges is less than this value, it will be shaded with the Phong smoothing code, otherwise it won't." + } + + TextBox + { + Name "Texture Chop" + Param "-texchop" + Type "Single" + Default "32.0" + Min "1.0" + Hint "\tSet radiosity patch size for texture light faces.\n\n"_ + "\tTexture light faces are chopped with a different granularity than the normal faces, primarily so that the lighting looks good. Generally it should be half of the chop value. Adding -extra to hlrad will automatically divide this value by 2 at runtime." + } + + Space + { + Size "1" + } + + ComboBox + { + Name "Fall Off Mode" + Param "-falloff" + Default "Inverse Square" + Options "Inverse Linear,1|Inverse Square,2" + Hint "\tSet global falloff mode.\n\n"_ + "\tThis option can change the normal inverse square falloff of lighting in the direct lighting layer with inverse falloff." + } + + ComboBox + { + Name "VIS Matrix" + Bold "True" + Default "Legacy" + Options "Legacy,|Sparse,-sparse|Disable,-nomatrix" + Hint "\tThe original vismatrix algorithm was limited to 65535 patches due to its design. Its memory usage also grew exponentially with the number of patches (patches * patches / 16 bytes).\n\n"_ + "\tSparse enables a compressed vismatrix, which at the cost of extra CPU time, breaks the 65535 limit, and also uses about 10% of the memory the original vismatrix would, but as it does some compression, it requires a lot of thread synchronization and does not scale well past 2 CPU's.\n\n"_ + "\tDisabling the Vis matrix essentially reduces the memory requirements to zero for that structure. However, the addition of \"opaque brush entities\" starting with ZHLT 2.2 hurts this method's performance quite a bit." + } + + ColorBox + { + Name "Ambient Light" + Param "-ambient" + Type "Single" + Default "0 0 0" + Hint "\tSet ambient world light.\n\n"_ + "\tThis option sets a minimum light value to every face so that nothing comes out pitch black." + } + + FileBox + { + Name "Lights File" + Param "-lights" + FullPath "True" + Bold "True" + Filter "Radiosity Files (*.rad)|*.rad|Text Files (*.txt)|*.txt" + Hint "\tManually specify a lights.rad file to use.\n\n"_ + "\tThe .rad file will be used in addition to the defaults of lights.rad and mapname.rad." + } +} + +// +// RipEnt +// +Stage +{ + Name "RipEnt" + Title "Rip Entities" + Type "Program" + Filter "RipEnts (ripent.exe)|ripent.exe" + + ComboBox + { + Name "Operation" + Checked "True" + Default "Export" + Options "Import,-import|Export,-export" + Hint "\tImport an entity list into a BSP or export an entity list from a BSP.\n\n"_ + "\tAn entity list is a mapname.ent file which lists all the entities in the BSP in MAP format which you can edit in a text editor." + } + + Space + { + Size "9" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +} + +// +// Shared +// +Stage +{ + Name "Shared" + Title "Shared Parameters" + Type "ParameterList" + + CheckBox + { + Name "Chart" + param "-chart" + Bold "True" + Stages "CSG|BSP|VIS|NetVIS|RAD" + Hint "\tDisplay BSP statistics.\n\n"_ + "\tThis option will cause the program to print out the bsp statistics right before it writes out the bsp. It is most handy to do -chart with hlrad and hlvis at the end of the compiles. The ripent program will always displays the chart." + } + + CheckBox + { + Name "Estimate" + param "-estimate" + Bold "True" + Stages "CSG|BSP|VIS|NetVIS|RAD" + Hint "\tDisplay estimated time during compile.\n\n"_ + "\tThis option replaces the 10...20... style progress indicators with a estimate bar with some estimated completion times, as well as the exact number of the current job and how many jobs there are to do. The three different times remaining factor in varying amounts of historical data to guess how much longer it will take to run. It is good for a ballpark figure, but frequently not much more accurate than that." + } + + CheckBox + { + Name "No Info" + param "-noinfo" + Bold "True" + Stages "CSG|BSP|VIS|NetVIS|RAD" + Hint "\tDo not show tool configuration information.\n\n"_ + "\tBy default every tool shows its current settings and their default. This sometimes causes problems with other programs and is unnecessary as it already can be seen in the command line." + } + + CheckBox + { + Name "No Log" + param "-nolog" + Stages "CSG|BSP|VIS|NetVIS|RAD" + Hint "\tDon't generate the compile logfiles.\n\n"_ + "\tThis option just disables the generation of the .log and .err files which are normally generated whenever the compile tools run." + } + + CheckBox + { + Name "Verbose" + param "-verbose" + Stages "CSG|BSP|VIS|NetVIS|RAD"//, Opt_EntData" + Hint "\tCompile with verbose messages.\n\n"_ + "\tMany of the tools have 'minor warnings' and informative messages which are displayed when verbose mode is set. As the ZHLT 2.x series develops, many of the developer specific settings are being moved to developer messages, while the mapper related messages will remain as verbose messages." + } + + TextBox + { + Name "Texture Data" + Param "-texdata" + Bold "True" + Stages "CSG|BSP|VIS|NetVIS|RAD|RipEnt" + Type "Integer" + Default "4096" + Min "2048" + Hint "\tAlter maximum texture memory limit (in kb).\n\n"_ + "\tHalflife was built with a 2Mb texture limit, as was Opposing Force. The ZHLT default limit is 4Mb. Even 4Mb can be a bit much, when combined with model textures, skies, hud graphics, and more. This is especially true of people with older cards (Voodoo 1 and 2's, etc)." + } + + TextBox + { + Name "Threads" + Param "-threads" + Stages "CSG|BSP|VIS|NetVIS|RAD" + Type "Integer" + Default "1" + Min "1" + Hint "\tManually specify the number of threads to run.\n\n"_ + "\tThis option is generally only necessary on the non-windows versions of the tools, where there is not a standard way to detect the number of processors in the system and auto-set the value. It can be manually set on windows machines, primarily if you wish to use fewer threads than processors." + } + + ComboBox + { + Name "Developer" + Param "-dev" + Stages "CSG|BSP|VIS|NetVIS|RAD" + Default "Error" + Options "Off,0|Error,1|Warning,2|Info,3|Fluff,4|Spam,5|MegaSpam,6" + Hint "\tCompile with developer messages.\n\n"_ + "\tInternal ZHLT debugging messages have been slowly added to the tools. This variable sets the 'level' to display. In order (starting with 0 and going up) : Off, Error, Warning, Info, Fluff, Spam, MegaSpam. Generally this option should never be used except at request, to diagnose a compile problem on an end-users machine." + } + + ComboBox + { + Name "Priority" + Stages "CSG|BSP|VIS|NetVIS|RAD" + Default "Normal" + Options "Low,-low|Normal,|High,-high" + Hint "\tRun program an altered priority level.\n\n"_ + "\tSetting the priority of the compile tools to -low is very handy, as you can multitask and do other things without really feeling the drain of the compile programs on the system, provided there is enough memory for the tools and the other programs you use." + } +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Zoners_Tools_Advanced.bcs b/files/batch-compiler-spec/Zoners_Tools_Advanced.bcs new file mode 100644 index 0000000..18d2e77 --- /dev/null +++ b/files/batch-compiler-spec/Zoners_Tools_Advanced.bcs @@ -0,0 +1,83 @@ +// Specification: Zoners Tools Advanced +// Written by: Ryan Gregg +// Version: N/A +// Created: August 4, 2004 +// Last updated: Febuary 25, 2005 + +// Updated by: Ryan Gregg +// Date: Febuary 25, 2005 +// Updated ZHLT link. + +// Updated by: Ryan Gregg +// Date: September 13, 2004 +// Improved game execution. + +// Updated by: Ryan Gregg +// Date: August 10, 2004 +// Fixed Opt_EntData's command line. + +// Updated by: Ryan Gregg +// Date: August 9, 2004 +// Added Opt_EntData stage. + +Include "HLFix.bci" +Include "Backup.bci" +Include "Zoners Tools P Series.bci" +Include "Opt_EntData.bci" +Include "RESGen.bci" +Include "Batch.bci" +Include "Half-Life.bci" +Include "Steam.bci" +Include "Templates.bci" + +Batch +{ + Name "Zoners Tools Advanced" + Priority "3" + Links "HLFix,http://extension.ws/hlfix/|"_ + "Backup,http://collective.valve-erc.com/index.php?go=mapbackup|"_ + "Zoners Tools,http://www.zhlt.info/|"_ + "Opt_EntData,http://www.chatbear.com/board.plm?a=viewthread&t=52%2c1080647136%2c18491&id=634830&b=590&v=flatold&s=0|"_ + "RESGen,http://www.unitedadmins.com/resgen.php|"_ + "Steam,http://www.steampowered.com/|"_ + "Valve,http://www.valvesoftware.com/" + Filter "Supported Files|*.map;*.rmf;*.bsp|MAP Files (*.map)|*.map|RMF Files (*.rmf)|*.rmf|BSP Files (*.bsp)|*.bsp" + Stages "HLFix|Backup|CSG|BSP|VIS|RAD|RAD2|RipEnt|Shared|Opt_EntData|RESGen|Batch|HL|Steam" + LogFile "${FilePath}\\${FileName}.log" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + + "${Splash}"_ + + "\"${StagePath=HLFix}\" ${StageParam=HLFix} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=Backup}\" ${StageParam=Backup} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=CSG}\" ${StageParam=CSG} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} ${StageParam=RAD2} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=RipEnt}\" ${StageParam=RipEnt} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=Opt_EntData}\" \"${FilePath}\\${FileName}\" ${StageParam=Opt_EntData}\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=RESGen}\" -k ${StageParam=RESGen} -f \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + + "${StageCmd=Batch}\n"_ + "\"${StagePath=hl}\" ${StageParam=hl}\n"_ + "\"${StagePath=Steam}\" ${StageParam=Steam}\n"_ + "goto succeeded\n"_ + + ":failed\n"_ + "echo.\n"_ + "echo There was a problem compiling your map, check your ${FileName}.log file for errors.\n"_ + ":succeeded\n"_ + "echo.\n"_ + + "${LogViewerRun}\n" +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Zoners_Tools_Legacy.bcs b/files/batch-compiler-spec/Zoners_Tools_Legacy.bcs new file mode 100644 index 0000000..9f1a0e2 --- /dev/null +++ b/files/batch-compiler-spec/Zoners_Tools_Legacy.bcs @@ -0,0 +1,67 @@ +// Specification: Zoners Tools Legacy +// Written by: Ryan Gregg +// Version: N/A +// Created: August 4, 2004 +// Last updated: September 13, 2004 + +// Updated by: Ryan Gregg +// Date: September 13, 2004 +// Improved game execution. + +// Updated by: Ryan Gregg +// Date: August 6, 2004 +// Added Zoners Tools Link. +// Added Mapster Link. +// Added Mapster Support. + +Include "Zoners Tools.bci" +Include "Mapster.bci" +Include "Batch.bci" +Include "Half-Life.bci" +Include "Steam.bci" +Include "Templates.bci" + +Batch +{ + Name "Zoners Tools Legacy" + Priority "3" + Links "Zoners Tools,http://dev.valve-erc.com/index.php?go=zhlt|"_ + "Mapster,http://countermap.counter-strike.net/Mapster/|"_ + "Steam,http://www.steampowered.com/|"_ + "Valve,http://www.valvesoftware.com/" + Filter "Supported Files|*.map;*.bsp|MAP Files (*.map)|*.map|BSP Files (*.bsp)|*.bsp" + Stages "CSG|BSP|VIS|NetVIS|Mapster|RAD|RipEnt|Shared|Batch|HL|Steam" + LogFile "${FilePath}\\${FileName}.log" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + + "${Splash}"_ + + "\"${StagePath=CSG}\" ${StageParam=CSG} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=NetVIS}\" ${StageParam=NetVIS} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=Mapster}\" ${StageParam=Mapster} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=RipEnt}\" ${StageParam=RipEnt} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + + "${StageCmd=Batch}\n"_ + "\"${StagePath=hl}\" ${StageParam=hl}\n"_ + "\"${StagePath=Steam}\" ${StageParam=Steam}\n"_ + "goto succeeded\n"_ + + ":failed\n"_ + "echo.\n"_ + "echo There was a problem compiling your map, check your ${FileName}.log file for errors.\n"_ + ":succeeded\n"_ + "echo.\n"_ + + "${LogViewerRun}\n" +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Zoners_Tools_Normal.bcs b/files/batch-compiler-spec/Zoners_Tools_Normal.bcs new file mode 100644 index 0000000..81fae50 --- /dev/null +++ b/files/batch-compiler-spec/Zoners_Tools_Normal.bcs @@ -0,0 +1,64 @@ +// Specification: Zoners Tools Normal +// Written by: Ryan Gregg +// Version: N/A +// Created: August 4, 2004 +// Last updated: September 13, 2005 + +// Updated by: Ryan Gregg +// Date: Febuary 25, 2005 +// Updated ZHLT link. + +// Updated by: Ryan Gregg +// Date: September 13, 2004 +// Improved game execution. + +// Updated by: Ryan Gregg +// Date: August 9, 2004 +// Thanks to: Anders Jenbo +// Removed .RMF file from input file filter. + +Include "Zoners Tools P Series.bci" +Include "Batch.bci" +Include "Half-Life.bci" +Include "Steam.bci" +Include "Templates.bci" + +Batch +{ + Name "Zoners Tools Normal" + Priority "3" + Links "Zoners Tools,http://www.zhlt.info/|"_ + "Steam,http://www.steampowered.com/|"_ + "Valve,http://www.valvesoftware.com/" + Filter "Supported Files|*.map;*.bsp|MAP Files (*.map)|*.map|BSP Files (*.bsp)|*.bsp" + Stages "CSG|BSP|VIS|RAD|RAD2|RipEnt|Shared|Batch|HL|Steam" + LogFile "${FilePath}\\${FileName}.log" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + + "${Splash}"_ + + "\"${StagePath=CSG}\" ${StageParam=CSG} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} ${StageParam=RAD2} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + "\"${StagePath=RipEnt}\" ${StageParam=RipEnt} \"${FilePath}\\${FileName}\"\n"_ + "if ERRORLEVEL 1 goto failed\n"_ + + "${StageCmd=Batch}\n"_ + "\"${StagePath=hl}\" ${StageParam=hl}\n"_ + "\"${StagePath=Steam}\" ${StageParam=Steam}\n"_ + "goto succeeded\n"_ + + ":failed\n"_ + "echo.\n"_ + "echo There was a problem compiling your map, check your ${FileName}.log file for errors.\n"_ + ":succeeded\n"_ + "echo.\n"_ + + "${LogViewerRun}\n" +}
\ No newline at end of file diff --git a/files/batch-compiler-spec/Zoners_Tools_P_Series.bci b/files/batch-compiler-spec/Zoners_Tools_P_Series.bci new file mode 100644 index 0000000..866ba90 --- /dev/null +++ b/files/batch-compiler-spec/Zoners_Tools_P_Series.bci @@ -0,0 +1,1027 @@ +// Specification: Zoners Tools P Series (now v3 and up). +// Written by: Ryan Gregg +// Version: 3.2.1 +// Created: August 4, 2004 +// Last updated: Febuary 25, 2005 + +// Updated by: Ryan Gregg +// Date: Febuary 25, 2004 +// Updated RipEnt options. +// Updated ZHLT link. + +// Updated by: Ryan Gregg +// Date: October 26, 2004 +// Added RipEnt to Light Data's shared stages. + +// Updated by: Ryan Gregg +// Date: October 24, 2004 +// Fixed Null File option filter. + +// Updated by: Ryan Gregg +// Date: August 9, 2004 +// Thanks to: Anders Jenbo +// Moved RipEnt's Import and Export options to a ComboBox. +// CSG's No Null Tex option now shared with BSP. +// RAD2's Jitter and Jitter Color options changed to Integer format. +// Renamed RAD's Custom Shadow option to Custom Shadows. +// Renamed RAD's RGB Transfers option to Color Custom Shadows. +// Updated RAD's Custom Shadows option's hint. + +Include "Templates.bci" + +Variable +{ + Name "WADRoot" + Type "Folder" + Optional "True" + Hint "Wad root directory." +} + +Batch +{ + Name "Zoners Tools P Series" + Priority "2" + Links "Zoners Tools,http://www.zhlt.info/" + Filter "Supported Files|*.map;*.bsp|MAP Files (*.map)|*.map|BSP Files (*.bsp)|*.bsp" + Stages "CSG|BSP|VIS|RAD|RAD2|RipEnt|Shared" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + "\"${StagePath=CSG}\" ${StageParam=CSG} \"${FilePath}\\${FileName}\"\n"_ + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} ${StageParam=RAD2} \"${FilePath}\\${FileName}\"\n"_ + "\"${StagePath=RipEnt}\" ${StageParam=RipEnt} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "CSG" + Priority "1" + Stages "CSG|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + "\"${StagePath=CSG}\" ${StageParam=CSG} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "BSP" + Priority "1" + Stages "BSP|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "VIS" + Priority "1" + Stages "VIS|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "RAD" + Priority "1" + Stages "RAD|RAD2|Shared" + Filter "Map Files (*.map)|*.map" + Template "@echo off\n"_ + "set WADROOT=${WADRoot}\n"_ + "\"${StagePath=RAD}\" ${StageParam=RAD} ${StageParam=RAD2} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + +Batch +{ + Name "RipEnt" + Priority "1" + Stages "RipEnt|Shared" + Filter "BSP Files (*.bsp)|*.bsp" + Template "@echo off\n"_ + "\"${StagePath=RipEnt}\" ${StageParam=RipEnt} \"${FilePath}\\${FileName}\"\n"_ + "${LogViewerRun}\n" +} + + +// +// CSG +// +Stage +{ + Name "CSG" + Title "Constructive Solid Geometry" + Type "Program" + Filter "HLCSG (hlcsg.exe)|hlcsg.exe" + + CheckBox + { + Name "No Clip" + Param "-noclip" + Stages "BSP" + Hint "\tDon't create clipping hull.\n\n"_ + "\tHalf-life like Quake 1, has 4 hulls, 1 visual hull and 3 collision hulls. This option disables generation of the collision hulls for a small savings in compile time. Note that the world will not be solid at all (everything will fall into the void) with this option set." + } + + CheckBox + { + Name "No Clip Economy" + Param "-noclipeconomy" + Hint "\tDisables redundant clipnode stripping.\n\n"_ + "\tClipnodes are \"planes\" that restrict the player movement. They are placed along the walls and floors of your level, so that they player cannot pass though them. However, like everything else in the Half-Life universe, they are limited, and will max out with compile errors if you end up using too many of them.\n\n"_ + "\tCSG will analyse how the clipnodes are being used in your map. If it thinks that it can get away with not using clipnodes in any particular situation (such as in func_illusionaries which don't need clipnodes), then hlcsg will strip them away from the level. This means that by default, your clipnode counts will be lower than normal. This doesn't mean that you will never see another MAX_MAP_CLIPNODES error, it just means it's less likely to happen in the first place.\n\n"_ + "\tUse this switch to turn off clipnode economy mode if you believe that it is causing problems." + } + + CheckBox + { + Name "No Null Tex" + Param "-nonulltex" + Stages "BSP" + Hint "\tDisables NULL texture stripping." + } + + CheckBox + { + Name "No Sky Clip" + Param "-noskyclip" + Hint "\tDisable automatic clipping of SKY brushes.\n\n"_ + "\tBy default CSG will CLIP all SKY brushes, as well as remove all non-sky faces on the 'inside' of a sky brush (which eases up vis time, and improves some time and memory usage in rad as well)." + } + + CheckBox + { + Name "No WAD Textures" + Param "-nowadtextures" + Bold "True" + Hint "\tInclude all used textures into bsp.\n\n"_ + "\tThis option is obsolete by -wadinclude and is only left in to retain some backwards compatibility as it making the bsp unnecessarily big by including textures from the default wad's." + } + + CheckBox + { + Name "Entities Only" + Param "-onlyents" + Bold "True" + Hint "\tDo an entity update from .map to .bsp.\n\n"_ + "\tThis option will take the entities from the .map file and update them into the bsp file. For the most part, entities can only be edited. Adding or removing any can reorder the other entities which frequently break brush based entities, especially triggers." + } + + CheckBox + { + Name "WAD Auto Detect" + Param "-wadautodetect" + Bold "True" + Hint "\tEnable automatic wad detection.\n\n"_ + "\tAutomatic wad detection is a simple utility that will exclude any wadfiles from the bsp that aren't in use by the map. This enables you to add any assortment of wadfiles you wish, and yet only have those that are actually used by the map included in the .bsp file." + } + + Space + { + Size "3" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } + + TextBox + { + Name "Brush Union" + Param "-brushunion" + Type "Single" + Default "95.0" + Min "0.0" + Max "100.0" + Hint "\tThreshold to warn about overlapping brushes.\n\n"_ + "\tThis option is a mapper debugging feature. The value passed in is a percentage (0 to 100) of overlap of two brushes before a warning is printed. Starting with a high value (95+) is a good idea, as going too low to start can print hundreds or thousands of messages. The brush numbers of the intersecting brushes and the percentage in which they intersect each other is displayed for each occurrence. This option is off by default as it dramatically slows down hlcsg to do these calculations." + } + + TextBox + { + Name "Tiny" + Param "-tiny" + Type "Single" + Default "0.5" + Min "0.0" + Hint "\tMinimum brush face surface area before it is discarded.\n\n"_ + "\tTiny brush faces are outright removed. The current cut-off is 0.5 square units. It is dangerous to drop faces in this manner, as the BSP tree for the world can be unusable, or generate leaf portal errors or hall-of-mirrors vis errors." + } + + TextBox + { + Name "WAD Config" + Param "-wadconfig" + Type "String" + Default "wad.cfg" + Hint "\tUse a custom wad configuration in the wad.cfg custom wad configuration file.\n\n"_ + "\tCustom wad configurations are used to enable you to choose which .wad files you want written into the the .bsp file, regardless of what happens to be in your editor, for any given game configuration. So, now, hlcsg will ignore the wads that you have configured in your editor, and instead only write in the ones you specify." + } + + ComboBox + { + Name "Clip Type" + Param "-cliptype" + Bold "True" + Default "Legacy" + Options "Legacy|Normalized|Simple|Smallest|Precise" + Hint "\tSelect the clip hull generation method. Choices are smallest, normalized, simple, precise or legacy (default).\n"_ + "\tThe ExpandBrush function of CSG has been reworked to fix 2 bad assumptions that led to \"sticky\" exterior corners in Half-Life maps.\n\n"_ + "\tTo use the new clip hull feature, use \"-cliptype precise\". If you want to same some clipnodes, you can use \"-cliptype simple\" which will shift player models a few units upward on sloped floors. If you want to use the new CSG for the speed improvement but want the old style clipping, use \"-cliptype legacy\". If you want to have the smallest possible number of clipnodes and don't mind some stickyness (not recommended), use \"-cliptype smallest\". \"-cliptype normalized\" uses bugfix 1 and skips bugfix 2 for people who don't want denormalized brushes." + } + + FileBox + { + Name "Hull File" + Param "-hullfile" + FullPath "True" + Filter "Hull Files (*.hull)|*.hull|Text Files (*.txt)|*.txt" + Hint "\tLoad a custom hullfile.\n\n"_ + "\tLoads a custom set of hulls for the collision hull generation. The file is composed of 3 lines of 3 whitespace delimited numbers. Each line is an X Y Z size of the bounding box it is for. Only specific mod authors and their mapping teams should ever worry about this feature." + } + + FileBox + { + Name "Null File" + Param "-nullfile" + FullPath "True" + Filter "Null Files (*.null)|*.null|Text Files (*.txt)|*.txt" + Hint "\tSpecify a file containing a list of entities to retexture with the NULL texture." + } + + FolderBox + { + Name "WAD Config Path" + Param "-wadcfgfile" + Hint "\tManually specifies the path to the wad.cfg file. By default, the tools will look in the same directory and the Half-Life directory." + } + + Space + { + Size "3" + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } + + FileBox + { + Name "WAD File" + Param "-wadinclude" + FullPath "False" + Filter "WAD Files (*.wad)|*.wad" + Hint "\tPlace textures used by the wad file specified into the bsp.\n\n"_ + "\tThis option will cause csg to include used textures from the named wadfile into the bsp. It does partial name matching, is not case sensitive, and can also match directory names. If multiple includes need to be done, -wadinclude must be specified multiple times, once for each include. Only textures actually used in the map are included into the bsp." + } +} + +// +// BSP +// +Stage +{ + Name "BSP" + Title "Binary Space Partition" + Type "Program" + Filter "HLBSP (hlbsp.exe)|hlbsp.exe" + + CheckBox + { + Name "Leak Only" + Param "-leakonly" + Hint "\tRun BSP only enough to check for leaks.\n\n"_ + "\tIf you already know a map has a leak, this is a good option to just save some time in hlbsp and just generate the pts file." + } + + CheckBox + { + Name "No Optimization " + Param "-noopt" + Hint "\tSkip plane optimization on output.\n\n"_ + "\tHLBSP version p14 and later automatically removes unused planes when writing the output BSP. This switch turns off that behavior." + } + + CheckBox + { + Name "No Fill" + Param "-nofill" + Hint "\tDon't fill outside (will mask LEAKs and is not for final runs).\n\n"_ + "\tThis step causes filling to not be performed, which will cause all the faces on the outside of the map to not be discarded. It is probably a bad idea to rad a map that has been compiled this way, though vis should run normally." + } + + CheckBox + { + Name "No T-Junction" + Param "-notjunc" + Hint "\tDon't break edges on t-junctions (not for final runs).\n\n"_ + "\tThis is a development/debugging option that should not be set in normal use." + } + + TextBox + { + Name "Max Node Size" + Param "-maxnodesize" + Bold "True" + Type "Single" + Default "1024.0" + Min "64.0" + Max "8192.0" + Hint "\tSets the maximum portal node size.\n\n"_ + "\tThis option tweaks the maximum size of a portal node. Setting it smaller will bsp the world into smaller chunks at the cost of higher r_speeds, but it can pay itself back in many cases with making vis either faster, or more accurate, or both." + } + + TextBox + { + Name "Subdivide" + Param "-subdivide" + Type "Single" + Default "240.0" + Min "64.0" + Max "512.0" + Hint "\tSets the face subdivide size.\n\n"_ + "\tFaces in Half-life are subdivided by this value (in units). Setting this to high might cause bad surface extents when running rad. It should never be set lower then 240 as this just increases the r_speeds." + } + + Space + { + Size "4" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +} + +// +// VIS +// +Stage +{ + Name "VIS" + Title "Visibility Index Set" + Type "Program" + Filter "HLVIS (hlvis.exe)|hlvis.exe" + + TextBox + { + Name "Max Distance" + Param "-maxdistance" + Bold "True" + Type "Integer" + Default "0" + Min "0" + Hint "\tSet the maximum visibility distance in units. Maximum Distance Visibility (MDV) is a feature that prevents leafs beyond a certain distance from being rendered (or even sent to the renderer at all). In conjunction with fog, it can become the ultimate catalyst when building and compiling large maps, especially those with open areas. However, due to the nature of the calculations, not all leaves beyond a certain distance are guaranteed to be prevented from being rendered; but those that are within the maximum distance are guaranteed to be rendered.\n\n"_ + "\tThere is a small side effect when using the Maximum Distance feature, because hlrad relies heavily on the visibility matrix to speed up lighting operations. As such, a normal rad of the map will result in ackward, \"cut off\" lighting. This means that a special version of hlrad is required (all compile tools in this series since MHLT 1.6), which accomodates for the MDV lighting problem. When you use this parameter, an extra file named <mapname>.vdt that contains the real visibility matrix (i.e without any MDV performed) will be created, which will be used to correctly light the map." + } + + ComboBox + { + Name "Vis Type" + Bold "True" + Default "Normal" + Options "Fast,-fast|Normal,|Full,-full" + Hint "\tRun as fast or normal or full VIS.\n\n"_ + "\tFull vis enables extra calculations during vis, which help reduce the number of vis errors in a map over a normal vis. The speed hit is approximately 30% over a normal vis. r_speeds will generally be the same, though lower in some areas, and higher in others (primarily due to vis errors being fixed).\n\n"_ + "\tFast vis is handy for running around in a developed map without dropping polygons. However, r_speeds will usually be pretty bad, as well as epoly counts. The map can still be lit with hlrad, however its quality and compile time will both suffer as a result. Maps should regularly be compiled without fast vis, as fast vis can mask a sudden increase in normal vis compile time." + } + + Space + { + Size "8" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +} + +// +// RAD +// +Stage +{ + Name "RAD" + Title "Radiosity" + Type "Program" + Filter "HLRAD (hlrad.exe)|hlrad.exe" + + CheckBox + { + Name "Circus" + Param "-circus" + Hint "\tEnable 'circus' mode for locating unlit lightmaps.\n\n"_ + "\tThis is a debugging option, which will cause all black pixels in any lightmap to be set to a random fullbright color. It only looks at the direct lighting to make this determination, and ignores any bounced radiosity data for making this determination." + } + + CheckBox + { + Name "Custom Shadows" + Param "-customshadowwithbounce" + Bold "True" + Hint "\tEnable custom shadows for bounced light.\n\n"_ + "\tBy default, the zhlt_customshadow flag does not affect bounced light. Using this switch will enable custom shadows for bounced light, however, this will only work with greyscale custom shadows" + } + + CheckBox + { + Name "Color Custom Shadows" + Param "-rgbtransfers" + Hint "\tEnables RGB transfers (for custom shadows). Requires -customshadowwithbounce switch." + } + + CheckBox + { + Name "Dump Light Patches" + Param "-dump" + Hint "\tDumps light patches to a file for hlrad debugging info This is a developer option for zhlt, to dump out the patch data generated by the chopping/subdividing and make sure it looks alright." + } + + CheckBox + { + Name "Extra" + Param "-extra" + Bold "True" + Hint "\tTurns on 9 point oversampling for lighting, making it look much better." + } + + CheckBox + { + Name "Incremental" + Param "-incremental" + Hint "\tUse or create an incremental transfer list file.\n\n"_ + "\tThis is a handy option for tweaking lighting, especially on slow or lower memory machines. BuildVisLeafs, MakeScales, and SwapTransfers can be skipped entirely on subsequent runs of hlrad. Note that geometry must not change, but lighting can." + } + + CheckBox + { + Name "No Diffuse" + Param "-nodiffuse" + Hint "\tDisables light_environment diffuse hack." + } + + CheckBox + { + Name "No Dyn Bounce" + Param "-nodynbounce" + Bold "True" + Hint "\tTurn off bounces for dyanmic lights (overrides -bounce).\n\n"_ + "\tPrior to ZHLT 1.7, only the static light type (constant brightness, no switching) was used in bounce calculations. This switch activates that older behavior. Benefits include smaller lightdata sizes and a lower probability of a \"too many lightstyles\" error." + } + + CheckBox + { + Name "No Linear Interpolation" + Param "-nolerp" + Hint "\tDisable three multi-point interpolation for radiosity patch blending, use nearest point sample instead." + } + + /*CheckBox + { + Name "No Visibility Matrix" + Param "-nomatrix" + Hint "\tDisable usage of vismatrix entirely.\n\n"_ + "\tAs the sparse code does some compression, it requires a lot of thread synchronization and does not scale well past 2 CPU's. The -nomatrix switch was added to address this. However, the addition of 'opaque brush entities' starting with ZHLT 2.2 hurts the -nomatrix method's performance quite a bit. There is no vismatrix in this method at all, so it essentially reduces the memory requirements to zero for that structure." + }*/ + + CheckBox + { + Name "No Opaque Entities" + Param "-nopaque" + Bold "True" + Hint "\tDisable all entities using zhlt_lightflags 2 to block light. Using opaque entities slows rad down, and using this option is useful for doing quicker non-final lighting compiles." + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } + + CheckBox + { + Name "No Sky Fix" + Param "-noskyfix" + Hint "\tDisable light_environment being global ZHLT 2.1 added a simpler more manageable system for light_environments. The new behavior is that a map only needs a single light_environment entity to light up all sky everywhere. The placement of the entity no longer matters. The -noskyfix option turns this feature off and enables the original code which requires multiple light_environments to properly light up an outdoor area." + } + + CheckBox + { + Name "No Spot Points" + Param "-nospotpoints" + Hint "\tDisables light_spot spherical point sources." + } + + CheckBox + { + Name "No Texture Scale" + Param "-notexscale" + Hint "\tDo not scale radiosity patches with texture scale.\n\n"_ + "\tBy default, hlrad will take the texture scale and apply it to the chopping grid which is projected onto it. This option turns that off, and almost always increases the number of patches in a map as most maps have many walls scaled up to 2 and 3." + } + + /*CheckBox + { + Name "Sparse" + Param "-sparse" + Bold "True" + Hint "\tEnable low memory vismatrix algorithm.\n\n"_ + "\tThe original vismatrix algorithm was limited to 65535 patches due to its design. Its memory usage also grew exponentially with the number of patches (patches * patches / 16 bytes). This option enables a compressed vismatrix, which at the cost of extra CPU time, breaks the 65535 limit, and also uses about 10% of the memory the vismatrix would." + }*/ + + TextBox + { + Name "Bounce" + Param "-bounce" + Bold "True" + Type "Integer" + Default "1" + Min "0" + Hint "\tSet number of radiosity bounces.\n\n"_ + "\tThis option sets the number of times light bounces in the radiosity pass. By the time the code gets to this point, all the data is precomputed, and extra bounces are very fast. It will make the shadows less harsh using more bounces, but can help light up dark areas much more naturally." + } + + TextBox + { + Name "Chop" + Param "-chop" + Type "Single" + Default "64.0" + Min "1.0" + Hint "\tSet radiosity patch size for normal textures.\n\n"_ + "\tEach face in the world has a grid projected onto it, and chopped up into a rather coarse set of sample points. These points are patches, and are what hlrad uses to do the bounced lighting calculations. A higher chop sacrifices quality for both speed and memory consumption of hlrad. A lower chop increases the quality at the expense of speed and memory usage." + } + + TextBox + { + Name "Coring" + Param "-coring" + Type "Single" + Default "1.0" + Min "0.0" + Hint "\tSet lighting threshold before blackness.\n\n"_ + "\tThis value controls how much light it takes before a surface will be lit with a non-black value." + } + + TextBox + { + Name "Direct Light" + Param "-dlight" + Type "Single" + Default "25.0" + Min "0.0" + Hint "\tSet direct lighting threshold.\n\n"_ + "\tThis option is similar to -maxlight, except that it re-normalizes the direct lighting values instead of clipping them if they are too high." + } + + TextBox + { + Name "Direct Scale" + Param "-dscale" + Bold "True" + Type "Single" + Default "2.0" + Min "0.0" + Hint "\tSet direct lighting scale.\n\n"_ + "\tDue to a bug in the original version of qrad, the direct lighting layer was added into the final lighting twice. The correct thing to do is only have it in there once, but at the time too many maps had been created with this assumption and it was left in there. This has been corrected as a command line switch, to scale the direct lighting by.\n\n"_ + "\tUsing the value of '1' would generate the most correct looking maps. Using a value of '0' will remove the direct lighting completely. Using larger values, like '3' or '4', cause extremely harsh direct lighting relation to shadows." + } + + TextBox + { + Name "Fade" + Param "-fade" + Type "Single" + Default "1.0" + Min "0.0" + Hint "\tSet global fade (larger values shorter lights).\n\n"_ + "\tThis value adds in an artificial factor into the normal (1 / dist * dist) inverse square falloff calculations, by multiplying the denominator of the scale by the fade value. Point lights can set their own individual fade and falloff values, which override any global setting on the command line. These calculations only affect the direct lighting layer, as the radiosity pass always uses plain inverse square falloff." + } + + TextBox + { + Name "Gamma" + Param "-gamma" + Type "Single" + Default "0.5" + Min "0.0" + Hint "\tSet global gamma value.\n\n"_ + "\tThis option also occurs after the direct and radiosity layers are added together, and a global gamma correction is calculated and applied to the lighting before it is finalized." + } + + Space + { + Size "1" + } + + TextBox + { + Name "Max Light" + Param "-maxlight" + Type "Integer" + Default "255" + Min "0" + Hint "\tSet maximum light intensity value.\n\n"_ + "\tThis option can be used to cap the bright spots, if you want a map to come out darker overall." + } + + TextBox + { + Name "Scale" + Param "-scale" + Type "Single" + Default "1.0" + Min "0.0" + Hint "\tSet global light scaling value.\n\n"_ + "\tThis option scales the final light values right after the direct lighting layer is added to the radiosity bounced lighting layer. Low values make the world darker, higher values make it brighter." + } + + TextBox + { + Name "Sky" + Param "-sky" + Type "Single" + Default "0.5" + Min "0.0" + Hint "\tSet ambient sunlight contribution in the shade outside.\n\n"_ + "\tMany faces have line of sight to sky, but fall in the shadow of some other object. This option affects how much of the normal sky lighting is put into the shadows." + } + + TextBox + { + Name "Smooth" + Param "-smooth" + Bold "True" + Type "Single" + Default "50.0" + Min "0.0" + Max "180.0" + Hint "\tSet smoothing threshold for blending (in degrees).\n\n"_ + "\tBy default hlrad uses Phong shading on all faces. If the angle between two edges is less than this value, it will be shaded with the Phong smoothing code, otherwise it won't." + } + + TextBox + { + Name "Texture Chop" + Param "-texchop" + Type "Single" + Default "32.0" + Min "1.0" + Hint "\tSet radiosity patch size for texture light faces.\n\n"_ + "\tTexture light faces are chopped with a different granularity than the normal faces, primarily so that the lighting looks good. Generally it should be half of the chop value. Adding -extra to hlrad will automatically divide this value by 2 at runtime." + } + + TextBox + { + Name "Soft Light" + Param "-softlight" + Quote "False" + Type "String" + Default "r g b d" + Hint "\tScaling values for backwards-light hack." + } + + ComboBox + { + Name "Fall Off Mode" + Param "-falloff" + Default "Inverse Square" + Options "Inverse Linear,1|Inverse Square,2" + Hint "\tSet global falloff mode.\n\n"_ + "\tThis option can change the normal inverse square falloff of lighting in the direct lighting layer with inverse falloff." + } + + ComboBox + { + Name "VIS Matrix" + Bold "True" + Default "Legacy" + Options "Legacy,|Sparse,-sparse|Disable,-nomatrix" + Hint "\tThe original vismatrix algorithm was limited to 65535 patches due to its design. Its memory usage also grew exponentially with the number of patches (patches * patches / 16 bytes).\n\n"_ + "\tSparse enables a compressed vismatrix, which at the cost of extra CPU time, breaks the 65535 limit, and also uses about 10% of the memory the original vismatrix would, but as it does some compression, it requires a lot of thread synchronization and does not scale well past 2 CPU's.\n\n"_ + "\tDisabling the Vis matrix essentially reduces the memory requirements to zero for that structure. However, the addition of \"opaque brush entities\" starting with ZHLT 2.2 hurts this method's performance quite a bit." + } +} + +// +// RAD2 +// +Stage +{ + Name "RAD2" + Title "Radiosity Continued" + Type "ParameterList" + + ColorBox + { + Name "Ambient Light" + Param "-ambient" + Type "Single" + Default "0 0 0" + Hint "\tSet ambient world light.\n\n"_ + "\tThis option sets a minimum light value to every face so that nothing comes out pitch black." + } + + ColorBox + { + Name "Gamma Color" + Param "-colourgamma" + Type "Single" + Default "0 0 0" + Hint "\tSets different gamma values for r, g, b." + } + + ColorBox + { + Name "Jitter" + Param "-jitter" + Type "Integer" + Default "0 0 0" + Hint "\tAdds noise, monochromatic, for dithering." + } + + ColorBox + { + Name "Jitter Color" + Param "-colourjitter" + Type "Integer" + Default "0 0 0" + Hint "\tAdds noise, independent colours, for dithering." + } + + ColorBox + { + Name "Scale Color" + Param "-colourscale" + Type "Single" + Default "0 0 0" + Hint "\tSets different lightscale values for r, g ,b." + } + + FileBox + { + Name "Lights File" + Param "-lights" + FullPath "True" + Bold "True" + Filter "Radiosity Files (*.rad)|*.rad|Text Files (*.txt)|*.txt" + Hint "\tManually specify a lights.rad file to use.\n\n"_ + "\tThe .rad file will be used in addition to the defaults of lights.rad and mapname.rad." + } +} + +// +// RipEnt +// +Stage +{ + Name "RipEnt" + Title "Rip Entities" + Type "Program" + Filter "RipEnts (ripent.exe)|ripent.exe" + + CheckBox + { + Name "Parse" + param "-parse" + Bold "True" + Hint "\tParse entity data.\n\n"_ + "\tOn export -parse parses the entity data and reformats it for easy reading in any text editor.\n\n"_ + "\tOn import -parse parses the entity data and removes all unnecessary white space. The parsing operation also works as a means to insure that the entity data is well formed, if it isn't an error message is printed to help track down the problem." + } + + ComboBox + { + Name "Operation" + Checked "True" + Bold "True" + Default "Export" + Options "Import,-import|Export,-export" + Hint "\tImport an entity list into a BSP or export an entity list from a BSP.\n\n"_ + "\tAn entity list is a mapname.ent file which lists all the entities in the BSP in MAP format which you can edit in a text editor." + } + + Space + { + Size "8" + } + + TextBox + { + Name "Additional Parameters" + Type "String" + Size "3" + Hint "\tAdd additional parameters here as you would a command line." + } +} + +// +// Shared +// +Stage +{ + Name "Shared" + Title "Shared Parameters" + Type "ParameterList" + + CheckBox + { + Name "Chart" + param "-chart" + Bold "True" + Stages "CSG|BSP|VIS|RAD|RipEnt" + Hint "\tDisplay BSP statistics.\n\n"_ + "\tThis option will cause the program to print out the bsp statistics right before it writes out the bsp. It is most handy to do -chart with hlrad and hlvis at the end of the compiles. The ripent program will always displays the chart." + } + + CheckBox + { + Name "Estimate" + param "-estimate" + Bold "True" + Stages "CSG|BSP|VIS|RAD" + Hint "\tDisplay estimated time during compile.\n\n"_ + "\tThis option replaces the 10...20... style progress indicators with a estimate bar with some estimated completion times, as well as the exact number of the current job and how many jobs there are to do. The three different times remaining factor in varying amounts of historical data to guess how much longer it will take to run. It is good for a ballpark figure, but frequently not much more accurate than that." + } + + CheckBox + { + Name "No Info" + param "-noinfo" + Stages "CSG|BSP|VIS|RAD|RipEnt" + Hint "\tDo not show tool configuration information.\n\n"_ + "\tBy default every tool shows its current settings and their default. This sometimes causes problems with other programs and is unnecessary as it already can be seen in the command line." + } + + CheckBox + { + Name "No Log" + param "-nolog" + Stages "CSG|BSP|VIS|RAD" + Hint "\tDon't generate the compile logfiles.\n\n"_ + "\tThis option just disables the generation of the .log and .err files which are normally generated whenever the compile tools run." + } + + CheckBox + { + Name "Verbose" + param "-verbose" + Stages "CSG|BSP|VIS|RAD"//, Opt_EntData" + Hint "\tCompile with verbose messages.\n\n"_ + "\tMany of the tools have 'minor warnings' and informative messages which are displayed when verbose mode is set. As the ZHLT 2.x series develops, many of the developer specific settings are being moved to developer messages, while the mapper related messages will remain as verbose messages." + } + + /*Space + { + Size "6" + }*/ + + TextBox + { + Name "Texture Data" + Param "-texdata" + Bold "True" + Stages "CSG|BSP|VIS|RAD|RipEnt" + Type "Integer" + Default "4096" + Min "2048" + Hint "\tAlter maximum texture memory limit (in kb).\n\n"_ + "\tHalflife was built with a 2Mb texture limit, as was Opposing Force. The ZHLT default limit is 4Mb. Even 4Mb can be a bit much, when combined with model textures, skies, hud graphics, and more. This is especially true of people with older cards (Voodoo 1 and 2's, etc)." + } + + TextBox + { + Name "Light Data" + Param "-lightdata" + Bold "True" + Stages "CSG|BSP|VIS|RAD|RipEnt" + Type "Integer" + Default "6144" + Min "2048" + Hint "\tAlter maximum lightmap memory limit (in kb).\n\n"_ + "\tHigher values than the default (6MB) can cause performance issues. You should perform compatability testing before releasing maps if they're over the preset limit." + } + + TextBox + { + Name "Threads" + Param "-threads" + Stages "CSG|BSP|VIS|RAD" + Type "Integer" + Default "1" + Min "1" + Hint "\tManually specify the number of threads to run.\n\n"_ + "\tThis option is generally only necessary on the non-windows versions of the tools, where there is not a standard way to detect the number of processors in the system and auto-set the value. It can be manually set on windows machines, primarily if you wish to use fewer threads than processors." + } + + ComboBox + { + Name "Developer" + Param "-dev" + Stages "CSG|BSP|VIS|RAD" + Default "Error" + Options "Off,0|Error,1|Warning,2|Info,3|Fluff,4|Spam,5|MegaSpam,6" + Hint "\tCompile with developer messages.\n\n"_ + "\tInternal ZHLT debugging messages have been slowly added to the tools. This variable sets the 'level' to display. In order (starting with 0 and going up) : Off, Error, Warning, Info, Fluff, Spam, MegaSpam. Generally this option should never be used except at request, to diagnose a compile problem on an end-users machine." + } + + ComboBox + { + Name "Priority" + Stages "CSG|BSP|VIS|RAD" + Default "Normal" + Options "Low,-low|Normal,|High,-high" + Hint "\tRun program an altered priority level.\n\n"_ + "\tSetting the priority of the compile tools to -low is very handy, as you can multitask and do other things without really feeling the drain of the compile programs on the system, provided there is enough memory for the tools and the other programs you use." + } +}
\ No newline at end of file |