Commit Graph

101 Commits

Author SHA1 Message Date
Christoph Oelckers 34b71baad1 - added Player.Aircapacity property which is used as a multiplier for the level's air supply. 2013-08-09 11:57:14 +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 83bd8ba1b8 - added NeuralStunner's player.userange submission, but changed it to use the value directly from the PlayerPawn data.
- bumped savegame version for addition of APlayerPawn::userange.
2013-07-22 22:37:50 +02:00
Christoph Oelckers 2d2498d1e2 - fixed: userinfo_t needs a destructor to delete its CVARs when it is destroyed. 2013-07-14 10:58:53 +02:00
Randy Heit 78437d917c - Added edward850's patch to cope with stalled network games.
SVN r4285 (trunk)
2013-05-25 22:01:26 +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 b845fdb5d5 - Fixed: There's more than one place where the CROUCHABLEMORPH flag needs to be checked.
SVN r4228 (trunk)
2013-04-28 02:31:34 +00:00
Randy Heit cb64014494 - Added CROUCHABLEMORPH flag for the PlayerPawn class. Use this to indicate that a morphed
player class can crouch. (Regular players can always crouch, hence the name CROUCHABLEMORPH
  and not CANMORPH or ALLOWMORPH.)

SVN r4221 (trunk)
2013-04-19 02:24:20 +00:00
Randy Heit 445bc148b7 - Fixed: r4067 completely disabled weapon switching via A_ReFire.
SVN r4157 (trunk)
2013-02-22 02:42:42 +00:00
Randy Heit 87b8b6201c - Added WRF_DISABLESWITCH flag for A_WeaponReady to indicate that any attempts to switch the weapon
should be discarded.

SVN r4062 (trunk)
2013-02-05 02:27:35 +00:00
Randy Heit 281ac3a49a - Separate the player weapon state flags from the other player "cheat" flags.
SVN r4041 (trunk)
2013-01-25 03:09:17 +00:00
Braden Obrzut dcb1a3c8bd - GCC warning cleanup
SVN r4031 (trunk)
2013-01-21 22:30:30 +00:00
Randy Heit 67eda6b1ad - Changed P_CheckPlayerSprites() so that it does not alter any actor data. It is now called by
R_ProjectSprite() to modify the appropriate data right before it is needed for rendering.

SVN r4004 (trunk)
2013-01-02 02:10:26 +00:00
Randy Heit 0ac94c5265 - Precache player sounds at level load.
SVN r3841 (trunk)
2012-08-22 23:46:47 +00:00
Randy Heit a505352da3 - Added noclip2 cheat. This is similar to noclip, except it also adds nogravity and the ability to fly through 3D floors.
SVN r3832 (trunk)
2012-08-22 21:31:48 +00:00
Randy Heit 100391507e - Added two new PlayerPawn properties:
* GruntSpeed: The minimum speed a player must be falling at the time of landing to play *grunt.
  * FallingScreamSpeed: When a player is falling within this range of speeds, they will play *falling.

SVN r3829 (trunk)
2012-08-14 03:24:59 +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 086d0a797e - Added AActor::SetFriendPlayer() to make setting FriendPlayer cleaner to read when doing it with
a player_t pointer.

SVN r3681 (trunk)
2012-06-09 04:15:56 +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 da08b14895 - Moved the regeneration powerup's effect out of P_PlayerThink() and into APowerRegeneration::DoEffect().
SVN r3640 (trunk)
2012-05-11 04:05:55 +00:00
Randy Heit fc6d55c508 - Fixed: PowerTimeFreezer needs to use different bits to mark timefreezing initiated by different
players, or overlapping uses of PowerTimeFreezer will malfunction.

SVN r3599 (trunk)
2012-04-27 01:40:50 +00:00
Christoph Oelckers 235a09d92a - Added Xaser's weapon patch to check +reload and +zoom in A_WeaponReady.
SVN r3530 (trunk)
2012-04-07 13:07:25 +00:00
Randy Heit 49ea87f8bc - Fixed: Poison damage lost damage type information if the poisoner was destroyed before poisoncount
reached 0.
- Fixed: Poisoners without a PainType should use their own DamageType to pick the Pain state
  to make the target enter, not the target's DamageType.

SVN r3475 (trunk)
2012-03-23 20:57:10 +00:00
Christoph Oelckers e4880d162f - added Xaser's submission for accessing accuracy and stamina from DECORATE and ACS.
- added DECORATE properties for accuracy and stamina.
- Since these changes move properties from player_t to AActor all savegame compatibility code was removed and the min. savegame version bumped.


SVN r3427 (trunk)
2012-03-11 09:08:35 +00:00
Randy Heit d9713669f1 - Fixed: Totally freezing a player did not ignore crouch toggling.
SVN r3341 (trunk)
2012-01-22 00:31:42 +00:00
Randy Heit 7279e2ad62 - Fixed: Player pitch limits were reset to 0 when changing levels and loading
saved games.



SVN r3332 (trunk)
2011-12-14 00:16:19 +00:00
Randy Heit b41dbf8a52 - A_SetPitch now clamps the player's pitch within the valid range. It can
be made to clamp other actors' pitches to within the range (-90,+90)
  degrees with the SPF_FORCECLAMP flag.
- Transmit the local viewpitch limits to the other players.



SVN r3323 (trunk)
2011-12-06 01:25:37 +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
Christoph Oelckers e90b86acce - added 'player.flechettetype' property so that the appropriate flechette type can be set per player class.
- bumped savegame version for flechette type changes.

SVN r3085 (trunk)
2011-01-01 11:16:46 +00:00
Christoph Oelckers 583cbd49a6 - try to encapsulate access to the player class's display name for printing purposes.
SVN r2839 (trunk)
2010-09-21 09:43:54 +00:00
Christoph Oelckers 579502ab74 - merged menu branch back into trunk.
SVN r2768 (trunk)
2010-09-14 17:28:18 +00:00
Randy Heit 87a7ff7b6d - Add blzut3's morphed status bar patch.
SVN r2283 (trunk)
2010-04-17 02:06:26 +00:00
Christoph Oelckers 0569d948df - added a 'player.clearcolorset' property so that inherited color sets can be removed.
- fixed: Player color sets were not inheritable.


SVN r2202 (trunk)
2010-03-07 09:13:41 +00:00
Randy Heit e78fd195d8 - Added support for the original games' player translations, including Hexen's table-based ones.
SVN r2193 (trunk)
2010-03-06 02:51:23 +00:00
Christoph Oelckers 85c683e0c7 - Reintroduced Doom.exe's player_t::usedown variable so that respawning a
player does not immediately activate switches. oldbuttons was not usable
  for this. This also required that CopyPlayer preserves this info.
- Fixed: When restarting the music there was a NULL pointer check missing
  so it crashed when the game was started wi
- Fixed: If the Use key is used to respawn the player it must be cleared
  so that it doesn't trigger any subsequent actions after respawning.
- Fixed: Resurrecting a monster did not restore flags5 and flags6.
- Fixed: Projectiles which killed a non-monster were unable to determine
  what precisely they hit because MF_CORPSE is only valid for monsters.
  A new flag, MF6_KILLED that gets set for all objects that die, was added
  for this case.
- Added a generic A_Weave function that exposes all possible options of
  A_BishopMissileWeave and A_CStaffMissileSlither. These 2 functions are
  no longer needed from DECORATE and therefore deprecated.


SVN r2045 (trunk)
2009-12-25 11:09:56 +00:00
Christoph Oelckers cc2b0b0dcf - made max. view pitch a property of the renderer so that it's overridable without
changing game code.
- made SpawningMapThing an argument of AActor::StaticSpawn instead of a global
  variable.
- added a stub to the DECORATE parser for defining dynamic lights directly
  in DECORATE. This is needed so that ZDoom remains compatible with any DECORATE 
  which uses this GZDoom feature in the future.


SVN r1935 (trunk)
2009-10-25 15:26:19 +00:00
Randy Heit b8eb530a0d - Fixed: Wall drawing handled fixed light levels improperly (but did not
completely ignore them, either).
- Separated light level fixing out of player_t's fixedcolormap parameter.
  Using a fixed light level (e.g. PowerTorch) will no longer wipe out
  colored lighting.
- Moved the blending rectangle drawing into a separate discrete stage, since
  doing it while copying the 3D view window to the display now blends
  underneath the weapon instead of on top of it.
- Consolidated the special colormaps into a single 2D table.
- Tweaked the special colormaps slightly to make the true color results more
  closely match the paletted approximations.
- fb_d3d9_shaders.h was getting unwieldy, so I moved the shaders out of the
  executable and into zdoom.pk3. Shaders are still precompiled so I don't need
  to pull in a dependancy on D3DX.
- Added a few more shaders to accomodate drawing weapons with all the in-game
  lighting models. These are accessed with the new DrawTexture tags
  DTA_SpecialColormap and DTA_ColormapStyle.
- Player weapon sprites are now drawn using Direct3D and receive all the
  benefits thereof.


SVN r1858 (trunk)
2009-09-20 03:50:05 +00:00
Christoph Oelckers 914d993aa1 - Added a few things from Gez's experimental build:
* Beta Lost Soul (added DoomEdNum 9037 to it)
  * A_Mushroom extensions
  * Vavoom compatible MAPINFO keynames.
  * Vavoom's Sector_SetContents fixes to inactive 3D floor code.


SVN r1818 (trunk)
2009-09-14 09:41:09 +00:00
Randy Heit 63e26df7b2 - Added player MugShotMaxHealth property. Negative values use the player's
max health as the mug shot max health, zero uses 100 as the mug shot max
  health, and positive values used directly as the mug shot max health.


SVN r1757 (trunk)
2009-08-07 04:20:28 +00:00
Randy Heit f9088bd2cf - Added buddha cheat.
SVN r1756 (trunk)
2009-08-07 04:08:38 +00:00
Randy Heit 720747baef - Added a "BlueMap" for powerup colors.
- Add the missing CF_WEAPONREADYALT and CF_WEAPONSWITCHOK flags.

SVN r1723 (trunk)
2009-07-17 01:17:06 +00:00
Randy Heit 8554ccf2a3 - Added A_WeaponBob.
SVN r1698 (trunk)
2009-07-01 00:58:26 +00:00
Randy Heit f2b7417020 - MF2_NODMGTHRUST now works with players, too. (Previously, it was only for
missiles.) Also added PPF_NOTHRUSTWHILEINVUL to prevent invulnerable players
  from being thrusted while taking damage. (Non-players were already
  unthrusted.)


SVN r1695 (trunk)
2009-06-30 23:23:12 +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
Christoph Oelckers d04ffd57f8 - added Gez's infinite ammo powerup and random spawner fix patches.
- reduced size of Hexen's flames to fix bug in Deathkings MAP01.
- added checks for sidedef scaling values 


SVN r1648 (trunk)
2009-06-07 16:38:19 +00:00
Christoph Oelckers a732687548 - Changed APlayerPawn::DamageFade to a PalEntry from 3 floats.
- Removed #pragma warnings from cmdlib.h and fixed the places where they were 
  still triggered.
  These #pragmas were responsible for >90% of the GCC warnings that were not
  listed in VC++.
- Fixed one bug in the process: DSeqNode::m_Atten was never adjusted when the
  parameter handling of the sound functions for attenuation was changed.
  Changed m_Atten to a float and fixed the SNDSEQ parser to set proper values. 
  Also added the option to specify attenuation with direct values in addition 
  to the predefined names.

SVN r1583 (trunk)
2009-05-15 10:39:40 +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 69c2c4de64 - Moved weapon slot initialization into APlayerPawn::PostBeginPlay() so that
they can be initialized when players respawn in multiplayer.


SVN r1476 (trunk)
2009-03-12 03:54:23 +00:00
Christoph Oelckers 4b723beddd - Bumped netgame, demo and min demo version for the weapon slot changes.
- changed weapon slots to be stored per player. Information is now transmitted
  across the network so that all machines know each player's current weapon
  configuration so that it can be used by cheats or HUD display routines.


SVN r1430 (trunk)
2009-02-20 22:28:48 +00:00
Randy Heit a7e40b56f6 - Fixed: Player names and chat macros that end with incomplete \c escapes now
have those escapes stripped before printing so that they do not merge with
  subsequent text.
- Moved default weapon slot assignments into the player classes.
  Weapon.SlotNumber is now used solely for mods that want to add new weapons
  without completely redoing the player's arsenal. Restored some config-based
  weapon slot customization, though slots are no longer automatically saved
  to the config and section names have changed slightly. However, unlike
  before, config slots are now the definitive word on slot assignments and
  cannot be overridden by any other files loaded.
- Fixed: Several weapons were missing a game filter from their definitions.
- Removed storage of weapon slots in the config so that weapon slots can
  be setup in the weapons themselves. Slots are still configurable, since
  they need to be for KEYCONF to work; any changes simply won't be saved
  when you quit.
- Removed limit on weapon slot sizes.


SVN r1428 (trunk)
2009-02-20 00:53:25 +00:00