Commit graph

300 commits

Author SHA1 Message Date
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
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
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
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
Bill Currie
b167bc302b fix a segfault when doing backtraces without debug info 2007-05-07 23:10:54 +00:00
Bill Currie
ab5536ef46 strip any trailing whitespace from source lines. strips off trailing \r from dos files :) 2007-04-28 01:40:08 +00:00
Bill Currie
d08e1fe511 make PR_StackTrace visible 2007-04-10 09:45:57 +00:00
Bill Currie
48449a972f fix an uninitialized warning on some versions of gcc 2007-04-10 08:32:58 +00:00
Bill Currie
a66cbb5215 PR_ResolveGlobals needs to be visible 2007-04-09 09:00:40 +00:00