Commit Graph

472 Commits

Author SHA1 Message Date
Bill Currie 55cc0f9206 Bring back the unsigned type (PROGS version bump)
This is only low-level support (the unsigned keyword still does not work),
but sufficient to make switch statements using jump tables work.
2011-04-09 10:07:47 +09:00
Bill Currie b0d1e782ee Treat allocating less than 1 byte as an error. 2011-03-24 11:10:08 +09:00
Bill Currie 025c39cc02 Ensure stdout is flushed in the progs signal_hook() 2011-03-20 13:35:59 +09:00
Bill Currie 104c29e4da Avoid a segfault when the called function is invalid.
This is most likely to occur when dumping code from qfo files with external
functions.
2011-03-20 13:35:12 +09:00
Bill Currie f20424afe5 Make "bad type" output more useful.
Print the four (assumes non-v6) values in hex rather than "bad type".
2011-03-17 20:35:14 +09:00
Bill Currie ebfbd7c358 Disable the unsigned comparison instructions.
They need unsigned support, or special treatment, so they have to wait.
2011-03-17 20:33:38 +09:00
Bill Currie bce3935ea6 Add a void address instruction. 2011-03-10 19:28:03 +09:00
Bill Currie 90de6b0499 Add a movepi instruction to support indirect moves of fixed size. 2011-03-09 10:29:24 +09:00
Bill Currie 18005cc80d Rename move to movei. 2011-03-09 10:28:40 +09:00
Bill Currie 6c4563b21d Change movep's name from <MOVE> to <MOVEP>. 2011-03-09 10:25:20 +09:00
Bill Currie 4432bc0bef Make the offset in zone dumps more useful. 2011-03-08 22:44:56 +09:00
Bill Currie 5b8345eecb Do not try to print values from null entities. 2011-03-07 08:28:20 +09:00
Bill Currie 3b8a3f8302 Remove the vector component skip code from param searches.
Local defs no longer contain the vector comonents.
2011-03-06 21:02:29 +09:00
Bill Currie 4794d66f42 Change jumpb's opa type to integer.
I'm not 100% certain this is correct...
2011-03-03 19:06:17 +09:00
Bill Currie 57f735c99c Avoid another segfault when debugging. 2011-02-15 15:33:18 +09:00
Bill Currie 52010b8f7b Do not segfault with bogus debug info. 2011-02-14 23:10:45 +09:00
Bill Currie 55b7f6eee4 Avoid another segfault when debugging. 2011-02-09 10:13:08 +09:00
Bill Currie de33cd6017 Ensure auxfunction_map is properly initialized. 2011-02-09 08:28:20 +09:00
Bill Currie f72d6d6a27 Fix a typo in the opname for integer modulo. 2011-01-27 21:03:11 +09:00
Bill Currie 3c9991364b Add a "void return" instruction.
I got fed up with always having to explicty return something.
2011-01-13 00:29:56 +09:00
Bill Currie 6650b35201 Make PR_Get_Param_Def aware of @args. 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 a85c0713aa Nuke libQFbuiltins.
The gib and "common" builtins are now part of libQFruamoko.
2011-01-04 21:21:19 +09:00
Bill Currie 8e557e81b6 Break out the guts of Ed_LoadFromFile into ED_Parse.
ED_Parse does not support progs privided parsing (at this stage, anyway),
but this will allow clients to easily get at the entities in a map.
2010-12-10 17:17:29 +09:00
Bill Currie 8c4fe2f844 Rename Sys_DPrintf to Sys_MaskPrintf.
We now have finer runtime control over what gets printed. Need to do a
SYS_DEV audit, creating new masks as apropriate.
2010-11-26 16:19:26 +09:00
Bill Currie fc2a6e0fb7 Don't be so spammy with file errors.
Record a file even if it could not be found. This way, the error message
gets printed once per file rather than every time.
2010-11-24 17:01:18 +09:00
Bill Currie 3309f483b6 Don't require pr_boundscheck for quoth.
I don't know about other FTEqcc compiled progs, but quoth doesn't try to do
anything clever (all its denormals are either vars of the wrong type, or
-0.0).
2010-11-20 14:12:40 +09:00
Bill Currie 9d6fd32206 Ensure the the progs data is aligned.
Some QuakeC compilers (eg, FTE) insert a data chunk between the progs
header and the rest of the progs data. Unfortunately, FTE does not maintain
the assumed 32-bit alignment.
2010-11-20 09:02:56 +09:00
Bill Currie 2f504709dd Print data being loaded from an entity. 2010-11-20 00:31:34 +09:00
Bill Currie f63e505c92 Don't realloc the string pointer table.
This causes a bit of memory waste, but avoids breaking the pointers in the
string hash table.
2010-11-14 19:21:16 +09:00
Bill Currie e6b783a616 Don't touch the watchpoint conditional when printing. 2010-11-13 14:36:33 +09:00
Bill Currie 0dfff8fd58 ignore stuff 2010-08-07 10:42:09 +00:00
Bill Currie c1b12ed6ec fix a couple of gcc 4.5 issues that Despair pointed out (I don't have it yet) 2010-05-27 12:21:50 +00:00
Bill Currie 7827086b54 make sure we actually have a stack frame 2010-01-13 06:42:59 +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 0a203c0ab5 qccx (etc) "integer" autodetection.
Check for usage of denormal floats and if found, either bail with a
descriptive error message or give a mild warning that things will probably
break. This avoids the possibility of things like RuneQuake getting "lucky"
and doing real harm, and certainly avoids the segfaults.
2010-01-13 06:36:54 +00:00
Bill Currie 00e590f5f5 Really nail down the args param in rua_obj_msg_sendv(). 2010-01-13 06:36:16 +00:00
Bill Currie 5c788d8d44 state.f is not an id instruction 2010-01-13 06:30:07 +00:00
Bill Currie e0d669590c plug a memory leak
the progs memory was never being freed between maps because the pointer was
being cleared at the start of PR_LoadProgsFile.
2010-01-13 06:27:19 +00:00
Bill Currie 5d6977288f implement bounds checking on all opcodes 2010-01-13 06:19:50 +00:00
Bill Currie 4a7b8f8246 don't look up aux function info when we don't have it 2009-12-21 14:07:43 +00:00
Bill Currie fe95805d86 various gcc 4.3 fixes 2008-07-19 05:40:57 +00:00
Bill Currie 2b81eaea6c console.h include cleanup 2007-11-06 12:40:38 +00:00
Bill Currie c04d9ef8c2 plug a potential (though unlikely) memory leak 2007-10-13 11:32:10 +00:00
Bill Currie 3e50aae01f "print" command for dumping values in the progs and add return type info to the debugging information 2007-09-15 07:47:31 +00:00
Bill Currie ca0bbd909c correctly save and restore the parameters when calling +initialize. fixes the segfault in the qwaq test. 2007-06-09 13:44:06 +00:00
Bill Currie 4973a38cce speed up PF_VarString a little 2007-06-09 09:43:21 +00:00
Bill Currie 4d86c40113 handle float conditionals 2007-05-08 03:20:15 +00:00
Bill Currie 57bd43fc52 make the watchpoint (optionally) conditional 2007-05-08 02:25:01 +00:00
Bill Currie fe4a4a9e55 "hardware" (haha) watch points (one!) in progs. only catches changes done by progs, and the expression parser is as flaky as anything, but it's better than nothing :) 2007-05-08 02:04:47 +00:00