Commit graph

74 commits

Author SHA1 Message Date
Christoph Oelckers
6adb069506 - rewrote p_local.h so that it doesn't pull in the entire bunch of headers.
This was to resolve some circular dependencies with the portal code.
The most notable changees:

 * FTextureID was moved from textures.h to doomtype.h because it is frequently needed in files that don't want to do anything with actual textures.
 * split off the parts from p_maputl into a separate header.
 * consolidated all blockmap related data into p_blockmap.h
 * split off the polyobject parts into po_man.h
2016-02-15 02:14:34 +01:00
Christoph Oelckers
b5029e0976 - call the native A_BossDeath directly instead of going through the VM-enabled action function.
- undo some formatting screwup in a_clericstaff.cpp.
2016-02-10 13:57:21 +01:00
Christoph Oelckers
bc63b70d88 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/fragglescript/t_func.cpp
	src/g_doom/a_bossbrain.cpp
	src/g_doom/a_revenant.cpp
	src/g_heretic/a_hereticartifacts.cpp
	src/g_heretic/a_hereticweaps.cpp
	src/g_heretic/a_knight.cpp
	src/g_hexen/a_bishop.cpp
	src/g_hexen/a_clericholy.cpp
	src/g_hexen/a_dragon.cpp
	src/g_hexen/a_firedemon.cpp
	src/g_hexen/a_flechette.cpp
	src/g_hexen/a_heresiarch.cpp
	src/g_hexen/a_hexenspecialdecs.cpp
	src/g_hexen/a_iceguy.cpp
	src/g_hexen/a_korax.cpp
	src/g_hexen/a_magelightning.cpp
	src/g_hexen/a_serpent.cpp
	src/g_hexen/a_spike.cpp
	src/g_hexen/a_wraith.cpp
	src/g_raven/a_minotaur.cpp
	src/g_shared/a_bridge.cpp
	src/g_shared/a_pickups.cpp
	src/g_shared/a_randomspawner.cpp
	src/g_strife/a_alienspectres.cpp
	src/g_strife/a_crusader.cpp
	src/g_strife/a_entityboss.cpp
	src/g_strife/a_inquisitor.cpp
	src/g_strife/a_loremaster.cpp
	src/g_strife/a_programmer.cpp
	src/g_strife/a_sentinel.cpp
	src/g_strife/a_spectral.cpp
	src/g_strife/a_strifestuff.cpp
	src/g_strife/a_strifeweapons.cpp
	src/g_strife/a_thingstoblowup.cpp
	src/p_local.h
	src/r_utility.cpp
2016-01-19 13:43:11 +01:00
Christoph Oelckers
27aeb6a656 - g_shared refactored 2016-01-19 13:26:05 +01: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
MajorCooke
43053b89a5 - Set the morphing and unmorphing actor as target for the teleport fog. This will allow for better interactions on what should happen between the morphee without needing to make monster AI needing to search for them in particular or rely upon TIDs. 2015-04-26 10:06:13 -05:00
Teemu Piippo
ca012bc9be - adapted AActor to use TFlags 2015-04-04 19:40:43 +03:00
Randy Heit
775e33ede7 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_doom/a_archvile.cpp
	src/g_shared/a_morph.cpp
	src/p_enemy.h
	src/p_local.h
	src/p_mobj.cpp
	src/sc_man_tokens.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_exp.h
	src/thingdef/thingdef_expression.cpp
	src/thingdef/thingdef_states.cpp
	wadsrc/static/actors/actor.txt
2015-01-29 20:53:08 -06:00
Christoph Oelckers
cef8ae5632 - fixed: The A_BossDeath code in P_MorphedDeath was missing a NULL pointer check. 2014-12-27 19:19:15 +01:00
Randy Heit
b5e4153c78 Merge branch 'master' into gonesolong
Conflicts:
	src/CMakeLists.txt
	src/b_think.cpp
	src/g_doom/a_doomweaps.cpp
	src/g_hexen/a_clericstaff.cpp
	src/g_hexen/a_fighterplayer.cpp
	src/namedef.h
	src/p_enemy.cpp
	src/p_local.h
	src/p_mobj.cpp
	src/p_teleport.cpp
	src/sc_man_tokens.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_function.cpp
	src/thingdef/thingdef_parse.cpp
	wadsrc/static/actors/actor.txt
	wadsrc/static/actors/constants.txt
	wadsrc/static/actors/shared/inventory.txt

- Added register reuse to VMFunctionBuilder for FxPick's code emitter.
- Note to self: Need to reimplement IsPointerEqual and CheckClass, which
  were added to thingdef_function.cpp over the past year, as this file no
  longer exists in this branch.
2014-12-21 21:15:11 -06:00
Christoph Oelckers
cfe97b0f0f - Fixed: Killing a morphed monster must trigger A_BossDeath on its unmorphed self. 2014-10-25 11:33:28 +02:00
Randy Heit
459ad5abff - Updated scripting branch to latest version in trunk.
SVN r4337 (scripting)
2013-06-07 03:31:30 +00:00
Randy Heit
2668988870 - Switched to a genericly extensible representation for userinfo.
- Fixed: The playerinfo CCMD did not range check the player number.

SVN r4253 (trunk)
2013-05-12 18:27:03 +00:00
Randy Heit
c069295f19 - Fixed: When trying to unmorph a monster, make sure the morphed version doesn't have the
TOUCHY flag set, or checking the position of the unmorphed version will kill the morphed
  version, since they will both exist in the same place at the same time, and TOUCHY is
  really touchy about that.

SVN r4219 (trunk)
2013-04-16 20:39:54 +00:00
Randy Heit
2fb64108a7 - Fixed: Monsters with STAYMORPHED set would still unmorph.
SVN r4213 (trunk)
2013-04-09 22:45:20 +00:00
Randy Heit
f7c55c0936 - Do copy a monster's special to its morphed version so that it can be properly restored when
it unmorphs.

SVN r4212 (trunk)
2013-04-09 22:40:27 +00:00
Braden Obrzut
e6f66e3c93 - Fixed: GCC build.
SVN r4165 (trunk)
2013-02-24 17:17:20 +00:00
Randy Heit
1c9396cd6c - Properly transfer powerups between morphed and unmorphed actors by calling EndEffect() on the
powerups before they transfer ownership, then calling InitEffect() on them after they transfer
  ownership.

SVN r4162 (trunk)
2013-02-23 03:25:33 +00:00
Randy Heit
87dbfb68e9 - Fixed: PCD_MORPHACTOR and P_MorphMonster() needed NULL pointer checks.
SVN r4141 (trunk)
2013-02-19 01:51:07 +00:00
Randy Heit
e7efa1d802 - Update to latest version in trunk.
SVN r3890 (scripting)
2012-10-17 04:24:54 +00:00
Randy Heit
ffc4398aa7 - Added a 90 degree offset to all voxels, since Build's compass directions start at north
rather than east.

SVN r3774 (trunk)
2012-07-21 01:34:29 +00:00
Randy Heit
d85604da19 - Update scripting branch to latest version of trunk.
SVN r3767 (scripting)
2012-07-17 02:53:53 +00:00
Randy Heit
a26cd841ae - Fixed: Getting remorphed into a chicken should give you a Tome of Power so that you become a
super chicken. Rawr! The PlayerPawn flag CANSUPERMORPH now enables this.

SVN r3763 (trunk)
2012-07-15 03:10:00 +00:00
Randy Heit
562cf04db2 - Update scripting branch to trunk.
SVN r3758 (scripting)
2012-07-14 03:04:41 +00:00
Randy Heit
e1641da881 - Make APoisonCloud::DoSpecialDamage() and P_PoisonDamage() respect damage factors.
- Pass the damage type to AActor::DoSpecialDamage().

SVN r3717 (trunk)
2012-06-29 04:21:31 +00:00
Christoph Oelckers
3a24790056 - fixed: The newly added checks for printing weapon obituaries failed if the weapon used a puff with a special damage type. To handle this, P_DamageMobj will now pass the damage flags to AActor::Die and from there to ClientObituary so that P_LineAttack - which is a better place to decide this - can flag an attack as coming from a player weapon.
- fixed: The same rules that are used for deciding if a weapon attack took place should be used when checking the PIERCEARMOR flag in P_LineAttack: It should be ignored if the attack doesn't originate from the weapon.

SVN r3649 (trunk)
2012-05-13 07:54:44 +00:00
Randy Heit
1656744827 - Fixed: When PlayerIsGone() destroys a morphed player, it needs to destroy the unmorphed player too.
- Fixed: Destroying a morphed player would try to unmorph the player twice.

SVN r3611 (trunk)
2012-05-01 03:43:14 +00:00
Randy Heit
b4d3870ce6 - When morphing, transfer the score to the new actor, and when unmorphing, transfer the morphed
actor's score back to the old actor.

SVN r3453 (trunk)
2012-03-18 01:56:48 +00:00
Randy Heit
f00f5d2304 - Allow subclasses when checking for PowerWeaponLevel2.
SVN r3314 (trunk)
2011-11-07 00:43:41 +00:00
Christoph Oelckers
163301dcd5 - took all includes of farchive.h out of headers. This file will have to be included explicitly in each source file that needs it.
SVN r3259 (trunk)
2011-07-06 14:20:54 +00:00
Randy Heit
99670b708c - Sync scripting branch with what was in trunk on Sunday. I believe that would be revision 2739.
SVN r2790 (scripting)
2010-09-16 03:14:32 +00:00
Randy Heit
87a7ff7b6d - Add blzut3's morphed status bar patch.
SVN r2283 (trunk)
2010-04-17 02:06:26 +00:00
Randy Heit
06995e26d9 - Be stricter about types accepted by spawning functions.
SVN r2265 (scripting)
2010-04-03 04:07:17 +00:00
Randy Heit
604b5ef673 - Removed the old meta data system. All meta data is now stored in subclasses of PClass. This
should simplify scripting, since it means that meta fields can be treated (mostly) the same as
  normal fields.

SVN r2242 (scripting)
2010-03-25 20:38:00 +00:00
Randy Heit
f88f601230 - Removed the third parameter from dumpclasses when it was restricted it to Actors, because
I have no idea what that was all about.
- Got rid of FActorInfo and merged it into a new PClassActor.

SVN r2240 (scripting)
2010-03-24 02:49:37 +00:00
Christoph Oelckers
9b5c2c81f1 - Added full sound definitions for Heretic's ChickenPlayer and Hexen's
PigPlayer (submitted by NeuralStunner.)
- Added unmorph fix by Gez.


SVN r2056 (trunk)
2009-12-28 22:41:14 +00:00
Christoph Oelckers
d14faa5f98 - fixed: Morph weapons weren't destroyed because the code checked for
them in the unmorphed player class.
- fixed: With padding the largest texture to fit into a page is 254x254.


SVN r2005 (trunk)
2009-11-28 07:46:30 +00:00
Christoph Oelckers
19ef8399a8 - added a NULL pointer check to fog spawning in unmorphing code.
- fixed: frozen corpses need to be treated as solid by z-movement code.
- fixed previous commit.


SVN r1903 (trunk)
2009-10-09 20:18:31 +00:00
Christoph Oelckers
857002e12f - Added Gez's real morph fix.
SVN r1857 (trunk)
2009-09-18 05:46:15 +00:00
Christoph Oelckers
5613c3e14f - Fixed: Unmorphing while invulnerable was blocked.
SVN r1855 (trunk)
2009-09-17 20:58:43 +00:00
Christoph Oelckers
25c0f679cb - Fixed: using custom automap backgrounds crashed.
SVN r1735 (trunk)
2009-07-24 20:25:19 +00:00
Christoph Oelckers
635d71e660 - Added code submissions for non-piercing railguns and new skill options.
SVN r1706 (trunk)
2009-07-04 18:17:44 +00:00
Randy Heit
e4af82ae96 - Enough with this "momentum" garbage. What Doom calls "momentum" is really
velocity, and now it's known as such. The actor variables momx/momy/momz
  are now known as velx/vely/velz, and the ACS functions GetActorMomX/Y/Z
  are now known as GetActorVelX/Y/Z. For compatibility, momx/momy/momz will
  continue to work as aliases from DECORATE. The ACS functions, however,
  require you to use the new name, since they never saw an official release
  yet.


SVN r1689 (trunk)
2009-06-30 20:57:51 +00:00
Randy Heit
8724b45e15 - Changed Linux default for fullscreen to false.
- Removed CVAR_SERVERINFO flag from compatmode. Since it writes to
  compatflags, that should be enough. Having that flag set for both of
  them leads to problems with e.g. loading a savegame, where compatflags is
  restored, then compatmode is restored and it completely undoes whatever
  compatflags was restored to.
- Fixed: Trying to start a map for some single file that isn't really a map
  caused a crash.


SVN r1478 (trunk)
2009-03-15 01:41:53 +00:00
Randy Heit
7dd75670f4 - Fixed: After loading a savegame or unmorphing, a player's weapon slots
were empty.


SVN r1477 (trunk)
2009-03-13 03:18:06 +00:00
Randy Heit
cb159b26c2 - Fixed: SDL builds did not shutdown the sound system at exit.
- Fixed: ThingCountSector and ThingCountNameSector did not remove enough
  entries from the stack, and did not put the result in the right slot.
- Fixed: Teleport lines were prioritized over secret lines when deciding what
  color to draw them on the automap.
- Fixed: Death-reverting morphs did not remove the morph item from the
  player's inventory when death caused the morph to revert.
- Updated fmod_wrap.h for FMOD Ex 4.18.


SVN r1259 (trunk)
2008-10-14 01:24:27 +00:00