That was a pretty exciting and eventful block of work today. First of all I fixed the game change followed by map load crash for real, by allocating the various progs lumps in their own distinct buffers, and by making the progs header variable a non-pointer. These are all cleared to NULL on a disconnect or memory free event, so that it's possible to trace any attempts to read from them or write to them which shouldn't be happening (there are none, but it seems like the right thing to do).
I remain convinced that it's C runtime library changes that caused it; it didn't happen in 2003, even using the multithreaded libraries that came with that. Anyway, it's all history now, and the progs loader has an extra layer of robustness that it didn't have before, which is nice enough in itself.
Then I ripped off the DarkPlaces sky scroll. This is optional but enabled by default, as it more accurately replicates classic Quake. I've also added some more cvars to better control the sky. I'm going to stick all of these into a menu somewhere (must also add skybox loading to this menu).
While doing the latter I was quite amused to discover that the DarkPlaces R_Mesh_Draw function almost exactly replicates the parameter list and order of Direct3D's DrawIndexedPrimitiveUP (which I'm currently using). Direct3D adds a primitive type at the start and omits the firsttriangle parameter, but otherwise they are identical. One would almost wonder...
Wednesday, May 27, 2009
More DirectQ Updates
Posted by
mhquake
at
2:24 AM
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment