summaryrefslogtreecommitdiff
path: root/src/qcommon
AgeCommit message (Collapse)Author
2013-01-10Various fixes to vm_interpreted.c: - Add opStack protection - Fix dataMask ↵Thilo Schulz
check for OP_BLOCK_COPY - Add instruction number check for conditional jumps - Make errors in VM_PrepareInterpreter nonfatal
2013-01-10- Don't try to load QVM/DLL files on pure servers - Fallback after failed ↵Thilo Schulz
DLL load will be VMI_COMPILED, not INTERPRETED
2013-01-10- Small change to search path order - local files not in .pk3s take ↵Thilo Schulz
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
2013-01-09Need space of len+1 for snprintf to workThilo Schulz
2013-01-09Fix #if macros for idx64 and id386Thilo Schulz
2013-01-09- Fix macro that uses constant float suffix as argument - retval variables ↵Thilo Schulz
in ftola.c must have type long, not int
2013-01-09- Add MASM assembler files for MSVC x64 projects to support vm_x86 in x64 ↵Thilo Schulz
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
2013-01-09OpenBSD compile fixes, patch provided by Jonathan Gray (#4994)Thilo Schulz
2013-01-09Fix newlines in Com_Error, patch by Zack Middleton (#5023)Thilo Schulz
2013-01-09- Use EmitCallDoSyscall() to call the jump violations function which ↵Thilo Schulz
guarantees 16-byte stack alignment - Add x64 code for MSVC _asm() blocks, not tested yet.
2013-01-09- Add x86_64 support to vm_x86.c - Fix warning on mingw64Thilo Schulz
2013-01-09Fix is*() functions for windows where long value is 4 bytesThilo Schulz
2013-01-09Fix compilation on mingw64Thilo Schulz
2013-01-09Add instruction number checks to jumps and calls to SPARC VM, patch by David ↵Thilo Schulz
Miller
2013-01-09- Implement opStack protection: Use register %ebx for scaled indexed ↵Thilo Schulz
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
2013-01-09- Do assignment of value 0xDEADBEEF after the 4-byte alignment - Add all GPR ↵Thilo Schulz
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()
2013-01-09I don't seem to get these constraints right. This should fix itThilo Schulz
2013-01-09Fix VM call for release version, bug introduced by myself in r1994Thilo Schulz
2013-01-09Use scaled indexing mode n=4 for addressing opStack, this way we can use the ↵Thilo Schulz
8 bit offset value in %%bl to address an OPSTACK_SIZE of 1024 which was the old value.
2013-01-09- Use edx for CALLs instead of ecx, as the latter does not require any push ↵Thilo Schulz
to stack - Make Linux AT&T asm code consistent with the MASM codeblock
2013-01-09- Set default opStack size to 256 - Fix integer wraparound. opStack offset ↵Thilo Schulz
in rbx will always be >= 0
2013-01-09- Fix SEGV in while loop getop() after t = b = 0 - Fix iss8, iss16 and iss32 ↵Thilo Schulz
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
2013-01-09Optimise VectorNormalize functions, patch by Matt TurnerThilo Schulz
2013-01-09Refactor and bugfix COM_*Extension functions, patch by DevHCThilo Schulz
2013-01-09- Remove Q_strrchr(), replace with standard, portable strrchr() - Add ↵Thilo Schulz
strrchr() to bg_lib.c, patch by DevHC
2013-01-09move MIN/MAX definition, use MIN() instead of min(), patch by DevHCThilo Schulz
2013-01-09- Add vm_x86.c optimization patch by Eugene C. - Remove ASM syntax specific ↵Thilo Schulz
code (AT&T vs MASM) for OP_CALL and replace with machine code
2013-01-09- Reverting accidentally committed vm_x86.c - Last commit contained some ↵Thilo Schulz
refactoring for vm_x86_64.c
2013-01-09ensure that ent->classname is always non-null (for entity numbers up to ↵Thilo Schulz
level.num_entities-1, and ENTITYNUM_WORLD and ENTITYNUM_NONE), for player entities and #ENTITYNUM_NONE in particular, patch by DevHC
2013-01-09Ffffuuuuuu I don't even know....Thilo Schulz
2013-01-09Remove newlines from Com_Error message format strings, patch by DevHCThilo Schulz
2013-01-09Refactoring patch by DevHCThilo Schulz
2013-01-09whoops, that one was not Com_Error()Thilo Schulz
2013-01-09- Remove newlines in Com_Error() - Update register descriptionThilo Schulz
2013-01-09Add opStack protection to defend against malicious QVMsThilo Schulz
2013-01-09Choose better alignment for heavy-duty rendering structures, patch by Matt ↵Thilo Schulz
Turner (#4981)
2013-01-09Add error handling to malloc as wellThilo Schulz
2013-01-09- Add HOMEPATH default name define to q_shared.c, patch by uZu (#4973) - ↵Thilo Schulz
Reverted change from (#4972) and implemented the other suggestion to be consistent with cl_cgame.c and cl_ui.c
2013-01-09Revert protocol 69 pending further discussion (#4962)Thilo Schulz
2013-01-09- Harden the client and server protocol against UDP spoofing attacks. This ↵Thilo Schulz
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
2013-01-09Fix a little quirk stillThilo Schulz
2013-01-09Use memcmp instead of self-built while loopThilo Schulz
2013-01-03* Fix bad merge (DevHC)Tim Angus
2013-01-03* Fix a bunch of variable set but not used warningsM. Kristall
2013-01-03* Re-add the protocol cvar readonly, so that ui can use itBen Millwood
2013-01-03* Merge ioq3-r1946Tim Angus
2013-01-03* Fix a couple of whitespace inconsistencies in fs_which that I noticed ↵Christopher Schwarz
while making the patch for upstream
2013-01-03* Three minor cleanups (/dev/humancontroller)Christopher Schwarz
- Properly initialize cvartable entry for g_teamforcebalance - Properly remove the "which" command on shutdown - Clear all SS_ flags on stopping spectating instead of just wallwalk so free spectators don't get stuck with slowblob or whatever
2013-01-03* Merge ioq3-r1813Tim Angus
2013-01-03* (bug 4541) optimise Q_StripIndentMarker (thanks gimhael)Ben Millwood