Bill Currie
dbd3d6502a
Nuke qboolean from orbit
...
I never liked it, but with C2x coming out, it's best to handle bools
properly. I haven't gone through all the uses of int as bool (I'll leave
that for fixing when I encounter them), but this gets QF working with
both c2x (really, gnu2x because of raw strings).
2023-06-13 18:06:11 +09:00
Bill Currie
12c84046f3
[cvar] Make cvars properly typed
...
This is an extremely extensive patch as it hits every cvar, and every
usage of the cvars. Cvars no longer store the value they control,
instead, they use a cexpr value object to reference the value and
specify the value's type (currently, a null type is used for strings).
Non-string cvars are passed through cexpr, allowing expressions in the
cvars' settings. Also, cvars have returned to an enhanced version of the
original (id quake) registration scheme.
As a minor benefit, relevant code having direct access to the
cvar-controlled variables is probably a slight optimization as it
removed a pointer dereference, and the variables can be located for data
locality.
The static cvar descriptors are made private as an additional safety
layer, though there's nothing stopping external modification via
Cvar_FindVar (which is needed for adding listeners).
While not used yet (partly due to working out the design), cvars can
have a validation function.
Registering a cvar allows a primary listener (and its data) to be
specified: it will always be called first when the cvar is modified. The
combination of proper listeners and direct access to the controlled
variable greatly simplifies the more complex cvar interactions as much
less null checking is required, and there's no need for one cvar's
callback to call another's.
nq-x11 is known to work at least well enough for the demos. More testing
will come.
2022-04-24 19:15:22 +09:00
Bill Currie
e080bb333c
[win] Update windows input for new binding system
...
Seems to work nicely for keyboard (though key bindings are not
cross-platform). Mouse not tested yet, and I expect there are problems
with it for absolute inputs (yay mouse warp :P).
2021-11-19 13:52:40 +09:00
Bill Currie
b95c749438
[input] Add a per-device event data pointer
...
This might pose a problem with multiple event targets (we'll see), but
it will make connecting input devices to bindings much easier.
2021-11-10 13:22:10 +09:00
Bill Currie
c6a073c1f3
[win] Hook up windows input
...
Not sure it actually works yet (can't test right now), but since the x11
switch-over worked, it should.
2021-09-28 12:48:47 +09:00
Bill Currie
ec54c54226
[build] Fix some windows bitrot
2021-08-02 14:02:41 +09:00
Bill Currie
3eb28000de
[vid] Clean up windows video code a bit
...
It turns out the dd and dib "driver" code is very specific to the
software renderer. This does not fix the segfault on changing video
mode, but I do know where the problem lies: the window is being
destroyed and recreated without recreating the buffers. I suspect a
clean solution to this will allow for window resizing in X as well.
2021-03-31 15:10:35 +09:00
Bill Currie
81a837da0f
[win] Clean up a pile of messy externs
2021-03-31 10:36:30 +09:00
Bill Currie
596cd164a3
[win] Handle focus in/out events
...
This fixes the errant console behavior (cursor wasn't showing because QF
thought it had never received focus).
2021-03-31 02:48:25 +09:00
Bill Currie
5f93c115ff
[util] Make developer flag names easier to manage
...
They're now an enum, and the flag part of the name is all lowercase, but
now the flag definitions and names list will never get out of sync.
2021-03-29 22:38:47 +09:00
Bill Currie
88ff254f42
Get QF cross-compiling using MXE/mingw32
...
This includes -win clients (no clue if anything actually works yet).
2021-03-27 20:09:37 +09:00
Bill Currie
ae6dfd8cb6
Move the mouse activation/deactivation into in_win.c.
...
It now gets handled by the keydest callback (I hope it still works).
2013-01-24 12:36:14 +09:00
Bill Currie
8153646eda
Use a callback for in-game keystate detection.
...
Yay bitrot :P
2013-01-24 12:36:14 +09:00
Bill Currie
23bd3d99f8
Fix the two unsigned/signed comparison warnings.
...
Now just for the real error in in_win.c: key_dest.
2013-01-24 12:36:14 +09:00
Bill Currie
8fa92bf206
Add 32 button support to sdl and win as well.
...
The world isn't x11 (much as I'd like it to be)
2012-07-02 16:51:14 +09:00
Bill Currie
23a38738fc
Massive whitespace cleanup.
...
Lots of trailing whitespace and otherwise blank lines.
2012-05-22 08:23:22 +09:00
Bill Currie
bc1b483525
Nuke the rcsid stuff.
...
It's pretty useless in git.
2012-04-22 10:56:32 +09:00
Bill Currie
b59ffd4cf1
Fix win32 (mingw) builds.
2012-02-07 20:18:23 +09:00
Bill Currie
f31595781c
Add and used SYS_VID for video/targets masked prints.
2010-11-27 08:48:00 +09:00
Bill Currie
8c4fe2f844
Rename Sys_DPrintf to Sys_MaskPrintf.
...
We now have finer runtime control over what gets printed. Need to do a
SYS_DEV audit, creating new masks as apropriate.
2010-11-26 16:19:26 +09:00
Bill Currie
d66934942d
nuke Con_Printf and Con_DPrintf and use Sys_* instead
2007-11-06 10:17:14 +00:00
Bill Currie
87cc09233c
"long" audit. can't use long when we want 32 bits. May be a few more cases.
2005-10-23 13:19:21 +00:00
Bill Currie
3fb03fc2be
hah, should have been using __attribute__((used)) all that time (rather
...
than __attribute__((unused))). fixes the missing console in -x11
2005-08-04 15:27:09 +00:00
Chris Ison
6642686e33
removal of legacy MGL block_drawing variable. Fixed window restore bug that prevented the screen from being updated.
2004-02-15 03:40:50 +00:00
Bill Currie
255a7522bd
merge IN_SendKeyEvents and IN_Commands into IN_ProcessEvents
2003-04-08 18:45:12 +00:00
Bill Currie
c731afa957
hopefully fix the input grabbing (and evem more hopefully, without driving
...
Despair to ... um... ;)
2003-03-07 03:55:51 +00:00
Ragnvald Maartmann-Moe IV
646f875a34
Add return value checking for in_grab. Also some dead code removal, dangling comment and white space cleanup.
2003-02-13 19:03:48 +00:00
Bill Currie
c103d77157
make SND_ClearBuffer get called directly by Block/UnblockSound and remove
...
S_ClearBuffer from the api
2003-01-31 19:55:21 +00:00
Bill Currie
c788a2ea57
remove a redundant call to S_Init_Cvars and call S_ClearBuffer when sound
...
is blocked and unblocked.
2003-01-31 17:56:05 +00:00
Bill Currie
761a7546dd
re-arrange things so __attribute__ and __builtin_expect are properly
...
autoconfiscated so rcsid will continue to work with gcc 3.3
2003-01-15 15:31:36 +00:00
Bill Currie
a84b6bba5d
make stuff static that can be and nuke some useless stuff
2002-12-16 23:26:14 +00:00
Bill Currie
ca4b3acd6c
big protototype cleanup. Now, except for a few cases, all non-static
...
prototypes are in headers files.
2002-11-05 19:12:51 +00:00
Bill Currie
44dcf74627
strip the \n from all(?) of the Sys_Error calls (Sys_Error itself will be
...
adding \n).
2002-05-14 06:12:29 +00:00
Bill Currie
50f2d46398
various cleanups
2001-11-12 20:58:06 +00:00
Bill Currie
9b8995b836
fix win32's missing clipboard support (bringing it back). some trickery will
...
be required to get ctrl-V working, but... *shrug*
2001-10-30 22:46:15 +00:00
Bill Currie
85c9e0ab1e
more externs cleaned up
2001-10-29 17:46:03 +00:00
Bill Currie
8071e8398a
put a couple externs back for win32. they need a bit more thought on how to
...
arrange things.
2001-10-29 16:45:03 +00:00
Bill Currie
78a3e398d5
* taniwha gets medieval on extern
2001-10-28 04:23:37 +00:00
Bill Currie
fa95bd35aa
fix a really stupid brainfart that caused shift states to not work
2001-10-23 01:53:51 +00:00
Bill Currie
1d697dc90d
give in_win keyboard shift states for ascii conversions
2001-10-22 16:07:26 +00:00
Bill Currie
3252ee3eb6
fix the mangled key codes
2001-10-22 05:07:15 +00:00
Bill Currie
52252616ff
pull the input code out of vid_wgl into in_win
2001-10-22 04:13:56 +00:00
Bill Currie
41d01d54f9
put the INITGUID definition in the correct place
2001-10-15 17:32:43 +00:00
Bill Currie
b1f4a778f9
the rcsid commit from hell }:>
2001-09-28 06:26:31 +00:00
Bill Currie
7aa5ab75de
header dep cleanup and IN_LL_Commands is /gone/
2001-08-30 20:32:27 +00:00
Bill Currie
822e637e11
s/_windowed_mouse/in_grab/ and in_grab and in_dga now use callbacks
2001-08-30 20:04:13 +00:00
Bill Currie
3656d6fd59
compile fixes for win32 and take the pruning shears to *sys*.c in qw and nq
...
(they're not done yet, though)
2001-08-29 17:45:53 +00:00
Ragnvald Maartmann-Moe IV
793efd6976
Whitespace.
2001-08-27 01:00:03 +00:00
Bill Currie
98b7a9fdd5
part way there :/ I'll leave vid_wgl and vid_mgl alone for now (probably move
...
that code to in_win.c)
2001-08-16 18:25:17 +00:00
Bill Currie
323015b11a
include/QF header cleanup. including config.h (or any file from include) is
...
a nono because headers in include/QF get installed, but include don't and thus
would break quakeforge-dev.
2001-05-31 05:33:13 +00:00