Commit Graph

1641 Commits

Author SHA1 Message Date
Thilo Schulz ca44693f34 More intelligent exponentiation in strtod/strtol (#5487) - patch by Ben Millwood 2012-07-01 16:43:28 +00:00
Thilo Schulz a3c7003d9c prevent using getinfo as an amplifier for DDOS attacks (#5678). Patch by DevHC 2012-07-01 14:18:31 +00:00
Zack Middleton b340c9d835 Fixed fatal error ("OP_BLOCK_COPY out of range!") when using qvms on Mac OS X powerpc (see r2031 and r2034). 2012-06-29 18:35:55 +00:00
Zack Middleton 3b09685b42 - Have NET_Sleep work with Windows' INVALID_SOCKET again...
- Use SOCKET_ERROR in NET_Sleep.
2012-06-19 22:36:54 +00:00
Zack Middleton 725c9df608 #5672 - Fixed incorrect type usage in NET_Sleep(), patch from Özkan Sezer. 2012-06-19 16:12:16 +00:00
Zack Middleton 68b3b0922b static-ize inline functions for Clang/LLVM
From /dev/humancontroller.
2012-06-19 15:56:21 +00:00
Zack Middleton afa607c3b6 Added kicknum, kickall, and kickbots commands, patch by Ensiform. 2012-06-19 15:52:08 +00:00
Zack Middleton 945f01d4af more '\n' business
From /dev/humancontroller.
2012-06-19 15:14:57 +00:00
Zack Middleton 4cfbbe506c when interacting with QVMs, Clang/LLVM requires the standard use of the va_*() macros instead of (fast) call hacks
From /dev/humancontroller.
2012-06-19 14:57:51 +00:00
Zack Middleton 64c26ec338 fix a WRONG size argument to a memset() call found by Clang/LLVM
From /dev/humancontroller.
2012-06-19 14:53:40 +00:00
Zack Middleton 2db73231eb remove a bunch of superfluous formatting calls
From /dev/humancontroller.
2012-06-19 14:52:22 +00:00
Zack Middleton 20c6d1e33f rename trap_Printf() to trap_Print() in the game module, as that function has nothing to do with printf()-like formatting
From /dev/humancontroller.
2012-06-19 14:51:02 +00:00
Zack Middleton 6067cadc72 Removed 0xAD character, from /dev/humancontroller. 2012-06-19 14:47:30 +00:00
Zack Middleton 2a4f775d6c Fixed comment in server.h (ent->v.absmax to ent->r.absmax). 2012-06-18 22:25:35 +00:00
Zack Middleton cd3654a21f Only have bots issue vtaunt commands in Team Arena. 2012-06-18 20:11:09 +00:00
Zack Middleton f40042113a Let's actually use MOD_CHAINGUN! From Ensiform. 2012-06-18 17:12:35 +00:00
Zack Middleton 56a918b9ac Made more code for Team Arena be inside ifdef MISSIONPACK, from Ensiform. 2012-06-18 17:09:33 +00:00
Zack Middleton a375f898f5 REFACTOR [anough to enough] 2012-06-18 16:39:58 +00:00
Zack Middleton 2579738256 Removed unneeded va() and use CG_Error instead of trap_Error in cgame. Found by Ensiform. 2012-06-18 16:36:21 +00:00
Zack Middleton 1d70ffc9b2 fix the usage description of the clientkick server command (also rename SV_KickNum_f() to SV_ClientKick_f())
found by Ensiform
2012-06-18 16:33:13 +00:00
Zack Middleton ad5c5c32a6 REFACTOR [reletive -> relative]
From /dev/humancontroller.
2012-06-18 16:32:03 +00:00
Zack Middleton f3e7012bdb REFACTOR [a vs an]
From /dev/humancontroller.
2012-06-18 16:31:16 +00:00
Zack Middleton 4bd24d3182 never set groundEntityNum to -1, use ENTITYNUM_NONE instead
From /dev/humancontroller.
2012-06-18 16:28:39 +00:00
Zack Middleton 7f9a04fd80 REFACTOR
From /dev/humancontroller.
2012-06-18 16:27:00 +00:00
Zack Middleton 997615168a fix some typos
From /dev/humancontroller.
2012-06-18 16:25:13 +00:00
Zack Middleton ad8d3dc567 remove a bunch of unused stuff from game
From /dev/humancontroller.
2012-06-18 16:23:43 +00:00
Zack Middleton af90948182 bring some freeish()ing operations ahead from after Errorish() calls
From /dev/humancontroller.
2012-06-18 16:17:39 +00:00
Zack Middleton a4c61d874d add a missing '\n', remove some unwanted ones
From /dev/humancontroller.
2012-06-18 16:16:57 +00:00
Zack Middleton c3ca5c1caa non-missionpack build throws up a few "0" plums
found by Ensiform
2012-06-18 16:14:48 +00:00
Zack Middleton 2834a58600 add missing commands to autocompletition
found by Ensiform
2012-06-18 16:11:35 +00:00
Zack Middleton 62f7fab62e add the "execq" command, a more quiet version of the "exec" command
in exec/execq, always print the extension for the filename

From /dev/humancontroller.
2012-06-18 16:09:14 +00:00
Zack Middleton 6ff3b03376 fix IPv6-only operation of Windows binaries
the SOCKET type is unsigned on Windows, and should be casted to an int before comparing with the highestfd variable (note: ``int highestfd = -1;'')

From /dev/humancontroller.
2012-06-18 16:05:47 +00:00
Zack Middleton c16338cfa9 fix wrong socket ID comparison, from /dev/humancontroller 2012-06-18 16:03:06 +00:00
Zack Middleton 2131536d07 Call sound files 'audio' not 'wav' in debug messages. 2012-06-18 16:00:38 +00:00
Zack Middleton a17dafc5e7 Cleaned up game server command usage messages. 2012-06-18 15:58:48 +00:00
Zachary Slater b5acc31a4d CVE-2012-3345 2012-06-14 18:28:58 +00:00
Zack Middleton fb1f629bbc Removed unnessicary "!!". 2012-06-01 19:49:07 +00:00
Zack Middleton 22ecd68cf2 In CheckTeamLeader, make sure to only set one client as team leader. Reported by Tobias Kuehnhammer. 2012-05-20 21:22:11 +00:00
Zack Middleton 5abf7e3d84 #5503 - SIGSEGV with r_vertexlight 1 in missionpack (patch by Serge Belyshev). 2012-05-07 23:06:00 +00:00
Zack Middleton 2c5d0c1e3a Fixed two issues pointed out in a PVS-Studio static code analyzer article (bug #5505). 2012-05-07 22:47:19 +00:00
Zack Middleton c211114cb0 #5462 - do not require clients to have a matching qagame.qvm (adapted from OpenArena) 2012-05-07 22:26:03 +00:00
Thilo Schulz d2b035eb73 Fix (#5312) introduced by rev 2103 2012-05-04 15:59:52 +00:00
Ryan C. Gordon f3a61afd09 Minor hack to SDL headers for building on Linux. 2012-04-11 04:51:58 +00:00
Zachary Slater a07b8587f1 updating SDL includes to 1.2.15
Listen to this if this doesn't work out properly:
http://timedoctor.org/fun/swf/starwars/tauntaun-soundboard.swf
2012-04-10 06:44:04 +00:00
Zachary Slater 3a98b67e01 updating mac SDL stuff to 1.2.15 2012-04-10 06:01:16 +00:00
Zack Middleton 1db2124a65 Moved dpi variable inside BUILD_FREETYPE ifdef. 2012-04-07 16:34:21 +00:00
Zack Middleton a55a059abc Fixed some issues found using clang static analyzer. 2012-04-07 02:53:42 +00:00
Zack Middleton ce3ec3ceef #5453 - Tell command for server. 2012-04-05 22:43:32 +00:00
Zack Middleton 395225cb7e #5439 - Potential memory leak in host name resolution. (Eugene C.) 2012-04-05 21:29:51 +00:00
Zack Middleton 88020d5fb8 #5485 - Use Sys_LoadDll to search in the local directory for the fallback default renderer. Patch by Harley Laue. 2012-04-04 17:21:17 +00:00
Zack Middleton 021ce233b2 #5484 - Remove unneeded tr_local.h include from sdl_input.c. Patch by Harley Laue. 2012-04-04 17:16:11 +00:00
Zack Middleton b211b35853 Use FreeType include macros instead of filenames directly (per the API docs), patch by Radegast. 2012-04-02 17:23:46 +00:00
Zack Middleton de1360f268 Fixed up warning messages in tr_font.c 2012-03-29 06:35:33 +00:00
Zack Middleton c8e790e4af Use tabs in tr_font.c 2012-03-29 05:42:30 +00:00
Zack Middleton 5e9c7f5b37 Removed set but not used variable 'satLevels' from tr_font.c. 2012-03-29 05:31:18 +00:00
Zack Middleton 4b7a623cc0 Make sure font glyph shader names are null-terminated. 2012-03-29 05:28:09 +00:00
Zack Middleton 94fb80f021 Fixed possibly placing a font glyph (at the beginning of a row) past the bottom of a font cache image. 2012-03-29 05:15:46 +00:00
Zack Middleton f15a3cca21 Fixed writing pre-rendered font TGAs, needed to flip image. 2012-03-29 04:49:36 +00:00
Zack Middleton ea0102d403 - Added support for enabling FreeType Support (make USE_FREETYPE=1).
- Fixed compiling tr_font.c for dynamic renderer.
2012-03-29 04:05:13 +00:00
Zack Middleton 33d66c8034 Added range checks to j_*_axis cvars. 2012-02-15 18:47:50 +00:00
Zack Middleton 7a1efc19a4 Support up to 16 joystick axes, select which to use with j_*_axis cvars. 2012-02-15 18:26:08 +00:00
Zack Middleton 91fd58f6e4 Allow analog joystick up axis to be remapped too. 2012-02-15 18:09:24 +00:00
Zack Middleton 7d8b751afd Patches by symlink.
#5313 - EF_CONNECTION set on wrong eFlags
#5314 - snc drawn in nirvana instead at lagometer
2012-02-06 21:28:40 +00:00
Zack Middleton c84377854a Unix clients can now enter commands from tty console. Patch by Rambetter with some edits by me. (#4799) 2012-02-06 21:05:57 +00:00
Thilo Schulz 3241ca6e7b Add the new ioquake3 master server as standard for sv_master2 2012-01-24 23:42:16 +00:00
Zack Middleton 5729c8c518 Changed three filename buffers to be MAX_QPATH (not MAX_QPATH*2), filename lengths are limited to MAX_QPATH by engine and elsewhere in game logic. 2012-01-17 23:06:06 +00:00
Zack Middleton 73744a84c6 Fixed UI to use MAX_QPATH for skin filename buffer length. 2012-01-17 22:38:49 +00:00
Zachary Slater 89f7863254 bugzilla bug #5273
exploit resolved, we're now disallowing forwardmove of -128 and vice versa

Thanks, devhc!
2011-12-25 09:07:36 +00:00
Thilo Schulz dfd3245c38 Fix build for new modular renderer on MacOSX 2011-12-15 21:12:38 +00:00
Zack Middleton 34b22e9119 Reverted r2209... 2011-12-08 23:34:51 +00:00
Zack Middleton 93d1d0f83e Show warning when renderer cannot load model after checking all supported formats, instead of after each format. 2011-12-08 23:17:37 +00:00
Zack Middleton 2fbf9d9006 Removed unused functoin Hunk_Trash. 2011-12-08 22:54:45 +00:00
Zack Middleton a5c88d0e0d Removed an unused variable (which wasn't compiled in as _DEBUG isn't defined using make). 2011-12-08 22:53:58 +00:00
Zack Middleton 7b2f842053 Show file/line/label in Com_Error messages when run out of memory in debug build. 2011-12-08 22:25:25 +00:00
Zack Middleton 5c1ddf4020 Enable zone and hunk debug in debug build. 2011-12-08 22:24:48 +00:00
Zack Middleton 943d94bf0b Use GENTITYNUM_BITS for jumppad_ent bits. 2011-12-03 20:27:18 +00:00
Thilo Schulz 66820c79f4 Fix net_restart when networking was temporarily disabled 2011-12-03 02:23:38 +00:00
Zack Middleton fe64955c0c Removed duplicate setting of contents for trigger_hurt. 2011-11-28 17:36:58 +00:00
Zack Middleton 88e9d66633 Disable blood on HUD when com_blood is 0. 2011-11-18 21:36:59 +00:00
Thilo Schulz 3ecd92ed91 Add color combination green-magenta for anaglyph 2011-11-18 12:47:42 +00:00
Zack Middleton fd0d156338 Added missing newlines to game dedicated chat messages. 2011-11-10 04:49:07 +00:00
Zack Middleton 0724458818 Fixed usage of various entity defines. 2011-11-05 01:02:35 +00:00
Zack Middleton 4e59ef714b Print developer message when renderer runs out of free entities. 2011-11-05 00:56:26 +00:00
Zack Middleton b648d6f17b Client no longer tries to run UI_SHUTDOWN on ui vms with an unsupported API version. 2011-11-03 03:52:46 +00:00
Thilo Schulz 6283e552d4 My bad. Revert the FPU control word to old value instead of the new one of course. Thanks to marky for reporting this 2011-10-28 21:54:06 +00:00
Zack Middleton 9064a13409 Fixed showing number of qvm jump table targets (r2180 caused it to show 0 on alloc). 2011-10-28 19:43:43 +00:00
Tim Angus 4ccd548512 * I zigged when I should have zagged 2011-10-28 18:51:31 +00:00
Tim Angus fd986dae06 * Fix various warnings with GCC and clang 2011-10-27 21:32:28 +00:00
Tim Angus 675e7a641a * clang support 2011-10-21 22:48:53 +00:00
Thilo Schulz f9cde509b2 [18:48:20] <Ensiform> Thilo: http://pastebin.com/2UUmSCQK fixes point contents on the server side related to the cg fix with moving water. Dunno why s.origin and s.angles was ever used, the rest of sv_world.c always uses r.currentOrigin and r.currentAngles
[18:58:10] <Thilo> mhm
[18:58:15] <Thilo> Ensiform: it doesnt break anything?
[18:59:20] <Ensiform> nah
2011-10-14 17:03:59 +00:00
Thilo Schulz d4f8c4716d Force unload of running VMs when quitting through signal handler 2011-10-14 13:52:28 +00:00
Thilo Schulz 89d986a35b Fix a few string literals 2011-09-28 03:13:30 +00:00
Thilo Schulz b93a88455a Allow interpreted VM on pure servers 2011-09-27 22:56:10 +00:00
Thilo Schulz 7eba074ce4 Allow VM_Restart to load unpure qagame.qvm so that local server won't crash after map_restart if server operator has qagame.qvm residing outside pak file (#5196)
Thanks to "rg3" for providing a shell account
2011-09-27 22:16:07 +00:00
Thilo Schulz d176ebe84a Add some checks when reloading QVMs via VM_Restart() 2011-09-27 21:49:01 +00:00
Thilo Schulz acc2da023c Throw error when making calls to empty VM 2011-09-27 21:17:21 +00:00
Thilo Schulz 8a500d71da Set default rounding mode to FE_NEAREST again. Thanks to Matthias Bentrup for providing some explanations. 2011-09-27 14:43:20 +00:00
Thilo Schulz ebec84c55d Fix q3vm execution on x86/x86_64 MacOSX 2011-09-27 01:38:13 +00:00
Thilo Schulz 7a1f2bc92b Bug 5238 - cURL wrong use of curl_easy_setopt property, by Adrian Fuhrmann 2011-09-21 15:17:22 +00:00
Zack Middleton 3f79d04536 Center ioq3 credits vertically. 2011-09-20 03:39:23 +00:00
Zack Middleton 2943488927 Added option for selecting sound system (SDL or OpenAL) and option for setting SDL sound quality to q3_ui sound menu.
Sound settings must now be applied before they take affect (needed for sound system and SDL sound quality changes).
2011-09-20 03:29:22 +00:00
Thilo Schulz af4607c026 Bug 5178 - Sound quality menu option has no effect 2011-09-19 22:38:51 +00:00
Thilo Schulz bc3e989967 Bug 5199 - IQM joint matrices wrong, patch by James Canete 2011-09-19 22:15:24 +00:00
Thilo Schulz 9124d26afb Fix latest commit for x86 msvc 2011-09-19 21:57:15 +00:00
Thilo Schulz c927fab58f Implement Mathias Benthrup's suggestion for x86 ASM snapvector implementation which reduces cache misses. 2011-09-19 18:30:24 +00:00
Thilo Schulz 98af5f4bb0 Fix missing return instruction for fpu ftol on msvc. Thanks to Ensiform for reporting. 2011-09-19 15:49:45 +00:00
Zack Middleton beff4a3c47 Only include libmumblelink.h if USE_MUMBLE is defined, reported by Ensiform. 2011-09-19 02:15:46 +00:00
Zack Middleton b14c6d581c Use correct variable for getting buffer length, reported by Ensiform. 2011-09-19 02:10:17 +00:00
Zack Middleton 2b50313c9a Use platform's path separator in FS_Path_f (for consistent output on Windows), reported by Ensiform. 2011-09-18 18:07:57 +00:00
Zack Middleton 0866b667e0 Fixed win32 dedicated server console output. It use to write input line and then write output over the top of it. Reported by Ensiform. 2011-09-12 20:14:36 +00:00
Zack Middleton 3774a8aeee Restored loading ".dat" journal files from disk when connect to pure servers. Accidentally broke in r1911, reported by Ensiform. 2011-09-12 14:54:01 +00:00
Zack Middleton f7a20068ee Support vm syscalls with up to 15 args using 64 bit compiled vm (like interprated vms). 2011-09-09 21:54:14 +00:00
Zack Middleton b7fa3e7073 Use EXEC_NOW instead of hardcoded 0 in cl_ui.c 2011-09-09 21:50:45 +00:00
Zack Middleton 72d00c568b Use BIGCHAR_WIDTH instead of hardcoded 16 in cl_scrn.c 2011-09-09 21:49:03 +00:00
Zack Middleton 22d6240fe2 Removed unused kbutton_t declarations in client.h 2011-09-09 21:48:38 +00:00
Zack Middleton 237b09f4ab Fixed some function name comments in cl_cin.c 2011-09-09 21:48:07 +00:00
Zack Middleton 4632d85553 Removed unused IN_ButtonDown and IN_ButtonUp functions. 2011-09-09 21:47:25 +00:00
Zack Middleton 4113f63a63 Changed the joystick axis to key remap to start at K_JOY17 (fits better with hat_keys and K_JOY16 is used by button). 2011-09-09 21:46:37 +00:00
Zack Middleton d9b72dedc1 Require gamename if not supporting legacy protocol. 2011-09-07 19:38:19 +00:00
Zack Middleton 56f5fedee9 - Only need cl_cURLLib cvar if USE_CURL_DLOPEN is defined.
- Try to load libcurl-4.dll on win32 (it use to be included in the NSIS installer).
2011-08-29 13:57:46 +00:00
Thilo Schulz de182882f1 Fix auto game-restart when disconnecting from a server that explicitly set fs_game to "baseq3" instead of "" 2011-08-24 14:47:57 +00:00
Zack Middleton abe85940ae Disabled getting motd from update server in standalone build. 2011-08-22 20:30:45 +00:00
Zack Middleton 1469df546e Reverted r2145 per Timbo's suggestion. 2011-08-11 20:57:39 +00:00
Zack Middleton 1609d1c42b - Added r_mode -2 for using display resolution.
- Changed q3_ui's very high video settings use display resolution.
2011-08-11 05:14:42 +00:00
Zack Middleton 8e689739f4 Removed "Color Depth" from q3_ui system settings, it didn't control anything. 2011-08-11 03:57:23 +00:00
Thilo Schulz a248451e66 Fix warning on MacOSX 2011-08-10 21:21:54 +00:00
Thilo Schulz 08acc75a1a - More MacOSX changes to Makefile
- Ship libSDL-1.2.0.dylib with x86_64 platform support
2011-08-10 21:14:17 +00:00
Thilo Schulz 99e157e066 - Add x86_64 platform for MacOSX
- Fix compilation on MacOSX gcc
2011-08-10 20:48:53 +00:00
Thilo Schulz 3b642f9032 Add hack to allow server the setting of game cvar values that are important for playerstate prediction for legacy gamecode. 2011-08-09 12:19:27 +00:00
Zack Middleton 5d24905c8d Simulate line buffering and fix the overflow bug in Com_ReadFromPipe(), patch from DevHC. 2011-08-05 21:45:22 +00:00
Zack Middleton a87b059ab7 Don't grab mouse till UI loads. 2011-08-05 19:47:33 +00:00
Zack Middleton 06231971ed Use STDOUT_FILENO instead of 1 in con_tty.c 2011-08-05 16:19:01 +00:00
Thilo Schulz 52aed503b5 Bug 5146 - Remove last of warnings under gcc 4.6.1 for Linux, patch by q3urt.undead@gmail.com 2011-08-05 13:33:15 +00:00
Thilo Schulz c1b3b6f0be Fix compilation on non-x86 platforms, by Simon McVittie 2011-08-05 12:11:27 +00:00
Zack Middleton 6242d16e0d Support five master servers in Team Arena server browser. 2011-08-05 08:28:01 +00:00
Zack Middleton f220db0e08 Fixed viewing sv_master[3-5] in q3_ui server browser (don't give engine fake sources). 2011-08-05 08:10:54 +00:00
Tim Angus 85ae08e800 * Fix some grammar in DLL loading
* s/Sys_LoadQVMDll/Sys_LoadGameDll/
2011-08-03 14:32:49 +00:00
Thilo Schulz 06628af7c5 Don't do game_restart if game directory changed from "" to "baseq3" or "baseq3" to "" 2011-08-03 00:58:33 +00:00
Thilo Schulz 0bc54ab696 Fix game restart after curl download finished 2011-08-02 23:34:50 +00:00
Thilo Schulz 63c2b017d6 Remove executable property from these files 2011-08-02 20:26:46 +00:00
Thilo Schulz 86a7cd3dea Fix crash bug introduced in r2116. traceEnt does not always have to be a client, so gauntlet attacking something that is not a client will crash the game. Thanks to Ensiform for reporting 2011-08-02 20:04:18 +00:00
Thilo Schulz c21dee0b37 [16:31:51] <ZTurtleMan> Thilo: two small fixes, one for r2112 and one for r2116. http://pastebin.com/raw.php?i=h19r211Z 2011-08-01 14:40:53 +00:00
Thilo Schulz 800a3c8d7b Fix ARCH_STRING macro for mingw64 2011-08-01 14:38:37 +00:00
Thilo Schulz eb9fe030c4 Batch of bug fixes for gamecode. Patch compiled and log message written by Tobias Kuehnhammer (#5144)
################################################################################
This Patch fixes:
################################################################################

- The "fraglimit warning" was not played at all, if on the blue team.
- The "where" console command was broken.
- Obelisk explosion wasn't drawn if no Rocketlauncher was loaded.
- Impact marks sometimes didn't draw at all.
- IMPORTANT BUGFIX: No killing for cheaters with Lightning gun and Gauntlet.
- If two doors are close to each other a spectator couldn't fly through them.
- More robust, efficient and logical respawning routine.
  NOTE: The game.qvm will get notable smaller and will use LESS MEMORY!
- Drowning sounds are fixed. Now they are played as intended. (as the id
comment
  in the source code shows).
- Some AI bugs (OVERFLOW!) in the bot movement code.
- Several "Team Arena" Overload and Harvester bugs.
- Stops bots from attacking a team mate (player) who only changed teams.
- Some voice chats and CTF commands fixed.
- "Team_ReturnFlag" was called twice, which did wired things sometimes. 
  NOTE: (G_RunItem checks CONTENTS_NODROP already!)
- A bugfix for Gauntlet animation.
- Incorrect CTF scoring.
- A bunch of corrected comments and print lines ("\n").
- Some regularity of expression and some small trivial bugs.

################################################################################
Details:
################################################################################

********************************************************************************
BUG: in gamemode GT_TEAM the fraglimit warning will not be played if joining
the
     blue team!
--------------------------------------------------------------------------------
Solution: In "CG_CheckLocalSounds": if cgs.scores2 > highScore, highScore
should
          be cgs.scores2.
********************************************************************************
BUG: the "where" console command doesn't work as expected (it's always 0 0 0) 
     but not in id Quake 3 Arena. It seems that now Ioquake3 is affected!
--------------------------------------------------------------------------------
Solution: In Function "Cmd_Where_f" ent->s.origin should be 
          ent->r.currentOrigin.
********************************************************************************
BUG: in gamemode GT_OBELISK obelisk explosion won't be drawn if there is no 
     Rocketlauncher loaded. (The "maps without Rocketlauncher" bug)
--------------------------------------------------------------------------------
Solution: in "cg_main.c": cgs.media.rocketExplosionShader should be registered 
          if gamemode is GT_OBELISK.
********************************************************************************
BUG: Impact marks sometimes doesn't draw at all. Not easy to reproduce if you 
     don't play (io)Quake3 every day and know the places where it happens! ;) 
     But anyway...
     Test: start q3dm12 go to "Long Jump Canyon" (where the small platform 
     teleporter for the BFG is) place yourself at the point where the railgun 
     spawns, look in the direction where the red suspended armor is. Now shoot
     at the sloped wall on the out/leftside of the door you see. (the sloped 
     wall should be nearly in the center of your screen now). If you choose the 
     correct brush face and shoot up and down at this brush face, the impact 
     marks sometimes aren't visible.

     There are hundreds of custom maps where this can happen!
--------------------------------------------------------------------------------
Solution: I replaced the function "SnapVectorTowards" with the one from 
         "Wolfenstein - Enemy Territory (GPL Source Code)"
********************************************************************************
BUG: Normally "NOCLIP" cheaters are logically not allowed to fire a gun.
     Unfortunatly the Gauntlet (and Lightning gun) was forgotten and not 
     restricted to that. All weapons except those two were handled correct. 
--------------------------------------------------------------------------------
Solution: Make Gauntlet and Lightning gun not firing for someone who cheats 
          with "NOCLIP" (like all other weapons).
********************************************************************************
NOTE: A few bugfixes are not mine and are reported here: 
      http://www.quake3world.com/forum/viewtopic.php?f=16&t=9179.

      Thanks to Quake3world, for all those years and the good guys there!
********************************************************************************
BUG: During making a mod I found a very strange bug, which mainly occurs if
     someone tries to implement a lot of singleplayer monsters which should
walk
     slowly (like the "Crash" bot). So if someone wants to make slow down bots
     or monsters when they are walking towards a goal and alter the function
     "BotMoveInGoalArea" then the bots/monsters do stupid things. Otherwise and
     this is the default (also buggy) behavior they start running although they
     shouldn't (as seen with the "Crash" bot and will not be fixed here).
--------------------------------------------------------------------------------
Solution: Fix overflow in bot user command. BUGFIX from "Hunt" mod by J. 
          Hoffman.
********************************************************************************
BUG: in function "BotMoveToGoal" the special elevator case doesn't make sense.
--------------------------------------------------------------------------------
Solution: in "be_ai_move.c": ((result->flags & MOVERESULT_ONTOPOF_FUNCBOB) ||
                              (result->flags & MOVERESULT_ONTOPOF_FUNCBOB)) 
                   should be ((result->flags & MOVERESULT_ONTOPOF_ELEVATOR) ||
                              (result->flags & MOVERESULT_ONTOPOF_FUNCBOB)).
********************************************************************************
BUG: in function "BotWantsToRetreat" and "BotWantsToChase" this is wrong:
     "(bs->enemy != redobelisk.entitynum || bs->enemy !=
blueobelisk.entitynum)"
--------------------------------------------------------------------------------
Solution: "... redobelisk.entitynum) && (bs->enemy != blueobelisk.." is
correct.
********************************************************************************
BUG: in gamemode GT_OBELISK there are too many node switches for bots 
     (test: mpq3tourney6 with many bots). If that happens, game becomes 
     unplayable. I don't know if this is the best solution but here it is:
--------------------------------------------------------------------------------
Solution: In function "AINode_Battle_Fight" right after:
if (!BotEntityVisible(bs->entitynum, bs->eye, bs->viewangles, 360, bs->enemy))
{
   I added this: 
#ifdef MISSIONPACK
    if (bs->enemy == redobelisk.entitynum || bs->enemy == 
                                                        blueobelisk.entitynum)
{
    AIEnter_Battle_Chase(bs, "battle fight: obelisk out of sight");
    return qfalse;
    }
#endif
********************************************************************************
BUG: in gamemode >= GT_TEAM, after team change, bots will (sometimes) not stop
     shooting at you, although you are on their team now. It seems that the 
     configstrings are f***** up or not reliable in this case!
--------------------------------------------------------------------------------
Solution: In function "BotTeam" and "BotSameTeam" get the real team values.
********************************************************************************
BUG: Some of the bots voice commands are wrong. They are commanded to attack
the
     enemy base but they say "Okay, I will defend!"
--------------------------------------------------------------------------------
Solution: Corrected some voice commands in "BotCTFOrders_FlagNotAtBase" and
         "Bot1FCTFOrders_EnemyDroppedFlag"
********************************************************************************
BUG: Spectators couldn't fly through doors if they are very close to each
other.
     You can test it with some regular id maps (q3dm14, q3dm12) but there are
     also many custom maps where this can happen! This is annoying because in 
     the worst case you can't move at all and are caught inside a door.
--------------------------------------------------------------------------------
Solution: There is a solution in a mod called "Hunt" by J. Hoffman. 
          Bugfix is included in this patch!
********************************************************************************
BUG: During making a mod I found it very hard to implement some of my ideas
     (something like "Limbo" or "Meeting") because of the way the player spawn
     effect, intermission and spawning on victory pads is handled. I reworked
it
     a bit and simplified it so that the effect is handled when a client      
     respawns
     (as the name says) and not when a client begins. I think this will help 
     more
     mod makers everytime they want to make changes to spawning of players,
bots
     on victory pads or monsters... and want to avoid spectators with 
     Machineguns
     which can kill and score... :()

     NOTE: I also renamed the poorly named function "respawn" 
           to "ClientRespawn". If someone searches the code base for "respawn" 
           it was really hard to find the correct place for what was 
           meant. "respawn" is used so often, that you really get headache ... 
           now with "ClientRespawn" it's easier!

     IMPORTANT: The whole respawning, moving to intermission point and 
                everything related to that is now done in a more reliable way 
                without changing the default behavior. (How critical the whole 
                spwaning mess was did you see by yourself (ioquake3 rev. 2076). 
                With this patch it's safer. 
                Trust me, I spent hours of fixing silly problems...
-------------------------------------------------------------------------------- 
Solution: Simplified "ClientBegin" and moved the teleport event  
          to "ClientSpawn".
********************************************************************************
BUG: If a player is dying or hurted under water the hurt/dying sounds AND the
     drowning sounds are played together. This is silly. Moreover it's no good
     idea to let the server play client sounds! There was a solution in a mod 
     called "Q3A++" by Dan 'Neurobasher' Gomes which fixes the problem.
--------------------------------------------------------------------------------
Solution: Created a "CG_WaterLevel" function to play the appropriate sounds.
********************************************************************************

################################################################################
2011-08-01 11:39:33 +00:00
Thilo Schulz 8ab91bde8e - Fix already defined command warnings for minimize
- Fix recursive CL_Shutdown warning and "command already defined" warnings when quitting while playing on a server that changed the gamedir.
2011-08-01 10:16:40 +00:00
Thilo Schulz 404fe4e6e0 Don't search system directories for renderer lib 2011-08-01 09:33:48 +00:00
Thilo Schulz 5a1449bd51 Add forgotten file for last rev 2011-08-01 01:30:54 +00:00
Thilo Schulz 40dfcee06e Modular rendering system. Patch by use.less01
This might break MSVC builds. I'll take care of it later
2011-08-01 01:19:55 +00:00
Thilo Schulz 8ab958fab9 Fix pak order when reconnecting to a server.
When /connect to the same server is issued while already connected, an initial call to CL_Disconnect will remove all pak file references
and reset the pak order.
Reordering only occurs through FS_Restart, which in turn is called when checksum feed changes. Because we reconnect to the same server,
checksum feed never changes and pak file order is not restored to server order again. With certain pak file constellations between client/server,
this may result in an inability to load files from paks which are not correctly detected as referenced paks.
2011-08-01 01:14:26 +00:00
Thilo Schulz e5ddcee71e Some more removal of unused code in addition to r2104, by Zack Middleton 2011-07-31 19:24:08 +00:00