Commit Graph

369 Commits

Author SHA1 Message Date
Bill Currie 971caf553d [qwaq] Add debug output to the command queue
Be sure to redirect stderr or the screen will get messed up
2020-03-06 00:30:11 +09:00
Bill Currie c377b324a1 [qwaq] Add Group and clean up lots of mess
Things are finally doing something again, and getting closer to having a
moveable window.
2020-03-05 15:44:53 +09:00
Bill Currie a4582e526d [cl_menu,scheme] Clean up after tightened pointer checks 2020-03-05 15:02:40 +09:00
Bill Currie 2ddfe2ef07 [libr] Accept void * for performSelector:withObject:
It's up to the receiver what the object should be.
2020-03-05 15:00:42 +09:00
Bill Currie f3236410d0 [qwaq] Make the event system more informative
Doesn't have timestamps at this stage, but otherwise it reflects the
event system I had in my old text UI which was heavily based on
TurboVision. TV is pretty good (after looking at things a bit closer I
found it wasn't as deep as I thought), and better yet, Borland released
it to the public domain 23 years ago! (wish I'd known that).

Anyway, this commit gets something happening on the screen, even though
the current hierarchy is still a mess.
2020-03-04 22:09:40 +09:00
Bill Currie 815ae02121 [qwaq] Allocate enough bytes for the args list
d'oh
2020-03-04 21:17:17 +09:00
Bill Currie d57e05258c [qwaq] Remove now unnecessary union field name
\o/
2020-03-04 19:10:09 +09:00
Bill Currie c58cf2c2d0 [qwaq] Fail at object oriented design 101
This is horrible, doesn't work, isn't really the direction I want to go
(that became apparent while implementing Screen's handleEvent) and
crashes anyway (Array and not-id...)

*sigh*

Still, this does have some good stuff in it, and it pushed qfcc along
some more.
2020-03-03 21:32:19 +09:00
Bill Currie 7976eec2ce [scheme] Clean up a pile of rotten bits 2020-03-03 17:35:14 +09:00
Bill Currie 051a572bcc [build] Dependency checking for all ruamoko code
Including dependency on qfcc itself. Getting automake to chooch the way
I want it to chooch can be a pain in the... see AvE
2020-03-03 17:24:53 +09:00
Bill Currie cdc1f0c5e7 [libr] Treat ruamoko headers as system headers
Now that qfcc actually supports them properly.
2020-03-03 15:24:41 +09:00
Bill Currie bb25057feb [qwaq] Quickly Workaround Access Qualifications
:)
2020-03-03 10:47:34 +09:00
Bill Currie c2138183dd [libr] Initialize SetIterator the right way
I'd written Set.[rh] after the big rewrite so never noticed the access
error.
2020-03-03 10:43:29 +09:00
Bill Currie 50d39d64cb [qwaq] Link against build ruamoko libs, not installed 2020-03-03 09:30:20 +09:00
Bill Currie 679744fc7d [libr] Fix incorrect bounds check on array insert 2020-03-03 00:11:07 +09:00
Bill Currie d91289ea1b [qwaq] Remove unnecessary wrefresh calls 2020-03-02 18:43:27 +09:00
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