Commit graph

320 commits

Author SHA1 Message Date
Christoph Oelckers
84351419a3 Merge branch 'master' of https://github.com/crimsondusk/zdoom
Conflicts:
	src/actor.h
2015-04-30 10:03:50 +02:00
Christoph Oelckers
405fc31e81 Merge branch 'master' of https://github.com/DaZombieKiller/zdoom
Conflicts:
	src/actor.h
2015-04-30 09:14:31 +02:00
Christoph Oelckers
c6fe0835d3 - fixed: The check for unblocking overlapping actors was a bit too lax.
The code never checked the starting position of the move and could be erroneously triggered in rare situations where the distance increased between actors but the hit boxes started overlapping because x or y distance got below the radius.
Changed it so that the code only gets executed when there's already an overlap before the move.
2015-04-27 20:37:01 +02:00
Chronos Ouroboros
6a6836b1e7 Added SpiralOffset to railgun functions. 2015-04-23 15:11:54 -03:00
Teemu Piippo
ca012bc9be - adapted AActor to use TFlags 2015-04-04 19:40:43 +03:00
Christoph Oelckers
0a16855232 - fixed: The assignment to the 'player' variable in P_DamageMobj occured too late, skipping a few cases.
- changed monster unblocking logic to include players as well (i.e. a player being stuck inside another actor is allowed to move away from that other actor.)
2015-04-02 10:05:32 +02:00
Christoph Oelckers
34aeb428a1 - Removed the check for this flag from P_RadiusAttack because MF7_CAUSEPAIN cannot be used for radius attacks. Their logic is too different from regular attacks. 2015-04-01 10:01:48 +02:00
Christoph Oelckers
375c0ac736 - cleanup of damage flag handling in P_RailAttack. 2015-03-27 10:10:22 +01:00
MajorCooke
f161c0c501 - Fixed: Projectile impacts never called P_DamageMobj when damage was 0 without the CAUSEPAIN flag. 2015-03-25 14:19:50 -05:00
Christoph Oelckers
cf579e4c77 - removed unused 'bombvec' variable from P_RadiusAttack. 2015-03-14 13:14:27 +01:00
MajorCooke
9a09fbd7ed Added MTHRUSPECIES support for rails and sprays. 2015-03-12 09:34:25 +01:00
Christoph Oelckers
123da68735 - took out the part of PIT_CheckThing that determines whether a missile should hurt its target and moved it to a separate function.
- fixed: MF7_HARMFRIENDS was checked on the victim of an attack, but needs to be checked on the shooter.
2015-03-02 10:02:49 +01:00
ZzZombo
c4b742ebf0 - Part 2 of the sanity crusade. 2015-02-08 17:03:49 +08:00
Benjamin Moir
6dff8da503 Added +NODECAL and +FORCEDECAL actor flags
Added FHF_NOIMPACTDECAL for LineAttack
2015-01-20 12:05:00 +10:30
Christoph Oelckers
c57cc91d7c - cleaned up the RipLevel logic a bit to be less confusing. 2014-12-31 10:13:15 +01:00
MajorCooke
4ddfd0f46a - Added 3 new properties and 3 functions to control them.
- Rippers will rip through anything with an equivalent ripper level, or if their level is between or on the min and max ranges.
- If no min or max is defined, it simply checks if the monster's ripper level is lower than the missiles.
- Functions: A_SetRipperLevel(int level), A_SetRipMin(int min), A_SetRipMax(int max)
- Properties: RipperLevel, RipLevelMin, and RipLevelMax.
- RipperLevel: Applicable to monsters and projectiles.
- RipLevelMin and RipLevelMax are only useful on monsters.
- By default, all are 0.
2014-12-30 19:59:31 -06:00
MajorCooke
519ff8b7d1 - HITTARGET/MASTER/TRACER now set the puff's pointer(s) within P_SpawnPuff.
- PUFFGETSOWNER, for the sake of compatibility, maintains override for target.
2014-12-27 14:15:54 -06:00
Randy Heit
e0667544d2 Clamp chase_dist and chase_height because integer overflow is a thing. 2014-12-26 15:15:42 -06:00
MajorCooke
62a4945ca4 - Fixed: CAUSEPAIN didn't work with A_Explode calls featuring no damage. 2014-12-23 23:30:00 -06:00
MajorCooke
31ad642843 - HITTARGET, HITMASTER and HITTRACER now apply to actors that bounce off of other actors. 2014-12-19 13:43:24 -06:00
MajorCooke
24f1bfae99 - Need to set it on the puff itself, not the defaults. 2014-12-16 12:48:52 -06:00
MajorCooke
fc05a3bb2f - Added HIT* flag detection for bullet and rail attacks. 2014-12-16 12:37:31 -06:00
MajorCooke
e5340ad637 - Splitting the pull request in half.
- Added THRUREFLECT, MIRRORREFLECT, and AIMREFLECT. All require REFLECTIVE to work.
- THRUREFLECT prevents missiles from changing course if reflected, and takes precedence over all reflective flags.
- MIRRORREFLECT causes missiles to perform a direct 180 turn-around.
- AIMREFLECT turns the missile back to the original shooter, and does not slow the missile down.
2014-12-09 12:09:36 -06:00
Edoardo Prezioso
629f3c1a8a - Oops comment typo. 2014-11-25 19:23:49 +01:00
Edoardo Prezioso
8fbed78c21 - Add new function for the new slope calculations.
Fixed also two MSVC warnings.
2014-11-25 19:15:25 +01:00
Edoardo Prezioso
cc4e66f976 - Fix the division by 0, improve comments.
- Avoid doing the division if the result would be outside the ]0,1<<24[ range:
-- if the numerator is nonpositive, ie <=0, truncate the result to 0,
-- if the numerator is greater or equal than the denominator, the result will be outside the allowed range, hence truncate the result to 1<<24.
-- otherwise, the result will be inside the range. Knowing that the denominator is greater than the numerator, if the numerator has the last 24 bits non zero, the denominator can't be less than 1<<24, hence the denominator won't be truncated to 0.
- Add comment details to help who doesn't know math. Big deal!
2014-11-25 17:02:22 +01:00
Edoardo Prezioso
4b2af7074e - Improve the 64 bit incompatibility patch.
- Reorder the operands. First the numerator, then the denominator :) .
- Add a comment regarding the motivations for this change.
2014-11-16 11:29:16 +01:00
Edward Richardson
9ccb839ae2 Fix slope inconsistency for 64bit
- Fixed: Slope logic would change between 32bit and 64bit due to float
math.
2014-11-16 16:23:15 +13:00
MajorCooke
b54b18c8c5 -Added: CAUSEPAIN. Actors which deal damage (even if 0) while having this flag can cause other actors to trigger pain chances.
-Fixed: ALLOWPAIN should not trigger pain states if the damage is 0, but still allow for infighting to occur.
-Fixed: an unneeded logic call was processing damage modification when it was 0 to begin with.
2014-11-12 14:08:26 -06:00
MajorCooke
71ce4bcf06 - Fixed: Rail attacks didn't properly respect FOILINVUL.
- Added: FOILBUDDHA support for rail attacks.
2014-11-05 23:16:01 -06:00
Christoph Oelckers
6073adbeef - renamed FULLMASS to DONTTHRUST. 2014-10-28 08:40:34 +01:00
MajorCooke
f802d7a44c - Added +FULLMASS.
Actors will be excluded from damage/radius thrusting of all sorts by
explosions or damage of any kind. They will also never deal impact
damage to other enemies, nor will they damage themselves from being too
close to a wall.
2014-10-27 21:35:55 -05:00
Christoph Oelckers
5ac7e4fc38 - added HARMFRIENDS flag. 2014-10-25 00:30:36 +02:00
Christoph Oelckers
e81c404b04 - fixed some bad logic operations. 2014-10-25 00:01:04 +02:00
ChillyDoom
db323643f8 - Renamed FBot to DBot and made it inherit from DThinker.
- Fixed: Bots added by players other than the net arbitrator did not have their skill set.
2014-10-14 19:57:11 +01:00
ChillyDoom
83d84eaae9 - Moved bot related variables from player_t into a new FBot class. 2014-10-13 18:40:25 +01:00
Edward Richardson
53b6e7d4d5 Added silent line teleport prediction
- Allow activation of line teleport specials during prediction
- Moved prediction functions to improve uncapped framerates
2014-09-26 15:48:45 +12:00
GitExl
313b229319 Add PickActor ACS function. 2014-09-21 16:43:17 +02:00
Randy Heit
fefe6aa2c1 Specie -> Species
- specie: money in the form of coins rather than notes
- species: a group of living organisms consisting of similar individuals
  capable of exchanging genes or interbreeding
2014-08-07 22:40:12 -05:00
Leonard2
8c4c011ca2 MTHRUSPECIES on puffs
You were right it's cleaner that way
2014-08-07 18:05:39 +02:00
Leonard2
5400ce1a21 +MTHRUSPECIES on puffs 2014-08-07 15:50:21 +02:00
Randy Heit
4cf468452c Remove slopetype from line_t.
- Recomputing it in the only two places where it's used is trivial, so
  it's basically a waste of space to precompute it.
2014-07-31 19:15:08 -05:00
Randy Heit
ea7ba9dba3 Add per-actor friction
- This is multiplied by the sector's friction.
- This is intentionally not serialized yet, while awaiting feedback.
2014-07-28 23:15:50 -05:00
Edward Richardson
40771d22a5 Player prediction fixes in PIT_CheckThing
Player prediction could end up executing functions for TOUCHY things or
modify velocities when BLASTED, among other things.
2014-03-15 04:15:30 +13:00
Randy Heit
e7f427aa60 Merge branch 'maint' 2014-02-24 19:26:50 -06:00
Randy Heit
a60918f601 Add NoPushWindowCheck compatibility flag
- For maps like xtheateriii that expect non-blocking push lines to
  activate when you are standing on them and run into a completely different
  line, there is now this compatiblity.txt-only flag.
2014-02-24 17:43:28 -06:00
Edward Richardson
662bc7a3ac cl_bloodtype could break playsim sync
Corrected entries were blood would spawn inconsistently because of
cl_bloodtype. Blood now always spawns but is marked invisible according
to cl_bloodtype.
2013-12-01 22:06:48 +13:00
Christoph Oelckers
9c2454eacc Merge branch 'maint' 2013-08-28 11:20:53 +02:00
Christoph Oelckers
26c381224c - removed unused constants in p_map.cpp. 2013-08-28 11:16:30 +02:00
Christoph Oelckers
7a87e08107 - added MF7_ALWAYSTELEFRAG flag that causes an actor to be telefragged by everything that teleports into the same place. 2013-08-13 21:01:14 +02:00