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

dk wineforum-user at winehq.org
Sat Sep 10 07:49:26 CDT 2011


Hi everyone,

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

[Image: http://img148.imageshack.us/img148/1561/psosamplescreen.png ]
(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:
..
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:
..
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:
..
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:
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: http://img847.imageshack.us/img847/1725/psoshipselectsm.png ]
(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







More information about the wine-users mailing list