Wirehead Studios

Wirehead Modifications => Generations Arena => Topic started by: scalliano on 2006-03-13, 02:24



Title: A little problem (ZMAlloc error)
Post by: scalliano on 2006-03-13, 02:24
I'm having trouble loading up japandm. Every time I try to run it I get a ZMAlloc failure. I've checked my com_hunkmegs and it's at 300, so that shouldn't be the cause. Has anyone else had this problem?


Title: Re: A little problem
Post by: Makou on 2006-03-13, 02:36
I've not had this problem, but I've heard from somewhere (hell if I remember where) that high com_hunkmegs settings can do some silly stuff. Try setting it lower and see what happens --I run 192 and have never had a problem with it. It's also noted in the manual that anything higher than 128 or so really isn't necessary.


Title: Re: A little problem
Post by: Visimar on 2006-03-13, 04:24
Quote from: Makou
I've not had this problem, but I've heard from somewhere (hell if I remember where) that high com_hunkmegs settings can do some silly stuff. Try setting it lower and see what happens --I run 192 and have never had a problem with it. It's also noted in the manual that anything higher than 128 or so really isn't necessary.
I don't think it could be that. I tried it by opening up the map with com_hunkmegs set to 300, and it worked fine. However, I usually run it at 256, and when I try entering a server for the first time I load GenArena it says "No or Bad Challenge for Address," but reconnecting fixes that. It never did that when I was on my stepdad's iMac (Where it was set to 192), so maybe my small problem's due to my com_hunkmegs being a bit high? Ah, well.


Title: Re: A little problem
Post by: Phoenix on 2006-03-13, 06:08
Zmalloc is not caused by com_hunkmegs.  It's caused by com_zonemegs, which there's no way to increase without modifying the executable.  You get the same problem trying to play MPTerra2 using Gen.  I know because I tried it.  You can try to set com_zonemegs all you want but it will ALWAYS latch, and NEVER change from the default value of 16 no matter what you do.  I confirmed this by modifying quake3.exe to up com_zonemegs to 32 from 16 and voila, problems vanished.

This is part of the reason I want Gen to have its own executable, and why I posted the "who uses a Mac" poll.  You see, I can most likely compile for Linux (I'm damned sure going to try), and I know I can compile under win32, but I cannot compile the Quake 3 executable for MacOS.  I'd need an actual Mac for that, and I don't have the money for one.  There are just some things I can't fix by optimizing in the .qvm anymore.


Title: Re: A little problem
Post by: scalliano on 2006-03-13, 17:30
Actually, false alarm  :shifty: I was beginning to get this problem with every map I tried to load until I discovered that for some bizarre reason, my sv_maxclients had been set to 3010. I reset it to 10 and it's back to normal. Er, thanks anyway!

Pho: How did you increase the zonemegs? Did you use C++?


Title: Re: A little problem
Post by: Phoenix on 2006-03-13, 18:27
I made the following change to the Quake 3 engine source:

qcommon/common.c:
Code:
#define MIN_DEDICATED_COMHUNKMEGS 1
#define MIN_COMHUNKMEGS 56
#ifdef MACOS_X
#define DEF_COMHUNKMEGS "64"
#define DEF_COMZONEMEGS "24"
#else
// Phoenix
//#define DEF_COMHUNKMEGS "56"
#define DEF_COMHUNKMEGS "144"
//#define DEF_COMZONEMEGS "16"
#define DEF_COMZONEMEGS "32"
#endif

Compile Quake 3 and voila, no more zMalloc failures whatsoever.  I also boosted min hunkmegs for non-dedicated.  I've been using this custom compile of Quake 3 Arena exclusively now for a while and I've not had any problems with it.  This is good because in essence this is an alpha test of standalone Q3 compile behavior.  I get a feel for how the GPL build behaves vs the official 3.20 build.  So far its been behaving... well, exactly like Q3, minus Punkbuster of course. ;)

Oh, and for those who might be thinking "Pho cheats!  He h3x0r3d Q3!", um, no.  I wouldn't do that.
That's what magic Phoenix powers are for.


Title: Re: A little problem
Post by: scalliano on 2006-03-15, 18:21
I didn't know the engine source was out - where can I get it?

BTW Who needs PB anyway?


Title: Re: A little problem
Post by: Phoenix on 2006-03-15, 19:32
Folder: ftp://ftp.idsoftware.com/idstuff/source/ (http://ftp://ftp.idsoftware.com/idstuff/source/)
Direct download: ftp://ftp.idsoftware.com/idstuff/source/q....32b-source.zip (http://ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip)

Alternately, you can get it from one of the following sites.  Id's FTP site is usually slow since it's always very busy.  If all else fails, google "quake3-1.32b-source.zip".

http://www.fileshack.com/file.x?fid=7547 (http://www.fileshack.com/file.x?fid=7547)
http://www.3dgamers.com/dlselect/games/qua...source.zip.html (http://www.3dgamers.com/dlselect/games/quake3arena/Thirdparty/quake3-1.32b-source.zip.html)
http://www.fileplanet.com/156321/150000/fi...urce%5D-v1.32b- (http://www.fileplanet.com/156321/150000/fileinfo/Quake-III-Arena-Source-Code-%5BFull-Source%5D-v1.32b-)
http://www.3ddownloads.com/liberatedgames/...BC7404882A3DBAB (http://www.3ddownloads.com/liberatedgames/quake3-1.32b-source.zip;jsessionid=847EDFE7ED7F1C6D6BC7404882A3DBAB)

Enjoy. ;)


Title: Re: A little problem
Post by: scalliano on 2006-03-15, 20:00
Thanks  :thumb: Do you need C++ to compile? Pardon me, I new to this stuff.


Title: Re: A little problem
Post by: Phoenix on 2006-03-17, 00:03
The source comes with a .sln file, which is designed for Visual 2003 .net, though if you have Visual Studio 6 there's a thread regarding compiling it here:  http://www.quakesrc.org/forums/viewtopic.php?t=5405 (http://www.quakesrc.org/forums/viewtopic.php?t=5405)

If you're compiling it for Linux or MacOS follow the instructions Id left (I guess).  I'll know soon enough for linux, once I can get my freaking sound to work...