Commit graph

3405 commits

Author SHA1 Message Date
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
Randy Heit
d50a16a847 - Fixed: The AmmoPerAttack table was filled with the function pointers before the functions
were created, so they were all NULL, and the Dehacked ammo modification loop failed to
  find any of them in the weapon. The result being that all standard weapons were left with an
  AmmoUse1 of 0.

SVN r3925 (scripting)
2012-10-30 02:09:57 +00:00
Randy Heit
80782d7e5e - Fixed: Because PClass is a child of DObject now, attempts to serialize them get caught by
the DObject serialization template. Therefore, FArchive::SerializeObject() needs to be
  able to handle them specially from other objects.

SVN r3924 (scripting)
2012-10-30 01:38:05 +00:00
Randy Heit
e7168b3a51 - Transform the Actor Damage functions to/from an integer for saving. (I am occasionally
encountering unknown class "None" when loading now, which is not so nice.)

SVN r3923 (scripting)
2012-10-29 01:13:26 +00:00
Randy Heit
c2e700f116 - Move the RET and RETI final flag into the high bit of the destination selector.
SVN r3922 (scripting)
2012-10-29 01:11:24 +00:00
Randy Heit
35ba5b79d3 - Added a NULL Defaults check to PClassActor::PropagateMark().
SVN r3921 (scripting)
2012-10-29 00:42:58 +00:00
Christoph Oelckers
b630410372 - fixed: CreateDamageFunction needs to return NULL for a damage value of 0 to preserve the collision detection handling of non-damaging actors.
SVN r3920 (scripting)
2012-10-28 06:56:56 +00:00
Randy Heit
6e88529324 - Added a RETI instruction for returning 15-bit signed immediate values.
- Changed Actor's Damage property into an actual function. All access to the damage property
  must now be done through GetMissileDamage. actor->GetMissileDamage(0, 1) is equivalent
  to the former actor->Damage, for the case where actor->Damage was not an expression. (I
  suppose I will probably need to make a thunk for DECORATE expressions that want to read it.)
- Cleaned up some decorate expression evaluation functions that are no longer used.

SVN r3919 (scripting)
2012-10-28 04:36:52 +00:00
Randy Heit
29bc9cbf35 - Change the formatting for floating immediates in the dissasembly to %g.
SVN r3917 (scripting)
2012-10-28 01:16:01 +00:00
Randy Heit
31ab5ed866 - Added zcc-parse.c dependency to CMakeLists.txt
SVN r3916 (scripting)
2012-10-27 03:56:44 +00:00
Randy Heit
be27e68fc4 - Fixed: A_BrainSpit's parameter is optional.
SVN r3915 (scripting)
2012-10-27 02:37:40 +00:00
Randy Heit
e6b150bab9 - Fixed: A_Explode should always perform the distance <= 0 check, not just when damage < 0.
SVN r3914 (scripting)
2012-10-27 02:13:53 +00:00
Randy Heit
7171281507 - Compatibility fix: Classes redefined in DECORATE should cause the newer one to replace the
older one in the type table.

SVN r3913 (scripting)
2012-10-27 02:04:35 +00:00
Randy Heit
5b8a54e5ee - Fixed: Inventory's AltHUDIcon must be initialized to null, not invalid.
SVN r3912 (scripting)
2012-10-27 01:37:10 +00:00
Randy Heit
110c253854 - Silence GCC warning stuffs.
SVN r3911 (scripting)
2012-10-26 22:56:50 +00:00
Randy Heit
ac251cfe80 - Fixed: FxCompareEq::Emit()'s output must be in an integer register.
SVN r3910 (scripting)
2012-10-26 20:27:49 +00:00
Randy Heit
83480fd7f3 - Fixed: A_CustomMissile's pitch argument is an angle, not an int.
SVN r3909 (scripting)
2012-10-26 20:12:55 +00:00
Randy Heit
aade32a749 - Add PClass::AllClasses to the list of root items for the GC. Failure to do so will cause any
actors with names that conflicted with preceding actors from being freed, even though they
  can still be accessed via PClassActor::AllActorClasses, which gets iterated over in a number
  of places. (e.g. Zen Dynamics defines a Grenade actor, although there is one in zdoom.pk3 now.
  The Zen Dynamics' version would not go in the TypeTable, so it would be collected on map load,
  leading to a crash when attempts to access it through AllActorClasses are made.)

SVN r3908 (scripting)
2012-10-26 19:52:24 +00:00
Randy Heit
1a02d16356 - Added DecoFindSingleNameState for the extremely common case of finding a state with only
one name in its label. This avoids the alloca and security cookie calls.
- Consolidated lots of copy-pasted code in thingdef_expression.cpp to install helper functions
  into FindDecorateBuiltinFunction().

SVN r3907 (scripting)
2012-10-26 04:04:06 +00:00
Randy Heit
5c6bf0aeb4 - Fixed: FxCompareEq::Emit() needs to allocate the output register before freeing the inputs.
SVN r3906 (scripting)
2012-10-25 03:56:09 +00:00
Braden Obrzut
d393434d56 - Fixed: Broke UDMF in PK3 loader.
SVN r3905 (trunk)
2012-10-24 23:49:34 +00:00
Randy Heit
79228e4331 - Fixed: The disassembly for jmp opcodes displayed the wrong address.
SVN r3904 (scripting)
2012-10-23 04:05:45 +00:00
Randy Heit
0dae6527ad - Fixed: FxCompareRel::Emit() needs to allocate the output register before freeing either of
the operands.

SVN r3903 (scripting)
2012-10-23 03:19:26 +00:00
Randy Heit
d0c91083bc - Re-jigged DoJump() to not be recursive so that 0-tic A_Jump* loops are no longer
able to potentially blow up the stack.

SVN r3902 (scripting)
2012-10-23 03:19:17 +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
Randy Heit
47eec0b275 - Added tracking of time spent specifically in running action functions. I feel kind of stupid
about this now. I spent three days trying to figure out why the VC++ debug version was so slow.
  It turns out I had a conditional breakpoint set in a high-traffic area. D'oh!

The rest of this stuff should get merged into trunk:

- Fixed: Writing to debugfile uses the standard fprintf, which does not understand %td on VC++.
- Fixed: Instead of crashing when a sprite has been scaled to 0, just don't draw it.

SVN r3896 (scripting)
2012-10-21 03:46:17 +00:00
Randy Heit
2c92941f6b - Fixed: FxCompareRel::Emit() generated broken code for floating point operands.
SVN r3895 (scripting)
2012-10-18 04:04:33 +00:00
Randy Heit
c1aefec1e3 - Redo one GCC fix to make it compatible with VC++.
SVN r3894 (scripting)
2012-10-18 03:32:00 +00:00
Randy Heit
38d7b7d203 - Fixed errors and warnings when compiling with GCC. (Unfortunately, the VC++ debug builds
become ungodly slow when using mods with complex DECORATE. The GCC debug builds run just
  fine, however. Hopefully this is something that can be fixed later with an assembly-optimized
  version of the main VM loop, because I don't relish the thought of being stuck with GDB
  for debugging.)
- Fixed: The ACS_Named* action specials were erroneously defined as taking strings instead of
  names.
- Fixed: Copy-paste error caused FxMultiNameState::Emit to generate code that called
  DecoNameToClass instead of DecoFindMultiNameState.
- Updated FxActionSpecialCall::Emit for named script specials.
- Fixed inverted asserts for FxMinusSign::Emit and FxUnaryNotBitwise::Emit.


SVN r3893 (scripting)
2012-10-18 03:19:27 +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
Randy Heit
e7efa1d802 - Update to latest version in trunk.
SVN r3890 (scripting)
2012-10-17 04:24:54 +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
Randy Heit
2d139f3846 - DoParse() now writes out the parsed AST for the input file to <file>.ast.
Maybe TODO: Find a simple LISP pretty printer that isn't written in LISP so that the output
  isn't all on one big long line.
- zcc-parse.lemon now returns the complete AST through the parse state.
- Fixed crash in PrintEnumNode().

SVN r3773 (scripting)
2012-07-20 02:54:51 +00:00
Randy Heit
a5c938445a - Oh look! It's a comment that didn't get saved before the last commit!
SVN r3772 (scripting)
2012-07-20 01:07:04 +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
fcceeb814a - Changed state calls to use the VM's standard return value mechanism. StateCallData has been
removed as a result, so now action functions take a minimum of three parameters rather than four.

SVN r3770 (scripting)
2012-07-17 05:31:41 +00:00
Randy Heit
e1a2f3b546 - Added the TAIL instruction to perform a CALL and a RET in the same instruction. The called
function will pass its results directly to this function's caller. Eventually, this should
  be changed to do a proper tail call for scripted functions.

SVN r3769 (scripting)
2012-07-17 04:06:28 +00:00
Randy Heit
644f0c0e05 - Add a name to VMFunction so that the disassembly can be more informative.
SVN r3768 (scripting)
2012-07-17 03:35:03 +00:00
Randy Heit
d85604da19 - Update scripting branch to latest version of trunk.
SVN r3767 (scripting)
2012-07-17 02:53:53 +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
136a2cd05a - Since the scripting branch relies heavily on the garbage collector to clean up everything,
move the final GC back to after the type system has been shut down.

SVN r3760 (scripting)
2012-07-14 03:56:56 +00:00
Randy Heit
615f49572b - Fix assertion failure when using FRandom.
SVN r3759 (scripting)
2012-07-14 03:10:47 +00:00
Randy Heit
562cf04db2 - Update scripting branch to trunk.
SVN r3758 (scripting)
2012-07-14 03:04:41 +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