Bill Currie
6f1b68aeb4
sys.h:
...
define SYS_CHECKMEM macro to ease memory allocation failure detection
cmd.c:
loads of whitespace
2002-03-21 19:47:31 +00:00
Brian Koropoff
388ff7b597
Some bug fixes and memory leak fixes. Local variables break randomly,
...
probably due to my misuse of hash tables. Anyone have any ideas?
2002-03-20 22:57:26 +00:00
Brian Koropoff
d5fad096c0
Added local variables and replaced %-substitution with local variables.
...
Made variable substitution recursive, so ${${foo}} will be the value of
the variable whose name is contained in foo. Added setl command to
manipulate local variables. The only other place they can be used is in
variable substitution.
2002-03-20 04:24:31 +00:00
Robin Redeker
18082533d5
Fixed some memory problems in my string-hashes.
2002-03-19 18:08:07 +00:00
Robin Redeker
489bc7291a
Playermenu working now fine.
...
Added some api-functions to complete playermenu.
(Playermenu isn't still finished)
2002-03-19 17:07:56 +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
Brian Koropoff
1683633042
Changed to an execution stack system for aliases and config files, and
...
added error backtraces.
2002-03-18 23:39:03 +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
Brian Koropoff
46cc4ac9dd
Fixed some bugs and generalized the command buffer interface. Allowed for
...
buffers to be linked into execution stacks and changed aliases and script
files to be run in a new stack frame. Cbuf_Execute executes the stack from
the top down, so wait commands are handled properly.
2002-03-18 04:12:09 +00:00
Brian Koropoff
f4180e7ad8
Added math evaluation, the ability for commands to span multiple lines
...
within braces, and put support for comments back in (oops). To use math
evaluation, put a math expression inside $(). If you have spaces in your
expression, you'll need to enclose the entire thing in quotes so it doesn't
get split up into multiple tokens.
2002-03-17 06:57:03 +00:00
Brian Koropoff
aa00b7742c
Changed the token finder to be recursive, added if and while commands, and
...
allow tokens within braces to continue across newlines.
2002-03-17 03:31:03 +00:00
Brian Koropoff
e9ca911e34
Added the ability to use curly braces to enclose tokens. Tokens in braces
...
won't be processed except for escape characters, so that escaped braces
can be used within. If an uneven number of curly braces are within a
token, it will be misparsed, so escaped braces are important if you
don't want them to be considered in the parsing of the token. Ideally,
braces within quotes within braces should not need to be escaped, but this
would require a redesign of the parser to be recursive. Maybe I will do
this later.
2002-03-16 21:17:01 +00:00
Robin Redeker
adca50e52b
Did further working on the menu code.
...
Added a _unfinished_ Player options-submenu, for setting
the name, top-/bottomcolor.
Added Draw_Fill and such to the progs api.
Added some comments.
2002-03-16 20:22:01 +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
51805ebd92
nothing much, just give wildcode a 30% speed boost. Basicly, stop binding
...
a texture for every single brush poly: due to texsort, they will come in
batches.
2002-03-16 09:25:06 +00:00
Brian Koropoff
2a3e1869ac
Bug fixes! Fixed escape character detection, use of str = dstr->str
...
without considering that realloc could result in dstr->str being
changed. Also made variable substitution of non-existant variables be
replaced with a null string rather than being left alone, to prevent
errors in scripts from causing weirdness as strings get passed through
the parser several times.
2002-03-16 06:31:59 +00:00
Brian Koropoff
0a90ddc51f
Fixed an error in extract line that caused escaped quotes to be parsed as
...
normal quotes and made it so executed files are always inserted into the
console buffer so that class config files in TF can use the new parser
features, even though the exec command is run in the legacy buffer
2002-03-15 01:45:15 +00:00
Bill Currie
180c517771
signal handling improvements
2002-03-13 19:20:57 +00:00
Bill Currie
6cefb63e2e
get back to work on creating a good command line pak file util. currently
...
only dumps the file names/sizes and segs if it's used incorrectly, but it's
a start.
2002-03-12 23:45:36 +00:00
Bill Currie
f0609f04f3
forgot about the need for the proto itself
2002-03-12 17:44:45 +00:00
Bill Currie
adbb59c5dd
fix missing prototype for fnmatch on some systems
2002-03-12 17:36:17 +00:00
Bill Currie
1d420edcd0
start work on instrumenting GLstub.so
2002-03-11 23:55:50 +00:00
Bill Currie
d5fe4e3130
make file open a little more secure
2002-03-11 19:01:13 +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
Bill Currie
538515bee6
forgot to nuke this
2002-03-06 04:17:50 +00:00
Bill Currie
8f7f646d19
white space
2002-03-05 22:36:04 +00:00
Brian Koropoff
e0e9084ad7
Merged in the new command parser. No major bugs or incompatibilities could
...
be found.
2002-03-05 21:51:12 +00:00
Bill Currie
544ca8118a
"gib" never got all that useful, and with the new command parser coming in
...
and csqc, it's pretty obsolete, too.
2002-03-05 21:47:03 +00:00
Brian Koropoff
066c2c8a02
The final checkin before merging. Hopefully no showstopping bugs remain.
2002-03-05 21:26:37 +00:00
Brian Koropoff
669ca72e4f
Added a bonus feature: %i evaluation in aliases. Just put %i in an alias
...
and it will get replaced with the ith argument to the alias, 0 being the
name of the alias itself. %% will get replaced by %, out of range
numbers will simply be removed, and non-numbers will be ignored.
2002-03-04 02:37:40 +00:00
Brian Koropoff
7241d69036
Fixes to echo, correct use of cmd_source and src_command, and change nq to
...
use cmd_legacybuffer for stufftext.
2002-03-04 01:11:05 +00:00
Brian Koropoff
8d124f9c2b
Implemented variable substitution and did various cleanups to the parser.
...
Changed Cmd_TokenizeString to accept a flag that controls the application
of filters (tags, variables, escape characters) to the tokens and modified
a few places in the source that called it. Added a secondary command
buffer that is parsed without filters for legacy command support.
Currently, it is only used for commands stuffed into the console from the
server. It is hacky, and I hope to eventually generalize the console
interface to support any number of buffers and audit the rest of the code
to recognize it. For now, the legacy buffer at least keeps escape
character parsing from destroying info strings.
2002-03-03 23:28:57 +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
26d7463be7
the majority of raptor's sgi build patch. I'll look at the last two bits
...
(server.c and vid_sdl.c) later.
2002-03-03 06:03:51 +00:00
Brian Koropoff
4a7f3b3189
This commit fixes up cmd_args to rebuild a string from the processed
...
tokens and adds support for comments.
2002-03-03 06:00:44 +00:00
Bill Currie
119731e90e
fix a buffer overflow snax found
2002-03-03 04:42:32 +00:00
Brian Koropoff
6936615fdf
HTML-like tags are more or less done. Next up is variable substitution
...
and escape characters.
2002-03-03 04:26:37 +00:00
Brian Koropoff
557846b220
This is the first commit to the newcmd branch, which is a mostly-rewritten
...
console command parser. It will eventually include html-like tags for
modifying text (gold numbers, brown characters, etc) and escaped characters.
The major differences so far are that dynamic strings are now used instead
of static buffers, and single quotes can be used to enclose tokens as
well as double quotes.
2002-03-03 03:36:27 +00:00
Bill Currie
a384870e4b
cl_chatmode works again
2002-02-28 04:12:20 +00:00
Bill Currie
009e6346fe
now, so long as ulimit allows it, we can always get a core dump. Looks a
...
little odd:
Received signal 11, exiting...
IN_Shutdown
IN_LL_Shutdown
VID_Shutdown
Segmentation fault (core dumped)
but the core file does accurately show the error
2002-02-27 06:55:21 +00:00
Bill Currie
2f62b744fa
After an interesting discussion with Lordhavoc, make the GPU do more work in
...
the background. This is achieved by doing only a (qf)glFlush at the end of
the frame, doing the inter rendering-frame processing (ie, client frame
processing), glFinish, glXSwapBuffers, then starting the next frame. I've
changed the glFinish call in SCR_UpdateScreen to glFlush and the glFlush
call in GL_EndRendering to glFinish because there's no point in calling
glFinish followed by glFlush. Also, SwapBuffers should always be precedded
by glFinish rather than just glFlush (in Lordhavoc's experience). The
GL_EndRendering at the end of SCR_UpdateScreen got moved to the beginning.
2002-02-27 05:22:21 +00:00
Bill Currie
cfb6c1db0a
first stab at hardware gamma support for windows. WILL screw up system gamma :)
2002-02-26 00:14:16 +00:00
Bill Currie
9ea013888b
eliminate GetEdictFieldValue, mostly merge SV_AddGravity, and clean up
...
some whitespace in sv_phys.c
2002-02-25 07:44:17 +00:00
Bill Currie
9d0d8c49e7
win32 compile fix
2002-02-23 17:43:41 +00:00
Jeff Teunissen
ae2303c18d
Hide the reason for a plugin load failure unless developer is set.
2002-02-22 11:17:20 +00:00
Bill Currie
29706477d4
gl_driver default is now configurable
2002-02-22 08:55:24 +00:00
Bill Currie
972bd8852b
rewrite QFGL_ExtensionAddress to just use QFGL_ProcAddress and be done with
...
it. hopefully this will fix raorn's crash.
2002-02-21 07:56:27 +00:00
Bill Currie
8ee5acb208
redo Sys_Error so it's more usable throughout quake
2002-02-20 19:22:52 +00:00
Bill Currie
b6c331736a
give nq host_mem_size so -mem can be a cvar (similar to sv_mem_size and
...
cl_mem_size in qw).
2002-02-19 20:47:45 +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
af663488c8
print out the error string when failing to get shared memory
2002-02-13 08:35:46 +00:00
Bill Currie
814e2ddfe9
hopefully a more correct implementation
2002-02-13 00:57:00 +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
b4000200e3
move the getopt files from qfcc/source to libs/util, link qw-master against
...
libQFutil and enable the option parsting in qw-master for win32.
2002-02-12 17:44:41 +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
Bill Currie
b5c2c0e14e
clean up a fixme. this doesn't fix serplord's out-of-bounds problem, but
...
that's because his qc compiler is doing weird stuff.
2002-02-11 19:36:36 +00:00
Robin Redeker
67d53f4e56
Added some QC-API functions: String_Cut, String_Len, Key_CountBindings.
2002-02-02 09:38:19 +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
72bd704d13
BSD compile fixes
2002-01-31 07:37:56 +00:00
Bill Currie
03ae513559
compile fixes. we've finally got a sun sound user
2002-01-31 06:50:18 +00:00
Bill Currie
681950cf26
print [val] for pointers
2002-01-30 22:14:13 +00:00
Bill Currie
40e987c071
provide InputLine_SetWidth so the drawn width can be set
2002-01-30 21:25:00 +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
6d63d1d55b
implement comparisons and not for pointers
2002-01-30 21:20:12 +00:00
Bill Currie
e1abe4c44b
finalize the crc of the progs file
2002-01-30 21:13:57 +00:00
Bill Currie
7ef4426775
inputline api `done'. now just to get it working
2002-01-30 08:41:18 +00:00
Bill Currie
ee3f51f13b
"" to <> for system headers
2002-01-30 08:34:44 +00:00
Bill Currie
c76f7d88ce
fix an API snafu (oops:)
2002-01-30 08:09:53 +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
0906ac5694
get the positioning correct for Draw_CenterPic
2002-01-29 18:44:31 +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
6f29bcb238
break the loop from CRC_Block into CRC_ProcessBlock so that crcs can be
...
caclulated over multiple blocks.
2002-01-28 18:00:48 +00:00
Bill Currie
21b6e68a8c
break out the non-edict code into sensible locations
2002-01-28 17:15:36 +00:00
Bill Currie
750100b3e3
obsolete declaration cleanup and const correctness for Key_GetBinding
2002-01-25 00:01:05 +00:00
Bill Currie
08210bc93f
fix an accidental double byteswap that broke progs for big-endian machines
2002-01-24 04:43:47 +00:00
Bill Currie
316386b542
mod->textures can legitimatly have null textures, so be on the lookout for
...
them. This fixes the client crash on certain levels.
2002-01-24 02:44:19 +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
68637eea9e
start implementing dynamic memory for progs
2002-01-23 22:35:48 +00:00
Bill Currie
16cc0c22c9
forgot to implement store.p
2002-01-23 22:33:22 +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
d5fb0f5a68
fix some .. path compression bugs
2002-01-21 17:36:22 +00:00
Bill Currie
9833b7009d
oops, forgot to remove the debug code
2002-01-21 16:48:08 +00:00
Bill Currie
f3efed94e5
.0 isn't valid for integer formats
2002-01-21 16:47:50 +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
1168f1aa86
libQFcsqc (I'm not adverse to renaming it) is born. so far, only provides
...
Cbuf builtins.
2002-01-20 04:09:36 +00:00
Bill Currie
14ac3acc17
add a builtin (gametype) for detecting the, well, game type (ie, netquake
...
or quakeworld) which just returns the apprproate string. the single player
menu is now acessable in nq but not qw :)
2002-01-20 03:09:03 +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
bb82e48ab1
add Draw_String to csqc
2002-01-20 00:03:34 +00:00
Bill Currie
84636f20cb
make sure r_progs gets linked in when using the .a lib
2002-01-19 22:53:00 +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
6af9a5d8e6
make the builtins an array of pointers so the hash table doesn't get royally
...
screwed up
2002-01-19 03:31:51 +00:00
Bill Currie
6ab3329b94
bring back togglemenu
2002-01-19 03:28:52 +00:00
Bill Currie
15e7e35a57
make K_ESCAPE bindable
2002-01-19 02:29:29 +00:00
Bill Currie
7def88668a
fix a goof with the progs loader for the server interface
2002-01-18 23:53:51 +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
Chris Ison
e3b2bfb81a
clear key states on game start
2002-01-17 22:04:58 +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
d69762facd
integer() and float() casts seem to work
2002-01-17 19:32:04 +00:00
Seth Galbraith
31a98f0f80
only load tgas for texture names that end in backslash
2002-01-17 16:31:34 +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
6dbdfc0464
yeah, it's an icky global, but it's actually the right way to get at the
...
model header in the model loader.
2002-01-17 02:10:06 +00:00
Bill Currie
f67f021713
don't need those anymore
2002-01-17 02:06:49 +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
Seth Galbraith
778af4276e
external tga skin loading, doesn't work for players (teamcolor stuff)
2002-01-16 20:32:39 +00:00
Bill Currie
9dedd21158
start getting the shared console code working
2002-01-16 16:27:56 +00:00
Seth Galbraith
0dcfc6dfb4
load tga versions of .lmp files if present
2002-01-16 01:59:05 +00:00
Seth Galbraith
93116bc827
external mip texture loading
2002-01-16 01:02:50 +00:00
Seth Galbraith
9c1969146c
cleanup, implemented tga loading for gfx.wad files
2002-01-15 21:05:34 +00:00
Bill Currie
9d59d953bd
more cleanups
2002-01-12 05:32:21 +00:00
Bill Currie
6637f3fba5
more FIXME and whitespace cleanups
2002-01-12 04:46:15 +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
Seth Galbraith
3b6c2c8d0d
pretty 32 bit color sprite tga loading - e.g progs/s_light.spr_0.tga
2002-01-11 04:20:41 +00:00
Seth Galbraith
5f4c7ee7bd
implemented VP_PARALLEL_UPRIGHT - ask about my Mighty Oak
2002-01-11 03:00:32 +00:00
Seth Galbraith
7dc5b587f8
also try to load skies from gfx/env as darkplaces does
2002-01-11 01:26:21 +00:00
Ragnvald Maartmann-Moe IV
38acbd9c0b
Whitespace. Grr.
2002-01-10 21:22:51 +00:00
Bill Currie
6132049bf4
gl_draw.c: whitespace
...
draw.c: (both sw and sw32) fix Draw_nString to be similar to gl_draw.c
2002-01-10 20:19:22 +00:00
Chris Ison
859c18dc07
tidy up Draw_String calls and switched to Draw_nString were needed
2002-01-10 03:54:00 +00:00
Chris Ison
6073ff8d58
added Draw_nString for displaying a non \0 terminated string
2002-01-09 21:20:22 +00:00
Bill Currie
96c7159f66
keep track of the times of the last event (for those events that report time)
...
and use that instead of CurrentTime in the X selection code (as recommended
by the ICCCM)
2002-01-08 20:07:19 +00:00
Bill Currie
6633ea0273
correct a typo in a comment
2002-01-08 19:38:36 +00:00
Bill Currie
c84e5b2ac0
re-write the X selections support to be more ICCCM compliant (selections in
...
xchat can now be pasted to qf)
2002-01-08 19:33:42 +00:00