[Gtkradiant] [Bug 288] New: q3map barfs if more than 3 root shaders are specified for terrain
Mon, 07 Jan 2002 01:32:31 -0600
Summary: q3map barfs if more than 3 root shaders are specified
OS/Version: Windows 9x
I found this using 1.1.1 with RTCW, but it should not be game specific.
q3map gives the error when you try to compile a map with a terrrain entity that
has more than three root shaders and a corresponding alphamap:
************ ERROR ************
safe_malloc failed on allocation of 926365492 bytes
The number value seems to come from uninitialized data. I haven't seen what
happens if you actually have 900 megs available to allocate. This happens in
1.1.1 as well as 1.1.2-nightly. I'm currently unable to test 1.2 with wolf, but
the same code does seem to exist in my fairly recent 1.2 CVS. Reducing the
number of shaders and alphamap components to 3 makes the problem go away. Wolf
terrains seem to use more than 3 shaders per terrain.
The error comes from tools\quake3\q3map\terrain.c:EmitTerrainVerts
This is called from SetTerrainTextures, which has a a note in there from ttimo:
// TTimo the number of layers is not supposed to be limited to 3? who said that?
// tried to comment out this line but it seems it doesn't solve the problem
num_layers = 3;
Apperently it's been noticed before, but I couldn't find it in bugzilla, so here
msdev stack trace:
safe_malloc(unsigned int 926365492) line 59
EmitTerrainVerts(side_s * 0x06b5ef54, terrainSurf_t * 0x07484ac4, int 3, int *
0x0427f39c, int 1) line 452 + 12 bytes
SetTerrainTextures() line 684 + 32 bytes
ParseMapEntity() line 1146
LoadMapFile(char * 0x02876780 _name) line 1183 + 5 bytes
main(int 2, char * * 0x045b0740) line 878 + 10 bytes
------- You are receiving this mail because: -------
Whoops! I have no idea!