How Can I Get Rid Of This?
EflfK
Join Date: 2002-11-04 Member: 6868Members
Using Wadfile: \sierra\half-life\ns\ns.wad
- Contains 39 used textures, 53.42 percent of map (578 textures in wad)
Using Wadfile: \documents and settings\eflfk\desktop\mapping\ns2.wad
- Contains 34 used textures, 46.58 percent of map (296 textures in wad)
Including Wadfile: \program files\valve hammer editor\tools\zhlt.wad
- Contains 0 used textures, 0.00 percent of map (4 textures in wad)
Error: Exceeded MAX_MAP_MIPTEX
Description: Texture memory usage on the map has exceeded the limit
Howto Fix: Merge similar textures, remove unused textures from the map
I didnt even add any new textures is the wierd thing.
- Contains 39 used textures, 53.42 percent of map (578 textures in wad)
Using Wadfile: \documents and settings\eflfk\desktop\mapping\ns2.wad
- Contains 34 used textures, 46.58 percent of map (296 textures in wad)
Including Wadfile: \program files\valve hammer editor\tools\zhlt.wad
- Contains 0 used textures, 0.00 percent of map (4 textures in wad)
Error: Exceeded MAX_MAP_MIPTEX
Description: Texture memory usage on the map has exceeded the limit
Howto Fix: Merge similar textures, remove unused textures from the map
I didnt even add any new textures is the wierd thing.
Comments
While that's a good way of getting rid of the error, the compiling tools default to a 4mb limit on textures, which is the same as the NS guidelines. While you could allocate more texture memory, to make it adhere to the mapping guidelines, you need to get rid of textures.
I've found it's exceptionally easy to max out the texture limit if you use hammer's "fit" button in the texture tool (Shift-A). Basically, each time you use a texture it adds it to the memory (I know, i'm using excessive amounts of layman's terms <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo-->), each time you change the scale of that texture, as opposed to it scaling it, it "creates" another texture. So basically, if you use a texture at 100% size and the exact same texture again at 50%, it's two textures as opposed to one. Using many size variations, even on a single texture, will make the amount of textures skyrocket.
As people have said, go through your map, replace different sizes of textures, resize brushes to fit textures, and so on, it's a long and tedius process, but if you want your map to conform to the guidelines, it's the only way.
A few more questions for you guys.....
How do you make computer screens have the appearance of glowing?
How do you make the "Join Marines" sign for ready rooms glow and fizzle as well as make the black transparent?
PS am i reading my forum join date right Oo
Guess I registered after playing ns for the few days after it came out and posted like one thing Oo
For the computer screens, it's a similar process. This time put a 1-unit thick brush directly in front of the computer, covered with null on the faces that aren't going to glow. Cover the face that is on the glowing side with the texture that is mostly black, but has the light parts of the screen showing. Then make it a func_illusionary, render mode additive, and render amount from 1-255 to set how visible it is. If you want, you can also add a .rad entry for the black texture (called an overlay texture) to illuminate the area around it.
A few more questions for you guys.....
How do you make computer screens have the appearance of glowing?
How do you make the "Join Marines" sign for ready rooms glow and fizzle as well as make the black transparent?
PS am i reading my forum join date right Oo
Guess I registered after playing ns for the few days after it came out and posted like one thing Oo <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Ok, here's some more answers. Well, the way i do things at least, which works.
<img src='http://www.btinternet.com/~diesirae/monitors1.jpg' border='0' alt='user posted image'>
Brush 1 is your standard brush with a monitor texture on it (for example the top texture in the image below).
Brush 2 (the pink one) is the exact duplicate of brush 1 put infront of brush 1, but the thickness of it is just 1 unit wide so it's as thin as it can be. Next, texture brush 2 entirely in the null texture, except for the front face, texture that with a monitor overlay texture (the lower texture in the picture below). The overlays are available in the various wads ns comes with, but if it's not there, simply open it up in photoshop, or whatever, and colour all of the areas that are NOT the screens in black, import it into your wad and then slap it on the brush. Because you copied the same brush, the texture should be in the exact place you want it. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
<img src='http://www.btinternet.com/~diesirae/monitors.jpg' border='0' alt='user posted image'>
Next convert brush 2 into the func_illusionary entity. Set the Render Mode to "Additive" and the FX Amount to "255". Also, a nice effect is to change the Render FX to "Distort", that makes the monitor appear to flicker on and off, looks really cool. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo--> Pair these effects with light_spot's facing away from the monitor with one of the Flicker effects on to make it all complete. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
As to the "Join Signs", thats done in a much similar way. Make a brush and texture it how you like (i recommend null textures on the faces that aren't 'needed' and the front face to the join image) and convert it to a func_illusionary entity with the same Render Mode (Additive) and FX Amount (255) as above.
And that's how you do it, i hope that makes some sense.
*EDIT: I hate you Kage. <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo-->
My ready room, takes about 3.2 megs of mip tex, and it uses a number of 512x512 textures
amckern
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
False. Textures are always stored in 4 sizes at 1:1, 1:4, 1:16, and 1:64 no matter what scales you set in your map.
Each time you use a different scale, a new <i>texinfo</i> object is created and stored in the map, but that object only holds a string that names the texture used and the 8 values needed for the engine to set up the texture properly for rendering.
amckern
We can call it help the newb thread <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo-->.
Sorry about that.
Ok I can run my map on my computer and such but its not found on other peoples computer with just the bsp. Im using the batch compiler atm. What do I do to make it playable on all systems?
amckern
amckern <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Turns out I was wrong about it using a string to store the texture name at the BSP level -- there are two texinfo structures, one for internal use and one for the file format; here's the file format texinfo:
<!--c1--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->typedef struct texinfo_s
{
float vecs[2][4]; // [s/t][xyz offset]
int miptex;
int flags;
}
texinfo_t;<!--c2--></td></tr></table><span class='postcolor'><!--ec2-->
8 float values = 32 bytes
2 ints = 8 bytes
total = 40 bytes per texinfo
The texinfo's miptex number is an index into the texture information area, which holds one reference per texture name. The texinfo storage is not part of the 4MB default allocated for textures; it has its own line in the chart.
MAX_MAP_TEXINFO refers to the number of texinfo objects stored in the map, with a maximum of 32,767. Scale changes will produce this error, but you'd have to have many, many of them.
MAX_MAP_MIPTEX refers to the amount of texture information stored in the map, with a default maximum of 4MB -- scale changes can't produce this error.
<!--c1--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->typedef struct miptex_s
{
char name[16];
unsigned width, height;
unsigned offsets[MIPLEVELS]; // four mip maps stored
}
miptex_t;<!--c2--></td></tr></table><span class='postcolor'><!--ec2-->
MIPLEVELS is 4 since there are always 4 different texture scales referenced by the engine. The size of each miptex_t is 16 x 1 + 6 x 4 = 40 bytes per texture IF the texture isn't included in the BSP. When the texture is in the BSP, the amount of data depends on the texture size. Because multiple texinfos can use the same miptex, only complete removal of texture images from the map will lower this number.
The miptex objects are what fill the 4MB limit, along with image data if the author included textures in the BSP. The miptex size isn't really an accurate measurement of the amount of texture information used by the level because it doesn't include texture image information from WADs.
EDIT: fixed broken code tag
I should get the open source zhlt, and see what it can do
Hope my java/minimal c++ skills can help me read it
amckern
PS> Sorry for thread take over