Commit graph

14 commits

Author SHA1 Message Date
Randy Heit
76b8552d4d Enforce #library must be the first thing in an ACS file if it's used 2016-01-28 19:38:56 -06:00
Edoardo Prezioso
925b279bcd - Fixed the 'division by zero' crash in the constant expression parsing. 2015-09-05 23:05:46 +02:00
Benjamin Berkels
7a36703541 event scripts now have three arguments 2014-10-11 16:34:24 -04:00
Benjamin Berkels
495e6b2142 added new event script type 2014-10-11 16:34:23 -04:00
Randy Heit
1bdfee548b Remove dead "language" code from ACC
- This is a feature that never saw the light of day in this form, so get
  rid of its vestigial remnants. (Note that this is NOT the l: print
  formatter that causes the game to look up a string in the LANGUAGE
  lump.)
2014-07-24 15:16:30 -05:00
Randy Heit
ac678ff7b8 Add script/function arrays to ACC
- Script arrays are semantically identical to map arrays: They have fixed
  sizes and can be multidimensional. They can also be initialized, although
  this is just syntactic sugar. e.g.
    int init_array[2] = { 10, 20 }
  produces code identical to:
    int init_array[2];
    init_array[0] = 10;
    init_array[1] = 20;
  Script arrays are also implicitly initialized to 0, just like any other
  variable in ACS.
- Unlike map arrays, they only exist for the life of the script, and each
  script gets its own copy of the array.
- Script arrays exists in a separate space from script variables. I did
  not repeat the bullshittery of map arrays here. (I still have no idea what I
  was thinking when I designed them that way.)
- Each script and function that uses local arrays is recorded with a new
  chunk: SARY for scripts and FARY for functions. The first two bytes are the
  script/function number, and the rest of the chunk consists of four-byte
  integers describing the size (in ints) of each array used by that
  script/function. To determine how many arrays a script/function uses,
  take the chunk length, subtract two, and divide by four.
2014-07-24 14:41:39 -05:00
Randy Heit
6c45d91701 - Fixed: There was no check for accessing an array without filling out all the required dimensions.
SVN r3409 (trunk)
2012-03-08 23:02:57 +00:00
Randy Heit
3386968b3d - Add proper support for line specials that don't fit in a byte.
SVN r3408 (trunk)
2012-03-08 22:24:00 +00:00
Randy Heit
caa7fbc0c4 - Added the -hh switch, which works like the old -h but with an additional message if the scripts
could not be written in a Hexen-compatible manner.
- Fixed logic for Hexen-compatibility errors: pc_NoShrink by itself does not imply -h.


SVN r3407 (trunk)
2012-03-08 22:06:57 +00:00
Braden Obrzut
5c03978cd7 - Removed pcode escalation with -h since the only thing is does is confuse people into thinking the ZDoom ACC is incompatible with Hexen. ACC will now produce an error when the user attempts to use a feature unsupported by the ACS0 bytecode format.
SVN r3403 (trunk)
2012-03-06 01:56:14 +00:00
Randy Heit
14c7636374 - Do not allow scripts to be named "None".
SVN r3391 (trunk)
2012-02-26 02:37:44 +00:00
Randy Heit
8f5f3b7d85 - Bump ACC version to 1.50.
- Finish incomplete commit from last time.

SVN r2421 (trunk)
2010-07-10 00:58:22 +00:00
Christoph Oelckers
d310c2c361 - Added CodeImp's submission for specifying include paths to ACC.
SVN r1292 (trunk)
2008-11-16 19:35:53 +00:00
Randy Heit
56f3ff15d8 Initial commit for ACC.
SVN r8 (trunk)
2006-02-24 05:03:04 +00:00