Commit graph

40 commits

Author SHA1 Message Date
Benjamin Berkels
495e6b2142 added new event script type 2014-10-11 16:34:23 -04: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
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
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
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
d189561899 - ACC implementation of strcpy, submitted by FDARI.
SVN r3226 (trunk)
2011-06-13 09:12:56 +00:00
Christoph Oelckers
cb62d422ea - savestring extensions for ACC.
SVN r3203 (trunk)
2011-05-11 22:26:54 +00:00
Randy Heit
e403e82025 ACS update:
- Add clientside script flag for Skulltag support.
- Change GetActorMomX/Y/Z to GetActorVelX/Y/Z.

SVN r1690 (trunk)
2009-06-30 21:03:21 +00:00
Christoph Oelckers
dc777b74f1 - ACC changes for externally definable functions.
SVN r1576 (trunk)
2009-05-11 21:07:27 +00:00
Randy Heit
5ed47e2aa6 - Updated ACC with current Skulltag definitions. (LSPEC6[DIRECT] has become a more useful
GetInvasionWave/GetInvasionState combination, it has a few more line specials, and there
  are several more spawntypes added to zdefs.acs.

SVN r1552 (trunk)
2009-04-18 01:44:46 +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
Randy Heit
43f6244206 - Added "return" script support to ACC.
SVN r741 (trunk)
2008-02-13 02:27:20 +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
Christoph Oelckers
25848cd9b3 - Added another set of ACS inventory functions which take a tid for the actor
and aren't limited to the script's activator.
- Added GetSectorLightLevel(tag), GetActorCeilingZ(tid) and
  SetActorPosition(tid, x, y, z, fog) ACS functions.
- Fixed: First initialization of camera textures should not mark the rendered
  lines as mapped.

SVN r198 (trunk)
2006-06-18 15:49:00 +00:00
Christoph Oelckers
31a9e80ba0 - Added a StartConversation special that allows automatic activation of Strife
dialogs.
- Added Thing_Raise special that allows Arch-Vile like resurrections from scripts
  or DECORATE states.
- Added a RadiusDamageFactor property for actors. This replaces the hard coded
  factor of 0.25 for Hexen's players.
- Added new SpawnProjectile function to ACS. It's the same as Thing_Projectile2
  but the projectile is specified by name, not spawn ID.
- Added MAPINFO option to set the compatibility flags. If this is done these
  explicit settings will take precedence over the compatflags CVAR.

SVN r164 (trunk)
2006-06-03 12:30:11 +00:00
Randy Heit
56f3ff15d8 Initial commit for ACC.
SVN r8 (trunk)
2006-02-24 05:03:04 +00:00