This article's documentation is for the "GoldSrc" engine. Click here for more information.

AllocBlock:Full: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
 
 
(14 intermediate revisions by 8 users not shown)
Line 1: Line 1:
[[Category:Compiler Errors]]
{{gldsrc topicon}}
{{update|
* AllocBlock is the allocation of lightmaps (64 in first-party titles, 512 in {{sven}}).
* AllocBlock errors are purely related to [[lightmap]] atlas generation. Lightmaps are always 16 [[luxel]]s per [[texel]], so the easiest way to use up AllocBlock is to have a lot of brushes with dense texture scales.
* '''''AllocBlock is why {{gldsrc|4.1}} mappers use 1.0 texture scale by default.'''''
}}
==Description==
While compiling or attempting to play it, your map has exceeded the maximum lightmap size.


A tough one to figure out, a vague error that usually shows up when you start the game or during compile, or even when WC/Hammer starts up - you have gone over the memory limit somewhere for some reason. It can be too little RAM (128M is about minimum), a leaf saw into leaf error, too long pathnames, too many textures, too big a level, too big or too many model/sprites, too big a wav sound file - or it could be that old "too many wads" mistake, a huge "noob" brush around the map to prevent leaks, too many SKY faces on hidden brush faces in the level - or even something else. Example: In early versions of NS, the 3D area info location entities were a major cause.
==Solution==
Reduce resolution and scale of used textures. Consider using [[Detail textures (GoldSrc)|Detail textures]] to increase the perceived quality of WAD textures, instead of using high-res WAD textures.
: {{Important|Users whose GPUs have blocked the {{code|GL_ARB_multitexture}} extension (such as for {{pcgw|Half-Life#OpenGL_overbright_lighting|enabling overbright lighting}}) will not see detail textures.}}


If it happens during compile, do not use WC/Hammer to "run" the map, but use a front end or batch file to compile with. You could also get more RAM. (The following may still be handy, however be aware that Software mode allocates memory dynamicly, so it may automaticly seem to "fix" any error. Therefore the following info MAY lead you into a dead end:
Additional optimization options include:
* Use [[tool textures (GoldSrc)|NULL]] whenever a brush entity's face is completely obscured by a world brush or another entity.
* After compiling CSG, BSP and VIS, use {{newbspguy|2}} to add the {{code|TEX_SPECIAL}} flag to faces which should be unlit (fullbright), then recompile RAD from within NewBSPGuy.
* For brush entities which should be unlit, use [[VHLT]]'s {{code|zhlt_striprad}} KV to strip lightmaps from the entity after RAD is compiled.
* Avoid rotating textures, as this also rotates the lightmap, causing more lightmap usage.


Some brush-based entities have rendering properties that, when they interact in OpenGL/D3D video cards, they crash. Switch Half-Life to Software mode first, then load the map. If it loads you now know it is something that is handle different in software, then for Opengl/d3d check water, glows, additive, sprites, transparencies (illusionaries, windows, ect.), env_beams and so on.) If it happens in opening a level in WC, it may be you have an animating model showing in one view. You must switch to single view instead of multiple, and try different ones until you get past it.
== External links ==
* {{twhl|AllocBlock}}
 
[[Category:Compile errors]]

Latest revision as of 19:12, 4 April 2025

Broom icon.png
This article or section needs to be updated to include current information regarding the subject because:
  • AllocBlock is the allocation of lightmaps (64 in first-party titles, 512 in Sven Co-op).
  • AllocBlock errors are purely related to lightmap atlas generation. Lightmaps are always 16 luxels per texel, so the easiest way to use up AllocBlock is to have a lot of brushes with dense texture scales.
  • AllocBlock is why GoldSrc GoldSrc mappers use 1.0 texture scale by default.
Remember to check for any notes left by the tagger at this article's talk page.

Description

While compiling or attempting to play it, your map has exceeded the maximum lightmap size.

Solution

Reduce resolution and scale of used textures. Consider using Detail textures to increase the perceived quality of WAD textures, instead of using high-res WAD textures.

Icon-Important.pngImportant:Users whose GPUs have blocked the GL_ARB_multitexture extension (such as for Pcgw icon.png enabling overbright lighting) will not see detail textures.

Additional optimization options include:

  • Use NULL whenever a brush entity's face is completely obscured by a world brush or another entity.
  • After compiling CSG, BSP and VIS, use newbspguy newbspguy to add the TEX_SPECIAL flag to faces which should be unlit (fullbright), then recompile RAD from within NewBSPGuy.
  • For brush entities which should be unlit, use VHLT's zhlt_striprad KV to strip lightmaps from the entity after RAD is compiled.
  • Avoid rotating textures, as this also rotates the lightmap, causing more lightmap usage.

External links