Commit graph

6266 commits

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

  Whoops!

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

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


SVN r3355 (trunk)
2012-02-12 02:41:55 +00:00