Commit Graph

1607 Commits

Author SHA1 Message Date
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
Thilo Schulz 2e94ec6b85 Bug 5134 - q3_ui incorrectly tells user to refresh servers while auto-refreshing, patch by Zack Middleton 2011-07-31 19:21:56 +00:00
Thilo Schulz f697df05aa Fix strange ifdeffery (#5140) 2011-07-31 19:20:50 +00:00
Thilo Schulz fb34e78b7e Fix cvar flags to get rid of warnings (#2881) 2011-07-31 19:12:16 +00:00
Thilo Schulz 3752b1d7c4 Change DLL search path order for external libraries that are linked at runtime, like libcurl or libopenal to:
* system library paths
  * executable path
  * fs_basepath
2011-07-29 20:18:37 +00:00
Thilo Schulz ba385fa43c - Switch master server protocol to dpmaster for better game separation. Based partly on patch by Zack Middleton
- Get rid of ugly cvars sv_heartbeat and cl_gamename and replace with single com_gamename
- Remove sv_flatline. Flatlines are ignored by dpmaster and are considered to be insecure because flatlines can be udp-spoofed.
2011-07-29 13:46:50 +00:00
Thilo Schulz 23f6fd1633 Bug 5094 - Code cleanup, patch by Zack Middleton and DevHC. Fixes unused-but-set gcc warnings 2011-07-29 12:27:00 +00:00
Thilo Schulz 1ea7ab1f42 Fix menu corruption on IRIX (#5097), patch by Rainer Canavan 2011-07-29 11:42:57 +00:00
Thilo Schulz 2349148cf1 - Apply parts of Ben Millwood's target bitfield patch (#3787)
- Fix Ryan's FIXME and have voip packet buffer on the server dynamically allocated via Z_Malloc and store pointers in a circular buffer
- Improve voip target parsing on top of Ben Millwood's patch
- Add new "spatial" target where speaker is spatialized in 3d space and can be heard by all clients in hearing range (s_alMaxDistance)
  (#4467)
- Decrease voip sound lengths from 240ms to 80ms per voip packet to mitigate udp packet loss and decrease latency
- Protocol version incremented to 71
2011-07-27 15:47:29 +00:00
Thilo Schulz 41ac8a232a Bug 5096 - Define PRODUCT_VERSION in q_shared.h if it is not, patch by Zack Middleton 2011-07-27 00:04:29 +00:00
Thilo Schulz 62757b28f4 Fix last "noreturn" warnings 2011-07-27 00:02:45 +00:00
Thilo Schulz b6a4aa3ecc Include q_shared.h instead of redefining these 2011-07-26 23:56:21 +00:00
Thilo Schulz c4f739b8d0 Fix extension name comparison for DLL files 2011-07-24 22:12:21 +00:00
Tim Angus 22552c7bab * Replace usage of system with fork/exec 2011-07-24 22:01:50 +00:00
Thilo Schulz 1972bf97db Fix client crash on windows with old OpenAL 2011-07-22 16:43:27 +00:00
Thilo Schulz 5cad803e58 Revert attribute patch from r2090 because the jpeg functions really shouldn't be deviating from the codebase unnecessarily 2011-07-18 22:04:22 +00:00
Thilo Schulz dd859ae43d Shut up returning functions with noreturn attribute warning 2011-07-18 22:02:16 +00:00
Tim Angus b248479376 * Fix various issues with unix Sys_Dialog 2011-07-18 19:32:25 +00:00
Thilo Schulz 66f0777552 - Bug 5083 - Cross compiling for 64bit is missing libcurl.a
- Fix a compiler warning for cross compile
2011-07-18 16:32:36 +00:00
Thilo Schulz 9dc32d55e2 Bug 4812 - GCC __attribute__ annotations for printf, non-returning functions etc., patch by linux@youmustbejoking.demon.co.uk and Zack Middleton 2011-07-18 14:56:57 +00:00
Thilo Schulz 69a7ada911 Fix delta compression breaking due to packet queuing 2011-07-18 14:23:54 +00:00
Tim Angus ea6cf5fda9 * Use specific exit code for xmessage 2011-07-18 10:14:04 +00:00
Thilo Schulz 8a831d34ab Fix legacy protocol with new packet queueing 2011-07-17 23:43:33 +00:00
Thilo Schulz 242c938d7f Fix alignment issues in message sending/reading that would crash IRIX, thanks to Canavan for supplying a shell where I could fix this (#5077) 2011-07-17 01:41:39 +00:00
Thilo Schulz 4c5e9963e3 Fix compile for USE_VOIP=0 2011-07-16 11:14:20 +00:00
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
Thilo Schulz 4cfb7d376b Ffffuuuuuu I don't even know.... 2011-05-14 14:28:31 +00:00
Thilo Schulz c95bd0a684 Remove newlines from Com_Error message format strings, patch by DevHC 2011-05-12 14:02:48 +00:00
Thilo Schulz 59271903a2 More codec loader troubles with extensions 2011-05-12 12:25:36 +00:00
Thilo Schulz 68338a8268 Fix crash bug in new codec audio loader, thanks brain for reporting 2011-05-12 10:53:36 +00:00
Thilo Schulz c65234328a DevHC messed up 2011-05-11 14:33:12 +00:00
Thilo Schulz a9696d3558 Refactoring patch by DevHC 2011-05-11 14:21:27 +00:00
Thilo Schulz 86d96f12b9 Fix one byte overflow 2011-05-10 16:26:11 +00:00
Thilo Schulz 4374ff6ce9 Fix spawnflag behaviour for trigger_hurt, patch by DevHC 2011-05-10 11:11:37 +00:00
Thilo Schulz 9706e6ca29 whoops, that one was not Com_Error() 2011-05-10 10:18:07 +00:00
Thilo Schulz d0a095396e - Remove newlines in Com_Error()
- Update register description
2011-05-10 10:07:34 +00:00