dresk [Sun, 26 Aug 2007 19:02:29 +0000 (19:02 +0000)]
Added pointsound QC function to CL and SV VMs (extension DP_SV_POINTSOUND, #483). This function is very similar to sound, though instead of providing an entity, an origin is provided, and the channel parameter is omitted (since no entity is being tracked).
This function requires no modification to the protocol layer (since origin was always sent with sound calls, along with an entity).
havoc [Thu, 23 Aug 2007 07:44:46 +0000 (07:44 +0000)]
implemented support for GL_ARB_texture_compression - this is controlled
by the gl_texturecompression cvar, and which kinds of texture are
affected can be controlled by the gl_texturecompression_* cvars
divverent [Wed, 22 Aug 2007 15:40:45 +0000 (15:40 +0000)]
add to cvar expansion: new variant $3- for all arguments starting from the 3rd; note: $1- is equivalent to $*.
Fix bug in cvar value quoting that didn't quote $ (typo).
dresk [Thu, 16 Aug 2007 06:35:30 +0000 (06:35 +0000)]
Added SSQC Function "SV_OnEntityNoSpawnFunction" which is called, if available, whenever an entity on the server is parsed but has no spawn function. Previously Darkplaces would report this to the console under developer mode and immediately remove the entity. The SSQC may now specify the behavior when such an event occurs (it may also simply call remove(self) to mimic the engine's behavior.)
dresk [Mon, 13 Aug 2007 18:04:50 +0000 (18:04 +0000)]
Added CSQC globals dmg_take, dmg_save and dmg_origin. These globals correspond to the SSQC-sent messages that provide the data from the QC layer. dmg_origin is the origin of the damage taken, derived from the dmg_inflictor entity in the QC. All values are reset after every rendered frame (to mimic the server behavior).
These globals are optional, and do not interfere with the CRC of the CSQC definitions.
havoc [Thu, 9 Aug 2007 05:16:37 +0000 (05:16 +0000)]
fix a clientside bug with CL_ValidateState altering entity states and
causing them to remain altered in the future on delta updates in DP5/6/7
protocols (for example if skin or frame was set to a value that is not
valid on the current model, and then the model changes without the skin
or frame changing, it would be stuck on skin 0 or frame 0 until they
change to something else)
Reverted addition of float global intermission to clprogdefs.h (which required a CRC update and recompilation of all CSQC mods). Revert changes to CSQC Defs file if intermission had been inserted into it.
CSQC updating of intermission still supported if float global intermission exists.
Added the global float "intermission" to CSQC defs (in clprogdefs.h). Intermission was added after the global float servercommandframe, and MUST be added in all CSQC definitions files at this location. This float is updated whenever the client intermission is updated.
This new global float is part of Spike's CSQC definition, as it exists in his globals as well (albeit in a different order from DP's).
Added the map name (ie. "The Grisly Grotto") to the world.message field string in CSQC (you will have to define .string message somewhere in your QC code to access it)
add Cmd_QuoteString, and make the config writing code use that to quote strings written to the config file (so binds containing backslashes and quotes are saved correctly)
command parsing: make "bind" and "in_bind" have the same parsing exception as "alias": no cvar expansion takes place when executing these commands, unless the command names are quoted or "hidden" in some other way
This fixes binds using cvars when written to the config file.
modified Mod_Q1BSP_LoadFaces to use smaller lightmapsize on maps that
don't have a lot of lightmap data (mainly ammo boxes and such), and also
increased the maximum lightmapsize to 1024 which improves performance on
very large maps like masque.bsp
added some tolerances in Mod_Q1BSP_RecursiveHullCheck so that it is
likely to give sane results if an endpoint is exactly on a plane
(possibly negating the need for the nudge off the impact plane, but that
remains in the code)
fix bug with large time skips in demo playback being slowly interpolated
rather than simply skipped as in Quake, this fixes Nehahra movie
playback (where scene cuts are associated with large time deltas), as
well as fixing the view angle interpolation on the first frame of all
other demos
Removed inline from function Con_Rcon_AddChar due to MSVC8 (Visual Studio 2005) not supporting the C99 standard (which supports inline). Potential future compiler check for feature.
Added optional wildcard support for prvm_edict, prvm_edicts and prvm_globals commads. In prvm_edict/s, wildcard is for field names; in prvm_globals, wildcard is for generic names.
new cvar log_dest_udp to send all console data to one or more specified addresses, separated by spaces, in form of QW rcon prints. Should be useful to let external programs communicate with a DP server (like IRC gateways, console web interfaces, stuff like that)
changed parsing/cvar expanding rules to allow better handling of cvars with evil characters in their value, and to allow for easy concatenation of cvar values:
- \\ inside quoted strings now becomes \ (which is honored by semicolon splitting too)
- only one round of expansion when processing an alias (expanding cvars and parameters at the same time); this is implemented by duplicating every resulting dollar sign when expanding an alias
- lines starting with alias are exempt from cvar expansion (to be compatible with older versions that rely on alias lines with double quoted arguments to not have cvar expansion, which got changed in a recent commit); this can be overridden by quoting the word "alias"
- add ${cvar} syntax so one can expand a cvar and immediately follow with some letters
- add ${$cvar} syntax to reintroduce indirection similar to what could previously be done because aliases were expanded in two rounds
- make $cvar expansion insert the cvar in a way that isn't harmful when inside double quotes (that is, backslash double quotes and backslashes); this then allows copying cvars using: set copy "$original"
A detailed description of the rules is in cmd.c, Cmd_PreprocessString in a big comment block.
added sv_gameplayfix_delayprojectiles cvar, to allow the delayed
projectiles behavior to be disabled if desired (since it does have a
significant impact on gameplay)
divverent [Fri, 29 Jun 2007 11:40:33 +0000 (11:40 +0000)]
add cvar sbar_miniscoreboard_size to control the size of the mini DM overlay in items (or -1 makes it get a default size depending on the current HUD); shift around the frags counter a bit to work well with 4 teams in sbar_hudselector 1 and 3 teams in sbar_hudselector 0 in Nexuiz (yes, then 4 teams display is knowingly broken, but it looks like we can use sbar_hudselector 1 in the next release)
divverent [Fri, 29 Jun 2007 07:46:15 +0000 (07:46 +0000)]
fix shader name in "permutation%s failed for shader %s, some features may not work properly!" message (previously was hardcoded to glsl/default.glsl);
new command r_glsl_dumpshader that dumps the engine builtin default.glsl file to glsl/default.glsl for editing and trying out stuff
havoc [Fri, 15 Jun 2007 08:54:47 +0000 (08:54 +0000)]
changed the meaning of VF_PERSPECTIVE false after discussion with Spike,
VF_FOV now determines the dimensions in all directions (in other words,
the view is from -VF_FOVX to +VF_FOVX horizontally, and -VF_FOVY to
+VF_FOVY vertically, in quake units)