Commit graph

2838 commits

Author SHA1 Message Date
Christoph Oelckers
0f8e2441a1 - changed spectral missiles to use FriendPlayer instead of health to distinguish between player spawned and monster spawned versions. Also moved most of this into the basic missile spawning functions instead of littering all spectral missile spawning functions with these initializations.
SVN r3651 (trunk)
2012-05-13 11:17:27 +00:00
Christoph Oelckers
ddf1af455b - moved identical damage checks in P_DamageMobj into an inline function.
SVN r3650 (trunk)
2012-05-13 08:04:58 +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
Christoph Oelckers
3e41382d63 - fixed: P_LineAttack needs to check for 'Hitscan' damage, too, when deciding if using the damage type from the puff is appropriate.
SVN r3648 (trunk)
2012-05-13 07:14:54 +00:00
Randy Heit
a8507d58bd - Fixed: The "clip midtexture" flag did not work as expected for stacked sectors. This is
because it was an extension of the normal wall clipping process. Since a stacked sector
  above you doesn't draw a floor, it wouldn't clip any midtextures to the floor either.
  R_RenderMaskedSegRange() now checks this directly when rendering inside a stacked sector.

SVN r3647 (trunk)
2012-05-13 02:01:54 +00:00
Randy Heit
44932a6c56 - Added OB_MPDEFAULT string for being killed by a player for an unknown reason. This can be
overridden in custom player classes by changing their Obituary property to something else.
- ClientObituary() now only looks up the obituary message from the killing player's weapon if the
  damage type was 'Melee' or 'Hitscan'.
- Gave P_GunShot() and A_FireBullets the new damage type 'Hitscan'.
- Switched A_Saw and A_CustomPunch to the 'Melee' damage type.

SVN r3646 (trunk)
2012-05-13 01:06:28 +00:00
Randy Heit
393b2177a9 - Fixed: When P_ZMovement() handled MF_FLOAT, it reset the actor's z velocity to 0. I'd like to
know why that was in there, but I have no idea. It was like this for the entire life of the
  repository, so I can't find anything from that. And since MF_FLOAT is typically also applied to
  monsters with MF_NOGRAVITY, the z velocity should already be 0, so it's a change that makes
  little sense.

SVN r3645 (trunk)
2012-05-13 00:27:51 +00:00
Randy Heit
dc2010105b - Added the actor's address to the info CCMD's output so that you can locate actors in the world
and then examine them more closely in the debugger.

SVN r3644 (trunk)
2012-05-12 23:59:18 +00:00
Randy Heit
f421f2411d - Fixed: BOUNCE_AutoOff should not trigger when bouncing off a ceiling, since it will always pass the velocity check.
SVN r3643 (trunk)
2012-05-12 23:21:22 +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
1ac8f8b348 - Did some restructuring of FMultiPatchTexture::CopyTrueColorPixels() so that it composites to
a temporary bitmap before copying to the destination bitmap if any fancy stuff is going on.
  This simplifies the part drawing, since it doesn't need to check if each part is a multipatch
  texture. It also means it can reliably use copy operations other than OP_COPY.

SVN r3639 (trunk)
2012-05-11 03:52:58 +00:00
Randy Heit
37001d3640 - Added new patch style "Overlay" for TEXTURES. This is the same as CopyAlpha, except it only
copies the patch's alpha channel where it has a higher alpha than what's underneath.

SVN r3638 (trunk)
2012-05-11 02:26:50 +00:00
Randy Heit
b9c3f8db4f - Added a new patch style: CopyNewAlpha. This works just like Copy except it multiplies each
pixel's alpha channel by the specified Alpha property.

SVN r3637 (trunk)
2012-05-11 02:05:24 +00:00
Randy Heit
b5a731f3a6 - Move player prediction calls into D_Display().
SVN r3636 (trunk)
2012-05-10 03:48:36 +00:00
Randy Heit
eb03d8e77e - There doesn't seem to be much point to this inf==NULL check when inf isn't used either way...
SVN r3635 (trunk)
2012-05-10 03:47:40 +00:00
Randy Heit
9340dc4eca - Changed FMultiPatchTexture::CopyTrueColorPixels() so that all parts use their copy info.
Previously, "complex" parts would ignore it and use the copy info passed to the function
  instead. The copy info passed to the function is now only used to decide to if it should clear
  the destination image. I'm not sure if this really matters, since it itself is the only place aside
  from FTexture::FillBuffer() that ever calls CopyTrueColorPixels() with a copy info, and when
  it does so for a multipatch texture, it does so to a temporary buffer.

SVN r3634 (trunk)
2012-05-10 03:07:30 +00:00
Braden Obrzut
60dc67d5c3 - Fixed: Polyobjects must be blocking where an object is below the reference sector floor or above the reference sector ceiling.
- Fixed: 3DMidTexture polyobjects had open.top and open.bottom reversed.

SVN r3633 (trunk)
2012-05-08 19:55:26 +00:00
Christoph Oelckers
898232be61 - fixed: Suicides could count towards multikills (patch by edward850)
SVN r3632 (trunk)
2012-05-08 12:27:01 +00:00
Braden Obrzut
206ffd936f - Fixed: r3630 had a missing end parentheses.
- Removed A_KSpiritWeave since it was basically identical to the function CHolyWeave (besides the random number generator object) and was never exported as a native action anywhere.

SVN r3631 (trunk)
2012-05-07 06:14:48 +00:00
Randy Heit
93bdd58725 - Fixed: ACS_NamedExecuteWithResult, the action function, parsed its
parameters incorrectly.



SVN r3630 (trunk)
2012-05-07 01:23:45 +00:00
Randy Heit
45027e4620 - Added SNDINFO $attenuation command. This multiplies the attenuation passed to S_Sound. e.g.
$attenuation Boom 0
  Will make the "Boom" sound play with 0 attenuation, or in other words, at full volume throughout
  the level.

SVN r3629 (trunk)
2012-05-07 01:16:56 +00:00
Randy Heit
2117c84a78 - Increase maximum resolution to 2880x1800.
SVN r3628 (trunk)
2012-05-06 04:23:49 +00:00
Randy Heit
d8f3a56092 - Fixed: ARaiseAlarm::TryPickup() had never had the call to A_WakeOracleSpectre() uncommented.
(I wonder how many more places have incomplete Strife code commented out...)

SVN r3627 (trunk)
2012-05-06 04:18:27 +00:00
Randy Heit
25b9c3dcf2 - Fixed: 3D floors were impervious to earthquakes; CopyStackedViewParameters() needs to be among the last things called in R_SetupFrame().
SVN r3626 (trunk)
2012-05-06 03:39:45 +00:00
Randy Heit
88fcd743b4 - Fixed: strbin ate the character following a \x sequence and placed one-digit sequences into the high nibble of the output character.
SVN r3625 (trunk)
2012-05-06 03:16:11 +00:00
Braden Obrzut
432aa7e6bb - Added support for text colorization in SBarInfo.
SVN r3624 (trunk)
2012-05-05 23:01:16 +00:00
Christoph Oelckers
af43ef8983 - added Gez's submission to add a compatibility option for Doom's floor motion behavior to fix an issue in phobos.wad.
SVN r3623 (trunk)
2012-05-05 22:53:16 +00:00
Christoph Oelckers
4f255a2652 - fixed: Weapons that were dehacked to use no ammo did not work anymore.
SVN r3622 (trunk)
2012-05-05 14:23:00 +00:00
Braden Obrzut
7eb8594e86 - Fixed: A_FAxeCheckUp would jump to the ReadyGlow state instead of SelectGlow.
SVN r3621 (trunk)
2012-05-04 18:37:41 +00:00
Randy Heit
2ab9c02a42 - Use SetOrigin() instead of P_TryMove to set the dropped item's position in AActor::DropInventory(). Also removed dropdist, since it wasn't used.
SVN r3620 (trunk)
2012-05-04 02:56:28 +00:00
Randy Heit
11bf757a2f - Make player unmorphing the first thing that happens in G_PlayerFinishLevel() so that all
inventory fiddling happens on the real player and not the morphed player.

SVN r3619 (trunk)
2012-05-04 02:25:16 +00:00
Randy Heit
9d4ba3c7fd - Unraveled the want_native bit in I_CheckNativeMouse somewhat to ensure that it ends up false
when menuactive == MENU_WaitKey, even if you're not in a level.

SVN r3618 (trunk)
2012-05-04 02:16:19 +00:00
Christoph Oelckers
cbcc7443c6 - added Xaser's bobbing style options submission.
SVN r3615 (trunk)
2012-05-02 20:58:29 +00:00
Christoph Oelckers
5dbf486806 - added menu entries for HUD flash options.
SVN r3614 (trunk)
2012-05-01 18:20:04 +00:00
Christoph Oelckers
75dc6cb0b2 - changed damage screen blending code so that the same version can be used by any renderer.
- added GZDoom's version of blending for Strife's hazard sectors as an option to the paletteflash CVAR.


SVN r3613 (trunk)
2012-05-01 11:27:54 +00:00
Christoph Oelckers
81b4f782f7 - fixed: powered up weapons must not be added to the weapon slots.
SVN r3612 (trunk)
2012-05-01 10:30:08 +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
0835230454 - P_SeekerMissile() now returns true when the projectile's speed is 0 and the tracer would otherwise be seekable. Fixes 0-speed missiles using A_SeekerMissile for special effects.
SVN r3610 (trunk)
2012-05-01 03:14:34 +00:00
Braden Obrzut
9e26f3b7a4 - Instead of a huge switch statement, lets convert POV to axes by bitwise operations since we later assume we can do that for the button mapping anyways.
SVN r3609 (trunk)
2012-05-01 01:53:59 +00:00
Randy Heit
c676f97fd8 - Fixed: r_translate.cpp:SetRange() did not set the true color palette entry for single-entry ranges.
SVN r3608 (trunk)
2012-05-01 01:47:31 +00:00
Braden Obrzut
192839a436 - Added button mapping for the first 8 axes for SDL joysticks. The first two axes are assumed to be x/y.
- Added POV hat support for SDL.  (First 4 map to buttons, but all map to an x/y axis.)

SVN r3607 (trunk)
2012-04-29 00:53:27 +00:00
Christoph Oelckers
de43788c3a - fixed: Heretic: dScroll_EastLavaDamage was missing its strobe effect
SVN r3606 (trunk)
2012-04-28 20:12:54 +00:00
Braden Obrzut
0065c29902 - Added deadzone handling to SDL joystick support.
SVN r3605 (trunk)
2012-04-28 03:44:10 +00:00
Braden Obrzut
c07eaa4d31 - Fixed typo in SBarInfo WeaponIcon code. That said, I do wonder if the new behavior might break some existing status bar since it might be intended that weapons such as the fists draw no icon.
SVN r3604 (trunk)
2012-04-28 03:13:39 +00:00
Randy Heit
118e513d03 - Fixed: The player's position was only predicted during the duration of R_SetupFrame().
Consequently, if somebody used the chasecam while predicting, they would appear to lag
  behind the camera, because their actor would be at its unpredicted position by the time
  sprites were processed.

SVN r3603 (trunk)
2012-04-28 03:04:21 +00:00
Randy Heit
2f561abdea - Fixed: 3D floors partitioning the world into different "HeightLevels" could strip a midtexture
of its clipping information before it was drawn. (On the other hand, I have no idea what this
  ds->bkup and refreshing stuff is about, so I might have broken something somewhere else.)

SVN r3602 (trunk)
2012-04-28 02:32:33 +00:00
Randy Heit
158f32bcda - Fixed P_CheckSwitchRange() should not force range checking of lines flagged with ML_3DMIDTEX
if they do not have a midtexture.

SVN r3601 (trunk)
2012-04-27 03:17:56 +00:00
Randy Heit
6369a88e0f - Fixed: sector_t::GetHeightSec() was too aggressive about not returning heightsec.
SVN r3600 (trunk)
2012-04-27 02:50:23 +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
Randy Heit
f8e64a13af - On second thought, using FloorBounceMissile() for bouncing off the top of an actor might not
be the best idea.

SVN r3598 (trunk)
2012-04-26 03:50:11 +00:00
Randy Heit
70902d9da8 - Implicitly set MF2_PASSMOBJ when BounceType is used in an actor definition so that actors under
or above the bouncer can be checked for bouncing.

SVN r3597 (trunk)
2012-04-26 03:36:01 +00:00
Randy Heit
01dacce549 - Fixed: Bouncing missiles landing on an actor would just stop rather than bounce.
SVN r3596 (trunk)
2012-04-26 03:30:02 +00:00
Randy Heit
8632c0db04 - Fixed: The lookup and lookdown buttons should set LocalKeyboardTurner so that the pitch
change is interpolated.

SVN r3595 (trunk)
2012-04-26 02:41:58 +00:00
Randy Heit
3523e4f24a - Fixed: SectorDamage did not work with 3D floors.
SVN r3594 (trunk)
2012-04-26 02:35:02 +00:00
Randy Heit
142a15b9c6 - Fixed: The length of the SFLG chunk was used incorrectly, resulting in erroneous flag setting
if such a chunk was present.

SVN r3593 (trunk)
2012-04-26 02:03:43 +00:00
Randy Heit
ec84437212 - Extended wallscan_np2 to work with masked walls.
SVN r3592 (trunk)
2012-04-25 03:21:55 +00:00
Randy Heit
79ae117f8f - Fixed: HU_FONTEND was too low to allow for the full 8-bit CP-1252 character range.
SVN r3590 (trunk)
2012-04-25 01:43:50 +00:00
Randy Heit
a660eea116 - Patch to allow compilation by clang.
SVN r3589 (trunk)
2012-04-23 02:46:25 +00:00
Randy Heit
5e3a41e8f6 - Added a wrapper function to help wallscan() tile textures with heights that are not a power of 2.
SVN r3588 (trunk)
2012-04-23 02:38:09 +00:00
Christoph Oelckers
b2e5e15d3c - changed icon lookup for weapons in SBARINFO so that it uses the alternative HUD's method if the weapon does not have an icon defined.
SVN r3587 (trunk)
2012-04-22 09:41:06 +00:00
Christoph Oelckers
4df1ea63b5 - added DavidPH's sqrt for DECORATE submission.
SVN r3586 (trunk)
2012-04-22 08:17:27 +00:00
Christoph Oelckers
44519f3972 - added Gez's fixed palette flashes for Hexen.
SVN r3585 (trunk)
2012-04-22 07:58:04 +00:00
Christoph Oelckers
fdefd361e6 - Undid the 'Spray' state change because it obviously can't work with the default blood actor.
SVN r3582 (trunk)
2012-04-22 07:32:09 +00:00
Christoph Oelckers
aa7464df66 - this must remain specific to Strife...
SVN r3581 (trunk)
2012-04-22 07:29:40 +00:00
Christoph Oelckers
a79bcb73ac - fixed the bloodspawning completely: It has to check for parent class's states, too, so that inherited blood still works
- made the 'Spray' state in P_SpawnBlood available for all games.


SVN r3580 (trunk)
2012-04-22 07:23:59 +00:00
Randy Heit
bf48b7620c - Changed the direction of positive rotation for voxels to match GZDoom's counterclockwise spin.
SVN r3579 (trunk)
2012-04-22 02:34:57 +00:00
Randy Heit
9276e6138e - Fixed: All missiles could climb steps in P_TryMove() because of an extra ampersand turning & into &&.
SVN r3578 (trunk)
2012-04-22 02:30:26 +00:00
Randy Heit
5123a6b74b - And this is what I get for not making sure it compiles...
SVN r3577 (trunk)
2012-04-22 02:14:01 +00:00
Randy Heit
e51bd95d03 - Fixed: P_SpawnBlood did not check that the state it was setting for low-damage blood was valid.
SVN r3576 (trunk)
2012-04-22 02:08:27 +00:00
Randy Heit
b94607dc7e - Being killed by a voodoo doll now has its own obituary, rather than trying to come up with one
by treating it as a real player.

SVN r3574 (trunk)
2012-04-19 04:03:42 +00:00
Randy Heit
b036ef63e9 - Fixed: The 0-damage FORCEPAIN checks in P_DamageMobj() also need to check the PAINLESS and NOPAIN flags.
SVN r3573 (trunk)
2012-04-19 03:40:27 +00:00
Randy Heit
5b86ce9f7d - If A_SeekerMissile is used with the SMF_LOOK flag and its targets is unseekable, it now clears
its tracer so that it will look for a new target the next time it is called.
- Extended P_RoughMonsterSearch() with a flag to indicate that it should only search for seekable
  targets.

SVN r3572 (trunk)
2012-04-19 03:22:06 +00:00
Randy Heit
86842bc1da - Fixed: P_TestMobjZ() should not let missile shooters block their missiles.
SVN r3571 (trunk)
2012-04-19 02:50:43 +00:00
Randy Heit
9c1e03a21b - In S_Shutdown(), stop the song and forget traces of it so that people who feel like setting
snd_musicvolume in their atexit don't crash because it tries to restart the song at the new
  volume.

SVN r3570 (trunk)
2012-04-19 02:27:10 +00:00
Randy Heit
c1f3621a4c - Don't crash when loading UDMF maps with invalid sidedef references.
SVN r3569 (trunk)
2012-04-19 02:14:34 +00:00
Christoph Oelckers
93694dadc1 - fixed: The rail attack did not check the BLOODLESSIMPACT flag.
SVN r3568 (trunk)
2012-04-15 07:59:50 +00:00
Randy Heit
c03be3b43b - Fixed: Don't ignore FORCEPAIN if damage modification takes the damage to 0.
SVN r3567 (trunk)
2012-04-15 03:48:27 +00:00
Randy Heit
aa227b1df4 - Fixed: DHUDMessageTypeOnFadeOut::Tick() did not skip over color escapes.
SVN r3566 (trunk)
2012-04-15 03:13:07 +00:00
Randy Heit
5bf3b7113e - Fixed: When using CMF_ABSOLUTEPITCH or CMF_OFFSETPITCH, A_CustomMissile could calculate a
negative missile speed.

SVN r3565 (trunk)
2012-04-15 02:43:37 +00:00
Randy Heit
6cb99dab3e - Fix type conversion warning.
SVN r3563 (trunk)
2012-04-14 03:56:39 +00:00
Randy Heit
280ca05554 - In P_SpawnMapThing(), pass the same flags to P_FindFloorCeiling() as the respawn functions do.
- Rename FFCF_3DMIDTEXRESTRICT to FF_3DRESTRICT and make it work with 3D floors too.

SVN r3562 (trunk)
2012-04-14 03:55:46 +00:00
Randy Heit
f19a6a2a29 - Fixed: Do not play skinned sounds when the player has the NOSKIN flag set.
SVN r3561 (trunk)
2012-04-14 03:10:07 +00:00
Randy Heit
c0bc7532ac - Fixed: If a player has the NOSKIN flag set, do not change their appearance to that of the
skin when spawning or changing the skin.

SVN r3560 (trunk)
2012-04-14 03:07:28 +00:00
Randy Heit
66a1b8be9d - Fixed: DSBarInfo did not declare its object pointers for the garbage collector.
SVN r3559 (trunk)
2012-04-14 02:55:47 +00:00
Christoph Oelckers
b2336f5c21 - missed one file in last commit.
SVN r3558 (trunk)
2012-04-13 08:16:19 +00:00
Christoph Oelckers
37f4ee53b9 - applied Xaser's A_RailAttack duration fix.
SVN r3557 (trunk)
2012-04-13 08:15:57 +00:00
Christoph Oelckers
1529c91b80 - fixed: FFont::GetChar was unable to handle 8 bit signed chars.
SVN r3556 (trunk)
2012-04-12 17:33:55 +00:00
Christoph Oelckers
52bb3a4dbe - fixed: Boom's generalized doors are not retriggerable, even if they are not remote. (Patch by Gez)
SVN r3555 (trunk)
2012-04-12 12:42:00 +00:00
Randy Heit
8f5eff419d - Fixed: When spawning actors for the rail trail, a RNG that is synchronized
across all machines must be used.
- Add Xaser's railgun fix for "P_RailAttack's 'sparsity' was being ignored for particle core trails, and 'maxdiff' was ignored when spawning actors."
  For reals this time.



SVN r3554 (trunk)
2012-04-11 22:30:27 +00:00
Randy Heit
7bfd551f27 - Xaser's fix for XDeath states not working for rail puffs.
SVN r3553 (trunk)
2012-04-11 04:50:23 +00:00
Randy Heit
a85b751f7a - Fix warnings warned by GCC.
SVN r3552 (trunk)
2012-04-11 04:44:12 +00:00
Randy Heit
06de818059 - Add Xaser's railgun fixes:
* P_RailAttack's 'sparsity' was being ignored for particle core trails,
    and 'maxdiff' was ignored when spawning actors.
  * Fixed the persistent core issue.
  * Fixed. The default value for the new 'range' parameter was incorrectly
    set to zero, causing A_FireRailgun to emit a zero-length "rail."


SVN r3551 (trunk)
2012-04-11 04:41:37 +00:00
Randy Heit
2b52d686e9 - Use 3D midtexture restrictions when respawning actors.
SVN r3550 (trunk)
2012-04-10 03:28:53 +00:00
Randy Heit
12e23a56f8 - Only adjust the ceiling position of solid actors in A_RestoreSpecialPosition.
SVN r3549 (trunk)
2012-04-10 03:22:07 +00:00
Randy Heit
da21075480 - Fixed: The onlyspawnpos handling in P_FindFloorCeiling would fail to adjust an actor's floorz
(and related) to a 3D midtex beneath its Z if it also touched a 3D midtex above its Z.

SVN r3548 (trunk)
2012-04-10 03:18:04 +00:00
Christoph Oelckers
d81542752a - fixed: P_FindFloorCeiling may not use the floorsector returned by P_LineOpening when only checking 3D-floors because it will be NULL.
SVN r3547 (trunk)
2012-04-09 09:01:25 +00:00
Christoph Oelckers
6089347161 - fixed: A_InquisitorAttack used FRACBITS to offset the grenades' launch position instead of FRACUNIT
SVN r3546 (trunk)
2012-04-09 07:30:18 +00:00
Randy Heit
837126ae57 - Fixed: Do not interpolate from an actor's despawned position to its spawned position when it
respawns.
- Use doubles instead of floats, as appropriate, in PIT_FindFloorCeiling().
- Fixed: The second call to P_FindFloorCeiling() in A_RestoreSpecialPosition and P_NightmareRespawn()
  must only consider 3D floors and midtexes.

SVN r3545 (trunk)
2012-04-08 21:12:14 +00:00
Randy Heit
9451b7c1d3 - I think this is what this comment is supposed to say. It had 匤 for me, and with Western character encodings, it was complete garbage.
SVN r3544 (trunk)
2012-04-08 20:20:39 +00:00
Randy Heit
22a0c92ab8 - Fixed crash when teleporting. P_TeleportMove() must not pass FFCF_ONLYSPAWNPOS to
P_GetFloorCeilingZ(). I got confused because its bool parameter's meaning had been the
  opposite of P_FindFloorCeiling()'s bool parameter before they got changed to flags.

SVN r3543 (trunk)
2012-04-08 20:01:43 +00:00