Commit graph

3068 commits

Author SHA1 Message Date
Randy Heit
b7b9c72436 Merged in non-floatbobbing changes from trunk.
Merged revision(s) 3731-3734, 3736-3743, 3745-3751, 3754, 3756-3757, 3761-3766, 3774-3781, 3783-3787, 3791 from zdoom/trunk:
- Added support for Eternity Engine's function pointer ACS instructions.  (Note that an alternative ACS compiler is necessary to use these instructions properly.)
........
- Fixed: ACS function pointer instructions need to call GetFunction on the tagged module instead of the active behavior.
........
- Fixed: DDrawFB should not recreate all its resources when the palette changes if we were
  the one responsible for the palette change.
- Fixed: DDrawFB::CreateSurfacesComplex() starting tries at 2 instead of 0 is not "debugging cruft"
  since it counts down, not up. (Partially reverts r3195)
........
- Do not set the mouse pointer if the display is 8 bit, since such displays don't support color cursors.
........
- Added Hacx 2.0 detection.
........
- Do do not disable config writing before DoGameSetup() (introduced in r3653) if the config file
  does not already exist. This way, we can create a default config file without removing anything
  from an existing config file if things go wrong early during setup.
........
- Don't use abbreviations in exception descriptions.
........
- This was not supposed to be committed as part of r3737.
........
- Fixed: Editing the player (thing #1) with DeHacked would remove its MF2_PUSHWALL flag.
........
- Fixed: The action function version of ACS_NamedExecuteWithResult only accepted three script parameters.
........
- What I didn't have this saved? ugh
........
- We don't need to keep the FloatBobOffsets[] verison of DoWaggle around.
........
- Fixed: MF6_BUMPSPECIAL only worked when bumped from X/Y movement but not Z movement.
........
- Added UsePlayerStartZ MAPINFO option to cause P_SpawnPlayer() to offset the spawned player's
  Z position by the MapThing's Z, just like for any other MapThing.
- P_SpawnPlayer() now respects a player's SPAWNCEILING and SPAWNFLOAT flags.
........
- Fix some GCC 4.7.1 warnings.
........
- Pass playernum as a parameter to P_SpawnPlayer(). Now P_SpawnMapThing() is the only thing
  that uses the MapThing's type to determine the which player is spawning.
........
- Added MAPINFO flag RandomPlayerStarts. In this mode, no voodoo dolls are spawned. Instead, all
  player starts are added to a pool, and players spawn at a random spot.
........
- The complete FMapThing is overkill for storing player starts, so use a new minimal structure for them.
........
- Added the item flag IF_RESTRICTABSOLUTELY. When this is set, players of the wrong class cannot
  pickup an item at all. (For instance, normally players in Hexen can still pick up other players'
  weapons for ammo. With this flag set, they cannot do that either.)
........
- Fixed: PCD_SCRIPTWAITDIRECT had different semantics than PCD_SCRIPTWAIT.
........
- Added PCD_SCRIPTWAITNAMED p-code.
........
- Enumerate ZDaemon's ACSF_ values.
........
- Added compatibility options for Requiem map04 and Hell Revealed map19.
........
- Fixed type in A_Respawn.
........
- 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.
........
- Fixed: FListMenuItemPlayerDisplay could crash at various points if a class does not have a See state.
........
- Fixed: Toggling the automap could cancel out ending the level, among other things.
........
- Remove Item from StateCallData, since it isn't read anywhere.


........
- Added a 90 degree offset to all voxels, since Build's compass directions start at north
  rather than east.
........
- Fixed: R_ExtendSpriteFrames() would change spr.spriteframes even when it wasn't moving them around.
........
- Fixed: hud_scale is supposed use strictly integral scaling factors.
........
- Fix typo: MF6_SEEINVISIBLE is in flags6, not flags.
........
- Fixed typo: Midtextures with world panning replaced rw_midtexturemid with the rowoffset instead of adding them together.
........
- Fixed: Pain flashes were not inheritable.
........
- Fixed: player_t::settings_controller was not serialized.
........
- snd_midipatchset and fluid_patchset are now processed through NicePath() for variable
  substitution. In addition, on Windows, if they contain no path separator, they will
  automatically have $PROGDIR prepended to them.
........
- Fixed: DSBarInfo::ScreenSizeChanged() must call its supermethod.
........
- Fixed: FStateDefinitions::FinishStates() must ResolveGotoLabels before resolving labelled gotos. Otherwise, something like this fails:
      Goto State1
    State1:
      Goto State2
    State2:
  because when "Goto State1" is processed, State1 is still pointing at the string "State2" rather than State2's state, so the goto will end up pointing at a string (which will soon be
  freed from memory) instead of at an actual state.
........
- Fixed: The label offset has no business being involved in the positioning of the options menu cursor. Also put the cursor towards the bottom of tall small fonts.
........
- Remove LabelOffset from menus entirely and just compute things so that the console font and
  small font, when mixed on the same line, align at their baselines.
........
- Remove LabelOffset from menudef.txt.
........
- Fixed: menu_endgame showed no text during a netgame, nor did it block you from ending a netgame.
........
Merged revision(s) 3771, 3782 from zdoom/trunk:
- Draw 1 pixel of border at the edges of the status bar to prevent imprecision HOMs (only top and bottom for non-widescreen for now).
- The completeborder command is handled at the base statusbar now since it can do so more efficiently.
........
- Fixed: 1 pixel border was drawn when there was no status bar.
........



SVN r3793 (2.6)
2012-07-27 23:08:44 +00:00
Randy Heit
00dea1a374 - In preparation for 2.6.1...
SVN r3792 (2.6)
2012-07-27 22:43:37 +00:00
Randy Heit
977db9b4a2 - This should become version 2.6.0.
SVN r3729 (2.6)
2012-07-01 22:52:58 +00:00
Randy Heit
e800522e26 - Fixed: sv_unlimited_pickup did not work with the flechette.
SVN r3727 (trunk)
2012-07-01 22:47:13 +00:00
Randy Heit
8f39e692e7 - Fixed: FCoverageBuffer::InsertSpan() failed to consider the case where the new span starts above
an existing span and ends below it.

SVN r3726 (trunk)
2012-07-01 22:42:35 +00:00
Randy Heit
e61f08478d - Fixed: Revision 3711 broke voxels that need to be drawn offscreen before drawing to the screen.
SVN r3725 (trunk)
2012-07-01 22:30:41 +00:00
Randy Heit
2d8b43734b - Fixed: Revision 3711 broke the drawing of all but the first post in each voxel column.
SVN r3724 (trunk)
2012-07-01 22:18:59 +00:00
Randy Heit
b6fb733a81 - Oh, dear I committed the wrong version of the fix in r3722.
SVN r3723 (trunk)
2012-07-01 03:35:52 +00:00
Randy Heit
a71b2210a1 - Fixed: Do not override the player's sprite if it's TNT1 and the player is uncrouched without
a specific crouch sprite defined by both the player class and skin.

SVN r3722 (trunk)
2012-07-01 03:33:49 +00:00
Randy Heit
4bbc9266e2 - Fixed: FRandom told the expression evaluator that it returned an int instead of a float, so
using it in in any expression would automatically downcast it to an int unless ① its sibling in the expression tree was a float, or ② it was the only thing in the expression.

SVN r3721 (trunk)
2012-07-01 03:16:37 +00:00
Randy Heit
ce8ca26bc9 - Fixed: Don't warn when an Inventory item's Icon is set to "".
SVN r3720 (trunk)
2012-07-01 02:57:00 +00:00
Randy Heit
93a480f52f - Added hud_scale and hud_althudscale to the menus.
SVN r3719 (trunk)
2012-06-30 01:18:26 +00:00
Randy Heit
1346f136f2 - Added inventory-based damage modification to APoisonCloud::DoSpecialDamage() and P_PoisonDamage().
SVN r3718 (trunk)
2012-06-30 01:06:30 +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
Randy Heit
4a3438499e - Use floating point instead of the distrecip() function for slightly less precision loss.
- Tweak voxel sizes and vertical positioning further.

SVN r3716 (trunk)
2012-06-29 03:58:26 +00:00
Christoph Oelckers
006a0b1641 - fixed the Programmer's last state's sprite frame (was Y, should be X.
SVN r3715 (trunk)
2012-06-28 23:11:32 +00:00
Randy Heit
a2b51665ac - Try to keep voxels from shifting up and down depending on how far you are above or below them.
SVN r3714 (trunk)
2012-06-28 05:22:40 +00:00
Randy Heit
a3dc2149d4 - Adjust voxel scale further, under Enjay's tutelage.
SVN r3713 (trunk)
2012-06-28 04:55:44 +00:00
Randy Heit
687b371dbd - Whoops. That doesn't work right if it needs to actually draw more than one column segment from each voxel strip.
SVN r3712 (trunk)
2012-06-28 04:33:49 +00:00
Randy Heit
1fc138400b - Allow voxels to be further off the side of the screen than regular sprites, since they can stick out more.
- Clip each column of voxel strips individual, rather than clipping them all the same as the first one.

SVN r3711 (trunk)
2012-06-28 04:24:29 +00:00
Christoph Oelckers
a2c975bf30 - fixed: stommus CCMD did not clear the last played song so it got restarted if a volume change occured
SVN r3710 (trunk)
2012-06-24 12:38:23 +00:00
Randy Heit
e5dfb6f42b - This hasn't been 2.5.0 for ages...
SVN r3709 (trunk)
2012-06-24 04:06:05 +00:00
Randy Heit
f897b1a1a2 - Make voxels slightly larger so that the size of one 3D "texel" is the same as one 2D texel at the same location.
SVN r3708 (trunk)
2012-06-24 03:56:53 +00:00
Randy Heit
41f2337e7a - Fixed: Texture positioning for one-sided lines marked ML_DONTPEGBOTTOM was wrong.
SVN r3707 (trunk)
2012-06-22 04:07:53 +00:00
Randy Heit
70c11f7568 - Added RGF_CENTERZ to spawn a rail from the actor's center instead of offsetting it upward.
- Merged all the multiple bool parameters to the railgun functions into a single flags parameter.

SVN r3706 (trunk)
2012-06-22 03:56:08 +00:00
Randy Heit
c53c14b8c6 - Fixed: FDecalGroup::GetDecal() crashed if there were no decals defined for the group.
SVN r3705 (trunk)
2012-06-22 03:30:57 +00:00
Christoph Oelckers
8bbe241dcf - fixed: A_Saw used the target acquired by P_AimLineAttack for determining if it hit something, not the actual victim of the attack. This is particularly incorrect if the target is a ghost or a spectal monster.
SVN r3704 (trunk)
2012-06-21 09:11:00 +00:00
Christoph Oelckers
690e01d4fc - unset CF_FLY cheat flag when a player is spawned.
SVN r3703 (trunk)
2012-06-21 09:00:02 +00:00
Christoph Oelckers
814ce3d39c - fixed: The D3D FlatFill function ignored the alpha channel, unlike its counterpart in the paletted renderer.
SVN r3702 (trunk)
2012-06-21 08:54:50 +00:00
Christoph Oelckers
a8ac550827 - fixed: a few DECORATE commands had incorrect parameter lists.
SVN r3700 (trunk)
2012-06-21 07:55:59 +00:00
Braden Obrzut
d652acb9e4 - Fixed: Auxilery statusbars didn't respect the forcescaled flag.
SVN r3699 (trunk)
2012-06-19 05:22:24 +00:00
Christoph Oelckers
67e4d93395 - fixed: The Wraithverge's sprits couldn't be blasted anymore due to some incomplete changes related to how A_Blast handles the blast strength. AHolySpirit::SpecialBlastHandling still used the obsolete BLAST_FULLSTRENGTH constant.
SVN r3698 (trunk)
2012-06-17 10:28:55 +00:00
Randy Heit
7d3d09e523 - Quadruple ACS runaway limit to 2 million instructions.
SVN r3697 (trunk)
2012-06-17 04:06:52 +00:00
Randy Heit
c8dede941c - Comment fix.
SVN r3696 (trunk)
2012-06-17 04:04:41 +00:00
Randy Heit
61742ee3a9 - Fixed: Heightsecs with SECF_FAKEFLOORONLY set should not clip sprites to the fake ceiling (since
it doesn't really exist).

SVN r3695 (trunk)
2012-06-17 03:28:04 +00:00
Randy Heit
b982482f74 - Fixed: P_LineAttack() calls that use damage type 'None' should use 'Hitscan' instead.
SVN r3694 (trunk)
2012-06-17 03:18:26 +00:00
Christoph Oelckers
37d9519673 - added Xaser's submission for no impact damage from blasting.
SVN r3693 (trunk)
2012-06-16 09:01:05 +00:00
Christoph Oelckers
ff25785781 - removed the MF5_FASTER and MF5_FASTMELEE flags and replaced them with a 'Fast' state flag.
SVN r3692 (trunk)
2012-06-16 08:35:51 +00:00
Randy Heit
6e5c048df8 - Bah, you, GCC.
- Forgot to remove the _heapchk() calls.



SVN r3691 (trunk)
2012-06-16 04:28:23 +00:00
Randy Heit
661e33f364 - Added the CCMD listsnapshots to show which maps have savedata stored.
SVN r3690 (trunk)
2012-06-16 04:05:31 +00:00
Randy Heit
08272a29ad - Added textual descriptions of the zlib errors.
SVN r3689 (trunk)
2012-06-16 03:29:44 +00:00
Randy Heit
c197d0687c - Fixed: FinalGC() needs to run before the type system is shut down.
- Fixed: Don't access class metadata at all in DObject::PropagateMark if the type system is shutdown.
- Fixed: If FCompressedMemFile::Reopen() fails, then it would try to double-free memory when deleted.

SVN r3688 (trunk)
2012-06-16 03:10:38 +00:00
Christoph Oelckers
970d5afcd2 - fixed: The text screen's color #6 should be brown, not dark yellow.
SVN r3687 (trunk)
2012-06-15 07:17:30 +00:00
Braden Obrzut
af30e933e4 - Fixed: Direct instructions need to tag their strings before lookup.
SVN r3686 (trunk)
2012-06-11 21:46:47 +00:00
Christoph Oelckers
3d7c6811c1 - The bouncing check from r3643 cannot be applied retroactively to the existing DOOMBOUNCE flag because mods depend on the old behavior. Instead of modifying BOUNCE_OnOff's behavior the correct way of doing this has to be implemented as a separate flag in order to avoid problems.
SVN r3685 (trunk)
2012-06-10 10:17:49 +00:00
Christoph Oelckers
e094e1b515 - restored the old underwater sinking code for players.
SVN r3684 (trunk)
2012-06-09 18:54:53 +00:00
Christoph Oelckers
ba9f29531e - fixed: The music name wasn't recorded when a song was started with music volume set to 0.
SVN r3683 (trunk)
2012-06-09 14:41:18 +00:00
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