Commit graph

265 commits

Author SHA1 Message Date
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
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
2d671955fb fix an oopsie that broke skyboxlist (early morning paper routes are bad for
coding:)
2004-04-23 22:53:39 +00:00
Bill Currie
616be68bdd strip parameter to QFS_FilelistFill and add rua support 2004-04-20 22:52:09 +00:00
Bill Currie
e8f9761d33 move the filelist building code into quakefs 2004-04-20 22:25:52 +00:00
Bill Currie
37024a4419 final (?) cleanup of center printing. turns out there's no reason to keep
it in the renderer and every reason to pull it out (ok, some might
disagree:)
2004-03-02 03:55:18 +00:00
Bill Currie
7ff1534e9d bah, fix one, create another... 2004-01-27 05:23:36 +00:00
Bill Currie
3a85dbda18 d'oh 2004-01-22 04:42:06 +00:00
Bill Currie
d9a582a741 fix the print mangling of scrolled back screens (thought of this about 10s
after committing:P)
2004-01-22 04:28:24 +00:00
Bill Currie
62ef6f9549 scrollback 90% working. prints will mangle things, but ^L will clean it up 2004-01-22 04:07:39 +00:00
Bill Currie
283d49bd8e first chunk of Mike Gorchak's <mike@malva.ua> QNX patches 2004-01-20 05:57:39 +00:00
Bill Currie
e154c9add5 be consistent with WIN32 and _WIN32 (now all _WIN32) 2004-01-20 03:47:27 +00:00
Bill Currie
77b2942982 several libs can now get built as dlls in windows: console, gamecode,
gamecode_builtins, gib, image, modules, object, ruamoko and util.
2004-01-19 07:47:41 +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
Bill Currie
14c65d48c7 white space and add a {} 2003-11-20 07:03:50 +00:00
Bill Currie
d3e7be755b flush sv_logfile on each print 2003-10-22 09:04:18 +00:00
Bill Currie
28e2679f0b while downward overlapped memcpys are safe, shut up valgrind 2003-08-13 17:07:42 +00:00
Bill Currie
9210829573 PLUGIN_INFO decl cleanup 2003-08-01 19:53:46 +00:00
Bill Currie
6063fb75d9 make the console run at full speed no matter what demo_speed is at. what a
lot of work for such a simple concept :P
2003-07-25 22:21:47 +00:00
Bill Currie
4cabc2db82 fix a non-curses build issue 2003-06-04 18:07:12 +00:00
Bill Currie
c2c3a62956 nuke Qexpand_squiggle. instead, expand ~ to $HOME on qfs initialization and
cache the value.

don't call Qopen directly in the engine. instead call QFS_Open (generic) or
QFS_WOpen (write only, zip flag).

rework QFS_NextFilename to use a dstring (avoiding a potential buffer
overflow), support 10000 files and work from the top-level fs_userpath
directory. adjust QFS_WriteFile and QFS_WriteBuffers etc to suit.

make sw32 screenshots actually get written.

hopefully everything gets written to the right places :)
2003-05-23 17:17:01 +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
Bill Currie
7e657c49f1 fix a buffer overflow (order of ops) 2003-05-16 19:36:03 +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
054f4b7bd1 oopsie, that was an ill-advised change :P 2003-05-13 06:20:08 +00:00
Bill Currie
5f3573143a the beginnings of a jihad against buffer overflows 2003-05-08 23:24:02 +00:00
Bill Currie
dc9d2c89da fix various sizing issues 2003-05-07 07:10:15 +00:00
Bill Currie
0fec378e31 view.c needs to be in the main console lib rather than the client plugin
and make view_draw the default draw function for new views
2003-05-07 04:24:20 +00:00
Bill Currie
c397504b74 fix menu centering for 320xY 2003-05-06 03:19:29 +00:00
Bill Currie
f12f4a8898 add view_insert to provide greater control over view order 2003-05-06 02:41:37 +00:00
Bill Currie
b2bbcb30c6 fix the missing chat input line 2003-05-06 02:30:38 +00:00
Bill Currie
56bfc6dc45 fix the input line location bug and change enabled to visible due to
enabled meaning something else in UIs
2003-05-06 02:25:46 +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
1bdcd879be initial work on dynamic view support for the console. I'm aware that
QF/view.h vs view.h may cause some confusion, but I'm hoping to eleminate
view.h.

Also put the sample hud.txt into docs so it doesn't get lost.
2003-05-05 18:50:14 +00:00
Bill Currie
62e36ef747 make /command work when not using curses 2003-04-26 05:12:16 +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
Bill Currie
fb1a5f67f2 kill debug print :P 2003-04-17 03:31:45 +00:00
Bill Currie
d566790c0b make the input line scrolling unsigned int clean 2003-04-17 02:03:47 +00:00
Bill Currie
eb099ae0d3 make qf gcc 3.3 clean 2003-04-17 00:01:48 +00:00
Bill Currie
589c3e4e49 get nq-server working properly 2003-04-16 05:06:19 +00:00
Brian Koropoff
e707e9bb89 Moved gib_*.h into include/ and moved the necessary declarations and struct
definitions to QF/gib.h to interface with libQFgib.
2003-04-13 22:07:58 +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
Bill Currie
13fd0b8533 nuke the string hash api as it's been obsoleted 2003-04-07 22:34:39 +00:00
Bill Currie
a9a169e820 make the more relevant parts of qfs available to progs. bi_file.c will
eventually be moving into bi_qfs.c
2003-02-28 05:35:27 +00:00
Bill Currie
6ef4770adb make the menu load when the gamedir hasn't been set 2003-02-28 05:28:35 +00:00
Bill Currie
851d203916 work towards a more secure qfs 2003-02-14 22:36:10 +00:00
Bill Currie
6a687f5e45 rename all the globals in quakefs.[ch] to be QFS_* or qfs_* 2003-02-14 19:46:07 +00:00
Bill Currie
fd7636137d implement a proper (and optionally secure) QFile interace for ruamoko. 2003-02-14 18:17:17 +00:00
Brian Koropoff
3c522a83bc Various cleanups and bugfixes. Added proper line number reporting to
errors.  A few new builtin functions, such as slice::find and thread::list.
2003-02-14 08:06:01 +00:00
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