Svante Signell
540e4225cc
Add support for the GNU/Hurd architecture
...
[As with GNU/kFreeBSD, it's treated as "Linux": all three use the GNU libc
and runtime linker, which is mostly what matters for ioquake3. -smcv]
Bug-Debian: http://bugs.debian.org/679330
Reviewed-by: Simon McVittie <smcv@debian.org>
2013-05-19 21:50:40 +01:00
Harley Laue
1b2a6abed9
Rename FS_CheckFilenameIsNotImmutable to ..IsMutable
2013-04-24 14:45:37 -05:00
Zack Middleton
6c88bf8aee
Rename FS_CheckFilenameIsNotExecutable to ..NotImmutable
2013-04-24 14:14:13 -05:00
Zack Middleton
936db459ee
Don't allow modifying qvms or pk3s
...
Exception for allowing pk3s to be downloaded.
2013-04-24 14:11:18 -05:00
Zack Middleton
b95d8a91aa
Fix referencing pk3 with only qagame QVM
2013-04-22 16:21:46 -05:00
Zack Middleton
a7317ac0d5
Add fallback for __func__ (ioq3 isn't compiled as c99 by default)
...
Using Debian gcc version 4.7.2 and clang 3.0-6.1 anyway.
2013-04-20 21:28:21 -05:00
Zack Middleton
0f62a565f9
Fix setting CVAR_VM_CREATED flag on user created cvars
...
Fix setting CVAR_VM_CREATED flag on cvars created using set[asu] commands (including archived cvars from cfg) and trap_Cvar_Set.
trap_Cvar_Register called Cvar_Get which cleared CVAR_USER_CREATED flag, but CVAR_VM_CREATED wasn't set because the cvar already existed.
2013-04-06 01:06:34 -05:00
Tim Angus
98360bcd57
Fix some of the things clang --analyze flagged
2013-03-26 16:50:03 +00:00
Tim Angus
8d70929d12
Ditch 'historical compatibility' and use 'logic' instead
2013-03-22 11:33:27 +00:00
Zack Middleton
9bfff1363e
Fix NET_IPSocket and NET_IP6Socket return type
...
It was causing a warning on Windows x64.
2013-03-18 16:04:53 -05:00
Ensiform
9a752ce8cd
Use PATH_SEP for a debug message in FS_FOpenFileReadDir
2013-03-18 14:44:34 -05:00
Tim Angus
ecd50f01c2
Remove RAVENMD4 #define
2013-03-18 19:05:51 +00:00
Tim Angus
dfbad1360f
Fix some clang warnings
2013-03-12 21:50:59 +00:00
Tim Angus
78132cf829
Remove old x86_64 JIT compiler
2013-03-11 22:20:10 +00:00
Zack Middleton
eef897b3c1
Remove Sys_SnapVector
2013-02-18 19:05:37 -06:00
Zack Middleton
2e45edb550
5717 - Gamecode can open file "" for reading
2013-02-15 21:08:47 -06:00
Zack Middleton
6f88df262c
Don't add pk3dirs if connecting to a pure server
...
Only .cfg etc would be read from pk3dirs, but they should be treated like pk3s that are not on the pure list.
2013-02-11 19:15:14 -06:00
Zack Middleton
ebee21157c
Change pk3dir README / comments to fit in better
2013-02-11 18:02:40 -06:00
Andrew Browne
37a9614179
5289 - Support for .pk3dir
2013-02-11 17:58:24 -06:00
Zack Middleton
ac621642ac
Unify/cleanup max snapshot entities on client and server
2013-02-11 15:49:47 -06:00
Zack Middleton
80b0792980
Remove MSG_WriteDeltaUsercmd and MSG_ReadDeltaUsercmd
2013-02-02 22:26:22 -06:00
Zack Middleton
9c741f95ea
Remove some unused defines from msg.c
2013-02-02 21:40:03 -06:00
Zack Middleton
b4ad5a8411
Fix MSG_ReadDeltaKey setting bit 1<<bits often
...
MSG_ReadDeltaKey would often set 1<<bits, it should never be set. It exceeds the size of what was being read.
Worked okay for weapons/forward/right/up as they stored as chars (value would wrap around to correct value, lucky).
Angles had the wrong value, not sure if it was causing issues.
2013-02-01 22:07:52 -06:00
Tim Angus
70b165ee33
Fix screwed up whitespace in files.c
...
Apologies to anyone merging this :(
2013-01-13 22:26:09 +00:00
Tim Angus
5fd456ff7c
Fix FS_FOpenFileRead corner case
...
FS_FOpenFileRead is a fairly mental function that changes its return
behaviour depending on whether or not file is NULL or not. It turns out
in the case where file is NULL, we were returning the wrong value when
the file didn't exist.
2013-01-13 22:26:09 +00:00
Zack Middleton
693e51c654
Remove old FIXME, pmove_framecount isn't networked
2013-01-11 17:29:39 -06:00
Zachary Slater
20a77764dd
Increase various arbitrary limits - Bug #5463
2013-01-06 01:36:39 -08:00
Zack Middleton
8ef0f36a3f
Fix dedicated server crashing when using MSG_ReadDelta*, though it only happens if someone modifies the engine. ( #5449 )
2012-12-16 00:15:14 +00:00
Zack Middleton
c5af65fe5f
Fix passing arg9 (qvm only), arg10, and arg11 to vmMain for native libs and non-i386 compiled or interpated qvms. (Currently they aren't use in vmMain in game, cgame, or ui.)
...
Fix passing args[11] to args[15] from vm to engine on ppc64 and sparc64. Some of the args are used by game bot prediction syscalls. May have been causing bugs. Note: This was fixed for x86_64 in r2163.
2012-12-15 21:55:07 +00:00
Zack Middleton
29c406c9ec
Fix function prototype for Info_RemoveKey_Big. Pointed out by Ensiform.
2012-11-29 17:09:28 +00:00
Zack Middleton
1f8db4c14a
Remove references to non-existent functions CM_MarkFragments and CM_LerpTag.
2012-11-19 05:48:27 +00:00
Zack Middleton
82f83cd092
Fix some "> MAX_*" to be ">= MAX_*".
2012-11-18 19:09:54 +00:00
Zack Middleton
d092ba6627
Fix restoring fs_game when default.cfg is missing.
2012-10-26 01:27:16 +00:00
Thilo Schulz
027ea8d6d3
Oops, still need this
2012-08-08 09:42:33 +00:00
Thilo Schulz
ffac0e6757
Move argument passing from VM to engine to global variables which allows to get rid of lots of OS specific stuff and also fixes errors that happens when compilers add lots of boilerplate to the DoSyscall() function
2012-08-08 09:34:03 +00:00
Zack Middleton
2cfda4384b
We should not try to broadcast via the IPv4 socket if that socket is closed.
...
Previously, error messages were generated when querying local servers while IPv4 was disabled. Patch from /dev/humancontroller.
2012-07-05 13:33:55 +00:00
Thilo Schulz
b5456faaea
Revert pk3dir patch because some users report the code gets stuck in an infinite loop in the new code
2012-07-02 01:03:55 +00:00
Thilo Schulz
b757968839
Support for .pk3dir ( #5298 ) - Patch by Andrew (dersaidin@gmail.com)
2012-07-01 18:00:18 +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
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
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
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
Zachary Slater
b5acc31a4d
CVE-2012-3345
2012-06-14 18:28:58 +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
Zack Middleton
395225cb7e
#5439 - Potential memory leak in host name resolution. (Eugene C.)
2012-04-05 21:29:51 +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
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
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
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
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
89d986a35b
Fix a few string literals
2011-09-28 03:13:30 +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
ebec84c55d
Fix q3vm execution on x86/x86_64 MacOSX
2011-09-27 01:38:13 +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
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
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
Thilo Schulz
a248451e66
Fix warning on MacOSX
2011-08-10 21:21:54 +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
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
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
800a3c8d7b
Fix ARCH_STRING macro for mingw64
2011-08-01 14:38:37 +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
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
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
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
c4f739b8d0
Fix extension name comparison for DLL files
2011-07-24 22:12:21 +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
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
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
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
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
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
0ed9c43453
Make naming a bit more foolproof for new macro
2011-07-07 16:21:06 +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
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
5c4813da51
Add forced VM unloading to Com_Quit_f
2011-06-25 09:05:57 +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
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
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
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
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
a447aa82af
Fix #if macros for idx64 and id386
2011-06-15 14:10:20 +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
bd2b704c91
OpenBSD compile fixes, patch provided by Jonathan Gray ( #4994 )
2011-06-06 14:59:54 +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
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
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
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
a9696d3558
Refactoring patch by DevHC
2011-05-11 14:21:27 +00:00