Commit graph

4871 commits

Author SHA1 Message Date
Randy Heit
6a3b07c441 - Removed the BuildString() override that took a char** argv, because it was used nowhere.
- Fixed: BuildString() failed to properly generate command lines for arguments with embedded "
  characters.

SVN r4025 (trunk)
2013-01-11 03:21:46 +00:00
Randy Heit
3111b6e7b0 - Do not clear the CF_WEAPONSWITCHOK flag each tic, so that the last setting from A_WeaponReady
will carry over until the next A_WeaponReady. Changed P_CheckWeaponSwitch() to clear any
  pending weapon requests while weapon switching is disabled.

SVN r4024 (trunk)
2013-01-11 02:53:11 +00:00
Randy Heit
7fb0d37d99 - Added a flag to A_M_Refire to ignore the actor's missile state, so the rocket marine will
not continue to punch air if it starts attacking while its target is in melee range and
  then moves out of it.

SVN r4021 (trunk)
2013-01-06 04:15:28 +00:00
Randy Heit
22e52776e3 - In UpdateJoystickConfigMenu(), do not access joy before checking if it's NULL.
SVN r4019 (trunk)
2013-01-03 03:12:07 +00:00
Randy Heit
424fcb4cba - Initialize sprframe to NULL in FListMenuItemPlayerDisplay::Drawer().
SVN r4018 (trunk)
2013-01-03 03:08:45 +00:00
Randy Heit
6b67cd560a - Add NULL decal check to FDecalLib::ParseGenerator().
SVN r4017 (trunk)
2013-01-03 03:07:18 +00:00
Randy Heit
814cb4d135 - Move NULL player check earlier in P_PoisonDamage, before player is accessed.
SVN r4016 (trunk)
2013-01-03 03:05:44 +00:00
Randy Heit
4601954248 - Added CHANGELEVEL_PRERAISEWEAPON flag for use with ACS's ChangeLevel.
SVN r4014 (trunk)
2013-01-03 02:18:19 +00:00
Randy Heit
787c338871 - Added MAPINFO flag "SpawnWithWeaponRaised".
SVN r4013 (trunk)
2013-01-03 02:08:08 +00:00
Randy Heit
549712e719 - P_DamageMobj() now returns the amount of damage actually done so that the bleed functions
can perform based on the amount of damage actually taken after all modifications are done to
  it. However, if the damage is canceled away, blood will still spawn for the original damage
  amount rather than the modified amount.

SVN r4012 (trunk)
2013-01-02 04:39:59 +00:00
Randy Heit
60fb004a78 - Do not double-scale player classes that use non-1.0 default scales.
SVN r4011 (trunk)
2013-01-02 03:52:58 +00:00
Randy Heit
002aa807c5 - Fixed: Don't use the player skin in the cast call if the class being shown has been removed
from the PlayerClasses array (and therefore does not have a valid default skin).

SVN r4010 (trunk)
2013-01-02 03:44:42 +00:00
Randy Heit
ca2d75307c - Do not "wake" Oracle spectres that killed an Oracle. (Because if they killed it, they're
obviously already awake. Also, we don't want them to end up targeting themselves.)

SVN r4009 (trunk)
2013-01-02 03:35:08 +00:00
Randy Heit
115b70f6d8 - Do not wake Oracle spectres that are dead.
SVN r4008 (trunk)
2013-01-02 03:27:12 +00:00
Randy Heit
dfe470e5f2 - Added JLOSF_NOAUTOAIM flag for when you want to use A_JumpIfTargetInLOS in conjunction with
something that never autoaims, such as a railgun.
- Fixed: A_JumpIfTargetInLOS should use P_AimLineAttack() instead of P_BulletSlope(), because the
  latter intentionally checks to the sides of the aimed line.

SVN r4007 (trunk)
2013-01-02 03:17:52 +00:00
Randy Heit
4228386837 - Fixed: When P_Add3DFloor() adds the "inside" plane, it needs to copy the translucency flags
from the original plane.

SVN r4006 (trunk)
2013-01-02 03:01:03 +00:00
Randy Heit
efbaab3440 - Never set the player actor's scale to the skin's directly. Only do it indirectly through
P_CheckPlayerSprite().

SVN r4005 (trunk)
2013-01-02 02:26:22 +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
db01832519 - Fixed: The resurrect cheat also needs to restore the player's radius.
SVN r4003 (trunk)
2013-01-02 01:34:27 +00:00
Christoph Oelckers
b3ada01bbd - Added Gez's patch to show the berserk icon on the alt. HUD and added a menu option for this setting.
SVN r4002 (trunk)
2012-12-22 22:37:58 +00:00
Randy Heit
21ada0b3f6 - Fixed: When the player sprite is being drawn with a fixed colormap, hardware acceleration
should not be disabled when the regular colormap has lights that stay bright throughout.

SVN r4001 (trunk)
2012-12-22 02:57:35 +00:00
Randy Heit
682c7d2a8a - Fixed: The originx and originy for the textured automap is supposed to be calculated after
rotating originpt by the automap, not before.

SVN r3998 (trunk)
2012-12-22 00:55:27 +00:00
Randy Heit
c114113fe8 - Fixed: Sky floors should not be drawn in the textured automap.
SVN r3997 (trunk)
2012-12-22 00:26:26 +00:00
Randy Heit
f45c624769 - Changed default FluidSynth reverb and chorus parameters to the ones suggested here: http://forums.scummvm.org/viewtopic.php?p=72972&sid=d139e99a13359541ead07073112e3888#72972
SVN r3995 (trunk)
2012-12-21 23:59:55 +00:00
Randy Heit
3123925fa8 - Fixed: Changing fluid_chorus and fluid_reverb did not take effect until the next song started.
SVN r3994 (trunk)
2012-12-21 23:58:33 +00:00
Randy Heit
849f30daab - Changed synth.chorus.active and synth.reverb.active settings to use fluid_settings_setint(),
since they're int and not string settings.
- Fixed: FluidSynthMIDIDevice::FluidSettingInt() interpreted the return value from fluid_settings_setint() wrongly.

SVN r3993 (trunk)
2012-12-21 23:22:59 +00:00
Randy Heit
3eb9953930 - Fix type conversion warning in file_wad.cpp.
SVN r3992 (trunk)
2012-12-21 22:48:40 +00:00
Randy Heit
2022d64ee2 - Do not crash when reading ATAG chunks on processors that don't like unaligned accesses.
SVN r3991 (trunk)
2012-12-21 22:47:55 +00:00
Braden Obrzut
e8731c7571 - Added support for Eternity's JUMP table and PCD_GOTOSTACK (again, requires advanced compiler).
SVN r3990 (trunk)
2012-12-20 04:17:18 +00:00
Braden Obrzut
86291fcd96 - Added support for Eternity's ATAG chunk (mixed-type arrays). Requires a structure aware compiler (not ACC).
SVN r3989 (trunk)
2012-12-17 19:17:02 +00:00
Christoph Oelckers
deff47ea18 - fixed: The map loader did not check for the new node formats.
SVN r3982 (trunk)
2012-12-07 07:40:41 +00:00
Randy Heit
d77297e969 - Added support for loading ZGL3/XGL3 nodes.
- Added additional debug spew for the nodebuilder.
- Restore the nodebuilder's debug spew that was present in ZDBSP but not the internal version.
  Use the CRT's printf for this output to ensure that it is identical to ZDBSP's output for the
  same input.

SVN r3980 (trunk)
2012-12-07 06:16:07 +00:00
Randy Heit
b1543fdc08 - Skip 3D floors in the textured automap that are not set to draw their planes.
- Fixed: The textured automap also needs to take the texture origin for 3D floors from the control sector.

SVN r3978 (trunk)
2012-12-04 03:47:10 +00:00
Randy Heit
736c7f093a - Fixed: The textured automap used the main sector's floor's rotation and scaling when drawing 3D floors.
SVN r3977 (trunk)
2012-12-04 03:37:52 +00:00
Randy Heit
3a3e9c7063 - Fixed: Flipping textures horizontally also flipped the scrolling direction.
SVN r3976 (trunk)
2012-12-04 03:24:25 +00:00
Randy Heit
ea5d2346bf - Added a negative yrepeat case to wallscan_np2() for upside-down non-power-of-2 textures.
SVN r3975 (trunk)
2012-12-04 03:14:02 +00:00
Randy Heit
a57c22981e - Fix positioning of upside-down textures. Note that wallscan_np2() still needs to be modified
to understand negative yrepeats.

SVN r3974 (trunk)
2012-12-04 02:42:53 +00:00
Braden Obrzut
c845675b9b - Fixed: When using PALVERS on the sky, it used the scaling from the true color version. (Side Note: I changed a line that scales the sky position according to the y scaling factor. This is because a 2x high resolution sky at 2048x256 wasn't positioned the same as a 1024x128 unscaled version. I moved the expression to the > 200 height path only, but I'm not sure if it's even still needed.)
- Fixed: PALVERS crashed with unknown textures since a value was never given for %s.
- Fixed: FON2 loader didn't set ActiveColors correctly.

SVN r3973 (trunk)
2012-11-30 23:36:02 +00:00
Randy Heit
c5ffb499ee - Massage the Java-basd OPL3 emulator so that it can compile with GCC.
SVN r3972 (trunk)
2012-11-20 02:16:08 +00:00
Randy Heit
26c702ada5 - Fixed: Intermission text could run off the bottom of the screen at some resolutions.
SVN r3971 (trunk)
2012-11-19 02:16:34 +00:00
Christoph Oelckers
7aa4c55bfc - added Gez's patch to fix map checksum calculation.
SVN r3970 (trunk)
2012-11-19 00:43:45 +00:00
Randy Heit
5627a7ebd7 - Added the Java OPL3 emulator to the menu.
- Added full panning support to the Java OPL3 emulator.

SVN r3969 (trunk)
2012-11-17 05:26:03 +00:00
Randy Heit
93bd380fee - Optimize the Java-based OPL3 emulator some by not calling expensive math functions liberally during the rendering loop.
SVN r3968 (trunk)
2012-11-16 06:27:03 +00:00
Randy Heit
e59d7bc8b8 - Since we have two OPL cores now, what's one more? Added a straight, (highly) unoptimized port
of the Java OPL3 emulator.

SVN r3967 (trunk)
2012-11-15 05:23:24 +00:00
Randy Heit
e3b95a99e9 - Fixed: Having a WrapWidth doesn't do much good if you never use it.
SVN r3964 (trunk)
2012-11-10 22:45:15 +00:00
Randy Heit
a71736b598 - Fixed: If there are not enough states for a spawned debris chunk, A_SpawnDebris should still
fling it somewhere.

SVN r3963 (trunk)
2012-11-10 03:38:52 +00:00
Randy Heit
f4e108552e - Fixed: pr_statetics must be named, since it's critical to sync.
SVN r3962 (trunk)
2012-11-10 03:36:30 +00:00
Randy Heit
e398957a4c - Added cybermind's HUD message clipping patch, with numerous changes. There is a new flag
and two new functions, both of which are intended for use in conjunction with SetHUDSize:
  * SetHUDClipRect(x, y, width, height[, wrapwidth]) - Set the clipping rectangle for future
    HUD messages. If you do not specify <wrapwidth>, the HUD message will be layed out as
    normal, but pixels outside the rectangle will not be drawn. If you specify <wrapwidth>,
    then the message will be wrapped to that width. Use SetHUDClipRect(0, 0, 0, 0[, 0]) to
    reset everything
    back to normal.
  * SetHUDWrapWidth(wrapwidth) - Sets the wrapping width for future HUD messages without
    altering the clipping rectangle. If you set the wrapping width to 0, messages will wrap
    to the full width of the HUD, as normal.
  * HUDMSG_NOWRAP - A HUDMessage() flag that disables wrapping for one message. It is
    functionally equivalent to SetHUDWrapWidth(0x7FFFFFFF), except that it only affects the
    message it's attached to.

SVN r3960 (trunk)
2012-11-10 03:18:52 +00:00
Randy Heit
955d929d5e - Ensure that only actor with positive SpawnIDs get added to the SpawnableThings map, so there will
be no conflicts with recently-added named arguments for spawnable things on UDMF maps.
- Change the SpawnableThings array into a map, so there is no longer any particular upper limit on an actor's SpawnID. Also fixes a possible exploit, since an actor's SpawnID was never checked to make sure it was within range.

SVN r3959 (trunk)
2012-11-09 23:53:58 +00:00
Randy Heit
3c54047b9f - Added Gez's "Using arg*str instead of SpawnID" patch, with modifications.
SVN r3958 (trunk)
2012-11-09 23:25:56 +00:00
Randy Heit
a4312fb106 - Fix spelling errors spotted by Gez in a few comments.
SVN r3957 (trunk)
2012-11-09 23:13:50 +00:00
Randy Heit
2ce1debe8d - Added FDARI's get actor height and radius patch.
SVN r3955 (trunk)
2012-11-09 23:06:40 +00:00
Randy Heit
4f811b89e5 - Remove testing bit inadvertently left in for r3951.
SVN r3953 (trunk)
2012-11-09 17:18:47 +00:00
Randy Heit
db4d58b2b8 - Fixed: The resurrect cheat also needs to restore flags6 to their default settings.
SVN r3952 (trunk)
2012-11-09 05:20:15 +00:00
Randy Heit
181cfd80b2 - Fixed: Monsters stepping down in A_Chase() should trigger SECSPAC_HitFloor actions.
SVN r3951 (trunk)
2012-11-09 05:14:47 +00:00
Randy Heit
8670d6e4f4 - The raw OPL music player no longer checks against the chip count for writing to the second
OPL2; OPLwriteReg() will now do nothing when called to act on a chip that doesn't exist. This
  is so that it can use the second half of a single OPL3.

SVN r3949 (trunk)
2012-11-09 04:57:25 +00:00
Randy Heit
b513931473 - Move panning volume calculation out of the OPL chips and into the player.
SVN r3948 (trunk)
2012-11-09 04:53:31 +00:00
Randy Heit
064ef07b76 - It seems I forgot to add this stuff to the repository.
SVN r3947 (trunk)
2012-11-08 23:13:51 +00:00
Randy Heit
3ec387ac32 - Renamed opl_stereo to opl_fullpan, since DOSBox's core is emulating an OPL3, which is stereo
but only supports three pan positions and not the full 127 MIDI pan positions.
- Added opl_core cvar to select emulator core. 0 is MAME and 1 is DOSBox.
- Added DOSBox's LGPL OPL core, distantly related to one adlibemu.c written by Ken Silverman
  (not to be confused with the ancient MAME-derived and GPL-licensed core also found in DOSBox).
  I believe this corresponds to their "compat" emulator, but I'm not sure.

SVN r3946 (trunk)
2012-11-08 05:45:58 +00:00
Randy Heit
12ee3271c4 - Replaced the opl_onechip cvar with opl_numchips. You can now emulate up to 8 of them for MIDI
playback. (Raw OPL playback will still clamp it to 2, since there's no use for more than that
  with any of the raw OPL formats.)

SVN r3945 (trunk)
2012-11-06 06:10:04 +00:00
Randy Heit
54ad69ebad - Call init_tables() directly from the YM3812 constructor.
SVN r3944 (trunk)
2012-11-06 05:35:43 +00:00
Randy Heit
1d81162d8f - Fix bug from preceding commit: OPL chips were forced stereo. Also, DiskWriterIO::OPLinit()
should return the number of initialized chips, not just 0 and 1.

SVN r3943 (trunk)
2012-11-06 05:29:44 +00:00
Randy Heit
df1e802412 - Make OPL emulation more of a black box.
SVN r3942 (trunk)
2012-11-06 05:21:00 +00:00
Randy Heit
47d9859246 - Remove external event callback handlers from fmopl.cpp.
SVN r3941 (trunk)
2012-11-06 04:40:01 +00:00
Randy Heit
1640f841e8 - More culling from fmopl.cpp; make the rate parameters constants since it sounds bad with anything but the real clock rate.
SVN r3940 (trunk)
2012-11-06 04:34:44 +00:00
Randy Heit
92c7c06310 - Remove unused cruft from fmopl.cpp.
SVN r3939 (trunk)
2012-11-06 04:16:58 +00:00
Randy Heit
971eca7d61 - Fixed: Player sounds that explicitly use dsempty will now properly silence the sound instead of
looking for a more audible version.

SVN r3938 (trunk)
2012-11-03 03:43:05 +00:00
Randy Heit
65267ec250 - Use an FString to store demoname instead of a fixed-size array. Fixes crashes when passing
really long names to -record. On the other hand, if it's long enough to overflow the old
  buffer, it'll probably fail to be created now because the name is too long for the OS
  functions.

SVN r3936 (trunk)
2012-11-03 03:07:46 +00:00
Randy Heit
f8c1d5d520 - Fixed: Masked mid textures should get their light level from the frontsector they reference,
not from the sector they appear in.

SVN r3935 (trunk)
2012-11-03 02:50:33 +00:00
Randy Heit
ecf700b47b - Fixed: Corpse queue accounting went awry once things started being kicked out of it.
SVN r3934 (trunk)
2012-11-03 02:21:55 +00:00
Randy Heit
0f0dcc08a2 - Added a new UDMF sidedef flag: lightfog.
SVN r3933 (trunk)
2012-11-03 02:02:42 +00:00
Randy Heit
d0c3c924d4 - Initialize the nerve checksum at compile-time instead of run-time.
- Fixed: Crash in FWadCollection::RenameNerve() for files without a FileReader object.

SVN r3932 (trunk)
2012-11-03 00:38:58 +00:00
Randy Heit
aab12c6b0c - Fixed: Crash when using an inventory bar with the Strife style but no INVCURS graphic.
SVN r3931 (trunk)
2012-11-03 00:12:38 +00:00
Randy Heit
b3f68527cf - It seems I had an unsaved file when I made the last commit, which is strange since I thought I
had just done a build before committing.

SVN r3930 (trunk)
2012-11-02 22:25:05 +00:00
Randy Heit
3b0ad55285 - Since our OPL chips are emulated, we can give them a feature that real OPL2 chips lacked:
Full stereo panning for the MIDI player. (The raw OPL players are unaffected.) To get the
  mono output back, you can set opl_stereo to false.
- Changed SoftSynthMIDIDevice::OpenStream() to allocate the same number of samples for stereo
  and mono streams.

SVN r3929 (trunk)
2012-11-02 03:25:50 +00:00
Braden Obrzut
1b5bff9603 - Fixed: Solaris compile.
SVN r3928 (trunk)
2012-11-01 18:23:39 +00:00
Randy Heit
4f71176ed6 - Support loading either fluidsynth.dll or libfluidsynth.dll on Windows.
SVN r3927 (trunk)
2012-11-01 03:01:04 +00:00
Randy Heit
bfae51ed2e - Added Gez's BFG edition patch.
SVN r3926 (trunk)
2012-11-01 02:42:14 +00:00
Braden Obrzut
d393434d56 - Fixed: Broke UDMF in PK3 loader.
SVN r3905 (trunk)
2012-10-24 23:49:34 +00:00
Braden Obrzut
d833a6015d - Fixed some compiler warnings.
SVN r3901 (trunk)
2012-10-22 23:47:09 +00:00
Braden Obrzut
3ec5f7ed88 - Run down the semaphores so they behave more like a mutex (note: mutexes/condition variables seem to be much slower).
- Fixed: vid_maxfps and cl_capfps could run into a deadlock on Linux based operating systems.

SVN r3900 (trunk)
2012-10-22 23:42:20 +00:00
Braden Obrzut
cd2c1f6816 - Remove 255 character length restriction on lump names.
- Removed directory checking for big endian wads since the header check should be sufficient.

SVN r3899 (trunk)
2012-10-22 21:58:52 +00:00
Braden Obrzut
4b218c1c18 - Added support for compression in wads and big endian wads (which basically means the Jaguar Doom wad can be loaded as a pwad although it's pretty ugly since the graphic formats aren't supported).
SVN r3898 (trunk)
2012-10-22 19:54:13 +00:00
Braden Obrzut
b52c3238eb - Instead of implementing the wad code in three places, use the normal resource code for map loading and GL node loading.
SVN r3897 (trunk)
2012-10-22 01:28:11 +00:00
Braden Obrzut
df5d43badf - OK, so we can't have vid_maxfps on OS X since there does not appear to be an equivalent to POSIX timers. The only thing I could find would require Objective-C and an event loop.
SVN r3892 (trunk)
2012-10-18 00:57:56 +00:00
Braden Obrzut
1907983ab7 - Ported frame rate limiting code to SDL.
SVN r3891 (trunk)
2012-10-17 19:45:04 +00:00
Braden Obrzut
441f633983 - Moved Sqrt, FixedSqrt, and VectorLength to ACSF_ instead of adding new opcodes.
SVN r3888 (trunk)
2012-10-13 22:55:44 +00:00
Randy Heit
f3b40a9f36 - Fixed: WeaponGiver needs to set the MF_DROPPED flag of the spawned weapon to match its own (so
that it can't be used as an infinite source of ammo when sv_weaponstay is true).
- Fixed: WeaponGiver should not remember the given weapon after it is picked up (to avoid giving
  a weapon owned by one player to a different player when sv_weaponstay is true).

SVN r3886 (trunk)
2012-10-11 04:38:52 +00:00
Randy Heit
81ce8b28f2 - Added the Inventory flag IF_NEVERRESPAWN.
SVN r3885 (trunk)
2012-10-11 04:12:35 +00:00
Randy Heit
924cd3ef38 - Added sqrt, fixedsqrt, and vectorlength to ACS.
SVN r3883 (trunk)
2012-10-11 03:38:12 +00:00
Braden Obrzut
5011a0dede - Fixed: FString::Insert copied too many charactes.
SVN r3882 (trunk)
2012-10-09 23:05:59 +00:00
Randy Heit
934c27d34a - Fixed: R_GetColumn() needs to clamp negative column indexes to be inside the texture if the
texture's width isn't a power of 2.

SVN r3881 (trunk)
2012-10-05 04:21:34 +00:00
Randy Heit
12e1901150 - Fixed: FListMenuItemPlayerDisplay::Drawer() used the sprite's scale but not the texture's scale.
SVN r3880 (trunk)
2012-10-05 03:48:51 +00:00
Randy Heit
864fb5798e - Added desaturated translation support to ACS.
SVN r3878 (trunk)
2012-09-20 02:14:43 +00:00
Randy Heit
9a28216e30 - Added HUDMSG_ALPHA flag. To use alpha with hud messages, you now need to include this flag,
so old mods with extra arguments to hudmessage don't produce unexpected results.

SVN r3876 (trunk)
2012-09-20 02:06:50 +00:00
Randy Heit
d28ebe543b - Changed FRemapTable::AddDesaturation() to take doubles as parameters, since the C ABI always
passes doubles to functions anyway.
- Fixed: FRemapTable::AddDesaturation() excluded the final entry from the loop. Also, it was
  less forgiving than AddColorRange, in that it did not support ranges in descending order.

SVN r3875 (trunk)
2012-09-19 01:45:00 +00:00
Randy Heit
a0f19fc788 - Fixed: When P_MoveThing() moves the current camera, it also needs to reset the view interpolation.
SVN r3874 (trunk)
2012-09-16 04:59:01 +00:00
Randy Heit
44b1879553 - Increased max resolution to 5760x3600, which is enough to do 2x supersampling on the currently
largest resolution monitors available (which is the MacBook Pro with Retina Display's 2880x1800).

SVN r3873 (trunk)
2012-09-16 04:51:28 +00:00
Randy Heit
11ca707485 - Added vid_maxfps cvar to limit the frame rate to some arbitrary rate between 35 and 1000 FPS. It
defaults to 200. Setting it to 0 will restore the previous behavior of having no frame rate
  limit. Note that vid_maxfps 35 is NOT the same as cl_capfps 1. cl_capfps caps the frame rate
  by tying the video update directly to the game timer. With vid_maxfps 35, the video update and
  game timer are running on separate timers, and results will not be as good as with cl_capfps 1,
  which uses only one timer.

SVN r3872 (trunk)
2012-09-16 04:40:56 +00:00
Randy Heit
8f81f57ce7 - Don't notify when other players use the chasecam in deathmatch.
SVN r3869 (trunk)
2012-09-09 03:07:41 +00:00
Randy Heit
a2c761bee6 - The chasecam is now only considered a cheat for deathmatch mode. (For that, there is still
the sv_chasecam flag in dmflags2.)

SVN r3868 (trunk)
2012-09-09 03:01:49 +00:00
Randy Heit
c4859261ab - Reformatted the info ccmd to be less verbose.
SVN r3866 (trunk)
2012-09-09 02:36:53 +00:00
Randy Heit
a77705e04e - Added A_JumpIfTargetOutsideMeleeRange and A_JumpIfTargetInsideMeleeRange because I thought
I could be clever and have the beggar chase after you some after you attack him, with a
  random chance to cease pursuit. However, that didn't look much different from his normal
  wandering animation, and he usually gave up before getting anywhere near you, so it was
  kind of pointless. I kept the action functions around anyway, since they're simple things that
  somebody else might find useful.
- Added a melee range check to A_SentinelRefire for actors without missile states. This fixes
  Strife's Beggar trying to attack you when you're nowhere near him.

SVN r3863 (trunk)
2012-09-06 03:36:25 +00:00
Randy Heit
ef55ce8684 - Fixed: P_SpawnBlood() would set Strife's Blood to the Spray state and then promptly go about setting it right back to the Spawn state.
SVN r3862 (trunk)
2012-09-01 22:39:11 +00:00
Randy Heit
111b5c60c1 - Fixed: The check in P_SpawnBlood() to avoid advancing the state to something not owned by
the spawned blood actor was backwards and would only advance to state's NOT owned by it.

SVN r3861 (trunk)
2012-09-01 22:34:09 +00:00
Randy Heit
6a91335841 - Turned A_Explode's affectsource parameter into a flags parameter and added XF_NOTMISSILE
and RTF_NOTMISSILE so that you can use A_Explode and A_RadiusThrust with non-missiles without
  them telling P_RadiusAttack() that the target is the source.

SVN r3860 (trunk)
2012-08-30 04:01:50 +00:00
Randy Heit
7af13c8d52 - Use a separate thinker to do suicides, so that console-inflicted suicides will have a chance
to put the console up and restore sound before the player days. Needed for actors that make
  noise on the first tic of their death. (e.g. Heretic's)

SVN r3859 (trunk)
2012-08-30 03:24:57 +00:00
Randy Heit
59638acb7c - Fixed: MUSINFO must be parsed after MAPINFO, since it needs the entries created by MAPINFO.
SVN r3858 (trunk)
2012-08-30 03:00:37 +00:00
Randy Heit
11a0298f33 - Deactivate the master DSP unit when pausing the sound on title maps as well as on regular maps.
SVN r3857 (trunk)
2012-08-28 04:08:48 +00:00
Randy Heit
40cefe6107 - Fixed: When r3837 moved SNDINFO parsing before MAPINFO parsing, it broke support for Hexen's $map SNDINFO command. Removed LEVEL2_MUSICDEFINED, since it's no longer needed by the new implementation for this command.
SVN r3856 (trunk)
2012-08-28 03:21:13 +00:00
Randy Heit
3a6806942c - Fixed: Horizontal movement should not trigger bump specials while predicting.
SVN r3855 (trunk)
2012-08-28 02:52:53 +00:00
Randy Heit
a94cf9d548 - Added A_SetTics.
SVN r3851 (trunk)
2012-08-24 21:02:49 +00:00
Randy Heit
3bfe7b74f4 - Fixed: side_t::SetTextureYScale() did not allow negative scales, even though they are perfectly valid for flipping a texture vertically.
SVN r3850 (trunk)
2012-08-23 01:40:00 +00:00
Randy Heit
980202a18f - Fixed: PrepWall() and PrepLWall() did not understand negative walxrepeats, which should cause
them to flip the texture horizontally.

SVN r3849 (trunk)
2012-08-23 01:34:19 +00:00
Randy Heit
1c71c1dce1 - Added support for random state durations. Instead of defining a frame like this:
POSS A 10 A_Look
  You can define it as:
    POSS A random(10,20) A_Look
  and the state will last a random duration between 10 and 20 tics, inclusive.

SVN r3847 (trunk)
2012-08-23 01:00:30 +00:00
Randy Heit
c954fb5477 - Added the mapinfo flag ForgetState. This prevents a maps state from being remembered in a hub,
so when you return to it without leaving the hub, it will be as if you had never set foot in
  it. RememberState is provided to turn this flag off.

SVN r3846 (trunk)
2012-08-23 00:31:29 +00:00
Randy Heit
69fc0142eb - Precache sounds played by ASoundSequence actors. (This includes Heretic's ambient sounds.)
SVN r3845 (trunk)
2012-08-23 00:15:41 +00:00
Randy Heit
04f09d9b57 - Precache $ambient sounds.
SVN r3844 (trunk)
2012-08-22 23:58:18 +00:00
Randy Heit
cc4aadbfaf - Store ambient sound names as FSoundID rather than as FString.
SVN r3843 (trunk)
2012-08-22 23:55:30 +00:00
Randy Heit
39ff34645f - Precache PickupSound, UpSound, and ReadySound.
SVN r3842 (trunk)
2012-08-22 23:51:23 +00:00
Randy Heit
0ac94c5265 - Precache player sounds at level load.
SVN r3841 (trunk)
2012-08-22 23:46:47 +00:00
Randy Heit
1d3c26f088 - Add the definition for sfxinfo_t::MarkUsed() (poo for incomplete commits).
SVN r3840 (trunk)
2012-08-22 23:21:23 +00:00
Randy Heit
625482aaeb - Added actors' BounceSound, WallBounceSound, and CrushPainSound to preloading.
- Moved marking of actor sounds for precaching into a virtual Actor function.

SVN r3838 (trunk)
2012-08-22 23:17:49 +00:00
Randy Heit
9d82c7fa0e - Added PrecacheSounds mapinfo option. This takes a list of sounds to preload when the level is
loaded.

SVN r3837 (trunk)
2012-08-22 22:36:06 +00:00
Randy Heit
8a021c4b4b - Added PLAYERINFO_FOV and PLAYERINFO_DESIREDFOV for use with GetPlayerInfo. PLAYERINFO_FOV is
the player's current FOV, and PLAYERINFO_DESIREDFOV is the FOV that was set with the fov
  console command.

SVN r3835 (trunk)
2012-08-22 22:09:17 +00:00
Randy Heit
bc30b1a806 - Exported the scoreboard text to LANGUAGE.
SVN r3834 (trunk)
2012-08-22 21:53:44 +00:00
Randy Heit
d5d4584008 - Ignore the Skulltag-based SERVERSIDEONLY flag in actor definitions.
SVN r3833 (trunk)
2012-08-22 21:35: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
Braden Obrzut
adf9bd2e1a - Fixed: screenshot_dir overrided -shotdir.
SVN r3831 (trunk)
2012-08-22 04:23:51 +00:00
Braden Obrzut
2564125148 - Fixed: Crash when trying to swap fragglescript special when specials 272 and 270 aren't in the translation array.
SVN r3830 (trunk)
2012-08-22 04:16:58 +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
166b4dbb75 - Since the string builder stuff takes care of recursive print calls now, the PCD_CALLs don't
need to save it as part of the state when calling functions.

SVN r3828 (trunk)
2012-08-14 03:00:03 +00:00
Randy Heit
7a8ccaad97 - Clear the shootable flag in P_ExplodeMissile().
SVN r3827 (trunk)
2012-08-14 02:50:29 +00:00
Randy Heit
86ef939f82 - Fixed: The new HUD message layers were not declared for the garbage collector.
SVN r3826 (trunk)
2012-08-14 02:25:59 +00:00
Randy Heit
26c17dc697 - Added ACS support for setting HUD messages alpha levels. This is an additional optional
parameter added to the end of the HudMessage command's existing parameter lists. So for
  HUDMSG_PLAIN, it comes after the hold time. For HUDMSG_FADEOUT and HUDMSG_TYPEONE, it comes
  after the fade time. And for HUDMSG_FADEINOUT, it comes after the out time.
  - Alpha is a fixed point number between 0.0 and 1.0.
  - Example:
    Without alpha (unchanged from before):
      HudMessage(s:"Some text", HUDMSG_PLAIN, 0, CR_UNTRANSLATED, 0.5, 0.5, 3.0);
    With alpha (alpha is added to the end):
      HudMessage(s:"Some text", HUDMSG_PLAIN, 0, CR_UNTRANSLATED, 0.5, 0.5, 3.0, 0.5 /* this is the alpha */);

SVN r3825 (trunk)
2012-08-12 23:24:41 +00:00
Randy Heit
c9b480e0ec - Added lowlevel support for custom alphas for HUD messages.
- Added HUDMSG_ADDBLEND to draw HUD messages with additive blending.

SVN r3824 (trunk)
2012-08-12 23:14:31 +00:00
Randy Heit
4056f0191a - Safely handle unknown HUD message layers.
SVN r3823 (trunk)
2012-08-12 22:54:01 +00:00
Randy Heit
73552f0365 - Added HUD message visibility flags, which are ORed into the type field:
* HUDMSG_NOTWITH3DVIEW : This message does not appear when the 3D view is active.
  * HUDMSG_NOTWITHFULLMAP : This message does not appear when the fullscreen automap is active.
  * HUDMSG_NOTWITHOVERLAYMAP : This message does not appear when the overlay automap is active.
  These flags may be combined, so for example: HUDMSG_NOTWITHFULLMAP | HUDMSG_NOTWITHOVERLAYMAP
  would prevent the message from appearing if any form of automap is active.

- Added HUD message layers, which are ORed into the type field:
  * HUDMSG_LAYER_OVERHUD : This is the default and standard behavior. The message appear on
    top of most HUD elements. This definition is just included for completeness' sake; you
    don't need to explicitly use it.
  * HUDMSG_LAYER_UNDERHUD : The message appears underneath other HUD elements, such as the status bar.
  * HUDMSG_LAYER_OVERMAP : The message appears on top of the fullscreen automap. At the moment,
    this layer is functionally equivalent to using the flags HUDMSG_NOTWITH3DVIEW | HUDMSG_NOTWITHOVERLAYMAP.
    However, if Blzut3 decides to implement support for drawing the automap permanently on a
    second screen, messages on this layer will move to that screen with the automap and be permanently
    visible as long as the map is visible on that other screen.
  These are not flags, so for example HUDMSG_LAYER_UNDERHUD | HUDMSG_LAYER_OVERHUD is not valid.

SVN r3821 (trunk)
2012-08-12 22:24:15 +00:00
Randy Heit
27f6d431ca - Trying to replace an actor that does not exist is now a warning rather than an error.
SVN r3820 (trunk)
2012-08-12 03:36:49 +00:00
Randy Heit
2a9a1fb240 - Fixed: All 3D floors were additive due to a typo.
SVN r3819 (trunk)
2012-08-12 03:23:35 +00:00
Randy Heit
3ddac32b4f - Because setting a DSP unit inactive completely ceases all processing on it, including timing,
sounds queued up while the Channel Group Target Unit is inactive will all play at the same time
  once the unit is made active. To avoid this, it is now only deactivated when the gamestate is
  GS_LEVEL. Otherwise, it just gets muted. Fixes http://forum.zdoom.org/viewtopic.php?f=2&t=33592 "Strife voices overlap"

SVN r3818 (trunk)
2012-08-10 03:49:50 +00:00
Randy Heit
718d3f8d43 - Changed vid_tft's default to true. How many people still run 1280x1024 on a CRT these days?
- Fixed: M_InitVideoModesMenu() needs to call vid_tft's callback.

SVN r3816 (trunk)
2012-08-10 02:56:09 +00:00
Randy Heit
5c702e66e2 - Player icons that are taller than the small font will now expand the vertical size of the
player bars on the scoreboard.
- Fixed: Having +showscores down during the intermission would draw both the regular intermission
  scoreboard plus the HUD scoreboard.
- Fixed: hu_scores used the player icon's unscaled width when calculating sizes.


SVN r3815 (trunk)
2012-08-10 02:49:41 +00:00
Randy Heit
ebc4e5b4e1 - Fixed: P_TouchSpecialThing() considered all pickup items to be 32 units tall for the sake
of touching, even if they were taller.

SVN r3814 (trunk)
2012-08-10 02:17:16 +00:00
Randy Heit
e2a018227f - Added additive blending for floors and ceilings.
SVN r3813 (trunk)
2012-08-09 04:31:31 +00:00
Braden Obrzut
cb296a6660 - Fixed: Valgrind error when copying the FON2 palettes.
SVN r3812 (trunk)
2012-08-07 20:09:07 +00:00
Braden Obrzut
5f4889d99e - Backported SPACEWIDTH for fontdefs from ECWolf.
SVN r3811 (trunk)
2012-08-07 08:11:56 +00:00
Braden Obrzut
6af0744f75 - Removed unused variable in v_font.cpp.
SVN r3810 (trunk)
2012-08-06 20:59:52 +00:00
Braden Obrzut
1b05969d44 - Fixed: FString would truncate a string if Insert was called on a string which has a reference count greater than 1.
SVN r3809 (trunk)
2012-08-06 10:28:55 +00:00
Braden Obrzut
70d8daa341 - Merged some ECWolf's font code changes. In particular support for retranslating the fonts should the palette change at run time. (This required storing what lump the font was generated from for FON1. This information is stored in FFont since ECWolf also uses the information to allow FONTDEF fonts to be overriden with single lump fonts consistently, but I didn't merge that part as it might break something.)
SVN r3808 (trunk)
2012-08-06 10:25:51 +00:00
Braden Obrzut
cb413c600e - Fixed: Memory error when loading BMF palettes.
- Fixed: When locating WhiteIndex and BlackIndex in the palette index 0 was skipped.
- Fixed: When filling an area black for vid_fps or pillarbox/letterbox use GPalette.BlackIndex instead of assuming palette index 0 is black.

SVN r3807 (trunk)
2012-08-06 09:49:15 +00:00
Randy Heit
4ac8f5eae4 - Fixed: FMultiPatchTexture::CopyTrueColorPixels() set up the alpha values backwards for blend mode BLEND_OVERLAY.
SVN r3806 (trunk)
2012-08-04 03:01:17 +00:00
Randy Heit
0d631a9075 - Fixed: The nextmap and nextsecret ccmds should be disabled in network games.
SVN r3805 (trunk)
2012-08-04 02:42:16 +00:00
Randy Heit
6e81216bbd - Fixed: The softsynths did not reset the tempo to its initial value when restarting a song.
SVN r3804 (trunk)
2012-08-04 02:14:32 +00:00
Randy Heit
26f9540d3c - Fixed: I missed a nuance of the MIDI spec when writing MIDIStreamer::CreateSMF(): Running status
is supposed to be canceled by sysex events and meta events. This confused FMOD when the
  resulting song used used running status right after these events.

SVN r3803 (trunk)
2012-08-04 01:42:49 +00:00
Randy Heit
ede622bb93 - Change the text when riched20.dll cannot be loaded, and also display it with MessageBox, since
it's far too early to be used with I_FatalError. (But since this should always be available on
  every Windows version after 95, this should be a non-issue.)
- Make unknown OS versions default to Windows 2000 instead of Windows 95.

SVN r3802 (trunk)
2012-08-02 04:00:40 +00:00
Randy Heit
a051697488 - Since ZDoom hasn't actually run on Windows 95 in some time, and nobody has complained, remove the IsDebuggerPresent thunk.
SVN r3800 (trunk)
2012-08-02 03:44:13 +00:00
Randy Heit
8c465df44e - Added ACS function IsTIDUsed(tid): It returns whether any actors using the given TID exist. This
is more efficient than ThingCount(tid, T_NONE), because it only needs to check for one actor
  with the TID and not all of them. It also makes no distinction between dead things and live
  things like ThingCount does.
- Added ACS function UniqueTID(tid, limit): It returns a new TID that is not currently used by
  any actors. It has two modes of operation. If tid is non-zero, then it checks TIDs one-by-one
  starting at the given tid until if finds a free one. If tid is zero, then it returns a completely
  random TID. If limit is non-zero, then it will only check that many times for a free TID, so
  it might not find a free one. If no free TID is found, 0 is returned. If limit is zero, then
  the search is effectively unlimited.

SVN r3798 (trunk)
2012-08-01 03:12:43 +00:00
Braden Obrzut
67f64081d0 - Changed unix config directory from ~/.zdoom to ~/.config/zdoom to comply with Ubuntu Software Centre guidelines.
SVN r3797 (trunk)
2012-07-30 09:31:04 +00:00
Randy Heit
0aee56be15 - Fixed typo in r3795's change to GetActorZ and a potential null pointer dereference.
SVN r3796 (trunk)
2012-07-30 00:50:19 +00:00
Randy Heit
9c0b0dc774 - Add the bob offset to the missiles spawned by P_SpawnMissile(), P_SpawnMissileAngle(), P_SpawnMissileAngleSpeed(), A_MissileAttack, A_ComboAttack, A_BasicAttack, A_CustomMissile, A_CustomComboAttack, A_ThrowGrenade, A_SpawnDebris, and A_Burst.
- Add the bob offset to the value returned by GetActorZ.

SVN r3795 (trunk)
2012-07-30 00:05:24 +00:00
Randy Heit
56aeb85eee - Fixed: menu_endgame showed no text during a netgame, nor did it block you from ending a netgame.
SVN r3791 (trunk)
2012-07-27 02:35:00 +00:00
Randy Heit
97372c9c05 - Changed A_SpawnItem and A_SpawnItemEx to take the caller's floatbob into account when calculating the spawned actor's z.
SVN r3790 (trunk)
2012-07-27 02:01:36 +00:00
Randy Heit
eea532ce48 - Move the float bob offset calculation into a separate function.
SVN r3789 (trunk)
2012-07-27 01:53:21 +00:00
Randy Heit
6bd8fafbad - Fixed: The float bob offsetting in R_ProjectSprite was using r_TicFrac as a millisecond count
rather than as a fraction of a tic.

SVN r3788 (trunk)
2012-07-27 01:44:55 +00:00
Randy Heit
10f1281977 - 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.

SVN r3786 (trunk)
2012-07-26 05:27:37 +00:00
Randy Heit
2b0cc30f7c - 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.
SVN r3785 (trunk)
2012-07-26 04:47:29 +00:00
Randy Heit
22cc0544af - 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.

SVN r3784 (trunk)
2012-07-22 04:30:07 +00:00
Randy Heit
6bb6df483a - Fixed: DSBarInfo::ScreenSizeChanged() must call its supermethod.
SVN r3783 (trunk)
2012-07-22 03:20:34 +00:00
Braden Obrzut
c53a4f3ae1 - Fixed: 1 pixel border was drawn when there was no status bar.
SVN r3782 (trunk)
2012-07-22 03:06:51 +00:00
Randy Heit
12ef53a2ff - 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.

SVN r3781 (trunk)
2012-07-21 03:46:36 +00:00
Randy Heit
37dffe210f - Fixed: player_t::settings_controller was not serialized.
SVN r3780 (trunk)
2012-07-21 03:04:59 +00:00
Randy Heit
d2843c199e - Fixed: Pain flashes were not inheritable.
SVN r3779 (trunk)
2012-07-21 02:58:52 +00:00
Randy Heit
5c7e04c539 - Fixed typo: Midtextures with world panning replaced rw_midtexturemid with the rowoffset instead of adding them together.
SVN r3778 (trunk)
2012-07-21 02:40:34 +00:00
Randy Heit
23c950ba98 - Fix typo: MF6_SEEINVISIBLE is in flags6, not flags.
SVN r3777 (trunk)
2012-07-21 02:33:08 +00:00
Randy Heit
6760a3bfe9 - Fixed: hud_scale is supposed use strictly integral scaling factors.
SVN r3776 (trunk)
2012-07-21 02:32:04 +00:00
Randy Heit
f96f665e63 - Fixed: R_ExtendSpriteFrames() would change spr.spriteframes even when it wasn't moving them around.
SVN r3775 (trunk)
2012-07-21 01:51:02 +00:00
Randy Heit
ffc4398aa7 - Added a 90 degree offset to all voxels, since Build's compass directions start at north
rather than east.

SVN r3774 (trunk)
2012-07-21 01:34:29 +00:00
Braden Obrzut
340db9160b - 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.

SVN r3771 (trunk)
2012-07-18 22:30:10 +00:00
Randy Heit
fdc6a03125 - Remove Item from StateCallData, since it isn't read anywhere.
SVN r3766 (trunk)
2012-07-15 23:00:16 +00:00
Randy Heit
dac802d28a - Fixed: Toggling the automap could cancel out ending the level, among other things.
SVN r3765 (trunk)
2012-07-15 03:55:05 +00:00
Randy Heit
fcd4854714 - Fixed: FListMenuItemPlayerDisplay could crash at various points if a class does not have a See state.
SVN r3764 (trunk)
2012-07-15 03:33:28 +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
6f93b88245 - Fixed type in A_Respawn.
SVN r3762 (trunk)
2012-07-15 01:59:49 +00:00
Randy Heit
1c1957085f - Enumerate ZDaemon's ACSF_ values.
SVN r3757 (trunk)
2012-07-14 02:01:08 +00:00
Randy Heit
616672237d - Added PCD_SCRIPTWAITNAMED p-code.
SVN r3756 (trunk)
2012-07-11 04:00:04 +00:00
Randy Heit
95b9eae242 - Fixed: PCD_SCRIPTWAITDIRECT had different semantics than PCD_SCRIPTWAIT.
SVN r3754 (trunk)
2012-07-11 03:14:08 +00:00
Randy Heit
ba00e3a185 - Remove FloatBobOffsets[], since it's just a mini-finesine[] table multiplied by 8.
SVN r3753 (trunk)
2012-07-11 02:50:13 +00:00
Randy Heit
26e65b26a1 - Remove FloatBobDiffs[] table, as it is now unused.
SVN r3752 (trunk)
2012-07-11 01:43:07 +00:00
Randy Heit
8a925757f5 - 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.)

SVN r3751 (trunk)
2012-07-08 02:45:46 +00:00
Randy Heit
0c8e4c37d9 - The complete FMapThing is overkill for storing player starts, so use a new minimal structure for them.
SVN r3750 (trunk)
2012-07-08 02:18:15 +00:00
Randy Heit
71601f91d1 - 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.

SVN r3749 (trunk)
2012-07-08 01:43:47 +00:00
Randy Heit
390fd5dd6c - 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.

SVN r3748 (trunk)
2012-07-07 22:52:37 +00:00
Randy Heit
fd784b05c2 - Fix some GCC 4.7.1 warnings.
SVN r3747 (trunk)
2012-07-07 03:43:11 +00:00
Randy Heit
f0d60ddcee - 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.

SVN r3746 (trunk)
2012-07-07 03:18:09 +00:00
Randy Heit
f6ff2ea8a7 - Fixed: MF6_BUMPSPECIAL only worked when bumped from X/Y movement but not Z movement.
SVN r3745 (trunk)
2012-07-07 02:28:29 +00:00
Randy Heit
5e2b4bddda - Make floatbobbing a purely cosmetic effect that does not alter an actor's real position in the world.
SVN r3744 (trunk)
2012-07-06 03:42:03 +00:00
Randy Heit
154e83331d - We don't need to keep the FloatBobOffsets[] verison of DoWaggle around.
SVN r3743 (trunk)
2012-07-06 03:16:13 +00:00
Randy Heit
5a245af2ad - Fixed: The action function version of ACS_NamedExecuteWithResult only accepted three script parameters.
SVN r3741 (trunk)
2012-07-06 03:09:17 +00:00
Randy Heit
dc641766d3 - Fixed: Editing the player (thing #1) with DeHacked would remove its MF2_PUSHWALL flag.
SVN r3740 (trunk)
2012-07-06 03:04:06 +00:00
Randy Heit
9757492b7a - This was not supposed to be committed as part of r3737.
SVN r3739 (trunk)
2012-07-06 02:37:50 +00:00
Randy Heit
a5d77e6796 - Don't use abbreviations in exception descriptions.
SVN r3738 (trunk)
2012-07-06 02:29:00 +00:00
Randy Heit
ca2cfb803f - 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.

SVN r3737 (trunk)
2012-07-06 02:22:58 +00:00
Randy Heit
44496e142a - Let's go ahead and bump the version in trunk.
SVN r3735 (trunk)
2012-07-05 22:05:42 +00:00
Randy Heit
8673743139 - Do not set the mouse pointer if the display is 8 bit, since such displays don't support color cursors.
SVN r3734 (trunk)
2012-07-05 21:46:03 +00:00
Randy Heit
ca33d55bd3 - 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)

SVN r3733 (trunk)
2012-07-05 21:05:06 +00:00
Braden Obrzut
72f1a37ec4 - Fixed: ACS function pointer instructions need to call GetFunction on the tagged module instead of the active behavior.
SVN r3732 (trunk)
2012-07-03 20:17:31 +00:00
Braden Obrzut
439b60ae68 - Added support for Eternity Engine's function pointer ACS instructions. (Note that an alternative ACS compiler is necessary to use these instructions properly.)
SVN r3731 (trunk)
2012-07-03 01:24:52 +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
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
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
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
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
Randy Heit
d0bba7c3c3 - Added another flag to P_FindFloorCeiling() to get it to do its standard processing but
without resetting the actor's sector. The 3D floor checks in P_NightmareRespawn() and
  A_RestoreSpecialPosition now use this.
- Fixed: P_NightmareRespawn() did its Z clamping before checking for 3D floors.
- Fixed: Respawning actors were not clamped to the ceiling.

SVN r3542 (trunk)
2012-04-08 05:39:46 +00:00
Randy Heit
c175acb75d - Fixed: Passing hexdd.wad with a path to the -iwad parameter would disable searching the standard
paths for hexen.wad.

SVN r3541 (trunk)
2012-04-08 05:12:03 +00:00
Randy Heit
d6c3d77a38 - Fixed: Stereo sound volume reduction should only be done for stereo sounds played in 3D. Head-
relative ones should remain full volume.

SVN r3540 (trunk)
2012-04-08 04:57:59 +00:00
Randy Heit
1e63d07f1b - Fixed: RunScript() ignored the always parameter.
SVN r3539 (trunk)
2012-04-08 04:48:47 +00:00
Randy Heit
4d6447a55b - Don't call secfriction() twice in the normal part of P_GetFriction().
- Fixed: The 3D floors part of P_GetFriction() did not check for friction still being set to
  ORIG_FRICTION, so it only worked with lower frictions.

SVN r3538 (trunk)
2012-04-08 04:43:19 +00:00
Randy Heit
0a8ffaecd9 - I guess I should make sure things compile before I commit them.
SVN r3537 (trunk)
2012-04-08 04:35:39 +00:00
Randy Heit
9ea7eab7e0 - Clamp maximum particle count to 65535.
- Fixed: The inner railgun trail ignored the RGF_FULLBRIGHT flag.

SVN r3536 (trunk)
2012-04-08 04:34:03 +00:00
Christoph Oelckers
40c906f10d - fixed new A_Facetarget pitch code which made some incorrect assumptions about variables' signedness.
- fixed a few compiler warnings.


SVN r3535 (trunk)
2012-04-07 20:44:28 +00:00
Christoph Oelckers
7443c3d167 - replaced CARRYFACTOR definition by an integer-only expression.
SVN r3534 (trunk)
2012-04-07 15:32:32 +00:00
Christoph Oelckers
26dbec2aae - added FDARI*s damagetype fix
SVN r3533 (trunk)
2012-04-07 15:29:47 +00:00
Christoph Oelckers
4637ed53fa - added Thomas's patch to add a Pufftype parameter to A_Explode.
SVN r3532 (trunk)
2012-04-07 13:17:38 +00:00
Christoph Oelckers
4ece349ee5 Expanded 'info' CCMD to also print the TID.
SVN r3531 (trunk)
2012-04-07 13:15:40 +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
Christoph Oelckers
34820aacd2 - added Xaser's modified version of kgsws's railgun enhancements patch.
SVN r3529 (trunk)
2012-04-07 12:57:44 +00:00
Christoph Oelckers
3aa759714a - added DavidPH's A_FaceTarget with pitch submission.
SVN r3528 (trunk)
2012-04-07 12:48:56 +00:00
Christoph Oelckers
83620fca1f - added Gez's NOTAUTOAIMED patch but did not set it for Heretic's pod.
SVN r3527 (trunk)
2012-04-07 12:40:50 +00:00
Christoph Oelckers
c3638eb338 - added FDARI's submission for A_CustomMissile options.
SVN r3526 (trunk)
2012-04-07 12:36:39 +00:00
Christoph Oelckers
53f4776914 - added Gez's patch to have D'Sparil transfer his translations to his second state and the teleport effect.
SVN r3525 (trunk)
2012-04-07 12:26:02 +00:00
Christoph Oelckers
fd2af54724 - fixed TArray compilation issue with GCC 4.7.
SVN r3524 (trunk)
2012-04-07 12:22:00 +00:00
Christoph Oelckers
81eef71067 - added FDARI's Default/global damagetype properties submission.
SVN r3523 (trunk)
2012-04-07 12:11:17 +00:00
Christoph Oelckers
b044c134d3 - fixed ammo usage issues with Dehacked modified weapons that switch attack code pointers. Unless Dehacked specifies an 'ammo use' value for a weapon any Dehacked modified weapon determines ammo use by attack function, like Doom did originally, and not by the weapon's AmmoUse property. This also addresses that the Cells/BFG shot value always modified the BFG itself.
- fixed: A_Saw depleted ammo after the attack so it still went through with it, even though it was out of ammo.


SVN r3522 (trunk)
2012-04-07 11:33:35 +00:00
Christoph Oelckers
35f0b32a7f - fixed: The bounce on actors check handled infinite bouncers (bouncecount == 0) incorrectly.
SVN r3521 (trunk)
2012-04-07 08:21:44 +00:00
Christoph Oelckers
f6817f9544 - moved S_NoiseDebug call from FStatusBar::Draw to FStatusBar::DrawTopStuff so that it also gets drawn with the alternative HUD and stays on top of other HUD content.
SVN r3520 (trunk)
2012-04-06 10:32:27 +00:00
Christoph Oelckers
7642aba6ce - fixed: It was possible to give inventory items to the base actors of something morphed. This would cause an assertion failure when unmorphing.
SVN r3519 (trunk)
2012-04-06 09:43:18 +00:00
Randy Heit
5358fd594b - Fixed: A_Respawn and P_NightmareRespawn() should not check for collision with world geometry.
The initial spawn did not, so this can prevent respawns of things that were initially
  spawned if they happen to intersect a wall.
- Fixed: Don't respawn actors inside the floor.
- Fixed: The final calls to P_FindFloorCeiling() in P_NightmareRespawn() and A_RestoreSpecialPosition
  also need to pass true as the second parameter. (Because this parameter is onlyspawnpos, not
  onlymidtex.)

SVN r3518 (trunk)
2012-04-06 04:46:45 +00:00
Christoph Oelckers
14730a89be - changed calculation of soundorg for triangular sectors. In many cases the center of the bounding box won't be inside the sector but on one of the outer lines so something different is needed
SVN r3517 (trunk)
2012-04-04 17:33:43 +00:00
Christoph Oelckers
8dbfd21d91 - fixed wrong flag check from r3490.
SVN r3516 (trunk)
2012-04-03 15:13:55 +00:00
Christoph Oelckers
9f58a15e28 - check for overflows when giving inventory items.
SVN r3515 (trunk)
2012-04-03 09:16:19 +00:00
Randy Heit
64f0e0e984 - Fixed: A_Respawn also needs to use P_SpawnMapThing-like sector finding. Since it is exactly the
same situation A_RestoreSpecialPosition, it now just calls that to do the moving. This also
  means it is no longer limited to respawning things on the floor.

SVN r3514 (trunk)
2012-04-03 04:31:27 +00:00
Randy Heit
498a432c8d - Make DF2_BARRELS_RESPAWN work in all game modes without the need for alwaysapplydmflags.
SVN r3513 (trunk)
2012-04-03 04:18:38 +00:00
Randy Heit
c5a3d846dd - Implement multitick viewpitch centering logic.
SVN r3512 (trunk)
2012-04-03 04:09:30 +00:00
Randy Heit
ee20c2169e - Fixed: DEM_CENTERVIEW also needs to reset the LocalViewPitch if it's for the consoleplayer.
SVN r3511 (trunk)
2012-04-03 03:51:24 +00:00
Randy Heit
d8f509a73a - Fixed: Monster respawning did not redo floorz/ceilingz for 3D floors after positioning the item.
- Fixed: Monster respawning used the newly spawned monster's SpawnPoint to determine what to
  shift the Z position by. This is, naturally, always 0.

SVN r3510 (trunk)
2012-04-03 03:45:05 +00:00
Randy Heit
f312926e9f - Fixed: Item respawning did not redo floorz/ceilingz for 3D floors after positioning the item.
SVN r3509 (trunk)
2012-04-03 03:35:20 +00:00
Braden Obrzut
1f6c6aafd9 - Fixed: DesignatedTeams prevented monsters from hurting themselves in teamplay.
SVN r3508 (trunk)
2012-04-01 20:43:14 +00:00
Christoph Oelckers
3e7473e51a - added handling for MF5_NOINTERACTION to A_Weave.
SVN r3507 (trunk)
2012-04-01 11:15:16 +00:00
Christoph Oelckers
92a8f8518c fixed: bouncing on actors neither checked nor changed mo->bouncecount.
SVN r3506 (trunk)
2012-04-01 11:02:05 +00:00
Randy Heit
cf0d5b3151 - Fixed: FileReader's FilePos is relative to the start of the file, not relative to the start
of the lump, so r3496's change to FileReader::Gets() was only valid for lumps at the start
  of a wad. (This function was still incorrect before that, though, since it made FilePos
  relative to StartPos after it had been used once.)
  * On that note, I'm not sure GetsFromBuffer() is correct either, since it ignores StartPos,
    but I don't know when this is actually used so that I could check.

SVN r3504 (trunk)
2012-04-01 04:08:38 +00:00
Randy Heit
23cda7c685 - Do the P_SightCheck() last in A_JumpIfInTargetLOS, since it's the most expensive check.
- Fixed: A_JumpIfInTargetLOS did the FOV cone check from self -> target rather than from
  target -> self.

SVN r3503 (trunk)
2012-04-01 03:41:08 +00:00
Randy Heit
5e85f736bb - Fixed: Reset to the PlayerPawn's default render style and alpha in G_PlayerFinishLevel().
SVN r3502 (trunk)
2012-04-01 03:18:34 +00:00
Randy Heit
6ea93d28e2 - Fixed: M_CreateMenus() is too soon to call UpdateJoystickMenu(). It needs to happen after
I_InitInput(), which happens during V_Init2().

SVN r3501 (trunk)
2012-04-01 03:03:53 +00:00
Randy Heit
19ec79d4f3 - Apply patch to prevent the flash state from being processed twice after using A_GunFlash.
SVN r3500 (trunk)
2012-04-01 02:49:04 +00:00
Randy Heit
d9f7a250ba - Fixed: Disable absolute wall lighting when in the shadow of a 3D floor.
SVN r3499 (trunk)
2012-04-01 02:31:57 +00:00
Randy Heit
f6f8d74635 - Fixed: Trying to -playdemo a demo recorded from -loadgame would crash if you did not -loadgame
the corresponding save.

SVN r3498 (trunk)
2012-04-01 01:40:57 +00:00
Christoph Oelckers
10c783dde2 - changed ACS parameter truncation for Hexen so that it's only done for ACS_Old format.
SVN r3497 (trunk)
2012-03-31 20:53:01 +00:00
Christoph Oelckers
d64ca20b31 - fixed: FileReader::Gets did not check for a lump's end when reading through a WADs file object.
SVN r3496 (trunk)
2012-03-31 14:18:59 +00:00
Christoph Oelckers
6f824e5ec7 - fixed bot color issue, thanks to Gez's patch.
SVN r3495 (trunk)
2012-03-31 11:13:34 +00:00
Randy Heit
89790ac313 - Add DMXGUS parsing, thanks to Gez.
SVN r3494 (trunk)
2012-03-30 05:23:18 +00:00
Randy Heit
cfb9329c7f - Add Gez's A_RadiusGive.
SVN r3493 (trunk)
2012-03-30 04:28:10 +00:00
Randy Heit
0d302269bb - Fix GCC errors in fb_d3d9.cpp.
SVN r3492 (trunk)
2012-03-30 04:03:46 +00:00
Randy Heit
7783aec8a9 - Fixed: Missiles with MF6_STEPMISSILE set would be allowed to cross lines they could step over,
but their Z position would not actually be moved up, so the subsequent call to P_ZMovement()
  would destroy it because it was in the floor.

SVN r3491 (trunk)
2012-03-29 05:23:04 +00:00
Randy Heit
c445f684fc - Fixed: In P_LineOpening_3dMidtex(), set the floorpic or ceilingpic to the 3D midtex if it
alters the opening. This fixes things such as removing a projectile when it hits a 3D midtex
  instead of exploding it because the real floor or ceiling is sky.

SVN r3490 (trunk)
2012-03-29 05:09:56 +00:00
Randy Heit
386c2e93ab - Restore randomization of monster respawn times accidentally taken out in r3485.
SVN r3488 (trunk)
2012-03-29 04:33:37 +00:00
Randy Heit
b2abe9d11e - Use 64-bit coordinates for a few spots in the FPathTraverse constructor and P_SightPathTraverse().
- Allow FTraceInfo::TrlaceTraverse to pass the endpoints to FPathTraverse as deltas instead of
  as absolute coordinates.

SVN r3487 (trunk)
2012-03-28 04:20:23 +00:00
Randy Heit
cfd5b84535 - Replace >>MAPBLOCKSHIFT with GetSafeBlockX/GetSafeBlockY from Mocha Doom.
SVN r3486 (trunk)
2012-03-28 03:49:38 +00:00
Randy Heit
13869d2173 - Fixed: Use buggy PointOnSide for respawning monsters too.
SVN r3485 (trunk)
2012-03-28 02:23:54 +00:00
Randy Heit
c2b320d408 - Fixed: Item respawning needs to use the same buggy PointOnSide function as P_SpawnMapThing does.
SVN r3484 (trunk)
2012-03-25 03:25:59 +00:00
Randy Heit
510838c3c1 - Undo accidental commit of win32video.cpp with test resolution in place.
SVN r3483 (trunk)
2012-03-25 03:08:13 +00:00
Randy Heit
23e88c88c9 - Add 17:10 aspect ratio, for 1024x600 screens.
SVN r3482 (trunk)
2012-03-25 02:57:28 +00:00
Randy Heit
cc34f973e2 - Fixed: Using -playdemo in conjunction with -loadgame did not work.
SVN r3481 (trunk)
2012-03-25 01:54:36 +00:00
Randy Heit
308f6cab9d - Fixed: Sprites drawn with the shaded render style were always fullbright.
SVN r3480 (trunk)
2012-03-24 00:52:15 +00:00
Randy Heit
45294cd3d3 - Remove unused FRICTION definition.
SVN r3479 (trunk)
2012-03-23 23:27:19 +00:00
Randy Heit
0a03676796 - Fixed: Switching maps using the ResetHealth flag while dead would prevent proper
reinitialization of the player on the new map.

SVN r3478 (trunk)
2012-03-23 23:24:30 +00:00
Randy Heit
ac0c1eb64b - Fixed: If the znodes were based on a map with more vertexes than the one it is being loaded
for, reject them.

SVN r3477 (trunk)
2012-03-23 23:04:32 +00:00
Randy Heit
f82024efbf - Fixed: Prematurely closing a Door_Raise-type door now properly examines the actual sound
sequence to determine if it should start the closing sequence.

SVN r3476 (trunk)
2012-03-23 22:21:33 +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
Randy Heit
3e4ac58f7c - Fixed: CopyPlayer must recheck the skin, since the value stored in the savegame is only used
for bots. Mainly, what this means is that if the player is using the "Base" skin, they will
  get their class-appropriate skin instead of skin 0 if this save is loaded before any other
  game has started.

SVN r3474 (trunk)
2012-03-23 03:49:54 +00:00
Randy Heit
d3a2a40a3a - Fixed: Do not "Give player back the skin" when loading a savegame if they have MF4_NOSKIN set.
SVN r3473 (trunk)
2012-03-23 03:37:55 +00:00
Randy Heit
43033df455 - Fixed: G_DeathMatchSpawnPlayer() would fail to spawn a player when using "spawn furthest" and
all the deathmatch spots are filled and there is no coop start for the specific player to
  fallback on.

SVN r3472 (trunk)
2012-03-23 02:53:52 +00:00
Randy Heit
0c9f6d2e83 - Fixed: DCanvas::FillSimplePoly() did not account for the texture's built-in scaling.
SVN r3471 (trunk)
2012-03-23 02:00:01 +00:00
Randy Heit
5f23a972f3 - Fixed: Keys bound to "screenshot" did not work during the finale (aka intermission) sequences.
SVN r3470 (trunk)
2012-03-23 01:33:26 +00:00
Randy Heit
9fcc6ebc89 - Fixed: Armor did not use damagefactor "Normal" as a fallback factor.
SVN r3469 (trunk)
2012-03-23 01:20:45 +00:00
Randy Heit
bff5a9b8d8 - Fixed: Trying to init FMOD with profiling enabled when the network socket was in use would fail.
We now fallback to no profiling when this happens.

SVN r3468 (trunk)
2012-03-22 22:40:30 +00:00
Randy Heit
dd21e7d2b8 - Forgot to save this before last commit.
SVN r3467 (trunk)
2012-03-22 22:39:42 +00:00
Randy Heit
096725503c - Fixed: Bots did not process KEYCONF weapons. As far as I know, this is only relevant for the
owned-weapons display on the status bar.

SVN r3466 (trunk)
2012-03-22 22:29:25 +00:00
Randy Heit
287a814a18 - Fixed: Deus Vult II uses fullscreen level name patches (which are mostly blank) for the
intermission. This caused the net scoreboard to be drawn off the bottom of the screen.

SVN r3465 (trunk)
2012-03-22 22:07:47 +00:00
Randy Heit
49aaf9b451 - Added A_ClearLastHeard action function.
SVN r3464 (trunk)
2012-03-22 21:40:26 +00:00
Randy Heit
cd122f944b - Similar fix to the previous: The child TiMidity++ process quitting would not necessarily be
detected, so S_ChangeMusic() would not restart one-shot songs that had finished if it was
  the MIDI device.

SVN r3463 (trunk)
2012-03-22 21:23:18 +00:00
Randy Heit
78d28dedda - Fixed: S_ChangeMusic() would not necessarily restart non-looping songs that had finished playing.
SVN r3462 (trunk)
2012-03-22 21:09:20 +00:00
Randy Heit
c53c8f29e7 - Fixed: Just walking onto a 3D floor would not send SECSPAC_HitFloor or SECSPAC_HitCeiling events as it does with the real floor and ceiling. You needed some Z movement to make it happen.
SVN r3461 (trunk)
2012-03-20 03:15:23 +00:00
Randy Heit
f9aae72dc4 - Fixed: P_CheckFor3DFloorHit() needs to use the actor's floorz instead of its z, and
P_CheckFor3DCeilingHit() needs to use the actor's ceilingz instead of its z. These functions
  are called from P_ZMovement() when a collision with the floor or ceiling has been detected
  but before the z has been clamped. e.g. A hard fall will leave the actor's z beneath the floor
  even though it will be set to the floor after P_CheckFor3DFloorHit() returns.

SVN r3460 (trunk)
2012-03-20 03:05:33 +00:00
Randy Heit
ab60c1afcc - Changed CheckActorFloor/CeilingTexture to only check 3D floors that exist and are solid.
SVN r3459 (trunk)
2012-03-20 03:00:33 +00:00
Randy Heit
7045bfd19f - Fix another signed/unsigned warning from GCC.
SVN r3458 (trunk)
2012-03-20 02:22:17 +00:00
Randy Heit
0552f04e4c - Fixed: DCanvas::Dim() and DCanvas::Clear() did not clamp their coordinates to the screen.
SVN r3457 (trunk)
2012-03-20 02:20:06 +00:00
Randy Heit
2e9abe7408 - Fixed: When checking the REJECT contents one byte at a time, P_LoadReject() used rejectsize
instead of i as an index into rejectmatrix.

SVN r3456 (trunk)
2012-03-20 02:09:48 +00:00
Randy Heit
37a322e46b - Fixed: Teleports that were not initiated by walking would not trigger sector actions.
SVN r3455 (trunk)
2012-03-18 03:52:18 +00:00
Randy Heit
e93029a42a - Make CheckActorFloorTexture and CheckActorCeilingTexture aware of 3D-floors.
SVN r3454 (trunk)
2012-03-18 02:44:46 +00:00
Randy Heit
b4d3870ce6 - When morphing, transfer the score to the new actor, and when unmorphing, transfer the morphed
actor's score back to the old actor.

SVN r3453 (trunk)
2012-03-18 01:56:48 +00:00
Randy Heit
fc6d3738bb - Fixed: D_WriteUserInfoStrings() mixed the colorset with the color for the verbose form.
SVN r3452 (trunk)
2012-03-18 01:45:57 +00:00
Randy Heit
8fb20a98d1 - Fixed bug accidentally introduced in r3448.
SVN r3451 (trunk)
2012-03-18 01:34:53 +00:00
Randy Heit
6f12a6e8bb - Fix signed/unsigned mismatch warned by GCC.
SVN r3450 (trunk)
2012-03-17 03:10:19 +00:00
Randy Heit
849d6724d8 - Moved "Go away!" text into language.enu.
SVN r3449 (trunk)
2012-03-17 01:27:12 +00:00
Randy Heit
77c663a9b8 - In conjunction with all the below changes, attempt to fix A_CheckSightOrRange and A_CheckSight
for multiplayer: They now always check through the eyes of every player. For players whose
  cameras are not players, they also check through the eyes of those cameras.
- Using spynext/spyprev to switch from a non-player to a player now writes a command to the
  network stream and lets Net_DoCommand() take care of it later. The logic here is that if
  a player is viewing from something that isn't another player, then every player needs to know
  about it for sync purposes. Consequently, when they stop viewing from a non-player and switch
  to a player, everybody needs to know about that too. But if they are viewing from a
  player, it doesn't matter which player it is, so they can spynext/spyprev all they want
  without letting the other players know about it (and without potentially breaking demos--due
  to the above-mentioned two codepointers--while doing it during demo playback).
- Replaced the instances of checking players[consoleplayer].camera for a valid pointer to
  ones that do it for every player.
- Fixed: Upon changing levels, all players but the consoleplayer would have their cameras NULLed.
- Fixed: player_t::FixPointers() needs to bypass the read barriers, or it won't be able to
  do substitutions of old objects that are pending deletion.

SVN r3448 (trunk)
2012-03-17 00:52:33 +00:00
Randy Heit
73a78caa5c - Added support for a few extra color ranges to Player.Colorset so that the Strife player's
predefined colors can properly define the standard Strife translation ranges.

SVN r3446 (trunk)
2012-03-16 02:23:31 +00:00
Randy Heit
e6a0fbe4db - Fixed: Missiles that exploded on a wall because they exhausted their bounce count did not leave decals.
SVN r3445 (trunk)
2012-03-16 01:17:12 +00:00
Randy Heit
73c55b52f9 - Fixed: The check for CHANGELEVEL_KEEPFACING in G_FinishTravel() needed parentheses.
SVN r3444 (trunk)
2012-03-16 00:59:10 +00:00
Randy Heit
5a076c1f32 - Fixed: The distance parameter for A_RadiusThrust was defined as fixed, when the parameter
passed to P_RadiusAttack is just a regular int.

SVN r3443 (trunk)
2012-03-16 00:41:11 +00:00
Randy Heit
9f168e29e2 - Added clearlinespecial, for doom.wad e3m4 line 1069.
- Allow using the parameterized compatibility options with IWAD maps.

SVN r3442 (trunk)
2012-03-15 23:41:44 +00:00
Randy Heit
5f23b4f64a - Fixed: Destroying a weapon that claimed it was its own sister would crash.
SVN r3441 (trunk)
2012-03-15 23:18:13 +00:00
Randy Heit
f500947814 - Apply fix from previous commit to Doom-format maps. (Previous commit only did it for Hexen.)
SVN r3440 (trunk)
2012-03-15 22:59:39 +00:00
Randy Heit
914ef44c59 - Fixed: In non-UDMF maps, projectile impact activation implies projectile cross activation as well.
SVN r3439 (trunk)
2012-03-15 22:57:00 +00:00
Randy Heit
977b2caa30 - Applied a modified version of FDARI's patch to prevent giving health to dead things:
* P_GiveBody() now takes a max parameter so that it can also do the bulk of the work
    AHealth::TryPickup() previously did.
  * Setting an actor's health to 0 or below with SetActorProperty will now kill the actor
    properly.

SVN r3438 (trunk)
2012-03-15 21:21:00 +00:00
Randy Heit
6290ea4fcb - Added setactivation command for compatibility.cpp to fix the gear boxes on hexdd.wad, map54,
which should be set for player uses activation but are not.
- Added some developer mode messages for setlinespecial and clearlinespecial.

SVN r3437 (trunk)
2012-03-15 20:33:33 +00:00
Randy Heit
ba2e8b2461 - Fixed: Old-style ACS has the string table record offsets from the start of the object file to
the strings, not from the start of the string table, so UnescapeStringTable() needs to be
  told where the offsets are based.

SVN r3436 (trunk)
2012-03-15 19:08:19 +00:00
Randy Heit
58f7e72d1b - Restored savegame compatibility that was removed in r3427.
SVN r3435 (trunk)
2012-03-13 02:43:24 +00:00
Randy Heit
c05345668c - Fix wrong case 'NULL' from previous commit. (I sure hope that patch was
tested!)



SVN r3434 (trunk)
2012-03-12 22:23:17 +00:00
Christoph Oelckers
365311ec36 - added SMMU/Eternity method of defining warped textures (Patch by Gez)
SVN r3433 (trunk)
2012-03-12 14:30:45 +00:00
Randy Heit
ce43552ebb - Use _exit() instead of exit() when Timidity++ cannot be execed, because
exit() can (and does) make the process hang. (It sure would be nice if
  POSIX-land had a simple CreateProcess API, but I guess that would be too
  easy, huh?)



SVN r3432 (trunk)
2012-03-12 04:05:15 +00:00
Randy Heit
4d64085c8a - Fixed: The PlayerDisplay menu item ignored the FlipX property of the sprite frames.
SVN r3431 (trunk)
2012-03-12 01:41:19 +00:00
Randy Heit
748eb255cc - Fixed: R_ExtendSpriteFrames() neglected to set the new spriteframes value for the sprite.
SVN r3430 (trunk)
2012-03-12 01:34:19 +00:00
Randy Heit
162ad601ba - Fixed bug introduced in r3412: The SetStyle() call needs to come after the scissoring check,
because the latter can flush the quads, including the one SetStyle() just set a style for.

SVN r3429 (trunk)
2012-03-12 01:22:19 +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
f94b38fd7f - Fixed: The softsynths could get stuck on the last notes of nonlooping songs.
SVN r3426 (trunk)
2012-03-11 04:30:35 +00:00
Randy Heit
957f67f7cc - Fixed: FMOD as MIDI device always looped the song, even when it shouldn't (such as the title music).
SVN r3425 (trunk)
2012-03-11 03:56:20 +00:00
Randy Heit
51e66acc6b - Fixed: UnescapeStringTable() used the wrong position in the script file for Hexen-style ACS.
SVN r3424 (trunk)
2012-03-11 03:47:45 +00:00
Randy Heit
58ed367280 - Fixed: If the first four bytes of the NODES lump are all zero, the nodes would not be loaded,
nor would they be generated.

SVN r3423 (trunk)
2012-03-11 03:25:04 +00:00
Randy Heit
d367b2941a - Fixed: Monsters spawned by the Boss Brain would not go after the player unless they were in sight.
SVN r3422 (trunk)
2012-03-10 02:17:49 +00:00
Randy Heit
e9f832460b - Added "misc/startupdone" sound to be played when the startup screen is closed and the game
is about to begin.

SVN r3420 (trunk)
2012-03-10 01:54:00 +00:00
Randy Heit
a12729670b - Fixed: The user could interact with the conversation menu during demo playback and mess up the
demo.
- Fixed: The conversation menu stayed up during demo playback even after the conversation was
  over.

SVN r3419 (trunk)
2012-03-10 01:24:59 +00:00
Randy Heit
6d59fb3e9f - Fixed: If the dialogues are freed while a dialogue menu is open, we need to close that menu,
or it will crash because the dialogue node it refers to no longer exists.

SVN r3418 (trunk)
2012-03-10 00:38:38 +00:00
Randy Heit
2f3ea885c5 - Fixed: The identity translation for players should not be remapped through GPalette.Remap[].
The graphics are already mapped through this, so we don't need to do it again when translating.
  Moreover, if there was no duplicate of color 0, but there was a different color with a 
  duplicate, this means we end up drawing players with the duplicated color wherever it should
  be color 0. (Standard translations already had this right.)

SVN r3417 (trunk)
2012-03-10 00:26:42 +00:00
Randy Heit
29369b4d34 - Change some of the CMake GCC build flags from appending new ones to prepending them so they
can be overridden.

SVN r3416 (trunk)
2012-03-09 23:30:47 +00:00
Randy Heit
5564b99d3a - Fixed: UseInventory from ACS should ignore the totally frozen property.
SVN r3415 (trunk)
2012-03-09 01:56:37 +00:00
Randy Heit
10eb15fab9 - Fixed: Standing inside a "window" with a pushable exterior wall would trigger that wall if
your movement was blocked, even if it wasn't that wall that blocked you. Note that this is just
  a Z check against the actor and the floor and ceiling heights; it might still be possible to
  goof it up, but the common case is fixed.

SVN r3414 (trunk)
2012-03-09 01:49:26 +00:00
Randy Heit
ac3b805dd9 - Fixed: ACS's ClearInventory was not equipped to handle items that destroy other items when
destroyed. For example, if a weapon has a sister weapon immediately after it in the inventory
  list, they would both be destroyed by the call to destroy the weapon, and ClearInventory
  would fail to find anything beyond the sister weapon in the inventory list.

SVN r3413 (trunk)
2012-03-09 01:19:02 +00:00
Randy Heit
76b5e7ef60 - Fixed: D3DFB::DrawTextureV() did not disable the scissor test if it was needed but SetStyle()
decided there was nothing to draw. In practical terms, this means that if your weapon is
  completely invisible, the game would not draw anything outside of the main play area because
  the scissor test would be left on for the entire frame and not just the weapon's quad.

  Making the call to SetStyle() before the scissor check is enough to fix this.

SVN r3412 (trunk)
2012-03-09 00:12:04 +00:00
Randy Heit
8f8f937f9b - The "give artifacts" and "give puzzlepieces" commands now ignore items that have been replaced.
"give everything" continues to give replaced items, however.

SVN r3411 (trunk)
2012-03-08 23:34:00 +00:00
Randy Heit
fdec9bdee3 - Fixed: The memmove() in AddToConsole() did not include the terminating null character.
SVN r3410 (trunk)
2012-03-08 23:17:53 +00:00
Randy Heit
e5e1ee00a6 - Handle ACS string escape sequences at load time rather than print time.
- Fixed: FBehavior::FindStringInChunk() was not big-endian safe.
- Fixed: FBehavior::LookupString() was not big-endian safe.

SVN r3406 (trunk)
2012-03-08 21:37:34 +00:00
Randy Heit
5f88d2c9f0 - All ACS debugging messages are now aware of named scripts.
- Identify script types by name in FBehavior::StaticStartTypedScripts().

SVN r3405 (trunk)
2012-03-08 20:48:53 +00:00
Christoph Oelckers
d3981197c5 - moved the FRenderer::StateChanged call from AActor::StaticSpawn to AActor::PostBeginPlay.
- ensured that all classes reach AActor's PostBeginPlay method. Some were missing a Super call.


SVN r3404 (trunk)
2012-03-07 01:03:56 +00:00
Randy Heit
f2f9bd800d - Fixed: When processing the SFLG and SVCT chunks in ACS objects, the script number must be
read as a signed integer.

SVN r3402 (trunk)
2012-03-04 03:18:06 +00:00
Randy Heit
64fb6410cf - Fixed: FStringTable::operator[] would crash when passed a NULL string pointer.
SVN r3401 (trunk)
2012-03-03 03:19:29 +00:00
Randy Heit
676ce338b1 - Fixed: The game would lockup when using the override polyobject specials with cyclical chains
of mirrored polyobjects. Fixing this has also removed lots of duplicated code for mirrored
  polyobjects.

SVN r3400 (trunk)
2012-03-02 02:23:37 +00:00
Randy Heit
f6c1c0e2df - Truncate rotating polyobjects to 7 bits of fractional precision per vertex.
Fixes known cases of freezing.

SVN r3399 (trunk)
2012-02-28 03:05:31 +00:00
Randy Heit
64e992f648 - Remove seeker missile restriction from A_JumpIfTracerCloser.
SVN r3398 (trunk)
2012-02-28 02:19:57 +00:00
Randy Heit
0fc6d9a0c6 - Unload all bound camera textures when FCanvasTextureInfo::EmptyList() is called.
SVN r3397 (trunk)
2012-02-28 02:17:29 +00:00
Randy Heit
fcb0840246 - Fixed: The DConversationMenu constructor is not the appropriate place to set menuactive to
MENU_OnNoPause.

SVN r3396 (trunk)
2012-02-28 02:07:06 +00:00
Randy Heit
d59280eadb - Preserve the MF_BLOCKED flag on level-spawned actors that have it in their default properties.
SVN r3395 (trunk)
2012-02-28 01:54:35 +00:00
Randy Heit
1e21ebad5d - Let puke and pukename take up to four script parameters.
- Pass ACS_ExecuteWithResult's fifth argument as a fourth script parameter.
- Simplify P_StartScript()'s usage.

SVN r3394 (trunk)
2012-02-26 03:36:05 +00:00
Randy Heit
3fae0e3906 - Enable arg0str for UDMF things and named scripts.
SVN r3390 (trunk)
2012-02-26 02:32:45 +00:00
Randy Heit
7106c06811 - Allow for ACS_NamedExecute and friends to be used with SetThingSpecial.
SVN r3389 (trunk)
2012-02-26 02:25:33 +00:00
Randy Heit
87f23f6d38 - Use a signed integer for the script number when loading the transitional ACS binary format
in order to be congruent with the present-day binary format.

SVN r3388 (trunk)
2012-02-26 02:10:32 +00:00
Randy Heit
77a4b9a29b - Give actors modified via Dehacked than CANUSEWALLS flag, whether they look like monsters
at first glance or not.

SVN r3386 (trunk)
2012-02-23 03:24:13 +00:00
Randy Heit
22dfc82338 - Use the same darkening amount for default blood and custom blood particles.
- Cache particle colors so custom particle colors don't require a full scan of the palette each
  time they're created. Also fixes a bug with custom blood colors.

SVN r3385 (trunk)
2012-02-23 02:50:36 +00:00
Randy Heit
9457a1b3f8 - So, apparently the XMIDI library uses a fixed 120 Hz clock for MIDI events. As a result, we
should ignore any tempo events in XMIDI songs that were left over from the original MIDI
  files, since the converter didn't remove them.

SVN r3384 (trunk)
2012-02-23 02:22:56 +00:00
Randy Heit
c3dba9ca9a - Added writemidi console command. If the currently playing song is a MIDI variant, this will
write it to disk.

SVN r3383 (trunk)
2012-02-22 03:28:33 +00:00
Randy Heit
d3ad8ca3d8 - Fixed: XMISong::ProcessInitialMetaEvents() did not set the Division for tempo events. (Why
does XMI modify the division based on the tempo?)

SVN r3382 (trunk)
2012-02-22 02:05:12 +00:00
Randy Heit
d6e898be38 - Fixed: UDMFParser::AddUserKey() checked against the wrong token types when determining
the values type. Also, GetUDMFInt() performed a float-to-fixed conversion on the value it
  returned.

SVN r3381 (trunk)
2012-02-21 22:11:52 +00:00
Randy Heit
472ac1b07c - Fixed: The nodebuilder is highly likely to renumber vertices, so we need to remember how the
original vertices map to the new ones until after vertex slopes are handled.

SVN r3380 (trunk)
2012-02-21 21:52:42 +00:00
Randy Heit
514f29a34a - Added Gez's custom flechettes patch, with ArtiPoisonBag4 renamed to ArtiPoisonBagGiver and
ArtiPoisonBag5 renamed to ArtiPoisonBagShooter.

SVN r3379 (trunk)
2012-02-21 20:58:33 +00:00
Randy Heit
2918a87479 - Added Gez's thrupushups fix.
SVN r3378 (trunk)
2012-02-21 20:50:38 +00:00
Randy Heit
170284ad57 - Added Gez's HMI/XMI division fixes, and partially the XMI tempo fix (not currently used).
SVN r3377 (trunk)
2012-02-21 20:19:25 +00:00
Randy Heit
d54f9c3616 - Added startup screen customization, courtesy of Gez.
SVN r3375 (trunk)
2012-02-21 19:52:40 +00:00
Randy Heit
67bbc0f95c - Print named script's names for the scriptstat console command.
SVN r3374 (trunk)
2012-02-21 19:27:30 +00:00
Randy Heit
7b5612c45a - Added ACS_NamedExecuteWithResult for DECORATE expressions. Since this is a pretty long name,
you can also use CallACS, if you wish. The two are synonyms.

SVN r3373 (trunk)
2012-02-21 19:24:02 +00:00
Randy Heit
d9b8b344ff - Added support for using named scripts with UDMF maps. On lines with ACS specials
(i.e. ACS_Execute, etc.), set the arg0str property to the name of the script to execute. The
  standard numeric arg0 property will be ignored in this case.

SVN r3372 (trunk)
2012-02-18 02:39:01 +00:00
Randy Heit
cbf7162e16 - Allow for using ACS_NamedExecute and friends with SetLineSpecial.
SVN r3371 (trunk)
2012-02-18 02:17:33 +00:00
Braden Obrzut
9cd0e48ea3 - Fixed: Forgot to initialize inventoryItem to NULL in DrawBar.
SVN r3370 (trunk)
2012-02-18 02:01:28 +00:00
Braden Obrzut
449bd90121 - Fixed: Runtime error on Mac OS X. For whatever reason merely having the call to CFUserNotificationDisplayAlert() in I_FatalError caused exception handling to quit working. Moving it to a separate file seems to fix this. Also removed the warning about FRenderer having a non-virtual destructor.
SVN r3367 (trunk)
2012-02-16 22:58:17 +00:00
Randy Heit
8f516a1007 - Added pukename console command. This is mostly the same as puke, except the scripts are
named, and to run a script using ACS_ExecuteAlways, you need to add "always" after the script
  name but before any arguments. e.g.:
    pukename "A Script" 1
  Will run the script "A Script" with a single argument of 1, provided the script is not 
  already running.
    pukename "A Script" always 1
  Will always run the script "A Script" with a single argument of 1.

SVN r3365 (trunk)
2012-02-16 22:13:46 +00:00
Randy Heit
7561beb212 - Added action functions that work with script names instead of script numbers. They are
named the same as their ACS function equivalents. e.g. From DECORATE, you can now use
  ACS_NamedExecuteAlways to run a script with a name.

SVN r3364 (trunk)
2012-02-16 21:49:09 +00:00
Randy Heit
4195993023 - Make deferred scripts work with named scripts.
- Added ACS_Named* function variants of the ACS_* specials that take script names instead of
  numbers. As these are functions and not specials, they can only be used from inside ACS.

SVN r3363 (trunk)
2012-02-16 21:23:03 +00:00
Braden Obrzut
6f17e0f51b - Fixed: Mac universal binary build. (I actually just realized that my DRDTeam build script ended up just working because of this modification.)
SVN r3362 (trunk)
2012-02-16 20:18:46 +00:00
Braden Obrzut
da974c3444 - Allow any parameterized SBarInfo value to use parentheses to help make the syntax a little more consistent.
SVN r3361 (trunk)
2012-02-16 05:01:17 +00:00
Braden Obrzut
25b73ac023 - Added ability to use a constant for the maximum comparator for health and armor drawbars.
SVN r3360 (trunk)
2012-02-16 04:21:43 +00:00
Randy Heit
9ffb4c40ac - Added support for loading named ACS scripts. You can't run them directly at the moment, but
you can still use them for automatically executed script types (like open and enter).
- Change the DACSThinker::RunningScripts array into a TMap so that it can catalog the new range
  of ACS scripts (up to 32767).


SVN r3359 (trunk)
2012-02-15 02:18:30 +00:00
Randy Heit
ebd115e7ca - Removed snd_3dspread, because it totally does not do what I want. I was using it to preserve
some of the stereoness of stereo sounds played in 3D. My testing was done only with stereo
  speakers, however, and I did not realize that it was moving the perceived physical location
  of the sound itself (because it sounded fine with my two speakers). So when 3D spread started
  working with mono sounds as well in FMOD 4.28, sound positioning was completely broken for
  everything when outputting to more than two speakers, because sounds were being spread
  across a 180 degree arc.

  Whoops!

  Stereo sounds are now completely mono when not played by you, the listener.

SVN r3357 (trunk)
2012-02-14 03:15:13 +00:00
Randy Heit
5a95c997d1 - Added keys on the automap for Heretic in easy mode, courtesy of Gez.
SVN r3356 (trunk)
2012-02-12 02:45:48 +00:00
Randy Heit
540473cbe0 - Fixed: Sound limiting applied even to sounds that were already playing on the same
actor+channel. Since in this case, it's really just restarting the sound, it shouldn't limit
  it. (Since it's already playing, we know the limit wasn't exceeded when it started playing, so
  it shouldn't be exceeded if we restart it now.)


SVN r3355 (trunk)
2012-02-12 02:41:55 +00:00
Randy Heit
033b3964f1 - Fixed: C_DoKey() must disable all doublebind processing if it isn't passed any doublebindings.
This is because the automap calls it with its own bindings, which effectively cancelled all
  doublebindings while the automap was open.

SVN r3354 (trunk)
2012-02-11 01:44:56 +00:00
Randy Heit
d2c8a86bb4 - Fixed: CheckMobjBlocking() did not consider one-sided lines without the ML_BLOCKING flag to be blocking.
SVN r3353 (trunk)
2012-02-11 01:17:09 +00:00
Randy Heit
cd150bd170 - Fixed: Forgot to divide the length of the SVCT chunks in ACS objects by 4 to get the actual
number of scripts to set VarCount for.

SVN r3352 (trunk)
2012-02-11 01:04:42 +00:00
Randy Heit
e4728ba6f0 - Fixed: DCanvas::DrawTextV needs to accept the entire tag list in one parameter. Otherwise, it
can't pass it to DrawTexture with a simple TAG_MORE. (Not sure why I thought the initial tag
  needed to be separate, though it did catch one case where it wasn't provided.)

SVN r3351 (trunk)
2012-02-11 00:15:03 +00:00
Randy Heit
68fbd75897 - Fixed compilation with FMOD 4.38+. The removal of hardware voices and EAX was a fairly
major change, so I'm making no provisions for using older FMOD DLLs when compiled with the
  4.38 API. However, sound positioning is still broken like in 4.28, so you are recommended
  to continue building with 4.26. Also, the Freeverb-based DSP unit is no longer present in
  FMOD, so the underwater effect is currently unavailable when using 4.38 until I can figure
  out how to make it work with the SFX Reverb unit instead. (And on that topic, the Freeverb
  DSP was officially only for stereo outputs, so I really shouldn't have been using it in the
  first place.)
- Since I would like to eventually figure out the sound positioning issues with the newer
  FMODs, the following have been added:
  * snd_drawoutput now labels its outputs with the speakers they represent.
  * DCanvas::DrawTextA was added as an alias for DrawText, since the Windows headers #define
    DrawText to a Unicode/non-Unicode variant.
  * The loopsound console command was added to spawn an actor at the player's location and
    have it loop a sound infinitely.
  Hopefully I can figure it out. FMOD's 3D example works, so I assume the problem lies with
  my code, though I don't really know where to begin looking for the problem.

SVN r3350 (trunk)
2012-02-10 00:53:50 +00:00
Christoph Oelckers
5d7ee4dbfd - fixed: Line type 49 was wrong for all games. Fixed by adding a new Ceiling_CrushAndRaiseDist special. (thanks to Gez for the patch)
SVN r3348 (trunk)
2012-02-09 19:59:32 +00:00
Randy Heit
ddd5fe7535 - Fixed: If an episode skips the skill menu, it should also skip the confirm skill menu
if the default skill requests confirmation.

SVN r3347 (trunk)
2012-01-24 03:25:06 +00:00
Randy Heit
9d67dc36e8 - Fixed: Episodes with NoSkillMenu defined had their own idea of default skill that differed
from episodes with skill menus (and completely ignored whichever skill is explicitly defined
  as the default skill).

SVN r3346 (trunk)
2012-01-24 03:16:24 +00:00
Randy Heit
ef88515dda - Remove all restrictions on what you can do with tags as line special arguments in xlat.
Something like 「(tag & 5) + (tag & 2) / 2」 is now a valid argument for a standard line
  translation.

SVN r3345 (trunk)
2012-01-23 04:18:37 +00:00
Randy Heit
4b2ae689ed - Added modulus to FParseContext/xlat.
- Fixed: Division of tag arguments for xlat was in the wrong order.

SVN r3344 (trunk)
2012-01-23 02:47:51 +00:00
Randy Heit
b21062c39a - Added more tag operators for xlat: * / & | ^
SVN r3343 (trunk)
2012-01-23 00:24:42 +00:00
Randy Heit
f28393263b - Improve tag support for xlat: Any combination of arguments can now be tags, and you can
add (or subtract) a constant to them. If you do wish to add a constant, tag must come first.
  e.g. tag+3 is good, but 3+tag will not work. (As a bonus, the parser is simpler, too.)

SVN r3342 (trunk)
2012-01-22 22:55:20 +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
00d3e1975f - Play "misc/secret" as a UI sound.
SVN r3340 (trunk)
2012-01-22 00:18:13 +00:00
Randy Heit
2faf92858a - Fixed: LIGHT2SHADE would overflow with light values larger than 10 bits.
SVN r3339 (trunk)
2012-01-22 00:14:02 +00:00
Randy Heit
1bdbfb360e - Remove an int->bool conversion warning.
SVN r3338 (trunk)
2012-01-21 23:51:24 +00:00
Randy Heit
a408a913bc - Added missing newline characters to [BSP rebuilding] messages in p_glnodes.cpp.
SVN r3337 (trunk)
2012-01-21 23:48:46 +00:00
Randy Heit
83fc6cf53a - Fixed: Hexen's ACS implementation truncates all line specials to bytes, so we need to do the
same for maps defined with Hexen-style MAPINFOs.

SVN r3336 (trunk)
2012-01-21 23:47:13 +00:00
Randy Heit
243197bfd4 - Fixed: Setting an actor's score with ACS also modified its nametag.
SVN r3335 (trunk)
2012-01-21 23:16:35 +00:00
Randy Heit
038d3cc820 - Initialize mSentAdvance to false.
SVN r3334 (trunk)
2011-12-25 22:45:12 +00:00
Randy Heit
8e636b8abf - Fixed: Must not try to draw null flats in the textured automap.
SVN r3333 (trunk)
2011-12-14 00:36:47 +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
Christoph Oelckers
b1905c16ef - added UDMF LOcknumber property, submitted by Nightfall.
SVN r3331 (trunk)
2011-12-12 16:07:32 +00:00
Braden Obrzut
3b8f5e0d39 - Fixed: levellump for drawstring should be all uppercase for consistency.
SVN r3330 (trunk)
2011-12-09 00:59:38 +00:00
Christoph Oelckers
893455ef61 - sync source with latest GZDoom:
Includes:
- Made the move tried from checking missile spawns ignore drop off height. This solves the Voodoo Gun ghostly civilian issue.
- Fixed: the NOTELEPORT flag is removed from Dehacked missiles which lose the MISSILE flag. This caused problems with certain special effects based on dehacked spawn cubes.
- Fixed: all Boom silent teleporters preserve relative height.
- support for palette independent particle colors if the renderer can handle them.


SVN r3329 (trunk)
2011-12-06 08:36:28 +00:00
Randy Heit
8e8331d44c - Fixed: Pressing a key to advance an intermission screen only worked on
the local computer.



SVN r3328 (trunk)
2011-12-06 02:51:32 +00:00
Randy Heit
2f8d6beb1e - Be less verbose when attempting to play non-ZDoom demos.
SVN r3327 (trunk)
2011-12-06 01:52:07 +00:00
Randy Heit
5284ab9688 - Do nothing in D_DoAdvanceDemo if gameaction is not ga_nothing.
SVN r3326 (trunk)
2011-12-06 01:50:38 +00:00
Randy Heit
43fed9dc89 - Need to bump demo/gameversion due to DEM_SETPITCHLIMIT. MINDEMOVERSION also
needs to be touched, since the default limits are now 0.



SVN r3325 (trunk)
2011-12-06 01:30:48 +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
Randy Heit
0897a593c7 - When a missile teleports, maintain velocity on the other end.
SVN r3322 (trunk)
2011-11-28 00:10:04 +00:00
Braden Obrzut
7d348e7148 - Fixed: The scanner triggered an assertion failure on empty strings.
SVN r3321 (trunk)
2011-11-26 06:59:35 +00:00
Braden Obrzut
cffae9c33c - Applied Thomas's patch to fix physics with non-solid polyobjs, but adjusted it to work with 3D mid textures as well (at least as well as I could).
SVN r3320 (trunk)
2011-11-25 21:49:03 +00:00
Randy Heit
17ba09c882 - Fixed: Cht_ChangeLevel cheats should not check for disabled cheats.
SVN r3319 (trunk)
2011-11-24 04:36:36 +00:00
Randy Heit
7d502e7789 - Added SMF_CURSPEED flag for A_SeekerMissile to cause it to use the missile's current speed rather than its Speed property.
SVN r3318 (trunk)
2011-11-24 04:27:47 +00:00
Randy Heit
04387a6924 - Initialize all parameters when converting MBF_PlaySound to A_PlaySound,
because volume was being passed as 0 to A_PlaySound.



SVN r3317 (trunk)
2011-11-24 03:59:02 +00:00
Randy Heit
48c7423fbf - Added flag ALF_NOFRIENDS and a friend-basis pointer to P_AimLineAttack().
A_DeathBallImpact uses these to avoid aiming at friends when the death ball
  bounces. (The pointer is needed because the missile itself does the aiming,
  not the player that shot it, and missiles are nobody's friends.)



SVN r3315 (trunk)
2011-11-07 01:23:23 +00:00
Randy Heit
f00f5d2304 - Allow subclasses when checking for PowerWeaponLevel2.
SVN r3314 (trunk)
2011-11-07 00:43:41 +00:00
Randy Heit
66f86add05 - Fixed: Starting in a sector with a musinfo thing would not trigger the thing.
SVN r3313 (trunk)
2011-11-07 00:31:17 +00:00
Christoph Oelckers
e6e15be7e0 - fixed: p_floor.cpp had some checks for 0-tags wrong (thanks to FDARI for the fix)
SVN r3312 (trunk)
2011-11-05 22:45:58 +00:00
Randy Heit
9acf65b9a4 - Added support for a PALVERS lump. This specifies replacement textures to
be used when for walls and floors when the renderer is paletted. The format
  is very simple:
    rgbtex1 paltex1
    rgbtex2 paltex2
    ...
  The first texture is the one to be used normally, and the second is the one
  to be used in paletted modes.

  The vid_nopalsubstitutions cvar can be used to ignore this lump.



SVN r3311 (trunk)
2011-11-04 01:12:53 +00:00
Braden Obrzut
e68d956208 - Fixed: 2048 should be a valid height for a Doom patch.
SVN r3310 (trunk)
2011-11-03 21:08:39 +00:00
Randy Heit
4816b3182b - Add compat_badangles to the menu.
SVN r3309 (trunk)
2011-11-02 02:44:01 +00:00
Randy Heit
e121bd7d92 - Added compat_badangles to simulate Doom's incorrect sine table: Player
spawning and teleporting will be offset by one fineangle so they cannot
  face directly in one of the cardinal directions.



SVN r3308 (trunk)
2011-11-01 02:58:52 +00:00
Randy Heit
c23b918596 - Fixed: restart ccmd did not reset the palette.
SVN r3307 (trunk)
2011-11-01 01:59:47 +00:00
Randy Heit
3401d9f2bb - Fix incorrect line arg count for Ceiling_Waggle.
SVN r3306 (trunk)
2011-11-01 01:41:01 +00:00
Randy Heit
de956a9ab6 - Added a fourth paremeter to Floor_LowerToHighest. Set it to 1 to always apply
the offset to the target height. (This is Heretic's behavior.)

SVN r3304 (trunk)
2011-10-27 01:35:30 +00:00
Christoph Oelckers
b5cd69fe4c - fixed: Invalid intermission string references to the string table could cause a crash.
SVN r3301 (trunk)
2011-10-23 09:46:31 +00:00
Randy Heit
307050d38d - Remove the chasecam restriction that the player sprite must be visible. (When
crushed, the real player is turned invisible, defeating the death/chasecam.)



SVN r3300 (trunk)
2011-10-03 00:56:01 +00:00
Randy Heit
3117f657c7 - Change UDMF lineflag 'transparent' to 'translucent' to match the spec.
(Hopefully nobody used 'transparent'; it's not in the DoomBuilder configs,
  so that should be a safe assumption.)



SVN r3298 (trunk)
2011-10-03 00:36:37 +00:00
Braden Obrzut
9c8bb236ec - Backport r1253 through r1256 and r1259 of GZDoom.
* By pressing request, allow Linux users to build ZDoom with an FMOD version that doesn't give them 3D sound positioning. :p
	* Fixed severe copy-pasta portal copy bug.
	* 3D floors hidden by being moved above the ceiling or below the floor will no longer show in the automap.
	* Reject TEXTURES scale of 0. They'd do nothing but provoke a division by zero error.
	* Maybe fixed Linux compilation?

SVN r3297 (trunk)
2011-09-27 01:14:31 +00:00
Christoph Oelckers
3c47a30249 - added Gez's submission for inventory restrictions but changed the added checks to be in the main CallTryPickup function.
SVN r3296 (trunk)
2011-09-23 08:23:51 +00:00
Christoph Oelckers
a0bb1c2546 - added Gez's patch for proper splash checks with 3D-floors.
SVN r3295 (trunk)
2011-09-21 19:39:12 +00:00
Randy Heit
c12538c346 - Fixed crash when trying to play a MIDI file with no notes.
SVN r3294 (trunk)
2011-09-14 23:34:28 +00:00
Randy Heit
de8bf651f2 - Fix warnings reported by gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)
SVN r3293 (trunk)
2011-09-14 23:24:32 +00:00
Braden Obrzut
d6b6a73fee - Fixed MSVC warning.
SVN r3292 (trunk)
2011-09-13 20:13:26 +00:00
Braden Obrzut
faa122ede3 - Adjust VisibleToPlayerClass to accept multiple classes as well as work with inheritance.
SVN r3291 (trunk)
2011-09-10 04:24:40 +00:00
Braden Obrzut
c013e72caa - Backported VisibleToTeam and VisibleToPlayerClass from Skulltag with some modifications.
SVN r3290 (trunk)
2011-09-08 01:28:26 +00:00
Braden Obrzut
bb1b825f24 - Backported kgsws's weapon dropitem changes from Skulltag.
SVN r3289 (trunk)
2011-09-08 00:55:47 +00:00
Randy Heit
7714ee3ffd - Fix more errors found with static code analysis.
SVN r3288 (trunk)
2011-09-01 22:57:49 +00:00
Christoph Oelckers
f8bc459a21 - fix uninitialized string buffer in bot code.
SVN r3287 (trunk)
2011-08-31 22:49:24 +00:00
Christoph Oelckers
5747406776 - fixed some more potential NULL pointer accesses.
SVN r3286 (trunk)
2011-08-31 06:14:28 +00:00
Christoph Oelckers
f2a457206c - fixed some potential NULL pointer accesses.
SVN r3285 (trunk)
2011-08-30 15:34:40 +00:00
Braden Obrzut
eafb9da2c1 - Backported GZDoom r1246:
* Fixed possible crash when texture for menu item patch cannot be loaded. (From Alexey's Mac OS X port.)
* Fixed iwadinfo.txt definitions of Hexen and Freedoom demos (also from Alexey's port.)
* Added missing LOF_NOJUMP definition.


SVN r3284 (trunk)
2011-08-23 02:39:20 +00:00
Braden Obrzut
edfc16906a - Disable the save game menu when not in a level.
SVN r3283 (trunk)
2011-08-19 07:56:43 +00:00
Braden Obrzut
f6ddad95b7 - Set the CMAKE_MODULE_DIR so that we can use find_package instead of include for FluidSynth.
- Fixed: FadeTo() accepted parameters out of range.
- Fixed: "Enable autosaves" menu option didn't handle all possible values of disableautosave.

SVN r3280 (trunk)
2011-08-16 21:59:35 +00:00
Braden Obrzut
5c81cf20ba - Merged r1236, r1237, and r1240 of GZDoom.
SVN r3279 (trunk)
2011-08-14 23:53:20 +00:00
Braden Obrzut
f42358ad08 - Backported FMOD Ex 4.34 fixes from gzdoom-macosx. (With changes to continue to allow compilation with 4.22-4.28.)
SVN r3278 (trunk)
2011-08-13 21:11:09 +00:00
Braden Obrzut
ba4630f0df - Added ammo1capacity and ammo2capacity to drawnumber.
SVN r3277 (trunk)
2011-08-13 20:30:59 +00:00
Braden Obrzut
bdbea0da32 - Use kernel semaphores on Mac OS X since it doesn't support POSIX semaphores.
SVN r3276 (trunk)
2011-08-01 03:53:57 +00:00
Christoph Oelckers
080e769c76 - removed all asserts from the interpolation objects' Destroy methods. The condition will not be true after a failed savegame write occured.
- fixed: D_ErrorCleanup must clear 'savegamerestore'.
- fixed: Cleaning up when loading a savegame failed while restoring the thinker list did not work. There were two issues:
  * removed the asserts in GC::SweepList because they get triggered by thinkers that were not fully initialized during loading.
  * AActor::UnlinkFromWorld may not assume that the sector list has been initialized when this function is called. 

SVN r3274 (trunk)
2011-07-15 13:26:36 +00:00
Braden Obrzut
c8b8cdd13b - Fixed: SBarInfo string center alignment didn't work with non-monospace fonts.
SVN r3271 (trunk)
2011-07-14 09:31:39 +00:00
Braden Obrzut
dc50487432 - Lets try using semaphores on Linux instead of sleeping to implement cl_capfps.
SVN r3270 (trunk)
2011-07-11 02:35:33 +00:00
Christoph Oelckers
f84368677a - updated OpenAL branch.
SVN r3269 (openal)
2011-07-08 22:00:23 +00:00
Christoph Oelckers
d8ea5cdad9 - fixed: BlockLinesIterator::Next could get stuck in rare situations where validcount was altered while the iterator was still running. This should probably be dealt with by using another marking method but at least this prevents the engine from freezing.
SVN r3268 (trunk)
2011-07-07 22:09:09 +00:00
Christoph Oelckers
ba661308d4 - added GZDoom's option not to count monsters in E1M8-style end of level sectors, but controlled by a dmflag.
SVN r3267 (trunk)
2011-07-07 21:55:55 +00:00
Christoph Oelckers
55bb4afac8 - backported GZDoom extensions to renderer interface.
SVN r3266 (trunk)
2011-07-07 21:43:49 +00:00
Braden Obrzut
85bd2e02c9 - Fixed Linux build issues.
SVN r3265 (trunk)
2011-07-07 20:49:55 +00:00
Christoph Oelckers
4ef68ded5d - fixed some leftover references to the software renderer.
SVN r3264 (trunk)
2011-07-07 19:53:42 +00:00
Christoph Oelckers
5bfcaab25c - separation of software renderer from the rest of the code complete. All external access to the renderer is routed through the FRenderer interface class now, with two exceptions (2D texture drawing to a canvas and polymost testing code) that are handled by #defines.
SVN r3263 (trunk)
2011-07-07 15:37:47 +00:00
Christoph Oelckers
3e9ffc9ac9 - copied some declarations that are needed by GZDoom's GL renderer from r_main.h to r_utility.h.
SVN r3262 (trunk)
2011-07-06 19:11:36 +00:00
Christoph Oelckers
f08188b0e5 - removed unneeded includes of r_local.h.
SVN r3261 (trunk)
2011-07-06 18:12:16 +00:00
Christoph Oelckers
463c276014 - removed more r_ header dependencies from the rest of the code.
SVN r3260 (trunk)
2011-07-06 15:31:05 +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
42091b1bb3 - changed AlterWeaponSprite so that it doesn't take a full vissprite as parameter.
- FCoverageBuffer is only used in r_things.cpp, so its declaration does not need to be in a global header that's included everywhere.


SVN r3258 (trunk)
2011-07-06 13:00:51 +00:00
Christoph Oelckers
03177090c0 - removed some unnecessary r_ header #includes.
SVN r3257 (trunk)
2011-07-06 10:55:04 +00:00
Christoph Oelckers
f8ba5af858 - separated sprite and skin maintenance code from r_things.cpp into a separate file.
SVN r3256 (trunk)
2011-07-06 10:24:40 +00:00
Christoph Oelckers
fbff5ca932 - moved r_interpolate.cpp and r_translate.cpp to r_data.
- merged r_jpeg.h into jpegtexture.cpp because that's the only place where it's ever used.


SVN r3255 (trunk)
2011-07-06 08:50:15 +00:00
Christoph Oelckers
5c6fd66ed5 - rename src/resources to src/r_data.
SVN r3254 (trunk)
2011-07-06 07:35:36 +00:00
Braden Obrzut
da7abc2a83 - Fixed: p_sectors.cpp wouldn't compile.
SVN r3253 (trunk)
2011-07-06 03:59:55 +00:00
Christoph Oelckers
0d43ecdd9d - moved side_t::GetLightLevel out of software rendering code.
SVN r3252 (trunk)
2011-07-05 21:30:17 +00:00
Christoph Oelckers
5bf6398d85 - moved render style and border drawing code out of r_draw.cpp.
SVN r3251 (trunk)
2011-07-05 20:41:53 +00:00
Christoph Oelckers
06d280f00a - moved all code not specific to the software renderer out of r_bsp.cpp.
SVN r3250 (trunk)
2011-07-05 19:50:01 +00:00
Christoph Oelckers
b57a39dd86 - moved R_AlignFlat out of renderer into main game code (r_ to p_.)
SVN r3249 (trunk)
2011-07-05 13:33:02 +00:00
Christoph Oelckers
17ed7aaabd - moved the code from r_data.cpp to some better fitting places and deleted this file and r_data.h because the remaining parts of it were just a random collection of unrelated functions.
SVN r3248 (trunk)
2011-07-05 10:02:38 +00:00
Christoph Oelckers
2a3d1a4493 - updated CMakeLists.txt for last commit.
SVN r3247 (trunk)
2011-07-05 08:20:15 +00:00
Christoph Oelckers
7308e05ed0 - separated all voxel related resource maintenance code from r_things.cpp and r_data.cpp into its own file.
SVN r3246 (trunk)
2011-07-04 20:22:55 +00:00
Christoph Oelckers
4626492f50 - separated all colormap related code from v_palette.cpp and r_data.cpp into its own file.
SVN r3245 (trunk)
2011-07-03 10:47:35 +00:00
Christoph Oelckers
6748432014 - fixed: The compatibility savegame handling for the lightning code did not read the obsolete LightningLightLevels data from the savegame.
SVN r3244 (trunk)
2011-06-21 07:28:48 +00:00
Randy Heit
2dd4ea8400 - Fixed: LightningLightLevels[] was not just an array of light levels. The latter part was also
a bitmask describing which sectors had lightning. When this was expanded to shorts, the
  result was that random sectors would have their lighting zero'ed after a lightning flash. I
  really have to wonder what I was thinking when I decided to cram two completely unrelated
  things into the same array. Since a short is wide enough, I did away with the bitmask and
  just use SHRT_MAX to mark sectors that weren't lightninged.

SVN r3243 (trunk)
2011-06-21 03:38:32 +00:00
Randy Heit
4032b4c307 - Fixed: In gccinlines.h, the alternative for DivScale32 that took idiv's parameter in memory
did not mark eax as an early-clobber register, so GCC might decide to pass the memory address
  in eax, and it would get clobbered by the inline assembly before fetching the value to divide
  by.

  But rather than fix it by adding another '&', I have opted to mark it as in/out and do the
  zeroing outside the inline assembly, so GCC has maximum flexibility for scheduling the code.

SVN r3242 (trunk)
2011-06-18 05:43:51 +00:00
Randy Heit
4b78b07aca - Fixed: D3DFB::Draw3DPart() treated the screen's pitch as if it always equaled the width.
Considering this hasn't been guaranteed since before the D3DFB class was even written, this
  should have never made it in as-is.

SVN r3241 (trunk)
2011-06-18 05:18:28 +00:00
Christoph Oelckers
9fc5539ae7 - fixed case of damage type variables.
- fixed loading of BMF fonts' palettes. Index 0 is always transparent and the stored palette data starts at index 1.


SVN r3240 (trunk)
2011-06-17 22:46:34 +00:00
Christoph Oelckers
817368abc2 - changed R_InstallSpriteLump so that it doesn't abort for every seemingly misnamed lump in the sprites namespace. A warning is fully sufficient here.
SVN r3239 (trunk)
2011-06-16 13:10:03 +00:00
Christoph Oelckers
24593fe008 - added FDARI's A_Warp submission.
SVN r3238 (trunk)
2011-06-14 22:45:42 +00:00
Christoph Oelckers
4d7fcbf1b8 - added Major Cooke's Death/Paintype submission.
SVN r3237 (trunk)
2011-06-13 17:15:09 +00:00
Christoph Oelckers
e4455c293f - added DavidPH's DOHARMSPECIES submission.
SVN r3236 (trunk)
2011-06-13 10:43:07 +00:00
Christoph Oelckers
44921297d3 - added DavidPH's PoisonDamageType submission.
SVN r3235 (trunk)
2011-06-13 10:39:14 +00:00
Christoph Oelckers
a587ffed57 - added DavidPH's submission for allowing a special state on puffs when hitting bleeding actors.
SVN r3234 (trunk)
2011-06-13 10:34:46 +00:00
Christoph Oelckers
6ba0689b8d - added DavidPH's A_AlertMonsters range submission.
SVN r3233 (trunk)
2011-06-13 10:30:30 +00:00
Christoph Oelckers
4a7567107f - added DavifPH's submission for allowing THRUGHOST on puffs.
SVN r3232 (trunk)
2011-06-13 10:27:24 +00:00
Christoph Oelckers
ab60afd0b8 - added DavifPH's fix for poisoning invulnerable players.
SVN r3231 (trunk)
2011-06-13 10:25:03 +00:00
Christoph Oelckers
5d65ab6e6c - cleaned up setPointer interface.
- ZDoom part of setPointer/setActivator, submitted by FDARI.


SVN r3230 (trunk)
2011-06-13 10:22:47 +00:00
Christoph Oelckers
61dfb608f4 - added DavidPH's ProjectileKickback submission.
SVN r3228 (trunk)
2011-06-13 09:16:57 +00:00
Christoph Oelckers
74ad869e62 - ZDoom implementation of strcpy, submitted by FDARI.
SVN r3227 (trunk)
2011-06-13 09:14:02 +00:00
Randy Heit
e6de6fed3c - Revert r3214, which added some completely useless warnings for GCC.
I'm sure there are good reasons even GCC doesn't enable them by default when you use -Wall.



SVN r3225 (trunk)
2011-06-12 19:17:21 +00:00
Randy Heit
3401e92834 - Emulate the size limit of Doom's lightscale table by capping the value of vis passed to
GETPALOOKUP. The end result is that there is a minimum distance around you where light
  amplification stops and it gets no brighter. Should this scale with visibility? I can't say.

  So, yeah, it turns out all these years ago, I made this out to be harder than it really is.

SVN r3224 (trunk)
2011-06-12 03:15:15 +00:00
Randy Heit
ee8ca0de87 Fixed: Light levels outside the range [0,255] really do matter.
SVN r3223 (trunk)
2011-06-11 23:58:33 +00:00
Christoph Oelckers
f69181f851 - added FDARI's latest actor pointer submission.
SVN r3222 (trunk)
2011-06-07 23:05:24 +00:00
Christoph Oelckers
0991d45838 - added kgsws's 3D floor textute rotation fix.
SVN r3221 (trunk)
2011-06-07 06:41:49 +00:00
Christoph Oelckers
2e4e5bdb28 - added DavidPH's damage type specific damage color submission.
SVN r3220 (trunk)
2011-06-06 22:23:43 +00:00
Christoph Oelckers
5df9af462a - added DavidPH's A_PainAttack extension submission.
SVN r3219 (trunk)
2011-06-06 13:23:28 +00:00
Christoph Oelckers
24ac385d83 - fixed: Telefrag damage should not be affected by skill damage factors.
SVN r3218 (trunk)
2011-05-28 06:53:04 +00:00
Christoph Oelckers
60a411c9ad - added A_GunFlash extension submission.
SVN r3217 (trunk)
2011-05-26 23:29:36 +00:00
Christoph Oelckers
6053627c5c - added DONTCORPSE submission.
SVN r3216 (trunk)
2011-05-26 23:27:58 +00:00
Christoph Oelckers
3277b508cd - added SEEINVISIBLE submission.
SVN r3215 (trunk)
2011-05-26 23:25:02 +00:00
Christoph Oelckers
81ae38c072 - added submission for disabling some new and rather pointless GCC warnings.
SVN r3214 (trunk)
2011-05-26 23:19:20 +00:00
Christoph Oelckers
b6960eec1a - fixed: The ALT_USES_BOTH weapon flag was missing in the list of DECORATE flags.
SVN r3213 (trunk)
2011-05-26 23:18:39 +00:00
Randy Heit
1579fd1c1c - Fixed: Selecting TiMidity++ as a MIDI device without a working timidity.exe, then switching to a different MIDI device would leave music silent until a new song was started.
(The discrepancy between mus_playing.handle and currSong is one which should probably be handled properly at some point.)

SVN r3212 (trunk)
2011-05-20 00:26:22 +00:00
Randy Heit
2de3937338 - Fixed: Typo in FClipRect::Intersect() could case bad clipping.
SVN r3211 (trunk)
2011-05-19 04:46:04 +00:00
Braden Obrzut
400442ebc1 - Added ACSF_AnnouncerSound from Skulltag to EACSFunctions.
SVN r3209 (trunk)
2011-05-16 23:47:58 +00:00
Randy Heit
59b6c5ef5c - Removed a couple warnings about implicit vector truncation reported by fxc. (Apparently, it
also decided to compile some other shaders slightly differently, too.)
- Fixed: The InGameColormap had been designed without taking alpha into consideration.
  As the least likely parameter to be used, desaturation has been moved into a constant
  register to make room for the alpha parameter to live in the vertex's color value.

SVN r3208 (trunk)
2011-05-15 22:30:20 +00:00
Randy Heit
30e8552ac1 - Restore the BOOM fudging and destination Z calculations that disappeared sometime in
ZDoom's prehistory to EV_SilentLineTeleport().

SVN r3207 (trunk)
2011-05-15 20:09:25 +00:00
Randy Heit
29e486495b - Fixed: The sign in Eternall.wad, map25 on line 2236 rendered at the wrong height because Doom
ignored the Y locations of patches drawn on two-sided midtextures and always drew them at the
  top of the texture. Added a compatibility flag.

SVN r3205 (trunk)
2011-05-13 03:29:48 +00:00
Christoph Oelckers
4264b05e79 - added FDARI's ACS savestring submission.
SVN r3204 (trunk)
2011-05-11 22:29:49 +00:00
Randy Heit
381fb8d304 - Added optional fullthrustdistance to A_RadiusThrust to specify the distance at which thrust
starts diminishing.

SVN r3202 (trunk)
2011-05-11 04:31:31 +00:00
Randy Heit
91f3f61ead SVN r3201 (trunk) 2011-05-11 04:29:19 +00:00
Randy Heit
8ccf552d09 - Added r_shadercolormaps cvar. Set it to false to disable shaders for fixed colormap effects
(e.g. invulnerability). This should only be necessary for SM1.4 cards with buggy drivers. I
  doubt the problem is very widespread. The one piece of SM1.4 hardware I obtained specifically
  for testing purposes has no problems using shaders for these effects.

SVN r3200 (trunk)
2011-05-11 04:16:45 +00:00
Christoph Oelckers
b7fadac671 - added Gez's A_WolfAttack submission.
SVN r3199 (trunk)
2011-05-09 22:10:20 +00:00
Randy Heit
44a3e94003 - Fixed: P_CheckPosition() should checks all lines contacted by the actor. Stopping once it finds
one blocking line will prevent any further lines with specials from activating their specials.

SVN r3198 (trunk)
2011-05-08 16:58:53 +00:00
Randy Heit
0e07113752 - Forgot a delete.
SVN r3197 (trunk)
2011-05-08 16:45:36 +00:00
Randy Heit
91a5e077f2 - Add the wad a map is defined in to the output of listmaps.
SVN r3196 (trunk)
2011-05-08 16:44:43 +00:00
Randy Heit
11c24334c5 - Fixed: DDrawFB::Lock() should only act on NeedResRecreate when going from LockCount 0 -> 1.
- Fixed: When DDrawFB::Lock() has to recreate resources, it left the LockCount at 0. This causes
  problems if something else locks it before it is unlocked, because the second locker will
  think it is the first. This happens in R_RenderViewToCanvas(). See DDrawFB::PaletteChanged()
  for the most common reason why Lock() would need to recreate resources.
- Fixed: DDrawFB::CreateSurfacesComplex() had debugging cruft left in that skipped all but the
  last attempts.
- Fixed logging of video debug info to a file to not multiply define dbg.


SVN r3195 (trunk)
2011-05-08 04:35:00 +00:00
Randy Heit
d642c5b1b0 - Fixed: Building with NOASM defined no longer worked, because the DrawSlab routines in a.asm conflicted with the ones in r_draw.cpp.
SVN r3194 (trunk)
2011-05-08 04:28:45 +00:00
Randy Heit
37aab20cb3 - Colorize missing texture messages.
SVN r3193 (trunk)
2011-05-08 00:35:17 +00:00
Randy Heit
6c70afe0a7 - Place a limit on the number of reports per missing texture. On maps with many lines and many
sides of missing textures, this can take a very long time, because each missing textures causes
  a scan of every single line (for the sake of packed sidedefs), and each output line also requires
  an update of the hidden RichEdit logging control.

SVN r3192 (trunk)
2011-05-08 00:30:32 +00:00
Randy Heit
571210fe56 - Apply 3dfix2 and 3dfix3 (by hand, again).
SVN r3191 (trunk)
2011-04-29 03:50:33 +00:00
Randy Heit
e36dc34d8f - Fixed: When loading FBehavior::SerializeVarSet() would only zero the variables if there were
non-zero variables to load. This was fine when all variables defaulted to zero, but map variables
  have been able to default to something else for some time now. This meant that if all map
  variables were zero when the game was saved, they would be restored to their default values
  when the game was loaded.

SVN r3190 (trunk)
2011-04-24 17:16:13 +00:00
Randy Heit
65977c2d0c - Restore the original Doom algorithm for calculating xtoviewangle[] for the inner 90 degrees
of the field of vision, since it reduces the chances of duplicate sky columns output next to
  each other compared to a straight tangent-to-angle calculation.

SVN r3189 (trunk)
2011-04-24 17:05:50 +00:00
Randy Heit
fd225e168c - Fixed: PIT_CheckLine() always called CheckForPushSpecial() with the front of the line, even if
the actor was hitting it from the back.

SVN r3188 (trunk)
2011-04-22 03:38:09 +00:00
Randy Heit
dc1f5f0220 - Add more information when trying to load old savegames.
- When loading a game from the menu, do not hide the fullscreen console until we know we can
  load the save. Otherwise, the gamestate goes invalid if the save is no good.

SVN r3187 (trunk)
2011-04-17 17:27:31 +00:00
Randy Heit
2effba9504 - Add NULL pointer to check to FWeaponSlot::PickWeapon() (for when this is called outside of a game).
SVN r3186 (trunk)
2011-04-17 17:10:47 +00:00
Randy Heit
619634c1f8 - Move the call to DrawLetterbox() into D3DFB::Flip() so that it is the last thing that happens
before the scene is presented. Now it properly obscures 2D graphics.

SVN r3183 (trunk)
2011-04-17 04:04:34 +00:00
Randy Heit
ef69e2bbf0 - Fix overflows in AM_clipMline().
SVN r3182 (trunk)
2011-04-17 03:43:42 +00:00
Randy Heit
37b7595db7 - Oh my goodness, maybe I need to try compiling things before committing them!
SVN r3181 (trunk)
2011-04-14 21:48:48 +00:00
Randy Heit
dd5e8e9333 - Add fix for MUS volume controller changes with 8-bit values.
SVN r3180 (trunk)
2011-04-14 16:29:57 +00:00
Randy Heit
6ce9228150 - Fix brokenness of preceding commit.
SVN r3179 (trunk)
2011-04-14 04:24:07 +00:00
Randy Heit
0d39257eaf - Apply kgsws-CZ's fixes:
* Added new cvar, r_3dfloors for testing, so for example, you can see the FPS difference.
  * ds_p->bkup is not always allocated.
  * Fixed particles visible through 3D floors.
  * Fixed FAKE3D flag names.



SVN r3178 (trunk)
2011-04-13 02:34:48 +00:00
Randy Heit
7ae888e726 - Add $edfoverride to SNDINFO for the sake of ignorability.
SVN r3174 (trunk)
2011-03-29 05:25:06 +00:00
Randy Heit
d3b44a4172 - Fix errors/warnings from MinGW 4.5.0 (tdm-1).
- Disable the missing field initializers warnings that -Wextra produces from GCC.

SVN r3173 (trunk)
2011-03-29 05:20:33 +00:00
Randy Heit
ddac7de3fe - Fixed: FxAbs::Resolve() called isNumeric() on the wrong ValueType (which is not initialized until the end of the function).
SVN r3171 (trunk)
2011-03-24 04:14:27 +00:00
Randy Heit
3344fa9f30 - Fixed: COLORMAP tricks to produce bright lights do not work with the hardware renderer, so do
not hardware accelerate weapon sprites that use them. (see Harmony)

SVN r3170 (trunk)
2011-03-19 04:45:59 +00:00
Christoph Oelckers
820554d636 - added FDARI's pointer operation submission.
SVN r3167 (trunk)
2011-03-18 08:02:23 +00:00
Randy Heit
c52d9ec1b9 - Relax the restriction that display resolutions must be a multiple of 8 so that they only need be even. The software wiping code requires multiples of two, so odd resolutions cannot be supported without requiring hardware-acceleration (which can be toggled off at any time with immediate effects). The code that required multiples of 8 no longer seems to be present, so now people with cheapo 1366x768 laptop panels can run fullscreen properly.
SVN r3166 (trunk)
2011-03-13 04:45:35 +00:00
Braden Obrzut
c8e8edb1c5 - Added a prefix option to drawnumber.
- Added a flag to remove the cap on drawnumber (this means on the lower length numbers will be drawn).

SVN r3165 (trunk)
2011-03-12 02:20:31 +00:00
Randy Heit
f96dd8ff8a - Make GCC happy.
SVN r3164 (trunk)
2011-03-11 00:44:38 +00:00
Randy Heit
9ab6ac39a0 - Undo unintentional commit of src/CMakeLists.txt.
SVN r3163 (trunk)
2011-03-10 22:52:34 +00:00
Christoph Oelckers
b8f4592ad5 - added A_FaceTracer/A_FaceMaster submission.
SVN r3161 (trunk)
2011-03-06 14:21:44 +00:00
Christoph Oelckers
4eaa7b1aaf - fixed: The shareware -file check wasn't working anymore.
SVN r3156 (trunk)
2011-02-20 08:27:48 +00:00
Christoph Oelckers
1b93b56f46 - damn integer type confusion... :(
SVN r3155 (trunk)
2011-02-19 13:35:11 +00:00
Christoph Oelckers
1993e969b7 - GCC warning fixes (GCC stupidity for the most part.)
SVN r3154 (trunk)
2011-02-19 08:59:43 +00:00
Christoph Oelckers
1ea5cc8bd8 - added a function to execute action specials and changed all calls to use this function. This was done to make it easier to check such calls.
SVN r3152 (trunk)
2011-02-13 10:18:28 +00:00
Braden Obrzut
99df7354b1 - Fixed: Menu mouse navigation didn't work in fullscreen on Linux.
SVN r3151 (trunk)
2011-02-13 06:32:10 +00:00
Christoph Oelckers
1806e47e43 - fixed: Sector_SetLink did incorrect checks for the returned control sector
- added Sector_SetTranslucent special so set translucency of portal planes at run time.
- added 'additive' information for portal planes. This is no-op at the moment because the flat drawers can't handle additive translucency yet though.


SVN r3149 (trunk)
2011-02-12 09:53:40 +00:00
Christoph Oelckers
16878f6bb4 - fixed compile warnings in savegame menu code.
- fixed: plane specific lighting values were no longer used when generating the visplanes.


SVN r3133 (trunk)
2011-02-05 09:17:33 +00:00
Randy Heit
bb67f6d0a2 - Add ~/.zdoom as a default path in [FileSearch.Directories] on Unix systems.
SVN r3131 (trunk)
2011-02-02 02:11:15 +00:00
Randy Heit
060d740275 - Fixed: Fake floor's validcounts were not initialized.
- Fixed: When loading non-UDMF maps, things did not have their conversation field zero'ed.
- Added an assert for the FAKE3D_REFRESHCLIP case at the end of R_RenderMaskedSegRange(), because Valgrind indicates this is being run
  without ds->bkup being set to something valid. I do not immediately know how this should be fixed.



SVN r3130 (trunk)
2011-02-02 02:07:36 +00:00
Christoph Oelckers
82bac3ad22 - fixed: Actions in the saee menu need to do full range checks for the number of currently selected item.
SVN r3126 (trunk)
2011-01-30 11:20:08 +00:00
Christoph Oelckers
e523e12d91 - fixed: Not all exit conditions in dialogues unset the MF5_INCONVERSATION flag.
SVN r3125 (trunk)
2011-01-29 18:06:25 +00:00
Christoph Oelckers
fae8ed444c - merged 3dfloors2 branch into trunk.
SVN r3124 (trunk)
2011-01-29 11:09:38 +00:00
Christoph Oelckers
a2acc382df - added a 'block sight' line flag.
- updated UDMF spec for player class and skill amount because the old menu limits no longer apply.
- fixed: FloorAndCeiling_LowerRaise needs to consider 4 args in maps to account for the Boom compatibility hack parameter.


SVN r3121 (trunk)
2011-01-23 10:52:18 +00:00
Christoph Oelckers
a8167b3110 - fixed: 3DMidtextures did not work correctly in sectors with slopes.
SVN r3120 (trunk)
2011-01-23 09:03:55 +00:00
Christoph Oelckers
6056393af7 - added a check to output a clear error message if no IWAD definitions could be loaded.
SVN r3119 (trunk)
2011-01-23 08:49:30 +00:00
Christoph Oelckers
07eed2f2be - added Gez's fix for timing of the boss cube while a time freezer is active.
SVN r3118 (trunk)
2011-01-23 08:33:30 +00:00
Braden Obrzut
f942cd0bf3 - Added cursor support for SDL.
SVN r3117 (trunk)
2011-01-23 07:37:08 +00:00
Randy Heit
a5fb5c7fb4 - Let's not be so quick to break savegame compatibility...
SVN r3116 (trunk)
2011-01-23 02:32:38 +00:00
Christoph Oelckers
c22ce824a5 - fixed some incorrect P_CHeckSight flag use in p_enemy.cpp.
SVN r3115 (trunk)
2011-01-23 00:22:08 +00:00
Christoph Oelckers
5e50e15d5e - fixed: text colore for thing-based secrets was wrong.
SVN r3114 (trunk)
2011-01-22 17:05:02 +00:00
Braden Obrzut
d9d94d04ba - Added DesingatedTeam property from Skulltag. Allows friendly fire calculations to be applied to monsters/objects and allows the friendly AI to be aware of teams.
SVN r3113 (trunk)
2011-01-22 03:35:33 +00:00
Braden Obrzut
7ed7e9f755 - Enable menu mouse navigation on SDL systems.
SVN r3112 (trunk)
2011-01-22 03:02:58 +00:00
Christoph Oelckers
622d1ebe6a - fixed: Spawning things abuve a 3D midtexture did not provess the 'is above midtexture' state properly.
- fixed: When teleporting an actor the destination must be checked with the new z position, not the old one.


SVN r3111 (trunk)
2011-01-20 11:40:05 +00:00
Christoph Oelckers
b3a7c70c01 - changed ACS Checkweapon to compare names instead of strings.
SVN r3107 (trunk)
2011-01-17 00:33:20 +00:00
Christoph Oelckers
e4b236cbcc - added DavidPH's A_SetMass submission.
SVN r3105 (trunk)
2011-01-14 22:59:20 +00:00
Christoph Oelckers
090922e1c2 - added ACS SpawnForced function.
SVN r3104 (trunk)
2011-01-14 10:40:59 +00:00
Christoph Oelckers
17ab63a39f - fixed: The Skin initialization code did not NULL the Voxel pointer in its sprite definitions.
SVN r3103 (trunk)
2011-01-14 09:43:03 +00:00
Christoph Oelckers
5e5ddd8cc8 - fixed: The help screens were stretched on 16:9 displays
- fixed: The bunny scroller did not advance its animation to the end when aborted.


SVN r3102 (trunk)
2011-01-14 09:22:09 +00:00
Christoph Oelckers
7db7886a0e - fixed: DLevelScript always initialized the first 3 local variables, even if less were allocated.
SVN r3101 (trunk)
2011-01-14 09:07:00 +00:00
Christoph Oelckers
789c937635 - use FSharedStringArena to handle AActor's tag strings properly. They were names before which are not case sensitive and could cause problems.
- fixed FSharedStringArena::FreeAll did not NULL TopBlock.
- bumped savegame version for above changes.


SVN r3100 (trunk)
2011-01-12 00:17:13 +00:00
Christoph Oelckers
5d79cfd303 - fixed: The internal blockmap builder still used 16 bit WORDs to reference linedefs so it failed on USMF maps which exceed this value.
SVN r3092 (trunk)
2011-01-09 11:01:04 +00:00
Christoph Oelckers
5ddd2ecffa - fixed: Hexen's chess ending should never use the cluster's endtext.
SVN r3091 (trunk)
2011-01-05 22:45:25 +00:00
Randy Heit
37658cb4f7 - Make the assembly span drawers compatible with newer NASM's default optimization level.
SVN r3090 (trunk)
2011-01-05 04:26:04 +00:00
Christoph Oelckers
82d0a0a98c - added Chris's second crashcatcher patch.
SVN r3089 (trunk)
2011-01-04 09:12:20 +00:00
Randy Heit
46ad4ec4bd - Added "special" console command for executing action specials.
- Fixed buffer overflow attack for DEM_RUNSCRIPT(2).

SVN r3088 (trunk)
2011-01-02 18:54:57 +00:00
Randy Heit
869b9c9ccc - Fixed: FMODSoundRenderer::DrawWaveDebug() only allocated enough space for the wavearray based
on the window_size, so for large numbers of output channels, it would not allocate enough
  space for the spectrum data (which is definied by SPECTRUM_SIZE, not the window_size) and
  write junk on the stack when drawing the spectrums, causing a crash.

SVN r3087 (trunk)
2011-01-02 18:11:48 +00:00
Randy Heit
2add3fb381 - Merge voxels back into trunk. Even if it needs further tweaking, it should at least be stable now.
SVN r3086 (trunk)
2011-01-02 18:02:27 +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
2b0262d111 - added Chris's KDE IWAD picker submission.
SVN r3083 (trunk)
2011-01-01 09:24:56 +00:00
Christoph Oelckers
898b0d679d - added a new 'playertype' command for SBARINFO that checks by class type not display name.
- fixed: Status bar display for Hexen's fourth weapons only worked when they were obtained by picking up the weapon pieces.


SVN r3080 (trunk)
2010-12-27 16:14:26 +00:00
Christoph Oelckers
f35b3b84af - fixed: The player setup menu set the playerlass CVAR to the actual class name, not the display name as expected.
SVN r3078 (trunk)
2010-12-26 09:01:36 +00:00
Christoph Oelckers
cc287d35a6 - cleaned up p_ceiling.cpp
SVN r3077 (trunk)
2010-12-26 00:21:19 +00:00
Christoph Oelckers
231e7a1c6d - added a new render style 'Shadow'. Essentially it's just a black translucent stencil with an alpha of 0.3. The purpose of this style is to be used as a software renderer approximation of GZDoom's spectre effect.
- allow setting 'Shadow' as default fuzz effect
- changed CVAR conversion that strings 'false' and 'true' get evaluated as integers 0 and 1 respectively so that changing boolean CVARs to int does not destroy their values.


SVN r3076 (trunk)
2010-12-25 23:27:26 +00:00
Christoph Oelckers
e46183d836 - removed all portal fudging that was necessary to make thing based portals work the same as line based portals. Using an actor flag on the skybox thing the visplane code now checks what kind of portal is used and uses the proper logic accordingly. As a result the "Portals" compatibility flag no longer exists.
SVN r3072 (trunk)
2010-12-24 13:43:36 +00:00
Christoph Oelckers
e27179afd0 - added Chris's crashcatcher improvements.
SVN r3071 (trunk)
2010-12-21 14:15:19 +00:00
Christoph Oelckers
f6c1f359e1 - fixed: CreateCachedNodes did not free its file buffer.
SVN r3070 (trunk)
2010-12-21 08:39:58 +00:00
Braden Obrzut
bada44a291 - Fixed: The background on some bars was cliped incorrectly.
SVN r3065 (trunk)
2010-12-20 22:29:15 +00:00
Christoph Oelckers
fb7a45efe4 - backport ACS CheckActorProperty fix from GZDoom.
SVN r3064 (trunk)
2010-12-20 19:13:12 +00:00
Christoph Oelckers
bd0378a44b - added Gez's Hexenarmor on AltHud submission.
SVN r3061 (trunk)
2010-12-20 10:07:44 +00:00
Christoph Oelckers
c7c4377600 - clamp parameter to P_GiveBody to prevent overflows.
SVN r3058 (trunk)
2010-12-17 22:30:47 +00:00
Christoph Oelckers
42de20a7e4 - fixed: The Floor_RaiseAndCrush types in Doom wait if blocked, therefore need Hexen crush mode.
- fixed: Angle conversion in P_SpawnMapThing did not work for negative values due to use of an unsigned multiplication.


SVN r3053 (trunk)
2010-12-16 14:39:17 +00:00
Christoph Oelckers
6d614af4f4 - added a 'noautosavehint' MAPINFO option. This does not actually block the autosave from happening. It just does not increase the autosave counter so any subsequent autosave in the same session will overwrite the last one which was saved with this hint on.
SVN r3050 (trunk)
2010-12-16 09:13:06 +00:00
Christoph Oelckers
a06b88fa50 - added new IF_UNTOSSABLE flag for items that should be removable by any inventory function but not be droppable by the 'drop' CCMD.
SVN r3049 (trunk)
2010-12-16 08:21:38 +00:00
Christoph Oelckers
19b8e15af4 - added APROP_Dormant actor property for ACS (read only!)
- fixed_ When performing a restart menus and intermissions need to be closed first.


SVN r3048 (trunk)
2010-12-16 08:05:00 +00:00
Christoph Oelckers
7e503d2f70 - fixed: D3DFB::Clear used the palette index even when a valid color was passed to it.
SVN r3045 (trunk)
2010-12-16 00:21:13 +00:00
Christoph Oelckers
e33d1a989f - set all 'num' variables to 0 in P_FreeLevelData so that any code using them won't try to read the deleted map data.
SVN r3044 (trunk)
2010-12-15 23:10:08 +00:00
Christoph Oelckers
419a998bdf - warning removal
SVN r3043 (trunk)
2010-12-15 18:57:39 +00:00
Christoph Oelckers
b42952b85c - added a 'restart' CCMD that allows restarting the engine with different WADs being loaded without quitting first
SVN r3042 (trunk)
2010-12-15 11:45:39 +00:00
Christoph Oelckers
772d59dff4 - fixed handling of missing backgrounds for intermission text screens for real this time.
SVN r3041 (trunk)
2010-12-15 08:00:38 +00:00
Christoph Oelckers
e7eb43a343 - added Gez's automap patch to mark trigger lines.
SVN r3040 (trunk)
2010-12-15 00:14:42 +00:00
Christoph Oelckers
770a879f6a - fixed: The TouchedActors array in the Dehacked parser was not freed after parsing was done.
- Initialize the alt HUD explicitly in D_DoomMain.
- don't let S_UnloadReverbDef leave a broken list of sound environments behind.
- Added more code to explicitly delete data before initializing it.

SVN r3039 (trunk)
2010-12-15 00:09:31 +00:00
Christoph Oelckers
79c5080dda - added DavidPH's submission for specifying vertex heights directly in UDMF.
SVN r3037 (trunk)
2010-12-14 00:56:44 +00:00
Christoph Oelckers
f0f17e531c - move static AM color initialization into the AM_StaticInit function.
- move D_LoadWadSettings to keysections.cpp.
- made some more data reloadable.
- data structures filled by P_SetupLevel should be cleared before loading the level. They can remain non-empty in case of an error. There's probably more to fix here...
- fixed: MidiDevices and MusicAliases were not cleared before reloading local SNDINFOs.
- fixed signed/unsigned warnings in AddSwitchPair for real (GCC really allows -1u? MSVC prints a warning for that.)


SVN r3036 (trunk)
2010-12-14 00:50:02 +00:00
Braden Obrzut
ee20d0ea7a - Fixed: GCC compiler warnings.
- zipdir will no longer store files ending in '~' on Linux.
- Added st_oldouch which restores the old ouch face behavior of only showing when health increases by 20 while taking damage.

SVN r3035 (trunk)
2010-12-13 17:09:35 +00:00
Christoph Oelckers
c6525a2271 - changed some data init code to delete the data it wants to initialize first.
- The 'savebuffer' variable still existed?
- Changed AInventory::Destroy to NULL SendItemUse and SendItemDrop if they point to the destroyed object. Although unlikely it can't be ruled out completely that this can happen with delayed CCMDs.
- fixed: Starting a new game did not clear the hub statistics array.


SVN r3034 (trunk)
2010-12-13 10:02:45 +00:00
Christoph Oelckers
99b5fe29f7 - cleaned up D_DoomMain a little. It's still far too large though.
- added explicit initialization of console background texture instead of letting C_InitConsole doing it as needed.
- added 'clearaliases' CCMD.


SVN r3033 (trunk)
2010-12-12 23:52:00 +00:00
Christoph Oelckers
ececec1c65 - init bot specific actor properties righr after parsing DECORATE, not when spawning the first bot (which is too late.)
SVN r3032 (trunk)
2010-12-12 21:09:16 +00:00
Christoph Oelckers
572bc4620a - changed automap initialization so that static data only gets initialized once upon startup instead of each time a level starts.
- initialize AUTOPAGE only once when the level starts, not each time the automap is switched on.


SVN r3031 (trunk)
2010-12-12 17:54:10 +00:00
Christoph Oelckers
0715b7dfc6 - cleaned up switch code and fixed several problems:
* savegames stored an index in the switch table and performed no validation when loading a savegame.
  * setting of a random switch animation duration was broken.
  * separated the 2 values stored in the Time variable into 2 separate variables.
  * defining a switch with one texture already belonging to another switch could leave broken definitions in the switch table.
- added function for serializing switch and door animation pointers.
- bumped min. savegame versions due to changes to DButtonThinker and removed all current savegame compatibility code.


SVN r3030 (trunk)
2010-12-12 15:43:35 +00:00
Christoph Oelckers
e257c4cb64 - moved animated door definitions into texture manager and split all associated code off p_doors.cpp
SVN r3029 (trunk)
2010-12-12 08:30:12 +00:00
Christoph Oelckers
d851040ad6 - fixed GCC compilation.
SVN r3028 (trunk)
2010-12-12 07:59:38 +00:00
Christoph Oelckers
24ab37613a - moved switch definitions into texture manager and split all associated code off p_switches.cpp into its own file.
SVN r3027 (trunk)
2010-12-11 23:02:46 +00:00
Christoph Oelckers
6309d90be0 - moved texture counting code into FTextureManager.
- moved all code and data for Build tile management into FTextureManager.
- moved texture animation management into FTextureManager.
- changed: Animate textures only once per frame, not per view. Otherwise with animations that have sub-frame accuracy camera textures of the same area can show different animation frames if the frame changes falls between the rendering of the different views.


SVN r3026 (trunk)
2010-12-11 12:00:40 +00:00
Christoph Oelckers
c9a33edee0 - fixed: Portal setup did some incorrect validity checks.
SVN r3025 (trunk)
2010-12-09 07:55:46 +00:00
Christoph Oelckers
092f53d875 - fixed: The 'secret' CCMD used FStrings directly as printf parameters.
SVN r3024 (trunk)
2010-12-09 07:50:08 +00:00
Christoph Oelckers
d54ee47656 - fixed: The intermission screen did not initialize its texture variable when the texture was invalid.
SVN r3023 (trunk)
2010-12-07 16:16:31 +00:00
Christoph Oelckers
9ad2a2b00e - fixed: AActor::ClearCounters should not decrease the kill count if it is called for a dead monster which can happen in Thing_Remove.
SVN r3022 (trunk)
2010-12-06 21:57:51 +00:00
Christoph Oelckers
e7bbca8e33 - expanded compat_trace flag to apply also to sight checks.
- Set trace compatibility for Real World MAP11.


SVN r3021 (trunk)
2010-12-04 08:53:13 +00:00
Braden Obrzut
72f589c8c3 - Fixed what appears to be a copy/paste error in the CMakeLists.txt.
SVN r3020 (trunk)
2010-12-02 21:45:38 +00:00
Christoph Oelckers
007fae107e - fix last commit
SVN r3019 (trunk)
2010-12-02 17:01:05 +00:00
Christoph Oelckers
74822572da - restore old portal checks for Action Doom 2 (as a hidden compatibility option.)
SVN r3018 (trunk)
2010-12-02 15:08:44 +00:00
Christoph Oelckers
5bc4bc90bb - fixed: A new episode definition for a map that already had one defined did not replace the old definition.
- fixed: Skipping the skill menu did not work because it checked the number of episodes, not skills.


SVN r3017 (trunk)
2010-12-02 13:57:05 +00:00
Randy Heit
d9c811fc61 - Increase MAX_SKYBOX_PLANES to 1000.
SVN r3016 (trunk)
2010-12-02 02:08:54 +00:00
Christoph Oelckers
86516ecfac - fixed: The code that set DIntermissionController::CurrentIntermission was missing a write barrier.
SVN r3015 (trunk)
2010-12-01 19:56:35 +00:00
Christoph Oelckers
ce8be35000 - fixed: Normal skyboxes should not block spawning of a portal.
SVN r3014 (trunk)
2010-11-30 09:36:36 +00:00
Christoph Oelckers
5ad9e0c3b8 - added code submission for printing secret information.
- added missing TRXTCOLOR_CYAN #define.
- changed bridge things to be completely immobile towards sector plane movement. This problem again reared its ugly head in 007LTSD where the oversized bridges got messed up by some opening doors and lowering lifts. Now any plane trying to move such a thing will get blocked. Moving these things by other means still works normally, of course

SVN r3013 (trunk)
2010-11-30 08:18:11 +00:00
Christoph Oelckers
14f4a9e835 - added some fudging to make sectors that are neighboring a portal plane but share the same texture properties actual parts of the portal. This is only done when portals are defined with portal things. This was necessary to preserve an effect that depended on incomplete checks in the renderer that could not be preserved with the implementation of linedef based portals.
SVN r3012 (trunk)
2010-11-29 12:43:52 +00:00
Randy Heit
f7fa3c8dbb - Add a SetCursor() call to I_SetCursor() when the pointer is within the window's client area to
make the pointer change instant instead of waiting until the next mouse event.

SVN r3010 (trunk)
2010-11-19 04:20:33 +00:00
Randy Heit
54163bc81c - Changed sprite-on-drawseg calculations to use untransformed coordinates. Build does it like
this. I don't recall what Doom did.

SVN r3009 (trunk)
2010-11-19 04:01:15 +00:00
Christoph Oelckers
c5f5bcc432 - added a hidden compatiblity option for maps that fell victim to the broken destination search code in some 2.0.9x versions
SVN r3008 (trunk)
2010-11-12 21:12:47 +00:00
Braden Obrzut
c8eb4bbc8d - Turns out I can't clear one protocol warning on 10.6 without breaking compatibility with 10.4/10.5.
SVN r3007 (trunk)
2010-11-11 00:22:36 +00:00
Braden Obrzut
a00730c160 - Fixed: Cocoa IWAD picker was not updated. Also changed instances of the deprecated stringWithCString to stringWithUTF8String.
- Fixed: Mac OS X should be case insensitive like Windows.

SVN r3005 (trunk)
2010-11-10 23:39:34 +00:00
Christoph Oelckers
340ffc08d6 - fixed: Boom's switch-based equivalents of FloorandCeiling_LowerRaise can only move either the ceiling or the floor but never both due to a programming error. Changed this special so that Boom's broken mode can be reactivated through xlat.
SVN r3004 (trunk)
2010-11-10 11:25:34 +00:00
Christoph Oelckers
5e7753d7e8 - fixed: The floor plane's alpha was not initialized.
SVN r3003 (trunk)
2010-11-08 20:18:06 +00:00
Christoph Oelckers
2fcf1af21b - added a $musicalias command to SNDINFO that allows remapping of music tracks. Mapping to 'none' means that starting the remapped song will have no effect at all. There's one limitation though: If you load a WAD with the same music name after the one with the SNDINFO lump the mapping will be ignored. This is so that music resources can use this command without interfering with WADs that replace the music with their own.
SVN r3002 (trunk)
2010-11-08 17:24:27 +00:00
Christoph Oelckers
1f43f4e961 - Added DavidPH's AProp_ScaleX/Y / A_SetScale submission.
SVN r3000 (trunk)
2010-11-08 00:01:21 +00:00
Christoph Oelckers
2f06007ad4 - added Edward-san's fix for the turbo CCMD.
SVN r2998 (trunk)
2010-11-07 23:50:21 +00:00
Christoph Oelckers
332d9b9ad1 - Changed savegame versioning for SVN-less builds to use a SAVEVER value of 999999 so that it is guaranteed that such a build can load its own savegames - even if it is at the cost of losing the ability to handle older savegames. People should build ZDoom with revision info anyway. ;)
SVN r2997 (trunk)
2010-11-07 23:48:55 +00:00
Christoph Oelckers
ad18c7396e - fixed: Sector_SetPortal did not set the portal's alpha value.
SVN r2996 (trunk)
2010-11-07 23:37:03 +00:00
Christoph Oelckers
9278375064 - added 'flooralpha' and 'ceilingalpha' sector properties. They only have meaning if a sector stack portal is defined in this sector. If set to anything less than 1.0 these will override the alpha set by a portal. This is mostly for Sector_SetPortal to avoid defining multiple portals that only differ by their plane translucency.
SVN r2995 (trunk)
2010-11-07 22:12:38 +00:00
Christoph Oelckers
12d2124700 - fixed: Explosions may not spawn splashes in sectors with a Transfer_Heights effect. Due to the way it handles floor textures it cannot spawn them correctly there.
SVN r2994 (trunk)
2010-11-07 20:18:52 +00:00
Christoph Oelckers
ef133dc682 - changed skybox code to use the alpha from the sector plane.
- removed alpha from skybox viewpoints.


SVN r2993 (trunk)
2010-11-07 17:05:21 +00:00
Christoph Oelckers
492bead360 - add alpha property to sector_t::splane. Not used yet.
SVN r2992 (trunk)
2010-11-07 16:17:14 +00:00
Christoph Oelckers
c31c4755fa - add an alpha parameter to R_FindPlane.
- fixed: R_FindPlane must do a full visplane comparison for stacked sectors with a non-0 alpha for the sector plane.


SVN r2991 (trunk)
2010-11-07 16:11:42 +00:00
Christoph Oelckers
669ce73272 - made the alpha used by stacked sectors part of the visplane. This will be needed to fix the merging of stacks with the same displacement but different alpha values.
SVN r2990 (trunk)
2010-11-07 15:30:41 +00:00
Christoph Oelckers
7dd8a0fce9 - replaced all calls to sqrtf with sqrt. Also changed P_RadiusAttack to use doubles for all floating point calculations.
SVN r2989 (trunk)
2010-11-07 14:39:09 +00:00
Christoph Oelckers
dff4553663 - fixed: When playing non-looping songs GMESong::Read could return without releasing the critical section.
SVN r2988 (trunk)
2010-11-07 14:25:08 +00:00
Christoph Oelckers
b771426ea2 - added Demolisher's APROP_Waterlevel patch.
SVN r2986 (trunk)
2010-11-07 07:31:58 +00:00
Christoph Oelckers
efe70a0799 - added THeShooter7's patch to use the PUFFGETSOWNER flag for blood, too.
SVN r2985 (trunk)
2010-11-07 07:29:23 +00:00
Christoph Oelckers
f3d05e2699 - applied Chriss OpenAL patch to make it uzable without GStreamer.
SVN r2984 (openal)
2010-11-07 07:17:57 +00:00
Christoph Oelckers
72192397ad - added some initial configurability to statistics intermission screen:
* Font and color for map name can be set if it's not a titlepatch
 * 'Finished' and 'Entering' can be either patches or a printed text in all gamees now.
 * Font and color for 'finished' and 'entering' text can be set.
 * moved 'finished' and 'Now entering:' texts into string table.


SVN r2981 (trunk)
2010-11-06 09:28:17 +00:00
Randy Heit
4a9892725d - Use the so-called SafeTerminateProcess() function to kill the child TiMidity++ process instead
of signaling an event. I would have preferred to use GenerateConsoleCtrlEvent(), but since it
  requires the caller be attached to the same console as the process it wants to kill, it's
  pretty much worthless. We will continue to look for the presence of the event name in the
  TiMidity++ binary despite no longer using it, because standard TiMidity++ builds do not write
  to stdout in binary mode on Windows systems.

SVN r2980 (trunk)
2010-11-04 03:47:49 +00:00
Randy Heit
ad200d8a56 - Tweaked jumpTics again. As before, it now counts down whenever it is non-zero. If the player
is on the ground and it counts below -18, it is zeroed so that the player can jump again. This
  handles cases where either the player did not actually jump when they pressed +jump (because
  there was a ceiling in the way) or when they land on something other than the floor.

SVN r2979 (trunk)
2010-11-04 02:19:34 +00:00
Christoph Oelckers
d45262f96b - fixed: With the Buddha cheat active the health of the real player actor was not synchronized with the player data if a voodoo doll received damage that would have killed it.
SVN r2978 (trunk)
2010-11-03 23:43:34 +00:00
Christoph Oelckers
c02339501c - fixed: The message for trying to quickload in netgames used the wrong display mode for the message menu.
SVN r2977 (trunk)
2010-11-03 23:33:57 +00:00
Christoph Oelckers
2f61653cae - fixed: AdjustPusher compared a sector's index with a tag to check for existing pushers in that sector.
SVN r2976 (trunk)
2010-11-03 23:27:31 +00:00
Randy Heit
0604d308d5 - Fixed: Pressing left or right on a video mode option line should play "menu/cursor", not "menu/change".
SVN r2974 (trunk)
2010-11-03 02:33:22 +00:00
Randy Heit
18205c82a6 - Modify AimingCamera so that it can pick up targets after spawning, since this is the only way
for it to aim at players, who cannot be spawned with TIDs.

SVN r2973 (trunk)
2010-11-03 02:27:46 +00:00
Randy Heit
db2147c700 - Fixed: Options selected in Strife dialogues using the number keys were off by one.
SVN r2972 (trunk)
2010-11-03 02:17:08 +00:00
Randy Heit
810ca55e2a - Fixed: The minimum velocity for player landing in effects in P_ZMovement should be -8, not -9.
SVN r2971 (trunk)
2010-11-03 02:11:06 +00:00
Randy Heit
92d11da8a5 - Revised usage of jumpTics. In Hexen, it went like this:
* When you jump, it gets set to 18.
  * When you land, it gets set to 7.
  * As long as it is non-zero, it counts down, and you cannot jump.
  Of note here, is that setting it to 18 upon jumping seems useless, since you can't jump unless
  you're on the ground, and when you reach the ground, it will always be set to 7. With that in
  mind, the new behavior is:
  * When you jump, it gets set to -1.
  * When you land, if it is less than zero or you fall far enough to squat, jumpTics will
    be set to 7. Otherwise, jumpTics is left alone.
  * If jumpTics is positive, it will count down each tic.
  * As long as JumpTics is non-zero, you cannot jump.

SVN r2970 (trunk)
2010-11-03 02:07:56 +00:00
Christoph Oelckers
48e17ccf1c - fixed: The cast call could not handle actors with changing sprites
- fixed: The cast call was missing some NULL pointer checks for invalid actor classes.
- fixed: The cast call did not use a translation defined for an actor class.


SVN r2968 (trunk)
2010-10-30 07:21:16 +00:00
Randy Heit
1287c9419a - Fixed: Controller buttons were still translated to menu buttons when the controls menu was
waiting for a button press, making it impossible to bind buttons that have special meaning to
  the menu from the menu.

SVN r2967 (trunk)
2010-10-24 17:46:48 +00:00
Christoph Oelckers
b0c7ac6868 - made "follow player" automap option a CVAR and added a menu item for it.
SVN r2965 (trunk)
2010-10-24 07:39:48 +00:00
Christoph Oelckers
2a0c4b9f32 - added a CVAR to decide when to show the map label (ExMy, MAPxx) on the automap HUD. Available settings are Never, Always and Only for hubs.
- made all crosshair related CVARs game specific. They were all global to all supportesd games.


SVN r2964 (trunk)
2010-10-24 07:31:39 +00:00
Christoph Oelckers
40c75b811d - fixed: When used on non-projectiles A_Explode ignored the HurtSource flag.
SVN r2963 (trunk)
2010-10-23 23:05:56 +00:00
Christoph Oelckers
747f3dd97a - fixed: The intermission screen was not taking texture scaling into account (it was written before the introduction of scaled texture handling for 2D.)
SVN r2962 (trunk)
2010-10-23 22:42:53 +00:00
Christoph Oelckers
c9adcb0f47 - fixed: The GAMEINFO parser did not correctly handle NOSPRITERENAME
- added STTPRCNT to HUDFONT_DOOM

SVN r2961 (trunk)
2010-10-23 22:33:39 +00:00
Christoph Oelckers
0497171bc0 - fixed: States jumping to themselves should only end an actor's cast call when it happens in the death sequence.
SVN r2957 (trunk)
2010-10-17 23:22:09 +00:00
Christoph Oelckers
f318653a11 - fixed: The intermission data was never freed.
SVN r2955 (trunk)
2010-10-17 13:25:21 +00:00
Christoph Oelckers
fe0c7bc7f9 - Let FPlayerNameBox::DrawBorder decide what graphics to use based on actual presence in the WADs, not the gamemode.
SVN r2953 (trunk)
2010-10-17 08:29:21 +00:00
Christoph Oelckers
94fd56b6bd - added option for the cast call to use a 'Death.Cast' sequence so that monsters with an unusable death sequence for the cast call can define an alternative.
SVN r2952 (trunk)
2010-10-17 08:02:04 +00:00
Christoph Oelckers
6538bc457b - fixed: The cast call could time out on overlong death sequences and get stuck.
- fixed: The cast call code should treat a waiting state in the death sequence as its end.


SVN r2951 (trunk)
2010-10-17 07:56:49 +00:00
Christoph Oelckers
8ebb555343 - fixed: Detection of MAP01 presence was wrong.
SVN r2950 (trunk)
2010-10-16 22:40:27 +00:00
Christoph Oelckers
ce7921c9d9 - externalized the vector graphics for the automap arrows and the key.
SVN r2949 (trunk)
2010-10-16 22:37:30 +00:00
Braden Obrzut
9e2e9262a4 - Fixed: Crash in Linux due to passing FStrings as character arrays.
- Fixed: More places where SBarInfo used the unscaled information from graphics.

SVN r2948 (trunk)
2010-10-16 17:04:18 +00:00
Christoph Oelckers
650da24364 - fixed: The alternative HUD's number printing function did not take texture scaling into account when calculating the printing position.
SVN r2947 (trunk)
2010-10-16 16:21:19 +00:00
Christoph Oelckers
8806ec294f - fixwd some GCC problems with d_iwad.cpp.
SVN r2946 (trunk)
2010-10-16 06:38:42 +00:00
Christoph Oelckers
0bde8591ee - forgot to handle GI_MAPxx flag.
SVN r2944 (trunk)
2010-10-15 15:40:16 +00:00
Christoph Oelckers
eded2ef345 - Each IWAD can now define its own config section. Hacx, Harmony and Action Doom2 now do that.
- moved IWAD identification data into a lump in zdoom.pk3.
- rewrote IWAD checking code 

SVN r2943 (trunk)
2010-10-15 15:13:53 +00:00
Christoph Oelckers
7068c1df48 - added a ResetEvent call in case that Timidity++ did not react to signalling the KillerEvent.
SVN r2942 (trunk)
2010-10-14 14:40:26 +00:00
Braden Obrzut
eb064ebe06 - Fixed crash with joysticks with more than 5 axes.
SVN r2941 (trunk)
2010-10-13 20:07:16 +00:00
Braden Obrzut
78cfbe56a1 - Forgot to actually add new joystick code.
SVN r2940 (trunk)
2010-10-13 16:30:31 +00:00
Braden Obrzut
0d10718e67 - Added SDL joystick support.
SVN r2939 (trunk)
2010-10-13 16:29:37 +00:00
Christoph Oelckers
55585a36eb - Added "Heretic1" autoload section for files that should be loaded with real Heretic but not with Blasphemer.
SVN r2938 (trunk)
2010-10-12 22:52:35 +00:00
Christoph Oelckers
7e362819e4 - made the different cursor characters for Raven's and the other small fonts a property of the font instead deciding based on the game.
SVN r2935 (trunk)
2010-10-12 08:43:15 +00:00
Christoph Oelckers
352a926ddf - made all references to the GameNames array an inline function call to allow easier modification later
- changed all parsers that check for the current game to use the same function for the game check.
- fixed: The TEAMINFO parser handled 'game Any' incorrectly.


SVN r2934 (trunk)
2010-10-12 07:14:31 +00:00
Christoph Oelckers
dd17c35d89 - removed gamemode check for shareware message. It also uses LANGUAGE conditionals now.
SVN r2931 (trunk)
2010-10-11 22:10:15 +00:00
Christoph Oelckers
2eac96143e - added conditionals to LANGUAGE parser so that the special messages for Chex Quest can be handled in the definition lumps instead of the code.
SVN r2930 (trunk)
2010-10-11 19:16:09 +00:00
Christoph Oelckers
d969b141b8 - added option to set custom end sequences: Use 'next = endsequence, "sequencename" in MAPINFO.
SVN r2929 (trunk)
2010-10-10 06:21:23 +00:00
Braden Obrzut
45f3ef91d3 - Fixed: If a log popup is defined, it should not draw the default log message.
- Fixed: The counters in draw(selected)inventory(bar) should not have been limited to 3 characters.
- Added: drawshadow() to drawinventorybar.
- Added: itemflash to drawselectedinventory to use Strife's cursor fade.
- Added: time and logtext to drawstring.  In addition a linebreaks(size) flag was added.

SVN r2928 (trunk)
2010-10-09 15:57:04 +00:00
Braden Obrzut
394a37421a - NULL pointer checks in music_pseudo_mididevice.cpp to prevent crashes on startup if fmod fails to play a midi.
SVN r2927 (trunk)
2010-10-09 04:37:31 +00:00
Braden Obrzut
b2548bf02a - Added detection code for Hacx 1.2 IWAD.
SVN r2925 (trunk)
2010-10-09 00:10:54 +00:00
Braden Obrzut
5f8c2f6310 - Added: keys, accuracy, stamina, and savepercent to drawnumber. (Savepercent is also available for drawbar.)
SVN r2924 (trunk)
2010-10-08 23:09:27 +00:00
Christoph Oelckers
a84a015f0c - fixed: The intermission actions for custom end sequences were never appened to the intermission descriptor.
SVN r2922 (trunk)
2010-10-07 22:57:09 +00:00
Christoph Oelckers
0595724d68 - updated CMakeLists.txt for intermission changes.
SVN r2921 (trunk)
2010-10-07 21:34:21 +00:00
Christoph Oelckers
ec3e4bb7c7 - fixed: The Player played no sounds in the Doom2 cast.
- fixed: The player's melee state is not a proper melee state so it should not be entered when used in the cast.
- fixed: Sounds were played before changing states. That missed situations where the state was entered from anywhere else but the previous state.


SVN r2915 (trunk)
2010-10-06 17:57:56 +00:00
Christoph Oelckers
d9970ab9b6 - merged finale branch back into trunk.
SVN r2911 (trunk)
2010-10-06 10:44:03 +00:00
Christoph Oelckers
0490c35347 - added Edward-san's improvements for changemus command.
SVN r2902 (trunk)
2010-10-05 22:35:59 +00:00
Christoph Oelckers
5ff3b3f329 - added Gez's VOC loader.
SVN r2901 (trunk)
2010-10-05 22:31:22 +00:00
Braden Obrzut
f26e65e550 - Fixed Linux compilation errors. (I'm not too sure what I was supposed to do with PrepTimidity() though.)
SVN r2882 (trunk)
2010-10-02 16:49:44 +00:00
Christoph Oelckers
d3ca1fddcc - added new action special Ceiling_LowerAndCrushDist. It's similar to Ceiling_LowerAndCrush but allows to explicitly set the distance from the floor where the ceiling stops moving. This is used to remove the special behavior for Strife from the code that unlike the other games moved the ceiling to the floor, not to 8 units above it.
SVN r2881 (trunk)
2010-10-02 16:26:10 +00:00
Christoph Oelckers
6d78ff3469 - Backported GZDoom revisions 1018-1019: Fixed spelling of "pseudo" because it bugged me too much. ;)
SVN r2880 (trunk)
2010-10-02 13:49:33 +00:00
Randy Heit
b2b84ad11f - Fixed snd_mididevice so that changing it immediately restarts the song for all devices, not
just Windows system devices.
- Remove SMF generation from i_music.cpp, since the psuedo-MIDI devices do this now.

SVN r2875 (trunk)
2010-10-02 04:12:21 +00:00
Randy Heit
90dd40c58f - Reimplemented TiMidity++ playback so that it also can handle XMI subsongs.
SVN r2874 (trunk)
2010-10-02 03:36:19 +00:00
Randy Heit
fa429ad844 - Fix incorrect parameters to PrintMidiDevice().
- Add music_psuedo_mididevice.cpp to CMakeLists.txt.

SVN r2873 (trunk)
2010-10-02 02:23:42 +00:00
Randy Heit
b6941be55f - Reimplemented FMOD MIDI playback as a psuedo-MIDI device so that it can take advantage of XMI subsongs.
SVN r2872 (trunk)
2010-10-02 02:19:50 +00:00
Christoph Oelckers
024bbeb171 - changed 'load game' menu so that it preselects the last used savegame, either for loading or saving.
SVN r2867 (trunk)
2010-09-29 22:24:55 +00:00
Christoph Oelckers
5464676603 - cleaned up i_music.cpp.
SVN r2866 (trunk)
2010-09-29 19:29:14 +00:00
Christoph Oelckers
5be9729872 - FScanner::Float is a double so there's no need to cast values to float before assigning them to this variable.
SVN r2865 (trunk)
2010-09-29 07:25:14 +00:00
Randy Heit
bc08502132 - Pass SMF files through the MIDI conversion process too, to give TiMidity++ and FMOD some
degree of support for songs that use loop controllers to loop the song back to a point after
  the very beginning of the song.
- Enable loops during SMF generation. Infinite loops will be clamped to some finite amount. (This is currently 30, so a 3 minute song will still restart from the very beginning after 90 minutes)
- Fixed: The SMF, HMI, and XMI readers all generated invalid MEVT_NOP events.
- Fixed: SMF generation died on songs that set their tempo during the initial beat.


SVN r2864 (trunk)
2010-09-29 03:35:53 +00:00
Christoph Oelckers
64784b2dc8 - fixed: DOptionMenu::FirstSelectable should not be called when the menu already has a valid selection.
SVN r2863 (trunk)
2010-09-29 00:54:14 +00:00
Christoph Oelckers
e2c105b447 - fixed: XMI music files were not converted for playback with FMod or Timidity++.
- Was there any reason why the MIDI_GUS device was so well hidden from the user? It sure does not sound broken. Added it to MIDI menu and $mididevice.


SVN r2862 (trunk)
2010-09-29 00:35:47 +00:00
Christoph Oelckers
6014250f3a - fixed: Option menus with no selectable items crashed.
SVN r2861 (trunk)
2010-09-28 16:28:44 +00:00
Christoph Oelckers
9414fd2995 - fixed: G_DoLoadLevel must reset level.maptime before calling P_SetupLevel or all actors that read it in their BeginPlay method get the wrong time.
SVN r2860 (trunk)
2010-09-28 15:14:53 +00:00
Randy Heit
5a3b3631c3 - Added XMIDI support (including subsongs).
- Moved unaligned accessors into m_swap.h.

SVN r2859 (trunk)
2010-09-28 03:58:41 +00:00
Christoph Oelckers
2d5755a80e - fix GCC warning.
SVN r2858 (trunk)
2010-09-27 22:42:35 +00:00
Christoph Oelckers
77709f1847 - fixed: The loadgame menu responder did not check for an empty list of savegames.
SVN r2857 (trunk)
2010-09-27 22:36:47 +00:00
Christoph Oelckers
9abaaa1785 - added a default cursor for Chex Quest.
- set 'cursor' as default for Action Doom 2. Doom's bunny is probably not the best thing here...
- made cursor user-settable in the menu.



SVN r2855 (trunk)
2010-09-26 07:46:34 +00:00
Christoph Oelckers
cf9792ed53 - fixed: The order of items in the main menu was wrong. Doom is supposed to have 'Options' in second place. Many vanilla-compatible mods with special one-patch menus would not work correctly due to this. Fortunately the only mod I could find that relied on ZDoom's order was Action Doom 2, which as an IWAD can easily be handled by a simple configuration option.
- added 'else' blocks to MENUDEF parser.



SVN r2854 (trunk)
2010-09-26 06:53:40 +00:00
Randy Heit
17f9e687bd - Added cursorpic gameinfo property to set the mouse cursor image.
SVN r2852 (trunk)
2010-09-26 05:31:52 +00:00
Christoph Oelckers
3f69b63873 - fixed: Backing out of a skill confirmation message screen caused that skill to be used for the next game if the menu wasn't fully closed first.
SVN r2851 (trunk)
2010-09-25 23:28:44 +00:00
Christoph Oelckers
3f420c97bd - allow setting the startup screen's title through GAMEINFO lump.
SVN r2850 (trunk)
2010-09-24 14:27:52 +00:00
Randy Heit
4397ef3323 - Added HMP file support.
SVN r2849 (trunk)
2010-09-24 02:46:48 +00:00
Randy Heit
46eebe29a4 - Update the HMI player to use the division information stored in the song and check the full file signature.
SVN r2848 (trunk)
2010-09-23 22:37:25 +00:00
Christoph Oelckers
917e93e633 - fixed: The check for savegames without picture was reversed.
- fixed: Savegames that were saved without picture did not display the 'No picture' message because the empty PNG container was still recognized as image.


SVN r2847 (trunk)
2010-09-23 06:14:30 +00:00
Randy Heit
b9185f7c62 - Added a NULL skins[] check to AActor::SetState().
SVN r2846 (trunk)
2010-09-23 01:56:04 +00:00
Randy Heit
b8fa340986 - Fixed: ACS's GetActorX, GetActorY, GetActorZ, GetActorFloorZ, GetActorCeilingZ, GetActorAngle,
and GetActorPitch did not have NULL pointer checks for the TID == 0 case.

SVN r2845 (trunk)
2010-09-23 01:51:00 +00:00
Christoph Oelckers
16fa8cc249 - Am I the only one who thinks that static_casts can create really clunky code? (Thanks, GCC, for your overly paranoid warning settings that necessitate such ugliness. :( )
SVN r2844 (trunk)
2010-09-22 06:52:48 +00:00
Braden Obrzut
15d74dab56 - Fixed: GCC warnings.
SVN r2843 (trunk)
2010-09-21 20:35:40 +00:00
Braden Obrzut
1e83634089 - Fixed: The aspectratio SBarInfo command never ticked its contents.
SVN r2842 (trunk)
2010-09-21 20:07:03 +00:00
Christoph Oelckers
385cfc5698 - fixed some texture priorititing problems with Hexen's player displays for the menu. The patches for these should not be placed in the TEX_WallPatch namespace because it's not what modders might expect from them.
SVN r2841 (trunk)
2010-09-21 16:50:09 +00:00
Christoph Oelckers
a3e98eb4ab - added automatic centering of Hexen's skill menu so that it can adjust automatically to the different player classes.
SVN r2840 (trunk)
2010-09-21 12:58:59 +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
Braden Obrzut
0619a2677e - Fixed: SBarInfo couldn't print extended ASCII characters.
SVN r2838 (trunk)
2010-09-20 23:00:27 +00:00
Christoph Oelckers
59b19d36fb - Fixed: AActor::Slam mzst check the charging monster's health before setting it back to its See state. Damaging the target may cause action that might have killed it.
SVN r2837 (trunk)
2010-09-19 22:33:21 +00:00
Christoph Oelckers
a2673c2cc4 - fixed a misplaced ')' in addkeysection.
SVN r2836 (trunk)
2010-09-19 22:23:57 +00:00
Christoph Oelckers
74525ab1d6 - moved some info into the GAMEINFO section:
* the sprite used for 'pause'.
 * the factor with which a monster's health is multiplied to decide if it's supposed to be gibbed,
 * the decision to make monsters run faster in nightmare mode.
- moved the hard coded lock messages for lock types 102 and 103 into the language lump.
- fixed: Raven's fast monsters could become slower in Nightmare if they had very short walking states.


SVN r2834 (trunk)
2010-09-19 10:39:34 +00:00
Christoph Oelckers
7dcf9b4738 - fixed: The current level's statistics should not be updated when not actually playing.
- added a STAT display for the game statistics info.


SVN r2833 (trunk)
2010-09-19 09:02:44 +00:00
Christoph Oelckers
9a8a446840 - added player class definition through the GAMEINFO section in MAPINFO. Also added a NOMENU flag that can be set for a player class. This means that the use of KEYCONF is now deprecated except for its original purpose: To define mod specific key binding options.
SVN r2832 (trunk)
2010-09-19 08:27:20 +00:00
Christoph Oelckers
e1de9f0633 - fixed: The newly accelerated mousewheel scrolling code did not check for the end of the list and could scroll one item too far. It also incremented VisBottom by 3 instead of 2.
- changed lock failsound lookup so that for each sound it tries to resolve it as a player sound before deciding if it is valid.

SVN r2830 (trunk)
2010-09-19 06:34:15 +00:00
Randy Heit
c4c69df6dc - Fixed: FOptionMenuItemJoyMap::SetSelection() did not convert from menu selection number to joyaxis number.
SVN r2829 (trunk)
2010-09-19 04:04:34 +00:00
Randy Heit
503ae5a9ee - Scroll two rows at a time with the mouse wheel in the options menu.
SVN r2828 (trunk)
2010-09-19 03:52:18 +00:00
Randy Heit
94ce4d5d69 - Remove extra *usefail definition for the pig player.
- Locks can now define more than one LockedSound by separating them with commas. The default setting
  for this property is now "*keytry", "misc/keytry". The first sound that is defined is the one that will
  be played for the lock. Thus, for standard locks, if the player class defines *keytry, that will be
  played. Otherwise, misc/keytry will be played as before.



SVN r2827 (trunk)
2010-09-19 03:30:31 +00:00
Christoph Oelckers
df138fe4f9 - added a ClearCounters function to AActor that handles everything necessary to un-count an item that is not supposed to be counted but has some of the COUNT* flags set.
- merged all places where secrets are credited into one common function.
- added the Doom64 COUNTSECRET actor flag.
- fixed: AInventory::CreateCopy did not clear the COUNTITEM flag.
- fixed: Dropping an item did not increase the item count but the dropped item could still have the COUNTITEM flag. Now this flag gets cleared when the item gets picked up so that dropped items don't count a second time.

SVN r2826 (trunk)
2010-09-19 00:06:45 +00:00
Christoph Oelckers
7b01f7b296 - merged Thing_Destroy extension from Doom64 branch into trunk and extended it by a tid=0, tag!=0 case which will kill all shootable actors in sectors with the specified tag.
SVN r2825 (trunk)
2010-09-18 22:39:27 +00:00
Braden Obrzut
b50007ecf6 - Fixed: Compilation errors on Mac OS X.
SVN r2824 (trunk)
2010-09-18 20:13:56 +00:00
Braden Obrzut
20513cff41 - Fixed Linux compilation issue with statistics.cpp
SVN r2823 (trunk)
2010-09-18 17:45:19 +00:00
Christoph Oelckers
54bdf38fef - resurrected some old statistics code I had and made some minor enhancements to be of more use.
SVN r2821 (trunk)
2010-09-18 16:08:10 +00:00
Christoph Oelckers
051ae3224f - fixed: The subsector serializing code accessed the subsector array before validating the index.
- added episode names to episode definitions of Doom 1 and Chex Quest.


SVN r2820 (trunk)
2010-09-18 12:37:22 +00:00
Randy Heit
eb031d73e7 - Change the time when walking monsters step down steps to just after the step rather than just before.
This allows for thrusting walking monsters vertically without them suddenly warping to the ground.



SVN r2819 (trunk)
2010-09-18 02:55:08 +00:00
Randy Heit
5871712fd4 - Fixed incorrect definition of FLUID_FAILED when building with DYN_FLUIDSYNTH enabled.
SVN r2818 (trunk)
2010-09-18 02:12:49 +00:00
Christoph Oelckers
3090ad7be6 - we don't need to include lists.h any longer.
SVN r2817 (trunk)
2010-09-17 22:57:04 +00:00
Christoph Oelckers
eeab5ba0e4 - reintegrate savegame menu changes back into trunk
SVN r2816 (trunk)
2010-09-17 22:48:55 +00:00
Christoph Oelckers
46b3bb8e41 - moved BFGSplash damage type to BFGExtra actor so that it can be replaced.
SVN r2808 (trunk)
2010-09-17 13:22:39 +00:00
Christoph Oelckers
e385de010d - fixed: FValueTextItem::MenuEvent must eat all MKEY_Enter events so that the menu doesn't try to activate the item which results in an attempt to create an invalid submenu.
SVN r2807 (trunk)
2010-09-17 10:11:39 +00:00
Christoph Oelckers
fa062aa141 - fixed: DPlayerMenu::ClassChanged needs to call PickPlayerClass before setting the playerclass CVAR.
SVN r2806 (trunk)
2010-09-17 08:19:02 +00:00
Christoph Oelckers
ae3c60454f - fixed: M_Ticker should not run any code when the menu is off.
SVN r2805 (trunk)
2010-09-17 06:20:08 +00:00
Christoph Oelckers
35aa6e7847 - fixed: The player name input box did not 0-terminate the string when temporarily appending an underscore for the cursor display.
SVN r2804 (trunk)
2010-09-16 23:16:06 +00:00
Christoph Oelckers
3424548bec - skip all mouse move events that come right after switching to native mouse.
Windows sends some when the mouseis ungrabbed even when it does not move.
  This caused the currently selected menu item to get unselected.



SVN r2803 (trunk)
2010-09-16 22:45:12 +00:00
Christoph Oelckers
198c714dad - fixed the compatibility handler of AAmbientSound::Serialize.
SVN r2802 (trunk)
2010-09-16 20:47:41 +00:00
Christoph Oelckers
6789b8936c - fixed: When moving a sector plane P_CheckPosition must do the same anti-overlap checks for monsters like P_Move to avoid monster pile-ups.
SVN r2801 (trunk)
2010-09-16 20:15:44 +00:00
Christoph Oelckers
6db772b4e5 - fixed the player class selection fix from r2798.
SVN r2800 (trunk)
2010-09-16 17:01:42 +00:00
Christoph Oelckers
491da14d9b - Changed the ambient sound timer to use level.maptime instead of gametic so that it gets paused along with the rest of the game automatically.
SVN r2799 (trunk)
2010-09-16 16:29:23 +00:00
Christoph Oelckers
4da5ce74ca - fixed: The menu should not override the user's player class if there is no player class menu.
SVN r2798 (trunk)
2010-09-16 16:20:39 +00:00
Christoph Oelckers
09da387689 - added: If a map contains both extended normal and GL nodes the GL nodes loader will now load the prebuilt GL nodes.
SVN r2797 (trunk)
2010-09-16 14:26:56 +00:00
Christoph Oelckers
a5be18c1c1 - try not to scale the option menu to more than 3/4 of the screen's width if doable.
SVN r2796 (trunk)
2010-09-16 12:48:58 +00:00
Christoph Oelckers
ee87fdc58e - some layout tweaks for the option menu system, in particular to shorten the sliders if the menu is too wide.
- allow specifying the fractional precision for the numbers behind the sliders.
- took all HUD related options out of the display options menu and created a seaparate one for them.
- added several more display and HUD options to the menu.
- created a new 'Miscellaneous options' menu for a few items that should be accessible but don't fit anywhere else.


SVN r2795 (trunk)
2010-09-16 10:59:40 +00:00
Christoph Oelckers
deef0e0a88 - oops
SVN r2794 (trunk)
2010-09-16 08:36:14 +00:00
Christoph Oelckers
916d4809a9 - added Demolisher's APROP_Target/TracerTID submission.
SVN r2793 (trunk)
2010-09-16 07:00:27 +00:00
Christoph Oelckers
3662bf8a15 - reverted r2783 because it was causing problems.
SVN r2792 (trunk)
2010-09-16 06:51:42 +00:00
Christoph Oelckers
c948fd08f2 - fixed: GUI mouse events did not take letterboxing into account.
SVN r2788 (trunk)
2010-09-15 21:53:12 +00:00
Christoph Oelckers
106cf82f62 - added a fixed version of Demolisher's GetActor** submission for returning the activator's info when the tid is 0.
SVN r2787 (trunk)
2010-09-15 21:41:49 +00:00
Christoph Oelckers
5dfc57336e - fixed: The class selection menu crashed when no item in the menu was selected.
SVN r2786 (trunk)
2010-09-15 20:11:32 +00:00
Christoph Oelckers
d8fd72e19a - added Khamsin's fix for visible mouse cursors in Linux fullscreen mode with mouse disabled.
SVN r2785 (trunk)
2010-09-15 16:50:08 +00:00
Christoph Oelckers
dca03ac76a - changed ACS's print n: cast to use an actor's tag for non-players instead of the class name.
SVN r2784 (trunk)
2010-09-15 14:47:44 +00:00
Christoph Oelckers
a0d7693f33 - added Spleen's fix for not running 2 frames of the weapon when the player spawns.
SVN r2783 (trunk)
2010-09-15 14:09:48 +00:00
Christoph Oelckers
4ca21e8e38 - added Edward-san's 'changemus' submission for printing the currently playing music track.
SVN r2782 (trunk)
2010-09-15 13:49:11 +00:00
Christoph Oelckers
d64fcbd01e - applied Chris's latest OpenAL patch.
SVN r2781 (openal)
2010-09-15 13:45:08 +00:00
Christoph Oelckers
5e824ba0e0 - sync OpenAL branch with trunk.
SVN r2780 (openal)
2010-09-15 12:31:18 +00:00
Christoph Oelckers
d5f9b0874e - fixed: Lines in the option menu that covered the same vertical space as the back button rendered the back button inoperable.
SVN r2779 (trunk)
2010-09-15 10:22:38 +00:00
Christoph Oelckers
087979d6cc - fixed: skipping the skill menu locked up the menu sequence for starting a game.
SVN r2777 (trunk)
2010-09-14 22:00:02 +00:00
Christoph Oelckers
5fcac9b5f1 - fixed: The default GetPixelDoubling function in DFrameBuffer returned 1 instead of 0.
- copied a NULL pointer check for screen from GZDoom.


SVN r2776 (trunk)
2010-09-14 20:53:12 +00:00
Christoph Oelckers
ecb34b8302 - relaxed conditions for shortening the sliders so that they remain at full size at 800x600.
SVN r2771 (trunk)
2010-09-14 19:08:21 +00:00
Christoph Oelckers
8308a35345 - deleted empty old files.
SVN r2769 (trunk)
2010-09-14 17:29:54 +00:00
Christoph Oelckers
579502ab74 - merged menu branch back into trunk.
SVN r2768 (trunk)
2010-09-14 17:28:18 +00:00
Christoph Oelckers
ec0b07b5e2 - added Entryway's AM_Rotate optimization.
SVN r2739 (trunk)
2010-09-10 13:49:08 +00:00
Christoph Oelckers
610ff3956e - fixed P_LoopSideDefs could crash on the second P_LoopSidedefs call if there were unconnected linedefs in the map.
SVN r2716 (trunk)
2010-09-08 08:53:39 +00:00
Christoph Oelckers
ce2c2bd825 - replaced AM_Rotate with a more precise floating point version posted by Entryway.
SVN r2713 (trunk)
2010-09-07 20:23:44 +00:00
Braden Obrzut
31754a582d - Fixed: when using the border property of drawbar, interpolation didn't work quite right.
SVN r2705 (trunk)
2010-09-06 20:12:44 +00:00
Christoph Oelckers
e9211aaad3 - added some NULL pointer checks to the kill CCMD and APlayerPawn::PostBeginPlay.
SVN r2697 (trunk)
2010-09-05 20:51:13 +00:00
Braden Obrzut
3dbf807345 - Applied Chris's patch to fix hmi compilation error on Linux.
SVN r2689 (trunk)
2010-09-04 18:21:51 +00:00
Randy Heit
61d438e1eb - Don't call M_NotifyNewSave() before closing the new savegame.
- Disallow negative read lengths in FileReader::Read().

SVN r2685 (trunk)
2010-09-04 03:02:13 +00:00
Randy Heit
84b9de8c14 - Make sure Tempo is initialized before creating SMFs.
SVN r2684 (trunk)
2010-09-04 02:57:36 +00:00
Randy Heit
070ec75785 - Cleaned up the ugly MIDI song creating code a little.
- Added a generic Standard MIDI File creator that works with any of the sequencers. mus2midi.cpp
  is no longer used but is kept around as a reference.

SVN r2677 (trunk)
2010-09-03 05:08:05 +00:00
Randy Heit
092cbfd55b - Fixed: When the game nodes were the same as the render nodes, their pointers would not be NULLed.
SVN r2676 (trunk)
2010-09-03 02:11:35 +00:00
Randy Heit
81e21b0688 - Renamed music_midi_midiout.cpp to music_smf_midiout.cpp.
- Moved MIDI precaching logic into MIDIStreamer so that SMF and HMI files can both use the
  same implementation.
- Added a player for HMI midi files.

SVN r2675 (trunk)
2010-09-02 23:17:58 +00:00
Braden Obrzut
241e09c271 - Fixed: font monospacing didn't apply to the space character.
SVN r2666 (trunk)
2010-09-01 22:26:07 +00:00
Randy Heit
0202c0c3a9 - Added the am_zoom command to zoom the automap by a specific step and set default mouse wheel
bindings for it. I'm not sure how this should be exposed through the menu, however. Technically,
  it's different from the pan keys, but from an end user's point of view, they both zoom the
  automap, so they should both be listed under the Zoom in and out controls. But the menu code
  can't handle that.

SVN r2663 (trunk)
2010-09-01 05:03:17 +00:00
Randy Heit
7bf0cd13a6 - Fixed: The mouse pointer stayed hidden on startup because the CursorState variable was not
set until the mouse was grabbed.

SVN r2662 (trunk)
2010-09-01 04:24:56 +00:00
Randy Heit
c25f206fbb - Disable framebuffer debug spew. All those OutputDebugString messages from DCanvas::DrawLine()'s
Lock and Unlock calls were slowing things down extremely when looking at a software-drawn
  automap.

SVN r2661 (trunk)
2010-09-01 04:13:36 +00:00
Randy Heit
a2573e4bb3 - Fixes to compile with GCC 4.5.0.
SVN r2660 (trunk)
2010-09-01 03:30:18 +00:00
Randy Heit
4b817cfd8b - Fix an ICE when compiling with GCC 4.5.0.
SVN r2659 (trunk)
2010-09-01 03:22:43 +00:00
Braden Obrzut
230178bf98 - Added drawshadow flag to drawstring.
SVN r2656 (trunk)
2010-08-31 21:36:30 +00:00
Christoph Oelckers
88f0fa270a - added kgsws-cz's FBF_NOFLASH submission.
SVN r2655 (trunk)
2010-08-31 21:24:03 +00:00
Randy Heit
399cfc4890 - Fixd MinGW compilation of p_glnodes.cpp.
SVN r2650 (trunk)
2010-08-31 04:35:13 +00:00
Randy Heit
08a40b22be - BOOM compatibility fix: Allow voodoo dolls to spawn inside narrow pits.
SVN r2641 (trunk)
2010-08-29 17:57:10 +00:00
Christoph Oelckers
c304b39ecc - added new sector special 195 to set the 'hidden' sector flag in non-UDMF maps.
SVN r2637 (trunk)
2010-08-29 12:20:35 +00:00
Randy Heit
d4b03e2b77 -
SVN r2629 (trunk)
2010-08-29 03:52:02 +00:00
Randy Heit
f9691a24ff - Fixed: The automap was too aggressive about hiding markers.
SVN r2628 (trunk)
2010-08-29 03:37:41 +00:00
Christoph Oelckers
a3c8e0c042 - fixed: P_LineAttack mixed up two flags variables.
SVN r2627 (trunk)
2010-08-28 20:25:52 +00:00
Christoph Oelckers
cbff41f481 - assws PinkSilver's LOF_NOJUMP submission for A_LookEx.
SVN r2626 (trunk)
2010-08-28 20:22:35 +00:00
Christoph Oelckers
eb3340e872 - fixed: Clearing a pickup message for inventory items was not possible. Changed it so that "You got a pickup" is AInventory's pickup message and not a default returned when nothing valid is set.
SVN r2625 (trunk)
2010-08-28 19:20:14 +00:00
Christoph Oelckers
387bfc0260 - added 'nospriterename' key to GAMEINFO lump so that PWADs have a means to disable this feature without having to specify a command line switch.
SVN r2623 (trunk)
2010-08-28 17:19:48 +00:00
Christoph Oelckers
4e1a514455 - fixed: Subsectors which are the origin of polyobjects should not be drawn on the textured automap because the vertices no longer are where they'd be expected to be.
SVN r2622 (trunk)
2010-08-28 16:51:41 +00:00
Christoph Oelckers
1dd3ecd6e2 - fixed: -nosfx deactivated the entire sound system which also made music inoperable. Changed it so that all it does is block sound effects from being started.
SVN r2621 (trunk)
2010-08-28 13:36:41 +00:00
Christoph Oelckers
5647fed0cf - fixed: armor factor application was done wrong.
- fixed: APROP_Invulnerable could only be set and unset but not checked.
- fixed: Two sided polyobjects applied thrust to sctors in a way that did not work.


SVN r2620 (trunk)
2010-08-28 12:57:23 +00:00
Christoph Oelckers
80f1a63cc9 - fixed: The textured automap node initialization code could crash on maps that only have single isolated sectors.
SVN r2618 (trunk)
2010-08-28 12:00:42 +00:00
Christoph Oelckers
5a9151d7d2 - fixed: Extraction of partner segs was broken in the internal node builder.
SVN r2617 (trunk)
2010-08-28 11:17:25 +00:00
Randy Heit
0d53867409 - Changed the default key for am_toggletexture to P so as not to conflict with the default chat key.
SVN r2616 (trunk)
2010-08-28 01:46:26 +00:00
Christoph Oelckers
76816f7da8 - disable check for hidden sectors because it does more harm than good.
- don't draw a textured automap in overlay mode.


SVN r2614 (trunk)
2010-08-27 17:49:27 +00:00
Christoph Oelckers
ece980d372 - fixed check for GL nodebuild
SVN r2613 (trunk)
2010-08-27 17:34:25 +00:00
Christoph Oelckers
3afa8149de - added a fix from GZDoom to handle levels with compressed sidedefs that were processed by older ZDBSPs.
SVN r2612 (trunk)
2010-08-27 16:53:11 +00:00
Christoph Oelckers
2152bc88d6 - fixed CROSSHAIR_INDEX in m_options.cpp.
SVN r2611 (trunk)
2010-08-27 16:06:10 +00:00
Christoph Oelckers
a11e70bf5f - changed savegame version check for automap stuff.
SVN r2610 (trunk)
2010-08-27 15:22:21 +00:00
Christoph Oelckers
9a4abe0915 - merged automap branch into trunk.
SVN r2609 (trunk)
2010-08-27 15:20:05 +00:00
Christoph Oelckers
9102200771 - added: Let the kill CCMD also kill replacements of the monster that is specified.
- add a GetReplacement method to PClass to clean up some really ugly code
- Who wrote the 'kill' CCMD? The way it checked if two classes were identical was horrendously overcomplicated.

SVN r2601 (trunk)
2010-08-26 20:59:15 +00:00
Christoph Oelckers
ffa58aadbe - added Aroenai's snd_menuvolume submission.
SVN r2600 (trunk)
2010-08-26 18:08:09 +00:00
Christoph Oelckers
06a35dea11 - added: offset the trail actors spawned by AFastProjectile by missileheight.
SVN r2599 (trunk)
2010-08-26 18:03:15 +00:00
Christoph Oelckers
eed5812799 - added 'fluidsynth' option for $mididevice command.
SVN r2598 (trunk)
2010-08-26 16:46:01 +00:00
Christoph Oelckers
6c57441bcd - fixed: The UDMF check for dialogues without owning class needs to be relaxed. A dialogue with an id and no class is a valid construct.
- fixed: Trying to assign a non-existent dialogue to an actor in UDMF partially overwrote the default dialogue.


SVN r2579 (trunk)
2010-08-24 13:57:17 +00:00
Christoph Oelckers
f08c66d664 - externalized the "You seem to have enough" string to language lump.
- allow all texts in conversations to reference the string table.
- fixed: If no dialogue is found for the current map, SCRIPT00 should still be loaded.


SVN r2577 (trunk)
2010-08-24 09:53:10 +00:00
Randy Heit
c058c644a4 - MinGW did not like this assignment in the FluidSynth loader.
SVN r2573 (trunk)
2010-08-24 02:35:10 +00:00
Christoph Oelckers
9073b8cdea - removed FActorInfo::ConversationID which was development garbage of the USDF branch.
SVN r2569 (trunk)
2010-08-22 17:49:28 +00:00
Christoph Oelckers
ec71635ca1 - fixed: The USDF CheckActorType function did not return the class object for ZDoom namespace.
- fixed: The binary check for dialogue lumps must only rewind the file by 4 bytes, not completely to the start.


SVN r2568 (trunk)
2010-08-22 17:31:42 +00:00
Christoph Oelckers
883510efe2 - added UMDF property to assign conversation dialogues to mapthings.
SVN r2567 (trunk)
2010-08-22 17:18:46 +00:00
Christoph Oelckers
96a8f1ceee - fixed: The SaveVersion check for the USDF related changes for the current dialogue did not have the correct version number.
- fixed: All blood spawning functions checked the ALLOWPARTICLES flag on the class defaults before actor replacement instead of after.


SVN r2563 (trunk)
2010-08-21 19:50:07 +00:00
Christoph Oelckers
1460b8feed - fixed: The check for old incompatible savegames with dialogues was wrong.
SVN r2562 (trunk)
2010-08-20 19:10:02 +00:00
Christoph Oelckers
b452bec0ee - merge USDF branch into trunk.
- add USDF spexs.


SVN r2561 (trunk)
2010-08-20 12:20:51 +00:00
Randy Heit
6f82db47b8 - Merge the shared code for the softsynths into a common base class.
SVN r2560 (trunk)
2010-08-20 04:21:53 +00:00
Randy Heit
eafb0ab7cf - Expose more FluidSynth settings through these cvars:
* fluid_samplerate
  * fluid_threads
  * fluid_reverb_roomsize
  * fluid_reverb_damping
  * fluid_reverb_width
  * fluid_reverb_level
  * fluid_chorus_voices
  * fluid_chorus_level
  * fluid_chorus_speed
  * fluid_chorus_depth
  * fluid_chorus_type

SVN r2559 (trunk)
2010-08-19 23:11:16 +00:00
Randy Heit
a68e9c8fa6 - Added a dlopen() version of on-demand FluidSynth loading and exposed it
to CMake through the DYN_FLUIDSYNTH option.



SVN r2558 (trunk)
2010-08-19 20:46:19 +00:00
Randy Heit
f389cd8b0f - Add on-demand loading for fluidsynth.dll. This also lets you build with FluidSynth support
without actually having the FluidSynth development files installed.

SVN r2557 (trunk)
2010-08-19 16:49:43 +00:00
Randy Heit
2136ef2aba - Also check for CT2MGM.SF2 if CT4MGM.SF2 is not found.
SVN r2556 (trunk)
2010-08-19 15:51:07 +00:00
Randy Heit
2c397b1aac - Add a default search for Creative's CT4MGM.SF2 on Windows if fluid_patchset is unspecified.
- Use fluid_patchset to specify the SoundFont(s) for FluidSynth instead of doubling up with
  snd_midipatchset, which is already used by FMOD.

SVN r2555 (trunk)
2010-08-19 15:46:49 +00:00
Randy Heit
576e597d2b - Increase the fluid_voices default to 128. It apparently has a poor voice cutting algorithm
which is painfully apparent on hexen.wad MAP01's music, which hits around 90 voices.
- Patch from Chris:
  * Add FluidSynth to the menu.
  * Enable FluidSynth for MIDI as well as MUS.
  * Fix CmakeLists.txt.


SVN r2554 (trunk)
2010-08-19 15:31:44 +00:00
Christoph Oelckers
f9523a01e3 - Added Gez's patch for moving tag strings into the language file and adding tags for all weapons and inventory items.
SVN r2552 (trunk)
2010-08-18 20:26:25 +00:00
Braden Obrzut
050b82f543 - Fixed: ZDoom wouldn't compile without FluidSynth.
SVN r2548 (trunk)
2010-08-17 04:22:17 +00:00
Randy Heit
d53ef3f38a - Oops. These changes didn't belong in the repository.
SVN r2547 (trunk)
2010-08-15 20:05:35 +00:00
Randy Heit
ea4ac390d9 - Forgot to include this music_fluidsynth_mididevice.cpp.
SVN r2546 (trunk)
2010-08-15 19:55:40 +00:00
Randy Heit
1fa4bbf69c - Added FluidSynth support as snd_mididevice -5. Only tested with Linux. I will have
to try compiling it myself on Windows to see if it's really that slow or if
  Ubuntu just ships an unoptimized version, because performance is pretty pathetic
  when compared to the other options. (I understand that it's a complete SoundFont2
  renderer, so it is understandably slower than something like TiMidity++, but still.
  Does it really need to be around 10x slower? I played with the chorus, reverb, and
  interpolation settings, and none of them seemed to make much difference in
  performance.)



SVN r2545 (trunk)
2010-08-15 19:54:59 +00:00
Christoph Oelckers
0657121847 - Backport from GZDoom: P_LoopSidedefs() needed another fix as it shouldn't try to report errors found on the second loop.
SVN r2544 (trunk)
2010-08-15 14:09:17 +00:00
Christoph Oelckers
66f6115c86 - added a compatibility option to render all segs of a polyobject in the center's subsector and automatically set it for Hexen MAP36 and HEXDD MAP47.
SVN r2543 (trunk)
2010-08-15 10:02:10 +00:00
Braden Obrzut
a0d16bc99a - Fixed: The center flag for drawimage didn't work.
- Fixed: GCC didn't like casting from seg_t* to unsigned int on 64-bit systems.

SVN r2542 (trunk)
2010-08-14 21:01:49 +00:00
Christoph Oelckers
1fda9421ac Backported from GZDoom:
- Fixed: P_LoopSidedefs() needs to clean out sidetemp[] because when it's called a second time, the maximum of the number of vertices and that of sides may have increased compared to when P_AllocateSideDefs() created the array, which led to access violations.

SVN r2541 (trunk)
2010-08-14 20:00:47 +00:00
Christoph Oelckers
b288a7a416 - added option to set item pickup color through MAPINFO's GAMEINFO block.
SVN r2539 (trunk)
2010-08-14 06:25:38 +00:00
Randy Heit
1063a98c47 - Maybe allow assembly on Intel Macs? - attempt 2
SVN r2537 (trunk)
2010-08-13 22:12:42 +00:00
Christoph Oelckers
5603c70574 [OpenAL branch]
- apply Chris's latest patch.




SVN r2534 (openal)
2010-08-13 07:07:26 +00:00
Christoph Oelckers
09bd076b17 - added PinkSilver's ACS Checksight submission.
SVN r2532 (trunk)
2010-08-13 06:31:22 +00:00
Christoph Oelckers
564fb6a723 - added TheShooter7/Aroenai's patch for switch on pickup menu option.
SVN r2531 (trunk)
2010-08-13 06:27:22 +00:00
Christoph Oelckers
d904d8276e - added TheShooter7's patch for NOPITCH flags for hitscan attacks.
SVN r2530 (trunk)
2010-08-13 06:22:49 +00:00
Randy Heit
dab3ff000e - Enable backpatching on non-Windows machines.
SVN r2528 (trunk)
2010-08-13 04:11:21 +00:00
Randy Heit
30ffe1d4b8 - Maybe enable assembly on Intel Macs?
SVN r2527 (trunk)
2010-08-13 03:14:05 +00:00
Randy Heit
4f03442a7a - Make the Cocoa IWAD picker behave like the others: Double-clicking an entry starts
it, as does pressing Return, and pressing Escape is equivalent to the Cancel button.



SVN r2526 (trunk)
2010-08-13 00:08:51 +00:00
Randy Heit
a27304baac - Fixed byte swapping the script count for new-style ACS. My 2poly.wad now works on PPC.
SVN r2525 (trunk)
2010-08-12 22:56:08 +00:00
Randy Heit
3cf25ad8e5 - Fixed more byte swapping lackage in p_acs.cpp. A cursory run through Hexen seems to have scripting
working now.



SVN r2524 (trunk)
2010-08-12 22:39:06 +00:00
Randy Heit
7d40b8a9a4 - Fixed a number of places in p_acs.cpp that did not do byte swapping but should have.
SVN r2523 (trunk)
2010-08-12 22:15:32 +00:00
Randy Heit
c3fa9a54a0 - Fix printf warnings in p_setup.cpp.
- Fix buiding on PowerPC.



SVN r2522 (trunk)
2010-08-12 21:28:16 +00:00
Christoph Oelckers
185bd2f15d - backported some 3D floor changes from GZDoom.
SVN r2517 (trunk)
2010-08-12 07:05:31 +00:00
Christoph Oelckers
e9c43fe908 - fixed: P_LoopSidedefs must be called again before setting up the polyobjects if the nodes were rebuilt. The original data is no longer valid in case vertexes were merged by the node builder.
SVN r2516 (trunk)
2010-08-12 06:43:12 +00:00
Braden Obrzut
99e0adaf45 - Fixed some issues with compiling on the Mac. Some options were added to force compilation of internal libraries and added checks for building ppc binaries on x86.
SVN r2515 (trunk)
2010-08-12 02:32:03 +00:00
Christoph Oelckers
096edb0817 - move vid_listadapters CCMD into common code.
SVN r2509 (trunk)
2010-08-11 06:31:47 +00:00
Randy Heit
ed5a8e597c - Version bump to 2.5.0.
SVN r2507 (trunk)
2010-08-11 04:01:26 +00:00
Randy Heit
0749466d2d - Set explicit positioning for the gameplay options menu instead of relying on the automatic
positioning.

SVN r2506 (trunk)
2010-08-11 04:00:38 +00:00
Randy Heit
3416a7fc47 - Fix compilation with MinGW + w32api and clean up warnings.
SVN r2505 (trunk)
2010-08-11 03:56:31 +00:00
Christoph Oelckers
e0bd67de5a - added: If a PowerFlight item got a valid icon don't use the spinning wings for the HUD display
SVN r2504 (trunk)
2010-08-10 19:22:43 +00:00
Christoph Oelckers
482d7631f4 - sorted zspecials.acs properly so one can find all the specials.
- added Polyobj_MoveToSpot action specials. They are functionally identical to Polyobj_MoveTo but get the target coordinate from a map spot instead.


SVN r2503 (trunk)
2010-08-10 19:06:33 +00:00
Christoph Oelckers
25cb3593ce - Added GetPolyobjX and GetPolyobjY ACS functions.
SVN r2502 (trunk)
2010-08-10 18:30:18 +00:00
Christoph Oelckers
5d5f25fdab - fixed: Changing APROP_Friendly in ACS did not adjust the monster count.
- fixed: AActor::CanSeek had the check for the visibility of the target actor's alpha reversed.
- added an Alt HUD icon for Hexen's fighter's fist.


SVN r2501 (trunk)
2010-08-10 16:22:57 +00:00
Christoph Oelckers
79ff9ae3ae - fixed: FNodeBuilder::ExtractMini needs to check for segs that were created from minisegs.
- made polyobject node building code more update friendly for GZDoom by making R_BuildPolyBSP public.


SVN r2500 (trunk)
2010-08-10 08:13:23 +00:00
Randy Heit
100731e3ab - Shorten the description of DF2_KILLBOSSMONST in the menu.
SVN r2498 (trunk)
2010-08-08 02:19:40 +00:00
Randy Heit
6234e7445b - Added m_hidepointer cvar to control whether or not the mouse pointer is hidden when it's
grabbed. At least if the pointer is visible when the debugger break happens, I don't worry
  about it getting stuck hidden. (Note that that seems to be related to Alt+Tabbing out of the
  game and coming back. I wish I knew what's going on.)

SVN r2497 (trunk)
2010-08-08 02:04:47 +00:00
Randy Heit
6000217889 - Hide the cursor by overriding WM_SETCURSOR, as seen in the IDirect3DDEvice9::ShowCursor()
example. Do not modify the window class pointer. I still had an instance where I was left with
  an invisible pointer no matter where I moved it, so hopefully this takes care of that. (edit:
  it doesn't.)

SVN r2496 (trunk)
2010-08-08 01:53:41 +00:00
Randy Heit
d32d8b4f9f - Removed TheInvisibleCursor, since passing NULL to SetCursor() has exactly the same effect.
- Two tweaks to raw mouse input to make it better behaved when the window suddenly has focus
  removed (e.g. because of a debugger break):
  * Keep the pointer centered in the window, as for Win32Mouse. Even though it's not generating
    any traditional input events, it's still moving all over the screen. e.g. If we have focus
    yanked away and you're pressing the right mouse button as it happens, you can suddenly find
    yourself with a popup menu open.
  * Use SetCursorState() like the other mouse modes instead of ShowCursor() to hide the
    pointer. This way, we don't need to worry about being stuck with trying to use the system
    with an invisible pointer, because only the game window will be pointer-less.

SVN r2495 (trunk)
2010-08-08 01:28:20 +00:00
Randy Heit
f5a1aa994b - pr_hom shouldn't have a name, since we don't care about it for save games or network sync.
SVN r2494 (trunk)
2010-08-08 00:59:40 +00:00
Randy Heit
9137ef04f6 - Added "SoundSequence" UDMF sector property. This is the name of the sound sequence to play for
the sector. Note that this contrasts with sound sequence things in that it takes a name and
  not a number. Also, placing a sound sequence thing in a sector will override this property.

SVN r2492 (trunk)
2010-08-07 04:32:18 +00:00
Randy Heit
cb6e9b90fb - Added r_clearbuffer cvar. Valid values are:
* 0. Do not clear. This is the standard behavior.
  * 1. Clear to black.
  * 2. Clear to white.
  * 3. Alternate between black and white every 128 ms.
  * 4. Step through the palette one color at a time every 32 ms.
  * 5. Epileptic seizure inducing random colors every frame.

SVN r2491 (trunk)
2010-08-07 03:57:22 +00:00
Randy Heit
b59162a33a - Fixed: Floor_RaiseAndCrush did not subtract 8 from the lowest ceiling's height when determining
a destination height. (It did subtract 8, but in the wrong place.)

SVN r2490 (trunk)
2010-08-07 03:36:56 +00:00
Randy Heit
9a025fbb23 - Changed xtoviewangle[] calculation so that when it mirrors the array to the left half, it
does not include xtoviewangle[centerx] in the mirroring so that the two columns at the center
  of the screen do not map to the same angle. (BTW, this array is only used for the sky drawing.)

SVN r2487 (trunk)
2010-08-01 20:21:04 +00:00
Randy Heit
b2d018eccd - Made SBARINFO more tolerant of certain error conditions. (Why is there so much duplication of
code? It felt like I was changing the same lines over and over and over.)

SVN r2486 (trunk)
2010-08-01 20:05:52 +00:00
Randy Heit
fc6e48dd3f - Fixed: FPolyObj::LinkPolyobj() did not add the polyobject's first side to the polyobject's
bounding box. It should also add both vertices from each side, since non-closed polyobjects
  are possible with PolyObj_ExplicitLine.

SVN r2485 (trunk)
2010-08-01 19:50:41 +00:00
Randy Heit
b9ea9a415e - Added Polyobj_MoveTo, Polyobj_OR_MoveTo, and Polyobj_Stop.
- Cleaned up a couple of warnings.

SVN r2483 (trunk)
2010-08-01 19:14:10 +00:00
Randy Heit
58269a18f0 - Use a flood-fill algorithm to define polyobjects with PolyObj_StartLine instead of a simple
loop-following algorithm. This fixes the polyobjects in http://www.doomworld.com/idgames/index.php?id=6291

SVN r2482 (trunk)
2010-08-01 05:16:09 +00:00
Randy Heit
8ce9e178d4 - Changed the four-byte fillers in asm_x86_64/tmap3.s from 0x88888888 to 0x44444444 because
newer version of gas complained about it.

SVN r2481 (trunk)
2010-08-01 04:31:18 +00:00
Randy Heit
677d07f837 - Merge BSP-able polyobjects back into the trunk.
SVN r2480 (trunk)
2010-08-01 02:41:56 +00:00
Randy Heit
8d5ca6501a - Add a NULL FrontCopySurface check to D3DFB::GetCurrentScreen, because this can apparently
be NULL when starting with -timedemo or -playdemo. (But it never happened for me in the
  debugger.)

SVN r2474 (trunk)
2010-07-30 03:21:13 +00:00
Christoph Oelckers
1b531f0ffc - missed this one...
SVN r2470 (trunk)
2010-07-29 06:54:00 +00:00
Christoph Oelckers
30ffffd904 - fixed: Checks for poison damage were not correct.
SVN r2469 (trunk)
2010-07-29 06:53:20 +00:00
Christoph Oelckers
e1f06da5e3 - separated hitlist generation for texture precaching into a virtual function of DFrameBuffer.
SVN r2466 (trunk)
2010-07-28 21:48:24 +00:00
Christoph Oelckers
6f4ed40496 - added TIHan's ArmorFactor submission.
SVN r2465 (trunk)
2010-07-27 18:32:10 +00:00
Christoph Oelckers
2cf19f436a - added Gez's dumpactors patch.
SVN r2463 (trunk)
2010-07-26 17:10:43 +00:00
Christoph Oelckers
35ba99ed31 - Added Gez's automap enhancements but made the new key icon optional.
SVN r2462 (trunk)
2010-07-25 21:46:51 +00:00
Randy Heit
1bda16cc45 - Use side_t::RightSide in IterFindPolySides() instead of the SideListHead array.
SVN r2461 (trunk)
2010-07-25 21:38:34 +00:00
Braden Obrzut
006fb343b0 - Added Pink Silver's DrawString/Number alignment patch (with one minor change).
SVN r2460 (trunk)
2010-07-25 20:46:14 +00:00
Christoph Oelckers
a373c3858e - fixed: A_Teleport's RNG had the same name as the one used by SelectTeleDest.
SVN r2458 (trunk)
2010-07-25 10:17:16 +00:00
Christoph Oelckers
9ca1de6435 - added PinkSilver's APROP_MasterTid submission.
SVN r2456 (trunk)
2010-07-24 06:38:57 +00:00
Christoph Oelckers
2b381babed - added DavidPH's A_JumpIfTargetInLOS extension submission.
SVN r2455 (trunk)
2010-07-24 06:30:52 +00:00
Christoph Oelckers
37f55c6539 - added DavidPH's A_RailAttack extension submission.
SVN r2454 (trunk)
2010-07-24 06:27:13 +00:00
Christoph Oelckers
a6499a6efb - added DavidPH's A_Saw extension submission.
SVN r2453 (trunk)
2010-07-24 06:21:53 +00:00
Christoph Oelckers
58be666c9c - added DavidÜH's explicit angle submission for A_CustomBulletAttack function.
SVN r2452 (trunk)
2010-07-24 06:15:07 +00:00
Christoph Oelckers
bc47f7133b - Added DavidPH's A_Teleport submission but removed the now redundant GetSpotWithMinDistance functions.
SVN r2451 (trunk)
2010-07-23 21:55:01 +00:00
Christoph Oelckers
f430881a54 - Added DavidPH's Poison damage extension but changed it so that the metadata can be removed.
SVN r2450 (trunk)
2010-07-23 21:36:17 +00:00
Christoph Oelckers
545a892faa - added Firebrand's patch to rename 'swap' due to naming conflicts in newer MSVC compilers.
SVN r2449 (trunk)
2010-07-23 21:19:59 +00:00
Christoph Oelckers
4ac64b6df7 - merged polyobject branch into trunk and made some adjustments for savegame compatibility.
SVN r2448 (trunk)
2010-07-23 05:56:25 +00:00
Braden Obrzut
921c950bad - Release Objective-C objects (since I found out the garbage collector is opt-in).
SVN r2441 (trunk)
2010-07-18 09:23:33 +00:00
Braden Obrzut
1cf12693ba - Added Cocoa IWAD picker for Mac OS X.
SVN r2440 (trunk)
2010-07-18 08:00:12 +00:00
Randy Heit
5b63fd0675 - Added an optional parameter to DamageScreenColor to scale the amount of damage for pain
flash calculations. This can range from 0.0 to 1.0.

SVN r2435 (trunk)
2010-07-16 03:46:20 +00:00
Randy Heit
c29639426f - Sounds that define a loop no longer play looped by default. They must be started with
CHAN_LOOP so that the higher level sound code knows they loop and can handle them accordingly.
- Added support for a LOOP_BIDI tag. Set it to "1", "On", "True", or "Yes" to use a
  bidirectional loop. This only works with sounds and not music, because music is streamed
  so does not support them.
- Extended custom loop support to work with samples as well as music.

SVN r2434 (trunk)
2010-07-15 23:07:41 +00:00
Randy Heit
99a2014ead - Added support for custom loop points for songs. This does not work with MP3 because of the
way MP3 obfuscates custom tags. Vorbis and FLAC are fine. (I could make it work with MP3,
  but you should be using Vorbis instead.) They are:
  * LOOP_START: Start time for the loop. If omitted, the song repeats from the beginning.
  * LOOP_END: End time for the loop. If omitted, the song loops at the end. (If you need to specify this, why aren't you using a shorter song.)
  You only need to specify one of these tags to set the custom loop. Naturally, you can set
  them both, as well. The format for each tag is the same:
  * If it contains a colon (:), it specifies by time. This may be of the form 00:00:00.00
    (HH:MM:SS.ss) to specify by play. Various parts may be left off. e.g. To start the loop
    at 20 seconds in, you can use ":20", 0:20", "00:00:20", ":20.0", etc. Values after the
    decimal are fractions of a second and accurate to one millisecond.
  * If you don't include a colon but just have a raw number, then it's the number of PCM
    samples at which to loop.
  * Any characters other than digits (0-9), colons (:), or a single decimal point for the
    seconds portion will result in the tag being ignored.

SVN r2424 (trunk)
2010-07-10 02:59:34 +00:00
Randy Heit
305a03d7c8 - Fixed copy-pasta error for "give everything".
SVN r2420 (trunk)
2010-07-10 00:51:38 +00:00
Randy Heit
a401779715 - Fixed: FMugShotFrame::GetTexture() needs to NULL-check skin_face. (default_face might also be
empty. I don't know if that deserves special handling, but it doesn't crash, so I'll let blzut3
  worry about it.)

SVN r2419 (trunk)
2010-07-09 03:04:43 +00:00
Randy Heit
5a4dad1205 - Don't give health for "give all".
- "Give artifacts" and "give puzzlepieces" now use the amount value to decide how much of each
  item to give you. 0 means to give you the max. The old behavior can be obtained by explicitly
  stating 1. (Since "give all" encompasses these as well, this also applies to that.)
- Added "give everything" cheat to give everything. This is like "give all" but ignores the
  WIF_CHEATNOTWEAPON flag. (Note that this flag has valid uses, but that doesn't stop people
  from abusing it anyway.)

SVN r2418 (trunk)
2010-07-09 01:57:46 +00:00
Randy Heit
e379658143 - Added multimonitor support, as per Tom Seddon's code. vid_adapter controls which one to use,
and vid_listadapters prints them.

SVN r2417 (trunk)
2010-07-08 23:59:45 +00:00
Christoph Oelckers
5bb4ca5bc6 - fixed: Hexen's melee weapons were missing some NULL pointer checks in the code that determines whether they hit something or not.
SVN r2415 (trunk)
2010-07-08 21:16:01 +00:00
Christoph Oelckers
ea04d2bbdf - fixed: ZDoom aborted on old WADs containing a binary LANGUAGE lump.
SVN r2414 (trunk)
2010-07-06 20:32:24 +00:00
Christoph Oelckers
e1e7cebd01 - fixed: The SBARINFO parser insisted that all player classes being specified have to exist. This, however, made it impossible to redefine the player classes in Hexen.
SVN r2401 (trunk)
2010-07-01 20:57:11 +00:00
Christoph Oelckers
6df5e6f9cb - added Gez's anti-crossinclude submission but made some changes. Cross-includes overriding core files will produce fatal errors but cross-includes between PWADs will be tolerated. For DECORATE a command line override switch exists so that for testing the error can be disabled.
SVN r2400 (trunk)
2010-07-01 09:35:39 +00:00
Christoph Oelckers
853b8f8963 - did some profiling of P_InterceptVector. Here's the results I got:
* the unaltered floating point version is 10% faster than the 64 bit integer version.
  * using doubles instead of floats increases performance by another 25%.
  * another 15% can be gained by manually optimizing the code.
- P_InterceptVector now uses the optimized floating point version which is almost twice as fast as the 64bit integer version.

SVN r2395 (trunk)
2010-06-30 15:20:18 +00:00
Braden Obrzut
9bf543af99 - Fixed: Episodes starting on a map with 8 characters in its lump name would not work.
SVN r2394 (trunk)
2010-06-30 06:09:49 +00:00
Randy Heit
551f0d3148 - Remove fakedblocker, since it was unused.
SVN r2391 (trunk)
2010-06-27 20:49:02 +00:00
Randy Heit
86b17d6d9f - Sync debugging output between ZDBSP and ZDoom's internal node builder.
SVN r2389 (trunk)
2010-06-27 20:21:07 +00:00
Randy Heit
7069ea88bb - Fixed erroneous allocation of class defaults using new to M_Malloc to match the rest of them.
SVN r2386 (trunk)
2010-06-21 01:49:35 +00:00
Christoph Oelckers
b8db84b6bc - added a new dmflag to allow killing all monsters spawned by a boss brain's cubes after killing the brain (for those who like clean level statistics.)
SVN r2385 (trunk)
2010-06-20 17:57:32 +00:00
Randy Heit
503b934938 - Added better error messages for MIDI playback failure than just "MIDI playback failure".
SVN r2383 (trunk)
2010-06-20 04:41:23 +00:00
Randy Heit
e379d24388 - Fixed: The intensity scalar for building DesaturateColormaps was off by one.
SVN r2380 (trunk)
2010-06-18 04:10:05 +00:00
Randy Heit
141cf825cf - Fixed: iCopyColors() should not invert the grayscale value for special colormaps, since
this is already handled by the GrayscaleToColor array for the one colormap that needs it.

SVN r2379 (trunk)
2010-06-18 03:52:04 +00:00
Randy Heit
34d8212d64 - Changed G_ChangeLevel()'s parameter list to match the ACS version's.
- Added resethealth to complement resetinventory.

SVN r2377 (trunk)
2010-06-18 03:35:41 +00:00
Randy Heit
1bbae4a8f2 - Fixed: PClass::InitializeActors() did not initialize the ActorInfo's ColorSets. Why this only caused
problems on PPC Macs, I do not know.



SVN r2374 (trunk)
2010-06-13 16:50:54 +00:00
Christoph Oelckers
e535b40a9e - fixed: All melee attack functions only used the target acquired by P_AimLineAttack for all subsequent calculations, not the actual victim of the attack.
SVN r2373 (trunk)
2010-06-13 11:14:01 +00:00
Christoph Oelckers
6ff2abc53d - fixed: Setting +NOCLIP for a player class did not work.
SVN r2371 (trunk)
2010-06-13 10:44:06 +00:00
Christoph Oelckers
e2ce20a445 - fixed: A_Print and related functions should not make a use state chain succeed.
- fixed: APowerIronFeet must continuously reset the player's air supply.


SVN r2370 (trunk)
2010-06-13 10:38:38 +00:00
Christoph Oelckers
32f3d00514 - fixed: Stopping music did not clear the variable used to restart the last played song.
SVN r2369 (trunk)
2010-06-13 10:24:56 +00:00
Christoph Oelckers
b2cef54d72 - fixed: Classes inherited from PowerScanner didn't work anymore.
SVN r2368 (trunk)
2010-06-13 10:11:50 +00:00
Christoph Oelckers
ec44397881 - added some options to A_CustomPunch, including calling Strife's dagger alert function.
SVN r2367 (trunk)
2010-06-13 09:06:12 +00:00
Christoph Oelckers
4d86ebddf9 - Added support for Risen3D/PrBoom+'s MUSINFO lump.
SVN r2366 (trunk)
2010-06-13 08:47:38 +00:00
Braden Obrzut
2aa7cdc5a8 - Fixed: drawbar didn't work right when scaled.
SVN r2361 (trunk)
2010-06-08 23:32:01 +00:00
Braden Obrzut
afd9bcb59a - Fixed: drawstring didn't properly align itself when variable strings were used.
SVN r2360 (trunk)
2010-06-07 15:45:09 +00:00
Randy Heit
ed81b4718b - Revert r2235 so that all DECORATE member accesses are consistent. It didn't work as intended
anyway.

SVN r2358 (trunk)
2010-06-06 05:41:09 +00:00
Randy Heit
41bd0f5369 - Fixed: "Disallow Suicide" gameplay menu option should be labeled as "Allow Suicide".
SVN r2356 (trunk)
2010-06-06 05:00:30 +00:00
Randy Heit
2090c03d88 - Fixed: D3DFB::GetScreenshotBuffer() must not offset the buffer pointer for letterboxed modes,
since the screenwipe speedup fixes also mean that this function no longer operates directly
  with the front buffer, but rather with a copy that is not letterboxed.

SVN r2355 (trunk)
2010-06-06 04:53:19 +00:00
Braden Obrzut
d7686d0c26 - Added optional offset parameters to the drawshadow flag.
- Added character alignment parameter to font monospacing.
- Fixed: character shadows were not scaled.
- Heretic keys now have an icon associated with them so that they can be drawn through drawkeybar.
- Replaced the built in Heretic and Hexen status bars with SBarInfo equivalents.

SVN r2353 (trunk)
2010-06-02 20:26:27 +00:00
Braden Obrzut
d29123c511 - Added a HexenStrict DrawInventoryBar style due to some alignment errors I noticed with the Hexen style.
SVN r2352 (trunk)
2010-05-31 20:04:49 +00:00
Braden Obrzut
b8cb1f0cfb - Fixed: The alpha property of status bars didn't work anymore.
- Added: alpha command to SBarInfo which allows you to increase the translucency for certain parts of the status bar.
- Added: reverse flag for drawkeybar which reverses the order in which rows are filled with keys.
- Changed a gamemode statement to an else in the Doom hud since the frag count and keys should never be shown at the same time.

SVN r2351 (trunk)
2010-05-31 07:01:04 +00:00
Christoph Oelckers
eadc539bc6 - fixed: Poison clouds spawned by the PoisonShroom should not be pushable by the Disc of Repulsion.
SVN r2350 (trunk)
2010-05-30 20:12:32 +00:00
Randy Heit
14b71ede11 - Added support for DRO version 2 files.
SVN r2349 (trunk)
2010-05-30 19:23:53 +00:00
Braden Obrzut
9716e1aea7 - Changed DrawSelectedInventory's alternateonempty flag to draw the subblock before itself. This allows an else statement to be more useful in practice.
- Fixed: Added offsets to the wrong variable in SBarInfo.

SVN r2348 (trunk)
2010-05-30 18:34:59 +00:00
Christoph Oelckers
5535f98218 - fixed: The code drawing the chess pieces for Hexen's finale used floating point paeameters with integer fields for drawing the texture.
SVN r2347 (trunk)
2010-05-30 08:00:27 +00:00
Christoph Oelckers
bdd2ebfe14 - added a new dmflag for allowing switching to weapons without ammo.
SVN r2346 (trunk)
2010-05-30 07:47:08 +00:00
Braden Obrzut
e848fa3c4c - Switched SBarInfo to floating point math.
SVN r2345 (trunk)
2010-05-30 00:12:46 +00:00
Christoph Oelckers
cd1104e80c - changed: Maps with missing first sidedefs no longer abort. THey now print a console warning and use the first sidedef in the map.
SVN r2344 (trunk)
2010-05-29 09:11:12 +00:00
Christoph Oelckers
042e913022 - added Boom's fix for finding the highest neighboring light level per sector (compatibility optioned by COMPATF_LIGHT.)
SVN r2343 (trunk)
2010-05-29 07:07:39 +00:00
Christoph Oelckers
862d6551bc - fixed: Heretic's 666 lower floor must be of type LowerToHighest unlike Doom which is LowerToLowest.
SVN r2342 (trunk)
2010-05-28 21:29:28 +00:00
Christoph Oelckers
6c4d070095 - restored original Doom behavior for hitscans to only check actors which have their center in the blockmap cells being checked, compatibility optioned by COMPATF_HITSCAN.
SVN r2341 (trunk)
2010-05-28 21:07:45 +00:00
Christoph Oelckers
8f881be0fb - added a Boom (strict) compatibility mode.
- Restored some original Doom behavior that received complaints from users:
* reactivated the old sliding against diagonal walls code and compatibility optioned it with COMPATF_WALLRUN.
* re-added the original hitscan checking code using a cross-section of the actor instead of the bounding box, compatibility optioned with COMPATF_HITSCAN.


SVN r2340 (trunk)
2010-05-28 11:15:05 +00:00
Braden Obrzut
9dfdf2ecdd - Fixed some issues with high resolution status bars.
SVN r2339 (trunk)
2010-05-26 00:51:06 +00:00
Christoph Oelckers
2b211f99a8 - fixed: The intermission text screen background should not animate
SVN r2338 (trunk)
2010-05-25 20:19:09 +00:00
Randy Heit
4480a508b3 - Changed AActor::GetTag() to use language lookups for strings that start with $.
SVN r2337 (trunk)
2010-05-25 03:53:13 +00:00
Randy Heit
709414e606 - Fixed: Animated doors should only leave ML_BLOCKING set if the door was created with it set.
Otherwise, monsters will be unable to open it after it has been used once if it isn't set
  for push activation.

SVN r2336 (trunk)
2010-05-25 03:40:37 +00:00
Randy Heit
61d2a808d7 - Response file improvements:
* Fixed: Trying to use a response file would result in infinite looping until memory was
    exhausted.
  * Fixed: Response files were read after coalescing file parameters, which would lead to
    non-coalesced parameters if the original command line and response file both had them.
  * You can now use more than one response file.
  * Response files can include other response files.

SVN r2334 (trunk)
2010-05-25 02:30:05 +00:00
Braden Obrzut
adcf26d2b5 - Fixed MSVC compiler warnings in sbarinfo.cpp
SVN r2333 (trunk)
2010-05-22 14:00:36 +00:00
Braden Obrzut
9611e7310a - Added resolution setting to SBarInfo.
- Fixed: Mug shot was not reset at the start of a new game.

SVN r2332 (trunk)
2010-05-21 19:56:13 +00:00
Christoph Oelckers
c4efbeb515 - fixed: Both Boom and MBF compatibility mode need COMPATF_MISSILECLIP set.
SVN r2331 (trunk)
2010-05-14 20:27:57 +00:00
Christoph Oelckers
896a77327a - fixed fake contrast menu option.
SVN r2330 (trunk)
2010-05-14 20:12:21 +00:00
Randy Heit
e9bbe4f1ff - Added more logging for D3DFB CreateDevice() attempts.
SVN r2329 (trunk)
2010-05-14 04:13:59 +00:00
Randy Heit
24f23718b7 - Added GetHR support to D3DFB for querying the error code when device creation fails.
- Should still check for a NULL device when CreateDevice() returns D3DERR_DEVICELOST.

SVN r2328 (trunk)
2010-05-14 04:06:30 +00:00
Randy Heit
30ec646ba5 - Removed spurious log warnings when retrying in CreateFrameBuffer().
SVN r2327 (trunk)
2010-05-14 03:58:23 +00:00
Randy Heit
b2a4ffc718 - Fixed: IDirect3D9::CreateDevice() can return D3DERR_DEVICELOST if you want exclusive mode and
some other application already has it. While technically this is a failure, the device is
  still created, so we can continue using it anyway.

SVN r2326 (trunk)
2010-05-14 03:54:35 +00:00
Randy Heit
1c8397e86d - Fixed: PacketGet() can receive WSAECONNRESET after startup is complete, so it needs to check
for a NULL before using NetMessage.

SVN r2325 (trunk)
2010-05-14 03:37:44 +00:00
Randy Heit
5a71dea746 - Added A_JumpIfTracerCloser and A_JumpIfMasterCloser, based on DavidPH's A_JumpIfCloser patch.
SVN r2324 (trunk)
2010-05-14 02:34:25 +00:00
Randy Heit
2d4502018a - Added DavidPH's FBF_EXPLICITANGLE extension.
SVN r2323 (trunk)
2010-05-14 02:18:27 +00:00
Christoph Oelckers
d050973fa4 - added blockmap verification code.
SVN r2320 (trunk)
2010-05-12 10:17:08 +00:00
Christoph Oelckers
3e5a32b554 - copy-paste error in TNT stairs fix.
SVN r2319 (trunk)
2010-05-12 09:44:44 +00:00
Christoph Oelckers
b61b761e28 - added DavidPH's randomization patch for hitscan attacks.
SVN r2318 (trunk)
2010-05-12 07:11:56 +00:00
Christoph Oelckers
6a57a43277 - added DavidPH's LifeSteal patch for A_CustomPunch/A_Saw.
SVN r2317 (trunk)
2010-05-12 07:08:39 +00:00
Christoph Oelckers
942108f7ea - added DavidPH's A_FaceTarget patch but modified it so that if a turn angle is set the MF_SHADOW flag is ignored.
SVN r2316 (trunk)
2010-05-12 07:02:23 +00:00
Christoph Oelckers
68fa08ca52 - fixed: TNT MAP30 needs the stairbuilding compatibility option.
SVN r2315 (trunk)
2010-05-12 06:54:59 +00:00
Christoph Oelckers
69861688dc - expanded r_smoothlighting into a r_fakecontrast CVAR that allows to set all 3 options: off, standard and smooth.
SVN r2314 (trunk)
2010-05-12 06:52:03 +00:00
Braden Obrzut
24aa1abf14 - Added: else statements to SBarInfo. In addition braces are no longer required for blocks consisting of a single statement.
SVN r2313 (trunk)
2010-05-11 22:27:50 +00:00
Braden Obrzut
5a4be4b62b - Added partial support for a signal based timer under Linux/Mac OS X in order to make cl_capfps effective at limiting CPU usage.
SVN r2310 (trunk)
2010-05-06 20:32:03 +00:00
Braden Obrzut
b7cb3ffa88 - Fixed: If a weapon didn't use ammo the result of weaponammo was accidentally negated.
SVN r2309 (trunk)
2010-05-01 21:17:11 +00:00
Christoph Oelckers
80f5a58e34 - fix automap cheat to avoid division by 0.
SVN r2308 (trunk)
2010-05-01 20:34:28 +00:00
Christoph Oelckers
1b0756e170 - added a am_showalllines cheat CVAR as countermeasure for maps that intentionally disable the full automap.
SVN r2307 (trunk)
2010-05-01 17:29:25 +00:00
Randy Heit
d070e04ff6 - Added Gez's patch for A_TakeInventory flag for taking ammo, with TIF_AMMO renamed to TIF_NOTAKEINFINITE.
SVN r2306 (trunk)
2010-04-26 02:05:11 +00:00
Randy Heit
36c4b39688 - Added DavidPH's A_FadeTo patch:
A_FadeTo(float target, float amount = 0.10, bool remove = false)
  Alters transparency towards target by amount. If remove is true, the actor is destroyed if it reaches target.

SVN r2305 (trunk)
2010-04-26 01:56:25 +00:00
Randy Heit
4e693e1c98 - Added Gez's RandomSpawner patch: If a randomspawner is given a Z-height in the map editor, and the spawned object has a spawn height flag, it is ignored by the spawned object. This little patch fixes that.
SVN r2304 (trunk)
2010-04-26 01:49:29 +00:00
Christoph Oelckers
5fc654dac2 - fixed: Heretic's sludge damage sector does 4 points damage, not 5 like Doom's.
SVN r2303 (trunk)
2010-04-25 20:12:50 +00:00
Christoph Oelckers
bdc5d941c2 - added a new 'playeruseback' linedef trigger type that allows using lines from the bxck side.
SVN r2302 (trunk)
2010-04-25 07:21:35 +00:00
Christoph Oelckers
674c63d66c - fixed: A_KeenDie should not drop items.
SVN r2300 (trunk)
2010-04-23 08:12:47 +00:00
Braden Obrzut
bd40bba37c - Added levellump, skillname, playerclass, playername, ammo1tag, ammo2tag, weapontag, inventorytag, globalvar <int>, and globalarray <int> to drawstring.
- String constants starting in '$' will cause drawstring to reference the language lump.
- Added pushup transition for strife popups.  This elulates the stats screen from hexen 2.  This behaves identical to slideinbottom if the primary statusbar has fullscreenoffsets set.

SVN r2299 (trunk)
2010-04-22 23:38:11 +00:00
Christoph Oelckers
82af1640fd - fixed: HI_START/HI_END must be checked after parsing the TEXTURES lump, not before it.
SVN r2297 (trunk)
2010-04-21 17:39:52 +00:00
Christoph Oelckers
e0419dde15 - fixed: Camera textures may not be used as patch.
SVN r2296 (trunk)
2010-04-21 06:42:48 +00:00
Randy Heit
f6cd776e2d - Extended state sprite/frame repetition to psprites.
SVN r2295 (trunk)
2010-04-21 01:40:03 +00:00
Christoph Oelckers
14fc5516a8 - Extended ACS's 'n' print format specifier to allow printing some other info than the player's name.
It will use negative indices for this. Currently supported strings are level name, level lump name and
  skill name.
- Extended skill definitions so that printable name and image lump name are separate fields so that a 
  printable name can be specified for Doom, too.


SVN r2294 (trunk)
2010-04-20 11:03:31 +00:00
Braden Obrzut
d719671579 - Added levelname to drawstring.
SVN r2292 (trunk)
2010-04-20 02:16:06 +00:00
Randy Heit
178587fff2 - Merged SetState and SetStateNF into a single function.
- Added new sprite #### and frame character # to specify the behavior of sprite ---- on a
  per-sprite and per-frame basis respectively.

SVN r2291 (trunk)
2010-04-19 02:46:50 +00:00
Christoph Oelckers
c85a602546 - allow loading uncompressed version of compressed nodes.
- extended FileReader hierarchy so that FileReader, FileReaderZ etc. all inherit from one
  base class so that the same code can be used to read from both uncompressed and compressed streams.


SVN r2287 (trunk)
2010-04-17 20:49:18 +00:00
Christoph Oelckers
da99577cbf - added support for loading DeepBSP's V4 nodes.
- disabled writing the nodes with the dumpmap command. ZDoom doesn't need the nodes to load a map and this only worked if the original
  map had standard nodes but trying to write out nodes loaded from any other format would have caused broken data.

SVN r2285 (trunk)
2010-04-17 08:53:32 +00:00
Randy Heit
64fe29bf0e - Fixed crash when parsing invalid DECALDEF lumps.
SVN r2284 (trunk)
2010-04-17 02:42:50 +00:00
Randy Heit
87a7ff7b6d - Add blzut3's morphed status bar patch.
SVN r2283 (trunk)
2010-04-17 02:06:26 +00:00
Randy Heit
08b931006f - Reverted accidental change to fmodsound.cpp from revision 2273.
SVN r2282 (trunk)
2010-04-17 01:55:33 +00:00
Christoph Oelckers
e4d0d6bcdb - added a Sector_CopyScroller special to allow setting scrollers to sectors with special tags.
- extended compatibility text to allow changing line flags and setting line specials on specific linedefs.
- removed Strain MAP07 hack and replaced it by a clean 'clearlineflags' option.
- Added Doomo format translations for Sector_CopyScroller because this looks like something that might be useful for making
  some Boom maps work without having to resort to compatibility.txt.
- added a compatibility setting for UAC Ultra MAP07 which exploited some undefined scrolling behavior in Boom.
  (What lengths are we going to make sloppily created maps work? This entire commit was just to address this particular problem...)


SVN r2280 (trunk)
2010-04-11 11:18:33 +00:00
Christoph Oelckers
c7272075d3 - added a few NULL pointer checks to protect against problems caused by actors being spawned during engine shutdown.
SVN r2279 (trunk)
2010-04-11 06:43:42 +00:00
Christoph Oelckers
d916127ecf - made the recent change to P_SeekerMissile an option because it affected critical gameplay behavior and may not be used for existing actors.
SVN r2278 (trunk)
2010-04-10 11:12:29 +00:00
Christoph Oelckers
a5e422020e - fixed: Two stage texture compositing did not clear the intermediate buffer before using it.
SVN r2277 (trunk)
2010-04-09 20:03:18 +00:00
Randy Heit
f101b45d9a - Changed P_SeekerMissile() to compute a proper 3D trajectory.
SVN r2276 (trunk)
2010-04-07 03:37:07 +00:00
Randy Heit
d6d2ce6b24 - Fixed: maxitems calculation for MKEY_Up in M_OptButtonHandler() used the unscaled text height
instead of the scaled text height to calculate the bottom-most usable row.

SVN r2275 (trunk)
2010-04-07 02:16:51 +00:00
Randy Heit
2772786a7e - Added MUS header scan to mus2midi.
- Fixed buffer overflow when reading a MUS song from a compressed file.

SVN r2274 (trunk)
2010-04-07 02:02:53 +00:00
Randy Heit
114412d5a2 - Search for the MUS header within the first 32 bytes of the song so that the music in
diescum.wad works.

SVN r2273 (trunk)
2010-04-06 03:12:32 +00:00
Christoph Oelckers
d875a0c674 - fixed: Loading a savegame with music switched off forced a restart of the map's default music
because starting an empty music was considered an error.


SVN r2272 (trunk)
2010-04-05 09:17:34 +00:00
Randy Heit
7bd741a644 - Fixed compiling with FMOD Ex 4.30.00. I get no 3D sound effects, and it's crashing on me, too.
Am I doing something wrong?

SVN r2271 (trunk)
2010-04-04 17:48:26 +00:00
Randy Heit
d53fdb418b - Fixed: P_LookForMonsters() had not been updated for the new species check.
SVN r2268 (trunk)
2010-04-04 03:03:01 +00:00
Christoph Oelckers
6f9b035df8 - Changed: The monster refiring functions should use the same sight checking mode as the code that triggers
the attack.


SVN r2266 (trunk)
2010-04-03 07:10:52 +00:00
Christoph Oelckers
7da0badf3c - fixed: The thing id in Hexen map things needs to be treated as a signed short. This is how Hexen defined it and
how older ZDooms before the implementation of UDMF used them internally.


SVN r2263 (trunk)
2010-04-02 07:24:57 +00:00
Randy Heit
69c777df4c - Allow defaultenvironment to take names as well as numeric IDs.
SVN r2262 (trunk)
2010-03-31 23:33:18 +00:00
Randy Heit
aa86e62693 - Added DefaultEnvironment MAPINFO option to set the default sound environment for the whole map.
SVN r2261 (trunk)
2010-03-31 03:48:16 +00:00
Christoph Oelckers
ba29ffd405 - GCC fixes.
SVN r2257 (trunk)
2010-03-29 20:25:08 +00:00
Christoph Oelckers
18d58ef1c5 - fixed: APowerup::EndEffect could crash if the item was not owned by a valid player actor.
SVN r2256 (trunk)
2010-03-29 06:08:22 +00:00
Christoph Oelckers
1436f0a4fa - Fixed: It was no longer possible to talk to non-shootable NPCs. Also took
the opportunity to merge the various boolean parameters to P_AimLineAttack into one flag parameter.



SVN r2254 (trunk)
2010-03-28 10:51:35 +00:00
Randy Heit
7f96531dc0 - Use I_FPSTime() instead of I_MSTime() to drive R_UpdateAnimations().
SVN r2253 (trunk)
2010-03-28 04:04:44 +00:00
Randy Heit
b3005ab16c - Fixed: APowerup::EndEffect() needs to cancel any special colormaps applied by the powerup.
This means all subclasses also need to call their superclass's EndEffect(), which they were
  not doing. For consistency, all the subclasses now do the same for InitEffect(), though
  APowerup::InitEffect() is still a no-op.

SVN r2252 (trunk)
2010-03-28 04:02:57 +00:00
Randy Heit
70c21c8314 - Changed FTextureManager::CheckForTexture() search algorithm so that inexact matches on
textures of type TEX_MiscPatch will return the first such texture, as it does with all
  the other types. (It will still prefer to return a texture of a different type.
  Why are these treated differently, anyway?)

SVN r2251 (trunk)
2010-03-28 03:46:46 +00:00
Christoph Oelckers
72e9a870c2 - added Gez's patch to move Hexen's startup notches out of the EXE.
SVN r2250 (trunk)
2010-03-27 21:12:08 +00:00
Christoph Oelckers
a357a70f82 - fixed: Explosions directly under a water surface would not hurt any actor directly above this surface.
- cleaned up P_CheckSight flag handling.


SVN r2249 (trunk)
2010-03-27 07:42:31 +00:00
Randy Heit
e83a9a2a00 - Use normal texture animation for the main menu cursors. This required updating animations
all the time and not just when inside a level.

SVN r2248 (trunk)
2010-03-27 03:30:02 +00:00
Christoph Oelckers
7f2ab00abe - fixed: IDBEHOLD altered the item counter.
SVN r2247 (trunk)
2010-03-26 22:26:50 +00:00
Christoph Oelckers
0529ffa043 - fixed: P_SpawnMapThing always reduced the angular precision to 45 degrees.
- removed AngleIncrements because it's not really useful.


SVN r2246 (trunk)
2010-03-26 16:57:00 +00:00
Christoph Oelckers
a6a303f438 - fix division by 0.
SVN r2243 (trunk)
2010-03-25 23:29:41 +00:00
Christoph Oelckers
0f0c02f9d6 - fixed: Level redirection checked the wrong level.
SVN r2241 (trunk)
2010-03-25 17:07:07 +00:00
Randy Heit
039b64899d - Fixed: ClearActorInventory used the wrong stack index to get its parameter.
SVN r2239 (trunk)
2010-03-22 22:15:56 +00:00
Randy Heit
4c5edf00b0 - P_ZMovement() temporarily disables jumping after a landing. Don't do this if the jump
timer is already running or for short falls (e.g. along the edges of slopes, since the
  slope floorz calculation is pretty crappy.)

SVN r2238 (trunk)
2010-03-22 22:02:31 +00:00
Randy Heit
0ca693771b - Keep all damage factors in the table, even those that are 1.0.
- 256 is a valid pain chance, so clamp to that, not 255.

SVN r2237 (trunk)
2010-03-22 21:18:54 +00:00
Randy Heit
d1f9b94743 - Fixed: TMap::DelKey failed if the key's main position was nil, because it tried checking
for it at the "next" position, which is an invalid pointer in that case.

SVN r2236 (trunk)
2010-03-22 21:09:33 +00:00
Randy Heit
41df8242c1 - Changed A_SetUserVar and A_SetUserArray so they affect the actor that called it, which
is not necessarily "self". The only visible change from this should be that inventory items
  now set their own variables and not their owners'.

SVN r2235 (trunk)
2010-03-21 21:05:27 +00:00
Christoph Oelckers
a2cfbec3cf - added a CrushPainSound actor property for Strife.
- fixed memory leaks in SBARINFO and WAD loading code.
- added GetBloodColor and GetBloodType inline functions to AActor to wrap the GetMeta calls used for this.


SVN r2234 (trunk)
2010-03-21 08:09:45 +00:00
Randy Heit
1eed01244c - Comment fix.
SVN r2232 (trunk)
2010-03-18 21:59:45 +00:00
Randy Heit
6c63ce51e4 - Fixed: The listener used a different coordinate system than sounds, which meant that sounds
were never made head-relative, so stereo effects would disappear if they were played by
  the listener.

SVN r2231 (trunk)
2010-03-18 21:54:24 +00:00
Randy Heit
5ec5d74267 - Probably shouldn't allow negative range scalars for ambient sound things...
SVN r2230 (trunk)
2010-03-18 21:10:15 +00:00
Randy Heit
d012165f57 - Changed ambient sound things so that 100 volume is normal.
- The fifth argument for the ambient sound things is now a scalar for the min and max distances.

SVN r2229 (trunk)
2010-03-18 21:09:23 +00:00
Randy Heit
226a513e6e - Fixed: Blood's sprite rotations were broken.
SVN r2228 (trunk)
2010-03-18 21:03:58 +00:00
Randy Heit
9d8a9bc981 - Reverted the part of r2226 than reverted r2205 (accidentally, I assume).
SVN r2227 (trunk)
2010-03-18 17:50:00 +00:00
Christoph Oelckers
d69eb3acd1 - fixed: True color texture generation for DDS was broken.
SVN r2226 (trunk)
2010-03-18 07:54:16 +00:00
Randy Heit
44e877a243 - After experimenting with Blood, I think ROLLOFF_Linear is a better choice for ambient
sounds than ROLLOFF_Doom.

SVN r2225 (trunk)
2010-03-18 05:27:36 +00:00
Randy Heit
f712d128a3 - Oops. Accidentally removed Blood loop point support.
SVN r2224 (trunk)
2010-03-18 05:22:47 +00:00
Randy Heit
b53baf5f46 - Added support for Blood's ambient sounds, because I thought it would be an easy way to
test the new ambient sound range parameters. (Hahaha! If I hadn't had to fix all the
  Build/Blood stuff first, it would have been.)

SVN r2223 (trunk)
2010-03-18 05:01:10 +00:00
Randy Heit
2649508393 - Changed the ambient sounds list into a map so that it can handle more than 256 entries.
SVN r2222 (trunk)
2010-03-18 04:34:14 +00:00
Randy Heit
740d52cf5b - Added support for Blood's SFX loop start markers.
SVN r2221 (trunk)
2010-03-18 04:26:22 +00:00
Randy Heit
aedb646a52 - Fixed: Blood sound effect namespacing was broken.
SVN r2220 (trunk)
2010-03-18 03:55:51 +00:00
Randy Heit
8b98a3510e - Fixed: The Build loader did not set the wall texture scaling properly, either.
SVN r2219 (trunk)
2010-03-18 02:21:01 +00:00
Randy Heit
92890066b6 - Fixed: The BUILD map loader did not create extsector information, and it also did not
set valid sidedef references for the backs of one-sided lines.

SVN r2218 (trunk)
2010-03-18 02:09:08 +00:00
Randy Heit
8e104d0a28 - Fixed: RFF files constructed incorrect full names for the files they contained.
SVN r2217 (trunk)
2010-03-18 01:48:48 +00:00
Randy Heit
054e5411bd - Fixed: Checking for BUILD maps only worked if they came from unencrypted and
uncompressed sources.

SVN r2216 (trunk)
2010-03-18 01:07:50 +00:00
Randy Heit
970cf6f71b - Fixed endianness assumption when loading external map files.
SVN r2215 (trunk)
2010-03-18 00:48:56 +00:00
Randy Heit
c079a3ea5b - Add more parameters to the ambient sound things:
* Second argument: Volume scalar. 0 and 128 are normal volume. (Where "normal" is whatever
    it was defined with in SNDINFO.) Other values scale it accordingly.
  * Third argument: Minimum distance before volume fading starts.
  * Fourth argument: Maximum distance at which the sound is audible. Setting either of these to 0
    will use whatever they were defined with in SNDINFO.

SVN r2214 (trunk)
2010-03-18 00:32:35 +00:00
Randy Heit
c8b8f40356 - Fix some GCC warnings.
SVN r2213 (trunk)
2010-03-18 00:30:45 +00:00
Christoph Oelckers
635759ee2c - fixed: UpdateSegBBox only used the first seg of a linedef to calculate the linedef's bounding box.
SVN r2210 (trunk)
2010-03-14 15:17:36 +00:00
Randy Heit
f24c0cf292 - Merge scanner changes from the scripting branch, since I'm pretty sure the
token names were out of sync here, too.



SVN r2209 (trunk)
2010-03-14 04:03:07 +00:00
Christoph Oelckers
c191d95110 - Fixed: Hexen's fighter's skull has a different animation than Heretic's so it needs to be a separate class.
- Added an option to parse lumps named ZMAPINFO in place of MAPINFO. Any MAPINFO lumps in files containing
  a ZMAPINFO lump will be completely ignored. This is to allow ZDoom specific definitions which are incompatible 
  with other engines capable of reading MAPINFO. Any ZMAPINFO lump must be in the new MAPINFO format.



SVN r2208 (trunk)
2010-03-13 08:28:13 +00:00
Randy Heit
cf06cd68bc - Changed FileExists() to use stat instead of fopen/fclose, which ought to be lower
overhead for files that are present.

SVN r2206 (trunk)
2010-03-13 00:08:33 +00:00
Randy Heit
1f12c3dd8e - Whoops. DXT5 decompression got the alpha values wrong. That's "wrong" as in "garbage", since
yalphaslice was never initialized to anything. (I should probably test this to make sure I
  actually got it right now...)

SVN r2205 (trunk)
2010-03-09 03:18:31 +00:00
Christoph Oelckers
593a050778 - fixed: Items spawned internally by ADehackedPickup::TryPickup must not count towards item statistics.
SVN r2204 (trunk)
2010-03-07 11:13:57 +00:00
Christoph Oelckers
88269d5d60 - fixed: The color sliders on the player setup menu were not disabled when a predefined colorset was selected.
SVN r2203 (trunk)
2010-03-07 11:05:52 +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
Christoph Oelckers
e4be782e14 - check player translations for identity maps during creation.
- fixed: When creating the initial identity translation for player translations the
  global palette remapping was not taken into account.


SVN r2200 (trunk)
2010-03-06 16:24:09 +00:00
Christoph Oelckers
d773dcb6fb - fixed: The 'any key' lock always returned success when checking for keys, even if the player had none.
SVN r2199 (trunk)
2010-03-06 14:58:15 +00:00
Christoph Oelckers
d2a4c19955 - let players check MF2_NOTRANSLATE so that mods can create player classes which are not subject to
default player color handling.



SVN r2198 (trunk)
2010-03-06 09:30:38 +00:00
Randy Heit
47a835698a - Final Doom needs its finale flats changed, too.
- It's "BGCASTCALL", not "BOSSBACK".

SVN r2196 (trunk)
2010-03-06 04:01:32 +00:00
Randy Heit
d19878efcb - Added BOOM/MBF BEX-style narrative background text substitution. There are two changes because
of this:
  * A cluster's flat definition can now be preceded by a $ to do a string table lookup.
  * Since the standard flat names are now in the LANGUAGE lump, the normal Dehacked substitution
    for these is no longer handled specially and so will not be automatically disabled merely
    by providing your own MAPINFO.

SVN r2195 (trunk)
2010-03-06 03:28:22 +00:00
Randy Heit
38c9bb1900 - Setting a Player.ColorRange now completely disables the translation rather than just
making it an identity map.

SVN r2194 (trunk)
2010-03-06 03:02:24 +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
Randy Heit
dfd963ba1a - Revert r2173.
SVN r2192 (trunk)
2010-03-05 23:09:31 +00:00
Randy Heit
5c4af020d9 - Fixed: CheckActorClass needed a NULL check.
SVN r2191 (trunk)
2010-03-05 03:43:51 +00:00
Randy Heit
f014b8f98b - Fixed: FFont::StringWidth() counted the ']' character of a named color escape sequence in
its width calculation.

SVN r2190 (trunk)
2010-03-05 03:41:48 +00:00
Randy Heit
fad9f251ec - Fixed: FSinglePicFont should set the character size by the scaled size of the texture.
SVN r2189 (trunk)
2010-03-05 03:31:20 +00:00
Randy Heit
758327f4b3 - Fixed: snd_musicvolume needs to check GSnd for NULL, since somebody might have set an
atexit for it, which gets executed after the sound system shuts down.
- Fixed: FPlayList::Backup() failed to wrap around below entry 0 because Position is
  unsigned now.

SVN r2188 (trunk)
2010-03-05 03:11:10 +00:00
Christoph Oelckers
61865b30be - Yet another piece of essentially broken code that has to go back in because some people had to abuse it:
Reinstated Doom's original code that made projectiles with the MF_NOCLIP flag set continue to exist even
  though the movement itself was never properly handled.
  Fortunately the game mode check formerly associated with this can be removed because none of the other games have
  any projectiles using MF_NOCLIP so at least it's no longer restricted to Doom...



SVN r2187 (trunk)
2010-03-04 08:24:49 +00:00
Randy Heit
ac042a7e93 - The console separator bars now get converted to something printable in Unicode for the log.
- Fixed: Only the last line of multi-line log output received Unicode treatment.

SVN r2186 (trunk)
2010-03-04 04:45:48 +00:00
Randy Heit
0ebace4883 - Add the game log to the crash report. I don't know why I didn't think to do this sooner.
Since we're already sending everything to a rich edit control hidden in the background,
  we can just grab its contents for the report.
- Use code page 1252 when previewing text files in the crash dialog.

SVN r2185 (trunk)
2010-03-04 02:17:34 +00:00
Randy Heit
dfde55d249 - Everything on the command line before the first switch with an unrecognized switch is
now added to -file. This was previously restricted to only .wad, .zip, .pk3, and .txt.
- You can now pass -file/-deh/-bex more than once on the command line, and they will all
  have effect.

SVN r2184 (trunk)
2010-03-03 04:29:40 +00:00
Randy Heit
5da2885d88 - Changed DArgs to use a TArray of FStrings instead of doing its own string vector management
in preparation for doing GatherFiles the "right" way.

SVN r2183 (trunk)
2010-03-02 04:51:16 +00:00
Randy Heit
4e2ca33ea9 - Fixed: DrawHudText() needs to verify that the character glyph is valid before accessing
its fields.

SVN r2182 (trunk)
2010-03-02 01:59:16 +00:00
Randy Heit
54b792a97f - V_GetFont() needs to check the font header.
SVN r2181 (trunk)
2010-02-26 20:19:43 +00:00
Randy Heit
d530fd7f90 - Added BMF (ByteMap Font) support. This was complicated somewhat by the fact that BMF can
specify a character advance separately from the glyph width. GetChar and GetCharWidth now
  return this value in place of the glyph width. (For non-BMF fonts, these should still
  return the same values as before.)

SVN r2180 (trunk)
2010-02-26 05:34:30 +00:00
Randy Heit
8ecafcc15a - Added A_CheckSightOrRange, with changes.
SVN r2179 (trunk)
2010-02-26 00:08:25 +00:00
Randy Heit
5523140890 - Explicitly setting the charset for the EM_SETCHARFORMAT message seems to do what I want.
SVN r2178 (trunk)
2010-02-24 04:23:01 +00:00
Randy Heit
0b2c2e1cb3 - Use the Unicode RichEdit control instead of the MBCS version, so as to enforce the use
of code page 1252 for output text. This is noticeable, for example, with the FMOD copyright
  notice where the copyright symbol appears as ゥ (halfwidth katakana small U) with code page 932.

SVN r2177 (trunk)
2010-02-24 04:17:14 +00:00
Randy Heit
ad54cfcf94 - Change the log window to use DejaVu Sans instead of Bitstream Vera Sans, because
Silverex's X-Chat comes with the former now. Unfortunately, I can't seem to actually
  set the font when my system default code page is 932, since it wants to use some Kanji-
  compatible font instead. I wonder if I can still use the Unicode RichEdit control with
  Windows 9x. (Does it even matter? Windows 9x users make up less than 0.1% of all visitors
  to zdoom.org these days.)

SVN r2176 (trunk)
2010-02-24 03:36:42 +00:00
Randy Heit
a1255c059d - Added -nostartup switch to disable the more graphical startup screens of Heretic, Hexen,
and Strife.

SVN r2175 (trunk)
2010-02-24 02:58:48 +00:00
Christoph Oelckers
350e72fb3e - added an option to disable player translations in single player games.
SVN r2173 (trunk)
2010-02-23 23:03:43 +00:00
Christoph Oelckers
a5c3c95b2f - added 2 DECORATE keywords from Skulltag as dummies.
SVN r2169 (trunk)
2010-02-19 08:10:04 +00:00
Christoph Oelckers
68194d13c8 - fixed some Chex Quest cheat codes.
SVN r2168 (trunk)
2010-02-17 22:38:17 +00:00
Christoph Oelckers
f02303d33c - added a lock parameter to Door_Animated.
SVN r2167 (trunk)
2010-02-17 22:25:48 +00:00
Christoph Oelckers
4b04b94414 - fixed: The monster pack's Afrit no longer worked.
SVN r2165 (trunk)
2010-02-14 23:59:17 +00:00
Christoph Oelckers
ea11eb9e3d - fixed: The Boom stair fix was done for Hexen stairs but must only be in the code for Doom stairs.
SVN r2162 (trunk)
2010-02-14 08:24:00 +00:00
Christoph Oelckers
6ec30761c6 - Added Boom's stairbuilding fix when one step couldn't be built due to an active thinker in the sector.
This is compatibility optioned with COMPAT_STAIRINDEX. Also added a compatibility setting for 
  Eternal Doom MAP25 which relies on Doom's original broken behavior.
- added a few sanity checks for duplicate actor names in DECORATE. ZDoom will now print more warnings
  and all crash cases should be properly handled but since this is still an error this will not work
  properly in all circumstances. For example, if you have a duplicate name all classes that inherit
  from the original definition will not survive a savegame if they reference a state belonging to that
  class at the point of saving.
- Print 'tried to register class more than once' in red to highlight it.
- fixed: actors may not replace themselves.

SVN r2158 (trunk)
2010-02-13 08:56:08 +00:00
Randy Heit
784aef8928 - Added checks for open and closed scripts sharing the same number to ensure that
FBehavior::FindScript() will always return the closed version. See Hexen MAP30 and MAP33.

SVN r2157 (trunk)
2010-02-13 05:15:32 +00:00
Christoph Oelckers
1df19e6375 - last fix was incomplete.
SVN r2156 (trunk)
2010-02-12 23:18:41 +00:00
Christoph Oelckers
33460a315a - fixed: DefHexenBindings still referred to some of Heretic's items that once were merged with the Hexen variants.
SVN r2155 (trunk)
2010-02-12 22:44:54 +00:00
Christoph Oelckers
113a438b01 - Fixed: Voodoo dolls must not check reactiontime in P_SlideMove.
SVN r2153 (trunk)
2010-02-11 17:10:01 +00:00
Christoph Oelckers
12a819cf7c - fixed GCC compile error in A_Mushroom.
SVN r2152 (trunk)
2010-02-07 08:22:23 +00:00
Christoph Oelckers
4310b239f4 - Added Gez's submission for Eternity-style skybox definitions.
SVN r2151 (trunk)
2010-02-06 15:31:26 +00:00
Randy Heit
ecb9d2f24b - Fixed: Closing doors early would never restart the sound sequence if it was manually placed.
SVN r2150 (trunk)
2010-02-02 05:19:43 +00:00
Randy Heit
1aa39baa4a - Fixed: "Animation <X> in ANIMATED has only one frame" message was missing a newline.
SVN r2149 (trunk)
2010-02-02 04:38:15 +00:00
Christoph Oelckers
3e8435e22c - added Gez's Plane_Copy submission with some extensions and improvements.
This line special is the last of the slope creation methods being processed so it can copy any other type of slope.


SVN r2147 (trunk)
2010-01-30 22:53:37 +00:00
Christoph Oelckers
fc2f95da0e - revert accidental commit.
SVN r2146 (trunk)
2010-01-30 19:28:41 +00:00
Christoph Oelckers
8a22712180 - fixed: Rocket trail particle positioning only worked when the rocket was moving.
SVN r2145 (trunk)
2010-01-30 14:49:15 +00:00
Christoph Oelckers
a5e1fe6906 - fixed: Sector_SetWind and Sector_SetCurrent were not usable in scripts called from a line.
- added Gez's A_Mushroom extension.


SVN r2144 (trunk)
2010-01-30 14:35:52 +00:00
Christoph Oelckers
24a12a04b4 - added a minimum threshold for damage thrust to avoid micro-velocities being set for actors.
- fixed: Strife's Oracle is not a living thing and needs the NOBLOOD flag.
- fixed: Chex Quest's finale pic was wrong.


SVN r2143 (trunk)
2010-01-30 13:48:44 +00:00
Christoph Oelckers
0246f2bf4d - fixed: Being resurrected by an Arch Vile did not restore flags5 and flags6 to the defaults.
SVN r2142 (trunk)
2010-01-30 13:08:52 +00:00
Christoph Oelckers
0997c608f2 - added a secret sector color to automap overlay.
- added a score display to both alt HUD and sbarinfo.
- simplified code for AltHud status values display.


SVN r2141 (trunk)
2010-01-30 09:17:44 +00:00
Christoph Oelckers
787c16301c - Fixed SBarInfo problem with hexenarmor.
SVN r2140 (trunk)
2010-01-28 23:51:56 +00:00
Christoph Oelckers
1f6c915abf - Fixed: ZDoom no longer reversed the clipping area on drawbar calls with a
border.
- Fixed: SBarInfo Interpolated aross a new Game.

SVN r2139 (trunk)
2010-01-28 23:50:20 +00:00
Christoph Oelckers
3f140c0549 - fixed: The line ID arg of Plane_Align was not handled in the wrong place. It was also missing from actionspecials.h and the UDMF spec.
SVN r2138 (trunk)
2010-01-28 23:46:38 +00:00
Randy Heit
5125e11d25 - Do not call midiOutSetVolume() when playing with the "Microsoft GS Wavetable Synth" on
Vista and above, because it doesn't do what you expect.

SVN r2136 (trunk)
2010-01-26 05:11:04 +00:00
Christoph Oelckers
8435033e08 - fixed: M_DrawSlider did not print the correct value if the slider's minimum was not 0 or the value was clamped.
SVN r2134 (trunk)
2010-01-25 08:10:48 +00:00
Christoph Oelckers
406b692cc9 - removed the TakeSpecialDamage hacks for Macil and the Oracle and replaced them by
giving the first stage Sigil's projectiles a damage type and using a damage factor
  to disable damaging these actors.


SVN r2129 (trunk)
2010-01-24 13:00:53 +00:00
Christoph Oelckers
8b9d8137fc - fixed: P_SpawnPuff must set the puff's owner before doing any state jumps.
SVN r2128 (trunk)
2010-01-24 09:46:31 +00:00
Christoph Oelckers
c363f169d7 - added PROP_BUDDHA option to SetPlayerProperty.
SVN r2127 (trunk)
2010-01-24 08:41:40 +00:00
Randy Heit
e190109c03 - Made conversation "mini responses" more prominent rather than packing them in with
the rest of the generic console output at the top of the screen.

SVN r2123 (trunk)
2010-01-23 21:26:07 +00:00
Randy Heit
2fc338db88 - Removed the integer clobbers from pow_x87_inline, since they interfered with PIC code and
appear unneeded.

SVN r2122 (trunk)
2010-01-23 20:48:24 +00:00
Randy Heit
7511c5385b - Added an input grid for controller-based string entry in the save game and player setup menus
(which I had forgotten to do for 2.4.0). If you don't use a controller to activate the string
  entry mode and keep your hands off the controller while typing, it remains invisible.

SVN r2121 (trunk)
2010-01-23 19:07:18 +00:00
Randy Heit
71b75f0d7a - Consolidated all conversation reply handling into a single function executed on all
machines, so when an NPC need to show the "enough" response, it has enough
  information available to do so.
- Some new Strife Teaser fixes I forgot to commit are in here.
- Moved norawinput check into FindRawInputFunctions().


SVN r2120 (trunk)
2010-01-22 05:17:57 +00:00
Christoph Oelckers
d547e89548 - added a CVAR to disable raw input in case it causes problems (like apparently on Wine.)
SVN r2118 (trunk)
2010-01-18 20:55:49 +00:00
Christoph Oelckers
16c638a598 - Fixed: SetMarineSprite tried to access the first owned state of the actor's class - but the weapon carrying marines own no states.
SVN r2117 (trunk)
2010-01-18 20:15:04 +00:00
Christoph Oelckers
7183a2f751 - Fixed: DrawSelectedInventory set the wrong variable and thus always used CR_GOLD as its translation.
- Fixed: Draw(Switchable)Image didn't handle the alpha value properly.

SVN r2116 (trunk)
2010-01-18 19:38:36 +00:00
Christoph Oelckers
6c9748b603 - ported a few cleanup changes from Gez's recent GZDoom patch.
- fixed: The sound channel structure should not store the sound table's entries' addresses which are stored in a TArray by pointer. In case the array gets reallocated very bad things can happen. This caused some bad crashes when GZDoom's FraggleScript implementation created new sound entries.


SVN r2114 (trunk)
2010-01-16 07:51:50 +00:00
Randy Heit
8de8924c47 - Fixed: The MAPINFO keyword resetinventory only worked when traveling to a redirected map.
SVN r2108 (trunk)
2010-01-08 03:40:10 +00:00
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
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
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
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
Randy Heit
6beaf818e3 - Fixed: Calling S_ChangeMusic() with the same song but a different looping
flag now restarts the song so that the new looping setting can be applied.
  (This was easier than modifying every music handler to support modifying
  loop changes on the fly, which seems like overkill.)


SVN r2041 (trunk)
2009-12-25 00:41:15 +00:00
Randy Heit
735294884e - Fixed: savepatchsize was declared incorrectly in d_dehacked.cpp:DoInclude().
SVN r2040 (trunk)
2009-12-25 00:34:34 +00:00
Randy Heit
5aa673baad - Changed AFastProjectile::Effect() so that it sets the spawned trail to face
same direction as the projectile.


SVN r2039 (trunk)
2009-12-25 00:24:54 +00:00
Randy Heit
d2a4339816 - Split weaveindex into two separate byte-sized properties and moved them into unused space
inside AActor.

SVN r2038 (trunk)
2009-12-25 00:19:28 +00:00
Christoph Oelckers
611834ea2a - fixed: The UDMF blockfloaters flag was misnamed. Changed to match the spec.
SVN r2037 (trunk)
2009-12-24 23:31:06 +00:00
Christoph Oelckers
b0b80f6996 - made the initial weave index for A_BishopMissileWeave and A_CStaffMissileSlither
a configurable actor property.
- added a menu item for snd_channels.



SVN r2036 (trunk)
2009-12-23 11:41:24 +00:00
Christoph Oelckers
cc3b7967a1 - Fixed: The Dehacked parser could read past the end of the file if the last
element was improperly defined.


SVN r2035 (trunk)
2009-12-20 19:14:10 +00:00
Randy Heit
00447b8f44 - Extended MF3_SKYEXPLODE to apply to horizon walls as well.
SVN r2034 (trunk)
2009-12-20 05:11:30 +00:00
Christoph Oelckers
bdd1203aca - Fixed: It was not possible to set the ammo type of a weapon explicitly to
'none'.


SVN r2033 (trunk)
2009-12-19 07:44:04 +00:00
Randy Heit
d8a2387c39 - A_FreezeDeath() now removes fuzz effects.
- In mus2midi.cpp, added range checking to MUS_SYSEVENT and MUS_CTRLCHANGE,
  and masking for note-off keys, note-on velocities, and program changes.


SVN r2032 (trunk)
2009-12-19 04:54:04 +00:00
Christoph Oelckers
51e158d7dc - added all known maps requiring inverted sprite sorting to compatibility.txt.
- added compatibility option to invert sprite sorting. Apparently Doom.exe
  originally sorted them differently than most source port and on some maps
  which depends on this it doesn't look right (e.g. Strain MAP13)


SVN r2031 (trunk)
2009-12-18 08:19:34 +00:00
Randy Heit
0a4d860ec7 - Fixed: Using Transfer_Heights with the SECF_UNDERWATER and
SECF_FAKEFLOORONLY flags applied the water effect to the ceiling and not
  just the floor.


SVN r2030 (trunk)
2009-12-18 05:38:14 +00:00
Randy Heit
0e3c1dc33e - Add a swap overload to make GCC happy.
SVN r2029 (trunk)
2009-12-18 04:58:20 +00:00
Randy Heit
f6428e1cbb - Replaced sprite sorting with a stable sort. Performance at the start of
nuts.wad seems the same.


SVN r2028 (trunk)
2009-12-18 03:05:38 +00:00
Christoph Oelckers
1c5103c9b1 - Fixed: Morphed players tried endlessly to switch to a weapon they picked up.
SVN r2027 (trunk)
2009-12-16 22:42:15 +00:00
Christoph Oelckers
fdec06ff9b - fixed:P_DamageMobj just set an ice corpse's velocity to 0 to make it shatter.
But that's insufficient because it doesn't factor in any subsequent velocity
  change that happens between the damaging and the next call to A_FreezeDeathChunks.
- fixed: The TimeFreezer did not freeze other players' controls in a
  multiplayer game.
- fixed: DECORATE's 'gravity' property incorrectly messed around with the
  NOGRAVITY flag.
- fixed: Hitscan attacks didn't check the puff's replacement for damage types.


SVN r2026 (trunk)
2009-12-16 16:09:48 +00:00
Christoph Oelckers
ba106c28c4 - fixed: old-style DECORATE definitions with non-alphanumeric characters in
the name produced an error.


SVN r2025 (trunk)
2009-12-13 22:22:25 +00:00
Randy Heit
28c23edb2f - Added a DMG_NO_FACTOR flag for P_DamageMobj(). A_KillChildren, A_KillMaster,
and A_KillSiblings now use it.


SVN r2024 (trunk)
2009-12-13 05:04:12 +00:00
Randy Heit
b3d2a1f074 - Added a damage type parameter to A_KillChildren, A_KillMaster, and
A_KillSiblings. 


SVN r2023 (trunk)
2009-12-13 04:59:19 +00:00
Christoph Oelckers
2fb2c79887 - fixed: Auto-COMPAT_SHORTTEX for IWADs must be set per IWAD, not in general
for Doom.
- added autodetection of Harmony's IWAD.


SVN r2022 (trunk)
2009-12-11 09:21:08 +00:00
Randy Heit
20e265f8fb - Fixed: You should still be able to pick up ammo that has a max amount set at 0.
- Added a few NULL screen checks.


SVN r2019 (trunk)
2009-12-11 06:20:35 +00:00
Christoph Oelckers
ee4b9ed09b - added some code that prevents overlapping monsters from getting stuck in
each other. PIT_CheckThing will return true under the following contitions 
  now:
  * It was called from P_Move
  * The actor that is blocking the move already overlaps with the monster
    that is being moved.
  * the move will take the 2 actors further apart.  


SVN r2018 (trunk)
2009-12-06 22:10:25 +00:00
Randy Heit
88b4ab52ad - For windowed and pixel doubled modes, use a chain of two TempRenderTextures and
swap between them each frame. The one that's not the TempRenderTexture is used
  as the FrontCopySurface without the need for a copy operation. This removes the
  performance penalty the previous commit introduced for these modes.

SVN r2014 (trunk)
2009-12-02 05:49:45 +00:00
Randy Heit
d924575b1e - Fixed: After the previous screenwipe changes, the melt type no longer worked
properly in letterboxed modes.
- Added another surface to receive a copy of the top back buffer immediately
  before it is presented. This effectively produces a copy of the front
  buffer without the performance penalty of GetFrontBufferData, so fullscreen
  wipe preparation and screenshots are faster now. At lower resolutions,
  always copying the backbuffer does incur a slight FPS hit, but it's
  practically free at higher resolutions.


SVN r2013 (trunk)
2009-12-02 05:02:40 +00:00
Randy Heit
80034135ef - The initial wipe screen is now kept in video memory. I had previously
assumed that since the wipes only run at 35 FPS, the time spent DMA'ing
  it from system to video memory would be acceptable. Apparently I was wrong.
  In particular, updating the same surface several times probably has to
  synchronize between each one, making melt particularly slower than it
  needs to be.


SVN r2012 (trunk)
2009-12-01 03:15:00 +00:00
Randy Heit
f722b10294 - Increase STEEPSLOPE by 1, because the new FIXED2FLOAT rounds toward nearest, and this
makes 45 degree slopes unclimbable again.

SVN r2011 (trunk)
2009-12-01 01:15:49 +00:00
Christoph Oelckers
17553cfbf6 - fixed: Line_SetBlocking and Line_SetTextureScale were not in the list
of action specials used by DECORATE or MAPINFO.
- fixed: Teleport_NoStop was not in the line special function table.


SVN r2010 (trunk)
2009-11-29 11:24:01 +00:00
Randy Heit
26f14f439b - Fixed: The FPS meter cannot use I_MSTime(), because if the game is started
with +vid_fps 1, it can need the time before the timer is ready to start.


SVN r2009 (trunk)
2009-11-29 02:57:09 +00:00
Randy Heit
a5c8b33f10 - Initialize TempRenderTexture and the back buffer to black upon creation.
SVN r2008 (trunk)
2009-11-29 02:42:20 +00:00
Randy Heit
cdb26a9b28 - Fixed: Windowed mode always needs to draw to the temporary surface, even
when not gamma correcting, so that D3DFB::GetCurrentScreen() can read from
  it.


SVN r2007 (trunk)
2009-11-29 02:33:52 +00:00
Randy Heit
4edd51eb09 - Use the spawned class's scale as default for ScriptedMarine instead of
DoomPlayer.


SVN r2006 (trunk)
2009-11-29 01:56:22 +00:00
Christoph Oelckers
d14faa5f98 - fixed: Morph weapons weren't destroyed because the code checked for
them in the unmorphed player class.
- fixed: With padding the largest texture to fit into a page is 254x254.


SVN r2005 (trunk)
2009-11-28 07:46:30 +00:00
Christoph Oelckers
f3b19fcca2 - fixed an uninitialized variable in p_xlat.cpp .
SVN r2004 (trunk)
2009-11-27 21:45:17 +00:00
Christoph Oelckers
53a6ffee15 - fixed: The charge attack of Heretic's imp is not precisely the same
as A_SkullAttack with a different speed so A_ImpMsAttack has been
  reinstated.


SVN r2003 (trunk)
2009-11-27 13:23:02 +00:00
Randy Heit
787f00abf9 - Make the palette indexes used by FRemapTable subject to the global remap
table, just as the images they translate are.


SVN r2002 (trunk)
2009-11-26 03:16:54 +00:00
Christoph Oelckers
5d7670acc4 - Added MF4_ALLOWPARTICLES checks to blood spawning code.
SVN r2001 (trunk)
2009-11-24 22:28:38 +00:00
Christoph Oelckers
233e662a92 - Fixed: EV_DoDonut, EV_DoElevator and EV_StartWaggle did not to any 0-tag checks.
SVN r2000 (trunk)
2009-11-24 07:38:11 +00:00
Christoph Oelckers
f94c9ce81d - Fixed: Not all places checking for player start spots above 4 did it correctly.
The editor number for player start spot 5 is now stored in the game info
  so that there's only one place where this check needs to be done.
- Fixed: WIF_NOAUTOAIM only worked for projectiles unlike Skulltag's original
  implementation.


SVN r1997 (trunk)
2009-11-24 06:55:38 +00:00
Randy Heit
53b1b7efab - Added Windows 7 (aka Windows NT 6.1) and Server 2008 identification to
I_DetectOS().


SVN r1996 (trunk)
2009-11-24 04:29:36 +00:00
Randy Heit
f305b2f70c - Fixed: FWadCollection::AddFile() did not call FixPathSeperator(), so
savegames would hold the full file path for wads that had been specified
  with backslash characters, because GetWadName() would not trim off the
  path.


SVN r1994 (trunk)
2009-11-24 02:26:01 +00:00
Randy Heit
a97f22bfcd - Scan backwards for classes in FArchive::ReadClass().
SVN r1993 (trunk)
2009-11-24 01:37:54 +00:00
Christoph Oelckers
9357ed82ed - extended Doom map format linedef translator so that it also handles the flags.
SVN r1992 (trunk)
2009-11-21 23:11:12 +00:00
Randy Heit
82db01f5ef - Forgot xs_Float.h with previous commit.
SVN r1991 (trunk)
2009-11-20 06:01:10 +00:00
Randy Heit
344dda4a1a - Replaced toint/quickertoint with the portable routines from xs_Float.h. The
former used fistp, which is not portable across platforms, so cannot be
  used in the play simulation. They were only suitable for the renderer.
  xs_Float.h also has a very fast float->fixed conversion, so FLOAT2FIXED
  uses that now.
  (And I also learned that the FPU's round to nearest is not the rounding I
  learned in grade school but actually Banker's Rounding. I had no idea.)
  (Also, also, the only thing that could have made quickertoint faster than
  toint was that it stored a 32-bit int. I never timed them, and I doubt in
  practice there was any real difference between the two.)
- Changed atan2f to atan2. Using floats is not a win, because the result is
  returned as a double on the x87 stack, which the caller then needs to cast
  down to a float using fst/fld.

SVN r1990 (trunk)
2009-11-20 05:34:20 +00:00
Christoph Oelckers
eca9b4981b - fixed the R_PointToAngle fix from r1985.
SVN r1989 (trunk)
2009-11-19 07:21:10 +00:00
Randy Heit
2b5f765982 - Added padding around packed textures to compensate for apparent NVidia
texture coordinate imprecision.


SVN r1988 (trunk)
2009-11-19 01:49:19 +00:00
Randy Heit
51eb6465a2 - Fixed two bugs in FMODSoundRenderer::HandleChannelDelay():
* Looping sounds that have been playing for a very long time, were evicted,
    and then were restarted need to have their positions clamped to lie
    within the bounds of the sounds. If we try to set a start position very
    far beyond the end, it will overflow inside FMOD and not work.
  * A start time of 0 is not actually valid and means the sound was never
    assigned a start time.
- The latter bug also reveals a problem with starting looped sounds evicted:
  They need to be assigned a start time so if they should have the opportunity
  to start later, they will be properly synchronized.


SVN r1987 (trunk)
2009-11-18 04:45:20 +00:00
Christoph Oelckers
424c6e8963 - fixed: P_NowayTraverse was called with a trace distance of 128 instead of
the 64 that should have been used.


SVN r1986 (trunk)
2009-11-17 23:09:21 +00:00
Christoph Oelckers
23d0d70ea6 - fixed: R_PointToAngle could overflow with very long vectors passed to
it. This caused rendering bugs on some maps. (Interestingly the only
  other port having a safeguard for this in place was PrBoom.)


SVN r1985 (trunk)
2009-11-17 13:50:46 +00:00
Christoph Oelckers
53a717673f - reverted the change that makes 0-damage projectiles call P_DamageMobj.
Both Hexen and Heretic depend on such projectiles not doing it as do many
  mods that create snow/rain effects plus any terrain splash mod.


SVN r1984 (trunk)
2009-11-17 07:18:19 +00:00
Christoph Oelckers
3a198a29dc - fixed: fullscreen images with texture scaling used the unscaled size for
positioning. To avoid future problems with them I added a new DTA_Fullscreen
  option for DrawTexture.


SVN r1983 (trunk)
2009-11-15 14:33:35 +00:00
Christoph Oelckers
6161702703 - fixed: The sky baseline position needs to take texture scaling into account.
SVN r1982 (trunk)
2009-11-15 08:11:14 +00:00
Randy Heit
6310f32843 - Do not squash skies taller than 200 into square pixels.
SVN r1981 (trunk)
2009-11-15 01:04:58 +00:00
Christoph Oelckers
d01c402755 - Added skillinfo fix by Gez.
SVN r1980 (trunk)
2009-11-14 08:50:23 +00:00
Christoph Oelckers
b57ac1aed8 - added a r_scaletallskies CVAR so that sky positioning can be checked
more easily.
- fixed: Skies with a height of exactly 200 pixels should not be stretched.

SVN r1979 (trunk)
2009-11-14 07:52:14 +00:00
Randy Heit
84fda053ba - More sky changes: Textures taller than 200 pixels but shorter than 241
are scaled to the height of a 200 pixel tall sky. Skies taller than 240
  use the same scale as a 240 tall sky but are shifted down to make the
  top of the texture align with the top of the screen when looking fully up.
  Thus, by using a sky texture with a height of 240 or more pixels, the sky
  will be drawn with square pixels instead of the vertically elongated ones
  imposed by Doom's native 320x200 resolution.


SVN r1978 (trunk)
2009-11-14 03:08:35 +00:00
Christoph Oelckers
e0734b3c2d - ported GZDoom's new 'skyoffset' ANIMDEFS option for compatibility purposes.
SVN r1977 (trunk)
2009-11-13 21:28:39 +00:00
Randy Heit
363dfcffbd November 12, 2009
- Improved sky stretching a bit: It now only stretches the sky as tall as it
  needs to be: 228 pixels, not 256. It no longer stretches horizontally,
  either.
  
  The reason it stretches to 228 and not 200 pixels is because Doom shifted
  its sky texture down 28 pixels. By stretching to 228 pixels, we can keep
  the sky tiled at the same height on the horizon. Skies 200 pixels tall
  (or more) will continue to tile at the center of the screen when looking
  directly ahead.


SVN r1976 (trunk)
2009-11-13 04:38:03 +00:00
Randy Heit
a0e7cdb73d - Cleaned up win32/i_system.cpp.
- Put back the previous event-driven ticker, except now the timer isn't
  started until the first time it is needed.


SVN r1975 (trunk)
2009-11-13 03:55:23 +00:00
Randy Heit
f09420fce7 - Modified the event-driven ticks to use the same code for calculating the
time as the polled timer so that the timer does not start running until the
  first time it is used.
- Removed the srand() call from D_DoomMain(), because it started the game
  timer running prematurely, and we never call rand() anywhere. (Not to
  mention, even if we did use rand(), always seeding it with 0 is rather
  pointless.)


SVN r1974 (trunk)
2009-11-12 03:45:51 +00:00
Randy Heit
7b7973c6a7 - Fixed: The framerate was not capped before starting a game.
SVN r1973 (trunk)
2009-11-12 03:14:10 +00:00
Randy Heit
30b21b2eea - Removed the one embedded DeHackEd lump restriction.
SVN r1972 (trunk)
2009-11-12 02:47:28 +00:00
Randy Heit
4fed0f8057 - Fixed: nofreeaim in P_SpawnPlayerMissile() was broken.
SVN r1971 (trunk)
2009-11-12 01:21:25 +00:00
Randy Heit
281b2f5637 - Fixed: MBF sky Y offsets were ignored. X offsets should also be applied to
the sky cylinder, not the screen like Hexen scrolling skies.


SVN r1970 (trunk)
2009-11-12 01:05:55 +00:00
Randy Heit
653e2dd1f0 - Whoops!
SVN r1969 (trunk)
2009-11-10 04:24:20 +00:00
Randy Heit
f1a672254d - Fixed: Do not use scaled texture width when calculating xiscale.
SVN r1968 (trunk)
2009-11-10 03:40:54 +00:00
Randy Heit
a0d6a47daf - Maps inside zips can now satisfy the map checks for IWAD detection.
- Fixed: F7ZFile did not delete its Archive when destroyed.


SVN r1967 (trunk)
2009-11-10 02:29:18 +00:00
Randy Heit
de8ec46c06 - Fixed: R_GetOneSkyColumn() and R_GetTwoSkyColumns are mulscaling an
unsigned integer that can use all 32 bits. They must therefore use
  the unsigned mul instruction rather than the signed imul instruction.
- Fixed several signed/unsigned comparison and possibly uninitialized
  variable warnings flagged by GCC.


SVN r1965 (trunk)
2009-11-08 02:51:22 +00:00
Christoph Oelckers
d8acbf71fa - fixed: The 'new format only' flag for MAPINFO options was never checked.
(ZDoom itself doesn't use it yet so it's only relevant for child ports.)



SVN r1964 (trunk)
2009-11-06 06:56:25 +00:00
Randy Heit
704895f9b9 - Fixed: S_RestartSound() cleared the evicted flag even if the sound
was not restarted because it was too close to too many other identical
  sounds that were already playing.


SVN r1962 (trunk)
2009-11-04 02:37:05 +00:00
Randy Heit
fb74d9b1ec - Added virtual status and audibility to the noise debug display.
SVN r1961 (trunk)
2009-11-04 02:07:39 +00:00
Randy Heit
f1738b0e03 - Added a command line option -warpwipe to perform the screen wipe if you
start with -warp or +map.


SVN r1960 (trunk)
2009-11-04 01:24:00 +00:00
Christoph Oelckers
a02e8c0b06 - GCC fix of r_segs.cpp - again...
SVN r1959 (trunk)
2009-11-02 17:02:12 +00:00
Randy Heit
358b2421ad - Fixed: Decals would not use the shading colormap anymore.
SVN r1958 (trunk)
2009-11-02 01:02:23 +00:00
Christoph Oelckers
adbc9771b7 - yet another GCC compile fix.
SVN r1957 (trunk)
2009-11-01 06:45:47 +00:00
Randy Heit
ddf1afb82b - Shift player sprites down half a pixel. Interestingly, this makes vertical
scaling much closer between software and hardware.

SVN r1956 (trunk)
2009-11-01 01:35:11 +00:00
Randy Heit
4ebfdac887 - Changed all coordinates for DrawTexture() to floating point so that the
player sprites will retain the same precision they had when they were
  rendered as part of the 3D view. (needed for propery alignment of flashes
  on top of weapon sprites) It worked just fine for D3D, but software
  rendering was another matter. I consequently did battle with imprecisions
  in the whole masked texture drawing routines that had previously been
  partially masked by only drawing on whole pixel boundaries. Particularly,
  the tops of posts are calculated by multiplying by spryscale, and the
  texture mapping coordinates are calculated by multiplying by dc_iscale
  (where dc_iscale = 1 / spryscale). Since these are both 16.16 fixed point
  values, there is a significant variance. For best results, the drawing
  routines should only use one of these values, but that would mean
  introducing division into the inner loop. If the division removed the
  necessity for the fudge code in R_DrawMaskedColumn(), would it be worth it?
  Or would the divide be slower than the fudging? Or would I be better off
  doing it like Build and using transparent pixel checks instead, not
  bothering with skipping transparent areas? For now, I chop off the
  fractional part of the top coordinate for software drawing, since it was
  the easiest thing to do (even if it wasn't the most correct thing to do).


SVN r1955 (trunk)
2009-11-01 01:27:33 +00:00
Christoph Oelckers
a4f4994e18 - re-fixed polyobject CheckSwitchRange so that it doesn't have to alter the polyobject's linedefs.
SVN r1954 (trunk)
2009-10-30 07:03:26 +00:00
Randy Heit
da3daa0721 - Fix incorrect fix from previous commit.
SVN r1953 (trunk)
2009-10-30 03:53:00 +00:00
Randy Heit
4252cd52ad - Fixed: Sprites and decals that are drawn with addition must fade to black.
SVN r1952 (trunk)
2009-10-30 03:46:51 +00:00
Randy Heit
321ab2f686 - Make TranslateToStartSpot() set the new sector references for a polyobj's
walls so that P_CheckSwitchRange() will work with them.


SVN r1951 (trunk)
2009-10-30 03:29:15 +00:00
Randy Heit
0f96ec4a32 - Fixed: An unspecified save_dir will now save to the program directory on
Windows. (Other operating systems already use the user's home directory
  instead.)


SVN r1950 (trunk)
2009-10-30 02:42:40 +00:00
Randy Heit
50b0340a56 - Fixed: S_EvictAllChannels() must replace the channel's start time with its
position when evicting sounds, because restarting the sound system causes
  the DSP clock to restart at 0, so start times that were recorded before
  the reset are no longer applicable after the reset.
- Fixed: S_StopChannel() always set the channel's actor to NULL, eliminating
  origin information when resetting the sound system.


SVN r1949 (trunk)
2009-10-30 02:18:07 +00:00
Randy Heit
0e5f48adb4 - Quoth Gez:
* when a logical condition was rewritten and inverted, one of the boolean test wasn't inverted along the rest. So the "monster must not be a player" was accidentally changed into "monster must be a player", which is usually going to be false... There's another minor, but related issue.

SVN r1948 (trunk)
2009-10-30 00:59:34 +00:00
Christoph Oelckers
aea4e38241 - GCC compile fix.
SVN r1947 (trunk)
2009-10-29 06:32:50 +00:00
Randy Heit
d082266365 - Added Gez's patch for IWAD detection of Blasphemer and Action Doom 2.
SVN r1946 (trunk)
2009-10-29 05:51:20 +00:00
Randy Heit
059be338b4 - Guess we don't need this FORCEPAIN check in PIT_CheckThing() anymore.
SVN r1945 (trunk)
2009-10-28 23:28:09 +00:00
Randy Heit
e5d6256c2d - Fixed: 0 damage projectiles did not call P_DamageMobj.
SVN r1944 (trunk)
2009-10-28 23:25:27 +00:00
Randy Heit
df317801bf - Fixed: Do not exit P_DamageMobj early if damage is 0, so we can still get
the side effects from it. PainThreshold also needs to be inclusive, as
  the docs already state.


SVN r1943 (trunk)
2009-10-28 23:14:20 +00:00
Randy Heit
1c3de33585 - Make A_MonsterRail() and A_CustomRailgun() aim at the target anyway even
if P_AimLineAttack() decides it has no chance of hitting.

SVN r1942 (trunk)
2009-10-27 04:16:55 +00:00
Randy Heit
efaa26959e - Changes to both A_MonsterRail() and A_CustomRailgun(): Save actor's pitch,
use a larger aiming range, and ignore non-targets in P_AimLineAttack().
- Added another parameter to P_AimLineAttack(): A target to be aimed at. If
  this is non-NULL, then all actors between the shooter and the target will
  be ignored.


SVN r1941 (trunk)
2009-10-27 03:59:29 +00:00
Randy Heit
750659a82e - Added new sound sequence ACS functions:
SoundSequenceOnActor(int tid, string seqname);
    SoundSequenceOnSector(int tag, string seqname, int location);
    SoundSequenceOnPolyobj(int polynum, string seqname);
  SoundSequenceOnSector takes an extra parameter that specifies where in the
  sector the sound comes from (floor, ceiling, interior, or all of it). See
  the SECSEQ defines in zdefs.acs.


SVN r1939 (trunk)
2009-10-27 02:43:00 +00:00
Randy Heit
be3bb0093a - Fixed: R_RenderDecal() must save various Wall globals, because the originals
may still be needed. In particular, when drawing a seg with a midtexture is
  split by foreground geometry, the first drawseg generated from it will have
  the correct WallSZ1,2 values, but subsequent ones will have whatever
  R_RenderDecal() left behind. These values are used to calculate the upper
  and lower bounds of the midtexture. (Ironically, my work to Build-ify things
  had done away with these globals, but that's gone now.)


SVN r1938 (trunk)
2009-10-27 01:53:47 +00:00
Christoph Oelckers
5ab4159e76 - fixed damage calculation for OLDRADIUSDMG case of P_RadiusAttack.
SVN r1937 (trunk)
2009-10-25 23:12:00 +00:00
Christoph Oelckers
7e2e62fd5c - fixed: sector_t::GetHeightSec checked the wrong MoreFlags.
SVN r1936 (trunk)
2009-10-25 19:39:43 +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
19b23f2cf3 - Removed the Actor uservar array and replaced it with user-defined variables.
A_SetUserVar/SetUserVariable/GetUserVariable now take a variable name
  instead of an array index. A_SetUserArray/SetUserArray/GetUserArray
  have been added to access elements in user-defined arrays.


SVN r1933 (trunk)
2009-10-25 02:19:51 +00:00
Randy Heit
f40462dfb4 - Rewrote wide sky texture scaling again. This time, it should work for any
size textures at any scale. I also tried doing sky scrolling on the sky
  cylinder, but that didn't look so good, so I left it in screen space.


SVN r1932 (trunk)
2009-10-24 23:42:58 +00:00
Randy Heit
1a6d7b6eca - Fixed: When giving completely new ammo, the backpack did not clamp the
amount given to the ammo's max amount.


SVN r1931 (trunk)
2009-10-24 05:02:49 +00:00
Randy Heit
1c9b693087 - Fixed drawing of wide high resolution skies. (At least for the samples I
received. I'm not convinced that it's yet fixed for the general case.)


SVN r1930 (trunk)
2009-10-24 04:39:36 +00:00
Christoph Oelckers
788f17323c - fixed: Setting the first state's duration of a fast projectile to 0 caused
an underflow and blocked all further state changes.


SVN r1929 (trunk)
2009-10-19 17:17:06 +00:00
Christoph Oelckers
8390184839 - fixed: FMultiPatchTexture::MakeTexture was missing a range check for the
special colormap index.


SVN r1928 (trunk)
2009-10-18 14:08:32 +00:00
Christoph Oelckers
dcd4c7fe7a - Fixed: 3DMidtex checks were treating the Null texture as a valid texture.
SVN r1927 (trunk)
2009-10-17 15:12:18 +00:00
Christoph Oelckers
0c39b5c66a - Fixed: The rail sound used the shooter's position for calculating the sound origin
but should use the camera position instead to get the correct position for
  the closest point along the trail.
- Fixed: Explosions no longer caused splashes.
- Fixed: Copying translations to lower decals had the shade color check wrong.
- Fixed: Waggling floors did not move attached geometry.
- Cleaned up p_floor.cpp so that related parts of the code are grouped together.

SVN r1926 (trunk)
2009-10-17 11:30:44 +00:00
Christoph Oelckers
bbcd6ed5f9 - fixed: The desaturation translation addition broke parsing of palette index based translations.
SVN r1925 (trunk)
2009-10-17 07:05:34 +00:00
Christoph Oelckers
8b27bd1434 - added 'defaultterrain' option to terrain parser for mods that want to have
a different default terrain than a generic solid surface.
- added format char processing to A_Print(Bold) and all printable messages
  that can be defined in DECORATE.
- Fixed: The railgun code ignored MF3_ALWAYSPUFF.
- added desaturated translations.
- added optional state parameters to A_ReFire and A_GunFlash and A_CountdownArg.


SVN r1921 (trunk)
2009-10-16 16:04:19 +00:00
Christoph Oelckers
ce2e85c7b2 - added ACS CheckActprClass function
- fixed: When a blasted actor collided with another one this other actor's
  DONTBLAST flag was not checked.
- added a global DamageFactor actor property. All damage this actor takes is multiplied
  by this factor in addition to damage type specific damage factors.


SVN r1915 (trunk)
2009-10-15 20:09:22 +00:00
Christoph Oelckers
efd3e7f94e - added better earthquake functions for ACS and DECORATE.
SVN r1912 (trunk)
2009-10-15 08:25:07 +00:00
Christoph Oelckers
9dfef79702 - fixed: puff checks for MF6_NOTRIGGER need to resolve actor replacements.
SVN r1909 (trunk)
2009-10-11 17:44:50 +00:00
Christoph Oelckers
4529108b8f - Added MF6_NOTRIGGER flag that disables all line actions for an actor.
SVN r1907 (trunk)
2009-10-10 12:42:57 +00:00
Christoph Oelckers
4a81f55fb0 - Added Gez's seeker missile submission.
SVN r1905 (trunk)
2009-10-09 20:54:28 +00:00
Christoph Oelckers
819158a8fe - Added Gez's thing activation submission.
SVN r1904 (trunk)
2009-10-09 20:35:07 +00:00
Christoph Oelckers
19ef8399a8 - added a NULL pointer check to fog spawning in unmorphing code.
- fixed: frozen corpses need to be treated as solid by z-movement code.
- fixed previous commit.


SVN r1903 (trunk)
2009-10-09 20:18:31 +00:00
Christoph Oelckers
18c1b2685f - fixed: AAmbientSound::Serialize was adjusting its timer value for savegames
even when it was set to a 'don't check' value.


SVN r1902 (trunk)
2009-10-09 06:38:56 +00:00
Randy Heit
09866b2cff - Reinstated the off-by-one check in D3DFB from r399. I thought I could get by
at just fixing it at a specific value, since the supply of SM14 cards isn't
  all that diverse and all from ATI, but apparently Radeon 8500s and 9000s
  have different precision levels in their pixel shaders. See bug report
  <http://forum.zdoom.org/viewtopic.php?p=444523>
- Removed unused variables FBFormat and PalFormat.

SVN r1901 (trunk)
2009-10-08 23:44:50 +00:00
Christoph Oelckers
0c2288a010 - Added a PainThreshold actor property.
SVN r1900 (trunk)
2009-10-08 17:43:50 +00:00
Christoph Oelckers
3900381565 - fixed: Teleport_EndGame did not set the end sequence name properly.
SVN r1899 (trunk)
2009-10-08 07:30:20 +00:00
Randy Heit
da31d9f8a3 - Since I am currently without a primary video card and stuck with this
Mobility Radeon 9000 (on a PCI card, no less!), I have decided to give the
  PS14 support some loving: D3D windowed gamma now works on these cards using
  a texture lookup for the gamma table. Sadly, this halves my framerate, so
  setting gamma to 1 will skip the gamma correction, as it was before, for
  full speed. (On my 8800 GT, the gamma correction was free.)


SVN r1898 (trunk)
2009-10-08 04:03:32 +00:00
Christoph Oelckers
a6c387ecef - Deleted a_magewand.cpp because it only contained unused code.
SVN r1897 (trunk)
2009-10-04 22:48:01 +00:00
Christoph Oelckers
0006013531 - Fixed: The conversation code tried to get the player's tag instead of the
NPC's he is talking to when it had no given name.


SVN r1896 (trunk)
2009-10-04 11:46:51 +00:00
Christoph Oelckers
5c105c0cad - forgot something.
SVN r1895 (trunk)
2009-10-03 17:52:49 +00:00
Christoph Oelckers
3d8d176087 - Added Gez's MageWandMissile customization patch but moved the new functionality
into the FastProjectile base class and removed the native MageWandMissile
  class, using the generic functionality instead.
- Fixed: GetReplacement and GetReplacee always checked the skill definitions,
  even if they weren't supposed to be used. It was also missing a range check
  for 'gameskill'.


SVN r1894 (trunk)
2009-10-03 17:07:11 +00:00
Christoph Oelckers
4add2809a3 - fixed: Savegames stored the global fixed light levels when saving a player.
SVN r1893 (trunk)
2009-10-02 09:21:37 +00:00
Christoph Oelckers
59d932b972 - Fixed some GCC warnings.
- fixed: The BossCube could be blocked by floors and ceiling resulting
  in incorrect movement. I changed it so that A_BrainSpit now sets the
  MF5_NOINTERACTION flag for anything it spawns that has the MF_NOCLIP
  flag. For travelling cubes active collision detection makes no sense
  and only causes problems. This should also make the boss brain
  work in the other games which previously were excluded by a game mode
  check in the movement code.
- fixed: ACS's GetUserVariable did not work for the script activator.
- fixed: Moving floors could be blocked by 2 actors without MF2_PASSMOBJ
  overlapping each other (common mapping bug, check Herian 2 MAP30.)

SVN r1891 (trunk)
2009-10-01 14:54:29 +00:00
Christoph Oelckers
7e4504f9d6 - Fixed: Coordinate handling for multipatch texture compositing was not correct
for true color. Instead of using a clipping rectangle on the destination it
  tried to alter the source offsets which produced incorrect results for
  mirrored or rotated patches.


SVN r1889 (trunk)
2009-09-30 10:41:24 +00:00
Randy Heit
ed8f1ec8db - Fixed: Alt+F4 no longer quit the program.
SVN r1888 (trunk)
2009-09-30 04:44:14 +00:00
Christoph Oelckers
9aab795c18 - Added BHS's death special flags submission.
SVN r1887 (trunk)
2009-09-28 15:59:20 +00:00
Christoph Oelckers
6d357b84b4 - Added Gez's A_Blast submission.
SVN r1886 (trunk)
2009-09-28 15:55:57 +00:00
Christoph Oelckers
f2c77c5f08 - Fixed: Floor and ceiling huggers' velocity was wrong when used with
P_SpawnPlayerMissile.
- Fixed: When hitting a voodoo doll the real player needs to be checked for 
  invulnerability.


SVN r1885 (trunk)
2009-09-27 20:54:46 +00:00
Christoph Oelckers
c628ac48cd - Fixed: G_QueueBody was not notifying the translation that it was changed.
SVN r1884 (trunk)
2009-09-27 07:17:51 +00:00
Randy Heit
1eb4241663 - Fixed: R_DrawPSprite() did not initialize the colormap for the targeter
vissprites.


SVN r1883 (trunk)
2009-09-27 02:31:03 +00:00
Randy Heit
c801bb7f49 - Added a check for SPAC_AnyCross to P_TestActivateLine() before the "monster"
activation checks. They are actually non-player checks and interfered with
  SPAC_AnyCross.


SVN r1882 (trunk)
2009-09-27 02:13:28 +00:00
Randy Heit
e846e5e50f - idclev and hxvisit are no longer considered cheats, however, they are still
invalid for net games. hxvisit was erroneously accepted for net games
  before, which it shouldn't have, since it's basically idclev for Hexen.


SVN r1881 (trunk)
2009-09-27 02:01:24 +00:00
Christoph Oelckers
23c0f24160 - Fixed: The multitexture composition code was missing a NULL pointer check.
SVN r1880 (trunk)
2009-09-26 22:28:55 +00:00
Christoph Oelckers
3ff95001f5 - fixed: The changes for new colormap handling in FMultipatchtexture were incomplete.
Some code was still checking Blend.r instead of the full variable for colormap indices.



SVN r1879 (trunk)
2009-09-26 22:15:56 +00:00
Randy Heit
d816747c7e - Fixed: "give health" without an amount would set your health to IDDQD health
instead of the player class's maximum.
- Fixed: A_CStaffCheck() assumed the player's max health was 100 instead
  of getting checking for the true maximum.


SVN r1876 (trunk)
2009-09-25 03:07:20 +00:00
Randy Heit
2ad438d696 - Changed P_XYMovement() to not call P_SlideMove() if the act of being
blocked changed the actor's velocity. I'm not entirely happy with this,
  but it gets push-activated force fields to work.


SVN r1875 (trunk)
2009-09-25 02:54:13 +00:00
Randy Heit
6a5ab0edc0 - Fixed: FMultiPatchTexture::CopyTrueColorPixels() should clear the buffer
first before drawing into it if the copy op passed to it is OP_OVERWRITE.
  FTexture::FillBuffer() sets this to erase whatever texture might have been
  in the space it is going into.


SVN r1874 (trunk)
2009-09-25 02:27:48 +00:00
Randy Heit
11fbc57178 - Added a technique to try and minimize input lag with vsync enabled: Two
surfaces are alternately locked for read-only access each frame, forcing
  the driver to stop buffering more than one frame at a time. The input lag
  on my system doesn't seem to be as bad as it once was (I can no longer
  see it obviously with my naked eye), but turning antilag on "feels"
  slightly more responsive. The cvar d3d_antilag turns this technique on and
  off. See <http://www.xyzw.de/c120.html> for more details.


SVN r1870 (trunk)
2009-09-22 20:17:54 +00:00
Randy Heit
1263d015cb - Don't initialize GrayscaleToColor 256 times for each special colormap.
SVN r1869 (trunk)
2009-09-22 18:59:36 +00:00
Christoph Oelckers
a3c80447d4 - fixed Powerup.Colormap 6 parameter version.
SVN r1868 (trunk)
2009-09-22 10:05:27 +00:00
Christoph Oelckers
9cc67f565c - Added a check to Dehacked code which tries to set the blend color.
It must set it to 0 if the alpha is 0 to avoid problems with special
  colormap detection.
- Changed SPECIALCOLORMAP_MASK again so that it does not interfere with
  any valid setting. It must use a value with a 0-alpha because these
  are guaranteed not to be produced by the DECORATE code elsewhere.
- Fixed precision issues with AddFixedColormap's search for identical colormaps.
- Added custom colormap support to texture composition code.
- Fixed initialization of FSpecialColormap::GrayscaleToColor. This is not
  a mapping from the palette but from a [0,255] grayscale ramp and used to
  apply colormaps to true color images for texture composition.

SVN r1867 (trunk)
2009-09-22 08:06:52 +00:00
Randy Heit
d502655866 - For hardware 2D, apply fixed colormaps when copying to video memory instead
of doing it directly during the rendering, in order to improve visual
  fidelity for colormaps that aren't grayscale.


SVN r1866 (trunk)
2009-09-22 04:21:27 +00:00
Randy Heit
84a018f05a - Added support for defining the full color range of a special colormap.
SVN r1865 (trunk)
2009-09-22 02:54:19 +00:00
Randy Heit
79298285f7 - Making any blends with full red a special colormap seems like it would be far too
easy to accidentally trigger.

SVN r1864 (trunk)
2009-09-22 01:31:36 +00:00
Randy Heit
e9d61a3f46 - Fixed: In letterbox modes, the clipping window needs to be adjusted down.
SVN r1863 (trunk)
2009-09-22 01:28:13 +00:00
Randy Heit
8377927412 - Apply BHS's ThingActivation patch.
SVN r1862 (trunk)
2009-09-22 01:16:54 +00:00
Christoph Oelckers
c285f38a02 - Fixed: When drawing with a special colormap the quad's flags weren't cleared
which could cause crashes.
- Added custom special colormaps to DECORATE.
- Cleaned up special colormap code and removed lots of dependencies on the
  knowledge of the tables' contents.



SVN r1860 (trunk)
2009-09-21 13:15:36 +00:00
Christoph Oelckers
d51c0c047d - Changed call to R_DrawRemainingPlayerSprites into a virtual function
of DFrameBuffer because its implementation is specific to the software
  renderer and needs to be overridable.

SVN r1859 (trunk)
2009-09-20 06:23:10 +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
857002e12f - Added Gez's real morph fix.
SVN r1857 (trunk)
2009-09-18 05:46:15 +00:00
Christoph Oelckers
5613c3e14f - Fixed: Unmorphing while invulnerable was blocked.
SVN r1855 (trunk)
2009-09-17 20:58:43 +00:00
Christoph Oelckers
2fbcc13652 - Gez's latest cleanup patch.
SVN r1854 (trunk)
2009-09-17 20:54:07 +00:00
Christoph Oelckers
f3f209160e - Renamed plane flags from SECF_* to PLANEF_*.
- Changed Heretic's plat raise type to use a flag to block further sector movement
  instead of keeping the dead thinker around.


SVN r1853 (trunk)
2009-09-17 10:40:38 +00:00
Christoph Oelckers
555f41b0ba damn
SVN r1851 (trunk)
2009-09-16 23:21:16 +00:00
Christoph Oelckers
f39c5c3b5a - Last commit did not work.
SVN r1850 (trunk)
2009-09-16 22:47:04 +00:00
Christoph Oelckers
35a4526c1d - Fixed: A_LookEx did not work for monsters having the MF_NOSECTOR flag.
SVN r1849 (trunk)
2009-09-16 22:45:28 +00:00
Christoph Oelckers
5822729943 - Fixed: The deprecated flag handler for the old bounce flags needs to clear
BOUNCE_MBF and BOUNCE_UseSeeSound, too, when clearing one of these flags.
- Fixed: When adding the AVOIDMELEE code the code was accidentally changed so that
  friendly monsters could no longer acquire targets by themselves.
- Renamed WIF_BOT_MELEE to WIF_MELEEWEAPON because it's no longer a bot only flag.
- Added MBF's monster_backing feature as an actor flag: AVOIDMELEE.


SVN r1848 (trunk)
2009-09-16 21:03:09 +00:00
Christoph Oelckers
a6d9a37ef7 - Gez's misc. bugs patch:
* Moves the dog sound out of the Doom-specific sounds in SNDINFO to address this,
* Renames the dog actor to MBFHelperDog to prevent name conflicts,
* Adds APROP_Score to CheckActorProperty,
* Completes the randomspawner update (the reason I moved the recursion counter out of 
  special1 was that I found some projectiles had this set to them, for example in 
  A_LichAttack, but I forgot to add transfer for them),
* Provides centered sprites for beta plasma balls if this is deemed deserving correction.


SVN r1847 (trunk)
2009-09-16 15:57:08 +00:00
Christoph Oelckers
dc292caaa3 - Added some pieces of MBF's friendly AI.
- Cleaned up A_LookEx code and merged most of it with the base functions.
  The major difference was a common piece of code that was repeated 5 times
  throughout the code so I moved it into a subfunction.
- Changed P_BlockmapSearch to pass a user parameter to its callback so that
  A_LookEx does not need to store its info inside the actor itself.


SVN r1846 (trunk)
2009-09-16 15:54:04 +00:00
Christoph Oelckers
c7a6b796f9 - fixed: The linetarget CCMD duplicated all of the info CCMD.
- fixed: PrintActorInfo crashed due to some incomplete implementation.


SVN r1845 (trunk)
2009-09-16 05:44:24 +00:00
Randy Heit
7b23effc02 - Now that I think about it, why is MBFParamStates an array of pointers, anyway?
SVN r1840 (trunk)
2009-09-15 23:31:28 +00:00
Randy Heit
f1dc490151 - Fixed: The MBFParamStates array leaked memory.
SVN r1839 (trunk)
2009-09-15 22:44:07 +00:00
Christoph Oelckers
45842e28bd - added PinkSilver's A_Respawn enhancement patch.
SVN r1837 (trunk)
2009-09-15 21:57:51 +00:00
Christoph Oelckers
e5357d1b65 - added Gez's latest bugfix patch.
SVN r1836 (trunk)
2009-09-15 17:19:30 +00:00
Christoph Oelckers
5910d90a19 - added RandomSpawner update from Gez's experimental build.
- added thing activation types for BUMPSPECIAL and USESPECIAL. Also added
  a new ClearSpecial flag to the activation type.
- added MBF's code for dogs jumping down, controlled by the MF6_JUMPDOWN
  flag.


SVN r1835 (trunk)
2009-09-15 14:16:55 +00:00
Christoph Oelckers
f2a122e076 GCC compile fix.
SVN r1834 (trunk)
2009-09-15 11:53:12 +00:00
Christoph Oelckers
4d18698f43 - fixed: pr_bounce was declared statically in o_mobj.cpp and redeclared externally
in p_map.cpp resulting in a CRC conflict.


SVN r1832 (trunk)
2009-09-15 06:35:46 +00:00
Christoph Oelckers
3a6d66e230 - fixed: The Dehacked flags parser fix from May 31 (r1624) was undone by
yesterday's additions. Changed it so that the parser first checks for 
  the presence of a '-' sign before deciding whether to use strtol or
  strtoul to convert the string into a number.


SVN r1831 (trunk)
2009-09-15 05:59:55 +00:00
Christoph Oelckers
923bf08cdc - Added PinkSilver's A_LookEx fix.
SVN r1828 (trunk)
2009-09-14 23:54:55 +00:00
Christoph Oelckers
4a057c1fdc - Added Gez's cleanup patch for MBF support but undid the deletion of the MF6_JUMPDOWN flag which will be implemented later.
SVN r1827 (trunk)
2009-09-14 23:50:21 +00:00
Christoph Oelckers
158fce1123 - Why wasn't this stuff committed before?
SVN r1826 (trunk)
2009-09-14 23:30:53 +00:00
Christoph Oelckers
4d55f01c3a - added resources needed for MBF support.
- removed unused score items from DECORATE file.
- added 2 MBF code pointers I forgot in the last commit.

SVN r1825 (trunk)
2009-09-14 23:28:24 +00:00
Christoph Oelckers
afab7855c4 - removed the COMPATF_MBFDEHACKED flag because it wouldn't work and is more or less useless anyway.
The range checks this protected against can be safely omitted now that the misc fields are large enough.
- added MBF Dehacked emulation.

SVN r1824 (trunk)
2009-09-14 22:12:31 +00:00
Christoph Oelckers
a59de25107 - Next round of things from Gez's experimental build:
* MBF's dog (definition only, no sprites yet.)
  * User variables. There's an array of 10. They can be set and checked in both DECORATE and ACS.
  * Made the tag name changeable but eliminated the redundancy of having both the meta property and the individual actor's one. Having one is fully sufficient. TO BE FIXED: Names are case insensitive but this should better be case sensitive. Unfortunately there's currently nothing better than FName to store a string inside an actor without severely complicating matters. Also bumped savegame version to avoid problems with this change.


SVN r1823 (trunk)
2009-09-14 21:41:44 +00:00
Christoph Oelckers
ea8c94d637 - Fixed: Argument count for UsePuzzleItem was wrong.
- Added more things from Gez's experimental build:
  * MBF grenade and bouncing code.
  * Arch Vile ghosts emulation (only for compatibility.txt.)
  * Several MBF related compatibility options.



SVN r1821 (trunk)
2009-09-14 20:47:53 +00:00
Christoph Oelckers
238d4c3fac - More things from Gez's experimental build:
* info CCMD to print extended actor information (not fully implemented yet)
  * summonmbf CCMD.
  * Beta BFG code pointer (but not the related missiles yet.)
  * PowerInvisibility enhancements.
  * ScoreItem with one significant change: Added a score variable that can be
    checked through ACS and DECORATE. The engine itself will do nothing with it.
  * Nailgun option for A_Explode.
  * A_PrintBold and A_Log.
  * A_SetSpecial.


SVN r1819 (trunk)
2009-09-14 19:44:14 +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
980b68af17 - Added warning messages when loading maps that have non-zero values in
unused line argument fields, because these maps could potentially break
  in the future if the argument is later assigned a meaning. (Hopefully
  all the argument counts in actionspecials.h are accurate. I found a
  few that were wrong.)


SVN r1817 (trunk)
2009-09-12 04:08:31 +00:00
Randy Heit
38780d2d2a - Fixed: If a damaged actor has negative mass, it needs to have its damage
thrust set to maximum instead of 0. See Action Doom's broken glass
  "CommanderKeens".


SVN r1816 (trunk)
2009-09-11 01:00:01 +00:00
Randy Heit
e6174f5259 - Changed the SCROLLTYPE define so that any extra bits set cause it to default
to 7. This effects action.wad, MAP02, lines 12054 and 12059, which had them
  at 128, so they no longer scrolled in r832+.


SVN r1815 (trunk)
2009-09-10 22:19:21 +00:00
Randy Heit
66920536d9 - Look for files in Mac-like places on Macs.
- Fixed: The non-Windows CreatePath can fail if part of the path already
  exists, because mkdir will return an error code for trying to recreate
  an existing directory.



SVN r1814 (trunk)
2009-09-09 17:12:47 +00:00
Randy Heit
12576d2eb5 - Because entryway timed it, here is a new version of R_PointToAngle2 that is
closer to the original. The old code was shorter but a little slower. The
  new code is a bit faster than the original with VC++ and about the same
  with GCC. Interestingly, GCC produces code for Killough's version that
  performs about the same as the original, but when compiled with VC++,
  Killough's is notably worse.


SVN r1813 (trunk)
2009-09-08 23:48:34 +00:00
Christoph Oelckers
93166b86b3 - moved ENDOOM lump name definition into gameinfo.
- moved default item drop style into gameinfo.
- moved default respawn time into gameinfo.
- moved default inventory max amount into gameinfo.
- turned Heretic's blocking of the sector for LS_Plat_RaiseAndStayTx0 into
  a parameter instead of having the game mode decide. 



SVN r1812 (trunk)
2009-09-08 21:01:24 +00:00
Randy Heit
173646971d - Add 'add' parameter to SetActorVelocity.
SVN r1810 (trunk)
2009-09-08 03:19:57 +00:00
Randy Heit
17a43e7753 - Applied vertical SBARINFO inventory bar patch.
SVN r1809 (trunk)
2009-09-08 03:10:50 +00:00
Randy Heit
e1683dfed3 - Fixed: Linux version no longer linked with GTK+.
SVN r1807 (trunk)
2009-09-07 22:45:07 +00:00
Christoph Oelckers
57a2e0ab73 - moved definition of games' default armor icons into gameinfo definition.
SVN r1806 (trunk)
2009-09-07 19:46:54 +00:00
Christoph Oelckers
8e4ba47c98 - fixed: The PNG loader for true color textures overwrote the IDAT size with
the IDAT id when reading the image.


SVN r1805 (trunk)
2009-09-07 05:48:34 +00:00
Christoph Oelckers
b07445d149 - fixed: Trying to pick up an object of the Ammo base class caused a crash.
SVN r1804 (trunk)
2009-09-06 21:32:57 +00:00
Christoph Oelckers
74e3502185 - oops
SVN r1803 (trunk)
2009-09-06 21:24:04 +00:00
Christoph Oelckers
5bd22ca864 - backported some changes from GZDoom:
- fixed: Floor and ceiling hugger projectiles should not be spawned with ONFLOORZ or ONCEILINGZ 
because that will make them ignore the actual floor height if it differs from the sector's floor.
- fixed: Floor and ceiling huggers spawned by a player did not get their vertical velocity set to 0.
- some sidenum related changes in inactive 3D floor code.


SVN r1802 (trunk)
2009-09-06 21:22:07 +00:00
Christoph Oelckers
14a42bbada - changed line_t's sidenum into sidedef pointers.
SVN r1801 (trunk)
2009-09-06 20:45:56 +00:00
Christoph Oelckers
e6aadca409 - changed side_t's linenum into a linedef pointer.
SVN r1800 (trunk)
2009-09-06 18:19:28 +00:00
Christoph Oelckers
93f6f1d701 - Added PinkSilver's SetActorVelocity code submission (with optimizations.)
SVN r1799 (trunk)
2009-09-06 08:27:18 +00:00
Randy Heit
e8d1416d81 - Added the frandom decorate function, which is exactly like random except
that it works with floating point instead of integers.


SVN r1797 (trunk)
2009-09-06 02:16:55 +00:00
Randy Heit
c1a578ba08 - Split the bounce types completely into separate flags and consolidated
the various bounce-related flags spread across the different Actor flags
  field into a single BounceFlags field.
- Fixed: P_BounceWall() should calculate the XY velocity using a real
  square root and not P_AproxDistance(), because the latter can cause
  them to speed up or slow down.


SVN r1796 (trunk)
2009-09-06 01:49:17 +00:00
Randy Heit
f27b7209e8 - Fixed: R_CreatePlayerTranslation() only initialized the first truecolor
palette entry.


SVN r1795 (trunk)
2009-09-05 03:55:29 +00:00
Randy Heit
7da43069d7 - Fixed: The aliasing of CPUInfo was still wrong. (Yarr! The things I do
for you, GCC!) The AMD feature flags weren't stored anywhere, either; not
  that it really matters.


SVN r1794 (trunk)
2009-09-05 03:28:58 +00:00
Randy Heit
b528b987da - Add an alternate PIC-compliant __cpuid macro in x86.cpp.
SVN r1793 (trunk)
2009-09-04 23:14:29 +00:00
Randy Heit
6214177f1f - Fixed: S_LoadSound() did not byte-swap the frequency and length it reads
from DMX sounds.



SVN r1792 (trunk)
2009-09-04 22:59:41 +00:00
Christoph Oelckers
44974ff28f - made menu dimming a mapping option but kept the CVARS as user override.
SVN r1790 (trunk)
2009-09-04 22:25:46 +00:00
Christoph Oelckers
f55d1718f2 - fixed: Weapons must first check if they can be switched and afterwards
if they can be fired. These checks were reversed.


SVN r1789 (trunk)
2009-09-03 19:51:55 +00:00
Randy Heit
41be75a49e - Fixed: Missing a slash in the path to zdoom.ini on a Mac.
SVN r1788 (trunk)
2009-09-03 04:40:13 +00:00
Randy Heit
48d78730f3 - Mac version now links. Updaterevision refuses to give me a version number.
Zipdir is not doing byte swapping like it should. zdoom.ini is stored
  in ~/Preferences, but all other file accesses are probably going to be
  like Windows and look in the same directory as the executable.



SVN r1786 (trunk)
2009-09-03 03:51:41 +00:00
Christoph Oelckers
1d582a7550 - fixed: The newly altered WAD code could not load embedded WADs anymore.
SVN r1785 (trunk)
2009-09-02 20:29:52 +00:00
Randy Heit
c24c31cc9f - Added directory detection to the -file parameter. This obsoletes -dir, so
that parameter is now gone.
- Removed automatic ".wad" appending from FWadCollection::InitMultipleFiles()
  since it isn't needed and prevented files without extensions from being
  loaded. D_AddFile() already takes care of adding the extension if the
  name as-given does not exist.
- Fixed: Loading single files did not print a newline in the startup text.


SVN r1784 (trunk)
2009-09-02 03:47:48 +00:00
Randy Heit
6c6ce41b7e - Fixed: A_JumpIf(InTarget)Inventory jumped if the check amount was greater
than the item's max amount and the item was maxed.


SVN r1783 (trunk)
2009-09-02 02:35:20 +00:00
Randy Heit
78902b2009 - Fixed: Some dmadds wads used zero-length sprites as placeholders. When you
ran dmadds to combine it with the IWAD's sprites, they would be replaced by
  the IWAD's sprites, so when loading such wads, we should ignore those as
  valid sprites. (Thanks to entryway for finding this.) See 22ventry's
  22sprite.wad for an example.


SVN r1782 (trunk)
2009-09-02 02:17:11 +00:00
Randy Heit
9aa35cc1b7 - Fix what broke on Windows when making it compile on a Mac.
SVN r1781 (trunk)
2009-09-01 02:14:14 +00:00
Randy Heit
33a397c04b - Basic Mac support: Everything compiles but does not yet link.
SVN r1780 (trunk)
2009-09-01 02:08:53 +00:00
Randy Heit
3f003e06db - Replaced the use of autoconf's WORDS_BIGENDIAN with __BIG_ENDIAN__, since
latter comes predefined by GCC.


SVN r1779 (trunk)
2009-08-31 21:47:29 +00:00
Christoph Oelckers
75920f2ed0 - fixed: R_InitColormaps was broken since the resource file code rewrite.
SVN r1778 (trunk)
2009-08-30 20:47:43 +00:00
Christoph Oelckers
ba28749df7 - fixed: WIF_STAFF2_KICKBACK did not work anymore because it depended on conditions
that were changed some time ago.
- fixed: The damage inflictor for a rail attack was the shooter, not the puff.
- Fixed: Floor and ceiling huggers may not change their z-velocity when seeking.
- Fixed: UDMF set the secret sector flag before parsing the sector's properties,
  resulting in it always being false.
- Renamed sector's oldspecial variable to secretsector to better reflect its
  only use.
- Fixed: A_BrainSpit stored as the SpawnShot's target the intended BossTarget, 
  not itself contrarily to other projectile spawning functions. 
  A_SpawnFly then used the target for CopyFriendliness, thinking it'll be the 
  BossEye when in fact it wasn't.
- Added Gez's submission for a DEHACKED hack introduced by Boom.
  (using code pointers of the form 'Pointer 0 (x statenumber)'.
- fixed: Attaching 3DMidtex lines by sector tag did not work because lines
  were marked by index in the sector's line list but needed to be marked by
  line index in the global array.
- fixed: On Linux ZDoom was creating a directory called "~.zdoom" for 
  save files because of a missing slash.
- fixed: UDMF was unable to read floating point values in exponential format
  because the C Mode scanner was missing a definition for them.
- fixed: The recent changes for removing pointer aliasing got the end sequence
  info from an incorrect variable. To make this more robust the sequence index
  is now stored as a hexadecimal string to avoid storing binary data in a string.
  Also moved end sequence lookup from f_finale.cpp to the calling code so that
  the proper end sequences can be retrieved for secret exits, too.

SVN r1777 (trunk)
2009-08-30 10:43:51 +00:00
Christoph Oelckers
6e3fdbdfc8 - fixed: Switching a weapon did not reset the refire counter.
SVN r1776 (trunk)
2009-08-29 15:50:03 +00:00
Randy Heit
bdc0950e01 - Fixed: The first lighting plane added to a light stack had the bOverlaps
flag set, causing it to be ignored during rendering. Why this didn't cause
  more trouble, I don't know.
- Fixed: The UDMF parser passed the wrong value for "default alpha" for
  TranslucentLine to P_FinishLoadingLineDef().


SVN r1775 (trunk)
2009-08-29 03:33:36 +00:00
Randy Heit
90b4be5d28 - Add a couple of assertions.
SVN r1774 (trunk)
2009-08-29 02:22:06 +00:00
Randy Heit
7a89872b63 - Fixed: genStringEnter mode acted on key up events rather than key repeat
events.


SVN r1773 (trunk)
2009-08-29 02:19:46 +00:00
Christoph Oelckers
fe96cab254 - Fixed: paletted texture composition with part translucent patches
did not work.


SVN r1771 (trunk)
2009-08-12 22:10:53 +00:00
Christoph Oelckers
385350efae - Fixed: A_SorcOffense2 depended on args being bytes and overflowing.
- Fixed: Even though P_DamageMobj checked an attack's originator
  for MF2_NODMGTHRUST the same check was missing from P_RadiusAttack.
- Fixed: A_MinotaurRoam should not assume without check that it was
  called by a MinotaurFriend.
- Fixed: The Minotaur declared A_MntrFloorFire which it did not use.
- Fixed: All Spawnspot functions did not check for a spot tid of 0 as
  the script's activator.
- Fixed: Friendly monsters ignored team association of their owning
  players.


SVN r1770 (trunk)
2009-08-12 18:57:31 +00:00
Christoph Oelckers
a5ec361715 - Fixed: The pause sprite was not centered correctly when it was a scaled
graphic.


SVN r1769 (trunk)
2009-08-11 20:40:09 +00:00
Randy Heit
2a9351fa61 - Fixed: P_TestMobjZ() needs THRUSPECIES and THRUACTORS checks, too.
SVN r1768 (trunk)
2009-08-11 01:03:58 +00:00
Randy Heit
da33f333a1 - Fixed: The UDMF loader did not initialize the sectors' sectornum property.
SVN r1767 (trunk)
2009-08-11 00:22:43 +00:00
Christoph Oelckers
74bdfe19c5 - Fixed: The true color texture compositing code did not clip the edges
of multipatch textures used as patches on other multipatch textures.


SVN r1766 (trunk)
2009-08-10 18:30:25 +00:00
Christoph Oelckers
914ccd4ea2 - Fixed: A_EntityAttack did not spawn the correct missiles.
SVN r1765 (trunk)
2009-08-09 19:12:16 +00:00
Randy Heit
ae21fa4562 - Changed the return value of SetActivatorToTarget to match the description
in the wiki.


SVN r1764 (trunk)
2009-08-08 22:52:58 +00:00
Christoph Oelckers
e49da9bba9 - forgot something,,,
SVN r1763 (trunk)
2009-08-08 21:30:23 +00:00
Christoph Oelckers
cd95473d57 - replaced all code that changed a sector's light level with a setter function.
SVN r1762 (trunk)
2009-08-08 20:03:43 +00:00
Christoph Oelckers
a47ec74eba - Fixed: The FeatureFlags array in the CPUInfo struct was not mapped to the flags properly.
SVN r1761 (trunk)
2009-08-08 13:32:58 +00:00
Randy Heit
d4c8c47796 - If SetActivatorToTarget is used for a player-run script, and the player is
alive, it now sets the activator to the actor the player is aiming at. I
  also noticed that this looked like it was a quick copy'n'paste job from
  SetActivator. It returns false if the activator at the end of the function
  was the world, but it never sets the activator to the world. I'm not sure
  that's the best use of the return value.


SVN r1760 (trunk)
2009-08-08 01:34:20 +00:00
Randy Heit
8e1ce082f4 - Added support for per-SpawnShot spawn lists. (Also fixed a potential
infinite loop, though I'm not sure the parser allowed this condition to
  happen.)


SVN r1759 (trunk)
2009-08-08 01:18:15 +00:00
Randy Heit
4d4e8e89b3 - Changed the DWORDs in dobject.h into uint32s, since they were preventing
edit-and-continue from working for the Windows source files.
- When a WM_KEYDOWN message is received with VK_PROCESSKEY, the scan key is
  now used to retrieve the real virtual key for the message. This fixes the
  previous issue that caused me to completely disable the IME.
- Removed the code that disables the IME, since it also disables the ability
  to switch between keyboard layouts that do not use an IME.
- TranslateMessage() is no longer called if GUI capture mode is off, so no
  dead key processing is performed until it might be useful.


SVN r1758 (trunk)
2009-08-08 00:36:35 +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
16846fe36d - Added TELEFRAG_DAMAGE constant, and changed the two places that still used
1000 as the threshold for god mode damage to use it instead. (Players with
  MF2_INVULNERABLE set already used 1000000 as their threshold.)


SVN r1755 (trunk)
2009-08-07 03:57:03 +00:00
Randy Heit
a1554799d9 - Added MF6_NOTELEPORT flag.
SVN r1754 (trunk)
2009-08-07 03:41:23 +00:00
Randy Heit
732a44b338 - Fixed: M_QuitResponse() tried to play a sound even when none was specified
in the gameinfo.
- Added Yes/No selections for Y/N messages so that you can answer them
  entirely with a joystick.
- Fixed: Starting the menu at the title screen with a key other than Escape
  left the top level menu out of the menu stack.
- Changed the save menu so that cancelling input of a new save name only
  deactivates that control and does not completely close the menus.
- Fixed "any key" messages to override input to menus hidden beneath them and
  to work with joysticks.
- Removed the input parameter from M_StartMessage and the corresponding
  messageNeedsInput global, because it was redundant. Any messages that want
  a Y/N response also supply a callback, and messages that don't care which
  key you press don't supply a callback.
- Changed MKEY_Back so that it cancels out of text entry fields before
  backing to the previous menu, which it already did for the keyboard.
- Changed the menu responder so that key downs always produce results,
  regardless of whether or not an equivalent key is already down.


SVN r1753 (trunk)
2009-08-07 03:30:51 +00:00
Randy Heit
3e388acc15 - Added the MF6_STEPMISSILE flag so that the Whirlwind can "walk" up steps.
- Changed the dword definition of PalEntry to uint32 so that it has one
  consistent definition across all source files.


SVN r1752 (trunk)
2009-08-05 01:13:41 +00:00
Randy Heit
9764532d8b - Swapped the order of floor and ceiling moves in DElevator::Tick() so that
if an elevator contains an actor exactly the same height as it, it will not
  be blocked.


SVN r1751 (trunk)
2009-08-05 00:36:01 +00:00
Randy Heit
be9830f219 - Fixed: FWeaponSlot::PickWeapon() wrapped around improperly when the starting
value for i was 0.


SVN r1750 (trunk)
2009-08-04 23:19:09 +00:00
Christoph Oelckers
00f88610ac - Added kgsws's SummonActor enhancement and bumped netgame and demo versions
because this submission changes an existing command.



SVN r1749 (trunk)
2009-08-03 20:40:45 +00:00
Christoph Oelckers
54c4e26f7d - Changed: DEHACKED parsing is disabled now when a user supplied DEHSUPP lump
is found. This mimics the old behavior which also disabled DEHACKED when
  the DEHSUPP lump was incompatible with the current engine. This behavior is
  needed to ensure that WADs that contain a ZDaemon-exclusive DEHSUPP lump
  continue to work as intended.

SVN r1748 (trunk)
2009-08-02 18:23:05 +00:00
Christoph Oelckers
356e4a0fcc - Added A_Mushroom compatibility option for Dehacked.
- Added Gez's submission for interhubamount DECORATE property.


SVN r1747 (trunk)
2009-08-02 15:54:34 +00:00
Christoph Oelckers
641f946e32 - Fixed: The big endian version of PalEntry did not add the DWORD d field.
- Fixed: TObjPtr did not use a union to map its 2 pointers together.
- Added a compatibility mode for A_Mushroom. For DECORATE it is an additional
  parameter but to force it for Dehacked mods some minor hacks using the
  Misc1 variable were needed.


SVN r1746 (trunk)
2009-08-02 10:48:58 +00:00
Randy Heit
8330a69212 - Moved the terget->velz assignment to the end of A_VileAttack to remove the
influence of vertical thrust from the radius attack, since ZDoom does
  explosions in three dimensions, but Doom only did it in two.
- Fixed: The last three parameters to A_VileAttack had their references off
  by one. Most notably as a result, the blast radius was used as the thrust,
  so it sent you flying far faster than it should have.


SVN r1745 (trunk)
2009-08-02 04:11:48 +00:00
Randy Heit
1e554a1fcc - Restored the reactiontime countdown for A_SpawnFly, since some Dehacked
mod could conceivable rely on it. The deadline is now kept in special2
  and used in preference as long as it is non-zero.


SVN r1744 (trunk)
2009-08-02 03:56:03 +00:00
Randy Heit
93202a5488 - Removed -fno-strict-aliasing from the GCC flags for ZDoom and fixed the
issues that caused its inclusion. Is an optimized GCC build any faster
  for being able to use strict aliasing rules? I dunno. It's still slower
  than a VC++ build.
  
  I did run into two cases where TAutoSegIterator caused intractable problems
  with breaking strict aliasing rules, so I removed the templating from it,
  and the caller is now responsible for casting the probe value from void *.
- Removed #include "autosegs.h" from several files that did not need it
  (in particular, dobject.h when not compiling with VC++).


SVN r1743 (trunk)
2009-08-02 03:38:57 +00:00
Randy Heit
99d99ce5e5 - Changed A_SpawnFly to do nothing if reactiontime is 0. Reactiontime was
originally a counter, so if it started at 0, A_SpawnFly would effectively 
  never spawn anything. Fixes Dehacked patches that use A_SpawnSound to
  play a sound, since it calls A_SpawnFly.


SVN r1741 (trunk)
2009-08-01 01:56:16 +00:00
Randy Heit
a90bde274e The menu code sucks!
- Joystick devices now send key up events for any buttons that are held
  down when they are destroyed.
- Changed the joystick enable-y menu items to be nonrepeatable so that you
  can't create several device scans per second. Changing them with a
  controller is also disabled so that you can't, for example, toggle XInput
  support using an XInput controller and have things go haywire when the
  game receives an infinite number of key down events when the controller
  is reinitialized with the other input system.
- Changed menu input to use a consolidated set of buttons, so most menus
  can be navigated with a controller as well as a keyboard.
- Changed the way that X/Y analog axes are converted to digital axes.
  Previously, this was done by checking if each axis was outside its deadzone.
  Now they are checked together based on their angle, so straight up/down/
  left/right are much easier to achieve.


SVN r1739 (trunk)
2009-07-26 03:25:18 +00:00
Christoph Oelckers
1c8d442c32 - fixed some GCC warnings.
SVN r1738 (trunk)
2009-07-25 15:00:45 +00:00
Christoph Oelckers
d26aeb8939 - Fixed: The composer for complex multipatch textures did not clear the palette
buffer before filling it.


SVN r1737 (trunk)
2009-07-25 09:11:15 +00:00
Randy Heit
f1e6ec1fd9 - Update src/CMakelists.txt to check for FMOD Ex 4.26 and look for its include files
in a few more locations.

SVN r1736 (trunk)
2009-07-25 00:59:26 +00:00
Christoph Oelckers
25c0f679cb - Fixed: using custom automap backgrounds crashed.
SVN r1735 (trunk)
2009-07-24 20:25:19 +00:00
Randy Heit
4134bc3c64 - Added extra states to dehsupp for the MBF additions.
SVN r1734 (trunk)
2009-07-23 06:25:47 +00:00
Randy Heit
bc3448e958 - Removed specific Button_Speed handling from the controllers' AddAxes()
methods. Analog axes now respond Button_Speed and cl_run in exactly the
  same way as digital buttons do.
- Changed rounding slightly for analog axis -> integer in G_BuildTiccmd().
- Fixed: FXInputController::ProcessThumbstick() was slightly off when it
  converted to the range [-1.0,+1.0].


SVN r1733 (trunk)
2009-07-23 05:37:03 +00:00
Randy Heit
6906e1b0e3 - Added default bindings for the Xbox 360 controller buttons.
(Still to do: Make the menus work with a controller.)

SVN r1732 (trunk)
2009-07-23 05:06:38 +00:00
Randy Heit
8a2e03c9cb - Fixed: Redefining an existing skill would set that skills ACSReturn to be
the same as the next new skill defined, if neither definition explicitly set
  the value for ACSReturn.
- Added a DefaultSkill property. Adding it to a skill will cause that skill
  to be the default one selected in the menu. If none is specified as the
  default, then the middle skill is the default.


SVN r1731 (trunk)
2009-07-23 04:33:07 +00:00
Randy Heit
371f944262 - Slider controls in the options menu now display their values
numerically next to the slider.
- The minimum value for m_yaw, m_pitch, m_forward, and m_side from the
  menu has been dropped from 0.5 to 0, so those particular mouse motions can
  be disabled entirely without using the console.


SVN r1729 (trunk)
2009-07-23 03:03:15 +00:00
Christoph Oelckers
55c32e0f44 - added missing MAPINFO option for compat_anybossdeath.
SVN r1728 (trunk)
2009-07-22 07:28:00 +00:00
Christoph Oelckers
2c54498d5c - fixed blue colormap
- Added parameters to A_VileAttack.
- Removed redundant definition of use_joystick from SDL/i_input.cpp.


SVN r1727 (trunk)
2009-07-17 08:08:02 +00:00
Randy Heit
72a41f0b66 - Turned net decompression into a non fatal error. It now drops the packet
and waits for the sender to send a new, hopefully good, packet.


SVN r1726 (trunk)
2009-07-17 02:13:27 +00:00
Randy Heit
f39cde0486 - Reduced potential for overflow in R_ProjectSprite().
SVN r1725 (trunk)
2009-07-17 01:49:28 +00:00
Randy Heit
198ffea7ee - Moved the IF_ADDITIVETIME check earlier in APowerup::HandlePickup so
that additive time powerups can be activated before the existing
  power has entered its blink threshold.


SVN r1724 (trunk)
2009-07-17 01:32:58 +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
aaf19b9127 - Added a NULL screen check when detaching HUD messages.
SVN r1722 (trunk)
2009-07-16 23:07:20 +00:00
Randy Heit
9a16e4b6ea - Added HotWax's A_SetArg.
SVN r1721 (trunk)
2009-07-16 22:50:58 +00:00
Randy Heit
b1b258ec55 - Gez's patch for more A_WeaponReady flags:
* WRF_NOBOB (1): Weapon won't bob
  * WRF_NOFIRE (12): Weapon won't fire at all
  * WRF_NOSWITCH (2): Weapon can't be switched off
  * WRF_NOPRIMARY (4): Weapon will not fire its main attack
  * WRF_NOSECONDARY (8): Weapon will not fire its alt attack


SVN r1720 (trunk)
2009-07-16 22:40:04 +00:00
Randy Heit
800b50ff6f - Attempt to add support for Microsoft's SideWinder Strategic Commander.
SVN r1719 (trunk)
2009-07-16 02:45:51 +00:00
Randy Heit
00a6293952 - Fixed: Trying to run with the same FMOD version you compiled with no longer produced
sound. (But compiling with 4.26.xx and using an older DLL was fine.)

SVN r1718 (trunk)
2009-07-15 22:27:38 +00:00
Randy Heit
f74f6a1659 - Split the joystick menu into two parts: A top level with general options
and a list of all attached controllers, and a second level for configuring
  an individual controller.
- Fixed: Pressing Up at the top of a menu with more lines than fit on screen
  would find an incorrect bottom position if the menu had a custom top height.
- Added the cvars joy_dinput, joy_ps2raw, and joy_xinput to enable/disable
  specific game controller input systems independant of each other.
- Device change broadcasts are now sent to the Doom event queue, so
  device scanning can be handled in one common place.
- Added a fast version of IsXInputDevice that uses the Raw Input device
  list, because querying WMI for this information is painfully slow.
- Added support for compiling with FMOD Ex 4.26+ and running the game
  with an older DLL. This combination will now produce sound.


SVN r1717 (trunk)
2009-07-15 05:53:06 +00:00
Christoph Oelckers
8e5b7373b8 - added submission for raising master/children/siblings.
- added submission for no decals on wall option.
- removed some useless code from SpawnMissile function.


SVN r1716 (trunk)
2009-07-13 22:07:18 +00:00
Christoph Oelckers
19f8b03738 - Backported 2 fixes from Skulltag:
* A_SentinelAttack must check for a NULL target
  * Monsters with CANTLEAVEFLOORPIC could not move because their floor
    texture was not initialized.


SVN r1715 (trunk)
2009-07-12 12:19:11 +00:00
Christoph Oelckers
e7e79e27ff - Fixed: The 'idclev' cheat set the player's health to 0 which caused the
level to end when in a sector of type 'end level when health below 10'.
- Fixed: The 'kill' cheat set the player to nonshootable even if it did not
  succeed.

SVN r1714 (trunk)
2009-07-12 07:33:24 +00:00
Randy Heit
417779440d - Added joystick config loading and saving support; moved generic joystick
interfaces to m_joy.h.
- Added Raw Input PS2 adapter support.


SVN r1713 (trunk)
2009-07-11 01:40:01 +00:00
Randy Heit
ae2c4a6dbc - Relaxed the FMOD version check. Anything from 4.20.00 through 4.26.xx should work
for both building and running now.

SVN r1712 (trunk)
2009-07-06 23:42:00 +00:00
Christoph Oelckers
23e4c47b5b - Added Gez's A_WeaponReady enhancement submission.
SVN r1711 (trunk)
2009-07-06 15:48:31 +00:00
Randy Heit
17418316ea - Added support for FMOD Ex 4.25.01+, which added a geometry parameter to getCPUUsage().
SVN r1710 (trunk)
2009-07-06 03:51:43 +00:00
Christoph Oelckers
33249ff833 - Added Gez's CheckActorProperty submission.
SVN r1709 (trunk)
2009-07-05 05:56:20 +00:00
Christoph Oelckers
635d71e660 - Added code submissions for non-piercing railguns and new skill options.
SVN r1706 (trunk)
2009-07-04 18:17:44 +00:00
Randy Heit
3786ced96e - ZDoom now disables the input method editor, since it has no east-Asian
support, and having it open a composition window when you're only expecting
  a single keypress is not so good.


SVN r1705 (trunk)
2009-07-04 01:47:28 +00:00
Randy Heit
201c5c5125 - Fixed: Setting intermissioncounter to false in gameinfo drew all the stats
at once, instead of revealing them one line at a time.


SVN r1704 (trunk)
2009-07-04 01:26:57 +00:00
Randy Heit
29b1864da0 - Fixed: The border definition in MAPINFO's gameinfo block used extra braces.
SVN r1703 (trunk)
2009-07-04 01:15:38 +00:00
Randy Heit
4a4dadfec6 - Oops. Removed this accidentally before previous commit.
SVN r1701 (trunk)
2009-07-01 02:01:14 +00:00
Randy Heit
fe19767ac2 - Added A_SetCrosshair.
SVN r1700 (trunk)
2009-07-01 02:00:36 +00:00
Randy Heit
9bf7c02194 - The FlagLists structure cannot be anonymous if I want to use countof with it with GCC.
- Added a stopping check to A_ChangeVelocity.

SVN r1699 (trunk)
2009-07-01 01:10:29 +00:00
Randy Heit
8554ccf2a3 - Added A_WeaponBob.
SVN r1698 (trunk)
2009-07-01 00:58:26 +00:00
Randy Heit
7d4c21b167 - Fixed: SDL/i_system.cpp should use a return type for strrchr that has the same
constness as its first parameter. (As some GCCs will actually check this, I guess.)

SVN r1696 (trunk)
2009-06-30 23:26:03 +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
37b6e547cd - A_ZoomFactor now scales turning with the FOV by default. ZOOM_NOSCALETURNING
will leave it unaltered.


SVN r1694 (trunk)
2009-06-30 22:37:40 +00:00
Randy Heit
bbebed61f5 - Added Gez's PowerInvisibility changes.
SVN r1693 (trunk)
2009-06-30 22:10:51 +00:00
Randy Heit
12b2905993 - Fixed: clearflags did not clear flags6.
SVN r1692 (trunk)
2009-06-30 21:35:14 +00:00
Randy Heit
bd4496a582 - Added A_SetAngle, A_SetPitch, A_ScaleVelocity, and A_ChangeVelocity.
SVN r1691 (trunk)
2009-06-30 21:24:29 +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
Randy Heit
ed0d804792 - Added A_ZoomFactor. This lets weapons scale their player's FOV. Each weapon
maintains its own FOV scale independent from any other weapons the player
  may have.
- Fixed: When parsing DECORATE functions that were not exported, the parser
  crashed after giving you the warning.


SVN r1688 (trunk)
2009-06-30 19:20:39 +00:00
Randy Heit
f32b95d3cc - Add missing i_xinput.cpp
SVN r1687 (trunk)
2009-06-28 23:44:37 +00:00
Randy Heit
49b95be4b2 - Fixed some improper preprocessor lines in autostart/autozend.cpp.
- Added XInput support. For the benefit of people compiling with MinGW,
  the CMakeLists.txt checks for xinput.h and disables it if it cannot
  be found. (And much to my surprise, I accidentally discovered that if you
  have the DirectX SDK installed, those headers actually do work with GCC,
  though they add a few extra warnings.)


SVN r1686 (trunk)
2009-06-28 03:09:17 +00:00
Christoph Oelckers
43a71eba31 - Added Gez's submissions for A_M_Saw customization, area damage and
pitch for A_FireCustomMissile.


SVN r1685 (trunk)
2009-06-27 19:37:53 +00:00
Randy Heit
a687a61c76 - Attaching and detaching joysticks once again updates the joystick menu.
SVN r1684 (trunk)
2009-06-27 01:36:10 +00:00
Randy Heit
5dc5a56a17 - Added joystick axis -> button mapping.
SVN r1683 (trunk)
2009-06-27 00:35:41 +00:00
Christoph Oelckers
7ccca5733f - Update for skill replacement.
SVN r1682 (trunk)
2009-06-26 21:06:49 +00:00
Christoph Oelckers
5a80938b11 - Added Gez's actor replacement per skill submission.
SVN r1681 (trunk)
2009-06-26 17:17:52 +00:00
Randy Heit
590eb5cb76 - Joystick axes can be configured in the menu again. TODO: Config saving
and loading, XInput, allow axes to be used as buttons (for the Xbox
  controller's trigger buttons), allow the joystick to move through the
  menus, and my PS2 adapter which has no Vista x64 drivers.
  * I'm sure SDL is broken again. Don't bother reporting it, because I already know.

SVN r1680 (trunk)
2009-06-26 02:45:05 +00:00
Christoph Oelckers
6d1cee3398 - fixed DUMB-compile problem with gcc.
SVN r1679 (trunk)
2009-06-24 22:16:51 +00:00
Randy Heit
b0dd2409ff - Changed the definition of SBarInfoCoordinate to use bitfields to pack its
members into 32 bits so that it can be stored in a plain old int without
  any transformations. The transformation coord -> int -> coord was
  destructive if the coordinate value was negative, causing the final
  coordinate to be centered even if the original was not.


SVN r1678 (trunk)
2009-06-23 03:23:18 +00:00
Randy Heit
7161de7241 - SBARINFO patch: Enable forcescaled with fullscreenoffsets.
SVN r1677 (trunk)
2009-06-23 02:48:20 +00:00
Randy Heit
861a955cef - Fixed: Since UDMF allows for fractional vertex coordinates, it is no longer
safe for P_AlignPlane() to truncate coordinates when searching for the
  furthest vertex from the line.


SVN r1676 (trunk)
2009-06-23 02:33:18 +00:00
Randy Heit
0506606efc - Added I_GetAxes() stub for the SDL side.
- Added oleaut32.lib as an explicit library in the VC Proj, since the 2005 Express Edition
  doesn't include it implicitly the way the other versions do.

SVN r1673 (trunk)
2009-06-21 02:08:50 +00:00
Randy Heit
a5b118cf7c - The reorganized DirectInput game controller code finally compiles. (Ugh! It
took far too long to reach this point.) Manual axis configuration is
  currently disabled, since I need to rewrite that, too. The eventual point of
  this is that the code will be modular enough that I can just plop in
  routines for XInput controllers and driver-less PlayStation 2 adapters
  without much fuss, since the old joystick code was very much DirectInput-
  centric.


SVN r1672 (trunk)
2009-06-20 03:16:08 +00:00
Christoph Oelckers
e11cac7e89 - Changed AWeaponGiver to keep the weapon actor around instead of respawning a new
one for each call.
- Fixed: AWeaponGiver::TryPickup checked the wrong item for ammo to give.
- fixed: FRandom::Random2(int mask) must return the difference between 2 byte values
  for compatibility.
- fixed: The sound name world/volcano/shoot was accidentally destroyed in the source.


SVN r1671 (trunk)
2009-06-19 21:00:18 +00:00
Christoph Oelckers
db0a924fc9 - Reintroduced damage thrust clamping but with a higher threshold. The clamping
is now also done in floating point before any fixed point overflows can occur.


SVN r1670 (trunk)
2009-06-16 22:04:26 +00:00
Christoph Oelckers
d8bb215e70 Oops...
SVN r1669 (trunk)
2009-06-14 14:56:34 +00:00
Christoph Oelckers
3ab370b6ee - added a compatibility option to restore the original Heretic bug where
a Minotaur couldn't spawn floor flames when standing in water having its
  feet clipped.
- added vid_vsync to display options.
- fixed: Animations of type 'Range' must be disabled if the textures don't
  come from the same definition unit (i.e both containing file and use type
  are identical.)
- changed: Item pushing is now only done once per P_XYMovement call.
- Increased the push factor of Heretic's pod to 0.5 so that its behavior
  more closely matches the original which depended on several bugs in the engine.
- Removed damage thrust clamping in P_DamageMobj and changed the thrust calculation
  to use floats to prevent overflows. The prevention of the overflows was the
  only reason the clamping was done.
- Added Raven's dagger-like vector sprite for the player to the automap code.


SVN r1668 (trunk)
2009-06-14 13:47:38 +00:00
Randy Heit
e69f90076d - Changed wad namespacing so that wads with a missing end marker will be
loaded as if they had one more lump with that end marker. This matches the
  behaviour of previously released ZDooms. (The warning is still present, so
  there's no excuse to release more wads like this.)


SVN r1667 (trunk)
2009-06-11 22:58:06 +00:00
Randy Heit
8d83d3791d - Added tagRAWINPUT declaration to i_input.h for support of older Windows SDKs.
SVN r1666 (trunk)
2009-06-11 22:17:50 +00:00
Randy Heit
397c1eda26 - Fixed: Adding GME support accidentally removed DUMB support.
SVN r1665 (trunk)
2009-06-11 03:48:53 +00:00
Randy Heit
deff9cfb12 - Moved Raw Input processing into a seperate method of FInputDevice so that
all the devices can share the same setup code.


SVN r1664 (trunk)
2009-06-11 03:41:24 +00:00
Christoph Oelckers
870508c64a - added bugfix patch by Gez.
SVN r1663 (trunk)
2009-06-10 20:14:47 +00:00
Randy Heit
b458234c34 - Removed F16 mapping for SDL, because I guess it's not present in SDL 1.2.
SVN r1662 (trunk)
2009-06-09 21:48:22 +00:00
Christoph Oelckers
523cf6acb2 - Added Gez's Skulltag feature patch, including:
* BUMPSPECIAL flag: actors with this flag will run their special if collided on by a player
    * WEAPON.NOAUTOAIM flag, though it is restricted to attacks that spawn a missile (it will not affect autoaim settings for a hitscan or railgun, and that's deliberate)
    * A_FireSTGrenade codepointer, extended to be parameterizable
    * The grenade (as the default actor for A_FireSTGrenade)
    * Protective armors à la RedArmor: they work with a DamageFactor; for example to recreate the RedArmor from Skulltag, copy its code from skulltag.pk3 but remove the "native" keyword and add DamageFactor "Fire" 0.1 to its properties.


SVN r1661 (trunk)
2009-06-09 17:13:03 +00:00
Christoph Oelckers
4fcd64d2c1 - Fixed: I_ShutdownInput must NULL all pointers because it can be called twice
if an ENDOOM screen is displayed.



SVN r1660 (trunk)
2009-06-09 07:57:21 +00:00
Christoph Oelckers
f4c9cf9c4e - Fixed: R_DrawSkyStriped used frontyScale without initializing it first.
- Fixed: P_LineAttack may not check the puff actor for MF6_FORCEPAIN because
  it's not necessarily spawned yet. 
- Fixed: FWeaponSlots::PickNext/PrevWeapon must be limited to one iteration
  through the weapon slots. Otherwise they will hang if there's no weapons
  in a player's inventory.


SVN r1659 (trunk)
2009-06-09 07:45:04 +00:00
Christoph Oelckers
da2df2778e Added Line_SetTextureScale.
SVN r1658 (trunk)
2009-06-08 23:49:27 +00:00
Christoph Oelckers
a425214432 - fixed: sv_smartaim 3 treated the player like a shootable decoration.
- Added A_CheckIfInTargetLOS
- Removed redundant A_CheckIfTargetInSight.


SVN r1656 (trunk)
2009-06-08 23:39:08 +00:00
Randy Heit
64b7468bf4 - Fixed: The initial play of a GME song always started track 0.
SVN r1655 (trunk)
2009-06-08 23:37:39 +00:00
Randy Heit
39455bd80f - Added F16 to the SDL keymap and moved Pause back to its original location (from years ago.)
SVN r1654 (trunk)
2009-06-08 22:59:55 +00:00
Randy Heit
9493b5acdd SVN r1653 (trunk) 2009-06-08 22:55:03 +00:00
Christoph Oelckers
4b9d0c6dff - added parameter to A_FadeOut so that removing the actor can be made an option.
SVN r1652 (trunk)
2009-06-07 22:13:16 +00:00
Christoph Oelckers
6ba839a0e9 - added PERSISTENTPOWER and TRANSFERPOINTERS submissions by Gez.
SVN r1651 (trunk)
2009-06-07 20:10:05 +00:00
Christoph Oelckers
16bf1ef6d0 - fixed FORCEPAIN logic.
SVN r1650 (trunk)
2009-06-07 17:04:40 +00:00
Christoph Oelckers
28378a50aa - added missing declaration for APowerInfiniteAmmo.
SVN r1649 (trunk)
2009-06-07 16:48:42 +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
93742aca31 - Added Karate Chris's poison cloud fix.
SVN r1647 (trunk)
2009-06-07 09:41:22 +00:00
Randy Heit
c66f237873 - Added per-tier texture scaling with these new UDMF sidedef properties:
* scalex_top
  * scaley_top
  * scalex_mid
  * scaley_mid
  * scalex_bottom
  * scalex_bottom
- Added sidedef versions of the linedef flags wrapmidtex and clipmidtex (via
  UDMF; names are the same). If the flag is set on the line, it applies to
  both sides. Otherwise, each side can control them individually.


SVN r1645 (trunk)
2009-06-07 01:14:14 +00:00
Christoph Oelckers
3366a8994d - fixed display mode menu.
SVN r1644 (trunk)
2009-06-06 21:03:49 +00:00
Christoph Oelckers
a1aba60d8d - Added Hirogen2's unlimited pickup patch.
- Added railgun performance customization CVARs by Spleen.
- Added aspect ratio override submission by SoulPriestess.



SVN r1643 (trunk)
2009-06-06 15:21:57 +00:00
Christoph Oelckers
476e0bce2a - Added a 'resetinventory' MAPINFO option.
- Added MF6_NOFEAR flag.
- Added A_MonsterRefire(probability, jumptarget).
- Added A_JumpIfTargetInSight(state) action function.
- Changed: Puffs set their angle to face the originator of the attack.
- Strife's burning hands originally make the level view fullbright.
  changed in ZDoom to do partial brightening.

SVN r1642 (trunk)
2009-06-06 12:46:35 +00:00
Randy Heit
bdd3188897 - Added support for horizontal mouse wheels, and set invprev/invnext as
default bindings for it. (Only works with Raw Input on XP. Vista has
  support through Win32 mouse, as well. DirectInput does not support it at
  all, because the DirectInput mouse device does not expose this control.)


SVN r1640 (trunk)
2009-06-06 02:55:58 +00:00
Randy Heit
7df2d40e8f - Added a label for the F16 key and mapped the kp= key on a Mac keyboard to
the PC98 equivalent so it would be recognized as kp=. (Interestingly, F13-
  F16 and kp= only generate events when using Raw Input, not when using
  DirectInput.


SVN r1639 (trunk)
2009-06-06 02:06:38 +00:00
Christoph Oelckers
d30e304a7f - Added MF6_FORCEPAIN flag that forces the target to go into the pain state
regardless of pain chance.
- Changed screenblocks CVAR to be settable per game.
- Added SpawnSpotForced and SpawnSpotFacingForced ACS functions.
- Added pushfactor actor property.


SVN r1638 (trunk)
2009-06-05 21:44:34 +00:00
Christoph Oelckers
8c3a816428 - Added Gez's GetArmorType submission
SVN r1636 (trunk)
2009-06-05 20:23:47 +00:00
Christoph Oelckers
cc357e5178 - re-fix of Gez's MAX_MANA patch
SVN r1633 (trunk)
2009-06-04 22:05:12 +00:00
Randy Heit
5300572b88 - Moved USE_WINDOWS_DWORD definition out of music_gme.cpp and into i_musicinterns.h.
SVN r1632 (trunk)
2009-06-04 00:58:42 +00:00
Randy Heit
a8de4fc2da - Fixed compilation of i_keyboard.cpp with MinGW, because w32api still doesn't have
everything that was new for XP.
- Swapped snes_spc out for the full Game Music Emu library.

SVN r1631 (trunk)
2009-06-03 03:05:02 +00:00
Christoph Oelckers
2ab76070c0 - Fixed: The Hexen status bar still uses MAX_MANA for some calculations instead
of MaxAmount.



SVN r1630 (trunk)
2009-06-02 17:42:52 +00:00
Christoph Oelckers
5061e2e8fd - Added Blzut3's submission for displaying underwater stats in SBARINFO.
SVN r1629 (trunk)
2009-06-01 07:10:22 +00:00
Christoph Oelckers
14cdab7e39 - Applied patch for fixing directory reading on Linux.
SVN r1628 (trunk)
2009-06-01 06:43:32 +00:00
Christoph Oelckers
91e0f4d11d - Added Gez's AMMO_CHECKBOTH submission.
SVN r1627 (trunk)
2009-05-31 22:14:23 +00:00
Christoph Oelckers
fb5e392f2f - Added Gez's THRUSPECIES submission.
SVN r1626 (trunk)
2009-05-31 20:14:16 +00:00
Christoph Oelckers
4be0324dbd - added missing NULL pointer check for directory loading.
SVN r1625 (trunk)
2009-05-31 18:14:40 +00:00
Christoph Oelckers
627838f379 - Added loading directories into the lump directory.
- fixed: The Dehacked parser could not parse flag values with the highest bit
  set because it used atoi to convert the string into a number.

SVN r1624 (trunk)
2009-05-31 10:49:47 +00:00
Christoph Oelckers
53899121bf - fixed: bouncing sounds were limited to inventory items.
SVN r1623 (trunk)
2009-05-30 23:08:29 +00:00
Christoph Oelckers
c0e398e7ac - fixed compile error in d_iwad.cpp
SVN r1622 (trunk)
2009-05-30 17:14:17 +00:00
Christoph Oelckers
2effc9b803 - Rewrote IWAD detection code to use the ResourceFile classes instead of
reading the WAD directory directly. As a side effect it should now be
  possible to use Zip and 7z for IWADs, too.


SVN r1621 (trunk)
2009-05-30 09:53:38 +00:00
Christoph Oelckers
9c4cbedc26 - Added 'EndTitle' nextmap option which goes to the regular title loop after
the game has finished.
- Added NOBOSSRIP flag. Note: we are now at flags6!
- Added SetSkyScrollSpeed(int skyplane, fixed speed) ACS function.
- Added THRUACTORS flag that disables all actor<->actor collision detection.
- Added DONTSEEKINVISIBLE flag for missiles that can't home in on invisible
  targets.
- Added SFX_TRANSFERPITCH flag to A_SpawnItemEx.
- Added Ultimate Freedoom IWAD detection.
- Added GetAirSupply and SetAirSupply functions to ACS.
- Fixed: The *surface sound was not played when drowning was switched off
  by setting the level's air supply to 0.

SVN r1619 (trunk)
2009-05-30 08:56:40 +00:00
Randy Heit
092512c44a - Fixed: The mouse wheel generated no events in GUI mode if you weren't
fullscreen. (e.g. You could no longer scroll the console with the mouse
  buffer.)
- Fixed: Wheeling down was seen as wheeling up with the Win32 mouse.


SVN r1618 (trunk)
2009-05-27 22:57:21 +00:00
Randy Heit
12959a1bd1 - EV_GUI_Key(Down|Up|Repeat) events no longer provide shifted key codes
in data2. This was just unnecessary overhead that wasn't really needed
  anywhere.
- Moved GUI-mode input into a separate function to make the code easier to
  read.


SVN r1617 (trunk)
2009-05-27 22:17:11 +00:00
Randy Heit
a925f7eab6 - Removed HaveFocus variable in preference of using GetForegroundWindow().
SVN r1616 (trunk)
2009-05-27 21:11:06 +00:00
Randy Heit
3f3d677526 - Removed spurious WM_INPUT from the main WndProc.
SVN r1615 (trunk)
2009-05-27 21:05:19 +00:00
Randy Heit
a11073341c - Added Raw Input keyboard handling.
SVN r1614 (trunk)
2009-05-27 20:44:54 +00:00
Randy Heit
7fea07dff7 - Split DirectInput keyboard handling into a separate file and class. I also
switched it to buffered input, and the pause key seems to be properly
  cooked, so I don't need to look for it with WM_KEYDOWN/UP. Tab doesn't
  need to be special-cased either, because buffered input never passes on
  the Tab key when you press Alt+Tab. I have no idea why I special-cased
  Num Lock, but it seems to be working fine. By setting the exclusive mode
  to background, I can also avoid special code for releasing all keys when
  the window loses focus, because I'll still receive those events while the
  window is in the background.


SVN r1613 (trunk)
2009-05-27 03:16:46 +00:00
Randy Heit
0a310b9832 - Fixed compilation on MinGW.
SVN r1612 (trunk)
2009-05-26 22:33:02 +00:00
Randy Heit
4e5d5d0f2e - Fixed: The Heretic "take weapons" cheat did not remove all the weapons at
once. This is because destroying one weapon has a potential to destroy a
  sister weapon as well. If the sister weapon is the next one in line (as it
  typically is), it would process that one, not realizing it was no longer
  part of the inventory, and stop because its Inventory link was NULL.


SVN r1610 (trunk)
2009-05-26 17:35:30 +00:00
Randy Heit
e637fe3ea7 - Recoverable errors that are caught during the demo loop no longer shut off
the menu.


SVN r1609 (trunk)
2009-05-26 01:56:35 +00:00
Randy Heit
956b7d5ea3 - Added Skulltag's PowerDoubleFiringSpeed.
SVN r1608 (trunk)
2009-05-26 01:16:39 +00:00
Randy Heit
2f7498214b - Specifying non-existent directories with -savedir or the save_dir cvar now
attempts to create them.


SVN r1607 (trunk)
2009-05-26 01:05:01 +00:00
Randy Heit
e95be7eff7 - SBARINFO fix:
- Fullscreen Doom HUD clamped the display of digits.

SVN r1606 (trunk)
2009-05-26 00:46:55 +00:00
Randy Heit
5245e8d4dd - I_CheckNativeMouse() now checks the foreground window to determine if the
mouse should be grabbed. This fixes the case where you start the game in
  the background and it grabs the mouse anyway.
- Changed raw mouse grabbing to call ShowCursor() directly instead of through
  SetCursorState(), since changing the pointer isn't working with it
  (probably due to the lack of legacy mouse messages), and the others work
  fine by setting an invisible cursor.
- Fixed: Raw mouse input passes wheel movements in an unsigned field, but the
  value is signed, so it requires a cast to use it.
- Reverted accidental changes to src/sdl/i_input.cpp.

SVN r1605 (trunk)
2009-05-26 00:30:51 +00:00
Christoph Oelckers
e43453b614 - added Hirogen2's patch for using the default BZip2 library under Linux.
SVN r1604 (trunk)
2009-05-25 20:58:59 +00:00
Christoph Oelckers
dbddb6403f - added #define _WIN32_WINNT 0x0501 to i_mouse.cpp so that the file compiles with the Windows 2003 Server SDK.
SVN r1603 (trunk)
2009-05-24 08:57:58 +00:00
Christoph Oelckers
8034b0558e - Fixed: Textures with dimensions <= 0 are invalid and should be treated as NULL
textures. They also must be set to dimensions other than (0,0) to avoid division
  by zero errors.
- Fixed: Random spawners did not handle the MF_DROPPED flag.


SVN r1602 (trunk)
2009-05-24 07:58:57 +00:00
Randy Heit
0c4c90ac89 - SetCursorState() now calls ShowCursor() again, because capturing the mouse
with RIDEV_NOLEGACY apparently prevents SetCursor() from doing anything.
- Split mouse code off from i_input.cpp into i_mouse.cpp and added raw mouse
  handling. (WM_INPUT obsoleted most of DirectInput for XP.)
- Fixed: Similar to the Win32 mouse, using the DirectInput mouse in windowed
  mode, if you alt-tabbed away and then clicked on the window's title bar,
  mouse input would be frozen until the mouse was ungrabbed again.


SVN r1601 (trunk)
2009-05-24 03:15:04 +00:00
Christoph Oelckers
273758344f - Fixed: When setting up a deep water sector with Transfer_Heights the floorclip
information of all actors in the sector needs to be updated.


SVN r1600 (trunk)
2009-05-23 10:21:33 +00:00
Christoph Oelckers
e61b4b3c76 - Fixed: A_CountdownArg and A_Die must ensure a certain kill.
- Changed bounce flags into a property and added real bouncing sound properties.
  Compatibility modes to preserve use of the SeeSound are present and the old
  flags map to these.


SVN r1599 (trunk)
2009-05-23 08:30:36 +00:00
Randy Heit
466b6e4535 - Moved SetSoundPaused() out of i_input.cpp and into s_sound.cpp.
SVN r1598 (trunk)
2009-05-23 03:09:50 +00:00
Randy Heit
86023c23ca - Fixed: When using Win32 mouse, windowed mode, alt-tabbing away and then
clicking on the window's title bar moved it practically off the screen.
- Beginnings of i_input.cpp rewrite: Win32 and DirectInput mouse handling has
  been moved into classes.


SVN r1597 (trunk)
2009-05-23 02:22:30 +00:00
Christoph Oelckers
7e69852da9 - Fixed: The SBARINFO parser compared an FString in the GAMEINFO with a NULL
pointer and tried to load a lump with an empty name as statusbar script
  for non-Doom games.


SVN r1596 (trunk)
2009-05-20 09:06:49 +00:00
Randy Heit
749de6c156 - Fixed: SetSoundPaused() still needs to call S_PauseSound() to pause music
that isn't piped through the digital sound system. (Was removed in r1004.)


SVN r1595 (trunk)
2009-05-20 02:52:07 +00:00
Randy Heit
b7dab65754 SBARINFO patch:
- Fixed: SBarInfo's string drawing sometimes used the wrong variable.

SVN r1594 (trunk)
2009-05-20 01:42:47 +00:00
Randy Heit
2e87ebff22 - Added input buffering to the Implode and Shrink routines for a marked
speedup.
- Replaced the Shanno-Fano/Huffman reading routines from FZipExploder with
  ones of my own devising, based solely on the specs in the APPNOTE.


SVN r1590 (trunk)
2009-05-17 03:05:26 +00:00
Christoph Oelckers
c0d2f78b2a - fixed: FZipLump passed the uncompressed lump size to ShrinkLoop as size of the input data but this must be the compressed size.
SVN r1589 (trunk)
2009-05-16 10:06:39 +00:00
Randy Heit
cef12aac6d - Found a copy of PKZIP 1.1 and verified that Implode support works with
files that use a literal table and 8k dictionary, and that the just-added
  Shrink support works at all.
- Replaced the bit-at-a-time Shannon-Fano decoder from GunZip.c64 with the
  word-at-a-time one from 7-Zip for a slight speedup when working with
  Imploded files.


SVN r1588 (trunk)
2009-05-16 03:10:37 +00:00
Christoph Oelckers
b55ca6ffaa - Fixed: Monsters should not check the inventory for damage absorbtion when
they have the MF5_NODAMAGE flag set.
- Added patch for saving automap zoom.


SVN r1587 (trunk)
2009-05-15 22:06:44 +00:00
Christoph Oelckers
eb52c9a90e - Added ACS GetChar function.
- Added Gez's submission for polyobjects being able to crush corpses but made
  it an explicit MAPINFO option only.


SVN r1585 (trunk)
2009-05-15 17:21:45 +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
b9fa7626bc - Fixed non-POD passing in G_BuildSaveName() and other things GCC warned
about.
- Added support for imploded zips.



SVN r1581 (trunk)
2009-05-15 03:11:44 +00:00
Christoph Oelckers
912abc144e - Fixed: Some missile spawning functions ignored the FastSpeed setting.
- Fixed: P_CheckSwitchRange tried to access a line's backsector without
  checking if it is valid.
- Fixed: Fast projectile could not be frozen by the Time freezer.
- Added several new ACS functions: GetActorMomX/Y/Z, GetActorViewHeight,
  SetActivator, SetActivatorToTarget.


SVN r1578 (trunk)
2009-05-11 22:16:41 +00:00
Christoph Oelckers
571d28281b - Added handling for UDMF user keys.
- Added support for ACS functions that can be defined without recompiling ACC.
- Fixed: The short lump name for embedded files must be cleared so that they
  are not found by a normal lump search.
- Added AProp_Notarget actor property.
- Fixed: TraceBleed was missing a NULL pointer check,
- Fixed: P_RandomChaseDir could crash for friendly monsters that belong to
  a player which left the game.
- Changed A_PodGrow so that it plays the generator's attack sound instead of
  "misc/podgrow".


SVN r1575 (trunk)
2009-05-11 21:05:40 +00:00
Randy Heit
b224765351 - Added customizable mage lightning patch.
SVN r1574 (trunk)
2009-05-11 15:24:44 +00:00
Randy Heit
1c61ef89eb - Added Species property for actors and separated Hexen's Demon1 and Demon2
into different species.


SVN r1573 (trunk)
2009-05-11 15:15:06 +00:00
Randy Heit
41a416f068 This commit is 90% contributed content:
- Added transference of a select few flags from PowerProtection to its owner.
- Added actor type parameters to A_PodPain() and A_MakePod().
- The savegame path is now passed through NicePath(), since it's user-
  specifiable.
- Added save_dir cvar. When non-empty, it controls where savegames go.
- SBARINFO update:
  * Added the ability to center things with fullscreenoffsets enabled.  Due
    to some limitations the syntax is [-]<integer> [+ center].
  * Fixed: the translucent flag on drawinventorybar didn't work quite right.
  * Fixed: Extremely minor inaccuracy in the Doom SBarInfo code.  The
    fullscreen inventory bar wasn't scaled correctly.


SVN r1571 (trunk)
2009-05-09 02:31:49 +00:00
Christoph Oelckers
a9c396a8ce - fixed: The CHECKSWITCHRANGE line flag was ignored for one sided lines.
SVN r1570 (trunk)
2009-05-03 21:12:52 +00:00
Christoph Oelckers
0d1d15eba8 - Added more compatibility settings, submitted by Gez.
SVN r1569 (trunk)
2009-05-03 07:19:21 +00:00
Christoph Oelckers
512056aeed - added EmptyTexture.cpp to CMakeLists.txt.
SVN r1568 (trunk)
2009-05-02 21:53:27 +00:00
Christoph Oelckers
4d5692bf80 - Fixed: Doom's fullscreen HUD was limited to 6 keys.
- Made 'next endgame' work again for cases where it is supposed to be
  the same as 'next endgame4'.
- GCC nitpick fix: Classes being used as template parameters may not be
  defined locally in a function. Fixed FWadFile::SetNamespace for that.
- Improved error reporting for incorrect textures in maps.
- Fixed: When music was stopped this was not set in the global music state.
- Fixed: Friendly monsters did not target enemy players in deathmatch.

SVN r1567 (trunk)
2009-05-02 09:14:01 +00:00
Christoph Oelckers
b37d0ba2ea - Fixed: Completely empty patches (8 0-bytes) could not be handled by the
texture manager. They now get assigned a new FEmptyTexture object
  that is just a 1x1 pixel transparent texture.
- Fixed: Multiple namespace markers of the same type were no longer detected.
- Fixed sprite renaming.


SVN r1566 (trunk)
2009-04-30 11:10:38 +00:00
Randy Heit
28e9693b79 - Maps defined with Hexen-style MAPINFOs now run their scripts in the proper
order.


SVN r1565 (trunk)
2009-04-30 03:50:52 +00:00
Randy Heit
f7d7e9faf9 - Fixed: FWadCollection::CheckNumForName() read the lump each iteration before
checking for the end marker. On 32-bit systems, this is -1, but on 64-bit
  systems, it is a very large integer that is highly unlikely to be in mapped
  memory.


SVN r1564 (trunk)
2009-04-30 02:41:20 +00:00
Christoph Oelckers
edbeab54a0 - Fixed check for embedded WADs again.
SVN r1562 (trunk)
2009-04-28 21:26:27 +00:00
Christoph Oelckers
3bbef315f6 - Added ML_BLOCKUSE line flag, accessible through UDMF and Line_SetBlocking.
SVN r1561 (trunk)
2009-04-28 20:53:07 +00:00
Christoph Oelckers
511ddb028c - Fixed handling of embedded WADs.
SVN r1559 (trunk)
2009-04-26 18:12:40 +00:00
Christoph Oelckers
2e90519c13 -Fixes in new resource file code: Added file length checks and set lump count to 1 for single lump files.
SVN r1558 (trunk)
2009-04-24 22:31:35 +00:00
Christoph Oelckers
1ea8777572 - fixed typo in CMakeLists.txt.
SVN r1557 (trunk)
2009-04-24 06:22:30 +00:00
Christoph Oelckers
19c4e3caed - Added Gez's A_CheckCeiling submission.
- Fixed: AM_NewResolution crashed when called from outside a level.
- Added support for Quake PAK files.
- Improved warning messages for WAD files with incorrect marker usage.


SVN r1556 (trunk)
2009-04-23 23:20:21 +00:00
Christoph Oelckers
cc066bc409 - complete restructuring of resource file handling for more flexibility and future
extensions.
- Removed merging of special namespaces. For the texture manager this has
  become totally useless so there is no need to do this anymore. Not merging
  the namespaces also allows a much more reliable detection of lumps belonging
  to special namespaces so the ScanForFlatHack function is no longer needed.
  Instead, any lump up to F_END with a length of 4096 will be marked for 
  inclusion as a flat texture if no F_START marker is found.
- Made the counting of intermission stats in Doom a GAMEINFO option so that
  it can be activated in all games.


SVN r1555 (trunk)
2009-04-23 22:49:38 +00:00
Christoph Oelckers
a2a69765eb - fixed MustConfirm parsing in MAPINFO
SVN r1554 (trunk)
2009-04-21 17:34:48 +00:00
Randy Heit
1954f9ee84 - Gave the intermission screen sounds their own SNDINFO entries.
SVN r1551 (trunk)
2009-04-18 01:31:08 +00:00
Randy Heit
e865d95070 - Removed obsolete snd_surround cvar.
SVN r1550 (trunk)
2009-04-16 23:58:41 +00:00
Randy Heit
dcedad548b - Changing screen resolution now adjusts the automap scale to be constant
relative to screen resolution.


SVN r1549 (trunk)
2009-04-16 03:02:08 +00:00
Randy Heit
bdbb72e43d - Crap.
SVN r1548 (trunk)
2009-04-16 02:05:13 +00:00
Randy Heit
659be956de - Fixed: When FMultiPatchTexture::MakeTexture() needed to work in RGB
colorspace, it didn't zero out the temporary buffer.


SVN r1547 (trunk)
2009-04-16 02:02:56 +00:00
Randy Heit
c2ff8c78dd - Fixed memory leak from leftover code for 7z loading and added the
LUMPF_ZIPFILE flag to their contents so they have the same semantics
  as zips.


SVN r1546 (trunk)
2009-04-15 23:33:36 +00:00
Randy Heit
7e7429e3d2 - Added support for 7z archives.
SVN r1545 (trunk)
2009-04-15 03:58:10 +00:00
Christoph Oelckers
9040710e62 - Updated UDMF spec to 1.1.
- Added -noautoload option.
- Added default Raven automap colors set. Needs to be tested because I can't
  compare against the DOS version myself.
- Extened A_PlaySound and A_StopSound to be able to set all parameters of the
  internal sound code.



SVN r1544 (trunk)
2009-04-14 09:06:03 +00:00
Randy Heit
81c4773b46 - Changed gravity doubling so that it only happens when you run off a ledge.
SVN r1543 (trunk)
2009-04-14 01:20:44 +00:00
Randy Heit
6a9acc2cf8 - Fixed: World panning was ignored for the X offset of masked midtextures.
SVN r1541 (trunk)
2009-04-11 04:28:06 +00:00
Christoph Oelckers
d3b6dfb0f1 - Extended MF5_MOVEWITHSECTOR so that it always keeps the actor on the ground
of a moving floor, regardless of movement speed. For NOBLOCKMAP items this
  is necessary because otherwise they can be left in the air and it also adds 
  some options for other things.


SVN r1540 (trunk)
2009-04-10 06:50:39 +00:00
Randy Heit
3ecca432a9 - Changed A_FreezeDeathChunks() so that instead of directly destroying an
actor, it sets it to the "Null" state, which will make it invisible and
  destroy it one tic later.


SVN r1539 (trunk)
2009-04-10 04:04:17 +00:00
Randy Heit
bb9b5ebf92 - Added a NULL pointer check to A_Fire() and copied the target to a local
variable inside A_VileAttack() so that if P_DamageMobj() destroys the
  target, the function will still have a valid pointer to it (since reading
  it from the actor's instance data invokes the read barrier, which would
  return NULL).


SVN r1538 (trunk)
2009-04-10 03:54:28 +00:00
Randy Heit
ac2f5aa632 - Added MF5_MOVEWITHSECTOR flag, so you can have the benefits of MF_NOBLOCKMAP
but still have actors that will move up and down with the floor. IceChunk
  now uses both of these flags.


SVN r1536 (trunk)
2009-04-09 02:25:37 +00:00
Randy Heit
47a4cffb30 - And again...
SVN r1535 (trunk)
2009-04-09 02:02:55 +00:00
Randy Heit
6a75a5ac94 - Fix GCC warning.
SVN r1534 (trunk)
2009-04-09 02:00:58 +00:00
Randy Heit
c601426248 - More performance optimization for FBlockThingsIterator::Next(): Changed
the array used to keep track of visited actors into a hash table.

SVN r1533 (trunk)
2009-04-09 01:40:30 +00:00
Randy Heit
a54367a3c0 - Performance optimization for FBlockThingsIterator::Next(): Actors that
exist in only one block don't need to be added to the CheckArray or
  scanned for in it.


SVN r1532 (trunk)
2009-04-08 22:59:06 +00:00
Randy Heit
3dc01e77f7 - Added gprof support. Pass -DPROFILE=1 to cmake when using a Debug or RelWithDebInfo
CMAKE_BUILD_TYPE. (It seems to like to hang when generating arith.h for gdtoa when you
  do this, but killing the make process and restarting it seems to fix that.)

SVN r1531 (trunk)
2009-04-08 22:26:09 +00:00
Randy Heit
5db6a5516b - I guess music_mus_midiout.cpp isn't Win32-only, is it?
SVN r1530 (trunk)
2009-04-08 04:58:36 +00:00
Randy Heit
993fcd233a - Fixed: MinGW needs malloc.h for alloca().
SVN r1529 (trunk)
2009-04-08 04:57:17 +00:00
Randy Heit
0060dab892 - Last was incomplete commit.
SVN r1528 (trunk)
2009-04-08 04:47:44 +00:00
Randy Heit
d3e1199c8f - Fixed: Not all control paths through DCanvas::ParseDrawTextureTags() called va_end.
- Moved the va_copy check out of the non-Win32 part of CMakeLists.txt so that it gets
  used for MinGW, too.

SVN r1527 (trunk)
2009-04-08 04:47:21 +00:00
Randy Heit
2ac649e09d - Added a va_copy/__va_copy check to CMakeLists.txt.
SVN r1526 (trunk)
2009-04-08 04:33:29 +00:00
Randy Heit
cc9efce818 - Fixed: Removing malloc.h for every system because FreeBSD doesn't like
it is wrong.


SVN r1525 (trunk)
2009-04-08 04:14:37 +00:00
Christoph Oelckers
a908834a11 - added some default definitions for constants that may miss in some headers.
- replaced __va_copy with va_copy per Chris's suggestion.
- replaced #include <malloc.h> with #include <stdlib.h> where possible.


SVN r1524 (trunk)
2009-04-07 07:06:07 +00:00
Christoph Oelckers
c8e01f9f91 - Fixed: The UDMF textmap readbuffer was never freed.
SVN r1523 (trunk)
2009-04-06 17:18:29 +00:00
Randy Heit
e16fde611f - Fixed: GetPlayerInput() died if you tried to get the input of the activator
and the activator was the world.


SVN r1522 (trunk)
2009-04-05 03:22:36 +00:00
Christoph Oelckers
78fb48302c - fixed: Any player class inheriting directly from PlayerPawn was left with
empty weapon slots due to the recent rewrite of the weapon slot assignment
  code. To handle such classes each game now defines a default weapon slot
  setting in its gameinfo. This will be used when a player class without any
  weapon slot settings is used.


SVN r1521 (trunk)
2009-04-04 17:46:33 +00:00
Christoph Oelckers
9d47afb304 - added 'damage' to the actor variables exported to DECORATE's expression
evaluator.
- fixed: solid corpses could block ripper missile that originally killed them.


SVN r1520 (trunk)
2009-04-04 09:28:10 +00:00
Randy Heit
4376c6b415 - Fixed: Doom's status bar was lacking its default face.
- Fixed: Custom skin face graphics were not added to the texture manager.


SVN r1519 (trunk)
2009-04-03 02:37:01 +00:00
Randy Heit
ccd3b2a6e1 - Fixed: UseHealthItems() gave you health equal to the number of items in
the stack of health items, rather than the item's proper amount.


SVN r1518 (trunk)
2009-04-03 01:25:06 +00:00
Randy Heit
08730b941b - Fixed: SBARINFO's "usessecondaryammo" considered a weapon to not use
secondaryammo if ammo2's type was the same as ammo1's, but only if you
  didn't use the "not" keyword with it.


SVN r1515 (trunk)
2009-04-02 01:48:59 +00:00
Christoph Oelckers
f62fcabb9c - Fixed: Altering a link type with Sector_SetLink did not work.
- Fixed: player.crouchsprite had no proper means of unsetting the crouch
  sprite which is needed by the ChexPlayer.
- Fixed: A_ChangeFlags must unlink the actor from the world before changing
  the NOBLOCKMAP and NOSECTOR flags.

SVN r1514 (trunk)
2009-03-29 08:55:15 +00:00
Randy Heit
7060f72186 - So, I guess if you're doing the inline asm properly, tsc doesn't need to be marked as
volatile.

SVN r1513 (trunk)
2009-03-29 02:40:41 +00:00
Christoph Oelckers
bf4e17703d - Fixed: Dehacked string replacement did not check the clusters' finaleflats.
- Changed the definition of several typedef'd structs so that they are
  properly named.
- Limited DEHSUPP lump lookup to search zdoom.pk3 only. It will no longer
  be possible to load DEHSUPP lumps from user WADs.
- Brought back the text-based DEHSUPP parser and changed it to be able to 
  reference states by label. Also changed label names of 
  DoomUnusedStates and added proper labels to all states that were
  previously forced to be the first state of an actor so that the old
  (limited) method could access them. This was done to address the following
  bug:
- Fixed: The player's death states calling A_PlayerSkinCheck should not be
  part of the state set that is accessible by Dehacked. These will produce
  error messages when mapped to non-players.

SVN r1512 (trunk)
2009-03-28 11:49:44 +00:00
Randy Heit
3ee37fdc08 - Fixed GCC rdtsc (for real this time, I hope).
SVN r1511 (trunk)
2009-03-28 03:31:52 +00:00
Randy Heit
366ed7047a - The variable the result of rdtsc is placed in also needs to be marked as volatile
to ensure that GCC doesn't optimize the function call away.

SVN r1510 (trunk)
2009-03-28 03:26:05 +00:00
Christoph Oelckers
e59ee12f2a - removed debug code.
SVN r1509 (trunk)
2009-03-27 23:23:10 +00:00
Christoph Oelckers
26420a9c60 - Fixed: Reading the RNG states from a savegame calculated the amounts of
RNGs in the savegame wrong.


SVN r1508 (trunk)
2009-03-27 22:07:16 +00:00
Randy Heit
7371c4a516 - Changed random seed initialization so that it uses the system's
cryptographically secure random number generator, if available, instead
  of the current time.
- Changed the random number generator from Lee Killough's algorithm to the
  SFMT607 variant of the Mersenne Twister.

SVN r1507 (trunk)
2009-03-27 04:49:17 +00:00
Randy Heit
35fe9ae690 - Made fmodex.dll delay-loaded so the game should be runnable on Windows 95
again, though without sound.



SVN r1506 (trunk)
2009-03-26 02:33:37 +00:00
Randy Heit
854097ba03 - Changed gameinfo_t and gameborder_t to be named structs instead of
typedef'ed anonymous structs.
- Fixed: P_AutoUseHealth() used autousemodes 0 and 1 instead of 1 and 2.
- Fixed: SBARINFO did not recognize 5:4 aspect ratio.
- Fixed: screenshot_dir was ignored.


SVN r1505 (trunk)
2009-03-26 02:06:14 +00:00
Christoph Oelckers
03e8f0e355 - Removed some obsolete code from G_InitLevelLocals that was causing problems
with maps that have no name.
- Fixed: The inner loop in AWeaponSlot::PickWeapon could endlessly loop when
  the counter variable became negative.


SVN r1504 (trunk)
2009-03-25 23:29:00 +00:00
Christoph Oelckers
f7bcd0b98e - Fixed: Implicitly defined clusters were not initialized when being created.
SVN r1503 (trunk)
2009-03-25 22:02:15 +00:00
Christoph Oelckers
218fc5018e - Fixed: Item tossing did not work anymore.
SVN r1502 (trunk)
2009-03-24 07:51:15 +00:00
Christoph Oelckers
e4da63e9f3 - Changed: Making the gameinfo customizable by MAPINFO requires different
checks for map specific border flats.
- fixed intermission music for Doom 1.


SVN r1501 (trunk)
2009-03-23 17:46:59 +00:00
Christoph Oelckers
9fdbf29cb1 - fixed Linux compile
SVN r1500 (trunk)
2009-03-23 07:37:57 +00:00
Christoph Oelckers
a150f6f9b7 - disabled Zip related code in IWAD detection for now
- forgot to add new files.


SVN r1498 (trunk)
2009-03-22 11:42:46 +00:00
Christoph Oelckers
505031fa5a - removed gamemission variable because it wasn't used anywhere.
- removed gamemode variable. All it was used for were some checks that
  really should depend on GI_MAPxx.
- Externalized all internal gameinfo definitions.
- added include to MAPINFO parser.
- split IWAD detection code off from d_main.cpp into its own file.
- disabled gamemission based switch filtering because it is not useful.
- added GAMEINFO submission by Blzut3 with significant modifications. There
  is no GAMEINFO lump. Instead all information is placed in MAPINFO, except
  the data that is needed to decide which WADs to autoload.


SVN r1497 (trunk)
2009-03-22 11:37:56 +00:00
Christoph Oelckers
81f834e3f4 - fixed: The WAD manager's hash chains could not handle more than 65535 lumps.
- Reinitializing the WAD manager will now delete all data.
- Preparation for GAMEINFO: zdoom.pk3 will be opened separately before checking the IWAD
  so that the internal GAMEINFOs can be externalized, too.


SVN r1494 (trunk)
2009-03-21 09:03:08 +00:00
Randy Heit
5c5137747f - Added the current value of the string buffer to the state saved when
making a function call in ACS. Now you can print inside functions and
  also return values from them for the caller to plug directly into
  another string without having to save it to a temporary variable.


SVN r1492 (trunk)
2009-03-20 02:13:25 +00:00
Randy Heit
301a554a69 - Added an OutputVolume() call after the MusicVolumeChanged() call in
MIDIStreamer::Play(). Since the state isn't playing yet when
  MusicVolumeChanged() is called, it doesn't do this itself.


SVN r1491 (trunk)
2009-03-20 01:58:33 +00:00
Randy Heit
7a06d3a71a - Fixed: P_RailAttack() passed the wrong angle variable to P_TraceBleed().
SVN r1490 (trunk)
2009-03-20 01:40:28 +00:00
Christoph Oelckers
18b4577bbd - Fixed: S_StopSound may not assume that after stopping a sound channel
its link to the next item in the list is still valid.
- Fixed typo in src/CMakeLists.txt.
- Fixed: Armor only worked for players.


SVN r1489 (trunk)
2009-03-19 22:48:55 +00:00
Christoph Oelckers
ca454bfeb3 - Fixed: P_FindFloorCeiling may not call P_PointInSector if called from
P_SpawnMapThing. It must use the values the actor has been initialized to
  by LinkToWorldForMapThing.


SVN r1488 (trunk)
2009-03-19 11:24:14 +00:00
Randy Heit
cfbf55acab - -norun works without -stdout now.
SVN r1487 (trunk)
2009-03-19 02:12:24 +00:00
Randy Heit
c2aab5dd46 - Added the -norun parameter to quit the game just before video
initialization. To be used to check for errors in scripts without actually
  running the game.
- Added the -stdout parameter to the Windows version to send all output to
  a console, like the Linux version has done all along.


SVN r1486 (trunk)
2009-03-18 05:02:32 +00:00
Randy Heit
314216343d - Added support for loading ZGL2 nodes. (Only useful with UDMF and maps with
more than 65534 lines.)


SVN r1485 (trunk)
2009-03-17 03:34:31 +00:00
Christoph Oelckers
63c170150d - Fixed: AWeapon::PickupForAmmo accessed ammo type 1 when checking ammo type2.
SVN r1481 (trunk)
2009-03-15 08:08:29 +00:00
Randy Heit
6236074684 - Version bump to 2.3.1.
SVN r1479 (trunk)
2009-03-15 01:42:45 +00:00
Randy Heit
8724b45e15 - Changed Linux default for fullscreen to false.
- Removed CVAR_SERVERINFO flag from compatmode. Since it writes to
  compatflags, that should be enough. Having that flag set for both of
  them leads to problems with e.g. loading a savegame, where compatflags is
  restored, then compatmode is restored and it completely undoes whatever
  compatflags was restored to.
- Fixed: Trying to start a map for some single file that isn't really a map
  caused a crash.


SVN r1478 (trunk)
2009-03-15 01:41:53 +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
c65dc5bad4 - Added a Check for the Vavoom namespace to the UDMF parser. Functionally
it's 100% identical with ZDoom's own but needs to be checked for in
  case Vavoom compatible UDMF maps are released.


SVN r1475 (trunk)
2009-03-11 19:28:10 +00:00
Randy Heit
aee99c2bd0 - Added an SDL output plugin, so FMOD can produce sound using SDL's audio
support instead of its own OSS/ALSA/ESD support. This is selectable by
  setting snd_output to "sdl".



SVN r1473 (trunk)
2009-03-11 04:56:43 +00:00
Randy Heit
47abeec7d9 - Fixed: On Linux systems with ALSA but no OSS support, trying to start
the sound system with snd_output default would fail instead of trying
  to use ALSA.



SVN r1472 (trunk)
2009-03-11 01:12:51 +00:00
Christoph Oelckers
bc91192473 - Fixed a crash in the weapon code with missing player starts.
SVN r1471 (trunk)
2009-03-11 00:42:04 +00:00
Randy Heit
fcdab6a777 - Added sdl_nokeyrepeat to disable key repeating in the menus and console
on Linux.



SVN r1470 (trunk)
2009-03-11 00:17:31 +00:00
Randy Heit
1e57e07926 - Fixed a double-fclose and memory leaks in zipdir.
- Fixed building of LZMA SDK on Linux with some help from p7zip.



SVN r1469 (trunk)
2009-03-10 23:56:47 +00:00
Randy Heit
75b7db858f - Added support for zip/pk3 files with LZMA and bzip2 compression to ZDoom.
- Added more output to zipdir and a -q option to turn it off.
- Added -u option to zipdir to only recompress those files in a zip that have
  changed. 
- Added -d and -f options to zipdir. -d forces deflate compression, and -f
  forces a write of the zip, even if it's newer than all the files it contains.
- Added support for bzip2 and LZMA compression to zipdir.


SVN r1468 (trunk)
2009-03-10 23:07:37 +00:00
Randy Heit
fd5a5be76a - Fixed what looks like an incorrect comparison in thingdef_states.cpp.
SVN r1467 (trunk)
2009-03-10 05:37:27 +00:00
Christoph Oelckers
b072431d3b - Adjusted some gravity related thresholds for the fix from Feb 28. Also removed
some unnecessary floating point math from this code.


SVN r1465 (trunk)
2009-03-07 09:16:32 +00:00
Christoph Oelckers
e57ff454f2 - Added Hirogen2's patch for unlimited ammo CVAR.
SVN r1464 (trunk)
2009-03-06 22:58:34 +00:00
Randy Heit
ee1806e9b2 - Fixed: You couldn't easily play with the compatibility options menu during
the title screen, because the demo loop reset the server cvars after each
  attempt to play a demo, even though the demos never actually played. The
  proper long-term solution would be to make shadow copies of all cvars
  touched by demos and use those for the demo and the real things for
  everything else, but this should do for now and is a lot easier.


SVN r1463 (trunk)
2009-03-04 23:19:46 +00:00
Randy Heit
e9121b607d - Fixed: When using BOOM-style sector flags and specials together, the
special was ignored unless it was "secret".


SVN r1462 (trunk)
2009-03-04 23:07:18 +00:00
Randy Heit
5eeaa130fd - Went back to using RDTSC for timing on Win32. Ironically,
QueryPerformanceCounter() is obviously using the TSC for its timing on my
  machine, yet the overhead it has to do to keep the timer sane is apparently
  noticeable on a few maps. I suppose I should at some time check
  clock_gettime() and see if it has similar issues on Linux.


SVN r1460 (trunk)
2009-03-04 06:06:31 +00:00
Christoph Oelckers
3b36334704 - changed: If a monster with the BOSSDEATH flag is crushed A_BossDeath will
be called now.
- fixed: D'Sparil's second form was missing the BOSSDEATH flag.
- fixed: D'Sparil's first form requires the DONTGIB flag.
- fixed: Heretic doesn't crush monsters. To handle this in a more generic
  fashion this depends on the presence of a gib sprite now.


SVN r1459 (trunk)
2009-03-03 21:17:00 +00:00
Christoph Oelckers
74642ca626 - Fixed: AActor::SetOrigin must call P_FindFloorCeiling to get the true
floor and ceiling heights. Otherwise the actor will fall right through
  3DMidtex textures (and 3D-floors.)


SVN r1456 (trunk)
2009-03-01 10:12:12 +00:00
Randy Heit
fc4bf2f647 Version bump.
SVN r1454 (trunk)
2009-03-01 03:02:40 +00:00
Randy Heit
d0763f4820 - Fixed: The TeleporterBeacon tried to enter its See state rather than its
Drop state. Also changed it to fade out when it's done rather than
  disappearing abruptly.


SVN r1453 (trunk)
2009-03-01 02:19:46 +00:00
Christoph Oelckers
42ac64d964 - Fixed: Strife's quest based line actions also work in Deathmatch.
- Fixed: Gravity application was not correct. For actors with no vertical 
  momentum the initial pull is supposed to be twice as strong as when 
  vertical movement already takes place.
- added invquery CCMD like in Strife. Also removed all underscores from the
  tag strings so that they can be printed properly.
- Fixed: Skill baby was missing 'autousehealth' for all games.
- Added a new CVAR: sv_disableautohealth
- Autouse of health items is no longer hardwired to the default item classes. 
  There's a new property HealthPickup.Autouse. 0 means no autouse, 1 a small 
  Raven health item, 2 a large Raven health item and 3 a Strife item.



SVN r1452 (trunk)
2009-02-28 21:38:20 +00:00
Randy Heit
37aa4c2c28 - Removed an early-out in wallscan_striped() that is invalid when drawing a
skybox.


SVN r1451 (trunk)
2009-02-27 03:45:14 +00:00
Randy Heit
4535382031 - The SFX Reverb unit is now moved so that it serves as an input to the water
effect rather than as an input to the ChannelGroup Target Unit. This means
  the water effect is now applied after any room reverb, rather than in
  parallel with it.
- Fixed: UI sounds should not have reverb applied to them.


SVN r1450 (trunk)
2009-02-26 06:23:05 +00:00
Christoph Oelckers
1f5cf23418 - fixed: nextmap and nextsecret CCMDs set skill to 0.
SVN r1449 (trunk)
2009-02-25 23:25:47 +00:00
Christoph Oelckers
2c65d5b8f5 - fixed: level.flags2 was not stored in savegames. Also bumped min. savegame
version and removed old compatibility handlings.

SVN r1448 (trunk)
2009-02-25 22:10:06 +00:00