Page 1 of 1

Footstep region sound not always audible

PostPosted: Thu Feb 04, 2021 10:11 am
by ametist
I have discovered a problem with the footstep region sounds on DI. I talked to diafero and he confirms this is a problem on DI sometimes, and it is not new.
My age Botan has four footstep regions, one big for stone-sound, one smaller inside it for grass-sound, one for water and one on the little bridge with wood-sound. Offline they work fine but online on DI I cant hear the grass or stone sounds. The water-sound both when walking in it and swimming, is audible, so is the sound when stepping on the bridge.

The same goes for Kinnekulle, which has two regions. One big for stone-sound, and a smaller inside it for water-sound. No sound can be heard when walking on the stone ground, but the water is splashing nicely when stepping into the pond.

The link-in-point is inside a footstep region in the ages.

Tiam age has three different regions, but not inside each other, instead they are positioned side by side. There the stone and dirt sounds can be heard.
Then I have another age with just one big footstep region for stone - no sound can be heard. :roll:
Does anyone have an idea how to solve this issue?

Re: Footstep region sound not always audible

PostPosted: Thu Feb 04, 2021 12:22 pm
by Tsar Hoikas
IIRC alcugs does not properly implement plNetMsgTestAndSet, which is used to trigger certain actions, so you might experience interesting bugs involving things like regions and clickables on Deep Island.

Re: Footstep region sound not always audible

PostPosted: Fri Feb 05, 2021 12:34 pm
by diafero
Hoikas, is there some documentation somewhere for what this message is supposed to do? If I could fix those footstep problems with a small change to the server, that would be pretty nice. :)

If newer versions of the protocol still have this message and it works the same, maybe I could copy-paste functionality from the MOUL server code, or use that as a reference at least?

Re: Footstep region sound not always audible

PostPosted: Fri Feb 05, 2021 4:39 pm
by Tsar Hoikas
The bad news is that there is no documentation. The good news is that this is one of the very few pieces of the old protocol that remains in MOUL--here's the handler in dirtsand. Like that alcugs document suggests, it's just a server arbitrated lock.

Bonus nugget: the network delay in responding to this message is what causes the infamous "falling through the floor" issues in Gahreesen and Teledahn on pretty much every online Uru (except Gehn, where it's fixed) ;)

Re: Footstep region sound not always audible

PostPosted: Fri Feb 05, 2021 7:34 pm
by Ehren
I think the problem, put into as plain of language as possible, has to do with when the age you are linking into has a large region whose bounds you already occupy in the age you are linking from, like the city seems to have one huge footstep region, except for the Great Stairs for some reason, and some rugs on the roof. This region is so huge that it would be hard to find somewhere to link from where you don't already occupy an absolute position in space that is encompassed by that region, so the result is that you will almost always get no footstep sounds since you started off already in the region, not by walking from another location and entering it.

It's more than just footstep regions though, if you jump into the lower pool of water in Ahnonay Sphere 1 and then link to Relto from in the water, you will panic link immediately upon arriving at Relto the first time then be okay once you finish linking the second time. I can only assume it's due to PotS Sphere 1 water being in the right region to trigger Relto's link out region as you are linking back home, since you don't use the link book animation linking out from water you are probably in an instant state of falling through this panic link region as Relto loads.

In other words, it certainly is loading stuff in a weird way.

Re: Footstep region sound not always audible

PostPosted: Sat Feb 06, 2021 11:01 am
by diafero
Ehren, how would that relate to plNetMsgTestAndSet though?

Hoikas, that's great, thanks!
One issue I am a bit worried about here is clients leaving without releasing the lock... does dirtsand do any cleanup here when a client quits, automatically releasing locks they might still hold?

Re: Footstep region sound not always audible

PostPosted: Sat Feb 06, 2021 12:23 pm
by Tsar Hoikas
Yes, DirtSand reassigns any object ownership and releases any locks held when a client quits. That's kind of "easy" for DirtSand since it's TCP-based, but hopefully not too hard over in UDP-land.

Re: Footstep region sound not always audible

PostPosted: Sun Feb 07, 2021 7:40 am
by diafero
Alcugs does have a notion of "player disconnect", yeah. (Off the top of my head I don't recall anything related to "object ownership" but it's possible I forgot about that.)

One thing still confuses me though: the footstep regions are a problem even when one is all alone in the age. So I don't see how that could possibly be related to locking. That said, it still seems like a good idea to implement this properly.

What Ehren says would also explain why I only sometimes see these footstep region issues -- it might depend on the age one is coming from.

Re: Footstep region sound not always audible

PostPosted: Mon Feb 08, 2021 10:44 am
by Tsar Hoikas
I vaguely remember, back in Until Uru, that sometimes when returning to Relto, the camera would plunge into the fissure immediately upon link-in. I was never able to figure out why that happened, but if the loading process is a bit non-determinant WRT regions, that would be an issue. That being said, ametist says the regions work fine offline, so I think there's something in particular related to the online environment. It may or may not be the server -- the old networking layer has plenty of issues that were never actually solved. I know diafero has papered over some of them with OfflineKI trickery though. *remembers crashed Ages in UU*

Re: Footstep region sound not always audible

PostPosted: Mon Mar 08, 2021 10:42 am
by ametist
I am late to report how I fixed this issue for DI -sorry for that! Well, not fixed, but I have working footstep regions :). I got rid of the big, whole-age-surrounding basic footstep region and created smaller ones instead, with a very small gap between them. So no intersection at all. At the link-in-point there is also a very small gap. So now it works both offline and online on DeepIsland :)