Difference between revisions of "Engine Hunk Overflow"

From Valve Developer Community
Jump to: navigation, search
m
m (Minor edits, and confirmed stretched displacements can in fact cause an Engine Hunk Overflow error)
Line 3: Line 3:
 
=== Engine Error ===
 
=== Engine Error ===
  
This is an engine error message that occurs when attempting to load the map in-game. This is typically related to [[Lightmap]] values being modified to an odd value.
+
This is an engine error message that occurs when attempting to load the map in-game. This is related to [[Lightmap]] values being modified to an odd value.
  
 
=== What Is Hunk Allocation ===
 
=== What Is Hunk Allocation ===
Line 14: Line 14:
 
*<code>+r_hunkalloclightmaps 0</code>
 
*<code>+r_hunkalloclightmaps 0</code>
 
**Add this in your [[Command Line Options|launch options]]. This will eliminate the error altogether. While fine for singleplayer games, it is not recommended for multiplayer games, as not only will you have to add this to your launch options, but server operators will also have to add it to their server command line.<br>
 
**Add this in your [[Command Line Options|launch options]]. This will eliminate the error altogether. While fine for singleplayer games, it is not recommended for multiplayer games, as not only will you have to add this to your launch options, but server operators will also have to add it to their server command line.<br>
{{Note|[[Garry's Mod]] acknowledges the issue with Hunk Allocation.}} <span style="color:#8bc53f">Confirmed:</span> Garry's Mod has [[ConVar]] r_hunkalloclightmaps set to 0 by default.
+
{{Note|[[Image:Icon_GMOD.png|link=Garry's Mod|alt=<Garry's Mod>]]<noinclude>[[Category:Game icons|{{PAGENAME}}]]</noinclude>
<span style="color:#8bc53f">Confirmed:</span> {{csgo}}CS:GO has [[ConVar]] r_hunkalloclightmaps set to 1 by default, but cvar is hidden so it cannot be changed.
+
[[Garry's Mod]] acknowledges the issue with Hunk Allocation.}} <span style="color:#8bc53f"><b>Confirmed:</b></span> Garry's Mod has [[ConVar]] r_hunkalloclightmaps set to 0 by default.
 +
<span style="color:#8bc53f"><b>Confirmed:</b></span> {{csgo}}Counter-Strike: Global Offensive has ConVar r_hunkalloclightmaps set to 1 by default, but it has been hidden; it cannot be changed.
 
*Find faces with odd or extreme lightmap values.
 
*Find faces with odd or extreme lightmap values.
**Very large [[displacements]] can cause this error. The lightmap value can automatically change (sometimes, to an undesired value). Split them up and/or make sure your lightmap is an even value of a power of 2, avoiding extreme numbers. Having the displacement be very stretched in one dimension can also cause it.{{confirm}}
+
**Very large [[displacements]] can cause this error. The lightmap value can automatically change (sometimes, to an undesired value). Split them up and/or make sure your lightmap is an even value of a power of 2, avoiding extreme numbers. Having stretched displacements in one dimension can also cause it.
**If you can't find any odd lightmap values, as a last resort, select the entire map, open the [[Hammer Face Edit Dialog|face edit sheet]] and put <code>16</code> for the lightmap scale.
+
**If you can't find any odd lightmap values, as a last resort, select the entire map, open the [[Hammer Face Edit Dialog|Face Edit Sheet]] and input <code>16</code> for the lightmap scale.
**If reverting the entire map's lightmap value to <code>16</code> does not suit you due to high amount of work on lightmap, make use of the [[Hammer Cordon Usage|cordon bound tool]] to determine if the Engine Hunk Overflow error is caused by the lightmap data as a whole (i.e. related to the size of the map) or by a certain brush or set of brushes.  
+
**If reverting the entire map's lightmap value to <code>16</code> does not suit you due to high amount of work on lightmap, make use of the [[Hammer Cordon Usage|Cordon Bound Tool]] to determine if the Engine Hunk Overflow error is caused by the lightmap data as a whole (i.e. related to the size of the map) or by a certain brush or set of brushes.  
 
[[Category:Modding]]
 
[[Category:Modding]]
 
[[Category:Level Design FAQ]]
 
[[Category:Level Design FAQ]]

Revision as of 15:21, 6 February 2019

What Does It Mean?

Engine Error

This is an engine error message that occurs when attempting to load the map in-game. This is related to Lightmap values being modified to an odd value.

What Is Hunk Allocation

This is described as the memory allocated for light data.

  • 0 = to normal "program memory" with alloc
  • 1 = to Valve's seemingly limited to certain size "MemoryStack memory" with Hunk_Alloc

Methods To Fixing The Error

  • +r_hunkalloclightmaps 0
    • Add this in your launch options. This will eliminate the error altogether. While fine for singleplayer games, it is not recommended for multiplayer games, as not only will you have to add this to your launch options, but server operators will also have to add it to their server command line.
Note:<Garry's Mod>Garry's Mod acknowledges the issue with Hunk Allocation.
Confirmed: Garry's Mod has ConVar r_hunkalloclightmaps set to 0 by default.

Confirmed: <Counter-Strike: Global Offensive>Counter-Strike: Global Offensive has ConVar r_hunkalloclightmaps set to 1 by default, but it has been hidden; it cannot be changed.

  • Find faces with odd or extreme lightmap values.
    • Very large displacements can cause this error. The lightmap value can automatically change (sometimes, to an undesired value). Split them up and/or make sure your lightmap is an even value of a power of 2, avoiding extreme numbers. Having stretched displacements in one dimension can also cause it.
    • If you can't find any odd lightmap values, as a last resort, select the entire map, open the Face Edit Sheet and input 16 for the lightmap scale.
    • If reverting the entire map's lightmap value to 16 does not suit you due to high amount of work on lightmap, make use of the Cordon Bound Tool to determine if the Engine Hunk Overflow error is caused by the lightmap data as a whole (i.e. related to the size of the map) or by a certain brush or set of brushes.