Bill Currie
c6483b617c
[qfcc] Remove obsolete notes
...
nil seems to have sorted himself out with the recent reworking of how
qfcc handles nil.
2020-03-27 20:52:37 +09:00
Bill Currie
4d616fab4a
[qfcc] Use the correct statement type for memset
2020-03-27 20:47:42 +09:00
Bill Currie
fdf6fac077
[qfcc] Rewrite expr_nil to use memset if necessary
...
This fixes the problem with returning nil through @param (and probably
structs in general).
2020-03-27 20:32:52 +09:00
Bill Currie
9c556c07bb
[qfcc] Add failing nil return through @param bug
...
I suspect it's general for struts, but nil really is a troubling
character sometimes.
2020-03-27 20:32:52 +09:00
Bill Currie
9e529d1508
[qfcc] Fix some incorrect test runs
...
Checking for float return when should be checking for int return.
Fortunately, the tests still passed.
2020-03-27 20:32:52 +09:00
Bill Currie
09d3e1b59f
[qwaq] Remove extern from function prototypes
...
Yay.
2020-03-27 18:17:24 +09:00
Bill Currie
01cf28e436
[qfcc] Treat C-style function decls as prototypes
...
This removes the need for extern from the declaration.
2020-03-27 18:08:26 +09:00
Bill Currie
643711ef40
[qfcc] Pre-initialize type_object's strct pointer
...
This ensures that pointers to incomplete struct types are not
misidentified as id before the class system has been initialized.
2020-03-27 17:29:42 +09:00
Bill Currie
498dfdbfef
[qfcc] Clean up Obj-QC type struct names
...
I decided that the obj_ tag was unnecessary.
2020-03-27 15:33:53 +09:00
Bill Currie
ab3d91f0c3
[qfcc] Clean up simple type checking
...
All simple type checks are now done using is_* helper functions. This
will help hide the implementation details of the type system from the
rest of the compiler (especially the changes needed for type aliasing).
2020-03-27 15:16:41 +09:00
Bill Currie
8b1e4eea58
[qfcc] Bring back the core of type aliasing
...
No aliasing is done yet, but most of the infrastructure is there again.
2020-03-27 12:27:46 +09:00
Bill Currie
53fd55143e
[qfcc] Fix missed none->basic rename
2020-03-27 12:26:44 +09:00
Bill Currie
75394cc4f8
[gamecode,qfcc] Use enums for type encoding types
...
The enums are forced to 32 bits via bitfield spec, so can't use sizeof
on them, but this makes switch enum checks work in gcc.
2020-03-27 12:24:14 +09:00
Bill Currie
b2de2a9f3b
[qwaq] Display values for simple defs
...
Mostly works, but need to sort out clearing the view without clearing
the window (silly curses and its full-line clears)
2020-03-26 21:01:39 +09:00
Bill Currie
8dcb3fefb3
[qwaq] Offset position when forwardning mvaddstr
2020-03-26 20:31:14 +09:00
Bill Currie
4de2c6b30e
[qfcc] Move alias expr inside call block expression
...
This fixes the trampled return value when the first expression aliases
the return result.
2020-03-26 20:16:52 +09:00
Bill Currie
98eac2afbc
[qfcc] Hide dependency generation commands
2020-03-26 20:16:32 +09:00
Bill Currie
15d4186fff
[qfcc] Show line numbers in block sub expressions
...
Seems more useful than expression index.
2020-03-26 20:15:50 +09:00
Bill Currie
5fd63b95db
[qfcc] Add a new failing test
...
The struct alias is somehow blocking the detection of the call so the
return value gets corrupted.
2020-03-26 19:22:41 +09:00
Bill Currie
adb7b018d9
[qwaq] Improve focus setting
...
The view is recorded as having focus but is not given focus until the
parent view is actually in focus. This fixes the locals view not having
focus at startup and thus blocking F7.
2020-03-26 18:27:02 +09:00
Bill Currie
b2814700b9
[qwaq] Hook up locals view for events
...
The same debugger method is used because the idea is that all the
window in a group respond to the same commands in general.
2020-03-26 18:25:26 +09:00
Bill Currie
bd8d09479f
[qwaq] Start work on displaying local defs
...
The names show for the first function, but there are problems after
that.
2020-03-26 18:25:26 +09:00
Bill Currie
6ec7b96693
[qwaq] Initialize onEvent
...
sigh
2020-03-26 18:25:26 +09:00
Bill Currie
48f41142f5
[qwaq] Add function to get a string from the target
2020-03-26 18:14:20 +09:00
Bill Currie
90d89e8874
[qwaq] Move onEvent into View
...
In the end, it did make sense since it seems to facilitate MVC nicely.
2020-03-26 17:28:38 +09:00
Bill Currie
91c5283af5
[build] Fix ruamoko/gui's auto dependencies
...
Changing str_free's return type highlighted that I'd missed an edit when
I did the big ruamoko build cleanup.
Also silence the sed/mv noise now that things are working nicely.
2020-03-26 16:53:53 +09:00
Bill Currie
45d23ce521
[libr] Add bindings for new string functions
...
And correct str_free's return type.
2020-03-26 16:49:09 +09:00
Bill Currie
58ebbb147d
[ruamoko] Add some new string builtins
...
Wrappers for hold, valid and mutable. I have no idea why I didn't think
of wrapping string validation years ago.
2020-03-26 16:39:21 +09:00
Bill Currie
1586df4dfc
[gamecode] Make it possible to check string mutability
2020-03-26 16:38:09 +09:00
Bill Currie
ec82d6b027
[gamecode] Add support for holding ephemeral strings
...
PR_HoldString converts ephemeral (temp and return) strings to dynamic
strings. This makes dealing with strings in progs a little easier.
2020-03-26 16:36:29 +09:00
Bill Currie
b4874f7d9b
[gamecode] Make PR_FreeString a little more forgiving
...
It treats only strings that are actually invalid as invalid. That is,
now it is safe to "free" a static string: it's just a no-op.
2020-03-26 15:48:04 +09:00
Bill Currie
22e2695f80
[gamecode] Add VISIBLE to some missed functions
2020-03-26 15:36:46 +09:00
Bill Currie
e893421dba
[qwaq] Get context from owner instead of prev view
...
The previous view might be nil, which would result in the new view not
getting a context.
2020-03-26 14:46:48 +09:00
Bill Currie
e018f5cf71
[qwaq] Clean up Editor's event forwarding
...
Much less clunky with that container object. With this, I think it will
be useful moving the forwarding into View. Still unsure on that, though.
2020-03-26 14:16:58 +09:00
Bill Currie
aac732fc63
[qwaq] Support an actual parameter for listeners
2020-03-26 14:16:07 +09:00
Bill Currie
983a7422db
[libr] Add a two-object Array perform method
...
I decided it was worth doing after all. This cleans up event forwarding
in qwaq.
2020-03-26 14:14:04 +09:00
Bill Currie
6e473dc8f2
[ruamoko] Return nil IMP for nil method
...
Fixes a segfault.
2020-03-26 14:13:05 +09:00
Bill Currie
6e74f2a03f
[qwaq] remove @ from externs
...
I had forgotten that extern worked and that @extern was for headers that
might be compiled in traditional or extended modes.
2020-03-26 13:30:33 +09:00
Bill Currie
a28e7417e6
[qwaq] Make traceon and traceoff always available
...
Tired of adding and removing them all the time.
2020-03-26 13:27:53 +09:00
Bill Currie
30b97af65a
[qwaq] Actually send on receive/release focus messages
...
Noticed while tracking down the proxy view switch issue.
2020-03-26 13:21:05 +09:00
Bill Currie
dbb3802740
[qwaq] Transfer context to new view in proxy
...
This fixes the broken source window on file change.
2020-03-26 13:20:10 +09:00
Bill Currie
2d5df34234
[gamecode] Add VM enter/exit events
...
And rename prd_exit to prd_terminate (the idea is the host will
terminate the VM). This makes it possible for the debugger to pause the
VM before any code, even a builtin function, is executed. Breaks the
debugger source window, but only because it's not updating on file
change (I think).
2020-03-26 12:30:32 +09:00
Bill Currie
1bd8e2ee85
[gamecode] Add a param pointer to debug_handler
...
I decided I want events for VM enter/exit but enter needs to somehow
pass the function which will be executed (even if a builtin). A generic
void * param seemed the best idea, which meant the error string could be
passed via the param instead of a "global" string in the progs struct.
2020-03-26 11:44:02 +09:00
Bill Currie
35bb3a3854
[qwaq] Raise windows when clicked
2020-03-26 11:18:00 +09:00
Bill Currie
af0333a172
[qwaq] Ensure super's handleEvent is called
...
This fixes the inability to single-step (debug window couldn't regain
focus).
2020-03-26 11:04:57 +09:00
Bill Currie
1f8301774c
[qwaq] Fix over-consumption of editor events
...
This lets the window scroll again.
2020-03-26 09:19:22 +09:00
Bill Currie
fd73daea4b
[qwaq] Correct mangled params to qwaq_mvwvprintf
2020-03-26 09:11:56 +09:00
Bill Currie
22d173068b
[qwaq] Make a start on a locals viewer
...
It's just a data dump for now. Also, found a bug...
2020-03-26 09:11:39 +09:00
Bill Currie
e579ffcb00
[qwaq] Add functions to get functions by number
2020-03-26 09:03:44 +09:00
Bill Currie
115541877a
[qwaq] Set up an application color palette
...
Nothing special, just all the combinations of the 8 colors
2020-03-26 09:01:39 +09:00