Bill Currie
826d66efaf
[gib] Plug some memory leaks
...
Builtins seem to leak a little on shutdown. Not sure how they are in a
long running app.
2022-05-12 19:58:18 +09:00
Bill Currie
7970525ef4
[util] Make va thread-safe
...
It now takes a context pointer (opaque data) that holds the buffers it
uses for the temporary strings. If the context pointer is null, a static
context is used (making those uses of va NOT thread-safe). Most calls to
va use the static context, but all such calls have been formatted
consistently so they are easy to find when it comes time to do a full
audit.
2021-01-31 16:05:48 +09:00
Bill Currie
4cef9792f4
[util] Make hash-tables semi-thread-safe
...
They take a pointer to a free-list used for hashlinks so the hashlink
pools can be per-thread. However, hash tables that are not updated are
always thread-safe, so this affects only updates. progs_t has been set
up such that it is easy for multiple progs within one thread can share
hashlinks.
2020-03-25 15:43:16 +09:00
Bill Currie
59e85b7d5e
Fix a pile of dead assignments.
...
Some were actual bugs!
2018-09-08 22:23:57 +09:00
Bill Currie
3efb0c538f
Separate file search from loading.
...
QFS_LoadFile (and its wrappers) now take a file handle rather than a
path. This will make vpath usage a little cleaner to implement.
2014-01-28 16:22:05 +09:00
Bill Currie
f1aefc969d
Fix some 64-bit mingw compile issues.
...
Just one more issue to fix (alloca), but with a hack, QF compiles (no clue
yet if it works: wine doesn't seem to be an option at this stage)
2013-01-22 21:02:49 +09:00
Bill Currie
ec42bde527
Make hash tables more const correct.
...
And clean up the resulting mess :/
2012-10-27 11:44:31 +09:00
Bill Currie
23a38738fc
Massive whitespace cleanup.
...
Lots of trailing whitespace and otherwise blank lines.
2012-05-22 08:23:22 +09:00
Bill Currie
bc1b483525
Nuke the rcsid stuff.
...
It's pretty useless in git.
2012-04-22 10:56:32 +09:00
Bill Currie
c57d252dd4
More "set but not used".
...
Why is finding them so unreliable for me?
2011-06-14 06:26:10 +09:00
Ragnvald Maartmann-Moe IV
2211f6fb1a
Codingstyle cleanup.
2007-11-05 11:32:15 +00:00
Bill Currie
ce2ba56c47
gcc 4.2 clean
2007-05-31 05:58:33 +00:00
Bill Currie
81a57bb3fa
patch from phrosty for vc2005 support. includes fixes for a bunch of gcc-isms that crept in over the years.
2007-03-22 23:20:57 +00:00
Bill Currie
99c0954b47
the big dso visibility patch :). Sure, we have to have unique names for static builds, but with controlled visibitly we should get faster program loads (although this isn't C++, so it's not as bad) and complex plugins are cleaner.
2007-03-10 12:00:59 +00:00
Bill Currie
3fb03fc2be
hah, should have been using __attribute__((used)) all that time (rather
...
than __attribute__((unused))). fixes the missing console in -x11
2005-08-04 15:27:09 +00:00
Bill Currie
ca46503607
add -Wsign-compare (default for -Wall only in C++) and fix up the warnings
2004-07-13 19:14:01 +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
2a399cc4b4
Sys_PathType has been unnecessary for a while so nuke it
2004-01-13 21:30:13 +00:00
Brian Koropoff
37a64e59ab
Change some error names, mark a few things static that should be. Instead
...
of using a colon to specify a parent class in a GIB class definition,
"extends" is now used. If no parent class is specified, it now defaults to
Object.
2003-11-29 02:01:31 +00:00
Brian Koropoff
f4c174184d
Add support for named arguments in GIB functions and methods, fix a few
...
bugs, allow subclasses of classes written in GIB to access the same set
of instance variables.
2003-10-19 00:51:47 +00:00
Brian Koropoff
362d58fd95
Made reference counting of objects more sane. If a message is sent by an
...
object, the sending object is included in the message. This is available
in GIB-scripted methods as the local variable "sender", which will be 0
if the sender was not an object.
2003-09-11 08:51:44 +00:00
Brian Koropoff
687a0845b6
Introducing the GIB Object System (TM). This breaks scriptable HUD for now
...
and probably has enough bugs to leave the Orkin man scratching his head,
but it works and allows you to do neat things like write classes in GIB
(amazing!) and subclass builtin classes (which are Object and Thread at the
moment, Hash should be coming soon as a replacement for stem and leaf
variables).
2003-09-11 06:03:13 +00:00
Brian Koropoff
b7d076feab
Add support for run-time regex options (REG_NOTBOL and REG_NOTEOL),
...
and more text transformation functions.
2003-07-15 21:40:37 +00:00
Brian Koropoff
1f6acdb0cc
Make file::delete and file::move use QFS functions.
2003-05-25 05:42:01 +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
c3d18bd53a
Make file::read and file::write use the new QFS functions. This allows
...
reading files out of paks from GIB. file::find still needs to be updated
(and renamed).
2003-05-22 02:32:38 +00:00
Brian Koropoff
ff5ad2ee1c
Added text::white and text::brown builtins to produce text of specific
...
colors.
2003-05-16 07:24:58 +00:00
Brian Koropoff
bf675e793e
Fixed a few GIB bugs, added the chomp builtin.
2003-05-14 21:13:41 +00:00
Bill Currie
eb099ae0d3
make qf gcc 3.3 clean
2003-04-17 00:01:48 +00:00
Brian Koropoff
11e2f0d16a
Added a generic interface for using handles in GIB and made GIB threads
...
use it.
2003-04-14 01:17:55 +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
Brian Koropoff
f287e78030
Optimized the way resetting buffer states occurs and fixed thread::kill so
...
threads actually die as they are supposed to.
2003-04-11 05:58:58 +00:00
Brian Koropoff
d8c0f50c11
The ultimate GIB bugfix commit, including reworked semantic processing,
...
a fix for arguments passed to a GIB function run via rcon, and various
other fixes.
2003-04-11 02:57:11 +00:00
Brian Koropoff
2be8a851d5
Oops, make 'return' GIB builtin actually end the current function.
2003-03-01 02:44:58 +00:00
Brian Koropoff
c9fbb334f1
Cleaned up the GIB parser and GIB_Execute() a lot. Made aliases work in
...
GIB. Added some breakpoint GIB builtins for debugging script/intepreter
interactions. Made carne work properly again (local variables don't
disappear in interactive mode)
2003-02-25 06:52:27 +00:00
Brian Koropoff
6141bc35d0
Removed the 'random' GIB builtin and replaced it with the rand() math
...
function in the math evaluator. Added the trunc() math function as well.
2003-02-23 22:14:07 +00:00
Brian Koropoff
5acf0bbeda
Fixed a bug in the 'contains' GIB builtin and added more to the GIB docs.
2003-02-22 07:19:51 +00:00
Brian Koropoff
f6da3baa1e
Temporarily fixed GIB filesystem access until I can work out a system that
...
better meshes with the new QFS. Fixed up some GIB scripts a bit.
2003-02-16 21:27:18 +00:00
Brian Koropoff
760210dc7b
GIB: Many bugfixes and cleanups. Added bitwise math operations, expansion
...
of leaf names in a stem variable via %var, the builtin functions 'count'
and 'contains', and an initial interface between qw-server and GIB to allow
querying of clients and their info strings. Also cleaned up the chat event
interface a bit. Renamed a few builtins.
2003-02-16 19:46:34 +00:00
Brian Koropoff
af520a373a
More cleanups and bug fixes. Added stem-and-leaf variables back in and
...
added the global::delete builtin.
2003-02-16 02:44:24 +00:00
Bill Currie
c91137e4db
run gib through indent
2003-02-14 22:42:11 +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
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
b0e6f46b7e
GIB: Even more bugfixes.
2003-01-31 05:22:20 +00:00
Bill Currie
fdb74e1aba
win32 doesn't like random
2003-01-31 04:40:40 +00:00
Brian Koropoff
47d35f3e2d
GIB: Added ifnot, fixed several bugs, updated zoom.gib yet again.
2003-01-31 03:43:56 +00:00
Brian Koropoff
580ca17546
GIB: Added proper reference counting on parse trees, got threads working
...
again, added a few new builtins and renamed some others, made misc. fixes
and enhancements.
2003-01-30 23:26:43 +00:00
Brian Koropoff
1f5cabcba9
A few GIB bugfixes, cleanups, and enhancements. Still more to come.
2003-01-29 04:34:23 +00:00