summaryrefslogtreecommitdiff
path: root/src/qcommon
AgeCommit message (Collapse)Author
2013-01-10Allow recursive VM entry for VM operations as wellThilo Schulz
2013-01-10- Automatically reset fs_game to "" if it was supplied by the user and is ↵Thilo Schulz
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
2013-01-10- align sse control word storage space to 16 byte boundary for snapvector - ↵Thilo Schulz
replace some whitespace with tabs in snapvector.c - Give gcc a bit more freedom in choice of registers
2013-01-10- Clear ip address listings after a NET_Restart - check for oldGameSet ↵Thilo Schulz
instead of the gamename string
2013-01-10Fix x64 compilation on MSVCThilo Schulz
2013-01-10- Improve game_restart: * differing screen resolutions and network settings ↵Thilo Schulz
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()
2013-01-10- Fix memory leak in DMA sound after S_Shutdown() - Make codec load use temp ↵Thilo Schulz
hunk memory instead of zone mem - Fix sound issues with direct sound and game_restart (#4526)
2013-01-10remove static VM_BlockCopy from vm_powerpcLudwig Nussel
2013-01-10Fix wrong macro. MSVC win32 build should work again now.Thilo Schulz
2013-01-10Use Q_ftol for vm_interpretedThilo Schulz
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