Commit Graph

202 Commits

Author SHA1 Message Date
Brian Koropoff 59fbd48a81 Overhauled GIB to parse scripts in advance, among other design and language
changes.  There still remains some bugs to be squashed, a feature or two to
add, and some polishing to be done.  However, it seems to be in a workable
state.
2003-01-28 21:16:21 +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 a4dfef63c3 make all files with rcsid include config.h 2003-01-14 20:18:29 +00:00
Bill Currie 71196fedf6 make gcc more anal about prototypes, string constants and function
visibility (ie, global functions must have a prototype)
2003-01-06 18:28:13 +00:00
Ragnvald Maartmann-Moe IV 46a093faba Change sv_use_curses default to 0, until curses has scrollback support. 2002-12-02 20:03:12 +00:00
Brian Koropoff 0f71b02fd7 Changed the name of GIB builtins from string.length to string::length, etc.
Made a few miscellaneous cleanups and enhancements to builtins and changed
all the GIB scripts in CVS to reflect the new naming conventions.
2002-11-11 01:57:34 +00:00
Bill Currie 1d96156936 make sure files loaded by the progs engine can be freed safely 2002-10-22 04:30:20 +00:00
Brian Koropoff 9c4f2d32ca Add print and print.center GIB commands and fix a nasty bug with threads
that could cause a double free.
2002-10-06 04:40:18 +00:00
Bill Currie 5597dc2408 make maplist work over rcon 2002-09-04 18:56:53 +00:00
Bill Currie be24d628af bah, thought I tested that. why dstrings were being used anyway I don't know... 2002-08-28 21:03:24 +00:00
Bill Currie 246ab0009c Change Con_ClearTyping to take a save flag that will cause the current line
(if not empty) to be saved in the inputline history.

Clear the input (but put in history) of say or say team when pressing escape.

Don't say or say_team if the text is empty.
2002-08-28 16:02:43 +00:00
Bill Currie f1938f6b36 fix some segfaults caused by my menu_item->text changes 2002-08-27 08:11:10 +00:00
Bill Currie ec47e08e1c go back to using QFile, quakeio.h and quakefs.h 2002-08-27 07:16:28 +00:00
Bill Currie c72f721eac fix the multiple frees of menus 2002-08-26 23:40:30 +00:00
Chris Ison 38f68330bb tanihwa fix for reloading the menu.dat only when gamedir changes 2002-08-26 19:50:00 +00:00
Bill Currie d328e18de2 implement the "new" inputline api making it possible to pull the Draw_*
functions out of bi_inputline.c. now somebody can be insane enough to
implement a qc controled console for the server ;) (more importantly, one
step closer to being able to have the server link with libQFcsqc (hah!))
2002-08-20 21:19:53 +00:00
Bill Currie 8adad57941 Make the cbuf api use a supplied cbuf rather than allocating its own. Kills
a FIXME and (Closes: #32)
2002-08-14 18:45:09 +00:00
Bill Currie 0963c2476d improved server logging. "logfile" is gone from qw-server to be replaced
with "sv_logfile" and thus giving nq-server logging as well.
2002-08-07 18:46:53 +00:00
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