Quake Tools.bci 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409
  1. // Specification: Quake Tools
  2. // Written by: Ryan Gregg
  3. // Version: 2.8
  4. // Created: August 4, 2004
  5. // Last updated: August 4, 2004
  6. Include "Templates.bci"
  7. Batch
  8. {
  9. Name "Quake Tools"
  10. Priority "2"
  11. Filter "Map Files (*.map)|*.map"
  12. Stages "CSG|BSP|VIS|RAD|Shared"
  13. Template "@echo off\n"_
  14. "\"${StagePath=CSG}\" ${StageParam=CSG} \"${FilePath}\\${FileName}\"\n"_
  15. "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_
  16. "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_
  17. "\"${StagePath=RAD}\" ${StageParam=RAD} \"${FilePath}\\${FileName}\"\n"_
  18. "${LogViewerRun}\n"
  19. }
  20. Batch
  21. {
  22. Name "CSG"
  23. Priority "1"
  24. Stages "CSG|Shared"
  25. Filter "Map Files (*.map)|*.map"
  26. Template "@echo off\n"_
  27. "\"${StagePath=CSG}\" ${StageParam=CSG} \"${FilePath}\\${FileName}\"\n"_
  28. "${LogViewerRun}\n"
  29. }
  30. Batch
  31. {
  32. Name "BSP"
  33. Priority "1"
  34. Stages "BSP|Shared"
  35. Filter "Map Files (*.map)|*.map"
  36. Template "@echo off\n"_
  37. "\"${StagePath=BSP}\" ${StageParam=BSP} \"${FilePath}\\${FileName}\"\n"_
  38. "${LogViewerRun}\n"
  39. }
  40. Batch
  41. {
  42. Name "VIS"
  43. Priority "1"
  44. Stages "VIS|Shared"
  45. Filter "Map Files (*.map)|*.map"
  46. Template "@echo off\n"_
  47. "\"${StagePath=VIS}\" ${StageParam=VIS} \"${FilePath}\\${FileName}\"\n"_
  48. "${LogViewerRun}\n"
  49. }
  50. Batch
  51. {
  52. Name "RAD"
  53. Priority "1"
  54. Stages "RAD|Shared"
  55. Filter "Map Files (*.map)|*.map"
  56. Template "@echo off\n"_
  57. "\"${StagePath=RAD}\" ${StageParam=RAD} \"${FilePath}\\${FileName}\"\n"_
  58. "${LogViewerRun}\n"
  59. }
  60. //
  61. // CSG
  62. //
  63. Stage
  64. {
  65. Name "CSG"
  66. Title "Constructive Solid Geometry"
  67. Type "Program"
  68. Filter "QCSG (qcsg.exe)|qcsg.exe"
  69. CheckBox
  70. {
  71. Name "No WAD Textures"
  72. Param "-nowadtextures"
  73. Bold "True"
  74. Hint "Include all used textures into bsp."_
  75. "This option is obsolete by -wadinclude and is only left in to retain some backwards compatibility."
  76. }
  77. CheckBox
  78. {
  79. Name "Entities Only"
  80. Param "-onlyents"
  81. Hint "Do an entity update from .map to .bsp."_
  82. "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."
  83. }
  84. CheckBox
  85. {
  86. Name "GL View"
  87. Param "-glview"
  88. Hint "Create <mapname>.gl file."_
  89. "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."
  90. }
  91. Space
  92. {
  93. Size "7"
  94. }
  95. TextBox
  96. {
  97. Name "Additional Parameters"
  98. Type "String"
  99. Size "3"
  100. Hint "Add additional parameters here as you would a command line."
  101. }
  102. }
  103. //
  104. // BSP
  105. //
  106. Stage
  107. {
  108. Name "BSP"
  109. Title "Binary Space Partition"
  110. Type "Program"
  111. Filter "QBSP (qbps2.exe)|qbsp2.exe"
  112. CheckBox
  113. {
  114. Name "Leak Only"
  115. Param "-leakonly"
  116. Hint "Run BSP only enough to check for leaks."_
  117. "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."
  118. }
  119. CheckBox
  120. {
  121. Name "Not T-Junction"
  122. Param "-notjunc"
  123. Hint "Don't break edges on t-junctions (not for final runs)."_
  124. "This is a development/debugging option that should not be set in normal use."
  125. }
  126. TextBox
  127. {
  128. Name "Subdivide"
  129. Param "-subdivide"
  130. Type "Single"
  131. Default "240.0"
  132. Min "64.0"
  133. Max "240.0"
  134. Hint "Sets the face subdivide size."_
  135. "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)."
  136. }
  137. Space
  138. {
  139. Size "7"
  140. }
  141. TextBox
  142. {
  143. Name "Additional Parameters"
  144. Type "String"
  145. Size "3"
  146. Hint "Add additional parameters here as you would a command line."
  147. }
  148. }
  149. //
  150. // VIS
  151. //
  152. Stage
  153. {
  154. Name "VIS"
  155. Title "Visibility Index Set"
  156. Type "Program"
  157. Filter "VIS (vis.exe)|vis.exe"
  158. CheckBox
  159. {
  160. Name "Fast"
  161. Param "-fast"
  162. Bold "true"
  163. Hint "Fast vis."_
  164. "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."
  165. }
  166. Space
  167. {
  168. Size "9"
  169. }
  170. TextBox
  171. {
  172. Name "Additional Parameters"
  173. Type "String"
  174. Size "3"
  175. Hint "Add additional parameters here as you would a command line."
  176. }
  177. }
  178. //
  179. // RAD
  180. //
  181. Stage
  182. {
  183. Name "RAD"
  184. Title "Radiosity"
  185. Type "Program"
  186. Filter "QRAD (qrad.exe)|qrad.exe"
  187. CheckBox
  188. {
  189. Name "Extra"
  190. Param "-extra"
  191. Bold "True"
  192. Hint "Turns on 9 point oversampling for lighting, making it look much better."
  193. }
  194. CheckBox
  195. {
  196. Name "No Texture Scale"
  197. Param "-notexscale"
  198. Hint "Do not scale radiosity patches with texture scale."_
  199. "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."
  200. }
  201. CheckBox
  202. {
  203. Name "Dump Light Patches"
  204. Param "-dump"
  205. 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."
  206. }
  207. CheckBox
  208. {
  209. Name "Incremental"
  210. Param "-inc"
  211. Hint "Use or create an incremental transfer list file."_
  212. "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."
  213. }
  214. Space
  215. {
  216. Size "6"
  217. }
  218. TextBox
  219. {
  220. Name "Additional Parameters"
  221. Type "String"
  222. Size "3"
  223. Hint "Add additional parameters here as you would a command line."
  224. }
  225. TextBox
  226. {
  227. Name "Bounce"
  228. Param "-bounce"
  229. Bold "True"
  230. Type "Integer"
  231. Default "1"
  232. Min "0"
  233. Hint "Set number of radiosity bounces."_
  234. "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."
  235. }
  236. TextBox
  237. {
  238. Name "Smooth"
  239. Param "-smooth"
  240. Bold "True"
  241. Type "Single"
  242. Default "50.0"
  243. Min "0.0"
  244. Max "180.0"
  245. Hint "Set smoothing threshold for blending (in degrees)."_
  246. "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."
  247. }
  248. TextBox
  249. {
  250. Name "Chop"
  251. Param "-chop"
  252. Type "Single"
  253. Default "64.0"
  254. Min "1.0"
  255. Hint "Set radiosity patch size for normal textures."_
  256. "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."
  257. }
  258. TextBox
  259. {
  260. Name "Coring"
  261. Param "-coring"
  262. Type "Single"
  263. Default "1.0"
  264. Min "0.0"
  265. Hint "Set lighting threshold before blackness on switchable light surfaces."_
  266. "This value controls how much light it takes before a surface will be lit with a non-black value."
  267. }
  268. TextBox
  269. {
  270. Name "Max Light"
  271. Param "-maxlight"
  272. Type "Single"
  273. Default "2.0"
  274. Min "0.0"
  275. Max "2.0"
  276. Hint "Overexpose textures."_
  277. "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."
  278. }
  279. TextBox
  280. {
  281. Name "Scale"
  282. Param "-scale"
  283. Type "Single"
  284. Default "1.0"
  285. Min "0.0"
  286. Hint "Set global light scaling value."_
  287. "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."
  288. }
  289. TextBox
  290. {
  291. Name "Gamma"
  292. Param "-gamma"
  293. Type "Single"
  294. Default "0.5"
  295. Min "0.0"
  296. Hint "Set global gamma value."_
  297. "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."
  298. }
  299. TextBox
  300. {
  301. Name "Sky"
  302. Param "-sky"
  303. Type "Single"
  304. Default "1.0"
  305. Min "0.0"
  306. Hint "Set ambient sunlight contribution in the shade outside."_
  307. "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."
  308. }
  309. Space
  310. {
  311. Size "3"
  312. }
  313. ComboBox
  314. {
  315. Name "Messages"
  316. Default "Normal"
  317. Options "Terse,-terse|Normal,|Verbose,-verbose"
  318. Hint "Set the message mode to run QRAD in."_
  319. "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."
  320. }
  321. ColorBox
  322. {
  323. Name "Ambient Light"
  324. Param "-ambient"
  325. Type "Single"
  326. Default "0 0 0"
  327. Hint "Set ambient world light."_
  328. "This option sets a minimum light value to every face so that nothing comes out pitch black."
  329. }
  330. FileBox
  331. {
  332. Name "Lights File"
  333. Param "-lights"
  334. FullPath "True"
  335. Bold "true"
  336. Filter "Radiosity Files (*.rad)|*.rad|Text Files (*.txt)|*.txt"
  337. Hint "Manually specify a lights.rad file to use."_
  338. "The .rad file will be used in addition to the defaults of lights.rad and mapname.rad."
  339. }
  340. }
  341. Stage
  342. {
  343. Name "Shared"
  344. Title "Shared Parameters"
  345. Type "ParameterList"
  346. CheckBox
  347. {
  348. Name "Verbose"
  349. Param "-v"
  350. Stages "CSG|BSP|VIS|RAD"
  351. Hint "Compile with verbose messages."_
  352. "Many of the tools have 'minor warnings' and informative messages which are displayed when verbose mode is set."
  353. }
  354. TextBox
  355. {
  356. Name "Threads"
  357. Param "-threads"
  358. Stages "CSG|BSP|VIS|RAD"
  359. Type "Integer"
  360. Default "1"
  361. Min "1"
  362. Hint "Manually specify the number of threads to run."_
  363. "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."
  364. }
  365. }