Bill Currie
4b1ceb9795
hopefully take care of glGetProcAddress type once and for all :)
2002-08-16 18:29:21 +00:00
Ragnvald Maartmann-Moe IV
c86565307b
Use function pointers for DeathmatchOverlay, instead of a ridiculous if/else tangle. Bulkier, but considerably faster.
2002-08-15 09:38:23 +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
Brian Koropoff
513b5737f9
Got indexing into variables working and cleaned up variables a bit.
...
Partially translated zoom.gib into the new language, but it isn't done yet.
2002-08-14 05:28:07 +00:00
Bill Currie
8e97d6279a
first stab at colored alias model lighting
2002-08-12 06:14:55 +00:00
Bill Currie
0eab1e6837
whitespace
2002-08-08 22:03:57 +00:00
Brian Koropoff
0390fe22ce
Added tree variables (blah.1, blah.2, blah.1.foobar, etc), global variables,
...
made var substitution more robust, and began adding proper comments to
the code.
2002-08-08 09:20:00 +00:00
Bill Currie
c05db51069
add Qputs
2002-08-07 18:43:35 +00:00
Brian Koropoff
5c60be3a49
If and while now work, and embedded commands use backticks instead of <> now
...
to prevent conflicts with math expressions. All clients and servers are set
to create buffers with the normal parser. However, scripts ending in .gib
are now executed in a GIB buffer, and the export command can be used to
make specific GIB functions available to normal command buffers (i.e. the
console).
2002-08-07 06:17:50 +00:00
Bill Currie
ff14989edf
whitespace
2002-08-06 15:10:46 +00:00
Brian Koropoff
666c3fce07
Embedded commands now work without any bugs I can detect. Next up are
...
loops, branching, and getting the tokenizer to give special treatment
to certain builtin functions. But first I should get some sleep :)
2002-08-06 08:15:20 +00:00
Brian Koropoff
87f0f480e4
Local variables work, preparing to get embedded commands done.
2002-08-05 00:01:06 +00:00
Brian Koropoff
cf48363c6e
More of GIB done: builtins, functions, various cleanups, math, etc.
2002-08-03 06:04:00 +00:00
Bill Currie
175be2e397
when adding new headers, be sure to update include_HEADERS or EXTRA_DIST as
...
appropriate
2002-08-02 15:35:11 +00:00
Brian Koropoff
3c3844d2ac
Checked in the beginnings of GIB mark III and modified qw-server to use
...
it for its console.
2002-08-02 04:07:25 +00:00
Bill Currie
69bf19b6e7
when adding new header files, they MUST be included in include_HEADERS or
...
EXTRA_DIST, as appropriate.
2002-08-01 17:13:58 +00:00
Brian Koropoff
4e85063b52
Added support for execution stacks, misc. cleanups.
2002-08-01 02:42:19 +00:00
Brian Koropoff
439f9838d3
Whoops, missed some stuff that needed to be in idparse.h
2002-07-31 22:13:15 +00:00
Brian Koropoff
a93b221272
Split off the old console parser into idparse.[ch] and prepared the cbuf
...
struct and support functions for GIB mark III.
Oh yeah, I'm back.
2002-07-31 22:03:53 +00:00
Bill Currie
d3ae1b5078
make dist fix
2002-07-31 15:08:56 +00:00
Bill Currie
0bb6769204
fix the non-parsing of quakeforge.conf
2002-07-31 06:06:44 +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
021decc7bd
start on the cleanup of cmd.c. these aren't used yet, but the parsing is
...
working
2002-07-30 17:08:53 +00:00
Bill Currie
46ee46fdc6
dead code removal
2002-07-30 04:55:33 +00:00
Bill Currie
d00ed9619f
give dstring_adjust a prototype and fix up some whitespace
2002-07-29 19:52:19 +00:00
Bill Currie
edf55349b3
fix dependencies on dstring.h
2002-07-29 19:48:23 +00:00
Bill Currie
d04eeb3ba2
get -wgl working again
2002-07-27 06:43:28 +00:00
Ragnvald Maartmann-Moe IV
587de27849
Another step towards QSG2 compliance.
2002-07-25 14:43:36 +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
f14815a57f
change msurface_t's extents from short to unsigned short so >> expressions
...
involving it go faster
2002-07-24 15:58:52 +00:00
Ragnvald Maartmann-Moe IV
85c7e43aef
Split lightmaps off from surface drawing.
2002-07-23 19:57:47 +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
Ragnvald Maartmann-Moe IV
e1854315ac
Clean out DDActive, except from -mgl, which isn't supported ATM. Clean up vid_mgl.c comments and dead code a bit.
2002-07-02 20:34:51 +00:00
Bill Currie
104013ae21
heh, we both forgot to nuke the prototypes :)
2002-07-02 19:18:33 +00:00
Ragnvald Maartmann-Moe IV
8c2aa8f840
typo fix and whitespace.
2002-07-02 18:57:38 +00:00
Bill Currie
1828cbff5a
get the type for getProcAddress right
2002-06-28 17:15:49 +00:00
Ragnvald Maartmann-Moe IV
fd1ded5c4a
Add r_nearclip and r_particles_nearclip. Also put some limits on r_farclip. And fix id's insane max and min float, and some minor improvements in frustum setup in GL.
2002-06-26 22:20:12 +00:00
Bill Currie
c6d83ab9ff
correct the type of getProcAddress for windows
2002-06-26 14:57:40 +00:00
Bill Currie
50af936a29
whitespace
2002-06-26 14:45:00 +00:00
Ragnvald Maartmann-Moe IV
e6e11af426
Move the contents of gl_funcs.c out of the renderer, and into targets where they belong. Also some cleanups. -sgl target is temporarily broken, all others should work.
2002-06-24 21:35:37 +00:00
Ragnvald Maartmann-Moe IV
c8bc5dfb4c
QSG2 glows almost working. Plus lots of typos killed.
2002-06-18 21:41:24 +00:00
Bill Currie
5ff7941805
rename sfxcache_t size to bytes
2002-06-16 04:21:25 +00:00
Bill Currie
930ba48862
other than sounds that are ment to loop not looping (due to losing that info
...
when converting to ogg (I've got some ideas on that)), ogg/vorbis support is
working. Doesn't seem to be too much of a load-time hit.
2002-06-15 05:43:56 +00:00
Bill Currie
f2f6041e05
at long last, vorbis support :) load time only, though, so not yet suitable
...
for huge samples.
Also, change the file search order so that .gz is checked before the
requested file.
2002-06-14 20:36:28 +00:00
Ragnvald Maartmann-Moe IV
df55030fa8
Fix alias bounding box sizes, so that large critters don't disappear when at edge of view frustrum...
...
(Taken and debugged from tutorial on quakesrc.org)
2002-06-14 09:33:37 +00:00
Bill Currie
e774943f24
va.[ch]:
...
new va function: nva which returns a strduped buffer
expr.c options.c:
use nva instead of strdup (va (...
struct.c type.c:
make type encoding work properly for structs
2002-06-13 16:39:33 +00:00
Ragnvald Maartmann-Moe IV
10d7d17fcc
Use vertex arrays for text. Another 1-3% speedup.
2002-06-13 05:24:52 +00:00
Bill Currie
88fc0be127
arrays are /almost/ working again
2002-06-12 22:37:18 +00:00
Bill Currie
0b1d1ade73
qfprogs can now read the debug data
2002-06-11 17:24:37 +00:00
Bill Currie
e3055837fa
make the opcode a 16 bit enum to help with debugging (I hope this doesn't
...
cause problems on weird archs).
2002-06-09 16:27:31 +00:00
Bill Currie
ef57625355
move pr_type_t
2002-06-07 20:56:54 +00:00
Bill Currie
ebfdbd9285
the fpu manipulation stuff seems to be better off in the one place that
...
actually uses it...
2002-06-07 15:09:20 +00:00
Bill Currie
054ec3c072
blah
2002-06-07 14:46:37 +00:00
Ragnvald Maartmann-Moe IV
ceb73449bb
Order of operations cleanup, QSG2 alpha is now colormod[3] in entities.
2002-06-07 11:25:47 +00:00
Bill Currie
4039452297
more sys cleanup. server consoles may be broken for non-curses.
2002-06-03 19:11:48 +00:00
Bill Currie
81b49f3815
d'oh
2002-06-03 06:26:08 +00:00
Bill Currie
5f3f4b6f69
make sure exceptions are masked
2002-06-03 06:15:59 +00:00
Bill Currie
f00e892d4e
mingw gcc 3.1 is freaking weird
2002-06-02 05:27:32 +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
94035acbd2
whitespace
2002-06-01 06:58:32 +00:00
Bill Currie
55fcead77c
look for the .this field but don't complain if not found
2002-05-31 17:21:38 +00:00
Brian Koropoff
d85a238af2
Modified cmd.c to prepare for more file access functions and changed
...
the bind system to keep a restricted flag on binds to prevent the
server from executing restricted commands by binding them to keys.
2002-05-31 05:38:06 +00:00
Bill Currie
9134e05aec
return lists of multiple matching elements
2002-05-30 21:56:57 +00:00
Bill Currie
a7b5b56a2c
implement Z_Realloc, PR_Zone_Realloc and pr_obj_realloc
2002-05-29 20:58:53 +00:00
Bill Currie
7a3b63418b
`adequate' temporary fix for r_lightmap_components 1
2002-05-28 04:11:40 +00:00
Bill Currie
6fbf011073
rpm building fixes
2002-05-27 20:28:10 +00:00
Ragnvald Maartmann-Moe IV
f1f942dfd1
Hacking my way towards working r_lightmap_components 1.
...
Users of r_lightmap_components 1, should set `int mod_lightmap_bytes = 1` at the start of `quakeforge/libs/models/brush/gl_model_brush.c`.
2002-05-25 15:29:22 +00:00
Bill Currie
33e055209e
Semi-major (more than minor:) progs convenience macro cleanup. There will
...
be more to come.
2002-05-22 22:35:37 +00:00
Bill Currie
dc3f106faf
define G_POINTER convenince macro. null progs pointers will be null in C
...
redefine G_STRUCT to use G_POINTER
2002-05-22 21:50:24 +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
Bill Currie
9f06f89d57
write out the module data needed for the obj runtime
2002-05-21 21:28:40 +00:00
Brian Koropoff
25969dbad7
Added a temporary hack to make quake.rc, config.cfg, and default.cfg work
...
in some mods that would generate mismatched quotes otherwise.
2002-05-21 02:02:20 +00:00
Brian Koropoff
ee5d0b7a99
Added r_farclip to control the far clipping plane.
2002-05-20 05:11:12 +00:00
Brian Koropoff
967d39541a
Optimized GIB a bit.
2002-05-17 21:38:37 +00:00
Bill Currie
ef9f9cda2f
pr_obj.h:
...
define the class info stuff
expr.h pr_def.c:
fix a FIXME
class.c expr.c type.c:
make id ev_pointer.ev_object rather than ev_pointer.ev_class
2002-05-17 17:37:44 +00:00
Brian Koropoff
58e8a997f8
GIB: Added the writefile, legacy and eval commands and created the
...
beginnings of a GIB security model for console access by the server.
Fixed a bug in zoom.gib.
2002-05-15 22:14:17 +00:00
Bill Currie
539d0ac10e
correct a bunch of syntax errors
2002-05-15 19:27:23 +00:00
Bill Currie
6a5bbf6f0a
memory allocation checking cleanup
2002-05-14 06:37:28 +00:00
Bill Currie
91779b04f7
new tool: qfprogs. currently only disassembles progs, but the idea is for it
...
to become a progs oriented nm, objdump etc
2002-05-13 19:37:36 +00:00
Brian Koropoff
6d37a9e48a
Fixed up zoom.rc, renamed it to zoom.gib. Made alias with only one
...
argument print the contents of that alias. Added the sleep command,
which works like wait but pauses for a certain number of seconds.
2002-05-11 06:09:50 +00:00
Bill Currie
69894d96c4
define the obj structs needed for the runtime
2002-05-11 04:04:30 +00:00
Brian Koropoff
56d033efa4
Auditted cmd.h and cmd.c to fix a bug, a few bits of useless code, and to
...
add some preliminary comments about all the functions. I also rearranged
a lot of the functions to be more logically grouped.
2002-05-11 03:00:14 +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
73e6cf062c
implement type encoding
2002-05-10 23:19:57 +00:00
Brian Koropoff
e4f740bf02
Buffers created for embedded commands are now marked with a special flag.
...
This allows Cmd_Return_f to decide which buffer it should return a value
to. End result: you can put blocks of code with a return statement inside
an embedded command statement. I hope nobody minded me using my
quakeforge.net account to code a bit :P
2002-05-09 20:12:12 +00:00
Bill Currie
594d81b6f0
add dstring.h to include_HEADERS
2002-05-01 20:12:48 +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
Brian Koropoff
ff901a312f
Added argument-list functions to EXP with trig and inverse trig functions
...
to start. More will follow. Switched to doubles from floats and allowed
numbers with exponents to be parsed properly. Also changed the number of
significant digits printed to 10. Changed fov so it is now capped at 1,
not 10. The float value of fov is now used instead of int, so more
precision can be attained at small values.
2002-04-28 08:30:54 +00:00
Brian Koropoff
7121891895
Fixed Cmd_If_f so that embedded commands work again.
2002-04-26 22:09:28 +00:00
Jeff Teunissen
b75d50d088
X11 gamma restoration now works properly for systems with a normal gamma that
...
uses all three components (red, green, blue).
Next up: three-component internal gamma.
2002-04-25 20:53:15 +00:00
Jeff Teunissen
5b069de40c
Redo r_wateralpha so that it doesn't force its value based on the watervis
...
serverinfo. Instead, create a new cl_wateralpha float variable that is set to
r_wateralpha->value in Host_Frame, and use that float during rendering.
2002-04-25 12:51:04 +00:00
Bill Currie
cd6217bd21
bah, __builtin_expect is new in gcc 3
2002-04-25 04:51:04 +00:00
Bill Currie
da994c16e5
rewrite R_SplitEntityOnNode to be itterative rather than recursive (using
...
a static `stack') to avoid the function call overhead. this cuts about 40%
of the execution time from this function.
No matter what I tried, best results were obtained using __builtin_expect,
so make sure non-gcc compilers do the right thing when they encounter it.
2002-04-25 04:32:55 +00:00
Brian Koropoff
bf323c3f0a
Cleaned up Cmd_Args. It is no longer uselessly built up in
...
Cmd_TokenizeString since I realized the code was just pulling it apart and
putting it back together. Added Cmd_Argsu to access the unprocessed
command. Added support for else following if in such a way that
if/else if/else structures work. Added support for unary operators in
EXP and added the ! (not) operator. The ifnot command will be kept
for variety.
2002-04-24 22:33:04 +00:00
Brian Koropoff
7f295d61ee
Added the getserverinfo command to return the value of a server info key
...
to GIB. Fixed a bug in dstring_replace that was causing too much data to
be copied when the incoming string was larger than what was being replaced.
Very minor reorganization in cmd.c (1 function moved around I think).
cmd.c should probably get broken up into separate files soon.
2002-04-23 07:47:24 +00:00
Bill Currie
4ccc9d6322
dstring.c dstring.h:
...
add dstring_replace. this replaces a string of lenth rlen at position
pos with data of lenth len, growing, shrinking and shuffling data as
appropriate. At this rate, the dstring `class' will get buffer gap
editing capabilities :)
cmd.c:
Cmd_TokenizeString builds cmd_active_buffer->line again.
Cmd_Process bails out instantly if cmd_active_buffer is a legacy buffer
and uses dstring_replace to modify the parameters in
cmd_active_buffer->line. This last change results in drastic
simplification (and accuracy) of the commandline reconstruction code,
both in Cmd_TokenizeString and Cmd_Process.
2002-04-19 22:54:27 +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
cb79de3584
Completely redid the way embedded functions are subroutines in general are
...
handled, meaning that execution can be paused at any time without a hitch.
Warning: This is a major change to the architecture (or lack thereof) of
GIB. Please test for bugs! Also, there are a few ugly bits of code that
need to be cleaned up, but that work for now.
2002-04-16 23:56:21 +00:00
Jeff Teunissen
a4f3973ef1
Add multitexture support for Alias models, and disable the multitexture
...
support for BSP models, until they can be fixed. gl_multitexture should now
actually be a speedup!
NOTE: Some OpenGL implementations have trouble with the texture function
used. 3Dfx Voodoo 1/2 are known to have this trouble. I don't know how to fix
this, or even if it can be fixed. :/
2002-04-16 16:51:35 +00:00
Brian Koropoff
503dab1aee
The tokenizer will now not break tokens appart within quotes or braces.
...
This means things like echo ~{somefunc arg1 arg2} will get parsed properly
without having to enclose it in quotes. Exported the Cmd_Return function
so that anything can return values to GIB (such as quakec).
2002-04-14 01:12:19 +00:00