havoc [Wed, 27 Feb 2008 15:22:17 +0000 (15:22 +0000)]
implemented threaded audio mixing for SDL client (required some
minor clean up of S_PaintAndSubmit and the functions it called, the
buffer painting management makes a lot more sense now)
fixed bug with looping sounds mixing sound to the wrong part of the
buffer after looping (uses a pointer instead of paintbuffer now)
havoc [Wed, 27 Feb 2008 11:52:29 +0000 (11:52 +0000)]
one last try to beat the OSX texture scrolling bug (set activetexture
and clientactivetexture - even though only the former is needed, and do
so before switching the matrixmode to texture)
havoc [Mon, 25 Feb 2008 07:48:46 +0000 (07:48 +0000)]
fix bug with rtlights not being imported from the map sometimes (caused
by previous level having a lot of lights, exposing a bug in
Mem_ExpandableArray_IndexRange)
divverent [Sat, 23 Feb 2008 21:44:51 +0000 (21:44 +0000)]
libjpeg writing: turn off chroma subsampling. Really improves how strong colors look on screenshots (like, red healthpack models or text no longer appear blurred)
havoc [Fri, 22 Feb 2008 05:30:33 +0000 (05:30 +0000)]
set csqc world.mins and world.maxs (reworked World_SetSize to make this
easier)
moved the qc SV_Shutdown in Host_ShutdownServer to before clients are
kicked off
added qc SV_Shutdown call in SV_SpawnServer (before the progs reset)
fixed a bug with failed changelevel (which was unloading world)
havoc [Thu, 21 Feb 2008 10:21:41 +0000 (10:21 +0000)]
added #ifdef SUPPORTDIRECTX checks around all the dinput and dsound code
- this means that dinput and dsound is not removed but is disabled,
making it easier to compile with Dev-C++ and stock MSVS, this may have
bad consequences (some people swear by -dinput, and dsound was used by
default unless -wavonly was specified, so this is a behavior change)
havoc [Thu, 14 Feb 2008 23:03:11 +0000 (23:03 +0000)]
always call Sleep(0) at the end of each frame on Windows, I hope this
fixes problems with Logitech input drivers freezing the game for 50+
milliseconds every 3 seconds or so, and has no harm to framerate in
testing
havoc [Thu, 14 Feb 2008 14:10:57 +0000 (14:10 +0000)]
added experimental cl_alwayssleep cvar which calls Sys_Sleep(0) at the
end of each frame
fixed a bug in the main loop that made Sys_Sleep be called with
milliseconds when it takes microseconds
divverent [Wed, 6 Feb 2008 07:38:46 +0000 (07:38 +0000)]
disable joystick by default, and make joy_enable saved;
add extension DP_QC_CVAR_TYPE that checks what type a cvar is (like, if the engine created it or the mod, or if it is saved)
will write dpextensions.qc block for it later, a start of its description is in mbuiltin.h in Nexuiz
black [Tue, 5 Feb 2008 18:15:09 +0000 (18:15 +0000)]
Comment out a line in setmodel again (needs fixing but wasn't in there before anyway)
Always clear the depth buffer in R_RenderView.
Use realtime as scene time when rendering the menu scene.
black [Tue, 5 Feb 2008 16:20:23 +0000 (16:20 +0000)]
Fix the VM's clientstate builtin to do a correct mapping between the client state and the menu's constants (now that the client state values have changed in DP itself).
havoc [Mon, 4 Feb 2008 11:47:04 +0000 (11:47 +0000)]
huge audit of dprints throughout engine, all notices of successfully
loading models/sounds/skins/etc are now tied to the cvar
developer_loading
added developer_loadfile cvar (prints every successful FS_LoadFile)
many improvements to consistency of loading notices, and some cleanups
to q3 shader handling
fixed annoying 'Bad dynamic texture name' spam at load
havoc [Mon, 4 Feb 2008 11:33:14 +0000 (11:33 +0000)]
fix bug that caused early console messages to not be put in console
history (because cls.state defaulted to ca_dedicated - now it defaults
to ca_uninitialized)
havoc [Mon, 4 Feb 2008 01:28:39 +0000 (01:28 +0000)]
modified droptofloor to try a downward trace from the bottom center of
the object if it is stuck, this manages to 'correctly' place many badly
placed entities in quake maps
additionally modified droptofloor to first try unsticking the entity
before dropping it (sv_gameplayfix_droptofloorstartsolid_nudgetocorrect)
havoc [Sun, 3 Feb 2008 11:12:42 +0000 (11:12 +0000)]
fix Black's PRVM_EDICT_NUM_ERROR return type change which did not work
(0 is not the same as NULL, compilers get upset about that)
one other minor correction of the same kind
divverent [Sat, 2 Feb 2008 18:38:38 +0000 (18:38 +0000)]
fix bugs with changing apple_mouse_noaccel and vid_dgamouse while grabbed (that previously could "destroy" mouse support until console gets pulled down and up)
black [Fri, 1 Feb 2008 16:21:37 +0000 (16:21 +0000)]
Rewrite CSQC's setmodel a bit.
Add support for CSQC_Ent_Spawn to csqc. A function that is called when a entity packet from the server arrives that requires a new entity.
entity( float entnum ) CSQC_Ent_Spawn;
CSQC_Ent_Spawn needs to spawn a new entity and set its .entnum field accordingly or simply return another existing entity or world if it wants to ignore that server entity. Subsequent CSQC_Ent_Update calls are routed to that entity (or CSQC_Ent_Spawn is called again when .Version increases).
divverent [Fri, 1 Feb 2008 08:56:31 +0000 (08:56 +0000)]
- vid_userefreshrate: when 0, a sane default is tried to be used
- win32: list valid modes, and use the closest match
- win32: vid_forcerefreshrate: don't do the listing, but just try to set it anyway
havoc [Fri, 1 Feb 2008 06:00:59 +0000 (06:00 +0000)]
renamed MATERIALFLAG_WATER to MATERIALFLAG_WATERSCROLL
changed all MATERIALFLAG_WATER materials to use MATERIALFLAG_WALL as
their primary material flag, this simplified some rendering code
did some more tweaks to fix issues with the mirror glass texture in
the tenebrae testmap
havoc [Tue, 29 Jan 2008 18:53:55 +0000 (18:53 +0000)]
changed postprocess shader to use Texture_GammaRamps instead of
Texture_Attenuation to make the code more clear (no impact on
performance)
fixed bug with viewblend being applied inversely
divverent [Tue, 29 Jan 2008 16:55:43 +0000 (16:55 +0000)]
v_glslgamma: make GLSL postprocessing take over the job of v_hwgamma completely, if set and glsl works. Costs here 1.6ms per frame, so I'll keep r_glsl_contrastboost.
divverent [Tue, 29 Jan 2008 12:29:14 +0000 (12:29 +0000)]
add an extra unused #ifdef to the glsl shader so the shader can know if it was actually enabled by r_glsl_postprocessing or if it was just forced by bloom
divverent [Tue, 29 Jan 2008 12:08:06 +0000 (12:08 +0000)]
make other parts of DP able to retrieve the gamma table, and add a serial field so other subsystems can poll if it has changed. Useful for handling it using glsl.
divverent [Tue, 29 Jan 2008 11:39:41 +0000 (11:39 +0000)]
v_contrastboost, and support for the color control functions to fill the gamma table. Goal: remove USECONTRASTBOOST and USEGAMMA in the postprocess shader, replace it by USEGAMMARAMP, and let vid_shared build the gamma tables even if hw gamma is off when glsl needs them... then add a cvar r_glsl_hwgamma that lets glsl take over gamma ramp handling