Difference between revisions of "Engine Hunk Overflow"

From Valve Developer Community
Jump to: navigation, search
(How To Fix: rewrote fixes. i recommend against r_hunkalloclightmaps 0 cause its done for a reason...)
(Additional Information - Use the talk page before making any substantial edits unless you are 100% sure)
Line 11: Line 11:
 
*1 = to Valve's seemingly limited to certain size "MemoryStack memory" with Hunk_Alloc
 
*1 = to Valve's seemingly limited to certain size "MemoryStack memory" with Hunk_Alloc
  
== How To Fix ==
+
== Methods To Fixing The Error ==
*+r_hunkalloclightmaps 0
+
*<code>+r_hunkalloclightmaps 0</code>
**Put this in your [[Command Line Options|launch options]]. This will eliminate the error altogether, but it's not a solution for multiplayer games because it forces the server to put it in their command line options (and many will not do this).
+
**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:#009000">Confirmed:</span> Garry's Mod has [[ConVar]] r_hunkalloclightmaps set to 0 by default.
 +
{{Note|This command does not exist in {{csgo}}. Was this command removed? Replaced? Forced?{{confirm}}}}
 
*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). Try splitting them up or making sure the scale on them is not extremely small/big. 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 the displacement be very stretched in one dimension can also cause it.{{confirm}}
**If you can't find any lightmap values that seem odd, 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 put <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.
 
[[Category:Modding]]
 
[[Category:Modding]]
 
[[Category:Level Design FAQ]]
 
[[Category:Level Design FAQ]]

Revision as of 23:07, 3 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 typically 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 acknowledges the issue with Hunk Allocation.
Confirmed: Garry's Mod has ConVar r_hunkalloclightmaps set to 0 by default.
Note:This command does not exist in <Counter-Strike: Global Offensive>. Was this command removed? Replaced? Forced?[confirm]
  • 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]
    • If you can't find any odd lightmap values, as a last resort, select the entire map, open the face edit sheet and put 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.