ID:855252
 
BYOND Version:495
Operating System:Windows 7 Home Premium 64-bit
Web Browser:Firefox 12.0
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:

When joining a game that utilizes preload_rsc you'll end up being logged into the game while the download processes, without the game actually being loaded. Unlike games not using preload_rsc where you join the game when the interface loads after the resource download finishes.

This is happening with both standalone-client-using games and games not using the standalone system.

Numbered Steps to Reproduce Problem:

1) Create a game using preload_rsc, with a resource file large enough to take a few minutes to download.

2) Find you've joined the game before the resources download and the interface loads -- you'll see all output and whatnot from before the interface loads.

Code Snippet (if applicable) to Reproduce Problem:
world/preload_rsc = "path_to_resources"


Expected Results:

To be logged in AFTER the resources download and the interface loads.

Actual Results:

Sitting logged into the game until the resources finish, baffling people who are trying to talk to you in the meantime.

Does the problem occur:
Every time? Or how often? Every time.
In other games? Any game with preload_rsc
In other user accounts? Yes.
On other computers? Yes.

When does the problem NOT occur?

When games are using the general 'download from the host' resource distribution system.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)


I've tried as far back as 470 and it appears constant.

Workarounds:

Don't use preload_rsc.
Technically the fact that preload_rsc is loading the URL after login isn't quite a bug; the URL isn't available until the /client is initialized which happens when the login is "complete". I agree having it happen first would be better, but it's a non-trivial issue that I'd like to revisit another time.

My eventual goal is to peek at the initial value of client.preload_rsc and use that when the initial flags are sent to the client, without requiring the actual /client datum to be initialized.
I'm wondering if allowing authors to put their rsc URL on the hub (optionally) would be a viable workaround. Grab it from the hub with the game info and load from there if possible, if no URL is provided it uses the current method.