Commit graph

1942 commits

Author SHA1 Message Date
Randy Heit
6ba548511b - Fixed: Macil2 and the Oracle need to be immune to SpectralLightningV2 as well as V1, since
they are both created by the first-stage Sigil. AlienSpectre3 should have also been
  immune to them but was not. In addition, Macil1 was erroneously immune to V1, when he should
  not be immune to any spectral damage. (Though, since he's immortal, all that really amounts to
  is that he can enter his pain state.)

SVN r2106 (trunk)
2010-01-08 03:24:22 +00:00
Randy Heit
74a7293133 - Fix spelling error in comment.
SVN r2105 (trunk)
2010-01-08 02:17:49 +00:00
Randy Heit
2228c37985 - Fixed: Don't color the teleporter beacon's rebels in single player.
SVN r2104 (trunk)
2010-01-08 02:15:42 +00:00
Randy Heit
1e5b84ea14 - Fixed: I forgot to reimplement the number keys for Strife's dialogues when I redid the
menus to work with controllers.

SVN r2103 (trunk)
2010-01-08 02:10:05 +00:00
Randy Heit
870628dda5 - Split conversation initiation out of P_UseTraverse() and into a separate function. It no
longer piggy-backs off of Hexen's puzzle item traversal but instead works like Strife,
  using P_AimLineAttack() to find something to talk to and includes some slight left and right
  "autoaim". I can think of a few consequences of this:
  * Using puzzle items on actors has been restored to its original range of 64.
  * Since talking now depends on P_AimLineAttack() instead of a line use traversal, you can
    probably set up situations where you can talk to somebody that you couldn't talk to before
    because some special line was in the way.
  * You don't need to stick a guard flush against the wall to block players from using a switch
    behind them, because now the autoaim will get the player.

SVN r2102 (trunk)
2010-01-06 04:36:38 +00:00
Randy Heit
4b65749f92 - Corrected several Strife switches that had the wrong sounds.
SVN r2101 (trunk)
2010-01-06 03:27:37 +00:00
Christoph Oelckers
f300948916 - fixed: Action Doom 2 and Harmony IWADs were missing the GI_MAPxx flag.
SVN r2100 (trunk)
2010-01-05 13:45:07 +00:00
Randy Heit
1aae2895f4 - Fixed: The player setup menu still drew the cursor at the original Y positions.
SVN r2098 (trunk)
2010-01-05 02:56:27 +00:00
Christoph Oelckers
4b64df6778 - fixed: The player setup menu used the main menu's line spacing which
for all non-Doom games was too wide.
- fixed: Strife's dialogues cannot use the new options menu code to draw
  themselves so now they use a stripped down version of the old code.
- Replaced I_MSTime with I_FPSTime in node builder timing because basetime
  will not be initialized yet if a map is started directly from the commandline.


SVN r2096 (trunk)
2010-01-03 10:04:56 +00:00
Randy Heit
8bbd90b200 - Merge latest ZDBSP changes into trunk.
SVN r2094 (trunk)
2010-01-03 01:03:44 +00:00
Randy Heit
56ab0e681d - Revert revision 2071.
SVN r2092 (trunk)
2010-01-03 00:54:34 +00:00
Christoph Oelckers
6b5089e53f - reverted r2089 because it didn't do what it was supposed to.
SVN r2091 (trunk)
2010-01-03 00:13:37 +00:00
Christoph Oelckers
1c2cc7bd3a - fixed: The GAMEINFO parser needs to use C mode.
SVN r2089 (trunk)
2010-01-02 23:37:43 +00:00
Christoph Oelckers
92b8ac26c0 - fixed: Polyobjects could contain segs that weren't flagged as such.
SVN r2081 (trunk)
2010-01-02 13:17:47 +00:00
Christoph Oelckers
435861d671 - fixed: Trying to show a popup crashed in the SBARINFO code because of a
missing NULL pointer check.


SVN r2080 (trunk)
2010-01-02 12:50:37 +00:00
Christoph Oelckers
ff95948017 SVN r2079 (trunk) 2010-01-02 12:40:07 +00:00
Christoph Oelckers
840fc6bfa3 - fixed: Only ActorMovers should go into STAT_ACTORMOVER, not all PathFollowers.
SVN r2078 (trunk)
2010-01-02 12:15:47 +00:00
Christoph Oelckers
efb420228c - fixed: SBARINFO's DrawGem command accepted a size value of 0 and divided
by it. Reinstated the old '+1' this command had in the old code.


SVN r2077 (trunk)
2010-01-02 12:03:36 +00:00
Christoph Oelckers
87f3c9c5b7 - fixed: The floor waggle code used FloatBobOffsets as sine table but this
only has 64 entries and is not precise enough. It now uses finesine instead.
- fixed: When compositing a multipatch texture any patch that is a multpatch
  texture itself and contains rotations may not be composited directly into
  the destination buffer. This must be done with an intermediate buffer.
- Fixed: Drawing a slider in the options menu did not scale the x-coordinate.
- Fixed: If the alt HUD had to draw negative numbers the minus sign was misplaced
  due to incorrect texture coordinate calculations.
- changed option menu scaling for widescreen modes so that it doesn't scale down
  so quickly. 
- made some error messages in DECORATE that don't affect the parsing non-fatal
  so that the parser can continue to find more problems.

SVN r2076 (trunk)
2010-01-02 11:38:27 +00:00
Christoph Oelckers
54283ee231 - unquoted strings should still work for GAMEINFO...
SVN r2074 (trunk)
2010-01-01 18:02:30 +00:00
Christoph Oelckers
90ea0c3f6f - added initial support for a GAMEINFO lump in PWADs. When the game is started
all files loaded with '-file' are scanned for this lump. This lump is read
  before any WAD initialization takes place, in particular the IWAD is not yet
  loaded at this time. This allows PWADs the option to specify an IWAD they 
  want to run with and optionally autoload external resource WADs.
- Fixed a few places where FixPathSeperator was called with a locked FString buffer.
  It's better to use the FString version of this function instead.


SVN r2073 (trunk)
2010-01-01 15:31:00 +00:00
Christoph Oelckers
370eff9014 - replaced wadlist_t with an array of FStrings and added a list parameter to
everything that eventually calls D_AddFile. Also create the list of files
  loaded on the command line separately to allow further checks on them.


SVN r2072 (trunk)
2010-01-01 12:40:47 +00:00
Christoph Oelckers
bf7ed6258b - fixed: The node builder did not check if all segs could be split properly.
Also removed some fudging that tried to work around this case but produced
  a broken BSP tree on other maps.



SVN r2071 (trunk)
2010-01-01 11:00:58 +00:00
Christoph Oelckers
9aa1e20c77 - Added Blzut3's Solaris patch.
SVN r2070 (trunk)
2010-01-01 09:21:04 +00:00
Christoph Oelckers
3f4f0a8ae4 SBARINFO update:
- Reorganized the SBarInfo code.
- Added interpolate(<speed>) flag to drawnumber, drawbar, and drawgem.  The old
  way of interpolating the health and armor is depreciated.
- Added: armortype to drawswitchableimage loosely based on Gez's submission.
- As an extension to the previous you can now use comparison operators on
  inventory items and armortype in drawswitchableimage.


SVN r2069 (trunk)
2010-01-01 09:11:55 +00:00
Christoph Oelckers
515862636a - Fixed: Heretic's Weredragon (Beast) should not have a melee state.
SVN r2068 (trunk)
2010-01-01 07:11:39 +00:00
Randy Heit
038d99aea4 - Version bump to 2.4.0.
SVN r2065 (trunk)
2010-01-01 01:57:48 +00:00
Christoph Oelckers
b21eb894ae - reverted accidental commit
SVN r2064 (trunk)
2009-12-31 20:50:30 +00:00
Christoph Oelckers
3288d56cac - fixed: FastProjectile was missing all sky checks when the projectile's move
was blocked.


SVN r2063 (trunk)
2009-12-31 09:02:38 +00:00
Randy Heit
bcbf4c3c84 - Fixed: A_ThrowGrenade used the same code as the old fighter flechette, so
it was just as broken at aiming up and down.


SVN r2062 (trunk)
2009-12-31 06:13:47 +00:00
Christoph Oelckers
403ab51781 - needed one more change...
SVN r2061 (trunk)
2009-12-30 19:17:10 +00:00
Christoph Oelckers
fa452ffd41 - My ActorMover fix from earlier today was causing problems with moving sectors
because it exposed a design flaw in the thinker system:
  Having every single actor default to the highest available statnum means that 
  nothing can be placed in a slot where it is guaranteed to be run after all actors 
  have ticked. But this is required for any thinker that moves an actor 
  (i.e. AActorMover and DSectorEffect.) With DSectorEffect it just went unnoticed 
  because they were added at the end of the list so almost nothing they moved was
  behind them in a thinker list. However, when an actor was spawned on a moving 
  floor it did not move smoothly. The default statnum is now 100 so that there's 
  sufficient slots above where such thinkers can be placed.


SVN r2060 (trunk)
2009-12-30 18:53:14 +00:00
Christoph Oelckers
26c33afafb - fixed: Movement performed by actor movers was not interpolated because
it happened outside the moved actor's Tick function. This got particularly
  obvious with moving skybox viewpoints (See Daedalus's MAP21 intro for a good
  example.)


SVN r2059 (trunk)
2009-12-30 12:20:47 +00:00
Christoph Oelckers
66c2e4b540 - Added ACS stubs for GZDoom's new SetGlobalFogParameter action special.
SVN r2058 (trunk)
2009-12-29 22:53:45 +00:00
Randy Heit
64789b9111 - Fixed: Shooting up and down with AArtiPoisonBag3::Use() was completely
broken. I don't know what I thinking when I plugged in 2*finesine[pitch]
  for Hexen's lookdir, because that's totally wrong. Not only is the
  magnitude far too low, but it also aims in the opposite direction you
  are looking. The new code only attempts to be close to Hexen's original
  while looking straight ahead and extrapolates that to other angles using
  proper 3D math.


SVN r2057 (trunk)
2009-12-29 04:50:56 +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
3d40dbb659 - merged all portals with the same displacement together. While this provides
a mild performance increase it's not what I hoped it would do...
- Moved portal initialization for the portal things to P_SpawnSpecials
  instead of having the things self-initialize in PostBeginPlay. This was
  done to ensure that the portals are fully set up when the game begins.
  Otherwise there is no decent way to let the renderer post-process this
  information during setup.
- Changed: For 800x600 the default scaling handling of the options menu
  makes it become too small so for any resolution with a width between 
  800 and 959 it has been reverted to the regular clean scaling factor.


SVN r2055 (trunk)
2009-12-28 17:13:30 +00:00
Christoph Oelckers
b6557a82ff - added Hirogen2's Backpack fix for sv_unlimited_pickup.
SVN r2054 (trunk)
2009-12-28 00:07:04 +00:00
Christoph Oelckers
4a8518e4f1 - added a 'copy portal' option so that linedef-based portals can be transferred to sectors that already have a tag.
SVN r2053 (trunk)
2009-12-28 00:01:07 +00:00
Christoph Oelckers
3f059898fd - added a linedef based method to define portals. Portals defined this way
still have the same limitations as those defines with the portal things.


SVN r2052 (trunk)
2009-12-27 15:50:35 +00:00
Christoph Oelckers
69270937dd - crash fix for real this time.
SVN r2051 (trunk)
2009-12-26 07:29:29 +00:00
Christoph Oelckers
07dba2b4fe - The crash state must still be activatable by actors that have MF_CORPSE but not MF6_KILLED.
SVN r2050 (trunk)
2009-12-25 22:57:42 +00:00
Christoph Oelckers
abd9c62983 - fixed usedown code from this morning.
SVN r2049 (trunk)
2009-12-25 16:22:57 +00:00
Christoph Oelckers
350b5943f6 - added PRINT_LOG option to all of the node builder's debug messages because outputting them
to the console takes forever and makes them useless as a debug tool.


SVN r2048 (trunk)
2009-12-25 13:43:08 +00:00
Christoph Oelckers
9747aaa967 - forgot to save actor.txt with the A_Weave declaration.
SVN r2047 (trunk)
2009-12-25 12:03:51 +00:00
Christoph Oelckers
23caac1c9b - Fixed: Decals could spread to walls which had a decal-less texture or
were flagged not to have decals.
- Fixed: DBaseDecal/DImpactDecal::CloneSelf never checked the return value
  from their StickToWall call and left unplaced decals behind if that happened.


SVN r2046 (trunk)
2009-12-25 11:59:37 +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
Randy Heit
b3986a0235 - The options menu no longer scales up so quickly, so it can fit wider text
onscreen. In addition, it now uses the whole height available to it. Also,
  at lower resolutions, items on the compatibility options menu now cut off
  the beginning of the option label rather than the option setting, making
  this menu useable where previously it was not.


SVN r2044 (trunk)
2009-12-25 05:55:51 +00:00
Randy Heit
9eb5fdd276 - Added a channel parameter to the sector overload of SN_StopSequence() so
it can be properly paired with calls to SN_StartSequence().


SVN r2043 (trunk)
2009-12-25 02:19:50 +00:00
Randy Heit
f667e68c94 - Fixed: P_CheckPlayerSprites() ignored the MF4_NOSKIN flag. It now also sets
the X scale, so switching skins while morphed does not produce weird
  stretching upon unmorphing.


SVN r2042 (trunk)
2009-12-25 01:02:19 +00:00