http://bugs.winehq.org/show_bug.cgi?id=27293
--- Comment #18 from dk developer@gaminglounge.com --- Interesting. Please correct me if any of this is wrong. There might be something of value in this although I still believe that Wine's IMM/IME implementation just isn't finished yet and any other solution is really just a workaround.
This is written in the context of the 1.24.3 (US) client for reasons explained near the end.
When I run 'wine winecfg' (with 1.7.13) the operating system it defaults to XP, and not Windows 7 (or higher). For me, this is preferable as the last time the native 1.24.3 (US) client worked without issues was on XP. More on that in a second.
On XP the game activated 'Advanced Text Services' in Windows, meaning that (if your native language was English and you were in the US) ((and never had a need to type in another language)) odds are you never saw the language bar. (Installing other software like Office might also activate it - but from a fresh install of EN Windows XP 32bit (or even 64-bit) Advanced Text Services was never active upon reaching the desktop.
PSOBB's installation did activate it and sometimes (it's not clear under what circumstances) people were having problems with this. (It was pretty easy to hit the wrong keys and have the language bar change your language and when that happened (and if you were unfamiliar with what was goin on) you literally might be stuck. When these people posted on the US support forums you were encouraged to 'disable Advanced Text Services'. (I think those forums are still up but a google search should bring up this complaint a lot)
It's possible that the support team didn't want to have to explain how to use a Windows feature if the people never used it before and (for English only speakers) would never have a need. (PSO & PSOBB both provided basic translations and symbol chat to communicate with speakers in another language - in fact this was one of the game's pioneering (pun intended) features.)
So on XP with 1.24.3 (US) you could just disable 'Advanced Text Services' and the problem was solved. If you spoke multiple languages (such as English & Japanese) you were probably already comfortable using 'Advanced Text Services' and the game also worked. Everyone was happy. :)
When Windows Vista and 7 was released those users (that disabled 'Advanced Text Services') started to encounter problems. From what I gather (from the Windows 7 forums - I skipped Vista personally) it's because Microsoft removed the ability to disable 'Advanced Text Services'. Also 'Advanced Text Services' was renamed to 'Text Services and Input Languages'.
At this point it gets murky because US game support (for PSOBB) ended on March 31st, 2008. Windows 7 was released to manufacturing a year later (July 22, 2009). So basically the 1.24.3 (US) client never officially supported Windows 7 (or higher)
Even so there was still a workaround to play the 1.24.3 (US) game client on Windows 7 if you followed these instructions which I believe were used on the support forums for Vista:
- open Control Panel - under 'Clock, Language and Region' click 'Change keyboards or other input methods' - click the 'Change Keyboards...' button - click the 'Add' button and a 'Add Input Language' window will open - find 'Japanese (Japan)' in the list and check the box next to 'Microsoft IME' - click the 'Ok' button - under 'Japanese (Japan)' select 'Microsoft IME' and click the properties button - in the 'General' tab set 'Space' and 'Numeric pad' to 'Always Half-Width'. - under the 'Mixed Japanese/English' tab check the box next to 'Allow conversion in Alphanumeric input mode' - (if you get a message stating '[Editing:Don't use direct input mode] will be OFF. Continue?' click the 'Yes' button - go back to the 'General' tab. - set 'Default Input Mode' to 'Half-Width Alphanumeric' - click the 'Apply' button - (you can change the key to enable this from the 'Advanced Key Settings')
It's important to note that those settings are in Windows and not the game. (and should be something that Wine would support) With these changes you could type on Windows 7 (and presumably Vista and 8 although I haven't tested that).
Meanwhile.. while US users were figuring this out The Japanese version of the client was still being updated. Sometime before December 27, 2010 (which was when the Japanese game support closed down for good) the client was updated to support Windows 7. Unfortunately I don't know which version in particular did this. With that update you no longer needed to use the above workaround (if you were playing in the US on Vista/7).
The Schthack and Tethealla versions of the game client are both based off of the Japanese client. Schthack's version remains a closed-source project so there's not much information about what they've done. Sodaboy however had a ton of great collaboration on his forums. I forget what version Sodaboy started with but eventually someone helped him with the information to patch the exe to support Windows Vista and 7. Because of this my guess is that he must have been using a client that was < the Japanese client which had native Windows 7 support (whatever version that was). Unfortunately (and this is a huge loss) we no longer have access to his forums. All of the necessary files are still publicly archived on pioneer2.net.
So (in my opinion) I would be cautious in trying to solve this bug with the Schthack or Tethealla clients for the following reason:
- we don't know what exactly was changed in the Schthack or Tethealla clients - we do know that the executables were unpacked - the patch could have been injected or it might simply have been hex edited - because of these reasons we can't be sure if their patching process has created side effects - because the patch is directly related to this issue it cannot be trusted
This is the reason I believe we should solve this issue by working with the 1.24.3 (US) client. (It *could* also be solved with the native JP client with Windows 7 support if it could be identified and the files found)
At least with the 1.24.3 (US) client we can be certain that the program runs as originally intended (on XP - which Wine supports as default) and (with the 'Text Services and Input Languages' workaround above) on Windows Vista/7.
This brings me back to my original conclusion that all of those 'fixme:imm' messages in the logs really do need to be addressed for this game to be fully functional without using the original Windows dlls.
Don't get me wrong - after six years of waiting I'd love to see this game running even with hacks on Linux but I think the end goal really should be proper IMM/IME support in Wine. (if possible of course)
Most of the popular servers that are running today won't accept the US client when it tries to connect therefore making it difficult to troubleshoot this bug. (notes: I have not tried the Sylverant server because I'm having trouble compiling it on Windows)
Fuzziqer's khyller (and later Aeon/newserv) projects are capable however and I suggest using them to test. It's not complicated to setup up but there are a few steps. Everything has been documented here if you're interested:
https://sites.google.com/site/winepso/