Commit graph

293 commits

Author SHA1 Message Date
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