Commit Graph

178 Commits

Author SHA1 Message Date
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 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
Bill Currie 2c85a3ccc0 Make a start on documenting the gui stuff. 2011-07-10 17:33:43 +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 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 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 896791b209 Correct the spelling of "int" and clean up the mess. 2011-03-25 16:53:04 +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 7b9d70167f Fix some missed language changes. 2011-03-10 20:51:04 +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 1195df9686 Update for the new syntax. 2011-02-13 21:25:36 +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 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 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 0371a825b8 Damn, documented wrong method. 2010-12-11 23:49:48 -05:00
Jeff Teunissen 537915f5bc Ruamoko: Document AutoreleasePool 2010-12-11 23:45:19 -05:00
Jeff Teunissen 180450e785 declare ARP_FreeAllPools() @extern 2010-12-11 23:23:55 -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 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 730082a393 Make Group set its position (and those of its subviews) correctly. 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 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 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 128faf773a give sprintf a real prototype 2010-01-13 06:25:38 +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 33f08b6a43 add QFS_Open and QFS_WOpen 2006-12-20 12:08:57 +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 6e0c70cac7 reduce the amount of memory needed to read menu.plist 2005-06-15 01:41:10 +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
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 8069becadf pkgincludedir and pkglibdir patch from
"Alexey I. Froloff" <sir_raorn@immo.ru> (raorn)
2004-02-18 06:28:37 +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 8978d1ca55 make an inputline with a text box behind it 2004-02-13 05:36:35 +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 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 a128d7121b install the gui headers properly 2004-02-04 05:45:17 +00:00
Bill Currie 237027d1ff moving towards object-ized menus :) 2004-02-04 02:35:57 +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 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 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
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 7ff9f32706 uncomment some functions that may or may not get implemented 2003-08-23 06:12:10 +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
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
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 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
Bill Currie dedb2fa6bf get [super ...] working correctly 2003-05-15 05:58:31 +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 508fb4fb5c new view stuff mostly working. just a few visual bugs to iron out 2003-05-06 02:19:13 +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 13fd0b8533 nuke the string hash api as it's been obsoleted 2003-04-07 22:34:39 +00:00