Documentation & Manual
opt_entdata, 1.1 Release
06/02/05
This is the manual for opt_entdata, 1.1 Release by Tony "FragBait0" Levi.
This document attempts to explain the purpose of opt_entdata and how to use it.
Contents:
Installation
The install process for opt_entdata is about as simple as it gets.
Just extract all the files in the archive to your compile tools directory or make one up for opt_entdata.
If you have opt_entdata in a directory away from the compile tools be sure to set the RIPENT line in your settings file.
Top
What's the point?
The benefits of opt_entdata are multiple and some people will value some more than others.
- Smaller BSP sizes
- More space for you to do things with entities
- You get bragging rights for using it
While some of this (the last one probably) dosen't sound all that great consider this:
- you will spend about 5 minutes setting up opt_entdata
- maybe another 2 minutes a week checking for an update
Dosen't sound too bad to me...
Also, due to some of the entities that are removed you *may* see a little less lag in certain multiplayer mods or faster load times but don't bet on either.
Top
Command-line parameters
If you are feeling a little scared at the idea of setting this stuff by hand or want to use opt_entdata in a batch compiler consider using wolf's spec file.
See the chatbear thread for more info.
There are quite a number of parameters for opt_entdata and here I will explain the purpose of each.
First though I better give you a quick couple of lines showing syntax of opt_entdata command-lines.
Syntax:
opt_entdata.exe <mapfile> <parameters>
Examples:
opt_entdata.exe c:\mymap -simplify -ripent -setting setting_mymap.db
perl opt_entdata.pl c:\mymap -simplify -ripent -setting setting_mymap.db
If you are intending to use the .exe version then disregard the second example & vica-versa.
In the example command-line opt_entdata is run for mymap
on drive C.
The parameters -simplify, -ripent and -settings have been used.
So, without anymore ado from me here is a parameter referance:
-
-simplify
Simplify takes names of entities and replaces them with a (in theory) shorter one.
It also makes debugging scripted events difficult so it is recommended only for release versions of a map.
Worse, sometimes simplify may overwrite a name it shouldn't.
Consider, for example, an entity named spawnflags
or similar. Now let us assume simplify picks that up as a name and replaces it with a name of abc
Messy eh?
-
-settings
...where myfile.db is a customised version of the setting_default.db file.
You only need specify this parameter if you don't want to use the setting_default.
For further info on how this stuff works see customisable settings & property list files
-
-ripent
...provided ripent is in the same directory as opt_entdata or you have set your settings file correctly.
This enables automated execution of ripent(s) before and after opt_entdata.
Output from ripent (here-on refered to as ripent, that's what it is called in ZHLTpXX) is not logged.
The RIPENT line of your settings file may be uncommented and changed appropiately if ripent is not in the same directory as opt_entdata.
-
-nolog
In 0.6 and previous versions of opt_entdata logging had to be turned on.
In this version logging is enabled by default.
Note that, regardless of -nolog's presence, logging will be disabled if opt_entdata can't locate your map's .log file.
-
-verbose
As in previous versions and millions of programs around the planet the verbose option enables extra info while the program is running.
If you are seeing weird problems verbose mode will show where some of them occur.
When (if ever) asked for a logfile from opt_entdata (or screen output) then -verbose is a recommended option to use.
-
-delbackup
Usage of the -delbackup option will have opt_entdata attempt to delete the backup of a map's .ent data after running.
Now this option will also delete .ent files left behind if -ripent is used.
-
-nolinemod
-nolinemod is an option for those having problems with other programs that may need access to a map's entdata.
Users have reported, for example, that opt_entdata without -nolinemod will stop resgen from working.
If you want to run opt_entdata on the same data more than once then use this option.
-
-nomiscents
-nomiscents is an option for those who want info_null, info_texxlights and info_compile_parameters left in their BSPs.
If you seem to be getting errors around where the "Removing unrequired entities.." message appears then try disabling it here.
-
-nolights
-nolights does the same thing as -nomiscents: it disables the removal of lights and (most) optimisations to them.
This option has a MAJOR impact on the effectiveness of opt_entdata. Use with caution if you're near limits.
-
-nostrip
-nostrip is *another* clone of the -nomiscents option but its for the "Striping ent properties.." part of things.
This stage frequently is the cause of problems especially if they are ingame weirdness with entities.
This option has a MAJOR impact on the effectiveness of opt_entdata. Use with caution if you're near limits.
-
-noorigins
-noorigins turns off the new origin removal code.
If you feel that origins are missing from entities that need them then try switching this.
Note that, by default, the origin remover only affects entities that DO NOT need them, multimanagers and lights are good examples.
You can also add to or modify the removal list - as (and if) required.
-
-texdata n ..where n is texdata size in kB.
The -texdata option is excactly the same as the one found in ZHLT/MHLT/ZHLTpXX so use it with opt_entdata if you did when compiling the map.
The program will handle the passing of this to ripent when it gets run.
-
-lightdata n ..where n is lightdata size in kB.
The -lightdata option is exactly the same as the one found in ZHLTpXX/ZHLT3 so use it with opt_entdata if you did when compiling the map.
The program will handle the passing of this to ripent when it gets run.
-
-noinfo
The -noinfo option gets rid of the config info that ZHLT3 (beta 4 upwards) ripent displays.
-
-chart
In ZHLT3 ripent dosen't display the bsp chart by default.
Usage of -chart will turn this back on but spam your screen.
Top
Customisable settings & property list files
In opt_entdata 0.9 the old property list files have been merged into one file. This is the new opt_entdata.db.
In this file you can add or remove properies as you could in 0.7/8.
Note that you must have a line break after each set of properties and have the headers in caps.
And be sure that you leave a line break at the end of the file - the line breaks tell opt_entdata where the section ends and you won't be able to use the last set if no line break is present.
The only file from previous versions is the setting_default.db. The only thing different here is now the names for property sets must be in caps.
The old scheme of naming files with a prefix has become the new of having these prefixes on the headers in opt_entdata.db
Top
Property Extractor
In 1.1 and onwards I'm including a tool for automaticly getting new properties from FGD files.
To use it just run "property_extractor myfgd.fgd". You'll have to do that on a command line. :)
It just makes a list you should be able to use in opt_entdata.
Only mod authors or any other people with modified FGD files need worry about this, ever.
Top
Contact, discussion threads & help
So you are after the threads you can annoy me about the latest crushing bug you found? Read on.
First, the chatbear coding thread:
http://www.chatbear.com/board.plm?a=viewthread&t=52,1080647136,18491&id=634830&b=590&v=flatold
Second, you can e-mail me if you have to:
tlevi@tpg.com.au
If you need the help or discussion part then the chatbear thread is almost certainly the place to go.
If, on the other hand, you want to piss me off or need to give an urgent bug report then you can e-mail me. :)
Be sure to include your compile log, .ent and .ent.bak files and some details about what is wrong.
A parting tip, if you need help then PLEASE read this document, the chatbear thread and common sense *very well* before posting.
Brains tends to help in these matters not excessive grammar.
Top
Credits
Okay you all know it, most of you hate it and some of you don't care.
First, Wolf and Bluefang at the VERC forums.
These guys have helped with the testing phases a lot and also posted some excellent suggestions for the improvment of this program.
Second, I have to cite Merl because I stole his CSS code for the doc.
Sorry Merl, it's just an excellent color scheme and I wanted this doc to "fit in". :)
Third and final, Zoner.
His excellent stripnulents.pl and tfc_abbrev.pl scripts were the sparks of thought for this and the initial stripnulents code was copy/pasted from those too.
Top