Tuesday was a bit of a loss, I utterly failed to make notes last week on my plan for overcoming a bunch of Unicoding obstacles, so I spent most of Tuesday catching up.
I Had a package from England arriving yesterday (Wednesday) so I called in that I’d be late, I have to admit that as much as I intended to start working at 10am, I found myself making toast and eggs, having a coffee while I answered a few (work-related) calls, and then I sort of sauntered over to the computer and sat down.
Ramp was having problems with UTF8<->16<->32 conversions so about 6pm I took a break and then knocked up my own UTF8 <-> wchar_t conversion module, nice and simple and a fair bit more efficient than the Unicode.org versions (I plan on resubmitting my changes).
I flicked the switch that enables the Chinese callsigns, and theoretically opens the door for 10 character callsigns (sorry, gamename changes will cost $13.37).
And then I decided to test it the smart way, and put together a test harness. It took several hours getting all the components to work across all 3 platforms… But finally, I had my build:
Ok, so let’s see what happens if…
mysql> SET @id = (call wwii.f_get_player_id('kfs1')) ; Query OK, 1 row affected (0.01 sec) mysql> UPDATE wwii_player SET callsign = 'kfsone-san' WHERE playerid = @id ; Query OK, 1 row affected (0.01 sec) mysql> CALL wwii.p_add_friend(@id, "龠") ; Query OK, 1 row affected (0.01 sec)
Well, that’s just the database… Lets log in… The IRC management window catches my eye:
^BetaChat> [CRS:SYS] KFSONE-SAN has logged in
Yes, I’m in! So lets try some commands:
That’s me trying /who, /m kfsone-san, /all, /3 blah, /crs blah and finally, /who. Ok.
Ok, so the client is still not quite sure what to do with the UTF8 characters it receives, but… It’s still using the old Unicode routines that Ramp was having a hell of a time with. I can hook him up with my new, improved routines and hopefully we’ll have through-and-through Unicode working in the next day or so.
Which means it’s almost time for me to dive in and finish off the instancing code, although at some point I have to bite the bullet and test a login with a Chinese-character game name. But not, I suspect, after I get up again in 3 hours.