Commit graph

234 commits

Author SHA1 Message Date
Bill Currie
2ce0f2ded2 we now require modern autoconf (2.52+), automake (1.6+) and libtool (1.4+).
This gives us a bunch more flexibility. plugins no longer have the "lib"
prefix or the version suffix, they're now installed in
$fs_sharepath/QFplugins,, builds should take much less time (in general,
only one of pic or non-pic versions are build), bins and libs can have
individual CFLAGS
2002-08-01 19:49:10 +00:00
Bill Currie
ad6e025a91 take cmd.[ch] back to basics. the gib code is temporarily gone pending
renovations. cmd_source handling is a little hacky in nq, but it's working.
2002-07-31 05:19:03 +00:00
Bill Currie
2f57f95783 don't show the single player menu line 2002-07-25 05:33:16 +00:00
Bill Currie
de22355371 use P_* for params and R_* for return values in builtins code 2002-07-24 21:42:33 +00:00
Bill Currie
acf9ce392c move pakfile.[ch] into libQFutil and make quakefs.c use it instead of its
own code. This also removes the evil pak file count limit :)
2002-07-21 06:11:28 +00:00
Bill Currie
d7c7ac7891 don't add -version-info for static plugins 2002-06-03 16:34:46 +00:00
Brian Koropoff
13d6898fe0 Changed aliases to be handled by the command registering system in
preparation of separating GIB into its own module.  Command-related
functions will stay in util, but the buffer handling code and interpreter
will be moved out of cmd.c.
2002-06-01 22:13:14 +00:00
Bill Currie
9820c5d45a start working in the obj runtime. any and all functions named ".ctor" will
be run in the order found.
2002-05-21 21:29:49 +00:00
Brian Koropoff
3fffa26fb4 Added thread support to GIB and cleaned up escape characters yet again.
With any luck it should actually work this time.  Added the getimpulse
command so that GIB scripts can check if an impulse command is pending
before sending their own.  Fixed all the memory leaks I could find.
QuakeC and GIB seem to be clean except for maybe one or two sneaky leaks
I can't track down.
2002-05-11 00:36:12 +00:00
Bill Currie
08f12355c5 this /should/ fix CoolMoDee's autoconf 2.53 issues 2002-04-29 19:19:26 +00:00
Brian Koropoff
601736719d Fixed the use of double quotes in chat messages and removed single quotes
as an option to enclose tokens.
2002-04-29 01:04:29 +00:00
Bill Currie
ef81af9245 the "two birds with one stone" commit
1) when /not/ building static plugins, the plugin info name is, once again,
   PluginInfo, but is still type_name_PluginInfo for static plugins. This
   allows plugins to be symlinked (highly desirable for the debian packages,
   and likely others). This also requires plugins to /not/ be loaded with
   RTLD_GLOBAL.
2) because of 1, snd_alsa_0_9 has to explicitly load libasound itself. This
   just happens to fix my segfault on shutdown in RedHat 6.2.
2002-04-19 20:08:54 +00:00
Brian Koropoff
4cb89c69b2 Moved commands from bound keys into a separate buffer, changed the syntax
of for loops to be like that of C, changed math expressions to be
enclosed in #{} instead of #().
2002-04-17 07:05:43 +00:00
Bill Currie
8220ddd83d and the command api to csqc and use it to bind menu_load and menu_save. F2
and F3 now work in nq :)
2002-04-12 17:19:49 +00:00
Bill Currie
76d004f9cf fix confim_quit 2002-04-09 17:00:39 +00:00
Brian Koropoff
93c9f96416 Added embedded commands with ~{} and the return command, created a token
structure to help tidy the command buffer struct up a bit, fixed a few
bugs and probably created 100 more.  A lot of things were changed to
allow embedded commands:
- Old buffers on the stack are left alone for Cbuf_ExecuteStack to
clean up.  This is so return values can be extracted from them.
- The imperative flag has been added.  An imperative buffer and all buffers
following it can not be paused with the wait command.
- The returning flag and retval dstring have been added.  If a buffer
returned something, the flag will be set.
- The return command was added so there was something to use in the
substitution.  Return nukes all loop buffers since they don't really count
as independent functions, sets the return value on the top buffer, and
clears it.
- Who knows what else.
2002-03-29 07:43:02 +00:00
Bill Currie
504ee0014f and another one :/ 2002-03-19 17:03:52 +00:00
Bill Currie
7816644fc3 missed a place for enter_hook 2002-03-19 16:59:25 +00:00
Bill Currie
b01cda716f callback hooks for entering/leaving menus 2002-03-18 20:20:56 +00:00
Bill Currie
5f2dea43f6 break the dependency between cmd.h and dstring.h 2002-03-18 16:47:04 +00:00
Robin Redeker
757556022b 1. general menu code cleanup
2. added lots of comments to my menu code
3. wrote a string hash api (key -> value assignment list)
Hm, nothing else afaik. ;)
2002-03-16 15:52:17 +00:00
Bill Currie
5a2538faaf dstring.[ch]:
create dsprintf and dvsprintf to do formated prints to dynamic strings.
rest
	Use the new functions :)
2002-03-08 23:11:42 +00:00
Brian Koropoff
f78ec56975 Added escape characters, the <i> tag to ignore tags enclosed within it, and
generally cleaned the parser up.  If a line begins with |, it will be
stripped off by the tokenizer and no tags or escape characters will be
processed.  Commands stuffed into the console from the server are prepended
with | to ensure backward compatibility.  This can also be used anywhere
backward compatibility is needed, such as where info strings are stuffed
into the console, or as an alternative to using escape characters in the
entire string.
2002-03-03 08:29:28 +00:00
Bill Currie
a384870e4b cl_chatmode works again 2002-02-28 04:12:20 +00:00
Bill Currie
8ee5acb208 redo Sys_Error so it's more usable throughout quake 2002-02-20 19:22:52 +00:00
Chris Ison
dcd4ec19c5 fixed up positioning of say_team input, also fixed length of say and say_team, thanx taniwha 2002-02-16 04:21:03 +00:00
Bill Currie
42ba67eb4b *sigh*, getting this right is proving to be a pain :P 2002-02-12 21:34:28 +00:00
Bill Currie
01882919a2 get it right this time :/ 2002-02-12 21:26:34 +00:00
Bill Currie
befc4113b8 fix a braino for vsnprintf return code handling 2002-02-12 20:39:11 +00:00
Bill Currie
799cfa58af fix the recent win32 crash bug
Q_vsnprintfz should return -1 when size is 0. also make client.c's C_Print
use vsnprintf correctly
2002-02-12 04:29:44 +00:00
Robin Redeker
60e99d724b Fixed a bug with callback-calling in Menu_KeyEvent 2002-02-01 18:50:56 +00:00
Bill Currie
cf2f42ea6a make it so menu items can get called for any keypress. this is optionally
done by setting the allkeys param to 1. when this is the case, if the menu
item function returns 0, normal processing is done, otherwise processing
stops.
2002-02-01 17:32:40 +00:00
Robin Redeker
fa575a3475 Added a start for the QC-Keys-API 2002-01-31 21:08:45 +00:00
Bill Currie
d1460f6166 rename the width parameter to lsize as it's the size of the input line, not
the drawn width
2002-01-30 21:23:46 +00:00
Bill Currie
7ef4426775 inputline api `done'. now just to get it working 2002-01-30 08:41:18 +00:00
Bill Currie
8561dfa93a basic resource management system for the VM 2002-01-30 06:21:20 +00:00
Bill Currie
9c6def5c7d fade the screen when drawing the menus (this is optional per menu) 2002-01-29 22:32:56 +00:00
Bill Currie
0ea713eda4 redo the progs loader to allocate all the memory needed for progs in one
shot, allowing for caller specified alloc and edicts and zone memory sizes.
(progs + edicts + zone).
2002-01-29 20:53:44 +00:00
Bill Currie
b64693a332 get the param order correct for the menu item callback 2002-01-29 18:16:49 +00:00
Bill Currie
85588c8fcb start implementing the api for input lines and clean up a couple csqc
prototype issues.
2002-01-23 22:37:44 +00:00
Bill Currie
ed91b16f45 add Menu_GetIndex 2002-01-23 21:07:38 +00:00
Bill Currie
eb2c7824f8 don't bail out of Menu_Draw if the qc draw function returns 0. this allows
for combined C/QC drawing.
2002-01-23 00:48:03 +00:00
Bill Currie
5450fdb692 don't seg on menus with no items 2002-01-21 21:38:34 +00:00
Bill Currie
ec0b3d8940 make Menu_SelectMenu(NIL) do the right thing and handle qc code that clears
the current menu but forgets to return 1 in keyevent
2002-01-21 19:40:45 +00:00
Bill Currie
5b0e6dc342 add file and string modules to csqc. the file nodule is rather parnoid
about the path it's handed (need to get even more paranoid, though). the
string module just has char replacement so far. Add Draw_CenterPic to
r_progs.c, but this will only last till qpic_t is supported in qc.
the load menu almost works: just need to add key handling and fix a bug in
PF_sprintf
2002-01-21 07:24:51 +00:00
Bill Currie
d59e7d3da4 you can now start a new single player game via the menus 2002-01-20 04:11:08 +00:00
Bill Currie
db7a2264c0 bring in the standard builtins and randomize the quit message 2002-01-20 01:39:06 +00:00
Bill Currie
9f67e81049 don't handle key presses if there's no callback and no items 2002-01-20 00:47:01 +00:00
Bill Currie
95e200a9e0 fix console command line quit 2002-01-20 00:32:14 +00:00
Bill Currie
35de51ee31 the quit menu works now. however, quit from the console doesn't 2002-01-20 00:06:08 +00:00
Bill Currie
6767d6bfa0 win32 compile fixes 2002-01-19 20:45:45 +00:00
Bill Currie
9181ddaa4c don't go to game when leaving menus when there's no game. doesn't actually
work properly, but I think that's a bug in the main client code.
2002-01-19 07:40:35 +00:00
Bill Currie
b73851d5aa the menu cursor can now be moved up and down using the mouse wheel 2002-01-19 07:19:39 +00:00
Bill Currie
29c19ca243 Menu_CenterPic now centers the pic (horizontally) as intended 2002-01-19 06:18:52 +00:00
Bill Currie
b1b848ae4a finally get the damn spinner working (not in the right place, though) 2002-01-19 05:56:25 +00:00
Bill Currie
a78ea1464b provide stubs for the client-only functions (they might prove useful in the
server later anyway). this fixes nq-server's segs
2002-01-19 04:37:47 +00:00
Bill Currie
6ab3329b94 bring back togglemenu 2002-01-19 03:28:52 +00:00
Bill Currie
fcc9cbf3b7 the main menu page now displays and can be entered/left. K_ESCAPE is now
handled exclusively by the console.
2002-01-18 23:45:28 +00:00
Bill Currie
10acad1ee4 first tie-in for the renderer (Draw_Pic: the interface will likely change
to better match the real interface, but this will do for now)
2002-01-18 22:35:46 +00:00
Bill Currie
ac71d101d2 menu code now gets initialized (menu_init in the progs). 2002-01-18 22:02:59 +00:00
Bill Currie
bb96a5b736 first use of client side QuakeC :) (and having more than one progs instance
seems to work, too). The menu code gets loaded, but is currently otherwise
unused as of yet.
2002-01-18 19:19:33 +00:00
Bill Currie
c3b2533803 fix shifted key input 2002-01-17 21:49:47 +00:00
Bill Currie
7093c05587 console scrolling works again, and even better than before :) 2002-01-17 21:27:31 +00:00
Bill Currie
303581b798 oops? 2002-01-17 02:47:22 +00:00
Bill Currie
c998c63746 make all of the input lines use the same rendering code 2002-01-17 02:27:53 +00:00
Bill Currie
e090f8dc09 finally get the say scroller working 2002-01-17 02:10:36 +00:00
Bill Currie
9329d15218 more chat improvements 2002-01-17 00:05:30 +00:00
Bill Currie
9e5c7da8e6 move the chat code from keys.c to client.c.
oops, chat just got input history, dear me
2002-01-16 23:06:28 +00:00
Bill Currie
ceec1a87e2 fix some installing issues for dynamic plugins 2002-01-16 22:09:41 +00:00
Bill Currie
c86c5a78bf finally, the client console is merged 2002-01-16 21:53:42 +00:00
Bill Currie
9dedd21158 start getting the shared console code working 2002-01-16 16:27:56 +00:00
Bill Currie
9d59d953bd more cleanups 2002-01-12 05:32:21 +00:00
Bill Currie
630aa80dc4 various cleanups including TODOs and FIXMEs and rewrite va to use a dynamic
buffer.
2002-01-12 04:34:53 +00:00
Bill Currie
a619739bab fix the server console for static builds (hmm, non-curses only?) 2001-12-02 20:11:21 +00:00
Bill Currie
f0c03f8331 minor cleanups of Sys_ConsoleInput. Cleaning it up properly will take more
work, but this removes most of the redundant instantces. nq-sdl (or -sgl)
-dedicated won't have console input, nor will dedicated servers that don't
load a console plugin.
2001-11-18 22:08:24 +00:00
Bill Currie
d168a3daee this should remove the requirement for gmake on bsd systems 2001-11-12 16:23:41 +00:00
Bill Currie
ae8c255eb0 re-anable the sorting. I guess snax was testing other things and forgot about
it.
2001-11-06 21:37:33 +00:00
Brian Koropoff
ccd665e80c This commit removes maplist.c and replaces it with filelist.c, which
contains general functions for creating lists of a type of file and
provides the commands maplist, skinlist, skyboxlist, and demolist.
2001-11-06 07:14:29 +00:00
Bill Currie
15b381909e move maplist from quakefs.c to console/maplist.c. Unfortunatly, until the
client console plugin is usable, this means the clients link maplist.o
directly.
2001-11-05 22:24:16 +00:00
Bill Currie
78a3e398d5 * taniwha gets medieval on extern 2001-10-28 04:23:37 +00:00
Chris Ison
15bdd4ad67 disabled -lm checking for cygwin and mingw32 and added plugin_LDFLAGS and plugin_LIBADD for win32 builds 2001-10-09 21:36:57 +00:00
Bill Currie
36508058ea QFPLUGIN now does the __declspec stuff and all plugins now use it on their
plgin info function. doesn't actually /work/ yet :(
2001-10-08 05:54:46 +00:00
Bill Currie
f2cc8d9640 fix a seg when the buffer wraps 2001-10-03 21:24:52 +00:00
Adam Olsen
362e4eefc9 - make the fallback console use stdin
- don't draw scores overlay if the screen is less than 244 wide.
2001-10-02 03:24:36 +00:00
Bill Currie
a4714175dd update the screen directly when printing rather than using C_DrawOutput.
Resizing still seems to work updates are much faster.
2001-10-01 16:09:06 +00:00
Bill Currie
77cf9439d0 getting closer to a properly resizing console 2001-10-01 06:49:59 +00:00
Bill Currie
53529ae940 output window now updates when resizing, but it doesn't /quit/ work properly
(issue with starting line).
2001-09-30 05:59:33 +00:00
Bill Currie
138a4a1c14 rename console_t to old_console_t in preparation for a better version and
temporarily disable the client console plugin as it currently doesn't
compile.
2001-09-29 04:24:04 +00:00
Bill Currie
f0244bece2 update the status bar on resize 2001-09-28 23:10:15 +00:00
Bill Currie
8e27422c72 partial fixes for mingw cross builds. still have issues with ar :( 2001-09-28 16:03:45 +00:00
Jeff Teunissen
d63243380f Aaaaaaand, it's done!
Special note: I hope to never do this again. :)
2001-09-28 10:31:20 +00:00
Bill Currie
b1f4a778f9 the rcsid commit from hell }:> 2001-09-28 06:26:31 +00:00
Bill Currie
ac58ecb10b windows get resized/moved properly now and the input line gets redrawn when
the terminal resizes. Still need to work on the status bar and output window
2001-09-26 18:08:30 +00:00
Bill Currie
cb4f7eb808 various input line improvements 2001-09-26 16:31:36 +00:00
Bill Currie
ca78b9ecd8 minor improvements in cursor location handling 2001-09-26 06:09:45 +00:00
Bill Currie
e9e2bbf1c1 various fixes, most notably using windows instead of subwindows. This stops
the invalid memory accesses within ncurses when resizing.
2001-09-26 05:45:47 +00:00
Bill Currie
7b4e39053b update local info about the screen size 2001-09-25 23:33:37 +00:00
Chris Ison
0efd28abcc trying to get bootstrap to work in cygwin 2001-09-25 23:04:13 +00:00
Bill Currie
5195c065c6 do the resize signally properly 2001-09-25 20:35:37 +00:00
Bill Currie
df330f33fd expernimental code to get window resizing working 2001-09-25 20:16:24 +00:00
Bill Currie
ad4f29c6a8 clean up the buffer size calcs a bit 2001-09-25 16:32:00 +00:00
Bill Currie
3909176957 use the dynamic buffer for both curses and stdout 2001-09-25 16:19:26 +00:00
Bill Currie
9ffe53178c fix a char translation bug in the curses console and make the non-curses
console actually translate chars
2001-09-25 16:13:41 +00:00
Adam Olsen
a159e852e6 - add some comments to libs/console/inputline.c
- rename pr_deadbeef to pr_deadbeef_ents
- add pr_deadbeef_locals, which does uninited locals.  (crashes from
  it are undeniably buggy code, unlike pr_deadeef_ents)
- add a missing break to packetlog printing's switch
- add sv_kickfake, which kicks people for attempting to fake messages,
  or replaces the ^Ms with # if disabled.
2001-09-23 00:36:21 +00:00
Adam Olsen
8c89f65a98 - compile fix for building without curses 2001-09-21 17:28:35 +00:00
Bill Currie
49a85718f8 total nukage of Con_*Printf calls from libs (except for video). Sys_*Printf
(Sys_DPrintf is new) is now used exclusively for all lib printing. Con_Init
sets the sys printf recirection to Con_Print (which has been revamped
appropriatly) and the server sets it to SV_Print (which was SV_Printf and
the new SV_Printf calls /it/). This should fix the rcon print redirection
issues.
2001-09-21 04:22:46 +00:00
Adam Olsen
f59c2a2a0b - build fix for without curses
- add a "zombie" line to edictcount, which is the number of ents that
  are "free" but not long enough to be reused.
2001-09-20 19:34:02 +00:00
Adam Olsen
ca51e3be02 - cleanup of up/down key handling, as per suggestions from james
- add a sv_console_plugin cvar (guess what it does)
2001-09-20 15:14:44 +00:00
Adam Olsen
7195fe8ac7 - fix for ^@ in the history
- little cleanup
2001-09-20 08:12:28 +00:00
Adam Olsen
388c102a57 - fix buffer size reallocation
- fix history crash
2001-09-20 07:34:27 +00:00
Adam Olsen
0977b555f3 - build fix for without curses (untested, but should fix the problem I
had when I last tried)
- fix sv_filter_automask so it's not inverted (doh, again!)
- cleanups of ip filter prints
2001-09-20 06:51:25 +00:00
Bill Currie
bdf45386f0 some minor work getting the client side of libQFconsole working, but nowhere
near complete.
2001-09-19 03:39:04 +00:00
Bill Currie
52648b21e3 sv_use_curses 0 to disable curses, and fix the know issues with using the
old console
2001-09-16 06:08:09 +00:00
Bill Currie
aade80a8d7 /finally/, libQFconsole is being used (qw-server only so far). Still has
some minor nits with ncurses and probably has some isues without ncurses
(quit didn't seem to work when I tried).
2001-09-16 05:41:28 +00:00
Ragnvald Maartmann-Moe IV
dc947ce8f5 Whitespace. 2001-09-10 12:56:23 +00:00
Bill Currie
008d80df67 s/IMT_DEFAULT/IMT_0/g for the constant and move the name-enum entry for
IMT_DEFAULT to the bottom of the list so that IMT_0 gets written as such
rather than IMT_DEFAULT.
Also, clean up nq's EF_* dlight creation a bit (haven't touched
EF_MUZZLEFLASH: undecided on what to do).
2001-09-05 21:22:55 +00:00
Bill Currie
e469b934ea get alsa0_9 working with latest cvs, we need to dlopen the plugin with
RTDL_GLOBAL. To use RTDL_GLOBAL, we need to make as much static as possible
 and PluginInfo needs a unique name (%s_%s_PluginInfo, type, name).
2001-08-31 00:05:58 +00:00
Ragnvald Maartmann-Moe IV
c6266aba36 sw32. Flee in terror. This'll break compilation for everything until -sdl32 compiles. sw32 wont work for a while either, so don't get overly excited yet. 2001-08-25 02:47:11 +00:00
Adam Olsen
cad42cbc78 Put the sound renderer in it's proper place: as a full-fledged plugin.
Bugs expected.  Please report them :)
2001-08-23 04:01:46 +00:00
Zephaniah E. Hull
80696badc7 kgt->imt, and imt now displays the current IMT. 2001-08-17 07:06:01 +00:00
Zephaniah E. Hull
20adccc9e4 A few things, first is that I removed the (rather broken) serial
networking support.

Second, I moves keys.c from qw and nq to libs/video/targets when I did
the next thing.

Existing user configs which do binds, sledge hammer. Sledge hammer,
existing user configs which do binds. *WHACK* *WHACK* *WHACK*

See, much nicer now.

Someone should document it, and fix all targets which don't use SDL for
input. (I honestly don't expect svgalib and the like to ever be fixed.)
2001-08-16 09:19:36 +00:00
Bill Currie
998c3405e1 make the server module's console output line buffered when curses isn't being
used
2001-08-09 15:33:44 +00:00
Adam Olsen
4cd037f025 Make the console line-bufered. woot. 2001-08-09 12:19:15 +00:00
Bill Currie
0a4caac3c6 mingw compile fixes 2001-08-02 23:00:39 +00:00
Bill Currie
b6ee3e72da don't have blank SUBDIRS=, it hurts 2001-08-01 05:07:58 +00:00
Bill Currie
c9626b42f0 Makefile.am:
build the client and server plugins
client.c:
	get to build, though it's very crippled
server.c:
	re-print the message to the buffer after re-sizing the buffer
2001-07-20 18:51:00 +00:00
Bill Currie
882de10388 rename Con_CompleteCommandLine to Con_BasicCompleteCommandLine and make it
use inputline_t rather than the key_lines junk.
2001-07-18 18:29:38 +00:00
Bill Currie
f70e2e8296 cleanup 2001-07-18 18:22:13 +00:00
Bill Currie
159bc6147c create an "input line" object for the console so Con_ProcessInput can be used
in verious contexts
2001-07-17 16:46:51 +00:00
Adam Olsen
e6f846756e console->pC_Init to general->p_Init, ditto for shutdown. I'm assuming
this is what taniwha meant.  Shoulda test-built ;)
2001-07-17 00:21:56 +00:00
Bill Currie
a3c6cd8e29 the server console is now a plugin, though it doesn't get compiled yet (it
/does/ compiled, though). Input handling is currently ripped out.
2001-07-16 23:15:27 +00:00
Bill Currie
4c515d1bb6 more "throw it in cvs". doesn't even attempt to compile yet :) 2001-07-16 22:30:11 +00:00
Bill Currie
20fdc9b9e5 add the command line completion code (complete.c) and the client and server
plugins (though they're not built yet). Again, this /does not/ affect anybody
else, or shouldn't, anyway.
2001-07-16 21:39:50 +00:00
Bill Currie
104701a8c5 the beginnings of the console lib (using plugins for the client/server type
consoles). Currently, doesn't affect anybody other than the need to
re-bootstrap.
2001-07-16 20:41:10 +00:00