Released: July 10, 1997 ===================================================================== Title : ArghLite Filename : arghlite.exe Version : 1.0 Author : Tim Wright Net Nick : Argh! Email Address : argh@ziplink.net (comments, questions, bug reports, etc. welcome... flames aren't ;) WWW : not yet... soon... Description : New enhanced version of "light": * Scale fade distances of individual lights (without changing brightness) * Set a global minimum light level (eliminate those totally dark spots) * Supports Ritual's "Scourge of Armagon" map extensions. * Fast (consistently outperformed all other versions of light I could find) * Slightly more feedback output Requirements : Pentium, A Win32 operating system (I use Win95, WinNT is untested but I assume it works), and whatever the requirements are for id/Ritual's "light" code. :} Additional Credits to : id Software & Ritual Entertainment Inc. for source, Janis Jagars for "LightDis", Eric Sambach for "MinLight". ===================================================================== * Usage * It's pretty easy to use, I hope my explanations don't actually make it sound harder. :} I use Worldcraft for building, so along with basic usage I'll mention how to set certain values from within WC. Note that you'll have to rename arghlite.exe to light.exe to get it to work with Worldcraft (and probably in many other editors as well). Fade distance ------------- To modify the fade distance of a light, add a new key in the form "wait" "n", where n is the number to scale the distance. N>1 will make the light fade faster, n<1 will make it fade slower (just like the -dist command line parameter). Example: { "classname" "light" "origin" "100 50 150" "light" "200" "wait" "2" } The above will make this light fade twice as fast as normal (or in other terms, the light will travel half as far). Using "wait" "0.25" would make the light fade 1/4 as fast (or go 4 times as far), etc. You can set this in Worldcraft by going into the light's properties, turning off "smart edit" then adding a new key called wait, and entering the desired value. If you want to make this field always available in "smart edit" mode, that's fairly easy to do. Load Worldcraft's quake.fgd into a text-editor (make a backup first if you don't really know what you're doing), and find the block that starts with: @baseclass = Light [ Now right before the last (second) "]" in that block, add the line: wait(string) : "Fade distance factor" In Worldcraft the value will be blank by default, so only enter a number when you need to. Minimum lighting ---------------- There are two ways to set the minimum light level. The first is by adding a new key in the form "light" "n" to the map's "worldspawn" entity (the first thing in the map file), where n is the minimum light value. Example: { "classname" "worldspawn" "worldtype" "0" "sounds" "1" "wad" "quake.wad" "light" "20" In Worldcraft this can be set by selecting Map/Map Properties, then changing default light level to the desired value. Make sure this is set to 0 if you don't want any min-lighting! The second method is by using the command line parameter -light n, where n is the minimum light value. The command line option overrides any value set in "worldspawn", so you could re-light a bsp with a different setting without needing to change the "worldspawn" value. Example: C:\>arghlite.exe -light 10 argh.bsp Note: the minimum light value works like Quake's r_ambient console command. BUT, there's one BIG difference, r_ambient is twice as bright as it should be! r_ambient is a good way to test different minimum light levels, but when you find a good value with it, be sure to multiply that number by 2 before setting it for ArghLite! (I find values around 5-25 look the best) Other ----- The original command line options still work: -extra - Turns on extra sampling for smoother lighting/shadows. -dist n - Scales the fade distance of ALL lights. N>1 fades faster, n<1 fades slower. A light with a "wait" will be scaled once for that, then scaled again by -dist. -range n - Scales the brightness range of ALL lights without affecting their fade distance. N>.5 makes them brighter, n<.5 makes them darker. Can achieve the same affect on individual lights by increasing or decreasing both the brightness and "wait" factors. ===================================================================== * Construction * Base : Modified "Light" source code for "Scourge of Armagon" from Ritual Entertainment, based on Quake light source code from id Software. Features were inspired by "LightDis" by Janis Jagars and "MinLight" by Eric Sambach, however modifications are completely original. Compiler used : Microsoft VC++ 4.0 Construction time : Couple hours a day over a few days? Known Issues : A face with 4 different non-normal light styles cast on it will not be minlit. That's a very rare occurrence so it's probably nothing to worry about. (I'm calling it an "issue" because it's a Quake shortcoming and not a bug in ArghLite) ===================================================================== * Copyright / Permissions * You MAY distribute this EXE, provided you include this file, with no modifications. You may distribute this file in any electronic format (BBS, Diskette, CD, etc.) as long as you include this file intact. * Disclaimer * Usage of ArghLite is at your own risk. I accept NO responsibility for any form of damage incurred through the usage of this program. (Okay, with that officially stated... I can say you probably have nothing to worry about. This is as stable as id's or Ritual's versions. If those didn't do anything nasty to ya, this isn't likely to either. :) ===================================================================== * Where to get this Utility * ftp.cdrom.com and all mirrors.