Commit graph

304 commits

Author SHA1 Message Date
Randy Heit
4c6edd5e58 Add script array support to ZDoom 2014-07-28 21:02:20 -05:00
Braden Obrzut
84cb49b074 - Fixed: Legacy render style array was in the wrong order. 2014-07-16 19:19:20 -04:00
Christoph Oelckers
400a573e65 - fixed: ACS's LineAttack function with a valid tid still used the activator as the attack's source. 2014-07-13 09:12:46 +02:00
Christoph Oelckers
25f4af734f - fixed: ACS's check...Texture functions must use the same search flags as the texture initialization code in p_setup.cpp and p_udmf.cpp. It also should not create textures that don't exist yet. We are only doing a comparison so it's not relevant if the texture exists or not. 2014-05-16 10:56:23 +02:00
Christoph Oelckers
a375454474 - removed 8 character limit for map names. 2014-05-14 00:52:16 +02:00
Christoph Oelckers
24886b6734 - removed the last static character arrays from FLevelLocals. 2014-05-13 23:16:13 +02:00
Christoph Oelckers
30f57c0b8e - added new renderstyles AddStencil and AddShaded. 2014-05-13 21:16:06 +02:00
Christoph Oelckers
65e8563cf4 replaced all character arrays for lump/texture names in the level_info_t and FLevelLocals structures with FStrings as first preparation for allowing long texture names. 2014-05-13 11:33:59 +02:00
Christoph Oelckers
2223c12938 - added new ChangeActorAngle/ChangeActorPitch ACS functions because the new required 'interpolate' parameter cannot be added to the existing SetActorAngle/SetActorPitch functions without breaking old scripts. 2014-05-08 09:43:58 +02:00
Christoph Oelckers
63a0e01c6a Merge branch 'interpview_optin' 2014-05-08 09:17:00 +02:00
Christoph Oelckers
67ebbe3ed4 made some changes to turn the CF_INTERPVIEW flag when changing angles into an op-in feature instead of making it automatic. 2014-05-08 09:15:56 +02:00
Gaerzi
265917c923 Add shadow and subtract styles to ACS.
There is a matching pull request for rheit/acs.
2014-04-22 13:31:55 +02:00
Edward Richardson
ca93e04de3 Added GetActorPowerupTics ACS function 2014-04-07 23:23:55 +12:00
Randy Heit
940794929c Remove more VC++ warnings 2014-04-03 17:51:15 -05:00
Christoph Oelckers
a9bea7d774 Merge branch 'getsectorz_take2' of https://github.com/crimsondusk/zdoom 2014-03-31 19:12:47 +02:00
Christoph Oelckers
edcc257667 fixed: APROP_StencilColor was not implemented for CheckActorProperty. 2014-03-31 16:39:34 +02:00
crimsondusk
d7a2435703 - the ACS functions GetSectorFloorZ and GetSectorCeilingZ now interpret tag=0 as 'any sector' and return the z height of whatever sector is at those coordinates. 2014-03-27 16:34:32 +02:00
Edward Richardson
697ef02871 Added StencilColor to Set/GetActorProperty 2014-03-28 00:23:12 +13:00
Randy Heit
3cff307e77 Add Get/SetLineActivation ACS functions 2014-02-04 19:53:10 -06:00
Christoph Oelckers
af3e619232 Merge branch 'uniquetid_overflow_fix' of https://github.com/edward-san/zdoom 2014-01-16 11:38:53 +01:00
Edoardo Prezioso
2501dc6df6 Fixed signed overflow issue, which caused a non-intended aggressive optimization by GCC 4.8. Also, negative values of the 'limit' parameter in both ACS UniqueTID() and in 'utid' CCMD are ignored and replaced by 0. 2014-01-13 01:48:31 +01:00
Braden Obrzut
d8ff4ec281 - Fixed: All clang 5.0 warnings.
- Renamed autostart/autozend since Xcode’s build process links in strictly alphabetical order.
2014-01-05 19:50:09 -05:00
Braden Obrzut
5904df7f56 Merge branch 'maint' 2013-12-13 03:05:06 -05:00
Braden Obrzut
10c312f55c - Silence GCC PCD_PRINTBINARY warning since we've been able to since GCC 4.6. 2013-12-13 02:51:15 -05:00
Randy Heit
1f723c10ae Add CF_INTERPVIEW for players.
- Added CF_INTERPVIEW flag for players. A_SetPitch/A_SetAngle and the
  similar ACS APROPs set this when changing an angle. This forces the
  renderer to interpolate the view angles instead of updating with the
  latest mouse positions. The effect lasts one tick.
2013-10-09 21:50:24 -05:00
Randy Heit
33ee8f9fef Merge branch 'maint' 2013-08-29 22:27:49 -05:00
Randy Heit
0f0d9da839 Reset FirstFreeEntry in ACSStringPool::ReadStrings()
- Fixed: When an ACS string pool was read from a savegame, FirstFreeEntry
  would not be updatedt, except by the Clear() function. This left FirstFreeEntry
  at 0, which meant the next string added to the pool would always go in
  slot 0, whether it was free or not.
2013-08-29 22:22:30 -05:00
Randy Heit
7143ae49e1 Fixed: CheckPlayerCamera not sync safe
-  If a player is spying through another player, CheckPlayerCamera will
   return the TID of the player you are "spying", but as coopspy isn't a
   net command, this wont be reflected by all nodes. So to fix this,
   CheckPlayerCamera now returns -1 if a player's camera is that of any
   player at all. (thanks edward850)
2013-08-29 21:45:37 -05:00
Christoph Oelckers
9ebf345fec Merge branch 'maint' 2013-08-13 08:53:23 +02:00
Christoph Oelckers
1b79f7d956 - fixed chance default for ACS's DropItem. 2013-08-13 08:52:53 +02:00
Christoph Oelckers
61c94648dc - added ACS CheckFlag function. 2013-08-12 22:38:52 +02:00
Christoph Oelckers
1b2d8420bb - DropItem for ACS. 2013-08-11 20:57:53 +02:00
Christoph Oelckers
b187451a71 - added APROP_ViewHeight and APROP_AttackZOffset submission by TheFortuneTeller. 2013-08-09 12:06:51 +02:00
Christoph Oelckers
f3d8790995 Merge branch 'maint' of https://github.com/rheit/zdoom into maint 2013-07-22 22:54:45 +02:00
Christoph Oelckers
cb3275cb40 - added NORANDOMPUFFZ flag for LineAttack - by Blue Shadow. 2013-07-22 22:47:13 +02:00
Braden Obrzut
7723613293 - Fixed: ACS function pointer instructions were not updated when library tag size changed.
- Fixed: undefined sequence compiler warning.
2013-07-22 02:09:46 -04:00
Randy Heit
001ed91fd4 - Fixed: ACS's PlaySound should mask off the flag bits from the channel
before passing it to S_IsActorPlayingSomething().
2013-07-01 22:01:26 -05:00
Randy Heit
902f6647b6 - Added ACS function CheckFont.
SVN r4335 (trunk)
2013-06-06 20:48:57 +00:00
Randy Heit
e32e44209e - Added SpawnDecal ACS function:
int SpawnDecal(int tid, str decalname, int flags, fixed angle, int zoffset, int distance)
  Traces a line from tid's actor until hitting a wall, then creates a decal there. Returns the
  number of decals spawned.
  * tid = Which actor(s) to start the trace at.
  * decalname = Which decal to spawn.
  * flags =
    * SDF_ABSANGLE = Angle parameter is an absolute angle. Otherwise, it's relative to the origin actor's angle.
    * SDF_PERMANENT = Decal ignores cl_maxdecals. Otherwise, it will eventually disappear.
  * angle = Direction in which to search for a wall. Defaults to 0.0.
  * zoffset = Offset from the middle of the origin actor for the Z height of the decal. Defaults to 0.
  * distance = Maximum distance to search for a wall. Defaults to 64.

SVN r4330 (trunk)
2013-06-05 02:15:21 +00:00
Randy Heit
5a00f4b59a - Reduce ACS LineAttack's default range to the standard MISSILERANGE, because making it INT_MAX
seems pretty iffy.

SVN r4329 (trunk)
2013-06-04 02:54:57 +00:00
Randy Heit
e2be8b9e7e - When purging ACS strings, free the strings themselves as well as marking them as free.
- Fixed: ACSStringPool::InsertString()'s overflow check was far too low.
- Fixed: When ACSStringPool::InsertString() triggered a garbage collection, it ignored the
  newly freed space and expanded the array anyway.

SVN r4328 (trunk)
2013-06-04 02:49:07 +00:00
Randy Heit
44a9c75b6b - Added ACS function PlayActorSound. It's functionally equivalent to PlaySound, except instead
of taking an actual sound name as its second parameter, it selects the sound to play based on
  the actor playing the sound and the selector passed as the second parameter.

SVN r4323 (trunk)
2013-06-03 00:09:46 +00:00
Randy Heit
aa40801015 - Fixed: When garbage collecting ACS strings, the active values on the ACS stack also need
to be included in the mark phase.

SVN r4322 (trunk)
2013-06-02 23:58:29 +00:00
Randy Heit
45c1787203 - Fixed: Don't transform map variable string initializers into global string table entries if
they don't really exist in the source string table.

SVN r4321 (trunk)
2013-06-02 23:17:46 +00:00
Randy Heit
1b9c71b252 - Added S_ChangeSoundVolume() to change the volume of an already playing sound, accessible
through the new ACS function SoundVolume.

SVN r4318 (trunk)
2013-06-01 17:46:50 +00:00
Randy Heit
19eb09f9f7 - Added GetActorClass and GetWeapon functions to ACS.
SVN r4316 (trunk)
2013-06-01 17:17:15 +00:00
Randy Heit
e9702fc43d - Clean up excess code around a few calls to SingleActorFromTID(), since that function is already
designed specifically to handle the case where tid is 0.

SVN r4315 (trunk)
2013-06-01 17:13:15 +00:00
Randy Heit
037477a20b - Added more string functions to ACS:
* The standard C functions strcmp and stricmp (aka strcasecmp), which double up as strncmp and strnicmp if you pass a third argument.
  * The BASIC-like functions strleft, strright, and strmid, which extract parts of a string to
    create a new string.

SVN r4313 (trunk)
2013-06-01 17:07:24 +00:00
Randy Heit
26d2d74024 - GetActorProperty now works with the string properties that were formerly restricted to
CheckActorProperty.

SVN r4307 (trunk)
2013-06-01 02:51:14 +00:00
Randy Heit
1a67e6fa5d - Added PlaySound and StopSound functions for ACS. They are mostly analogous to their DECORATE
counterparts except that (1) PlaySound requires you to specify a sound instead of defaulting
  to "weapons/pistol", and (2) StopSound defaults to CHAN_BODY instead of CHAN_VOICE.

SVN r4306 (trunk)
2013-06-01 02:43:36 +00:00