Commit graph

1359 commits

Author SHA1 Message Date
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
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