Player: Nobihazard: Hitting zombies from the side (or back) gives 100s of SE channel warnings

Created on 16 Aug 2016  路  11Comments  路  Source: EasyRPG/Player

When the zombies are blocked by a wall or hit from the side they will generate hundreds of "SE: Out of channel" warnings.

Download: https://nobihaza.wordpress.com/2014/02/21/doraemon-nobitas-resident-evil-english-release/

Savegames:
nobihaza english.zip

Load No3 and let the zombies get stuck e.g. by walking against that lantern.

Depends on #1356

Audio EvenInterpreter Move Routes UX

All 11 comments

What fixes it in my test case but not in the real code is this:
https://github.com/EasyRPG/Player/compare/master...Ghabry:development?expand=1

So basicly make Turning never fail, so the move doesnt fail, the frequency applies and plays the sound with enough gap.
But still failing on this map (save 3)... Because this only happens when two events collide I guess it has to do with "MakeWay". Maybe @Zegeri has an idea.

Looks like this only happens when the move route is frequency 8.
I'm not sure why but all our checks use GetMoveFrequency() > 7 ? 0 instead of 8 when setting max_stop_count.
I can prevent the channel spamming by changing the check from 7 to 8. The SE still plays faster (which means the move executes too often) but at least the warning is gone.

This bug is exposed by parallel event:
Event with Custom moveroute (repeat, ignore illegal moves)

Turn toward Player
Play SE
1 Step forward

And event script:

Move [Empty route]
Wait 0.1

I revoke this patch, that change breaks the behaviour of "Turn" for Frequency 8.

I just tried this custom move type with freq=8, repeat, skip.

Play SE
Turn to Player
Move foward

RPG_RT plays the sound rapidly once the event gets stuck.

This makes sense to me, as this will retry every frame.

Its possible #1696 is the cause of this one

1696 is fixed but the behavior still happening here. If this behavior is expected, at least player should not display any warnings and should reuse existing channels (olders first) when the same audio file is being player over again. If we can proof RPG_RT only uses 4 channels for this single sound at once, then this should be implemented as part of #1356.

I will mark this as "Depends on 1356", otherwise we can't really decide if this is really just a SE problem or another strange interpreter behaviour we missed.

A possible way for testing 998 behavior in RPG_RT: replacing the SE play with something equivalent, maybe a extremely short yet audible SE or visual stuff, or even better, increase a variable as tracking counter, or log line with event tracer.

Another game with a similar audio issue is OFF:
Test: https://easyrpg.org/play/master/?game=off&test-play
Skip intro, once on map press F9, select map 29, set position to 2, 8 and push some rocks.
It could be a game bug/feature (not tested with RPG_RT) or a differnet bug, as it interacts with the player character.

I replaced the Nobihazard RPG_RT.exe with an older one that uses harmony.dll and in the debugger I added a trace to "HarmonyPlaySoundEx" in MSVC and it matches what I also hear in Wine:
The zombie sound is only played once per second (with some random sounds in between from other zombies).
So this is still a bug in Player imo.

Retested this with latest nightly build: The sound timing seems to be correct now in general. In 0.6.0 even when the glitch is not triggered the zombie sounds are already playing in too tight intervals.

@fdelapena If you think the OFF problem is a player bug (Except for the no free channel console log) and the SE timing is wrong please open a new bug.

Was this page helpful?
0 / 5 - 0 ratings