Jump to content
The Dark Mod Forums

bug : snd_move spawnarg


Recommended Posts

OK so here is the problem with this spawnarg: the functionality works exactly as stated in the DR description.

"Points to the sound shader to play while opening or closing".

 

We already have snd_open. This plays a sound while the door is opening. So snd_move doing this is completely redundant.

Other than snd_move, we have no spawnarg to play a sound as a door starts to close, only when it snaps to the shut state(snd_close).

So, if you want a sound to play while the door is closing, you must currently suffer through the same sound playing as the door opens, which you probably want to be a different sound. Like if the sound creaks from fast to slow, and then clicks shut. Doesn't really work too good while a door is opening. So I would like to see snd_move only function when the door starts to close.

 

The other problem is that once the open/close animation completes, the sound is immediately cut short, instead of playing the whole duration of the sound. I feel this should be optional, because otherwise it dictates the door swing speed the player needs to use unless they wish to manually edit the sound itself. Like, if the door closing sound includes a snap-shut sound, you would want to play the entire duration of the sound instead of cutting short.

 

Currently I have a door whose swing speed set to where the close animation ends right on the snap sound, but it gets cut short during the snap sound directly to silence, and it sounds absolutely god awful.

 

So basically, requests are: pls change snd_close to only function while closing, and stop it (or create option to stop it) from cutting the sound short when the closing animation completes.

Link to comment
Share on other sites

I noticed this in The Gatehouse. The instant you click to open a door the sound of creaking as the door moves starts and then stops once the door is fully open.

 

When you click again to close the door it is completely silent until the moment the door closes which then plays a creaking noise and then the shutting sound and all that while the door is now closed and not moving.

 

I agree, it is odd.

Edited by Lux
Link to comment
Share on other sites

So I would like to see snd_move only function when the door starts to close.

 

The most common use for this is sliding doors, where you do want them to play both while opening and closing.

 

Don't snd_move and snd_close both play? So the door can play a sound while moving, and the snd_close takes over when the door closes fully? Or does snd_move override snd_close? I've been experimenting with this a bit myself but I'm not really sure.

Link to comment
Share on other sites

The most common use for this is sliding doors, where you do want them to play both while opening and closing.

 

Don't snd_move and snd_close both play? So the door can play a sound while moving, and the snd_close takes over when the door closes fully? Or does snd_move override snd_close? I've been experimenting with this a bit myself but I'm not really sure.

my door does slide open and shut. but i its a metal sliding clangy gate thing, and the sounds it makes when opening vs closing should sound very different. also i have 3 custom closing sounds i made that all have the *clang* sound in the closing sound, and i really dont feel like re-editing them out just to add in a snd_close argument. also, there is still cutoff issues or gaps in the sound issues with doorclose to the clang sound transition that way if you don't time the transition and the door speed flawlessly. its a huge pain.

 

It cannot override the sound because snd_move literally shuts itself off right when snd_close begins. snd_close begins once the animation is over, and that is where snd_move ends.

Edited by ungoliant
Link to comment
Share on other sites

I noticed this in The Gatehouse. The instant you click to open a door the sound of creaking as the door moves starts and then stops once the door is fully open.

 

When you click again to close the door it is completely silent until the moment the door closes which then plays a creaking noise and then the shutting sound and all that while the door is now closed and not moving.

 

I agree, it is odd.

nah, that is the opposite problem. must have used snd_open + snd_close when the solution to that issue would be to only use snd_move with that one particular creaky sound. unless its 2 seperate obvious open/close sounds, and then it becomes an issue like i'm having, and they just used snd_close for some reason accidently.

Link to comment
Share on other sites

I think the idea is that move loops and close plays the clang at the end, so that you don't have to time it exactly. Might be nice to have a move-open and move-close though.

Link to comment
Share on other sites

an extra boolean spawnarg like snd_cutoff that affects move-close would be very helpful. move-open is not necessary because thats what snd_open does. thats why i'm saying snd_move is currently redundant because it adds the snd_open functionality in where it is not needed or wanted.

Edited by ungoliant
Link to comment
Share on other sites

But snd_open doesn't loop. If you have a door that takes three seconds to open and your snd_open is only 1 second long, you'll have two seconds of silence. With snd_move, the sound will loop for the full three seconds. They accomplish slightly different things.

Link to comment
Share on other sites

Here's what we have:

 

snd_open - when the door was completely closed, and starts to open

snd_move - when the door is moving (either opening or closing). (loops, and stops when movement stops)

snd_opened - when the door finishes opening, and has become completely open

snd_close - when the door finishes closing, and has become completely closed

 

What it would be ideal to have:

 

snd_start_open - when the door was completely closed, and starts to open

snd_opening - when the door is moving while opening (loops, and stops when movement stops)

snd_end_open - when the door finishes opening, and has become completely open

snd_start_close - when the door was completely open, and starts to close

snd_closing - when the door is moving while closing (loops, and stops when movement stops)

snd_end_close - when the door finishes closing, and has become completely closed

snd_open_interrupted - when the door's movement is interrupted when opening

snd_close_interrupted - when the door's movement is interrupted when closing

 

Unfortunately, since the "ideal" was not the original design, we have to extend the current design so we don't break existing maps.

 

Proposal:

 

1 - Keep the current spawnargs, but make them a bit smarter. This supports existing maps.

 

snd_open - when the door was completely closed, and starts to open, and snd_start_open is undefined

snd_move - when the door is moving (and snd_opening is undefined when opening, or snd_closing is undefined when closing) (loops, and stops when movement stops)

snd_opened - when the door finishes opening, and has become completely open, and snd_end_open is undefined

snd_close - when the door finishes closing, and has become completely closed, and snd_end_close is undefined

 

2 - Add the ideal spawnargs listed above. This lets authors switch over to the ideal sounds and no longer use the legacy sounds.

 

3 - The legacy sounds remain untouched in *.def files.

 

4 - Where legacy sounds are defined in *.def files, add the default ideal sounds.

Link to comment
Share on other sites

It's annoying...all the old links to forum posts no longer work. They need to be replaced with forums.thedarkmod.com.

Link to comment
Share on other sites

That tracker is obsolete, as it's answered by snd_move which isn't in inherited properties, so not apparent to users. I only discovered it by chance in a forum thread, but should have used it in my first FM.

 

It's also confusing given the tenses are different. "Open" starts, "opened" finishes, whereas "close" finishes, and there is no "closed".

 

Move is totally useful for sliding rocks, pocket doors, heck, I've used in in my WIP on privacy screens.

 

The thing lacking is the equivalent of "open" for closing, not sure what to call it since "close" was used for the past tense instead of the present.

"The measure of a man's character is what he would do if he knew he never would be found out."

- Baron Thomas Babington Macauley

Link to comment
Share on other sites

That tracker is obsolete, as it's answered by snd_move which isn't in inherited properties, so not apparent to users. I only discovered it by chance in a forum thread, but should have used it in my first FM.

 

It's also confusing given the tenses are different. "Open" starts, "opened" finishes, whereas "close" finishes, and there is no "closed".

 

Move is totally useful for sliding rocks, pocket doors, heck, I've used in in my WIP on privacy screens.

 

The thing lacking is the equivalent of "open" for closing, not sure what to call it since "close" was used for the past tense instead of the present.

 

All handled in my proposal.

Link to comment
Share on other sites

So, @ungoliant, how does this proposal fit what you need?

the functionality is all there, but theres gonna be a lot of hate from anti-feature-creepers when you introduce 8 new sound spawnargs dedicated solely to movers, and i couldn't blame them.

Honestly, i think you can get away with much less.

 

snd_open - when the door was completely closed, and starts to open, doesn't cut off at end of animation

snd_opened - when the door finishes opening, and has become completely open

snd_close - when the door finishes closing, and has become completely closed

snd_closing - when the door starts closing. doesn't cut off at end of animation.

snd_open_loop - loops continuously from start to finish of open animation then cuts off.

snd_close_loop - loops continuously from start to finish of close animation then cuts off.

snd_move - because you can't get rid of it.

 

this keeps the original 4 and adds 3. But only 6 are necessary. I cannot think of any circumstance that is not covered by these spawnargs.

snd_open_loop and snd_close_loop serve dual purposes. they can loop short sounds until animation ends, and cutoff very long ones.

i think everything is covered.

 

edit: i didn't notice the part about interruptions. I think its pretty difficult to find a use for soundshaders for interruptions, its kind of based on the surface type of the interruptor most of the time. Might be better to just cut off the sound on the existing spawnargs if interrupted, if possible.

Edited by ungoliant
Link to comment
Share on other sites

Initially yesterday my reaction was it seemed like a lot of patchwork. And creating new spawnargs which duplicate existing might prompt future "what's the difference between snd_open and snd_start_open?" posts.

 

But after consideration, I no longer feel that way. It's no new features, just matching features in the other direction, aside from the interruption. However I would not do this...

 

snd_move - when the door is moving (and snd_opening is undefined when opening, or snd_closing is undefined when closing) (loops, and stops when movement stops)

 

If I read that right, that would cause confusion. Instead I'd have snd_opening or snd_closing override that part of snd_move, but the remaining snd_move aspect should still operate properly. On re-read, you might have meant what I just said though, in which case, ignore next paragraph.

 

Otherwise, users will be confused what is causing their snd_move to stop working. Since it takes twice as long to add two spawnargs with the same sound, most probably will initially use snd_move. If they then decide they want a different sound for one direction, it would appear as a bug if the snd_move no longer plays for the other direction (and likely not even noticed, and the map likely ship without it's matching sound). Additionally, since moving things sound the same on the same surface either direction, it would be rare to set that up initially in a map, but then change it to be different. If it required adding two spawnargs and deleting one (to minimize future problems if others are removed from that mover in future), that's a lot more busywork and room for error.

 

Now here's another related issue, we have the same problem with door triggers, on_open, when_opened, on_close, here I could see interrupted being REALLY valuable. I had this issue on my WIP, ended up using a timing trigger instead, so my event would happen when the door got blocked.

 

I just mention it in case there's some relation between the systems that make it easier to do both together.

Edited by RJFerret

"The measure of a man's character is what he would do if he knew he never would be found out."

- Baron Thomas Babington Macauley

Link to comment
Share on other sites

nah, that is the opposite problem. must have used snd_open + snd_close when the solution to that issue would be to only use snd_move with that one particular creaky sound. unless its 2 seperate obvious open/close sounds, and then it becomes an issue like i'm having, and they just used snd_close for some reason accidently.

 

Ah. Could be that on that particular mission there wasn't a snd_move for the moving while closing action. There is a sound when the door closes but it sounds like the door is moving and then closes which was the oddity.

Link to comment
Share on other sites

+1 for either of the solutions proposed above. Editor descriptions will overcome any confusion over duplicated or inconsistently named spawnargs. In the meantime I think I'll stitch two sounds together in Audacity to make my sash window clunk when it finishes opening. For closing, I've added the wooden chest close sound to one of the door opening sounds using spawnargs and it works. It's be nice to be able to fix up the opening sound with spawnargs too.

Link to comment
Share on other sites

i've worked out a scripted solution for uninterruptible doors that use a button/lever/whatever to activate them. see the post in my mapping thread for details. if theres any interest in script for just plain ol' doors, i might think about trying to write one of those as well.

Edited by ungoliant
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • Ansome

      Finally got my PC back from the shop after my SSD got corrupted a week ago and damaged my motherboard. Scary stuff, but thank goodness it happened right after two months of FM development instead of wiping all my work before I could release it. New SSD, repaired Motherboard and BIOS, and we're ready to start working on my second FM with some added version control in the cloud just to be safe!
      · 0 replies
    • Petike the Taffer  »  DeTeEff

      I've updated the articles for your FMs and your author category at the wiki. Your newer nickname (DeTeEff) now comes first, and the one in parentheses is your older nickname (Fieldmedic). Just to avoid confusing people who played your FMs years ago and remember your older nickname. I've added a wiki article for your latest FM, Who Watches the Watcher?, as part of my current updating efforts. Unless I overlooked something, you have five different FMs so far.
      · 0 replies
    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
×
×
  • Create New...