Commit graph

3405 commits

Author SHA1 Message Date
Braden Obrzut
7f81d881f8 - Fixed: DBaseStatusBar::Draw shouldn't run for the AltHud.
SVN r4032 (trunk)
2013-01-23 01:47:06 +00:00
Braden Obrzut
dcb1a3c8bd - GCC warning cleanup
SVN r4031 (trunk)
2013-01-21 22:30:30 +00:00
Braden Obrzut
e86f27a7a6 - Fixed: Popups weren't shown on the alt hud.
SVN r4030 (trunk)
2013-01-21 21:02:14 +00:00
Braden Obrzut
76b5757dab - Fixed: 0 duration A_Lower loops could cause an infinite loop since A_Lower checked if the player was dead in two different ways and returned before the second one.
SVN r4029 (trunk)
2013-01-18 18:19:05 +00:00
Braden Obrzut
3e1aa40461 - Fixed: If AInventory::SpecialDropAction returns true the item should be destroyed.
- Fixed: Building with SSE disabled triggered an error.

SVN r4028 (trunk)
2013-01-17 19:42:52 +00:00
Braden Obrzut
de65ae809f - Fixed: BobStyle was assigned as if they were flags.
SVN r4027 (trunk)
2013-01-17 19:25:22 +00:00
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
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