Commit graph

2866 commits

Author SHA1 Message Date
Christoph Oelckers
18839acddb - added a check to the MENUDEF parser to prevent special menus from being replaced by something non-functional to counter attempts to cripple the engine's functionality.
SVN r3682 (trunk)
2012-06-09 11:05:25 +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
Randy Heit
2c6763d750 - A_FPunchAttack no longer thrusts targets with INT_MAX mass.
- Folded duplicated code from A_FPunchAttack into a separate function.

SVN r3680 (trunk)
2012-06-09 04:00:39 +00:00
Christoph Oelckers
6db4164794 - added a check to the ANIMATED parser that prints an error message if it tries to read past the end of the lump.
SVN r3679 (trunk)
2012-06-06 07:02:30 +00:00
Braden Obrzut
df7c03b933 - Also allow string constants on font names.
SVN r3678 (trunk)
2012-06-04 22:39:49 +00:00
Braden Obrzut
9b7e44c026 - Fixed: Allow string constants in SBarInfo whenever an actor name is required. The only exception is drawing the inventory icon with drawimage since it would be ambiguous, so I would advise using valid identifiers for class names even if it isn't required. Parenthesized syntax is required to use this feature where applicable.
SVN r3677 (trunk)
2012-06-04 22:26:26 +00:00
Christoph Oelckers
ab737220f0 - fixed: The secret hint code did not resolve level names coming from the string table.
SVN r3676 (trunk)
2012-06-03 15:59:44 +00:00
Randy Heit
36d348dba6 - Don't record pointers to OptionValues outside of the OptionValues table, so that they can be redefined.
SVN r3675 (trunk)
2012-06-02 03:12:14 +00:00
Christoph Oelckers
9e31ff0799 - fixed: CheckForPushSpecial's window check must also check 3D floors in the back sector.
SVN r3674 (trunk)
2012-05-31 10:07:30 +00:00
Christoph Oelckers
9c4a565366 - fixed: Inventory clearing after changing a level with the ACS ChangeLevel command did not properly clear the inventory. This will now use the same code as the ACS ClearInventory command.
SVN r3673 (trunk)
2012-05-31 09:46:07 +00:00
Christoph Oelckers
171066388f - last commit was broken. :(
SVN r3672 (trunk)
2012-05-31 08:51:40 +00:00
Christoph Oelckers
e28ecdda50 - fixed: Option value sets for the menu may not be redefined. An attempt to do so must produce a fatal error.
SVN r3671 (trunk)
2012-05-31 08:47:55 +00:00
Randy Heit
3bd45f8011 - Fixed: The sinking-in-water code didn't really know what to do with things that aren't players.
SVN r3670 (trunk)
2012-05-31 04:32:37 +00:00
Randy Heit
2c3b57145a - When scrolling rotated floors and ceilings, scroll as if the texture was unrotated. (That is,
keep the scroll direction constant, no matter what the rotation.)

SVN r3669 (trunk)
2012-05-31 03:40:28 +00:00
Randy Heit
5b9b7a99ef - Fixed: Plat_RaiseAndStayTx0 and FloorAndCeiling_LowerRaise had incorrect max parameter counts.
SVN r3667 (trunk)
2012-05-26 01:05:49 +00:00
Randy Heit
9473e229f1 - Fix tiny error in A_WolfAttack, courtesy of Gez.
SVN r3666 (trunk)
2012-05-26 01:03:39 +00:00
Randy Heit
23acb77030 - Fixed: When DHUDMessageTypeOnFadeOut stops typing, it should reset Tics so that
DHUDMessageFadeOut::Tick() starts counting from the time the last line was fully displayed, not
  from the time its first character was displayed.

SVN r3665 (trunk)
2012-05-26 00:55:27 +00:00
Braden Obrzut
4753be45fc - The SBarInfo AspectRatio command should treat 17:10 ratios as 16:10 for better compatibility with existing status bars unless the statusbar explicitly checks for it.
SVN r3663 (trunk)
2012-05-19 08:44:58 +00:00
Braden Obrzut
e62e806693 - ZDoom no longer errors if no precalculated COLORMAP is found.
SVN r3662 (trunk)
2012-05-18 02:30:07 +00:00
Christoph Oelckers
7356350d5c - fixed: having a state immediately followed label with a goto immediately following that label did not link the state to its proper next state.
SVN r3661 (trunk)
2012-05-17 11:16:20 +00:00
Christoph Oelckers
0cc6822a11 - ensure that the 'owner' variable in the missile spawning functions is always valid.
SVN r3660 (trunk)
2012-05-17 10:57:57 +00:00
Christoph Oelckers
625ee246d7 - ensure that 'kill' always kills the player, regardless of damage factor.
SVN r3659 (trunk)
2012-05-17 07:50:13 +00:00
Braden Obrzut
f4ff63e7c3 - Fixed: FMultiPatchTexture::ParsePatch didn't pass the usetype onto FTexture::CreateTexture.
SVN r3658 (trunk)
2012-05-17 03:24:27 +00:00
Randy Heit
71e02e2d9e - Fixed: When the player setup menu cycles the random players, it needs to rebuild the translation for each one.
SVN r3657 (trunk)
2012-05-15 22:52:24 +00:00
Christoph Oelckers
6d993b8c04 - re-fix of r3655: 180° in angle_t needs to be specified as ANGLE_180.
SVN r3656 (trunk)
2012-05-15 22:33:08 +00:00
Randy Heit
0fae305224 - Fixed: A_LookEx did not default to a 180 degree cone.
SVN r3655 (trunk)
2012-05-15 22:05:14 +00:00
Randy Heit
cbebc12fd0 - Players are no longer affected by the skill property NoPain.
SVN r3654 (trunk)
2012-05-15 21:51:02 +00:00
Randy Heit
d6cd9b430d - Fixed: Do not write the config file if DoGameSetup() has not been called yet.
SVN r3653 (trunk)
2012-05-15 21:47:15 +00:00
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