Commit graph

578 commits

Author SHA1 Message Date
Christoph Oelckers
584147b8bb - removed all occurences of FVector2 and FVector3 from the playsim code. 2016-02-11 20:01:12 +01:00
Christoph Oelckers
1c0cd16d3f - fixed: AActor::SetState must restore the 'state' member to the actual calling state after it detected OF_StateChanged.
This is needed to decide how the '####' and '----' placeholders should behave.
2016-02-10 18:13:20 +01:00
Randy Heit
8d159b8506 Add OF_StateChanged handling to NoDelay 2016-02-08 22:11:42 -06:00
Christoph Oelckers
c940c2ba81 - fixed: The counters for the whirlwind were initialized too late, the first time they are needed is in P_CheckMissileSpawn, which gets called from inside P_SpawnMissile. Also took the opportunity and moved them to properties that are accessible from DECORATE. 2016-02-08 13:34:54 +01:00
Christoph Oelckers
43b4d452db Merge branch 'ChaseThresholdScript' of https://github.com/MajorCooke/zdoom
# Conflicts:
#	src/version.h
2016-02-08 13:06:08 +01:00
MajorCooke
35b7a5ccc1 Updated for scripting branch merge. 2016-02-04 22:41:02 -06:00
Christoph Oelckers
0b7a06c714 Merge branch 'NewEESpecials'
# Conflicts:
#	src/fragglescript/t_fs.h
2016-02-05 01:01:39 +01:00
Randy Heit
b3b0886b64 Merge branch 'scripting'
Conflicts:
	src/actor.h
	src/g_doom/a_doomweaps.cpp
	src/g_hexen/a_blastradius.cpp
	src/p_enemy.cpp
	src/p_enemy.h
	src/thingdef/thingdef.h
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/constants.txt
2016-02-04 15:17:22 -06:00
MajorCooke
a1c1de9edb Fixed merge conflicts. 2016-02-02 18:26:20 -06:00
alexey.lysiuk
6166520b33 Do not respawn on damaging floors when sv_samespawnspot is enabled
See http://forum.zdoom.org/viewtopic.php?t=47191
2016-01-30 12:50:19 +02:00
Christoph Oelckers
c6c15fe83c - fixed: AActor::SpawnPoint[2] must store the actor's height above the sector's floor, not above floorz. floorz will represent the current floor the actor is standing on, which may be a 3D floor or a 3D midtexture, but both respawn functions which use this value work from the actual sector floor. 2016-01-29 13:40:37 +01:00
Christoph Oelckers
7b5a77a8d8 - added various action specials and parameter extensions defined by Eternity Engine.
The reason for defining them is to be able to fill out the Eternity translation table for GZDoom's Extradata parser.
Most of the new specials are mere specializations of ZDoom's Generic_* functions and occupy positions above 255 to avoid filling up the last remaining free slots available for Hexen format maps.
Allowing action specials greater than 255 required a few changes:
 * all access to action specials is now through a small set of access functions.
 * Two new PCodes were added to ACC to handle these new specials from scripts.
 * a minor change to the network protocol, so netgame  and demo version numbers were bumped.
 * FS_Execute is now properly defined in p_lnspec.cpp.
Two of the newly added specials - generalizations of the special 'close Door in 30 seconds' and 'raise door in 5 minutes' sector types, will also be available to Hexen format maps. The rest are limited to use in ACS, UDMF and DECORATE.
This also adds 'change' and 'crush' parameters to most Floor_* and Ceiling_* specials, again to match Eternity's feature set.
2016-01-25 18:49:56 +01:00
Braden Obrzut
88a616da75 - Removed what appears to be a debug breakpoint.
- Cleared some GCC and Clang warnings. Mostly static analysis false positives, but one of them generated a pretty massive warning in a release build.
- Use -Wno-unused-result since I doubt we're going to address those unless they actually prove to be a problem (and they only appear in release builds).
2016-01-23 19:36:13 -05:00
Christoph Oelckers
c4377b7039 - removed the implicit fixedvec -> TVector conversions because they caused too many problems. Also reviewed all uses of these and made the necessary adjustments. Problems were present in P_SpawnMissileXYZ and P_Thing_Projectile.
- replaced some single precision float math with doubles.
2016-01-23 20:44:33 +01:00
Randy Heit
c63f65d441 Merge remote-tracking branch 'origin/master' into scripting
Conflicts:
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/constants.txt
2016-01-22 20:53:27 -06:00
MajorCooke
88f96950b5 Projectiles should set their z to floor, not add it. 2016-01-22 11:47:41 -06:00
Christoph Oelckers
f4f7bd5d34 - fixed a double/fixed_t mixup in P_SeekerMissile 2016-01-22 18:24:15 +01:00
Edward Richardson
2dff9a743c Fixed Z-Velocity movement for MF5_NOINTERACTION 2016-01-22 22:26:21 +13:00
Christoph Oelckers
c78344c19d Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/p_user.cpp
	src/thingdef/thingdef_expression.cpp
2016-01-20 15:16:06 +01:00
Christoph Oelckers
68c0f929dc - refactoring complete. The source compiles again with the renamed position variable. 2016-01-20 15:12:51 +01:00
Christoph Oelckers
4b9647e539 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_hexen/a_hexenspecialdecs.cpp
	src/g_strife/a_thingstoblowup.cpp
	src/thingdef/thingdef_codeptr.cpp
2016-01-20 11:45:57 +01:00
Christoph Oelckers
e9b23cf833 - keep evaluation order of Random() calls defined. 2016-01-20 09:25:30 +01:00
Christoph Oelckers
7ea3e49332 - refactored p_mobj.cpp and the first half of p_map.cpp. 2016-01-20 01:48:57 +01:00
Christoph Oelckers
bf747075e8 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_hexen/a_clericstaff.cpp
	src/p_enemy.cpp
	src/p_interaction.cpp
	src/p_local.h
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:57:55 +01:00
Christoph Oelckers
fbaab5044d Merge commit '38df0665e3a2018cf1d0028a36357df6c7e908e9' into scripting
Conflicts:
	src/d_dehacked.cpp
	src/decallib.cpp
	src/g_hexen/a_clericstaff.cpp
	src/p_interaction.cpp
	src/p_local.h
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/constants.txt
	wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:50:34 +01:00
Christoph Oelckers
5207aa6cc0 Merge commit '125afcf3defb901e23bd44d32fa86681ef1748f6' into scripting
Conflicts:
	src/p_local.h
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:09:05 +01:00
Christoph Oelckers
87689d3ba6 - global search&replace of ZatPoint calls with commonly named actor variables. 2016-01-17 14:08:20 +01:00
Christoph Oelckers
867b7767ef - ignore COMPAT_POINTONSIDE in a few places where the side effects of the old P_PointOn*Side functions are either not needed or problematic:
* the sight checking code needs to be as precise as possible and should not depend on some old semi-broken routines. (This is more a precision issue of these routines - P_PointOnDivlineSide removes the lower 8 bits of each value - than having an issue with returning the wrong side in some cases.)
 * for slope creations it is flat out wrong to use the old routines at all.
 * also ignore this in the modern (box-shaped) case of FPathTraverse::AddLineIntercepts. This functionality is new to ZDoom and therefore not subject to compatibility concerns.
 * the line-to-line teleporter. It seems the hideous fudging code was just there to work around the design issues of these functions, so let's better not ever call them here in the first place.
 * A_PainShootSkull: Its usage here does not depend on these issues.
 * P_ExplodeMissile: New code exclusive to ZDoom.
 * FPolyObj::CheckMobjBlocking

All occurences in p_map.cpp have been left alone although most of them probably won't need the compatibility option either.
2016-01-15 12:56:27 +01:00
Christoph Oelckers
2c0f64cf9f - refactoring of R_PointToAngle2 when used to calculate direction between two actors. 2016-01-10 20:46:26 +01:00
Christoph Oelckers
1e2ce9a622 - some refactoring of P_AproxDistance calls into newly defined AActor method AproxDistance.
The main reason here is to reduce the number of instances where AActor::x and AActor::y are being referenced.
2016-01-10 17:52:41 +01:00
Christoph Oelckers
23cfd29dbb - let's save the terrain properties as names so that they survive a change in the definition files. 2016-01-09 12:28:42 +01:00
Christoph Oelckers
71c7f2b42c - added 'floorterrain' and 'ceilingterrain' sector properties for UDMF. These will take precedence over texture based terrain if used.
'ceilingterrain' is needed because the top of 3D-floors refers to the model sector's ceiling, so in order to give a 3D floor a terrain it must be assignable to the sector's ceiling.
Note that although it is basically the same property, its actual function bears no relevance to its use in Eternity.
2016-01-09 12:10:36 +01:00
Christoph Oelckers
eafa394af4 - re-added and fixed terrain splashes for damaging sectors.
Turned out that P_HitWater wasn't even able to spawn the splashes, even after the call was re-added.
2016-01-06 16:42:21 +01:00
Christoph Oelckers
eb6c855a95 - handle intermediate special values in thinkers. They also need to take care of the related damage variables and flags. 2016-01-06 13:30:28 +01:00
Christoph Oelckers
bd8513c063 - made sector_t::damageamount an int so that it can hold TELEFRAG_DAMAGE.
- marked all places where sector_t::special needs to be addressed for the damage overhaul.

NOTE: This commit will not compile!
2016-01-06 12:56:35 +01:00
Christoph Oelckers
bd95c5eadf - fixed: the ambient sound things need both the args from the DoomEdNum mapping and the actual map. 2016-01-04 11:52:07 +01:00
Christoph Oelckers
9bfd676783 - allow setting the FloatbobPhase through UDMF. 2015-11-29 11:28:26 +01:00
Edoardo Prezioso
6678c3550e - Improve the TFlags code and fix the new errors.
The previous version didn't detect some real mistakes in code which used operator& with the wrong flagset (for now 'converted' to the correcly equivalent counterpart, waiting for the proper fix).
2015-10-13 00:30:06 +02:00
MajorCooke
75100d76fb - Added Threshold Manipulation.
- Added 'threshold' and 'defthreshold' to DECORATE expression exposure.
- ChaseThreshold sets the default threshold for how long a monster must chase one target before it can switch targets. Default is 100, must not be negative.
- A_SetChaseThreshold can be used to alter the current or default threshold of an actor <pointer>.
- Changing current threshold has no effect on what the default will be once it hits 0 and something makes it infight with another.
2015-10-12 11:06:55 -05:00
Xaser Acheron
8948f5dc2b Added FPF_NOAUTOAIM to A_FireCustomMissile 2015-09-08 10:40:21 -05:00
Christoph Oelckers
7ba577e1b0 Merge branch 'master' into scripting
Conflicts:
	src/g_heretic/a_hereticweaps.cpp
	src/thingdef/thingdef_codeptr.cpp
2015-06-07 09:43:54 +02:00
Christoph Oelckers
4444d3c0c5 - removed the _3DFLOOR #define because we really do not want to comment this out anymore, right? 2015-06-07 09:41:44 +02:00
Edoardo Prezioso
4546df7dc3 - Fixed SetActorPitch and ChangeActorPitch issue.
The code did not take into account the player's limited pitch.
2015-05-28 00:41:07 +02:00
Christoph Oelckers
1b29c3b6cf Merge branch 'master' into scripting
Conflicts:
	src/p_interaction.cpp
	tools/lemon/lemon.c
2015-04-30 16:13:32 +02:00
Edoardo Prezioso
cda4fece1b - Fixed compiler errors and warnings from TFlags. 2015-04-30 12:35:29 +02:00
Christoph Oelckers
5f1c4d157c Merge branch 'master' into scripting
Conflicts:
	src/g_shared/a_sharedglobal.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_data.cpp
2015-04-30 12:30:36 +02:00
Christoph Oelckers
84351419a3 Merge branch 'master' of https://github.com/crimsondusk/zdoom
Conflicts:
	src/actor.h
2015-04-30 10:03:50 +02:00
coelckers
c2e91293d2 Merge pull request #310 from MajorCooke/telefogfix
- Allow teleport fogs to set the teleporting actors as their targets, so...
2015-04-30 09:02:10 +02:00
Christoph Oelckers
646c135eff Merge branch 'master' into scripting
Conflicts:
	src/m_cheat.cpp
	src/p_acs.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_properties.cpp
2015-04-28 23:04:10 +02:00
Edoardo Prezioso
b51fac344d Little TakeInventory refactoring.
Introduce AActor::TakeInventory, which unifies DoTakeInv from ACS and DoTakeInventory from Decorate, and AInventory::DepleteOrDestroy, which is extracted from the DoTakeInv core function, and use both where they're needed.
I don't know if the differences between DoTakeInv and DoTakeInventory were intentional, so I kept both behaviors.
2015-04-28 15:45:11 +02:00