Commit graph

41 commits

Author SHA1 Message Date
Edoardo Prezioso
49f91e214e - Renamed PlayerOnTeam with IsNetworkGame. 2016-06-20 01:39:15 +02:00
Christoph Oelckers
ab65e882d0 - added new PCodes to handle action specials > 255.
- added some new specials and parameters from EE.
2016-01-25 13:06:36 +01:00
Randy Heit
93b84fe5f2 Fixed: scriptarray[i] += x generated &= x instead 2014-07-28 19:52:33 -05:00
Randy Heit
b213a5bae8 Add PCD_GOTOSTACK
- It's not used. It's just there as a placeholder.
2014-07-25 18:10:50 -05: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
fafedb271d Improve error message when using functions in Hexen-compat mode
- When trying to define a function with the -h switch, you previously
  got two error messages on the token following the function, making it
  unclear what the problem was. There is now only one error message at the
  end of the function's parameter list.
2014-07-24 15:00:31 -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
Braden Obrzut
9ae0c430ba - Moved Sqrt, FixedSqrt, and VectorLength to zspecial.acs.
SVN r3889 (trunk)
2012-10-13 22:56:30 +00:00
Randy Heit
7aa5c4d120 - Added sqrt, fixedsqrt, and vectorlength to ACC.
SVN r3884 (trunk)
2012-10-11 03:40:21 +00:00
Randy Heit
9af2df3096 - Added desaturation translation support to ACC. This is the same as the % syntax introduced
by DECORATE. Note that the values in the color range are fixed point numbers. i.e. You must
  use 1.0 and not 1. This is in keeping with the existing convention.

SVN r3879 (trunk)
2012-09-20 02:26:58 +00:00
Randy Heit
72b11c089f - Optimize away PCD_DUP when the preceding instruction is PCD_PUSHBYTE.
- Added NamedScriptWait (PCD_SCRIPTWAITNAMED) and ACS_NamedExecuteWait.

SVN r3755 (trunk)
2012-07-11 03:59:01 +00:00
Randy Heit
32a6f0a5ec - Fixed: Most recent p-codes were missing their names.
SVN r3668 (trunk)
2012-05-31 03:01:25 +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
c99a7cf35e - Added support for named scripts. (Of course, without engine support, it doesn't matter. :)
- Increase the maximum script number from 999 to 32767.
- Only create dummy scripts for scripts WadAuthor's error checker might be interested in: If its
  number doesn't fit in a byte, WadAuthor doesn't need to know about it, because you can't 
  call it directly from a Hexen-format map.

SVN r3358 (trunk)
2012-02-15 00:21:37 +00:00
Christoph Oelckers
cb62d422ea - savestring extensions for ACC.
SVN r3203 (trunk)
2011-05-11 22:26:54 +00:00
Randy Heit
e810579a68 - Better error message for trying to cram too many values into an array.
- Fixed: Array initialization in ACC was incorrect for partial initializers, especially with higher dimensions.

SVN r2416 (trunk)
2010-07-08 22:08:20 +00:00
Christoph Oelckers
dc777b74f1 - ACC changes for externally definable functions.
SVN r1576 (trunk)
2009-05-11 21:07:27 +00:00
Randy Heit
96f9dcd051 - Add x and b casts for ACS printing.
- Add ClassifyActor constants to zdefs.acs.

SVN r1311 (trunk)
2008-12-07 03:59:06 +00:00
Randy Heit
65ed9f744a - Add ClassifyActor pcode to ACC.
SVN r1309 (trunk)
2008-12-07 02:11:38 +00:00
Randy Heit
01c497ff05 - Added GetPlayerInput() support to ACS.
SVN r1214 (trunk)
2008-09-13 02:45:50 +00:00
Christoph Oelckers
78184b3f56 - added ACC 64bit patch from Agent ME.
SVN r1073 (trunk)
2008-07-19 08:01:33 +00:00
Christoph Oelckers
60e1004642 - ACC Changes for morph update.
SVN r988 (trunk)
2008-05-22 19:36:21 +00:00
Christoph Oelckers
0fd2ab850e - ACC psrt of CheckPlayerCamera.
SVN r913 (trunk)
2008-04-15 09:58:39 +00:00
Christoph Oelckers
3a126268a8 - ACC part of ThingCountSector
SVN r829 (trunk)
2008-03-21 12:24:13 +00:00
Christoph Oelckers
dd20e4aaf9 - ACC related parts of SetMugShot addition.
SVN r813 (trunk)
2008-03-19 09:53:57 +00:00
Christoph Oelckers
1a09a82355 - fixed: A_CountdownArg used 0 based indices although all uses of it assumed
it is 1-based.
- added MF5_DONTRIP flag.
- added CheckActorFloorTexture, CheckActorCeilingTexture and
  GetActorLightLevel ACS functions.
- added IF_ADDITIVETIME flag to create powerups that add their duration
  to the one of the currently active item of the same type.
- fixed: bouncecount wasn't decreased when bouncing on walls.
- Added MF5_ALWAYSRESPAWN and MF5_NEVERRESPAWN flags that selectively
  enable or disable monster respawning regardless of skill setting.
- Prettified deprecated flag handling.


SVN r780 (trunk)
2008-03-01 16:59:17 +00:00
Christoph Oelckers
98502afc24 - added UseInventory/UseActorInventory ACS functions.
SVN r636 (trunk)
2007-12-25 08:44:13 +00:00
Randy Heit
d239a69963 Committed ACC changes.
SVN r516 (trunk)
2007-04-22 17:08:17 +00:00
Christoph Oelckers
1e12f4404d - Fixed: In the Doom2 cast finale it was impossible to toggle the console.
- Added APROP_Friendly actor property for ACS.
- Added a new flag, MF2_DONTREFLECT that prevents missiles from being reflected.
- Fixed: ALoreShot::DoSpecialDamage must check whether the shooter is still
  present. If it had been removed before the projectile hits its target
  a crash could occur.
- Fixed: GetPlayerInfo was missing breaks and always returned 0 as a result.
- Added Grubber's submission for printing key bindings in ACS.


SVN r491 (trunk)
2007-02-24 12:09:36 +00:00
Christoph Oelckers
423dc08319 - Added MF5_PIERCEARMOR flag that allows damaging objects that aren't
affected by armor.
- Added an unfreeze CCMD so that frozen players can be unfrozen for testing.
- Added special death states for projectiles hitting actors.
- Added ACS SetActorPitch/GetActorPitch functions.
- Added cameraheight property for actors.


SVN r359 (trunk)
2006-10-22 10:32:41 +00:00
Christoph Oelckers
818083693a - Fixed: PrintAlias passed FString objects directly to Printf.
- Added bitwise not (~) operator to ACS.


SVN r352 (trunk)
2006-10-09 15:55:47 +00:00
Randy Heit
aebf8d6695 - Removed PCD_PRINTCOLOR.
- Updated ReplaceTextures and SectorDamage parameter counts.

SVN r317 (trunk)
2006-09-01 00:47:32 +00:00
Randy Heit
28018a2859 Added PCD_PRINTCOLOR support to ACC.
SVN r305 (trunk)
2006-08-22 21:46:38 +00:00
Randy Heit
911d10c48d Added PCD_SECTORDAMAGE and PCD_REPLACETEXTURES support.
SVN r287 (trunk)
2006-08-12 02:30:14 +00:00
Christoph Oelckers
1685caa03c August 10, 2006 (Changes by Graf Zahl)
- Fixed: CheckActorInventory stored the return value in the wrong address
  on the ACS stack.
- Fixed: Skin sounds weren't properly restored after a SNDINFO reset.
- Added a more flexible ACS ChangeLevel function. It gets passed a level name
  instead of a level number and has several additional options (e.g. changing
  skill, starting the map without monsters and clearing the players' inventories. (UNTESTED!)
- Changed Thing_Activate so that passing a tid of 0 activates the calling actor.
- Changed Thing_Remove so that passing a tid of 0 removes the calling actor.
- Added DECORATE parameters to A_Saw.

SVN r283 (trunk)
2006-08-10 15:28:12 +00:00
Christoph Oelckers
ae59218dba - Added Grubber's GetPlayerInfo ACS function.
SVN r276 (trunk)
2006-07-30 22:56:20 +00:00
Christoph Oelckers
a4879364bb - Added NecroMage's submission for bitwise/shift assignment operators for ACS.
SVN r261 (trunk)
2006-07-16 20:13:24 +00:00
Christoph Oelckers
4c94a58e95 - Generalized Hexen's class-based spawning to be a property of the player class
so now it is available in all games.
- Replaced the call to A_FlameSnd in the HereticPlayer's burn death sequence
  with A_FireScream and defined *burndeath for Heretic.
- Added Grubber's custom player class support.


SVN r250 (trunk)
2006-07-13 10:17:56 +00:00
Christoph Oelckers
4e9a15c606 SVN r241 (trunk) 2006-07-09 20:15:38 +00:00
Randy Heit
56f3ff15d8 Initial commit for ACC.
SVN r8 (trunk)
2006-02-24 05:03:04 +00:00