Commit graph

1342 commits

Author SHA1 Message Date
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
Thilo Schulz
a7ea395bd0 Add opStack protection to defend against malicious QVMs 2011-05-10 09:14:49 +00:00
Thilo Schulz
5f63ab9160 Choose better alignment for heavy-duty rendering structures, patch by Matt Turner (#4981) 2011-05-09 23:39:40 +00:00
Thilo Schulz
185d2d6b60 Add codec fallback support for sound files not found, Patch by Zack Middleton (#4982) 2011-05-09 22:40:25 +00:00
Thilo Schulz
2eb9975334 Fix nasty crash bug 2011-05-09 21:47:41 +00:00
Thilo Schulz
36314a1622 Add error handling to malloc as well 2011-05-09 15:40:30 +00:00
Thilo Schulz
2e3c902da9 fix overzealous cvar cheat protection, patch by cyrri (#4974) 2011-05-06 11:50:26 +00:00
Thilo Schulz
2ae1bf3dcd IQM skin support and print limit info, make other limit info consistent, patch by Zack Middleton (#4978) 2011-05-06 11:43:07 +00:00
Thilo Schulz
45824008d9 Remove C99 code constructs from IQM code, patch by gimhael (#4974) 2011-05-05 13:33:43 +00:00
Thilo Schulz
876fd7dcb9 - Add HOMEPATH default name define to q_shared.c, patch by uZu (#4973)
- Reverted change from (#4972) and implemented the other suggestion to be consistent with cl_cgame.c and cl_ui.c
2011-05-04 15:39:35 +00:00
Thilo Schulz
1062c1b87b Do use the SV_Game{Error,Print} functions (#4972) 2011-05-04 14:51:56 +00:00
Thilo Schulz
bd2f6dbf05 [23:59:05] <ZTurtleMan> Thilo: altName (created using va) does not point to model filename in developer-only printf as va is used to load images before the printf. http://pastebin.com/1KCjz6Ct 2011-05-02 22:01:39 +00:00
Thilo Schulz
d37b2da593 - Add licence headers to new files
- Add patch from Zack Middleton which fixes a few issues still
2011-05-02 20:30:14 +00:00
Thilo Schulz
86c41d39da Fix sending reliable commands before being connected, patch by Eugene C. (#4971) 2011-05-02 16:03:35 +00:00
Thilo Schulz
50721a6580 Remove sv_strictAuth cvar for STANDALONE games 2011-05-02 15:58:56 +00:00
Thilo Schulz
b97a7e2583 Fix out of bounds array index (#4960) patch by Ben Millwood 2011-05-02 15:57:02 +00:00
Thilo Schulz
bd9485f597 Do not retry image loader for image that failed, patch by Zack Middleton (#4968) 2011-05-02 15:53:20 +00:00
Thilo Schulz
c5e2654b54 - Add Inter-Quake Model (IQM) Format support, patch by gimhael with minor modifications by myself (#4965)
- Changed model_t::md4 to model_t::modelData
- Fix R_ModelBounds for MD4, MDR and IQM models (#4966)
- Support Model format fallback similar to image formats in tr_image.c, patch by Zack Middleton (#4967)
2011-05-02 15:50:19 +00:00
Thilo Schulz
d34c6b7e0b Revert protocol 69 pending further discussion (#4962) 2011-04-27 20:17:45 +00:00
Thilo Schulz
a5580d8974 - Harden the client and server protocol against UDP spoofing attacks. This will defend ioquake3 against http://aluigi.altervista.org/papers/q3noclient.txt (#3041)
- Retains full compatibility to the old but unsecure protocol between clients and servers
- Harden the connection process against DoS attacks, possibly connected to UDP spoofing
2011-04-27 16:03:35 +00:00
Thilo Schulz
06d12f6085 Replace a few numeric constants with already defined macros, patch by ZTurtleMan 2011-04-26 09:48:40 +00:00
Thilo Schulz
a0582fb21a Fix a little quirk still 2011-04-26 02:32:05 +00:00
Thilo Schulz
797d127dfc Use memcmp instead of self-built while loop 2011-04-26 02:30:12 +00:00
Thilo Schulz
9541fca878 Add better support for analog joysticks, patch by use.less01 2011-04-19 13:26:15 +00:00
Thilo Schulz
3551b0fa3c Let codec loader decide which extension to give to extensionless filenames 2011-04-18 18:55:58 +00:00
Thilo Schulz
6a203bc8e9 - Fix data alignment issue with glReadPixel call, reported by Guillaume Bougard (#4954)
- Fix data alignment issue in raw AVI recording for weird resolutions (like 1366x768)
2011-04-18 16:06:10 +00:00
Thilo Schulz
5769bed4a3 Make Sys_SetEnv behave alike on Windows and Linux 2011-04-18 00:39:15 +00:00
Thilo Schulz
6b82f4fd09 Consider key states before startup, patch by Zack Middleton (#4950) 2011-04-17 22:09:05 +00:00
Thilo Schulz
e5c210236c Fix a few comments (#4591) 2011-04-13 23:42:55 +00:00
Tim Angus
01a274baf7 * Actually call Sys_PlatformExit 2011-04-09 12:33:56 +00:00
Thilo Schulz
31ec563999 Fix player queueing for tournament play (#4939) 2011-04-07 23:41:32 +00:00
Tim Angus
806a849bf2 * Fix jpeg warnings 2011-03-30 22:23:58 +00:00
Tim Angus
52ead6fa36 * Crash recovery for com_pipeFile (Lakitu7) 2011-03-30 21:58:31 +00:00
Thilo Schulz
16b99e354b Fix JPEG compression for screenshots and mjpeg video recording with new JPG library 2011-03-17 16:00:45 +00:00
Thilo Schulz
d3f8dffe39 Bug 4936 - Wrong color for non-ascii symbols in console 2011-03-17 12:53:47 +00:00
Thilo Schulz
c1d8a260ae Fix dynamic lighting for moving world surfaces. Patch by gimhael, thx 2011-03-14 17:25:20 +00:00
Thilo Schulz
379dfbf496 - Properly use ALC_ALL_DEVICES_SPECIFIER in sound info
- Properly use ALC_CAPTURE_DEVICE_SPECIFIER in sound info
2011-03-14 16:36:40 +00:00
Tim Angus
e0eb1b4227 * Fix whitespace 2011-03-14 16:04:49 +00:00
Thilo Schulz
182b344818 - Remove alext.h dependency and manually add the required macros
- Use ALC_DEFAULT_ALL_DEVICES_SPECIFIER instead of ALC_DEFAULT_DEVICE_SPECIFIER if extension exists
2011-03-14 15:57:39 +00:00
Ludwig Nussel
1b27ae23c1 include vm_local.h in vm_powerpc_asm.c
Patch by Simon McVittie, bug 4930
2011-03-13 16:54:41 +00:00
Ludwig Nussel
55369f9535 add missing jconfig.h 2011-03-13 16:17:06 +00:00
Ludwig Nussel
246b496693 include alext.h for ALC_ALL_DEVICES_SPECIFIER
This assumes OpenAL Soft (Simon McVittie, bug 4927)
2011-03-13 15:46:27 +00:00
Thilo Schulz
0c10adaf92 - Migrate to jpeg-8c
- Add possibility to link against system libjpeg
2011-03-12 16:45:15 +00:00
Thilo Schulz
bce3848523 Make buffers for device lists a bit longer. Just in case. 2011-03-11 13:53:22 +00:00
Thilo Schulz
641256f7f0 strtod exists in bg_lib.c now so Q_isanumber will work in the VMs, too. 2011-03-11 13:51:36 +00:00
Tim Angus
a9830934ba * Fix misplaced ; in MSVC _vsnprintf wrapper 2011-03-10 22:06:55 +00:00
Thilo Schulz
3bf8ec2dab (#4925) - com_pipefile to create a named pipe for sending commands from other processes, patch by Chris Schwarz 2011-03-10 01:01:27 +00:00
Thilo Schulz
a3def2744f - Fix a compiler warning
- Fix the detection of the enumeration extensions
- Fix default device for s_alInputDevice
- Adjust formatting of S_AL_Info output
2011-03-09 23:34:15 +00:00
Thilo Schulz
e5cec15fbf Fix bug where Com_StartupVariable would set CVAR_USER_CREATED on already existing cvars 2011-03-09 22:50:06 +00:00
Thilo Schulz
7ca1dc6f8b - I accidentally committed patch by slacker from (#4915) in r1916. Patch adds input device selection support
- Add check for ALC_ENUMERATE_ALL_EXT before using ALC_ALL_DEVICES_SPECIFIER in device enumeration
- Patch readme for new cvars by Zack Middleton
2011-03-09 12:59:25 +00:00
Thilo Schulz
37727b892c Rename cvar "in_joystickThreshold" to "joy_threshold" as QVMs use the latter name. 2011-03-08 02:14:39 +00:00
Thilo Schulz
8c3f320504 (#3767) Some protection from malicious qvms - patches and ideas by Amanieu d'Antras and Ben Millwood 2011-03-08 01:39:34 +00:00
Thilo Schulz
657c791257 Zack Middleton made me do it 2011-03-08 01:37:28 +00:00
Thilo Schulz
0a6f873999 Add g_humansplayers (found by server) and g_needpass (cvar) to serverinfo (#4702) 2011-03-07 23:12:16 +00:00
Thilo Schulz
97ed3650d7 Make Video settings menu revert some settings to default values via Cvar_Reset() instead of hardcoded values (#2589) 2011-03-07 23:07:24 +00:00
Thilo Schulz
dd0161f475 Add in_availableJoysticks to list usable joysticks, similar to s_alAvailableDevices. Some parts of the patch provided by Zack Middleton 2011-03-07 22:56:03 +00:00
Thilo Schulz
c0cca7a0a8 - Fix potential out-of-bounds read in files.c, fix by using new FS_IsExt
- Add capability to load demos with com_protocol suffix, partially applied patches from Simon McVittie
- Fix demo loading if protocol number has more digits than 2
- Minor refactoring, replace all occurances of suffix "dm_" with global macro DEMOEXT
2011-03-07 22:08:48 +00:00
Thilo Schulz
fef4d12d68 Refactoring patch by DevHC 2011-03-05 19:20:37 +00:00
Thilo Schulz
21668c0616 Fix systeminfo command, fix by DevHC 2011-03-05 19:11:56 +00:00
Thilo Schulz
0387b8002e Add cvar "protocol" so user can change protocol version on command line, for standalone games. Most of the patch by Simon McVittie with a few minor modifications by myself 2011-03-05 19:10:23 +00:00
Thilo Schulz
3639108763 Also send empty valued system cvars, fix proposed by DevHC 2011-03-05 19:07:56 +00:00
Thilo Schulz
2e2e54e3c5 Fix quirk reported by Zack Middleton 2011-03-04 21:51:34 +00:00
Thilo Schulz
75cd136c44 (#4922) Use screenYScale, not screenXScale, for scaling Y, by Zack Middleton 2011-03-04 20:32:03 +00:00
Thilo Schulz
b764150a97 (#4291) Redundant statement in client console, by Zack Middleton 2011-03-04 20:29:24 +00:00
Thilo Schulz
0b538a929e (#4919) Extra variable in missionpack ui's bind_t structure, by Zack Middleton 2011-03-04 20:26:57 +00:00
Thilo Schulz
8bdd8e6705 (#4918) Gametype clamping using constant integer in missionpack ui, by Zack Middleton 2011-03-04 20:23:29 +00:00