Bill Currie
632d2cb79c
[console] Plug another escape handler leak
2021-07-24 00:28:49 +09:00
Bill Currie
fbbf83e696
[console] Pop menu escape in forced close menu
...
Fixes loss of access to the menu after selecting a new game via the menu.
2021-07-23 21:15:01 +09:00
Bill Currie
3b586fc0a6
[console] Untangle console and menu toggling
...
The recent changes to key handling broke using escape to get out of the
console (escape would toggle between console and menu). Thus take care
of the menu (escape) part of the coupling FIXME by implementing a
callback for the escape key (and removing key_togglemenu) and sorting
out the escape key handling in console. Seems to work nicely
2021-07-23 02:28:37 +09:00
Bill Currie
e81d690b51
[input] Create QF input library using keys.c
...
This refactors (as such) keys.c so that it no longer depends on console
or gib, and pulls keys out of video targets. The eventual plan is to
move all high-level general input handling into libQFinput, and probably
low-level (eg, /dev/input handling for joysticks etc on Linux).
Fixes #8
2021-07-05 16:26:07 +09:00
Bill Currie
813497a1aa
[ui] Create library for UI support code
...
Currently this has text buffer, input line, vrect and view code.
2021-06-12 22:50:51 +09:00
Bill Currie
dac9166339
[nq] Sort out some of the issues with keydest
...
Switches to "game" properly when starting a new game after playing
menus. Of course, basic bindings are still broken in "demo".
2021-03-29 22:39:43 +09:00
Bill Currie
df89e37afc
[console] Call PR_RunPostLoadFuncs
...
This fixes the segfault when loading the menu progs. I had forgotten
that the menu code doesn't use PR_LoadProgs (I don't remember why.
Obsolete reason?).
2020-06-24 22:47:12 +09:00
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
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
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
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
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
Johnny on Flame
e3e0d6aaa9
Add menu commands + fixes
2013-01-27 13:17:13 +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
bc1b483525
Nuke the rcsid stuff.
...
It's pretty useless in git.
2012-04-22 10:56:32 +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
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
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
84afc458fa
Allow the menus to overide the Escape key.
2011-03-25 18:02:59 +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
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
d66934942d
nuke Con_Printf and Con_DPrintf and use Sys_* instead
2007-11-06 10:17:14 +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
72daa2fd2b
add some sounds to the menus (not yet finished)
2007-05-07 12:17:12 +00:00
Bill Currie
d8b701608c
various cleanups (ow, my eyes hurt)
2007-04-07 05:06:42 +00:00
Bill Currie
4a421dbb49
scaning the new save files needs a lot more memory
2007-03-25 02:00:38 +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
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
39bf47a265
use the resolve hook instead of a load function
...
This is an imperfect revision of history.
2004-11-09 22:35:00 +00:00
Bill Currie
f577eba1ab
need to ensure time is defined
...
This is an imperfect revision of history.
2004-11-09 22:30:00 +00:00
Bill Currie
f5bc90a53a
clean up some redundant progs functions (may be broken for a while)
...
This is an imperfect revision of history.
2004-11-05 11:49:00 +00:00
Bill Currie
249aee2e9f
move the OO runtime support code from libQFgamecode to libQFruamoko where
...
it really belongs :)
2004-01-16 08:02:31 +00:00
Bill Currie
e7ffad8772
more rua cleanups: now just one init function to call (it calls the rest)
2004-01-16 07:03:58 +00:00
Bill Currie
01392c78bb
move the bulk of what whas libQFcsqc to libQFruamoko.
2004-01-16 05:46:19 +00:00
Bill Currie
b3f76e1e48
add some string builtins (only the basics for now, but enough to deal with
...
temporary strings) and fix the game load/save menus.
2004-01-07 07:36:17 +00:00
Bill Currie
acd54afff7
move to using a hash table for builtin number -> builtin lookup so sparse
...
ranges can be used efficiently. move the auto-allocated builtins to
0x10000000-0x7fffffff. should be more than enough :)
use static builtin tables ("nul" terminated) instead of a series of
function calls to add builtins to a vm. should be more memory efficient.
2004-01-06 05:51:09 +00:00
Bill Currie
dfc83c1f5f
add PR_PushFrame and PR_PopFrame so temp strings are easy to use for
...
parameters to progs functions.
double the progs stack sizes (call depth of 32? eek)
allow one extra call on the progs stack :)
misc minor cleanups
2004-01-05 07:10:32 +00:00
Bill Currie
7ea30f3f87
use the new pr load hook for resolving the globals
2003-11-20 08:02:32 +00:00
Brian Koropoff
30c4da3c76
Change HUD::show and HUD::hide to HUD::enable and HUD::disable. The global
...
progs variable time is now updated before the HUD drawing function is run.
2003-05-23 02:50:15 +00:00
Brian Koropoff
e160ead563
Added the scriptable HUD interface between the engine, Rua, and GIB.
2003-05-14 21:17:32 +00:00
Bill Currie
508fb4fb5c
new view stuff mostly working. just a few visual bugs to iron out
2003-05-06 02:19:13 +00:00
Bill Currie
e732cf591d
remove all references to OFS_* from the C code. only the macros in progs.h
...
use them now
2003-04-22 18:20:15 +00:00
Brian Koropoff
3b703db4d4
Added the beginnings of an interface between Ruamoko and GIB. Although the
...
API is by no means finalized, it's now possible to write GIB builtins in
Ruamoko that can take arguments and return values to GIB.
2003-04-13 20:43:52 +00:00
Bill Currie
0b0dfcc38e
nuke the string api (never really liked it)
2003-04-08 02:35:09 +00:00