LEET VIS Current Version: 31337 ---------------------- standard disclaimer ------------------- If this program causes your computer to have problems in any way, whether it explodes or loses its cmos or whatever, its not my fault. By reading this and using leetvis you understand and acknowledge this disclaimer. Intro ----- For some time I have been working on a better version of the vis utility that was released by idsoftware. I started out with something called supervis that was just a few standard additions to vis much like all the extra faces and stuff people have been adding to qbsp. Then I made a much more feature- rich version and called it leetvis. Leetvis went through several revisions and the code soon became friggin huge. Since that was a mess and I really needed to return to fundamentals to code my own utility, I am currently working on a vis program called pvs. PVS will fix a lot of problems that I saw with vis. There will be a lot more optimizations in PVS that hopefully will make it faster. Also there will be a client/server ipx paradigm that will let you speed things up via network. However at the heart of pvs is an old kernal for the vis job itself that I am still calling leetvis. I may even have lighting code in pvs because the light job can be sped up by using the pvs. Anyway I have decided to go back and add in a few features to vis like the original plan. I have made a lame set of extra features and put it in the old code from id. A lot of the really cool stuff that is in pvs is not here but what do you expect from 20 minutes of coding? Besides my pvs code is now very different from carmacks vis at this point anyway. I hope you enjoy the program and find it useful. Care and Feeding ---------------- Leet Vis is a redo of the vis program for generating the potentially visible set of quake maps. Several modifications have been made to allow for better performance and ease of use. Leet Vis relies less upon command line parameters than the old vis program. It will check the portal file generated by qbsp and determine how complex it will be to vis the map. Based upon that complexity the program will be able to give a very very approximate time of vising. The vis-time equation is still very rough so expect at least 2-300% errors. Leetvis also tries to determine how difficult it will be to vis and tells you that too. If you want to use leet vis and dont have the bsp file available for use, just run leetvis -nobsp and it will use the .prt file only. This is useful to me while I am designing the program and it may be useful for benchmarking if you terminate a qbsp compile and just want to see a quick estimate of how long it would take to vis that level. Quick and dirty. I have talked to the person who developed powerbsp and he said there was a suggestion to implement a switch to turn off sounds in vis. Leet Vis has that option. It is leetvis -nosound. This just keeps vis from adding in the sound effects to textures it finds in the map. Right now I am trying to implement a way for vis to stop what its doing right in the middle of a run. If this works you would press the "Q" key and leetvis would write the current run out to a tmp.vis file. Later you would run leetvis -resume and the run would keep going as if nothing happened. Soon there will be implemented four different types of optimization that should speed up vis speed on the pc a bit. Currently only one of the optimizations is in place. The others will be added as soon as I get a better handle on a better understanding of the fundamentals of pvs generation. Since vis is a highly parallel operation, I have thought about putting in ipx support for vis. This would allow you to spawn tasks on other machines and theoretically speed up the program. As I see it I will have one machine as the server and the others as clients doing a leaf at a time. Keep looking forward to my next project. It will be a super version of qbsp that does everything and I will call it "yermom". misc stuff I am doing: added a -noprint option to prevent screen flooding by *, and . :) -working on stopping execution and resuming in the middle. You simply press "q" and vis stops running, saves your work, and exits. Then you run leetvis -resume later to keep going. -working on a possible new optimization for vising. -working on putting in ipx for network stuff. Probably will be some sort of client/server thing. Currently have the ipx drivers written but trying to figgure out exactly how I am going to implement it. new options to come: -client makes this a network client machine with that id -host make a server that looks for so many nodes these options will replace -threads and spawn network threads Soon I plan on adding custom texture names for water brush sounds, lava sounds, and sky sounds. Should make for some interesting maps in the future :) known problems: Occasionally a page fault is encountered. I have tracked that down and it is a problem with memory. On my 16 mb pentium I get it occasionally with larger files. I am redoing a lot of the file io and various arrays to remedy that situation. Already I have removed a lot of the static arrays that plague qbsp but this build of leetvis will have to wait on that because I dont have a current file on my work machine. current options for leetvis --------------------------- leetvis [-level 0-4] [-fast] [-v] [-nosound] [-noprint] [-prt] bspfile level - same old same old. Sets vis testlevel. fast - fast but loose vis for testing purposes v - verbose mode on nosound - will not assign sounds to textures noprint - will not print out symbols for vis recursion prt - use portal file instead of bsp file Thanks and greetz ----------------- Thanks to GOD or else we wouldnt be here. Also thanks go out to iD software because they love us almost as much as He does ;-) Also I would like to thank Billy Zelsnack for his putting up with me and being such a great help in my other projects. Special greets to Dave Taylor at crack.com, Ryan Geithman at bossgames, and all my wonderful friends on irc. Starving Coder Standard Beg for dollars section ----------------------------------------------- LeetVis is FREEWARE. Use it and give it to your friends. If you like the program and it gives you a wood, please feel free to make a $5 donation to Feed The Children, the Red Cross, or the Salvation Army. There are those who need it a lot more than you or I. Complaints, Concerns, Comments, etc... -------------------------------------- They all go to vile@dazed.nol.net or /dev/null depending on how angry you are at me ;) -------------------------------- .prts is .prts and pieces .prts.