|
From: Josh <axl...@gm...> - 2009-08-15 17:17:41
|
I'm ok with it. I skimmed over the patch quickly, I didn't apply or test it. Josh Chris Danford wrote: > Thanks very much Greg! > > I'll be happy to integrate these. Maybe Charles or Josh could take a > quick look to make sure they're OK before I apply them. > > -Chris > > > > On Fri, Aug 14, 2009 at 12:37 PM, Gregory Najda <gre...@gm... > <mailto:gre...@gm...>> wrote: > > The attachments didn't make it through the mailing list > apparently, so you > can download them here: > > Stepmania patch: > http://www.cs.stevens.edu/~gnajda/Stepmania/stepmania_online_hashes.patch > <http://www.cs.stevens.edu/%7Egnajda/Stepmania/stepmania_online_hashes.patch> > SMO Server patch: > http://www.cs.stevens.edu/~gnajda/SMO/SMO_hashes.patch > <http://www.cs.stevens.edu/%7Egnajda/SMO/SMO_hashes.patch> > > On Thu, Aug 13, 2009 at 8:15 PM, Gregory Najda > <gre...@gm... <mailto:gre...@gm...>> wrote: > > > Attached are patches I've created for Stepmania and the SMO > server to solve > > the problem of deciding which stepfile to use when a client has > more than > > one stepfile with the same title, subtitle, and artist that the > room host > > chooses. It works by room hosts sending a list of chart hashes > in addition > > to title/subtitle/artist when selecting a song. The stepfile > with the same > > title, subtitle, and artist (case-insensitive) with the most > charts that > > match is the one that gets used. If more than one stepfile meets > that > > criteria, the one currently selected by song wheel cursor is > used if it is > > one of them, otherwise the first stepfile it gets to. If no > chart hashes are > > received from the server, the old method of using only title, > subtitle, and > > artist (and song wheel cursor) is used. > > > > Packets modified: > > Client Hello - client protocol version changed from 3 to 4. > > Server Hello - server protocol version changed from 128 to 129. > > Client Game Start Request - list of hashes added. > > Client Request Start Game and Tell server existance/non > existance of song - > > list of hashes added. > > Server Tell client to start song/ask if client has song - list > of hashes > > added. > > > > The "list of hashes" is 4 bytes indicating the size of the list, > followed > > by however many 4 byte hashes. The server will send the hashes > out in the > > same order it got them, however the order has no meaning. The > hash for a > > chart is obtained by calling Steps::GetHash(). As such, it only > takes into > > account the "note data", not title, bpm, or anything like that. > > > > I also discovered a feature that was in the old code, and that I > have > > preserved: that if you have the song wheel cursor on a song > that's as good a > > match as any other song, it will use the currently selected > song, where it > > would otherwise use the first song it got to. I had never heard > of that; it > > ought to be documented somewhere other than the code. > > > > These changes are completely backwards-compatible. New and old > clients can > > interact with new servers and old servers. The benefit is not > gained unless > > the server is running the update and the room host is running > the updated > > client, but it just behaves like it always has if that is not > the case. > > > > Also included in the Stepmania patch is a small change to mutex > locking > > when running a debug build. While stepping through code, I would get > > spurious deadlock detections likely due to me thinking for > longer than 15 > > seconds (the mutex wait timeout) before stepping to the next > line, so I > > changed the timeout value in debug builds to be infinite since > you can just > > stop the program and examine the cause of a deadlock if you're > debugging. > > > > - Greg Najda, aka LordHighCaptain > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports > 2008 30-Day > trial. Simplify your report design, integration and deployment - > and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Stepmania-devs mailing list > Ste...@li... > <mailto:Ste...@li...> > https://lists.sourceforge.net/lists/listinfo/stepmania-devs > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > ------------------------------------------------------------------------ > > _______________________________________________ > Smonline-devs mailing list > Smo...@li... > https://lists.sourceforge.net/lists/listinfo/smonline-devs > |