- SFXs no longer allocate mempools, they use the sound mempool directly.
It saved 21KB and 129 mempools (from 191 to 62) in my quick test.
- removed unused function S_UnloadSound
- changed an endian test in the Ogg Vorbis code to look more coherent
changed R_TimeReport to call glFinish to improve the accuracy of the reports on each subsystem (not allowing deferred rendering - yes this knocks your framerate down a lot)
rewrote colormapping handling to store colormap_pantscolor and colormap_shirtcolor in entity_render_t rather than having the annoying palette lookups in the renderer, while doing this I removed support for fullbright rendering of colormap colors 14 and 15 (this shouldn't really affect anyone, stock quake did not even let you use these colors, and they're ugly colors anyway :)
rewrote portions of surface renderer again, to improve readability and overbright handling, this shouldn't change anything visually
use a better check for bmodels when clearing stainmaps which won't happen on old submodels (which might not be unloaded yet when this function is called)
- Updated Zlib definitions to version 1.2.3. The only difference is that
the function calling convention has changed on Win32 (previously, the
zlib DLL used WINAPI). YOU NOW NEED AN OFFICIAL "zlib1.dll" version
1.2.x instead of your old "zlib.dll" (get it from http://www.zlib.net/).
If you still want to use a DLL with the old calling convention,
uncomment line 101 and recompile (such a DLL can be found at
http://www.winimage.com/zLibDll/).
- Removed QuakeForge copyright since the last bit of QF
code was removed months ago by LordHavoc
- Changed the way we test the presence of the O_NONBLOCK flag
MCBSP version 2 loading in the engine.. Some very ugly code (will be rewritten). Also, I haven't thought of how bboxes will round to hull sizes yet, so don't even bother trying to use the format yet. Also, someone might want to add a dhullinfo_t instance in the model struct or something, so the rounding functions would be able to access the hull sizes. I'm not sure how that will all work yet.
new surface renderer, builds a layer list in R_UpdateTextureInfo, currently requires r_test to be 1 to use it, will be removing old surface renderer (still available) soon
Mac OS X OpenGL and input module, using Carbon and AGL. Still in development, but stable enough for a player to use. Notable problems and missing features: no hardware gamma support, no desktop menus, mouse movement scaling NOT disabled (please, if someone knows how to do that with Carbon, let me know), and the fact that it has only be tested on one computer so far (my iBook G4)...
removed detail texturing (it only worked in q1bsp and hlbsp maps, did not work properly with rtlights, was liked by some people and disliked by many more, and consumed some memory)
moved waterscrollmatrix handling into texture->currentexmatrix to simplify texture matrix shaders like water, and added support in R_Shadow_RenderLighting functions
changed Mod_Q3BSP_LoadEffects to allow brushindex -1 (for effects applied to the whole map), and made it use a warning instead of an error for invalid brushindex
migrated surface list iteration into the RenderLighting paths for more efficient handling of surfaces, this increased GLSL performance, and vertex lighting performance (rewrote most of it), dot3 path is still quite slow however
fix a few very small mistakes by Black and Elric: precompiler directives (#define) can not have whitespace before them, but can have whitespace after the #
Added CoreAudio (Mac OS X) sound driver. Changed / fixed a couple of Mac OS X related lines in the makefiles. The sound format is now printed at sound module startup.
split model->DrawShadowVolume into CompileShadowVolume and DrawShadowVolume to simplify things
moved ShadowMesh creation from R_RTLight_Compile to R_Q1BSP_CompileShadowVolume
split R_Shadow_RenderLighting into several functions for different paths to (very slightly) improve readability
fixed a bug introduced by recent specularscale optimizations (it wasn't being passed to RenderLighting)
removed r_shadow_realtime_world_compilelight cvar and all code relating to it (no longer compiles lighting geometry), this is necessary for proper handling of water and animated textures
migrated a lot of error handling out of R_Shadow_RenderLighting and into the loading code or DrawLight code, this makes r_shadow_realtime_world_compilelight
0 faster than it was, still not quite as fast as compilelight 1 however
New MCBSP format, used for my mod. It differs from bsp 29 in that it stores coloured lighting data in the bsp file itself, it has a different set of hulls, and a differently formatted header (I used a few hacks to pull that off without adding a new header struct... maybe be changed later).
Anyway, do NOT use this format yet! The format is WIP and backward compatibility will not be kept!
now has two precision error workaround cases rather than one, lifts have been successfully tested at 1 million frames per second
slight cleaning of some variable declarations
The broken pushers are PARTLY fixed. They will now stop when in contact with an entity and call their blocked() QC function. However they appear to have a tiny portion stuck in the player, so the developer console will still be spammed with 'player is stuck.' messages, and the player can still jump while a crusher is on his head.
Note to smart people: I'm not sure what to stick in movetype for the SV_ClipMoveToEntity calls, so I put 0 since it's not important. Maybe that should be changed to the appropriate value for the sake of Good(tm).
havoc [Sun, 28 Aug 2005 07:23:51 +0000 (07:23 +0000)]
added .dpm model support
moved Mod_ZYMOTICMODEL_Load function prototype from model_zymotic.h to model_alias.h (where the others already are)
removed an unnecessary call to Mod_BuildTriangleNeighbors in Mod_ZYMOTICMODEL_Load (it was being called twice)
sajt [Wed, 24 Aug 2005 11:45:37 +0000 (11:45 +0000)]
Added 99% functional weaponmodel bobbing code. It even tries to stop bobbing when you're not on the ground, and smoothly transitions between bobbing and not bobbing. The only problem is it seems to jolt whenever you pass through a message trigger or pick up an item or do anything unexceptional like that. Was it a bad idea to trust cl.onground?
havoc [Wed, 24 Aug 2005 05:59:41 +0000 (05:59 +0000)]
some cleanup of R_DrawTextureSurfaceList
changed model->brushq3.data_lightmaps checks to model->type == mod_brushq3, to fix rtlighting issues in unlit q3bsp maps (which were rendering fullbright even in rtworld mode)
sajt [Tue, 23 Aug 2005 21:45:11 +0000 (21:45 +0000)]
When below 1 fps, the fps counter instead counts spf (seconds per frame). Note that it's pretty hard to get into the spfs (so far I've only gotten it the moment after adding 30 rtlights at the same time when there were already 300 in the same spot)
sajt [Tue, 23 Aug 2005 21:09:21 +0000 (21:09 +0000)]
Added showbrand cvar, possible values 1-8. Draws the image gfx/brand on an edge or corner of the screen, based on the value of showbrand. 1 is bottom-left, 2 is bottom-middle, etc.
molivier [Sun, 21 Aug 2005 07:54:56 +0000 (07:54 +0000)]
Added the RTLD_GLOBAL flag to the dlopen call, since some systems seem to require that for some DLLs to work correctly. Thanks to Andreas Dehmel for the patch
havoc [Thu, 18 Aug 2005 18:48:30 +0000 (18:48 +0000)]
added r_smoothnormals_areaweighting cvar (default 1, suggested by Black as a better method, faster and shading looks a little more distinct on nexuiz player models)
black [Wed, 17 Aug 2005 12:43:01 +0000 (12:43 +0000)]
Fixed a bug in the r_shadow light entity parser which caused it to not read in
the pflags, skin and effects key/value pairs in q3 maps.
Added a check to PF_lightstyle for style >= 64.
Fixed a bug in the cursor drawing of the editrtlights mode (it was reading from a
uninitialized vector if you flew out of the map).
havoc [Mon, 15 Aug 2005 07:02:51 +0000 (07:02 +0000)]
added more developer_memorydebug sentinel checks, and made developer_memorydebug do not-allocated checks in a few cases that were not checked before
modified Mem_IsAllocated to be able to take a NULL pool pointer to scan all pools for the allocation