[Phantasy Star Online: Blue Burst] gurus & advice needed

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
dk
Level 2
Level 2
Posts: 24
Joined: Wed May 18, 2011 3:10 pm

[Phantasy Star Online: Blue Burst] gurus & advice needed

Post by dk »

Hi everyone,

I'm determined to not let this game fall through the cracks into oblivion but I really, REALLY need some help.

Image
(Phantasy Star Online: Blue Burst)

About the game:
Phantasy Star Online: Blue Burst is a hack & slash multiplayer online RPG created by SEGA's acclaimed Sonic Team. There were two PC versions of Phantasy Star Online. The first version, Phantasy Star Online, was released in 2001 and is rated 'gold' in the Wine app database. Blue Burst was the second PC release and is an enhanced version containing all of the content of the original as well as the new (and exclusive) Episode IV. It was the last version of a series that started way back in 2000 on the Dreamcast and see ports to the GameCube and Xbox. The official servers have long since been closed although the game lives on through various fansites.

Why you should care:
- The original game has an 89 rating on Metacritic. It's a fun game and can be played solo or with others.
- The game client was a free download on SEGA's official site and can now be found on many fan sites
- The game had modest system requirements (e.g. GeForce 7xxx or equivalent); it *should* run very well under Wine on current systems. (even under integrated graphics)
- The popular closed-source server (written by Schthack) still has a large active community
- Fuzziqer and Sodayboy both wrote servers which were later open sourced
- There are now fan-made tools available allowing users to create content like quests - a feature not available when the official servers were online

Alright, sounds like fun. What's the problem?
There are two:

Bug #12964 Phantasy Star Online Blue Burst crashes [with a page fault] (originally reported in 2008)
http://bugs.winehq.org/show_bug.cgi?id=12964

Here is a snippet from Wine 1.3.28. The original log can be downloaded from the bug page.

Code: Select all

..
fixme:wininet:INET_QueryOption INTERNET_OPTION_PER_CONNECTION_OPTION stub
fixme:wininet:INET_QueryOption Unhandled dwOption 4
fixme:wininet:INET_QueryOption Unhandled dwOption 5
fixme:win:EnumDisplayDevicesW ((null),0,0xe7e2cc,0x00000000), stub!
fixme:d3d:swapchain_init Add OpenGL context recreation support to context_validate_onscreen_formats
fixme:d3d:wined3d_swapchain_set_gamma_ramp Ignoring flags 0x1.
fixme:d3d8:ValidatePixelShader (0xd78a38 (nil) 1 0xe7e388): stub
fixme:wininet:CommitUrlCacheEntryInternal entry already in cache - don't know what to do!
wine: Unhandled page fault on write access to 0x6b6d8c4e at address 0x7bc4847c (thread 0024), starting debugger...
Unhandled exception: page fault on write access to 0x6b6d8c4e in 32-bit code (0x7bc4847c).
and

Code: Select all

..
00000020 (D) C:\Program Files\SEGA\PHANTASY STAR ONLINE Blue Burst\PsoBB.exe
	00000027    0
	00000024    0 <==
	00000021    0
Backtrace:
=>0 0x7bc4847c RtlAllocateHeap+0xac(heap=0x110000, flags=0xa, size=0x10010) [/home/developer/source/wine-1.3.28/dlls/ntdll/../../include/wine/list.h:98] in ntdll (0x00e7e170)

Bug #27293 Cannot type a character name during character creation
http://bugs.winehq.org/show_bug.cgi?id=27293

Code: Select all

..
fixme:imm:ImmDisableIME (0): stub
fixme:imm:ImeHandleNotify WM_IME_NOTIFY:IMN_SETCOMPOSITIONWINDOW
fixme:imm:NotifyIME IMC_SETCANDIDATEPOS
fixme:imm:ImeHandleNotify WM_IME_NOTIFY:IMN_SETCANDIDATEPOS
fixme:win:EnumDisplayDevicesW ((null),0,0xe7e2cc,0x00000000), stub!
fixme:d3d:swapchain_init Add OpenGL context recreation support to context_validate_onscreen_formats
fixme:d3d:wined3d_swapchain_set_gamma_ramp Ignoring flags 0x1.
fixme:wininet:INET_QueryOption INTERNET_OPTION_PER_CONNECTION_OPTION stub
fixme:wininet:INET_QueryOption Unhandled dwOption 4
fixme:wininet:INET_QueryOption Unhandled dwOption 5
fixme:wininet:CommitUrlCacheEntryInternal entry already in cache - don't know what to do!
fixme:d3d8:ValidatePixelShader (0xd78a38 (nil) 1 0xe7e388): stub
fixme:imm:ImmGetDescriptionW (0x4090409, 0xad9460, 255): semi stub
fixme:imm:ImmGetDescriptionW (0x4090409, 0xad9460, 255): semi stub
fixme:imm:ImmGetDescriptionW (0x4090409, 0xad9460, 255): semi stub
Any other information that may be useful?
The game imports the following dlls under Windows:

Code: Select all

advapi32.dll 
d3d8.dll 
dinput8.dll 
dsound.dll 
gdi32.dll 
imm32.dll 
kernel32.dll 
shell32.dll 
snmpapi.dll 
user32.dll 
winmm.dll 
ws2_32.dll 
wsock32.dll
Functions that the main executable (PsoBB.exe) imports are listed at the bottom of the page for bug #27293.

The game installs without any problems. Changing settings in the options menu works. Typing a username and password works. Navigating initial menus works. Server patch updates work. Server authentication and account retrieval work. If a user has already created a character they can select him/her and (attempt to) connect to a ship (bug #12964 - the page fault occurs here). If a user hasn't previously created a character on the server they can create and customize one but can't name the character to finish the process (bug #27293 occurs here).

Under VirtualBox (running XP/Vista/7) the game crashes at the same point.

For those unfamiliar with the game - at the point where the page fault occurs the user should be presented with a menu to select a ship (and then a lobby) to join. (see screenshot below) The menu for those two are 2D geometry but behind the menu (in the background) is a fully 3D ship lobby (which is where the user is taken once the ship and lobby are selected). My current suspicion is that Wine's Direct3D implementation can't handle something that is being rendered in that background. (maybe some effect or lighting or loading a texture - something.. The character creation is in 3D but the models weren't anywhere near as detailed as the background environments of the game)

Image
(ship select screen with lobby in background on Windows)

I thought there might be a regression somewhere but I downloaded and compiled over thirty versions of Wine back to when I started using Ubuntu regularly but I couldn't find a version that got us past the screen where the page fault occurs. I spent a LOT of time investigating; I would advise against pursuing that idea at this point - it's probably more efficient to identify what's causing the page fault and tackle it head on.

The typing bug is a bit of a mystery. The user can type a username and password to login but is unable to a few screens later during the character creation process. It's unclear at this point if this ever worked. (character data is stored on the server and many of the current users helping with the bugs already had account with previously created characters.) I myself have never seen this feature work.

I'm looking for any help (even if it's only advice on what and where to check) - especially with the page fault. I would appreciate any help at all. Please help bring this great game to Linux users! :)

Thanks,

dk
dk
Level 2
Level 2
Posts: 24
Joined: Wed May 18, 2011 3:10 pm

Post by dk »

For some reason my signature wasn't even though I had it checked to display..

Ubuntu 11.04 64-bit (Unity2D, compositing disabled)
GeForce 8400M GS (driver 270.41.06)
Wine 1.2.3 (installed), 1.3.28 (run from source)
qwertymn
Level 4
Level 4
Posts: 236
Joined: Thu Mar 27, 2008 3:42 am

Post by qwertymn »

I think it would help if you could point us to a download link, so we could test ourselves. The game is free, right?
Cloudef
Level 4
Level 4
Posts: 138
Joined: Wed Mar 18, 2009 3:10 pm

Post by Cloudef »

Well, for me the client always crashed after selecting character (the loading/connecting screen). Also yeah, could not type character name either under wine, but fortunately I had another character.
Cloudef
Level 4
Level 4
Posts: 138
Joined: Wed Mar 18, 2009 3:10 pm

Post by Cloudef »

Also going to add. There are similar typing bugs on Windows, and several workarounds. One is changing layout to US, disabling IM extensions and some other bizzare ones.
dk
Level 2
Level 2
Posts: 24
Joined: Wed May 18, 2011 3:10 pm

Post by dk »

qwertymn wrote:I think it would help if you could point us to a download link, so we could test ourselves. The game is free, right?
SEGA's original Phantasy Star Online: Blue Burst site was located at http://www.psobb.com but is now offline. The game client, manual, keyboard layout, wallpapers, and font pack were all free downloads when the original game site was up and running. Reference link:

http://web.archive.org/web/200809131402 ... client.php

The official 1.24.3 US files:

Code: Select all

  File: Setup.exe
CRC-32: 0ac63bd8
   MD4: 234b3c58064103f749c3d6585aa850d5
   MD5: 7bd255971aaa4b989fb73d36fc73d848
 SHA-1: d286caca6c62ab5146e055d2595ed68e8f55d269

http://www.megaupload.com/?d=9RTNMGNI


  File: Manual Update (1.24.3 - US).zip
CRC-32: 594b133f
   MD4: 29dab5c8f488b0c3d97475d7ef351146
   MD5: 0ec113923919fb5e235bf8ae612ca7fa
 SHA-1: 7c4fb09a90e917b192bbeda351eb6bc8e1e26ee4

http://www.megaupload.com/?d=97LBXYXK


  File: manual.pdf
CRC-32: 1bd1676f
   MD4: 2dfb4dc665f98d175b6053d34bbf09f2
   MD5: 2eb08c43adeac5edc14573e91c43568f
 SHA-1: d041c611ce70cb181cd0d1f2dbf38805d2ea109d

http://www.megaupload.com/?d=TRSHAT46


  File: keyboard_ref.pdf
CRC-32: 04d950f8
   MD4: 6a3cdd87f4cd64bab748dfd293bfe6be
   MD5: 3da39acfe3e2cbb9c1bffd109c055025
 SHA-1: 68ff6a3e127a35f19e776ef6be88d521b5dd044e

http://www.megaupload.com/?d=9OCSGT0S
On March 31st 2008 SEGA closed the (US) game servers permanently. (The Japanese servers continued service for a while longer but were also eventually shuttered.) The game was free in the last months of it's life. Reference link:

http://web.archive.org/web/200809131933 ... /index.php

Blue Burst was a little different from it's predecessor; the offline mode that had appeared in the earlier version was removed. It was online-only and the client required a server to connect to. Killing the official server effectively killed the game.. except that several talented individuals wrote software that was compatible with different versions of the game client. The servers that were written are specific to a version of the client. (e.g. a game client with version 1.24.3 can not connect to a version written for the 1.25.10 client) A link with everything bundled together would be overwhelming so I spent a LOT of time this weekend organizing everything.

Here we go:

Currently we have two versions of the game listed in the Wine appdb:

http://appdb.winehq.org/objectManager.p ... n&iId=6505

There's technically a third version (1.24.3 (Khyller/Aeon/newserv)) that might be added at a later date if we can overcome the issue we currently have with the launcher.


1.24.15 (Schthack)

http://www.schtserv.com/

http://www.schtserv.com/download.php (client download link)

http://www.schtserv.com/bbregister.php (account registration link)

Schthack's server is arguably the easiest to set up since they host the server - you only need to run the game client. Use the download link above and download the client. Use the registration link above to create a free account.

Note: The Schthack client is only compatible with his server. The server software is proprietary so we can only troubleshoot connectivity issues from the game client itself.


1.25.10 (Tethealla)

http://pioneer2.net/forum/viewforum.php?f=2 (read-only forum)

This server software was written by Terry Chatman Jr. (aka Sodaboy). He hosted a server early on in development but I'm pretty sure it's been taken offline. Sodaboy was kind enough to open source his server project. The forums are in read-only mode at present and contain a lot of useful information. Many Schthack regulars posted there during the testing process.

Check the Sticky topics in the forum. You'll find the game client (1.25.10), server source and binaries.

The server software itself doesn't run under Wine so you'll need to run it on a Windows box or Virtual machine. There is a cross-platform Python port of Tethealla under way so in the future this should be much easier to test if you don't have access to Windows.

Also - it's possible to update the official US client to a version compatible with his server. The files you need are listed below. Included are 'TethExes010710.zip' (a mirror of the same file from his site) and 'Tethealla.zip' which is a repack of the server binaries with a detailed guide I put together. The server is pre-configured with a test account so you can quickly get it up and running.

Code: Select all

  File: Setup.exe
CRC-32: 0ac63bd8
   MD4: 234b3c58064103f749c3d6585aa850d5
   MD5: 7bd255971aaa4b989fb73d36fc73d848
 SHA-1: d286caca6c62ab5146e055d2595ed68e8f55d269

http://www.megaupload.com/?d=9RTNMGNI


  File: Manual Update (1.24.3 - US).zip
CRC-32: 594b133f
   MD4: 29dab5c8f488b0c3d97475d7ef351146
   MD5: 0ec113923919fb5e235bf8ae612ca7fa
 SHA-1: 7c4fb09a90e917b192bbeda351eb6bc8e1e26ee4

http://www.megaupload.com/?d=97LBXYXK


  File: Manual Update (1.25.10 - TethVer).zip
CRC-32: 1056769a
   MD4: cbea1c3982b51df596b0c1023b9521ee
   MD5: 306959e663a14900a7a778d0b466640f
 SHA-1: 979ddce276213060669de649882bcfa8c6c241ae

http://www.megaupload.com/?d=QBKLEOS3


  File: TethExes010710.zip
CRC-32: 470b4110
   MD4: ef3f4bb2045838dc25f095c26b38e1df
   MD5: 2b8e9c8eec963f547e80bc3efbf30992
 SHA-1: fb384bd88309c72e234a65650467f51c0963d0f3

http://www.megaupload.com/?d=UU5NMV3U


  File: Tethealla.zip
CRC-32: aa10c546
   MD4: 6bad30d21a19f21300d5d929f77f4830
   MD5: 76847adb4a79b805329bf31b00c623c7
 SHA-1: 8bcd314137628dbb0058320a9a04347b6ee3a4c5

http://www.megaupload.com/?d=2KTX7UUM

1.24.3 (Khyller/Aeon/newserv)

http://www.fuzziqersoftware.com/index.php?page=projects (projects page)

http://www.fuzziqersoftware.com/forum3/ ... m.php?f=10 (forum)

Lastly, is Fuzziqer's server software. It was originally named Khyller but later underwent a re-write and was renamed Aeon/newserv. Fuzziqer has since released the 0.5 source. Fuzziqer's server is unique in that it worked without any modification of the official client and supported other platforms like the Dreamcast and GameCube. He also wrote a launcher for Windows which supressed the game's anti-cheating rootkit, GameGuard (nProtect). Unfortunately the launcher doesn't work in Wine preventing the game from starting.

If you're interested and have a Windows box you can check it out. The files you need are listed below. Included are the launcher/source and a repack of the 2.9d server binaries (which I personally considered the most stable). The server is pre-configured and I've written a detailed guide to help get it quickly up and running.

Code: Select all

  File: Setup.exe
CRC-32: 0ac63bd8
   MD4: 234b3c58064103f749c3d6585aa850d5
   MD5: 7bd255971aaa4b989fb73d36fc73d848
 SHA-1: d286caca6c62ab5146e055d2595ed68e8f55d269

http://www.megaupload.com/?d=9RTNMGNI


  File: Manual Update (1.24.3 - US).zip
CRC-32: 594b133f
   MD4: 29dab5c8f488b0c3d97475d7ef351146
   MD5: 0ec113923919fb5e235bf8ae612ca7fa
 SHA-1: 7c4fb09a90e917b192bbeda351eb6bc8e1e26ee4

http://www.megaupload.com/?d=97LBXYXK


  File: PSOBB Launcher (Disables GameGuard).zip
CRC-32: 741495d3
   MD4: 3d82b72d9b23d2c07a41a6d18a45a9d0
   MD5: 5b9f48f5a112465e029a70833e7720df
 SHA-1: 3c9ad874281fe03d0d4d210063f1bd68ec7bd096

http://www.megaupload.com/?d=B0WYGTR0


  File: PSOBB Launcher (Disables GameGuard) (Source only).zip
CRC-32: 8f43d7d7
   MD4: b4bfa39b5335e54f38d8611cf2940f24
   MD5: d73d552624810372b158bb5e6c6a66b3
 SHA-1: 91bde4c0d837ebe3f971a8ea5d6185beaa595f27

http://www.megaupload.com/?d=W68Y51TJ

  File: Khyller.zip
CRC-32: c4f66f2d
   MD4: 367c37925d17de9b71bc4b1b07327b43
   MD5: 8aa5ae6fd6c8c6e23f49ca7abd2e4d6c
 SHA-1: cadc5d7fe7d70abbdab02d6f3ac5773641dee0fa

http://www.megaupload.com/?d=YU3TR2O7
dk
Level 2
Level 2
Posts: 24
Joined: Wed May 18, 2011 3:10 pm

Post by dk »

Hi all,

I received a couple of emails from people mentioning that they couldn't create characters on Schthack's server and they had to end up forcibly terminating the client. I answered them but wanted to post my response here to help others that might be confused..
Congratulations - you've found bug #27293. Without that typing issue fixed you won't be able to create a new character or exit out of the character creation process. :(

The only workaround I can think of is to temporarily install the client on a spare Windows box. (maybe a friend that games on Windows can help?) You can log in to Schthack's server with the same account information you already have. Create your character then exit the game. All account and character data is stored remotely on the server so it _will_ be available when you run the client again under Wine.

Once you've selected a character and try to connect to the ship you'll reach bug #12964 so (while you're still on Windows) you may want to continue to the lobby/explore the game so you understand what *should* appear when the client is run under Wine.
Thanks! Please post any problems/issues/thoughts.
Cloudef
Level 4
Level 4
Posts: 138
Joined: Wed Mar 18, 2009 3:10 pm

Post by Cloudef »

Just bumping this, I'm too interested getting this work. Might even take a look closer(inside wine) when I have more time.

There is PSO2 coming, but it's using GameGuard which is deal breaker.
dk
Level 2
Level 2
Posts: 24
Joined: Wed May 18, 2011 3:10 pm

Post by dk »

Cloudef wrote:..Might even take a look closer(inside wine) when I have
more time.
Bug #27293 (the typing bug) might be a good place to start. I very briefly looked into it a little back in May. PsoBB.exe uses the following imm32.dll functions (which in Wine are either incomplete or stubs):

Code: Select all

ImmSetCompositionWindow 
ImmGetOpenStatus 
ImmGetDescriptionW 
ImmReleaseContext 
ImmDisableIME
There HAS to be other games that use this dll and are failing because of those functions. We have to look through the tracker for similar bugs and find out which developers worked on them. Maybe they'd be willing to help/answer questions/point us in the right direction..
Cloudef wrote:There is PSO2 coming, but it's using GameGuard which is deal breaker.
Yeah, I'm looking forward to seeing a true sequel. (I could never get into Universe.) On the subject of GameGuard..

I was waiting for Jasmine to approve version 1.24.3 in the appdb before posting this news but Fuzziqer re-wrote his game launcher last week. He did a really slick job of it too; the changes he made were enough to coax the launcher into running under Wine!! There's a good chance that other games (using GameGuard) will be able to benefit from Fuzziqer's work.. but that's for another topic.

Using the new launcher I was able to run the official 1.24.3 client. Both bugs are still present so we can definitively rule out the possibility that patch modifications were contributing factors. You can download the new source code from his project page here:

http://www.fuzziqersoftware.com/projects.php (search for PSOBB Launcher)

At the time of posting this he's only updated the source file. (The binary and description still apply to the original release.) I can't seem to edit my previous post so here are updated packages for those interested:

Code: Select all

  File: PSOBB Launcher (Disables GameGuard).zip
CRC-32: 8c74daf4
   MD4: b556a8773b5fd3895a44bc43e9455fdc
   MD5: a05441db63bd99fc0c3bbbd4cd851751
 SHA-1: f5fe08ff849f5f0d0b958d6b329de668814a343c

http://www.megaupload.com/?d=ZSYSLOZQ

  File: PSOBB Launcher (Disables GameGuard) (Source only).zip
CRC-32: 4407868f
   MD4: 0a703ee0b3f8cf3fa0b50c58bbe6f5ab
   MD5: b4c86d0b79676a7bc4bdda8b017a01db
 SHA-1: 682958df66c4c7a2ba3996b2cb4b7f919ed22271

http://www.megaupload.com/?d=ZTMD5543
I compiled the package binaries in Windows with TDM-GCC 4.5.2 (http://tdm-gcc.tdragon.net/download)

with the following:

Code: Select all

C:\MinGW32\bin\g++ c:\launch.cpp -o c:\launch.exe

Code: Select all

C:\MinGW32\bin\g++ c:\launch-debug.cpp -o c:\launch-debug.exe
The new launcher dynamically searches memory for the correct address to patch which means it should also be compatible with other versions of the client. While it runs under Wine it doesn't always find the right address. When this happens you'll see GameGuard starting to update:

Image

Just click the 'Cancel' button. After a few seconds you'll receive this message:

Image

Click 'Ok' to close the window and launch the game again. Repeat this process until the launcher finds the correct address and closes the GameGuard window. (It will close almost instantly after it appears when successful.) From my testing it looks like it works every 2nd or 3rd try although on a couple of occasions it's gotten it on the first.

First pics of an untouched official client running under Wine:

Image

Image
Cloudef
Level 4
Level 4
Posts: 138
Joined: Wed Mar 18, 2009 3:10 pm

Post by Cloudef »

dk wrote:
Cloudef wrote:..Might even take a look closer(inside wine) when I have
more time.
Bug #27293 (the typing bug) might be a good place to start. I very briefly looked into it a little back in May. PsoBB.exe uses the following imm32.dll functions (which in Wine are either incomplete or stubs):

Code: Select all

ImmSetCompositionWindow 
ImmGetOpenStatus 
ImmGetDescriptionW 
ImmReleaseContext 
ImmDisableIME
[/img]
Yeah, I'll sort out the input issue at/by weekend. Should have some time for it by then.
Cloudef
Level 4
Level 4
Posts: 138
Joined: Wed Mar 18, 2009 3:10 pm

Post by Cloudef »

I was about to take a look into this issue, but it seems like the typing bug is fixed on latest Wine. At least I could create character just fine.

I guess that just leaves the bursting crash.
Cisce
Newbie
Newbie
Posts: 1
Joined: Sun Oct 02, 2011 7:24 am

Post by Cisce »

I honestly think this is great, I've always wanted to play PSOBB on Wine and it'd be great if it got somewhere. :)
landeel
Level 2
Level 2
Posts: 34
Joined: Sun May 18, 2008 11:49 am

Post by landeel »

it seems like the typing bug is fixed on latest Wine
Nice! One bug left.
dk
Level 2
Level 2
Posts: 24
Joined: Wed May 18, 2011 3:10 pm

Post by dk »

Apologies for not posting sooner - I've been very busy.

Rosanne approved version 1.24.3; it's now live in the appdb. I tried to consolidate the information specific to that version and mirrored it here:

https://sites.google.com/site/winepso/

I'll try to update that for 1.25.10 (Tethealla) this weekend.
Cloudef wrote:..it seems like the typing bug is fixed on latest Wine. At least I could create character just fine..
Hmm, interesting. I submitted test data for 1.3.29 and they're both still broken for me. 1.24.3 did (very briefly) type but as soon as I pressed the Esc key it stopped working. Every attempt since then has been broken.

As far as recent updates I didn't notice anything in the changelogs and the most recent changes to imm32 were from July of last year. (if I'm reading that right - please take a look)

imm32 history:
http://wine.git.sourceforge.net/git/git ... 54;hb=HEAD

I also looked at imm.c from the 1.3.29 source and there doesn't appear to be any changes.

Here are the functions that appear repeatedly in my log when I run the game and test for bug #27293:

Code: Select all

..
fixme:imm:ImmDisableIME (0): stub
fixme:imm:ImeHandleNotify WM_IME_NOTIFY:IMN_SETCOMPOSITIONWINDOW
fixme:imm:NotifyIME IMC_SETCANDIDATEPOS
fixme:imm:ImeHandleNotify WM_IME_NOTIFY:IMN_SETCANDIDATEPOS
fixme:imm:ImmGetDescriptionW (0x4090409, 0xacf3e0, 255): semi stub
fixme:imm:ImmGetOpenStatus (0x13ba80): semi-stub
..
and the related code from imm.c:

ImmDisableIME (also affects bugs #22805, #17302, #12975, #5163, #27716, #17667)

Code: Select all

BOOL WINAPI ImmDisableIME(DWORD idThread)
{
    FIXME("(%d): stub\n", idThread);
    return TRUE;
}
ImmSetCompositionWindow

Code: Select all

BOOL WINAPI ImmSetCompositionWindow(
  HIMC hIMC, LPCOMPOSITIONFORM lpCompForm)
{
    BOOL reshow = FALSE;
    InputContextData *data = hIMC;

    TRACE("(%p, %p)\n", hIMC, lpCompForm);
    TRACE("\t%x, (%i,%i), (%i,%i - %i,%i)\n",lpCompForm->dwStyle,
          lpCompForm->ptCurrentPos.x, lpCompForm->ptCurrentPos.y, lpCompForm->rcArea.top,
          lpCompForm->rcArea.left, lpCompForm->rcArea.bottom, lpCompForm->rcArea.right);

    if (!data)
        return FALSE;

    data->IMC.cfCompForm = *lpCompForm;

    if (IsWindowVisible(IMM_GetThreadData()->hwndDefault))
    {
        reshow = TRUE;
        ShowWindow(IMM_GetThreadData()->hwndDefault,SW_HIDE);
    }

    /* FIXME: this is a partial stub */

    if (reshow)
        ShowWindow(IMM_GetThreadData()->hwndDefault,SW_SHOWNOACTIVATE);

    ImmInternalSendIMENotify(data, IMN_SETCOMPOSITIONWINDOW, 0);
    return TRUE;
}
ImmSetCandidateWindow

Code: Select all

BOOL WINAPI ImmSetCandidateWindow(
  HIMC hIMC, LPCANDIDATEFORM lpCandidate)
{
    InputContextData *data = hIMC;

    TRACE("(%p, %p)\n", hIMC, lpCandidate);

    if (!data || !lpCandidate)
        return FALSE;

    TRACE("\t%x, %x, (%i,%i), (%i,%i - %i,%i)\n",
            lpCandidate->dwIndex, lpCandidate->dwStyle,
            lpCandidate->ptCurrentPos.x, lpCandidate->ptCurrentPos.y,
            lpCandidate->rcArea.top, lpCandidate->rcArea.left,
            lpCandidate->rcArea.bottom, lpCandidate->rcArea.right);

    if ( lpCandidate->dwIndex >= (sizeof(data->IMC.cfCandForm) / sizeof(CANDIDATEFORM)) )
        return FALSE;

    data->IMC.cfCandForm[lpCandidate->dwIndex] = *lpCandidate;
    ImmNotifyIME(hIMC, NI_CONTEXTUPDATED, 0, IMC_SETCANDIDATEPOS);
    ImmInternalSendIMENotify(data, IMN_SETCANDIDATEPOS, 1 << lpCandidate->dwIndex);

    return TRUE;
}
ImmGetDescriptionW (also affects bug #28423)

Code: Select all

UINT WINAPI ImmGetDescriptionW(HKL hKL, LPWSTR lpszDescription, UINT uBufLen)
{
  static const WCHAR name[] = { 'W','i','n','e',' ','X','I','M',0 };

  FIXME("(%p, %p, %d): semi stub\n", hKL, lpszDescription, uBufLen);

  if (!uBufLen) return lstrlenW( name );
  lstrcpynW( lpszDescription, name, uBufLen );
  return lstrlenW( lpszDescription );
}
ImmGetOpenStatus (also affects bugs #4781, #19593, #18415, #15963, #14900, #10636, #26744, #23696, #16035)

Code: Select all

BOOL WINAPI ImmGetOpenStatus(HIMC hIMC)
{
  InputContextData *data = hIMC;
  static int i;

    if (!data)
        return FALSE;

    TRACE("(%p): semi-stub\n", hIMC);

    if (!i++)
      FIXME("(%p): semi-stub\n", hIMC);

  return data->IMC.fOpen;
}
ImeHandleNotify (also affects bugs #25786, #8034, #19593)
I'm not sure what's going on with this one - I'm not sure where that fixme is printed from.

Those related bugs are only applications that people took the time to submit bugs for. A quick Google search lists a number of other applications that aren't currently in bugzilla.

Cloudef, are you able to Esc out of the character customization screen, re-enter and find that typing still works? Are you using any overrides? Anything else installed on the same prefix? Any registry tweaks? What distro are you using? Maybe there's something else in your environment that allows it to fail gracefully - we could at least list it as a workaround if we can identify what it is.
dk
Level 2
Level 2
Posts: 24
Joined: Wed May 18, 2011 3:10 pm

Post by dk »

Almost forgot.. can you please post a log file captured during a successful character naming/creation? It would be very useful for comparison. If a function appears in mine that is absent in your it would be a good place to look..
Cloudef
Level 4
Level 4
Posts: 138
Joined: Wed Mar 18, 2009 3:10 pm

Post by Cloudef »

Cloudef, are you able to Esc out of the character customization screen, re-enter and find that typing still works? Are you using any overrides? Anything else installed on the same prefix? Any registry tweaks? What distro are you using? Maybe there's something else in your environment that allows it to fail gracefully - we could at least list it as a workaround if we can identify what it is.
I'm using Arch Linux, I'll do some more throughout testing today.
I Indeed have some cluttered prefix, where I should test on clean prefix. I have some patches applied to wine, but no DLL overrides.
I dint test with pressing ESC, I'll do that.

As for the functions, many of these have stubs meaning they are incomplete, and also the last function seems to increase a uninitialized integer, I don't know the meaning of it, to be honest :?
Cloudef
Level 4
Level 4
Posts: 138
Joined: Wed Mar 18, 2009 3:10 pm

Post by Cloudef »

I tested it again under clean prefix, I can type fine. This is in latest git btw
http://www.youtube.com/watch?v=6b877I_geAI
dardack
Level 3
Level 3
Posts: 98
Joined: Mon Sep 05, 2011 3:24 pm

[Phantasy Star Online: Blue Burst] gurus & advice needed

Post by dardack »

On Wed, Oct 5, 2011 at 1:54 PM, Cloudef <[email protected]> wrote:
I tested it again under clean prefix, I can type fine. This is in latest git btw
http://www.youtube.com/watch?v=6b877I_geAI





Curious, can you still DL this for free somewhere? And if so how do
you find the private servers to connect to?

--
Sincerely,

MacNean C. Tyrrell
Cloudef
Level 4
Level 4
Posts: 138
Joined: Wed Mar 18, 2009 3:10 pm

Post by Cloudef »

Check out the posts by dk.
dk
Level 2
Level 2
Posts: 24
Joined: Wed May 18, 2011 3:10 pm

Post by dk »

Cloudef wrote:I tested it again under clean prefix, I can type fine. This is in latest git btw
http://www.youtube.com/watch?v=6b877I_geAI
No way. Well that's interesting.. :) I saw some Japanese text near the bottom so that's probably a 1.25.10 or higher exe right? Are you using Schthack's or Sodaboy's? (or if another which one/version?)

I've got to see a log of what happening when you're creating a character to make any sense out of this.

If you're launching the game via the terminal can you please redirect the output to a file so I can compare that with mine? Something like this will do:

Code: Select all

cd ~/.wine-pso/drive_c/Program\ Files/SEGA/PHANTASY\ STAR\ ONLINE\ Blue\ Burst \
&& \
WINEPREFIX=~/.wine-pso \
wine \
C:\\Program\ Files\\SEGA\\PHANTASY\ STAR\ ONLINE\ Blue\ Burst\\online.exe \
&> ~/pso-typing-log.txt
I vaguely remember a typing issue (in-game) with Vista users with Sodaboy's patched client. I'll have to find that link to see if the issue is related and if it was fixed by SEGA or something that they were able to patch. It would be nice to find a changelog for each version released during the final 1 1/2 years that the Japanese servers were up but I don't know if that's possible..

dardack - two server projects were open sourced so you can actually run the servers yourself if you want to help troubleshoot. At this point however the servers only work on Windows although there is a cross platform port in the works. If you don't have a spare Windows box/virtual machine then the easiest way to get up and running is to connect to one of the private server communities. Schthack's is the most well known and their forums are typically frequented by members of other private communities as well. See his site for the client download and free registration:

http://www.schtserv.com/
Cloudef
Level 4
Level 4
Posts: 138
Joined: Wed Mar 18, 2009 3:10 pm

Post by Cloudef »

http://dl.dropbox.com/u/15640770/pso_log.txt
Log is there. It's SCHTHACK so the exe is 1.25.10
landeel
Level 2
Level 2
Posts: 34
Joined: Sun May 18, 2008 11:49 am

Post by landeel »

This is strange.

I remember there was a problem with Vista and typing... It's probably the same issue we see on wine.

I also remember I could type the character's name in the past, now I can't.

Maybe it's related to a specific system configuration, or something in the game installation.
dk
Level 2
Level 2
Posts: 24
Joined: Wed May 18, 2011 3:10 pm

Post by dk »

Thanks for posting that log. I compared it to a log from my Schthack install and as far as the imm32 calls they're identical. That makes me think it might be environment related so my next step is to install Arch and see if I can replicate your success. I've got to clear some space so give me some time on this. I have a couple other quick questions if you could answer them. Were you running the game fullscreen or windowed? What graphics hardware were you using? I got the impression you might be using a gamepad.. can you still type if the gamepad is disconnected?

Regarding the Vista issue - this is from the Japanese website (Google translated):
Update 2007/2/1 21:00..

..We will make sure that it is possible to have a certain behavior from the start,
Currently "Microsoft (R) Windows Vista (TM)" If the game play in
Please note that the operation is not guaranteed.

Incidentally, if you start in full screen mode, the bug has been confirmed not to enter chat.
"Microsoft (R) Windows Vista (TM)" when it is played in a game, we recommend that you play in windowed mode.

"Microsoft (R) Windows Vista (TM)" For games played in, please at your own discretion.
and here.. which I think they're saying it was fixed as of 1.25.7:
Update 2008/4/7 16:50

"Microsoft (R) Windows Vista (TM)" regard, we have confirmed the basic operation.
For the most current operating environment here please check.

Update 2008/3/25 16:00

Currently, we have verified our clients work in the game.

March 25, 2008 (Tuesday) Regular maintenance than after, the game is updated Ver.1.25.7 client, "" Microsoft (R) Windows Vista (TM) "If you start at full-screen mode, enter chat such as bug fixes have been made can not be..
If the Wine environment is set to Windows XP should we even have to worry about this? In every XP install of the game I've seen it has always worked right out of the box.

Here's a couple more quotes:
Cannot Type in Menus or in Game.
Possible issue: Supplemental Language Support is Enabled
Some users have reported that they are unable to type when playing PSO BB. This problem is related to Supplemental Language Support within the user's OS. Please go into the Windows control panel / regional and language options / languages tab / and uncheck all the boxes in the supplemental language support section. Then reboot and you'll be able to type.
In the Regional and Language Options, goto the Languages tab, click Details under Text services and input languages. Add Japanese as an input language. You can also disable the language bar here if you don't want to see it. Start PSO in Windowed mode. Get to the username input box, and press the left Alt and shift keys at the same time. (You can change this keyboard shortcut, but you probably wont have done that) Some Japanese text will appear to the left of the input userID box, and you'll be able to type in your username and password. (Remember, this ONLY works in Windowed mode) If you have save username and password turned on in PSO's options, you'll never have to do this again, and you can then remove Japanese language input from the same place you added it. (Typing in game SHOULD work fine, so if you want to turn off window mode after saving your user/pass, you can)
Does Wine even have Supplemental Language Support? We can type a UserId and Password so is this even the same issue? I'll see if Terry can shed some light on what he patched in his executables.
Archeree
Newbie
Newbie
Posts: 1
Joined: Fri Oct 07, 2011 12:10 am

Post by Archeree »

my brother likes to play such games. hopefully he will be able to help you out on this matter.
Cloudef
Level 4
Level 4
Posts: 138
Joined: Wed Mar 18, 2009 3:10 pm

Post by Cloudef »

@dk
Yes, I have gamepads connected and yes I run it in window. My windows version in winecfg is set to 2008 R2.

And yes, this "bug" also occurs on Windows XP, in fact one of my relative had it. He had to set keyboard layout to US to get input working in Windows XP.

I tested again without gamepads connected and in fullscreen, both works.
I don't use any DE, if that helps. I might try to catch what causes PSO to page fault on bursting screen later.
Locked