Commit graph

1417 commits

Author SHA1 Message Date
Thilo Schulz
ac054c198d Bug 5075 - Fix comments in quake3 configs, patch by q3urt.undead@gmail.com 2011-07-16 11:06:56 +00:00
Thilo Schulz
e6ba500164 Move rate limiting / queued packet sending logic from Com_Frame() to sv_main.c 2011-07-15 16:51:54 +00:00
Thilo Schulz
58a5d3d383 Have server send protocol version in challengeResponse so protocol negotiation works. (Where did this one get lost?) 2011-07-15 14:49:51 +00:00
Thilo Schulz
f6d6ed4b30 - Revert back to Z_Malloc from Hunk_FreeTempMemory introduced in r2077 as Hunk_FreeTempMemory must be freed in LIFO order (#5079)
- Introduce SV_ClientFree() to prevent memory leaks r2077 was supposed to fix
2011-07-15 14:44:06 +00:00
Thilo Schulz
265d6e0374 Remove one unnecessary loop in the beginning 2011-07-13 19:16:25 +00:00
Thilo Schulz
1c3ecb3d3c - Make sure at least one round of download packets and packet queues gets sent each frame
- Fix timeVal select timeout value for case of unlimited data rate and now downloads are active
2011-07-13 18:57:32 +00:00
Thilo Schulz
d827447da8 - Forgot to mention: last rev (2077) bumped default protocol version to 70
- Fix queued packet rate control
2011-07-13 18:37:26 +00:00
Thilo Schulz
ac30d86db0 - Improve snapshot rate and data rate control
- Make server send packet fragments and queued packets when server is idle
- Voip protocol detection is tied to com_protocol making past-end-of-message reading unncessary
- Use Hunk_AllocateTempMemory() for buffering VOIP packets and fix buffering scheme that ryan hates so much
- Disable packet scrambling for new protocol as it is useless now
- Get rid of the old packet scrambling functions predating latest point release
- Use Hunk_AllocateTempMemory() for netchan packet queue to fix memory leak when client gets disconnected with packets in the queue
- Use Hunk_AllocateTempMemory() for download blocks to fix memory leak when client gets disconnected with download blocks in the queue
- Fix SV_RateMsec to account for udp/udp6 packet lengths
2011-07-13 17:11:30 +00:00
Thilo Schulz
a844c94af1 - Add dual protocol support to team arena demo selector
- Fix demo selection in team arena menu on case sensitive file systems
- Some changes in the way how vanilla q3 demo file lists are compiled in the menu
2011-07-13 08:40:30 +00:00
Thilo Schulz
e06c117e9e - Implement dual protocol support (#4962)
- Fix several UDP spoofing security issues
2011-07-12 11:59:48 +00:00
Thilo Schulz
309c322b80 Forgot to set default rate back to 100kbyte/s 2011-07-12 11:01:49 +00:00
Thilo Schulz
e52a492f61 - Greatly improve UDP downloading speed for clients
- Add download rate control cvar sv_dlRate
- Don't send snapshots to downloading clients
2011-07-12 11:01:20 +00:00
Thilo Schulz
1d880da777 Permit downloading files larger than 65 Megabytes via UDP by working around short int wraparound. 2011-07-12 00:34:25 +00:00
Thilo Schulz
7c5ec6aac4 Bug 5069 - Remove unused variable console_color, by uZu 2011-07-08 13:09:59 +00:00
Thilo Schulz
f011fe9914 Bug 5066 - Plasmagun and BFG don't play the explosion when they hit players, patch by Ensiform 2011-07-07 23:14:31 +00:00
Thilo Schulz
cbd3c24542 Bug 5067 - Remove references to unused teamtournament gametype. Toggle areaportal on mover ents where due is needed, patch by Ensiform 2011-07-07 23:13:20 +00:00
Thilo Schulz
b8627b8774 Fix indentation 2011-07-07 23:05:09 +00:00
Thilo Schulz
0ed9c43453 Make naming a bit more foolproof for new macro 2011-07-07 16:21:06 +00:00
Thilo Schulz
7666c2f54c Add fixes to ui menu by Ensiform and DevHC (#5062) 2011-07-07 16:12:53 +00:00
Thilo Schulz
74e538ffcf - Add better protection against DoSing connecting users from connecting
- Have Com_sprintf return string length
- add STR_LEN macro for static strings
2011-07-07 16:07:58 +00:00
Thilo Schulz
53d89b6c10 More color fixes for railgun
Show other players' railgun color and their firetime state.
Show snapshot client's color on world item models of railgun.
Fix the impact mark using color2 (spiral) rather than color1 (beam).
Credits go to Ensiform and Harekiet for the refire portion.
2011-06-28 08:28:12 +00:00
Thilo Schulz
c52bfbd5a8 All patches by Zack Middleton:
- Bug 5057  - Two weapon number range checks allows invalid number
- Bug 5058  - Railgun explosion cannot be colorized
- Bug 5059  - Client's railgun does not glow in third person and mirror
- Bug 5060  - Warning in RAVENMD4 R_GetAnimTag cross compiling with amd64-mingw32
2011-06-27 23:53:40 +00:00
Thilo Schulz
2f502aceb2 - Fix opStack size for vm_x86.c
- Change opStack alignment to 16 for vm_x86_64.c
2011-06-27 20:22:32 +00:00
Thilo Schulz
774ed53948 Make g_doWarmup archived cvar 2011-06-25 20:36:36 +00:00
Thilo Schulz
8a72bbb38f Make sound fallback behaviour for music streams less verbose 2011-06-25 09:35:03 +00:00
Thilo Schulz
5c4813da51 Add forced VM unloading to Com_Quit_f 2011-06-25 09:05:57 +00:00
Thilo Schulz
88f1fc7500 Fix ipv6 server query 2011-06-25 00:17:44 +00:00
Thilo Schulz
eda3faccea Fix grenade rotation ends always the orientation (#5053), patch by Eugene C. 2011-06-24 13:15:03 +00:00
Thilo Schulz
23ceb05c87 Correct fix to (#5051), patch by Roughael 2011-06-24 13:10:45 +00:00
Thilo Schulz
19f54e5400 Allow recursive VM entry for VM operations as well 2011-06-23 00:00:27 +00:00
Thilo Schulz
d57ba6a57b - Automatically reset fs_game to "" if it was supplied by the user and is equal to com_basegame
- Fix problem where users could change values of CVAR_INIT variables after the call to Cvar_Get() via Com_StartupVariable()
- Move sound shutdown after client shutdown so VMs don't hold invalid sound handles in memory
2011-06-22 23:00:36 +00:00
Thilo Schulz
664f8e578d - align sse control word storage space to 16 byte boundary for snapvector
- replace some whitespace with tabs in snapvector.c
- Give gcc a bit more freedom in choice of registers
2011-06-22 14:36:11 +00:00
Thilo Schulz
d9ea902c31 Fix by Laurent Desnogues for my feeble attempt at a fix 2011-06-21 19:33:02 +00:00
Thilo Schulz
2d1187b287 - Clear ip address listings after a NET_Restart
- check for oldGameSet instead of the gamename string
2011-06-21 13:31:19 +00:00
Thilo Schulz
95691ded36 Fix x64 compilation on MSVC 2011-06-21 12:32:43 +00:00
Thilo Schulz
6a3142d2c1 Fix to (#5051) - strchr in GraphicsOptions_GetAspectRatios() might return NULL for some strange reason 2011-06-21 11:45:34 +00:00
Thilo Schulz
90ede2cb48 - Bug 5034 - q3_ui: fill whole screen and allow cursor to move to edge in widescreen, by Zack Middleton
Check if uivm is loaded before using it

  Patch adds a check for uivm before using it, fixes running dedicated server
  using client binary.

  Missing uivm check pointed out by Ensiform.

- Bug 5049 - TA UI forces overstrike mode on when focusing an edit box, by Ensiform
- Bug 5052 - Missing podium timer initialization, by Eugene C.
2011-06-21 11:36:25 +00:00
Thilo Schulz
df1687c5c7 Fix unnoticed bug in game_restart 2011-06-21 11:29:31 +00:00
Thilo Schulz
dee3724a13 - Improve game_restart:
* differing screen resolutions and network settings are now honoured when changing fs_game
  * Fix hunk memory leak on game_restart
  * Move cls.state and cls.servername to clc so connection state is fully preserved over game_restart
  * Revert back to previous fs_game after disconnecting from a server that triggered a game_restart
  * Fix error dialog popping up after every game_restart if an error happened previously (reported by Ensiform)
- Fixed that not all commands added by CL_Init() would be removed by CL_Shutdown()
2011-06-21 11:18:35 +00:00
Thilo Schulz
adc143e050 Bug 5048 - Entity constant light does not work correctly, bug found by Eraesr (Eraser?) 2011-06-18 14:52:16 +00:00
Thilo Schulz
055bd3b464 Bug 5047 - Win32 dedicated server console title should use define, patch by Zack Middleton 2011-06-18 14:30:20 +00:00
Thilo Schulz
a5f31084d4 - Fix memory leak in DMA sound after S_Shutdown()
- Make codec load use temp hunk memory instead of zone mem
- Fix sound issues with direct sound and game_restart (#4526)
2011-06-17 23:29:19 +00:00
Thilo Schulz
b8f81e8065 Fixes for bugs introduced in last several revisions 2011-06-16 22:50:33 +00:00
Thilo Schulz
dc24d7649c patch by Zack Middleton (#5044)
- Fix a few comments in tr_local.h
- A bit of refactoring of the cpp macros
2011-06-16 22:28:13 +00:00
Thilo Schulz
fe1853477e Fix #lese in last commit 2011-06-16 22:20:03 +00:00
Thilo Schulz
77d764c457 Patch and description by ensiform (#5043):
This patch moves cg_particles.c out of cg_marks.c to the actual file that was
already there but not used.  By default WOLF_PARTICLES definition is commented
out if someone wants to use the old cg_particles.c changes.  cg_particles.c has
been added to the makefile and msvc projects.
2011-06-16 21:58:46 +00:00
Thilo Schulz
16d2ab5f8b Patch from Tremulous / description from Zack Middleton: (#5041)
Clear game logfile handle after closing file.

Game does not clear logFile handle when closing file. Might be an issue if
G_LogPrintf is called after this.

Patch from tremulous http://svn.icculus.org/tremulous?view=rev&revision=2041
2011-06-16 21:53:41 +00:00
Ludwig Nussel
d8b7532fc1 remove static VM_BlockCopy from vm_powerpc 2011-06-16 08:09:06 +00:00
Thilo Schulz
8b7870b81f Fix wrong macro. MSVC win32 build should work again now. 2011-06-16 02:01:13 +00:00
Thilo Schulz
7ac6b087af Use Q_ftol for vm_interpreted 2011-06-16 01:26:17 +00:00
Thilo Schulz
83522282f1 Various fixes to vm_interpreted.c:
- Add opStack protection
- Fix dataMask check for OP_BLOCK_COPY
- Add instruction number check for conditional jumps
- Make errors in VM_PrepareInterpreter nonfatal
2011-06-16 01:11:45 +00:00
Thilo Schulz
af5020c57c - Don't try to load QVM/DLL files on pure servers
- Fallback after failed DLL load will be VMI_COMPILED, not INTERPRETED
2011-06-15 22:25:13 +00:00
Thilo Schulz
9219cde4e8 - Small change to search path order - local files not in .pk3s take precedence over files in pk3s. Should make life easier for modders/mappers wanting to override textures that are already contained in some older pk3
- Make VM loading more robust, change loading order: when vm_* == 0 first try loading DLL, then QVM in *each* search directory/path
- Fix FS_FileForHandle that would return a FILE pointer to invalid file handle 0
2011-06-15 22:09:26 +00:00
Thilo Schulz
1ff28b3b2e Need space of len+1 for snprintf to work 2011-06-15 16:26:51 +00:00
Thilo Schulz
f981087d7a - Merge http://svn.icculus.org/tremulous?view=rev&revision=2185, patch by Chris Schwarz
- Remove Q_snprintf as Com_sprintf exists already
2011-06-15 15:31:37 +00:00
Thilo Schulz
a447aa82af Fix #if macros for idx64 and id386 2011-06-15 14:10:20 +00:00
Thilo Schulz
001cdf4497 - mingw64 now links against SDL64.dll to allow for 32 and 64 bit version in the same directory
- Add library files for MinGW64
2011-06-13 15:47:43 +00:00
Thilo Schulz
206edd3419 - Still forgot qasm-inline.h
- Leave GCC more freedom in choice of registers
2011-06-13 11:07:13 +00:00
Thilo Schulz
04821a529d Forgot the inline assembler parts, here they come! Using inline asm to get rid of all the boilerplate stuff 2011-06-13 10:54:37 +00:00
Thilo Schulz
bb8f40531b - Fix macro that uses constant float suffix as argument
- retval variables in ftola.c must have type long, not int
2011-06-13 10:39:42 +00:00
Thilo Schulz
03201aff22 - Add MASM assembler files for MSVC x64 projects to support vm_x86 in x64 mode
- Clean up ftol()/snapvector() mess
- Make use of SSE instructions for ftol()/snapvector() if available
- move ftol/snapvector pure assembler to inline assembler, this will add x86_64 and improve support for different calling conventions
- Set FPU control word at program startup to get consistent behaviour on all platforms
2011-06-13 09:56:39 +00:00
Thilo Schulz
471182cba0 Add static SDL libraries for compilation with MSVC 2011-06-12 15:28:44 +00:00
Thilo Schulz
c2b7f5173f Fix forgotten IQM2 support in iqm.h, patch by Zack Middleton 2011-06-11 20:20:30 +00:00
Thilo Schulz
fa3b3978f6 Bug 5034 - q3_ui: fill whole screen and allow cursor to move to edge in widescreen, patch by Zack Middleton 2011-06-11 20:18:16 +00:00
Thilo Schulz
45f576bd99 Bug 5036 - Grappling hook does not load trail shader, patch by Zack Middleton 2011-06-11 15:29:57 +00:00
Thilo Schulz
8ec565b58e Bug 5035 - Automatically selecting player model in q3_ui does not work if skin is not specified, patch by Zack Middleton 2011-06-11 15:26:36 +00:00
Thilo Schulz
b96c1c8279 Fixes to IQM support, by Zack Middleton
- Bug 5029 - IQM skin support for upper case surface names
 - Bug 5030 - IQM version 2 support
 - Bug 5031 - Animated IQMs cause segfault
 - Bug 5032 - IQM does not setup tag axis/origin correctly
 - Bug 5033 - IQM bounds swap and segfault issues
2011-06-11 15:16:25 +00:00
Thilo Schulz
7a4ce592a4 - Adapt MSVC project files to new libjpeg, fix by Guillaume Bougard and cyrri
- add tr_model_iqm.c to MSVC project, by cyrri
2011-06-06 21:15:42 +00:00
Tim Angus
b921058a9f * Remove misleading comment 2011-06-06 16:55:38 +00:00
Thilo Schulz
f5deb4a88b Fix return values for several syscall functions, patch by Zack Middleton (#5018) 2011-06-06 15:08:00 +00:00
Thilo Schulz
eec06674fa (#5016) - Calls to trap_CM_PointContents don't update their origins based on moving entities (water). Patch by Ensiform 2011-06-06 15:05:10 +00:00
Thilo Schulz
bd2b704c91 OpenBSD compile fixes, patch provided by Jonathan Gray (#4994) 2011-06-06 14:59:54 +00:00
Thilo Schulz
e676b41c8f Fix wrong usage info message for cmd dumpuser, patch by Zack Middleton (#5024) 2011-06-06 14:54:18 +00:00
Thilo Schulz
0c43133695 Properly fill in occurances of "foobar" in GPL file headers, patch by Zack Middleton (#5024) 2011-06-06 14:52:49 +00:00
Thilo Schulz
698a9c51ec Fix newlines in Com_Error, patch by Zack Middleton (#5023) 2011-06-06 14:51:02 +00:00
Thilo Schulz
71b8fe477d - Use EmitCallDoSyscall() to call the jump violations function which guarantees 16-byte stack alignment
- Add x64 code for MSVC _asm() blocks, not tested yet.
2011-06-06 14:29:45 +00:00
Thilo Schulz
c174143dc2 - Add x86_64 support to vm_x86.c
- Fix warning on mingw64
2011-06-01 15:17:18 +00:00
Thilo Schulz
3e229af710 Fix is*() functions for windows where long value is 4 bytes 2011-06-01 01:50:19 +00:00
Thilo Schulz
eedccac818 Fix compilation on mingw64 2011-05-31 20:47:18 +00:00
Thilo Schulz
bd8d60f55c Add instruction number checks to jumps and calls to SPARC VM, patch by David Miller 2011-05-24 19:46:52 +00:00
Thilo Schulz
4b1418c4ad - Implement opStack protection: Use register %ebx for scaled indexed addressing mode to access opStack, make opStack push/pop operate on %bl portion only
- Add a third pass to VM compilation for computation of jump address offsets, removing the need to dereference into vm->instructionPointers[] for every call/jump
- Make use of 0F opcode prefix relative jumps
- Call Com_Memcpy for OP_BLOCK_COPY
- Fix several missing range checks for vm->dataBase memory access
2011-05-23 00:46:46 +00:00
Thilo Schulz
e08299faf4 - Do assignment of value 0xDEADBEEF after the 4-byte alignment
- Add all GPR to clobber list as GCC function callAsmCall seems to change register r11 without saving it to stack first, which may result in SIGSEGV in VM_CallCompiled()
2011-05-23 00:36:27 +00:00
Thilo Schulz
b8ef880d85 I don't seem to get these constraints right. This should fix it 2011-05-19 03:47:35 +00:00
Thilo Schulz
a42239e1e5 Fix VM call for release version, bug introduced by myself in r1994 2011-05-18 16:06:08 +00:00
Thilo Schulz
61d6e6eb68 Use scaled indexing mode n=4 for addressing opStack, this way we can use the 8 bit offset value in %%bl to address an OPSTACK_SIZE of 1024 which was the old value. 2011-05-18 00:17:02 +00:00
Thilo Schulz
3f9ec83ce0 - Use edx for CALLs instead of ecx, as the latter does not require any push to stack
- Make Linux AT&T asm code consistent with the MASM codeblock
2011-05-17 12:07:56 +00:00
Thilo Schulz
c7a68bf283 - Set default opStack size to 256
- Fix integer wraparound. opStack offset in rbx will always be >= 0
2011-05-16 18:17:01 +00:00
Thilo Schulz
5aa3da2f84 - Fix SEGV in while loop getop() after t = b = 0
- Fix iss8, iss16 and iss32 which would not correctly detect 32-bit signed integer range
- Add support for "addb", "subb" etc. assembler mnemonic
- Change opStack protection for x86_64 VM: No overflow checks necessary anymore as offset register is 1 byte long only
2011-05-16 17:55:07 +00:00
Thilo Schulz
558ed62771 0 --> NULL 2011-05-15 14:58:56 +00:00
Thilo Schulz
01ed417ee1 Optimise VectorNormalize functions, patch by Matt Turner 2011-05-15 14:55:47 +00:00
Thilo Schulz
b003422d92 - Fix lokisetup makefile problems
- Bump version number to 1.36
2011-05-15 14:49:38 +00:00
Thilo Schulz
3cdfb7aea8 Refactor and bugfix COM_*Extension functions, patch by DevHC 2011-05-15 14:11:26 +00:00
Thilo Schulz
b509d770a7 - Remove Q_strrchr(), replace with standard, portable strrchr()
- Add strrchr() to bg_lib.c, patch by DevHC
2011-05-15 14:08:03 +00:00
Thilo Schulz
3ddc59a3ba move MIN/MAX definition, use MIN() instead of min(), patch by DevHC 2011-05-15 13:27:24 +00:00
Thilo Schulz
017bc7e5da - Add vm_x86.c optimization patch by Eugene C.
- Remove ASM syntax specific code (AT&T vs MASM) for OP_CALL and replace with machine code
2011-05-15 13:15:14 +00:00
Thilo Schulz
3125035c23 Fix typecast 2011-05-14 20:24:34 +00:00
Thilo Schulz
315632e821 Make bg_lib.c strchr ANSI-C conformant 2011-05-14 14:55:54 +00:00
Thilo Schulz
716caf396e - Reverting accidentally committed vm_x86.c
- Last commit contained some refactoring for vm_x86_64.c
2011-05-14 14:39:48 +00:00
Thilo Schulz
30059eb8ce ensure that ent->classname is always non-null (for entity numbers up to level.num_entities-1, and ENTITYNUM_WORLD and ENTITYNUM_NONE), for player entities and #ENTITYNUM_NONE in particular, patch by DevHC 2011-05-14 14:34:18 +00:00
Thilo Schulz
4b9ab42c2c Remove newlines from Com_Error calls, patch by DevHC 2011-05-14 14:32:43 +00:00