Original Post
Hey guys,
This is going to take a bit of explanation.
I have a client/server game. One component of this game is the Launcher, who''s job is to auto-patch and handle new player accounts and log in players and so on. It then passes them on to the client proper.
The part that''s giving me trouble is the log in. The launcher is windows based, and I use GetWindowText() to read in the user name and password. The plain text password is encrypted and sent off to the server for validation.
This works fine in general. However, it has recently come to my attention that if a player creates an account on one OS (say Win98), they cannot subsequently use that account on a different OS (say WinXP) because the password is rejected. They can always log in using the OS they used to originally create the account, but they can''t log in using a different OS.
The encryption is just a mathmatical routine, and I don''t think there is anything there that ought to change from OS to OS (I''ll double check that though). So the only thing I can think of is that the GetWindowText() call is returning different text depending on the OS in question. This, of course, would completely fubar the encryption routine and return a totally different result, thus resulting in a rejected password.
Does anyone know anything about this, and possibly what I could do to verify/fix it? The game hasn''t been tested on every possible combination of two OSes, but I have verified the bug on Win98->WinXP (and v/v) and WinXP->Win2000 (and v/v).
Ron