summaryrefslogtreecommitdiff
path: root/source/q_shared.c
AgeCommit message (Collapse)Author
2010-09-15Renamed source tree subdirectory into ‘src’, moved ‘asm’ ↵Andrey Nazarov
subdirectory there and renamed it into ‘i386’.
2010-08-02Made Q_ClearStr operate in place and renamed it to COM_strclr.Andrey Nazarov
Removed unused Q_HightlightStr function. Changed Q_ prefix on several functions to COM_ for consistency. Clear the message string before passing it to Cmd_ExecTrigger.
2009-09-08Moved some more stuff from q_shared.c into common.cAndrey Nazarov
2009-09-05Changed return type of Info_SubValidate to size_t.Andrey Nazarov
Print more informative warnings when attempting to set an invalid info cvar value.
2009-09-05Fixed an off-by-one error in Info_Validate when checking the length of the ↵Andrey Nazarov
whole string. Made Info_Validate more strict, no longer allow non-printable or high bit characters.
2009-09-05Made Cvar_BitInfo strip non-printable characters just like ↵Andrey Nazarov
Info_SetValueForKey does.
2009-09-04Changed Com_DPrintf, Com_WPrintf and Com_EPrintf functions to macros.Andrey Nazarov
Introduced Com_LPrintf, FS_DPrintf, SV_DPrintf. Don't include any developer code at all unless built with _DEBUG.
2009-09-04Removed support for color escapes embedded in text (but still allow colored ↵Andrey Nazarov
lines in console). Moved color stuff from q_shared.c into the client code.
2009-09-04Moved some math code out of q_shared.c into the main engine.Andrey Nazarov
2009-05-23Fixed scrolling in MVD clients menu.Andrey Nazarov
Implemented automatic chasecam hack for MVD observers. Correctly handle ICMP errors resluting in sendto() failing on Linux. Added ‘--disable-icmp’ option to configure script. Implemented ‘net_stats’ console command.
2009-04-22Don't execute ‘cl_beginmapcmd’, ‘cl_changemapcmd’ and ↵Andrey Nazarov
‘cl_disconnectcmd’ triggers when playing back demos. Fixed automatic restart of sound subsystem after cvar change not working randomly. Don't crash in CL_Disconnect() on dedicated server exit. Added ‘sv_redirect_address’ variable. Fixed ‘\r’ char not stripped properly from filename when processing ‘\include’ directive in AC config files. Made AC config parser compliant with reference format as defined by R1Q2 implementation. Updated documentation.
2009-01-21Implemented Q_strcasestr() and rand_byte().Andrey Nazarov
2009-01-10Made MinGW built OpenFFA game DLL loadable on Win32.Andrey Nazarov
Server now disallows ‘map’ command by default if no latched variables were changed. Added ‘sv_allow_map’ cvar to turn this check off. Implemented ‘kickban’ server command. Made address/mask matching code endianess safe. Made ‘dumpuser’ server command more verbose. Display client FPS value in the output of ‘status’ command. Fixed a crash when MVD channel with an active GTV connection was destroyed. Made it possible to re-enable old Q2 brush tracing bug via ‘map_allsolid_bug’ cvar. Added ‘allow_download_textures’ and ‘allow_download_pics’ cvar for fine tuning download options on client and server sides. Changed ‘allow_download’ default value to 0.
2008-11-13Hacked the source to get it compile on Windows Mobile using CeGCC toolchain.Andrey Nazarov
Fixed nasty memory corruption bug in UI scripts loading code. Fixed software refresh compilation issues on Windows. Inactive MVD channels are now completely destroyed and recreated once they are active again, and they are no longer allowed to stay in waiting state forever. Fixed delay buffer overflow resulting in fatal connection error. Preserve MVD stream flags in demos recorded on GTV server, and handle `inuse' flag correctly on players when writing gamestate. Updated documentation and Debian package descriptions.
2008-10-25Progress meter now works for local MVDs again.Andrey Nazarov
Implemented `mvdskip' command which allows one jump to the next map in a MVD. Removed `mvd_shownet' debugging stuff from dedicated server build. Dropped packets no longer have maximum height on the lagometer.
2008-10-11Major redesign of GTV protocol: added support for persistent GTV connections,Andrey Nazarov
bidirectional pinging, low traffic (`suspended') modes. HTTP server is now gone (remote console logging is temporary gone too), custom binary protocol is used for GTV connections now. MVD client no longer serves other MVD clients, only regular spectators. Changed FIFO buffers to be regular circular buffers, not BIP-buffers. Removed `sv_http_*', `sv_console_auth' variables. Added `sv_mvd_maxclients' variable, `addgtvhost', `delgtvhost' and `listgtvhosts' commands. Renamed `sv_mvd_max*' cvars for consistency. Reset `sv_ghostime' default value back to 6, but changed semantics: it now waits for any packet from client, not just `begin' packet. Added `--disable-mvd-server' and `--disable-mvd-client' options to configure script. FS_Restart() no longer chokes on real files opened for reading. Fixed client chat prompt length. Stubbed out more debugging stuff from dedicated server builds.
2008-10-01Stubbed out more client stuff from dedicated server build.Andrey Nazarov
Dedicated server now properly handles `wait' console command.
2008-09-24Com_sprintf -> Q_snprintf, Q_strncpyz -> Q_strlcpy, Q_strcat -> Q_strlcat.Andrey Nazarov
Q_vsnprintf, Q_sprintf, Q_concat, Q_strlcpy, Q_strcat all return number of characters to be written into the buffer regardless of overflow. Removed COM_AppendExtension, FS_CopyFile, FS_RemoveFile, FS_CopyFile_f. Made sure Q2PRO can only write files into subdirectories of the game directory with a fixed extension. Moved `play' command implementation into main client code. Added support for `s_ambient' value of 3. Renamed `net_log_active' cvar to `net_log_enable'. Log files are now written into `logs/' subdirectory.
2008-08-16Split some monolithic include files into smaller ones.Andrey Nazarov
Use single BSP models cache for refresh and collision subsystems. Refresh libraries may not longer be dynamically loaded. Made gi.TagMalloc use separate tag namespace to avoid conflicts with engine reserverd tags. Fixed listing order of MVD channels in chooser menu. A lot of misc changes... MSVC build is definitely broken now.
2008-06-29Added client and server side support for 32-bit solids.Andrey Nazarov
New R1Q2 and Q2PRO minor protocol versions, 1905 and 1014. Use environment variables for game and server features negotiation. Relax restrictions on quake paths when searching inside pak files. Made OSS subsystem cvar names consistent with core sound system conventions. Misc latched cvar handling changes.
2008-05-09Autodetect gzipped demos during playback.Andrey Nazarov
Extended menu scripts.
2008-04-23Added `dumpents' server command.Andrey Nazarov
Added support for `cl_noskins' value of 2 (default all female skins to `female/athena', all male skins to `male/grunt'). Renamed `scoreshot' command to `aashot', added `aadump' command. Fixed several alignment issues on ARM architecture. Server browser menu now indicates full and password protected servers with color codes. Implemented history search in console with Ctrl+R, Ctrl+S. Removed `cl_railtrail_alpha' variable, all `cl_rail*_color' variables now accept colors in #RRGGBBAA format. Added `map_override' cvar (enables loading map entity lump from external maps/*.ent file). Made `quit' command accept extra arguments. Made `draw' command accept arbitrary colors in #RRGGBBAA format. Fixed debian packages.
2008-04-04Added support for drawing colored text via `draw' client command.Andrey Nazarov
Cvar_Get now resets user defined cvar values for read-only cvars. Sever and game DLL features are now advertised via cvars instead of exports.
2008-04-02Use size_t instead of int where possible.Andrey Nazarov
Added initial support for Win64 port.
2008-02-17Huge search and replace commit.Andrey Nazarov
Use fixed size integer types from stdint.h instead of custom defined ones. Get endianess infromation form endian.h. Added `remotemode' console command. Link with -ldl only on Linux.
2007-12-23Added support for parsing anticheat cvars.txt and hashes.txt.Andrey Nazarov
Properly parse multiple AC server messages received at once. Added `--enable-anticheat' option to configure script.
2007-12-20Added initial server side support for r1ch.net anticheat.Andrey Nazarov
Renamed `listban' command to `listbans'. Make sure NET_Connect sets NS_CONNECTING state even if connect() succeedes immediately. Changed FIFO_Read/FIFO_Write semantics.
2007-12-14Cleaned up info string stuff.Andrey Nazarov
Properly redirect messages longer than rd_buffersize.
2007-12-07Optimized FS_ListFiles (and broken Windows build).Andrey Nazarov
Initial changes to demo browser to support caching.
2007-12-02Finally fixed pak loading order on Windows.Andrey Nazarov
Minimize probability of prediction misses to be counted as ladder steps. Make sure Q_vnsprintf always returns length in range [0, destsize - 1].
2007-11-26Made automatic pause (opening console or menu) not interfereAndrey Nazarov
with manual pause (typing `pause' command). Fixed command prompt cursor positioning bug introduced in the last commit. Commented out unused chat HUD stuff.
2007-11-25Changed Com_sprintf --> Q_concat in quite some cases.Andrey Nazarov
Make sure WAVE sound driver is built by default. Added --disable-wave option to `configure'. Command line history is now remembered between sessions. ALT+Space refreshes all servers in Server Browser. Handle command line agruments like original Q2 engine did.
2007-11-23Added `com_uptime' macro.Andrey Nazarov
Version string no longer overdraws long command line in console. Cap `gl_celshading' value to 5 to prevent possible cheating.
2007-10-07Added sv_uptime cvar.Andrey Nazarov
Optimized some string buffer functions. Made redirect buffer size safe.
2007-09-30Make sure Info_RemoveKey removes any possible duplicates.Andrey Nazarov
Misc code cleanup.
2007-09-16MVD client now makes sure mapfile exists before doing CM_LoadMap.Andrey Nazarov
Fixed MVD client not being killed in case of Com_Error resulting in a crash. Made server HTML output pass formal validation. Fixed COM_AppendExtension. Pack usercmd button mask into 3 bits instead of 8. Bumped minor Q2PRO protocol version.
2007-09-15Allow quake paths up to MAX_OSPATH characters at VFS level.Andrey Nazarov
Modified demo recording and playback functions to support longer pathnames.
2007-08-15Added --hard-link option to configure.Andrey Nazarov
Link in assembly version of BoxOnPlaneSide. Added simple game DLL interface for describing enhanced features. Changed some renderer algorithms to do half of the recurion path in simple cylce.
2007-08-15Fixed UI_ModeChanged not being called for hard linked UI.Andrey Nazarov
Added QDECL specifier for some interface functions. Changed default values for com_date_format and com_time_format. On Windows, set up empty CRT invalid parameter handler so e.g. invalid modificators passed to strftime do not raise an exception.
2007-08-14Initial import of the new Q2PRO tree.Andrey Nazarov