mirror of
https://github.com/dhewm/dhewm3-sdk.git
synced 2024-11-28 15:22:27 +00:00
From dhewm3: Add absolute mouse mode and refactor mouse grabbing code
The only change really is adding SE_MOUSE_ABS to sysEventType_t. In theory this breaks the ABI, but in practice I don't think mods use sysEventType_t, and certainly not the ones above SE_MOUSE (SE_JOYSTICK_AXIS doesn't make sense as Doom3 never supported Joysticks, SE_CONSOLE is for input from TTY or whatever, and doesn't make sense for mods to use in any way) The change in Stub_SDL_endian.h is just me being paranoid. (side-note: it *might* make sense to replace all that inline-asm in Stub_SDL_endian.h with compiler intrinsics like GCC/clangs __builtin_bswap* and MSVCs _byteswap_* - if they are supported in all relevant compiler versions. GCC supports 32 and 64 bit swaps since 4.3, 16bit since 4.8 and 128bit since 11.x; clang supports 32 and 64 bit swaps at least since 3.0 and 16bit swaps since 3.2; VS introduced _byteswap_ushort, .._ulong and .._uint64 in VS2003)
This commit is contained in:
parent
c3095ef5b3
commit
82fbcd303f
2 changed files with 5 additions and 0 deletions
|
@ -34,6 +34,10 @@
|
|||
#define SDL_LIL_ENDIAN 1234
|
||||
#define SDL_BIG_ENDIAN 4321
|
||||
|
||||
#ifndef BUILD_IS_BIG_ENDIAN
|
||||
#error BUILD_IS_BIG_ENDIAN should be defined!
|
||||
#endif
|
||||
|
||||
#if BUILD_IS_BIG_ENDIAN // this is from config.h, set by cmake
|
||||
#define SDL_BYTEORDER SDL_BIG_ENDIAN
|
||||
#else
|
||||
|
|
|
@ -58,6 +58,7 @@ typedef enum {
|
|||
SE_KEY, // evValue is a key code, evValue2 is the down flag
|
||||
SE_CHAR, // evValue is an ascii char
|
||||
SE_MOUSE, // evValue and evValue2 are reletive signed x / y moves
|
||||
SE_MOUSE_ABS, // evValue and evValue2 are absolute x / y coordinates in the window
|
||||
SE_JOYSTICK_AXIS, // evValue is an axis number and evValue2 is the current state (-127 to 127)
|
||||
SE_CONSOLE // evPtr is a char*, from typing something at a non-game console
|
||||
} sysEventType_t;
|
||||
|
|
Loading…
Reference in a new issue