#5 Open
Repository
plattinator
Branch
default
Repository
Blzut3
Branch
default

Fixed: Fail sound didn't play when attempting to activate a pushwall that is blocked.

Bitbucket cannot automatically merge this request.

The commits that make up this pull request have been removed.

Bitbucket cannot automatically merge this request due to conflicts.

Review the conflicts on the Overview tab. You can then either decline the request or merge it manually on your local system using the following commands:

hg update default
hg pull -r 63ebb08cf346 https://bitbucket.org/plattinator/ecwolf
hg merge 63ebb08cf346
hg commit -m 'Merged in plattinator/ecwolf (pull request #5)'
Author
  1. Nate Platt
Reviewers
Description
No description

Comments (7)

  1. Braden Obrzut repo owner

    I'm going to need to investigate this a little more when I have sound. The way you implemented this would play a sound if any of the pushwall triggers failed (say remote switch that move many walls) and for each failure. Just briefly looking at this, I believe the correct thing to do is have a flag like doNothing which tracks if a secret trigger has failed. In that case, instead of using misc/do_nothing use player/usefail.

    As a side note, this error seems to be somewhat related to issue #110. Although that might just need the P_ChangeSwitchTexture call to be an else to the if(doNothing).

  2. Nate Platt author

    Ah, ok. I didn't think about that, I was trying to match the vanilla wolf behavior (which also repeats the sound as long as you hold down the 'use' button)

    1. Braden Obrzut repo owner

      Just wanted to apologize that it's taking me so long to get to checking the specifics here. With the semester coming to close at school I have a lot of work that needs to get done.

  3. Braden Obrzut repo owner

    I looked a bit into here and there seems to a bit more to this issue. If you look at the vanilla wolf source, the OperateDoor function in WL_ACT1.C indicates that player/usefail should also be played if you don't have the right key for a locked door. It is possible to confirm that this happens in vanilla, but you need to tap the button within one tic or the do_nothing overrides.

    So with that said, I think the proper fix here would be to add a variable hasValidTriggers which is set to true before calling ActivateTrigger here and then using that to switch to player/usefail if doNothing remains true at the end.