rafalh / dashfaction

A community patch for the Red Faction (2001) FPS game
https://www.factionfiles.com/ff.php?action=file&id=6252
Mozilla Public License 2.0
61 stars 11 forks source link

Request: Decouple door mover behaviours #257

Open GooberRF opened 3 months ago

GooberRF commented 3 months ago

I'll start by saying this should definitely be considered low priority. That being said, there are many instances when mapping where this capability would be very useful, so I wanted to document it as a request, while fully acknowledging there are many much more impactful enhancements that should probably take priority above this one.

The "Is Door" tickbox on a keyframe (moving group) has two notable effects that I am aware of:

  1. Makes the room in which the moving group is located a "door room" (and subject to the blocked/unblocked state, which affects rendering of adjacent rooms)
  2. Makes the mover stay at its maximum position as long as the player is standing inside the trigger that activated it

In most cases, both effects are desirable - opaque doors that sit in a doorframe, as are seen in the stock game, for example. The issue is that the second effect has far more utility than just opaque doors, and in many of those cases, the "door room" status (and derendering of adjacent rooms) is problematic. The result is the mapper cannot leverage the second effect without negative impact due to the first.

Here are some examples of a few situations where I personally would have used the second effect to enhance an area of a map, but couldn't, due to the "door room" effect:

My suggestion on solution for this would be to provide level designers with the ability to decouple the two effects. In a practical sense, I think the easiest and most intuitive way to go about this would be to simply provide an option (in keyframe properties or otherwise) to NOT set the room the keyframe is in as a "door room". Of course the default should be to make it a door room (default behaviour), but giving mappers the ability to control that behaviour would provide very welcome flexibility.