This is badass!
Thank you so much dumptruck_ds!
holy crap thats so cool. i wish more companies open-sourced their old games so we can continue having fun instead of dealing with all this modern crap
God, I hate Quake's memory management. So complex and difficult to track things down.
Heap Of Trash Size
You're not the only one. Novum just replaced the memory management system in vkQuake.
Quake's memory management is designed around running on an MS-DOS PC with 8 MB of memory and no virtual memory.
That's why it does things like having a fixed-size hunk, allocating the zone from that hunk, and allocating models and other objects in a cache that things can be moved into and out of on-demand, also from that hunk.
That's why software Quake also allocates it's video buffers from the same hunk.
The main constraint here is that 8 MB is an absolute hard limit. The program just cannot go above it, unused pages won't get swapped out (no virtual memory), and this limit is enforced by allocating all memory that the program is going to use at initialization time. There's some looseness for temp buffers and the stack, but otherwise any attempt to use more memory will be a crash.
WinQuake and GLQuake were obviously quick and dirty ports that didn't have the same constraint, so they sometimes go into alternative memory management and usage via big static buffers, etc.
It's very instructive to look at how memory management changed between Quake 1 and Quake 2. Quake 2 did not run on DOS, so it could take advantage of running on an OS that managed virtual memory for it, and all of the cache stuff was gone, the Zone was just replaced with malloc calls (and some tags to allow for multiple zones), and instead of a single large global hunk, each model had it's own individual hunk.
The memory management stuff I did on the old Inside 3D just replaced the Zone with malloc, on the basis that there was only one zone in Quake 1. It also replaced the cache with malloc, so that sounds, models and other items are never actually evicted from the cache, but instead persist for the entire run of the program.
That approach is obviously not compatible with game changing, nor with anything like Frik File (IIRC) that needs multiple Zones, but it was never meant to be, and further enhancements are left as an exercise to each individual.
Reading through those again was very nostalgic. I'm cloning sdlquake to have fun with these on linux.
thank you for all the hard work documenting all your findings with the community through all these years, mh. it's just awesome.
Progs_dump + Copper
Good evening friends and I hope Dumptruck sees this: How would I give the Enforcers in progs_dump the shooting behavior of the Enforcers in Copper? I’ve got my nail Enforcers in my map since I’m using progs_dump in Trenchbroom but I want them to continuously fire when they see the player just like the Enforcers do in Cooper mod. Thank you for your time.
I've reached out to Xeryn but I figured I could answer this here. The next version of progs_dump should be out in a matter of weeks. We've added a new Enforcer style (5) that is a rapid fire nail attack. We were going for more of a deathmatch opponent with a nail gun feel for this. It's not exactly like the Enforcers in Copper but they do fire a volley of around 10 nails per attack. Their aim is pretty weak. Again, not like Copper but closer than the normal Enforcer.
The good thing is you can replace the nail models and sound effects very easily to lasers and even the wall hit sound can be replaced.
Stay tuned for progs_dump 3 news very soon.
Sound Off Soldier!
If you check in here once a day or once a week please post a reply below (even if anon)
Want to gauge how many visitors are here (unless metlslime has some analytics.
I have data on active use (posts) — currently hovering around 1 per day — and the last login time for each registered user. That’s how the People page can tell how many recent users visited in the last 30 day — currently 69. Of course that doesn’t count anonymous visitors.
Sounding Off Like I Got A Pair!
I typically at least look at the site once per day to see what topics there may be any new posts in.
The Quick Red Fox
jumps over the lazy brown dog.
Would never give up on Quake!
Boomer Shooter's Forever !
Been in mah bookmarks for about 15 years now. Check it on the regular. If I post a release, it's here.
still checking the board about once per week