Bill Currie
33a07c0f6b
[qwaq] Make command buffer larger for now
...
A small one should be fine once threading is working.
2020-03-02 18:30:58 +09:00
Bill Currie
6f1386fa0d
[qwaq] Test out acs chars and the classes
...
Crashes due to flooding the command buffer, but otherwise works (with
larger buffer).
2020-03-02 18:29:31 +09:00
Bill Currie
b9ab30ff59
[qwaq] Add mvwaddch and ACS support
2020-03-02 18:27:08 +09:00
Bill Currie
a0c4d56668
[qwaq] Continue processing on void commands
...
If the last command in the buffer had no parameters, its length would be
only 2 and thus processing would stop before reading the command from
the buffer.
2020-03-02 18:19:41 +09:00
Bill Currie
fa66e9fc2f
[qwaq] Move queue handling into separate functions
...
This makes it so I need to edit only one place when I get threads
working. Also, it fixes some bugs (eg, panel creation wasn't implemented
correctly).
2020-03-02 18:15:31 +09:00
Bill Currie
d88a091fc6
[qwaq] Use protocols to distinguish object abilities
...
Well, that took a fair bit more than it should have to get working: had
to implement the protocol support in qfcc and engine-side ruamoko.
2020-03-02 15:22:54 +09:00
Bill Currie
92cb3a5285
[qwaq] Flatten the hierarchy and do some cleanup
2020-03-01 18:25:02 +09:00
Bill Currie
4d076da4b6
[qwaq] Fix warning hidden by type alias bug
2020-03-01 16:15:33 +09:00
Bill Currie
df2ed4b086
[qwaq] Move from tools to ruamoko
...
This fixes the dependency issues between qwaq and ruamoko. qwaq is
actually older than ruamoko. That little language feature test has come
a long way.
However, I'm considering moving to non-recursive make, but...
2020-03-01 00:55:15 +09:00
Bill Currie
6fccfdf1b9
Fix a thinko in the save game menu
...
I thought I had to prepend the gamedir when using QFS_FOpenFile (or
QFS_OpenFile in rua).
Nope, it's gamedir based
2020-02-26 18:03:00 +09:00
Bill Currie
383a7fe5e1
Remove File_Open
...
Other than its blocking of access to certain files, it really wasn't
that useful compared to the functions in qfs, and pointless with access
to qfs anyway.
2020-02-26 13:45:14 +09:00
Bill Currie
caf78b5422
Rename ty_none to ty_basic
...
This far better reflects the actual meaning. It is very likely that
ty_none is a holdover from long before there was full type encoding and
it meant that the union in qfcc's type_t had no data. This is still
true for basic types, but only if not a function, field or pointer type.
If the type was function, field or pointer, it was not true, so it was
misnamed pretty much from the start.
2020-02-21 17:52:00 +09:00
Bill Currie
2f18364364
Start work on encoding typedef chains
2020-02-19 21:41:46 +09:00
Bill Currie
a6f3e1753a
Fix ruamoko's hashtab_t typedef
...
Being typedefed directly to a pointer is a holdover from when pointer
declarations were really awkward.
2020-02-19 21:41:46 +09:00
Bill Currie
67e183c8b6
Put the guts of qwaq's reflection code into ruamoko
2020-02-19 21:41:46 +09:00
Bill Currie
39df9c0c87
Fix some more double related warnings
...
Fewer than I expected
2020-02-15 23:49:12 +09:00
Bill Currie
7e7e0526dd
Fix a double constant issue
...
There will be more of these :/
2020-02-15 23:49:12 +09:00
Bill Currie
df7c08a010
Add support for doubles to Ruamoko
...
Only as scalars, I still need to think about what to do for vectors and
quaternions due to param size issues. Also, doubles are not yet
guaranteed to be correctly aligned.
2020-02-15 23:49:12 +09:00
Bill Currie
9248e8cf01
Update for doxygen 1.8.16
2020-02-11 15:22:42 +09:00
Bill Currie
c98d1ff08c
Document some problems with nil
...
While he's a pretty cool character in HZD, he seems to have some
identity problems when in a compiler.
2019-06-09 22:29:51 +09:00
Bill Currie
f163e35f21
Add a builtin to get keydown.
2016-01-10 13:33:05 +09:00
Bill Currie
c25fd410a5
Update doxygen config files for 1.8.9.1
2016-01-04 11:17:09 +09:00
Jeff Teunissen
396338a543
Rua: flesh out docs for BOOL.
2014-10-16 13:05:57 -04:00
Bill Currie
f5501fbf24
Fix a pile of automake deprecation warnings.
...
s/INCLUDES/AM_CPPFLAGS/g
I <3 sed :)
2013-11-24 13:11:50 +09:00
Bill Currie
2e8d9e7636
Correct the menu code to sortof work with the new IMTs.
...
The menu code at least compiles now. It should work for the default IMT
tables (ie, if imt_0 is there).
2013-01-16 20:31:46 +09:00
Bill Currie
2974bedd78
Add ruamoko declarations for the new menu functions.
2013-01-13 20:13:19 +09:00
Bill Currie
4868a245b3
Fix the "for new syntax" FIXME.
...
Empty structs are now (correctly) invalid. The hack of using an empty
struct to represent a handle returned from a builtin has been unnecessary
since opaque structs were implemented: now a pointer to an opaque struct
can be used. This is mostly safe as handles are aways negative and thus
attempting to dereference such a pointer should result in a VM error. It
will be even safer once const is implemented and the pointers can be made
constant (eg, typedef struct handle * const handle;)
2012-12-20 10:10:41 +09:00
Bill Currie
e17d8ac9db
Add ruamoko wrappers for the set api.
...
This includes both normal functions and a Set class (and SetIterator
class). Most of the methods are implemented as builtins.
2012-12-16 13:48:36 +09:00
Bill Currie
7ed490c434
Allow nil when replacing objects in an array.
...
I want this in a little project, but I also want to consult with Deek about
it, so I've only commented out the code.
2012-12-16 13:38:19 +09:00
Bill Currie
814f902e88
Add a new crosshair.
...
Now all 4 slots of the crosshair table are used :)
Also, fix the offset for pic based crosshairs in glsl, and use just one
func for them.
2012-12-12 19:36:18 +09:00
Bill Currie
f358364ef2
Fix assignment of nil to a structure.
...
constfold.c seems to be getting a little long in the tooth :P
2012-12-11 11:53:01 +09:00
Bill Currie
cd62755ce4
Fix some warnings found by qfcc's flow analysis.
...
Ok, maybe it works too well? Nah, not really. It's nice having proper
unisnitialized checks on structs.
2012-12-10 22:20:44 +09:00
Bill Currie
ff0c51e52c
Build our ruamoko stuff with optimizations :)
2012-12-01 11:20:06 +09:00
Bill Currie
2aaa380098
Fix some uninitialized variable warnings.
...
While they're false positives (qfcc doesn't know about noreturn), at least
qfcc is doing its job :)
2012-11-21 10:25:29 +09:00
Bill Currie
db92a7b9f9
Fix an out-by-one error.
...
That "qfvalgrind" is proving worthwhile :)
2012-11-20 19:49:57 +09:00
Bill Currie
abd9704d26
Avoid over-releasing the autorelease pool.
...
It seems that the engine menu code must be calling menu_post too often, but
I don't feel like fixing it just yet.
2012-11-20 14:54:40 +09:00
Bill Currie
951bed6206
Allow the retain count to become 0.
...
With the new retain count scheme, it must reach 0 or double frees won't be
caught.
2012-11-20 14:41:13 +09:00
Bill Currie
d5c831b6da
Add a little test case for accessing types.
...
Using ruamoko to access ruamoko type encodings is actually quite pleasant
:)
2012-11-15 13:40:11 +09:00
Bill Currie
9a53531d3b
Fix a braino in Object's -init.
...
I'd forgotten AutoreleasePool doesn't like receiving -retain when I did the
retainCount change, and thus Object's -init was a little too naive.
2012-11-14 20:45:29 +09:00
Bill Currie
c96718493a
A bit of a cleanup before fixing class type defs.
...
All internal structs now have "proper" names, and fit the naming convention
(eg, obj_module (like objective-c's types, but obj instead of objc). Some
redundant types got removed (holdovers from before proper struct tag
handling).
Also, it has proven to be unnecessary to build internal classes, so
make_class and make_class_struct are gone, too.
2012-11-12 11:12:33 +09:00
Bill Currie
dc22d06905
Fix an out-by-one in the definition of INT_MAX.
...
INT_MAX wound up being INT_MIN :/
2012-11-12 10:28:31 +09:00
Bill Currie
218424d0ae
Add debug.r to libcsqc.
2012-11-09 19:11:30 +09:00
Bill Currie
07e67da838
Add class versions of retain and friends.
...
As class objects don't have retain counts (they're usually static, even!!),
allowing the instance implementations of retain, release, and autorelease
attempt to modify the non-existant retainCount would be a recipe for severe
headaches. We also don't want the retainCount returning "random" values.
2012-11-08 20:41:56 +09:00
Bill Currie
6b46cde7c8
Move retainCount out of Object.
...
Going by "standard" Objective-C, retainCount really doesn't belong in
Object itself. The way GNUStep does it is to stash retainCount in memory
just below the object by allocating extra bytes for the count and returning
a pointer just beyond those extra bytes. Now Ruamoko does the same. This
fixes the inconsistencies in structure layouts for Protocol and class
structs between qfcc generated (internal) structs and user visible structs.
2012-11-08 20:24:25 +09:00
Bill Currie
3042c2bb1a
Create backups of quick.sav.
...
F6 is fantastic, until you hit it by mistake after dieing when you meant
to hit F9 (I've done that way too often). quick.sav is still the last file
written via F6 (so F9 is unaffected), but now the previous quick.sav
becomes quick1.sav. Up to 5 (currently) backups will be kept: quick1 is
the newest, quick5 the oldest. A menu for accessing the backups has been
added as a sub-menu of the load menu.
2012-07-21 22:41:57 +09:00
Sander van Dijk
4725d5a973
Add a "Prev. weapon" menu option.
2012-07-17 06:28:32 +09:00
Bill Currie
f1854c85b2
Fix some doxygen warnings and errors.
2012-07-15 07:39:50 +09:00
Bill Currie
37dda1ef99
Update for doxygen 1.8.1
2012-07-15 07:39:50 +09:00
Bill Currie
d9288c0837
Don't double-draw the bindings menus.
2012-07-14 20:16:45 +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
95a06c20b2
Move qfcc's libs and headers to ${prefix}/share
...
On discussion with Despair, share makes more sense than lib as they are
really cross-platform (though qfcc itself is not).
2012-05-05 19:34:35 +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
b69d527507
Nuke another AM_CONDITIONAL
2012-02-13 16:08:03 +09:00
Bill Currie
546a7e7aac
Avoid recusing into tools and ruamoko when not needed.
2012-02-12 19:29:31 +09:00
Bill Currie
7c76415f9d
Add math.r to libr.
2012-02-06 19:33:08 +09:00
Bill Currie
a694eed968
Add Draw_Picf to allow smooth placement on low-res consoles.
2012-02-06 19:32:30 +09:00
Bill Currie
14c0e22494
Tweak Draw_MakePic to be a little more usable.
2012-02-06 15:50:32 +09:00
Bill Currie
d6ddbe4efe
Create decls for the new draw functions.
2012-02-06 15:50:32 +09:00
Bill Currie
c98ffa4eda
Create a message buffer API for Ruamoko
...
The api hides all the gory details of message buffer setup and usage
(particularly the differences between writing and reading). Most
importantly, the api provides a safe way to read and write binary data
(always little endian).
2012-02-06 15:50:32 +09:00
Bill Currie
6e10d847ef
Make the qpic_t struct consistent with the internal layout.
...
Now that the renderer ruamoko builtins use handles, there's no need to
hide data, and it's safer anyway.
2012-02-06 12:50:44 +09:00
Bill Currie
c8163fc0de
Add an option to prevent the use of default paths.
...
Despair has things locked down such that running qfcc during a build fails
due to lack of read access to /usr/local/lib. This is actually a good
thing as accidentally hitting old includes/libs (when a file gets deleted
in the tree) hides bugs. Thus, --no-default-paths to turn off default
search paths.
2012-01-04 13:53:04 +09:00
Jeff Teunissen
7d6430edd4
Rua: move the old cvar() and cvar_set() functions
...
Move the old cvar get/set funcs to cvar.[rh] from system.[rh].
2011-12-14 20:33:33 -05:00
Jeff Teunissen
6ead583195
Ruamoko: Implement infinity.
...
The special token __INFINITY__, like __FILE__ and friends, will expand to
a floating-point expression containing a value the C compiler considers
infinite. Obviously, this assumes that the system has relatively modern
float hardware -- but if it doesn't, having Ruamoko be able to represent
float infinity is the least of your problems. :)
2011-12-14 12:20:10 -05:00
Jeff Teunissen
4f4d6b5675
OK, now import them...
...
Duh.
2011-12-09 22:42:43 -05:00
Jeff Teunissen
361255cf31
Ruamoko: New math constants, some new math functions
...
Also, switch all of the math builtins functions we use from Rua to the
ones that accept and return floats, avoiding conversions to/from double.
2011-12-09 22:36:41 -05:00
Jeff Teunissen
c7c646a53f
Makefile portability fixes
...
Allow our makefiles to build with non-GNU 'make' implementations.
Required some renaming of not-really-QuakeC source to .r to get it right.
2011-07-25 17:22:44 -04:00
Jeff Teunissen
5ef92009f0
Switch to SVG images for docs.
...
Doxygen 1.7.3 added support for SVG output from dot, so let's use it.
2011-07-25 17:22:44 -04:00
Bill Currie
ef8b1821d2
Fix the bindings menus.
...
That was a lot easier than I expected.
2011-07-10 18:58:50 +09:00
Bill Currie
15cb8849c3
Docs for MenuGroup
2011-07-10 18:58:16 +09:00
Bill Currie
7c23817cbe
Some changes I missed from the previous commit.
2011-07-10 18:57:24 +09:00
Bill Currie
2c85a3ccc0
Make a start on documenting the gui stuff.
2011-07-10 17:33:43 +09:00
Bill Currie
361e76aa7b
Convert prototypes to C-style for doxygen.
2011-07-10 08:56:04 +09:00
Bill Currie
8ac5079ada
Get inputlines mostly working.
...
It should be only behind-the-scenes updates that are still a problem.
2011-07-09 21:16:38 +09:00
Bill Currie
652b434e7b
Rework the inputline wrapper.
...
Use the resource map code for handle management (much safer).
Add support for the enter callback (function or method).
Unfortunately, it still doesn't work due to poor design of the inputline
user data.
2011-07-09 09:44:37 +09:00
Bill Currie
838e35af96
Fix the escape problem for Join Game.
...
Allowing the menus to override the Escape key was necessary, but there was
badly written code floating around that broke when that was implemented.
Oops.
2011-07-07 17:08:21 +09:00
Bill Currie
01463b0e77
Fix the color view key gobbling bug.
2011-07-06 19:48:27 +09:00
Bill Currie
508fd22d27
Convert the player menu to using the plist.
...
Various things are decidedly broken:
* shirt and pants colors cannot be changed
* shirt and pants color views gobble the cursor keys (cannot leave them)
* input fields do not get updated if the cvar is changed elsewhere
* name input field (at least) does not set the new name
However, at least the escape problem is fixed :)
2011-07-06 19:21:35 +09:00
Bill Currie
4e66a5b327
Add rua rappers for the cvar alias functions.
2011-07-06 19:17:28 +09:00
Jeff Teunissen
82e934af47
Rualib: nuke some unnecessary classes
...
List, ListNode, and Stack aren't necessary; all three are obviated by the
new, richer Array class.
2011-06-14 13:33:10 -04:00
Jeff Teunissen
b18302eac1
Array: sorta-implement -description
...
An #if 0'ed out implementation of the -description method, which currently
returns a Quake string containing whatever the contained objects return
from -description, between parens and separated by commas (just like plist
format). Ideally, we'd have string objects interchangeable with primitive
strings, but having string objects (which are being worked on) should help.
2011-06-14 13:31:30 -04:00
Jeff Teunissen
21c46b9081
View: add brief description
2011-06-14 13:31:30 -04:00
Jeff Teunissen
cb86e09029
Rualib: documentation updates.
...
Add a layout file for Rua docs and create groups for its library functions.
2011-06-14 13:31:30 -04:00
Bill Currie
30bd1c0134
Create classes for inputing cvar strings and script the network menu.
...
Hitting enter after inputting text is currently broken, but that's because
support for it was never put in the inputline wrapper code.
2011-03-25 18:26:10 +09:00
Bill Currie
896791b209
Correct the spelling of "int" and clean up the mess.
2011-03-25 16:53:04 +09:00
Bill Currie
8c1d948586
And qfcc finds another bug :)
2011-03-24 13:36:36 +09:00
Bill Currie
1822290b1a
Fix the double offset of inputline text.
2011-03-24 08:50:32 +09:00
Bill Currie
e878ace83b
Make input lines mostly work.
...
There is still a problem with the placement of the input line text
relative to the text box caused by vertical movement being excessive.
2011-03-23 21:35:49 +09:00
Bill Currie
98f5f84ca3
Clean up the leftovers of converting the controls menu.
...
The bindings menu is still inaccessible, though.
2011-03-23 15:22:01 +09:00
Bill Currie
15fc325136
Fix the features menu.
2011-03-23 15:19:30 +09:00
Bill Currie
bc0cffc9c6
Fix handling of autorelease pools in the menu code.
...
Create a "menu_pre" function that creates the autorelease pool, change
menu_post() to release the pool correctly, and make the menu internal code
require and call menu_pre.
2011-03-21 13:14:14 +09:00
Bill Currie
a9e139e14c
Correct a minor logic error.
...
We don't want to always add a new autorelease pool, and we certainly want
one if there are none.
2011-03-21 13:12:30 +09:00
Bill Currie
7b9d70167f
Fix some missed language changes.
2011-03-10 20:51:04 +09:00
Bill Currie
59f520f4e7
Fix some parse errors that were lost in the noise.
2011-03-03 10:39:21 +09:00
Bill Currie
aa4ed00090
Fix the message type used to check arguments.
2011-03-02 22:13:16 +09:00
Bill Currie
3a1e467ae8
Non-bogus syntax and warning fixes for ruamoko/cl_menu.
...
Sadly, there are many bogus warnings and other errors. qfcc is still very
sick :(.
2011-02-14 23:10:46 +09:00
Bill Currie
9ac6929cf7
Syntax fixes for ruamoko/game.
...
This one actually would compile if object files were working.
2011-02-14 23:10:46 +09:00
Bill Currie
6af747705c
Syntax fixes for ruamoko/scheme.
2011-02-14 23:10:46 +09:00
Bill Currie
da3ac388fe
Syntax fixes for ruamoko/gui.
...
Once aggregate initializers are working, ruamoko/gui will "compile"
(no object files, and still the bogus integer constant into ... warning).
2011-02-14 23:10:46 +09:00
Bill Currie
595019d86e
Fix some problems found by the new qfcc.
...
With this, ruamoko/lib almost compiles (though no object files are output).
Just some bogus "redeclared" errors and an improperly implemented
statement that produces an ice.
2011-02-14 23:10:45 +09:00
Bill Currie
daae0284a1
Work around a warning about passing int constants into ...
...
I'm not sure why this is happening now when it didn't in the old qfcc,
but this will take care of the warning for now until I can get around to
fixing it.
2011-02-14 23:10:45 +09:00
Bill Currie
1195df9686
Update for the new syntax.
2011-02-13 21:25:36 +09:00
Bill Currie
ed3f98eab4
qwaq related compile fixes for the new function syntax rules.
2011-02-13 19:07:30 +09:00
Bill Currie
1f8b453d58
Add some return statments for now.
...
At the moment, qfcc has no way of knowing that a function will never
return. This is needed until the time qfcc can know that.
2011-02-10 14:48:06 +09:00
Bill Currie
d6b10c99aa
Most, if not all, of the fixes needed to get qwaq building.
...
This is pretty much just changing [] to * and moving [N] to the other side
of the variable name.
2011-02-07 22:16:16 +09:00
Bill Currie
c38ea0b1bc
Correct the spelling of "nil".
2011-01-14 12:07:40 +09:00
Bill Currie
f2fb853052
Fix for parallel make.
2011-01-10 13:29:51 +09:00
Bill Currie
cbe245725b
Install the symbol file so menus can be debugged.
2011-01-10 12:26:11 +09:00
Bill Currie
9e06220dc5
Missed a class -> class pointer change.
2011-01-10 12:26:11 +09:00
Bill Currie
6ebee4ad0e
Get the type of Method right.
...
It's a direct structure rather than a pointer.
2011-01-10 12:25:31 +09:00
Bill Currie
75ec6bf244
Clean out some unnecessary types from the progs engine and clean up the mess.
...
This is a nasty commit, sorry, but 99% of the commit is interdependent.
2011-01-10 12:25:31 +09:00
Bill Currie
c5edbf147a
Move ruamoko libs and headers into ${prefix}/lib/qfcc
2010-12-24 19:39:54 +09:00
Jeff Teunissen
b184739f03
Use qfcc's new unsigned constant qualifier for UINT_MAX
2010-12-24 05:09:14 -05:00
Jeff Teunissen
81d927c702
rename Runtime.h -- it's not a class.
2010-12-24 05:03:31 -05:00
Jeff Teunissen
cdb9783d69
Actually commit the new header...
...
@#$@$#^%^
2010-12-16 06:46:59 -05:00
Jeff Teunissen
ff57b96bc6
Add Runtime header for obj* stuff.
...
Also, move lots of stuff out of the Object header.
2010-12-16 06:42:28 -05:00
Jeff Teunissen
7cb2ce3263
whitespace, clean up AutoreleasePool warnings
...
d'oh! How did I forget to include that header?
2010-12-16 06:24:54 -05:00
Jeff Teunissen
061f56ea2d
Add missing methods
...
Array: Implement -indexOfObject: and -indexOfObjectIdenticalTo:
2010-12-16 06:24:54 -05:00
Jeff Teunissen
4968b65b2f
Minor doc updates
...
Reveal more Rua documentation that I had already written years ago, and
clean up Array a little.
2010-12-16 06:24:54 -05:00
Jeff Teunissen
a8e3d5d527
Doc fixes
...
Tweak colors, add borders around some images, remove static definitions
from engine docs.
2010-12-16 06:24:54 -05:00
Bill Currie
096d7f5791
Turn on -Wall -Wno-integer-divide
...
This will break Array.r until Deek gets his changes in.
2010-12-16 20:14:06 +09:00
Bill Currie
6d494bfcdf
Fix a slew of warnings found by -Wall.
...
-Wall still isn't used yet due to a missing method in Array, and
overzealous warnings in qfcc, but this covers the necessary fixes.
2010-12-16 20:01:49 +09:00
Jeff Teunissen
28338bc74e
Turn off timestamping in HTML docs
...
The pointless deltas were slowing rsync down more than I'd like, and it's
not as if that information is all THAT useful. Nuke it.
2010-12-13 13:20:26 -05:00
Jeff Teunissen
d9e97e27a2
Doxygen formatting updates
...
Doxygen-produced HTML docs now look a lot more like the web site, and
are now more attractive in general. :)
2010-12-13 03:28:34 -05:00
Bill Currie
d89893682e
Tweak an "only".
...
*twitch*
2010-12-12 22:55:53 +09:00
Bill Currie
736c9a3a60
Create a reference to Array(Private).
...
This is the real fix for the problem worked around by 5c8cb8fe
.
2010-12-12 20:44:46 +09:00
Bill Currie
c262229478
Revert "Move private Array methods into main file"
...
This reverts commit 5c8cb8fec8
.
The fix comes next.
2010-12-12 20:43:28 +09:00
Jeff Teunissen
15ba4091bc
Doc fixes.
...
Document some more Array methods, mark the private methods as private in
the docs.
2010-12-12 05:45:12 -05:00
Jeff Teunissen
4a8ff8aee8
A little strictness: error out in some nasty conditions.
2010-12-12 05:41:52 -05:00
Jeff Teunissen
f86e933c6a
Array API fixes
...
NQ menus work now.
2010-12-12 05:40:24 -05:00
Jeff Teunissen
5c8cb8fec8
Move private Array methods into main file
...
#if 0 out the "normal" implementation, so that it doesn't hurt. When it
becomes possible to have the private Array methods separate, remove them
from the main file and remove the #if 0 block from Array+Private.r.
2010-12-12 05:39:17 -05:00
Bill Currie
c08c072da7
Make ruamoko docs build properly in out-of-tree builds.
2010-12-12 14:20:23 +09:00
Jeff Teunissen
22dd7cd20d
Avoid wasting a local and giving the compiler a minor aneurysm
...
qfcc doesn't yet like foo[bar++] = baz; let's be nice and not give it
indigestion.
2010-12-12 00:16:33 -05:00
Jeff Teunissen
0371a825b8
Damn, documented wrong method.
2010-12-11 23:49:48 -05:00
Jeff Teunissen
f13c45a9ae
kill extra reference to Array in docs
2010-12-11 23:45:48 -05:00
Jeff Teunissen
537915f5bc
Ruamoko: Document AutoreleasePool
2010-12-11 23:45:19 -05:00
Jeff Teunissen
b45ff85f0c
Add doxyfile for Ruamoko lib
...
Whee, Rua docs!
2010-12-11 23:44:11 -05:00
Jeff Teunissen
8d05b07a26
remove empty -release in AutoreleasePool.
2010-12-11 23:32:04 -05:00
Jeff Teunissen
180450e785
declare ARP_FreeAllPools() @extern
2010-12-11 23:23:55 -05:00
Jeff Teunissen
c58a72842f
Update users of Array to new API
2010-12-11 20:32:19 -05:00
Jeff Teunissen
505076a98d
rewrite Array, AutoreleasePool
...
This version is a bit more useful, and we should be able to get rid of the
Stack class. Also, the Ruamoko parts of the autorelease system should be
almost ready now.
2010-12-11 20:32:19 -05:00
Jeff Teunissen
4bd37e7b64
Switch to C-style function declarations.
...
Doxygen hates the QuakeC-style function prototypes we use, so switch to the
C-style prototypes.
2010-12-11 20:31:59 -05:00
Bill Currie
3b0dbd29ca
make distcheck fixes
2010-12-06 21:24:49 +09:00
Bill Currie
32bf4aed2b
get the message name right
2010-11-28 14:36:21 +09:00
Bill Currie
7ce1fc3be5
Break out all the classes into their own files.
2010-11-24 17:01:19 +09:00
Bill Currie
2b3ba0633e
Break out the menu plist parser into its own file.
2010-11-24 17:01:19 +09:00
Bill Currie
e471ddff47
Use the new file based property list API.
...
Also eleminate the menu_plist global (the plist does not hang around).
2010-11-24 17:01:19 +09:00
Bill Currie
addbcaa09c
Add PL_GetFromFile builtin.
...
This is an extension "wrapper" (no such C function). This allows ruamoko
programs to read property lists without worrying about the memory required
to store the string for the property list being read.
2010-11-24 17:01:19 +09:00
Bill Currie
857f8eb6e4
Get the plist controls menu mostly working.
...
The bindings menu is currently inaccessible.
2010-11-24 17:01:19 +09:00
Bill Currie
9c3c1b9ac1
Use @param instead of id to pass objects within the menu parser.
...
This allows mixed types (eg, objects and Rects). To be passed around. This
sorts out the changes needed for the conversion of Rect from object to
struct.
2010-11-24 17:01:19 +09:00
Bill Currie
730082a393
Make Group set its position (and those of its subviews) correctly.
2010-11-24 17:01:19 +09:00
Bill Currie
e9fea12e47
Must return self in -autorelease
2010-11-24 17:01:19 +09:00
Bill Currie
3878b76cc5
Start using autorelease.
...
Much more testing is required (oh, but for qc-valgrind), but there is now
a ~945kB block of free data in the menu progs heap :).
Also, correct the printed size of the memory block to not include the
block header size.
2010-11-24 17:01:18 +09:00
Bill Currie
4518e6af91
First stab at implementing autorelease.
...
It's probably nowhere near right, but probably ok for now (I need to study
the GNUStep code). I'm unhappy with the menu code hook, but it will have
to do for now.
2010-11-24 17:01:18 +09:00
Bill Currie
7acf8c0570
Must retain before release.
2010-11-24 17:01:18 +09:00
Bill Currie
5fc4ef63f6
Rewrite ruamoko plist support to use handles.
...
The plist code was written long before I thought of resource handles, and
then it was forgotten. This is much nicer and safer than storing C
pointers in progs memory space (*shudder*).
2010-11-24 17:01:18 +09:00
Bill Currie
c460e3c979
Fix setBasePos to get the pos from a view.
...
This fixes Group for the Point/Size/Rect change.
2010-11-24 17:01:18 +09:00
Bill Currie
b0879ba255
Convert Point, Size and Rect to structs.
...
Group and the menu plist parser are currently broken.
2010-11-24 17:01:17 +09:00
Bill Currie
0dfff8fd58
ignore stuff
2010-08-07 10:42:09 +00:00
Bill Currie
997102fea8
audit the usage of "only"
...
There are still a few iffy places (notably around certain prepositions), but
the relevant sentences are now much easier to read.
2010-01-13 06:42:26 +00:00
Bill Currie
8abb9a69aa
remove support for an optional = in struct/union declarations
2010-01-13 06:34:32 +00:00
Bill Currie
ff61dbb329
fix some sillies with QFS_FileList
...
Use dynamic strings instead of temp strings for the list
2010-01-13 06:29:01 +00:00
Bill Currie
334f12e0cf
fix some problems found by the new qfcc warning :)
2010-01-13 06:27:48 +00:00
Bill Currie
128faf773a
give sprintf a real prototype
2010-01-13 06:25:38 +00:00
Bill Currie
bffd9f208f
more sounds in menus
2007-05-13 05:14:32 +00:00
Bill Currie
66ab41534c
make the menu plist reading more efficient
2007-05-13 04:03:04 +00:00
Bill Currie
d996c364b8
massively speedup savegame scanning (and bump the menu progs memory size again :/)
2007-05-13 03:56:08 +00:00
Bill Currie
72daa2fd2b
add some sounds to the menus (not yet finished)
2007-05-07 12:17:12 +00:00
Bill Currie
eae39106c4
undefine BUILTIN before defining it (boost's preprocessor didn't like that)
2007-04-07 11:31:19 +00:00
Bill Currie
6e77198b6f
handle the new save files properly
2007-03-25 02:01:10 +00:00
Bill Currie
c3bb363fb6
add controls settings (don't know if they work, or are used, but again, don't want to lose it)
2007-02-09 09:25:03 +00:00
Bill Currie
33f08b6a43
add QFS_Open and QFS_WOpen
2006-12-20 12:08:57 +00:00
Bill Currie
de5bf80eb8
release the item after removing it from the array, rather than before
2006-12-20 11:33:40 +00:00
Bill Currie
809ce1fb82
fix some leak issues
2006-12-16 14:00:00 +00:00
Bill Currie
68e7b3199d
add finding elements
2006-12-16 13:59:29 +00:00
Bill Currie
70ec9848e7
add PL_RemoveObjectForKey and make PL_D_AddObject take a normal C string for key instead of a pl string.
2006-12-09 06:00:36 +00:00
Bill Currie
eeca330af2
whitespace
2006-12-02 06:51:41 +00:00
Bill Currie
175ad185c2
don't install main.dat* *taniwha beats snax over the head with a large trout
2005-09-07 00:33:11 +00:00
Bill Currie
e257560174
print a message if menu.plist can't be opened
2005-08-18 00:28:14 +00:00
Bill Currie
b7803030c4
some error handling :)
2005-08-18 00:25:09 +00:00
Bill Currie
ddae3850e8
qf now, for the first time in history, fully passes "make distcheck"
2005-07-16 03:46:11 +00:00
Bill Currie
fa8dfd3767
audio options are now scripted
2005-06-15 02:07:54 +00:00
Bill Currie
91d6607793
bah, forgot the important part of that fix :P
2005-06-15 02:03:50 +00:00
Bill Currie
6e0c70cac7
reduce the amount of memory needed to read menu.plist
2005-06-15 01:41:10 +00:00
Bill Currie
be83a5f5c0
make sure the view being moved from viewlist to group doesn't get freed by
...
accident
2005-06-12 08:38:47 +00:00
Brian Koropoff
fd54b1a245
Scheme: Make apply follow the R5RS standard.
2005-05-10 08:19:15 +00:00
Brian Koropoff
6a9adafa8d
Added support for comments
2005-05-08 21:51:16 +00:00
Brian Koropoff
ed0b29a0a0
Cons now allocates String objects when outputting string form. Added
...
support for begin expressions and tweaked the GC to be more aggressive.
2005-05-08 11:17:44 +00:00
Brian Koropoff
111df712fa
String.[hr] -> SchemeString.[hr], for the sake of case-insensitive
...
filesystems.
2005-05-08 10:43:56 +00:00
Brian Koropoff
86606cc627
Added proper argument number checking to lambdas, a bunch more builtins,
...
a few misc optimizations.
2005-05-08 10:37:57 +00:00
Brian Koropoff
2ebd2e0c2a
Scheme: The lexer now actually supports true/false constants.
2005-05-08 10:14:27 +00:00
Brian Koropoff
e8680d792e
Added runtime error checking and line number tracking. Seems to catch most
...
Scheme program errors without making Rua abort now, although there are a
few things that still need to actually report errors instead of failing
in weird ways.
2005-05-08 06:38:01 +00:00
Brian Koropoff
bc73af37f2
Scheme: Added letrec, first-class continuations, and tuned the garbage
...
collector a bit.
2005-05-08 03:44:18 +00:00
Bill Currie
69bf8f3941
wow, when I screw up... :)
...
fix the broken bindings menus
2005-05-07 08:28:44 +00:00
Brian Koropoff
adba6b26dc
Scheme updates:
...
- Boolean type (no support in lexer yet)
- Conditionals
- Defines (only work correctly at top level)
- More core builtins (apply, cons, car, cdr)
- Variable-argument functions
- Incremental garbage collection
- Garbage collection fixes
- Other misc bugs fixed
2005-05-06 23:25:06 +00:00
Brian Koropoff
5378a850b4
Bug fixes: initializes properly, releases overwritten elements, doesn't
...
try to free null pointers
2005-05-06 23:06:50 +00:00
Bill Currie
5ee4ec8421
Array now requires its elements to be Objects
2005-05-02 06:29:44 +00:00
Brian Koropoff
256630c84d
Added proper error checking and reporting with line numbers. Next:
...
Runtime errors and support for line number reporting with the error.
2005-05-02 04:58:22 +00:00
Brian Koropoff
438073e110
Bug fixes, plus a first stab at the garbage collector. It *seems* to work
...
properly so far.
2005-05-02 02:33:44 +00:00
Brian Koropoff
5130545c72
Array now properly retains/releases objects it stores.
2005-05-02 02:32:03 +00:00
Bill Currie
0213efb331
sv_recorder seems to be ready for qtv :)
2005-05-02 00:45:25 +00:00
Brian Koropoff
281b683e14
Initial commit of a future partial implementation of the R5RS Scheme
...
standard, implemented in Ruamoko. Currently works for a few simple
"Hello, world!" programs.
2005-05-01 11:48:36 +00:00
Bill Currie
a35c33b397
finish ProxyView and get crosshair toggle working properly in the video
...
options menu.
2005-04-24 15:26:30 +00:00
Bill Currie
73e45cc8ee
working on scripted menus; video works
...
dealloc -> release
This is an imperfect revision of history.
2004-11-18 05:08:00 +00:00
Bill Currie
3a7ecf9f31
enable obj_sendv
...
This is an imperfect revision of history.
2004-11-17 21:27:00 +00:00
Bill Currie
96e20d891c
overload str_mid so it has the same semantics as Python's slice operator
...
This is an imperfect revision of history.
2004-11-14 00:53:00 +00:00
Bill Currie
7a217b81cd
add a PropertyList class hierarchy
...
This is an imperfect revision of history.
2004-11-13 01:55:00 +00:00
Bill Currie
f5b22f50e8
and the ruamoko side of entity parsing :) currently disabled for now (just need to uncomment the line in Entity's +load) due to lack of filtering, but as a proof of concept, it works quite well, though I'm not at all happy about the handling of world.
...
This is an imperfect revision of history.
2004-11-12 11:23:00 +00:00
Bill Currie
53f4d13f43
wrap the plist functions
...
This is an imperfect revision of history.
2004-11-11 22:42:00 +00:00
Bill Currie
5ef382d2a7
Add a rua wrapper for scripts (seems, to work, too:). Also added generic resource handle support based on strref handling in pr_strings.c.
...
This is an imperfect revision of history.
2004-11-11 04:06:00 +00:00
Bill Currie
7b4edb2859
it's "dealloc", not "free" (missed name changes from a while back)
...
This is an imperfect revision of history.
2004-11-11 01:31:00 +00:00
Bill Currie
64cc8c60d2
compile time protocol support seems to be complete now. fortunatly, protocols had never been written out so the corrections to the protocol related stuctures do not need a progs version bump. runtime protocol support hasn't been fully tested yet.
...
+load runtime support seems to be working.
This is an imperfect revision of history.
2004-11-11 00:34:00 +00:00
Bill Currie
6ad13faf98
fix a param name oopsie
...
This is an imperfect revision of history.
2004-11-10 04:09:00 +00:00
Bill Currie
a3a2dd62e3
fix type of "self"
...
This is an imperfect revision of history.
2004-11-02 07:13:00 +00:00
Jeff Teunissen
2842f4d4f1
Ruamoko builtin declaration/implementation cleanup/simplification. Incomplete,
...
but working.
2004-04-28 00:42:38 +00:00
Bill Currie
204618da66
make dist fix
2004-04-22 02:49:50 +00:00
Bill Currie
804ba76719
add bindings for the qfs functions
2004-04-20 23:01:54 +00:00
Bill Currie
4afe0c1588
move hash.r and plist.r to libr where they belong
2004-02-25 02:38:15 +00:00
Bill Currie
8069becadf
pkgincludedir and pkglibdir patch from
...
"Alexey I. Froloff" <sir_raorn@immo.ru> (raorn)
2004-02-18 06:28:37 +00:00
Bill Currie
82bc3055bc
oops, needed menu_draw_hud. don't need the state stuff any more, though :)
2004-02-14 05:33:34 +00:00
Bill Currie
c493a82de1
more cleanup
2004-02-14 05:02:25 +00:00
Bill Currie
98ccba65bb
not needed
2004-02-14 04:51:08 +00:00
Bill Currie
1207b44462
whitespace
2004-02-14 04:35:59 +00:00
Bill Currie
790048368d
control options "done"
2004-02-14 04:01:36 +00:00
Bill Currie
3f44dfad1d
control options menu almost done (yay for oo:)
2004-02-14 03:18:53 +00:00
Bill Currie
103299e7e4
rename Cvar_GetCvarString to Cvar_GetString and add
...
Cvar_Set{String,Float,Integer,Vector} and
Cvar_Get{String,Float,Integer,Vector}. use them in the menus
2004-02-14 02:56:29 +00:00
Bill Currie
0e147a7b61
video options "done"
2004-02-14 02:09:18 +00:00
Bill Currie
fec7423cc3
player options are now grouped
2004-02-13 06:42:51 +00:00
Bill Currie
0e34eabbc4
network options are now in a group
2004-02-13 05:49:43 +00:00
Bill Currie
8978d1ca55
make an inputline with a text box behind it
2004-02-13 05:36:35 +00:00
Bill Currie
ac577232db
audio and features options menus are now almost fully object-ized (as
...
close as they're going to get until everything else is)
2004-02-13 02:53:13 +00:00
Bill Currie
e3a393dd52
add Pic and CenterPic views
2004-02-13 02:52:14 +00:00
Bill Currie
e472364f51
call [self init] rather than [super init] (and variants where possible) to
...
ease derived class initialization (all allocation can be done in -init).
Objective-C rocks :)
2004-02-13 02:51:38 +00:00
Bill Currie
de567310fb
fix a typo
2004-02-13 01:21:17 +00:00
Bill Currie
c5789ff620
more object usage
2004-02-13 00:21:51 +00:00
Bill Currie
9f56ee80c6
arg, committed debug code again
2004-02-07 00:10:39 +00:00
Bill Currie
51cd2fc69a
most of the video menu now uses CvarToggle and CvarToggleView (and rename
...
RangeSlider to CvarRangeView)
2004-02-07 00:09:50 +00:00
Bill Currie
f4e0147345
missed Slider.h
2004-02-04 23:26:39 +00:00
Bill Currie
bc6204335a
now all range indicators use the RangeSlider view (need a better name:P)
2004-02-04 07:14:00 +00:00
Bill Currie
c3d99b47a7
in_mouse_amp finally working properly :)
...
forced to move to CMV for the indicator because I ran out of params...
2004-02-04 06:56:53 +00:00
Bill Currie
c43950abd8
autoconvert for function parameters now works :)
2004-02-04 05:49:54 +00:00
Bill Currie
a128d7121b
install the gui headers properly
2004-02-04 05:45:17 +00:00
Bill Currie
892e80938b
that made a royal mess :(
2004-02-04 04:49:46 +00:00
Bill Currie
b2474a2b97
better auto-conversion of function parameters (ugh, this is getting messy
...
:( )
2004-02-04 04:33:08 +00:00
Bill Currie
237027d1ff
moving towards object-ized menus :)
2004-02-04 02:35:57 +00:00
Bill Currie
fb9c3e6125
Object error doesn't return anything...
2004-02-04 00:56:33 +00:00
Bill Currie
c74adc29b0
all slider indicators now use Slider. nuke draw_perc_bar
2004-02-03 13:35:10 +00:00
Bill Currie
0e0f3704c5
correct the math for calculating the position of the slider indicator
2004-02-03 13:33:16 +00:00
Bill Currie
ec26083228
start working on a gui lib with a Slider class. use the slider class for
...
the volume settings. doesn't /quite/ work properly yet
2004-02-03 08:31:26 +00:00
Bill Currie
888ff5f571
make the math functions Grievre provided available
2004-02-03 06:24:43 +00:00
Bill Currie
a4bcf2dab6
hopefully better library arrangement
2004-02-03 06:00:16 +00:00
Bill Currie
1542268d40
use casts rather than ftoi and itof
2004-02-03 05:59:51 +00:00
Bill Currie
73b226b4b7
fix the key bindings menus (invalid strings) and add a music volume knob
2004-01-22 01:33:27 +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
9c92a916ff
change the dict and array add functions to return true/false and add some
...
more docs
2004-01-07 06:19:11 +00:00
Bill Currie
380e397d5b
set all of our static builtin extentions to 0x000fxxxx. fixes the invalid
...
builtin crash in menus
2004-01-07 00:04:07 +00:00
Bill Currie
6f1dd54e99
quick and dirty fix to get menus loading again. libr.a really needs to be
...
cleaned up: most of the stuff in it should /not/ be in the standard library
2004-01-05 09:06:06 +00:00
Bill Currie
8593c1bc53
show_* -> hud_*. Thanks for the headsup, IrcMonkey
2003-09-23 21:49:34 +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
Bill Currie
8b36ae6c00
bunch of bug fixes. rather important part of the bot fixes (oops:)
2003-09-03 01:27:57 +00:00
Bill Currie
7ff9f32706
uncomment some functions that may or may not get implemented
2003-08-23 06:12:10 +00:00
Bill Currie
a48b2dd103
fix some errors picked up by the recent changes to qfcc
2003-08-22 06:34:09 +00:00
Bill Currie
ac330a32c2
remove @extern from definitions
2003-08-20 22:36:35 +00:00
Bill Currie
054d2b61e8
correct the vertical position of the lanconfig menu
2003-08-20 05:43:24 +00:00
Bill Currie
27306a9a2b
correct the prototypes for the hash functions (oops:)
2003-08-19 21:10:19 +00:00
Bill Currie
5a944f4098
add Stack.h
2003-08-03 19:10:12 +00:00
Bill Currie
dd9ab1e050
get unsigned mostly working
2003-08-01 21:20:04 +00:00
Bill Currie
fd15377532
unsigned is partially implemented...
2003-08-01 17:38:52 +00:00
Bill Currie
908a3dab29
fix a bunch of FIXMEs now that qfcc has been fixed for these items
2003-08-01 16:37:44 +00:00
Bill Currie
6ecb707257
revamp the struct system so "struct foo;" does the right thing (ala C)
2003-07-30 04:11:45 +00:00
Bill Currie
da86367824
update for recent changes to Object
2003-07-29 19:55:41 +00:00
Jeff Teunissen
d05f17cdae
Re-add -autorelease to the Object protocol.
2003-07-29 18:23:44 +00:00
Jeff Teunissen
7713a539ca
Okay, y'all...the Ruamoko root class, Object, has been replaced with another
...
class with the same name. This will break things. To support it, there are
three new classes, one of which is incomplete (AutoreleasePool). It'll get
finished soonish, but the rest of the class lib will need some updating to
work.
2003-07-29 18:02:03 +00:00
Bill Currie
f2ad4dea7b
add removeItemAtHead and removeItemAtTail
2003-07-29 17:43:42 +00:00
Bill Currie
ef1b68e697
add a List class
2003-07-29 16:01:35 +00:00
Bill Currie
673f6ba643
add itterators and make -free actually free the Array object
2003-07-24 20:50:40 +00:00
Bill Currie
ba19ee1120
clear the current menu so going to console via the menus doesn't screw
...
things up
2003-06-06 18:57:56 +00:00
Bill Currie
54e8cb1cb2
make dist fix (again:/)
2003-06-04 20:32:10 +00:00
Bill Currie
0c42b0f644
make dist fix
2003-06-04 18:50:54 +00:00
Bill Currie
e8c28cc3f3
fix some incompatable pointer types
2003-05-23 20:12:38 +00:00
Brian Koropoff
c5be2fb501
OK, I think I need caffeine. This time, the Array class is really switched
...
over to using ids.
2003-05-23 04:38:08 +00:00
Brian Koropoff
3205f0f672
Added the HUDAnimation class and GIB bindings to use it, as well as other
...
enhancements and cleanups to the scriptable HUD system.
2003-05-23 04:29:01 +00:00
Brian Koropoff
f9ff908157
Changed the Array class to use object ids instead of null pointers for easy
...
and safe freeing of elements when an Array is disposed.
2003-05-23 04:27:30 +00:00
Brian Koropoff
dcf1bcf141
HUD interface leak fixes and enhancements. Something is still leaking
...
memory, though.
2003-05-15 06:49:10 +00:00
Bill Currie
dedb2fa6bf
get [super ...] working correctly
2003-05-15 05:58:31 +00:00
Brian Koropoff
e160ead563
Added the scriptable HUD interface between the engine, Rua, and GIB.
2003-05-14 21:17:32 +00:00
Brian Koropoff
fe5a62b75a
Fixed an incorrect builtin definition.
2003-05-14 21:12:18 +00:00
Brian Koropoff
cc3f98e99c
Added a removeItem method to the Array Ruamoko class.
2003-05-14 21:11:23 +00:00
Bill Currie
dd39fde9cf
remove a debug print
2003-05-13 19:18:25 +00:00
Bill Currie
8eced18ab2
make dist fix
2003-05-12 15:04:04 +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
6a0b74ca10
detect type mismatches in method declarations and definitions
2003-04-22 15:48:39 +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
5d40d7e8f3
use the correct array for getting the number of elements
2003-04-08 01:34:34 +00:00
Bill Currie
0566bbfb04
fix a snafu
2003-04-08 00:46:10 +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
84ee27f824
bah, still not used to qc needing @extern on functions :P
2003-04-07 21:15:45 +00:00
Bill Currie
7001f1d851
plist api (hope it works:)
2003-04-07 20:02:06 +00:00
Bill Currie
33c9ce0f7b
add hash table api
2003-04-07 16:38:34 +00:00
Bill Currie
8db10ff577
prototype the new Write functions
2003-03-03 16:13:04 +00:00