Bill Currie
4cef9792f4
[util] Make hash-tables semi-thread-safe
...
They take a pointer to a free-list used for hashlinks so the hashlink
pools can be per-thread. However, hash tables that are not updated are
always thread-safe, so this affects only updates. progs_t has been set
up such that it is easy for multiple progs within one thread can share
hashlinks.
2020-03-25 15:43:16 +09:00
Bill Currie
9986b57a77
[console] Use sig_atomic_t for SIGWINCH
...
If it's not defined on other platforms, something can be done in
config.h
2020-03-23 16:16:50 +09:00
Bill Currie
178c8dec85
[console] Fix server console resize
...
I goofed when doing the win32 fixes
2020-03-23 16:01:07 +09:00
Bill Currie
1a7add3f6d
Merge branch 'master' into vulkan
2020-03-20 13:04:41 +09:00
Bill Currie
a55b9544ac
Improve handling of pr_argc
...
It is now set to 0 when progs are loaded and every time
PR_ExecuteProgram() returns. This takes care of the default case, but
when setting parameters, pr_argc needs to be set correctly in case a
vararg function is called.
2020-02-25 17:36:29 +09:00
Bill Currie
7406e0308e
Fix some warnings picked up in an optimized build
2020-02-24 11:28:43 +09:00
Bill Currie
4b7ecdf74a
Make PR_Init take an instance to initialize
...
This allows internal sub-systems to do per-instance initializations
without other engine systems having to know about them.
2020-02-23 18:32:16 +09:00
Bill Currie
81083698a8
Move to using an in-memory form of ddef_t
...
This allows the VM to work with extended ddefs transparently. It seems
to have uncovered a typedef alias relocation bug, though.
2020-02-22 22:33:44 +09:00
Bill Currie
c296514b95
Make pr.load_file 'return' the file size
2020-02-21 21:17:28 +09:00
Bill Currie
4e4d1b99b4
Clean up all the system shutdown calls
...
I added Sys_RegisterShutdown years ago and never really did anything
with it: now any system that needs to be shutdown can ensure it gets
shutdown on program exit, and in the correct order (ie, reverse to init
order).
2019-07-12 23:15:26 +09:00
Bill Currie
82809eb856
Simplify the call to PR_LoadProgsFile.
...
I've decided that setting pr.max_edicts and pr.zone_size as part of the
local progs initialization rather than in PR_LoadProgsFile makes more
sense. For one, it is unlikely for the limits to change every time progs is
reloaded. Also, they seem to be a property of the VM rather than the progs.
However, there is nothing stopping the caller from updating max_edicts and
zone_size every call.
2018-10-11 10:06:48 +09:00
Bill Currie
34bcf7faab
Do a pure/const/noreturn/format attribute pass.
...
I always wanted these, but as gcc now provides warnings for functions that
could do with such attributes, finding all the functions is much easier.
2018-10-09 12:42:21 +09:00
Bill Currie
8fd5be0ee0
Fix a pile of sizeof goofs.
...
While scan-build wasn't what I was looking for, it has proven useful
anyway: many of the sizeof errors were just noise, but a few were actual
bugs (allocating too much or too little memory).
2018-09-07 20:00:57 +09:00
Bill Currie
3efb0c538f
Separate file search from loading.
...
QFS_LoadFile (and its wrappers) now take a file handle rather than a
path. This will make vpath usage a little cleaner to implement.
2014-01-28 16:22:05 +09:00
Bill Currie
f5501fbf24
Fix a pile of automake deprecation warnings.
...
s/INCLUDES/AM_CPPFLAGS/g
I <3 sed :)
2013-11-24 13:11:50 +09:00
Bill Currie
9047c3e4ad
Fix the invalid keydest errors.
...
Once and for all: remove the default and move the Sys_Error outside the
switch (changing appropriate breaks to returns). Now gcc will let me know
when I forget to update the switch statements.
2013-02-02 15:22:09 +09:00
Bill Currie
8314edce4d
Merge branch 'joystick'
...
This give much better control over individual joystick axes. They now have
per-axis pre and post amplification, the linear controller mappings are
more intuitive, and axes can now bet setup as buttons using thresholds.
Many thanks to Johnny on Flame for his work on the "user interface".
2013-01-28 18:14:16 +09:00
Bill Currie
c6f9d8b64c
Reduce CFLAGS abuse a little for mingw targets.
...
This fixes missing debug info (useful for fixing linker errors, if nothing
else).
2013-01-28 16:21:42 +09:00
Johnny on Flame
e3e0d6aaa9
Add menu commands + fixes
2013-01-27 13:17:13 +09:00
Bill Currie
e27d7cbd2d
Handle alloca "correctly".
...
Use AC_FUNC_ALLOCA and the #ifdef mess suggested by the autoconf docs
(hidden in qfalloca.h).
2013-01-22 21:02:50 +09:00
Bill Currie
ec6ba8a03c
Make key_dest private to keys.c
...
This has the bonus feature of making nq pause the game when input focus is
lost (same conditions as dropping the console or bringing up the menu).
2013-01-16 19:48:54 +09:00
Bill Currie
8975dd95fe
Recalculate the refdef when leaving a menu.
...
A tad brute force, but this should fix the status bar not refreshing when
exiting the menus.
2013-01-16 15:40:47 +09:00
Bill Currie
cf5a3d805b
Ensure menu is valid before doing anything.
2013-01-13 21:49:43 +09:00
Bill Currie
e8450f6c97
Add builtins to handle menu next/prev/enter.
2013-01-13 18:53:21 +09:00
Bill Currie
ec42bde527
Make hash tables more const correct.
...
And clean up the resulting mess :/
2012-10-27 11:44:31 +09:00
Bill Currie
15484956f7
Make con_speed 0 instant.
...
Nice for recording, and should give more accurate timedemos.
2012-07-18 14:50:49 +09:00
Bill Currie
0f34ab8762
Move pr_keys.c from console to video/targets.
...
It wasn't very accessible/usable in the client console plugin.
2012-07-15 07:39:50 +09:00
Bill Currie
415decb983
Use memmove instead of strcpy when deleting chars.
...
It seems recent(?) 64-bit strcpy implementations of strcpy don't work
properly for overlapping regions even when moving down. Quite the
surprise, as I thought that would always work. *shrug*
2012-06-23 20:54:55 +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
633f70b2f1
Remove a functionally dead symbol.
...
The only purpose clearnotify seemed to be serving was to stop the console
plugin from loading :P
2012-04-12 17:05:42 +09:00
Bill Currie
ab486dcdf6
Unregister the quit command before registering it.
...
This fixes the quit menu not working.
2012-04-12 15:07:28 +09:00
Bill Currie
6ff658afe4
Use r_funcs in the client console plugin.
...
Getting the sw renderer's functions when running gl was nasty.
2012-04-11 16:38:15 +09:00
Bill Currie
a4c280f2b2
Take the first step towards render plugins.
...
No clients link. Even if they did, nothing would work.
2012-04-11 14:58:53 +09:00
Bill Currie
ce6ab908a5
Don't include the specific plugin headers in plugin.h.
...
This lets files that use plugins not depend on plugins they don't use.
2012-02-13 22:02:07 +09:00
Bill Currie
3cb4cb59b5
Link QFgamecode directly into QFruamoko.
...
First step in the library "merge down".
QFgamecode is now a convenience library. The only things that mention it
directly now are ruamoko and qfcc.
2012-02-13 15:05:31 +09:00
Bill Currie
02d24189ef
Use QF_NEED for plugins.
...
At the moment, the selection of the default sound driver etc is broken.
2012-02-12 11:37:25 +09:00
Bill Currie
da4fb6178c
Correct the client console plugin's dependencies.
2012-02-09 09:51:50 +09:00
Bill Currie
9fbff2f4d5
Do an audit of the Makefile.am files.
...
o All instances of LIBADD/LDADD have a corresponding DEPENDENCIES
specificatiion.
o libraries now use a lib_ldflags macro to keep things consistent
o duplication of source/lib names has been minimized (particularly in
the libraries; more work needs to be done for the executables)
o automake spec blocks have been organized (again, more work needs to be
done for the executables)
2012-02-07 16:04:19 +09:00
Bill Currie
cc5140e3a1
Move min/max/bound and field_offset into better locations.
...
min/max bound into mathlib.h (they /are/ math functions, after all) and
field_offset into qtypes.h.
2011-12-24 10:04:33 +09:00
Bill Currie
c3d41326b3
Do key dest changing properly.
...
key_demo wasn't so well thought out. This seems to be much better (and nq
is known to be working nicely).
2011-12-10 16:14:25 +09:00
Bill Currie
16c8b2a18d
Use the new demo imt.
...
There are some problems with menus and the console messing up the key_dest
state (they assume console/menu or game, nothing else), but otherwise
things seem to work.
2011-12-10 15:18:50 +09:00
Bill Currie
49451eea80
Use the new menu/console bingings.
...
Now, the console toggle will always work (so long as the console is
toggleable in the first place).
2011-12-10 13:24:32 +09:00
Bill Currie
f75b0a611b
Some compile fixes for OpenBSD
2011-08-25 22:35:20 +09:00
Bill Currie
8ac5079ada
Get inputlines mostly working.
...
It should be only behind-the-scenes updates that are still a problem.
2011-07-09 21:16:38 +09:00
Bill Currie
652b434e7b
Rework the inputline wrapper.
...
Use the resource map code for handle management (much safer).
Add support for the enter callback (function or method).
Unfortunately, it still doesn't work due to poor design of the inputline
user data.
2011-07-09 09:44:37 +09:00
Antti Harri
358a844a42
Implement --version-info configure switch to override QuakeForge
...
library versioning. From Lasse Collin, thanks!
2011-07-09 01:23:36 +03:00
Bill Currie
74a7e07dfc
Use AM_CFLAGS instead of CFLAGS.
...
CFLAGS is meant to be reserved for the user.
2011-05-10 12:44:44 +09:00
Bill Currie
c8e1d7b45a
Fix the API for inputline->enter().
...
Pass the inputline object rather than the input text, allowing access to
both user_data and the input text.
2011-03-27 08:03:39 +09:00
Bill Currie
84afc458fa
Allow the menus to overide the Escape key.
2011-03-25 18:02:59 +09:00
Bill Currie
1822290b1a
Fix the double offset of inputline text.
2011-03-24 08:50:32 +09:00
Bill Currie
bc0cffc9c6
Fix handling of autorelease pools in the menu code.
...
Create a "menu_pre" function that creates the autorelease pool, change
menu_post() to release the pool correctly, and make the menu internal code
require and call menu_pre.
2011-03-21 13:14:14 +09:00
Bill Currie
a85c0713aa
Nuke libQFbuiltins.
...
The gib and "common" builtins are now part of libQFruamoko.
2011-01-04 21:21:19 +09:00
Jeff Teunissen
9defba8d92
Get rid of plugin versioning (again).
...
automake needs -avoid-version to be in Makefile.am, otherwise it doesn't
make libtool do the right thing...or something. My head hurts. ;)
2010-12-25 04:45:39 -05:00
Bill Currie
de04e1b602
Lots of win32 (mingw cross) build fixes.
...
HTTP (curl) support is missing, but everything else builds.
2010-12-23 11:40:16 +09:00
Bill Currie
4518e6af91
First stab at implementing autorelease.
...
It's probably nowhere near right, but probably ok for now (I need to study
the GNUStep code). I'm unhappy with the menu code hook, but it will have
to do for now.
2010-11-24 17:01:18 +09:00
Bill Currie
a51e888a1b
Nuke MAX_OSPATH and clean up the mess.
2010-08-25 13:31:08 +09:00
Bill Currie
5a6e66b23e
hopefully, correct plugin linking options
...
how we got away with this for so long is beyond me, but it seems libtool
really wants -rpath even for plugins (otherwise it refuses to install them)
2010-08-21 13:01:35 +09:00
Bill Currie
0dfff8fd58
ignore stuff
2010-08-07 10:42:09 +00:00
Bill Currie
eb636ea16f
win32 fixes and vc2008 build files from phrosty
2010-03-12 10:51:07 +00:00
Bill Currie
b49614a44f
a bit of ncurses related cleanup
...
doesn't fix the corrupted input line when the output window is busy, but that
might be a gnome-terminal bug (seems to be ok on the linux console)
2010-01-13 06:52:42 +00:00
Bill Currie
6a8f14c701
nuke another \ in command handling
2010-01-13 06:51:13 +00:00
Bill Currie
edabbd5abe
fix inputline updates when tab completion produces a large list
...
o never use stdscr: curses does not support overlapping windows. though
stdscr was used only for getting the screen size, this is not necessary as
the TIOCGWINSZ can be used instead.
o batch the prints generated by tab comletion to avoid frequent updates of
the screen. this seems to have fixed the corrupted output of the inputline
2010-01-13 06:47:48 +00:00
Bill Currie
e35ca56c1e
wrap the call to Con_BasicCompleteCommandLine in a local function
2010-01-13 06:47:21 +00:00
Bill Currie
df7c5b2908
cleanup Con_BasicCompleteCommandLine a tiny bit
...
remove an unnecessary strdup/free and fix a strncpy bug
2010-01-13 06:46:54 +00:00
Bill Currie
97f54e22df
fix the broken sdl/sdl32 hud
2009-12-23 02:08:49 +00:00
Bill Currie
5d15c70a0d
progress in cleaning up the screen size mess
2009-12-22 06:02:53 +00:00
Bill Currie
59c077638a
Fix the annoying "Unknown interpreter 'id'" error. It was both bogus and a symptom of other problems (also fixed).
2009-03-16 11:49:52 +00:00
Bill Currie
1a307e306f
Con_Printf actually has a use after all: it prints to the console /only/ (no redirects, etc)
2007-11-07 08:19:17 +00:00
Bill Currie
d66934942d
nuke Con_Printf and Con_DPrintf and use Sys_* instead
2007-11-06 10:17:14 +00:00
Bill Currie
a02405582a
opps, that was part of raorn's linker patches
2007-05-31 06:31:22 +00:00
Bill Currie
d996c364b8
massively speedup savegame scanning (and bump the menu progs memory size again :/)
2007-05-13 03:56:08 +00:00
Bill Currie
06157dc937
link the client console plugin against ruamoko. how I got away with this for so long is beyond me
2007-05-09 10:37:12 +00:00
Bill Currie
beb5438484
fix messed up build order by putting bi_inputline.c where it really belongs
2007-05-07 13:02:35 +00:00
Bill Currie
72daa2fd2b
add some sounds to the menus (not yet finished)
2007-05-07 12:17:12 +00:00
Bill Currie
7925e16d73
audit the usage of view_draw. It is really meant for draw callbacks, not direct usage by the application.
2007-04-09 00:22:17 +00:00
Bill Currie
2894182ec5
The status bar in the quakeworld server curses console finally does something. Currently only cpu usage, but as a proof-of-concept, it more than does its job.
2007-04-09 00:10:10 +00:00
Bill Currie
626dad45ac
set the new view's coordinates based on it being a root view.
2007-04-08 08:47:47 +00:00
Bill Currie
c6ea999d4d
whee, finally. stateful console mode :) nukes cl_chatmode.
2007-04-07 05:50:29 +00:00
Bill Currie
f621570dee
that /looked/ wrong :/
2007-04-07 05:36:06 +00:00
Bill Currie
d8b701608c
various cleanups (ow, my eyes hurt)
2007-04-07 05:06:42 +00:00
Bill Currie
5a78bf1bff
use VISIBLE instead of __attribute__ ((visibility ("default"))) directly
2007-04-07 02:14:22 +00:00
Brian Koropoff
82e732b052
Don't automatically append a space when results are from a custom completion handler
2007-03-27 09:41:04 +00:00
Bill Currie
4a421dbb49
scaning the new save files needs a lot more memory
2007-03-25 02:00:38 +00:00
Ragnvald Maartmann-Moe IV
6ff7c0516c
shamblerdimension lart
2007-03-23 13:13:26 +00:00
Bill Currie
81a57bb3fa
patch from phrosty for vc2005 support. includes fixes for a bunch of gcc-isms that crept in over the years.
2007-03-22 23:20:57 +00:00
Brian Koropoff
1e6bc5f0a3
More intelligent completion
2007-03-21 01:41:15 +00:00
Brian Koropoff
0c237ccc08
Allow cbuf interpreter to handle completion finding. Enhance completion logic a bit.
2007-03-20 21:31:07 +00:00
Bill Currie
fa011b55d1
client side of http transfer support (untested)
2007-03-20 14:16:43 +00:00
Brian Koropoff
e6e28d3e5e
Be verbose about the interpreter changing
2007-03-18 07:12:23 +00:00
Brian Koropoff
39d8a90336
Allow interpreter providers for the console to be registered and allow on-the-fly interpreter switching.
2007-03-18 03:48:09 +00:00
Bill Currie
99c0954b47
the big dso visibility patch :). Sure, we have to have unique names for static builds, but with controlled visibitly we should get faster program loads (although this isn't C++, so it's not as bad) and complex plugins are cleaner.
2007-03-10 12:00:59 +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
Bill Currie
3a709cac0f
revamp the server curses code to use views (planning on "watch windows" for
...
debugging things)
2005-06-14 11:30:33 +00:00
Bill Currie
4a8bc0a4c4
bit of a reorg to get most code out of the way of #ifdefs, bit of a speedup
...
for screen updates and add a simple escape sequence parser for home and end
in debian's xterm (which seems to have borked terminfo?)
2005-06-13 09:41:48 +00:00
Bill Currie
762aefc9b1
implement Raven's calling convention (rcall: first 2 params in opb and
...
opc). should give a general speedup to most progs.
2005-06-12 09:54:01 +00:00
Bill Currie
565bb92057
con_data clash. oops. :)
2005-06-08 10:07:48 +00:00
Bill Currie
501180aaac
gcc-4.0 fixes. even found some bugs :) (names /not/ mangled this time)
2005-06-08 06:35:48 +00:00
Ragnvald Maartmann-Moe IV
b72a8755ca
Move pr_keys.c to console, fixes missing Key_Progs_Init symbol for dynamic
...
builds with automake 1.9.
2005-01-13 15:10:42 +00:00
Bill Currie
9f0903e4ba
wildcode and despair's automake 1.9 patch
...
This is an imperfect revision of history.
2004-11-18 06:08:00 +00:00