ID:159425
 
I don't really think this is a bug, but it is most certainly annoying.

Whenever a large song is loaded by a client for everyone to hear, all other clients that are downloading the new resource see no graphical updates until the song is downloaded. They are actually moving on the host's side, but I'm guessing they don't receive any graphical updates until the resource is done downloading.

Is there any way to change that, so that they can still function in-game while a song is downloading?

verb
Change_Song()
var/F = input("Which file should you like to upload?") as null|file
if(!F)
return
else
usr.client.Export(F)
song = sound(F,repeat = 1,channel = 1)
song.status = SOUND_UPDATE | SOUND_STREAM
world << song<\DM>
That's because the client is dealing with getting that huge file - which halts the downloading of other resources (think it as a query line or something).

The best solution to this problem is to play small sized music file. Converting the music files to the OGG extension (Keyword: CONVERTING, not renaming) will DRAMATICALLY reduce the song size and keep the quality the same (relatively speaking).
In response to GhostAnime
I understand using smaller file sizes will minimize the problem, but it doesn't fix the problem.

Note: While they are downloading these song files, they can still receive says/worldsay/emote type of communication, but their screen doesn't update.

File size being too big is all relative to the server, its connection speed, the clients connection speed, etc. If there isn't a good way to do what I want, I understand putting a file size restriction on the song being played, but I would rather not have that limitation.
In response to Stupot
You could disable sounds in the BYOND pager, then re-enable them after the game loads. That way, it'll download any sounds the game has in the background.

Also - "doesn't not" is a double negative ^-^ So "doesn't not fix the problem" is the same as saying "fixes the problem".
In response to Spunky_Girl
Thanks for pointing out my typo. Hopefully people won't be horribly confused when reading my post now.

And the problem isn't with sounds I bundle with the games, it is with sounds that one user decides to play from that users computer. The server then downloads the file just fine, but when the server sends out the file to all the other users, they don't receive graphical updates until the entire song has finished. Telling players to disable their sound isn't a solution. I don't even know if it could be considered a functional workaround.
In response to Stupot
Ok, so I'm going to assume that no one knows of a way for this to be done with byond and that the only way to minimize the issue is to put a limit on the file size.
In response to Stupot
Stupot wrote:
Ok, so I'm going to assume that no one knows of a way for this to be done with byond and that the only way to minimize the issue is to put a limit on the file size.

If its as simple as "When downloading a file the map stops responding" then it may indeed be a bug. Otherwise I'd just attribute it to lag, though I'd find it odd that inputs/outputs were still functioning properly if that was the case.
In response to Falacy
I'm quite sure that was the case. I'll be sure to test it again to confirm that was indeed what happened and file it as bug if it was.

That'll have to wait until Sunday though. I'm going to Vegas!