Commit graph

14335 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
6c64f19a7e - Enable Doom 1.1 status bar support.
SVN r3954 (trunk)
2012-11-09 23:03:53 +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
68b3c4860f - Remove redundant redundancy in the PigPlayer definition.
SVN r3950 (trunk)
2012-11-09 05:02:05 +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
0c7955b550 - Remove deleted file a_macil.cpp from the project file.
SVN r3937 (trunk)
2012-11-03 03:19:10 +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
5e184260ac - Fixed: FastProjectile's missile height needs to be initialized to 0.
SVN r3918 (scripting)
2012-10-28 01:26:10 +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