PWI with Linux

KattYos - Sanctuary
KattYos - Sanctuary Posts: 19 Arc User
edited May 2009 in Support Desk
Added notice about this thread by Darthpanda16: Will make this a stickie until the community has a few proven methods worked out, then I may add the community's suggestions into the Tech Support FAQ. Even though we don't support Linux, I figured this would be helpful to you all. :)

One of my computers runs ubuntu and when i try to play PWI using the program Wine the skills are all messed up. The pictures are weird looking, very multi colored and its the same with items in my inventory. If anyone knows anything I can do or if the programmers are trying to make PWI for linux also it would be great.
Post edited by KattYos - Sanctuary on
«1

Comments

  • tay
    tay Posts: 5 Arc User
    edited February 2009
    I can play PW alright in wine 1.1.2 in Gentoo, but I had to apply this patch and recompile wine: http://bugs.winehq.org/attachment.cgi?id=16817

    This is the WineHQ bug for the image problem: http://bugs.winehq.org/show_bug.cgi?id=12560

    There might be some other tips with getting it to work on Ubuntu.
  • surtr
    surtr Posts: 3,378 Perfect World Employee
    edited February 2009
    While we don't officially support PWI running under programs like Boot Camp or Wine, it sounds like using the Verify feature on the launcher might resolve that issue. Otherwise, it's possible that it's a graphics card problem.
    ==/Senior QA Lead/==

    Surtr from the south wielding fire
    The gods' swords shine in the darkness, like stars in the night
    Mountains collapse into rubble and fiends shall fall
    Man walks the road to ruin as the sky splits in two

  • tay
    tay Posts: 5 Arc User
    edited February 2009
    surtr wrote: »
    While we don't officially support PWI running under programs like Boot Camp or Wine, it sounds like using the Verify feature on the launcher might resolve that issue. Otherwise, it's possible that it's a graphics card problem.

    It's a problem with how Wine handles S3TC (texture compression) and if it's disabled PWI looks correct. The sucky part is you can only disable it by patching wine's source code and recompiling Wine.
  • KattYos - Sanctuary
    KattYos - Sanctuary Posts: 19 Arc User
    edited February 2009
    Thanks for the posts guys/girls.
  • zoooey
    zoooey Posts: 6 Arc User
    edited February 2009
    Does this patching/recompiling affect how Wine works for other games? I'm about to do it but don't wanna cause my Wine to become unusable for everything else than PW.
    Also has Wine been contacted about this a long time ago and are they planning on adding this patch into future releases of Wine?
    Oh and do I have run this patch everytime I upgrade my Wine?
  • remorce
    remorce Posts: 6 Arc User
    edited February 2009
    tay wrote: »
    I can play PW alright in wine 1.1.2 in Gentoo, but I had to apply this patch and recompile wine: http://bugs.winehq.org/attachment.cgi?id=16817

    This is the WineHQ bug for the image problem: http://bugs.winehq.org/show_bug.cgi?id=12560

    There might be some other tips with getting it to work on Ubuntu.

    Im attempting to run this using wine (OSX) But i dont know the command prompt that I should use to open the game. Do i use "wine Launcher.exe" or something else? I use this command and it pulls up the launcher and it says connecting to server but in terminal it shows internet connection time out. Did I need to install that little mozilla thing while installing the game?

    Also how do you patch wine?
  • Julyah - Sanctuary
    Julyah - Sanctuary Posts: 160 Arc User
    edited February 2009
    remorce: You managed to install the game. You can launch the game in a similar fashion. "wine Launcher.exe" is one way to do that.
    Connecting the server the first time I ran the game seemed to take ages but eventually it managed to connect and contacted the update server.
    If that doesn't help then try to hit "Upd. settings" in the launcher and set the info there correctly. IIRC the first part choose "patch" then on the following 3 checkboxes mark the first and the third which should be automatically and allow it to resume after being shut down or something along those lines.
    The little Mozilla thingie shouldn't be mandatory, but I did install it.

    As for the patching I'm about to post a thread to do that on Linux here on the Tech Support forums. You might be able to use that info to patch your Wine too.
    [Tech Support Junkie]
    Player 1: "I dont believe this is an off-topic worthy thread."
    Player 2: "It's not even worth it for lower depths. What do we do?"
    Player 3: "Delete it?"
    Mod: "Moving this to tech support."
    _________________________________
    Sanctuary: Julyah - Venomancer | Tevos - Wizard | Elliana - Archer
  • Julyah - Sanctuary
    Julyah - Sanctuary Posts: 160 Arc User
    edited February 2009
    Nearly every Linux user running Perfect World through Wine will have this error where the game map and all the icons are totally scrambled.
    To correct this problem you need to compile Wine from source code. Fear not if you haven't done it before. It's not that hard, especially with instructions.

    This step is called the Wine S3TC ****. Basically what you do is take 2 files and edit them a bit before compiling from source.

    First, get the Wine source code from here: ftp://ftp.ibiblio.org/pub/Linux/ALPHA/wine/development/ or http://sourceforge.net/project/showfiles.php?group_id=6241&package_id=77449
    The official releases are tagged by date with the format "Wine-YYYYMMDD.tar.gz". Your best bet is to grab the latest one.
    I'd recommend placing the Wine archive file that you chose into the directory where you intend to extract Wine. In this case, let's just assume that it is your home directory.
    Once you have downloaded a Wine archive file, we need to extract the archive file. This is not very hard to do. First switch to the directory containing the file you just downloaded. Then extract the source in a terminal with (e.g.): tar xvzf wine-20030115.tar.gz
    Just in case you happen to get a Wine archive that uses .tar.bz2 extension instead of .tar.gz: Simply use tar xvjf in that case instead.

    Then navigate to the folder that just extracted and open in your favourite text editor a file called 'dlls/wined3d/device.c'.
    Once there you gotta navigate to the row 6001 and delete out that line and the next one. They should say:
    GL_EXTCALL(glCompressedTexImage2DARB(glDescription->target, glDescription->level,
    glDescription->glFormatInternal, srcWidth, srcHeight, 0, destSize, data));


    Then replace them with the line that says:
    FIXME("PW no S3TC support");

    Save and close the file, then open in your text editor a file called 'directx.c' that resides in the same directory as the last one.
    Find the line 2306 that should say:
    return TRUE;

    Change it into:
    return FALSE;

    Then save and exit.

    Once that is done navigate up a few times into the wine main directory. Once there execute a command (as a user, meaning without the 'su' or 'sudo' command) "./tools/wineinstall" that should now compile the code and install it automatically. If you're well versed in the art of command line you can compile it by hand instead if you want to. You will be asked for your password later. Enter it. Also after it has compiled you will be asked whether you want to install it too. Answer yes. After a while you should have it done.

    Few sidenotes:
    - You could also save those lines I said you should delete by putting " /* " in front of and " */ " after them, but since you can easily extract the files again from the archive I see no reason for it.
    - The change in the files were originally meant for Wine version '1.1.14' but I can confirm they worked on version '1.1.15' too. Most likely on some newer ones too.
    - Most likely you have some other version of Wine already installed. Installing this shouldn't replace your possibly edited config files. At least it didn't for me. You might still want to backup the files before you proceed.
    - Installing this patched version of Wine shouldn't cause any problems with your other games, of course unless you have self patched the files earlier. In that case just apply the other patches before compiling. I tried World Of Warcraft and Fallout 2 which worked flawlessly after the patch.
    - You don't have to have the same or one step older Wine version installed before you do this. I had 1.1.10 earlier and now applied the patch with version 1.1.15.
    - This patch shouldn't correct the invisible cursor bug some people have told they have. I never experienced it. If you want to correct that bug too you might want to google for the patch info (I know it's there, I've seen some links to it) and apply it in a similar fashion before compiling.

    In case you want to check out the bug page on winehq here's the link: http://bugs.winehq.org/show_bug.cgi?id=12560
    In which the code change part was posted by the user 'heema' (thanks to him/her) and a link to heema's attachment containing the fixes: http://bugs.winehq.org/attachment.cgi?id=19211
    There you can actually see few of the surrounding lines with the changed ones in case you're having troubles locating them. Also you might be able to apply that attachment as a patch into the files directly by using the 'patch' command, but I'm not familiar with it so I did it manually by text editor as described above.

    Some info here was taken directly from the Codeweavers site over here: http://www.codeweavers.com/support/docs/wine-user/getting-wine-source

    Hope this helped at least someone. Long live Linux gaming!
    [Tech Support Junkie]
    Player 1: "I dont believe this is an off-topic worthy thread."
    Player 2: "It's not even worth it for lower depths. What do we do?"
    Player 3: "Delete it?"
    Mod: "Moving this to tech support."
    _________________________________
    Sanctuary: Julyah - Venomancer | Tevos - Wizard | Elliana - Archer
  • remorce
    remorce Posts: 6 Arc User
    edited February 2009
    remorce: You managed to install the game. You can launch the game in a similar fashion. "wine Launcher.exe" is one way to do that.
    Connecting the server the first time I ran the game seemed to take ages but eventually it managed to connect and contacted the update server.
    If that doesn't help then try to hit "Upd. settings" in the launcher and set the info there correctly. IIRC the first part choose "patch" then on the following 3 checkboxes mark the first and the third which should be automatically and allow it to resume after being shut down or something along those lines.
    The little Mozilla thingie shouldn't be mandatory, but I did install it.

    As for the patching I'm about to post a thread to do that on Linux here on the Tech Support forums. You might be able to use that info to patch your Wine too.

    I get a connection timeout error(unable to connect to internet) so I think I need to install gecko. which I didnt do before. How would I go about installing gecko into wine?

    EDIT I found this http://wiki.jswindle.com/index.php/Advanced_Wine_User_Installation#Installing_Gecko Just dont know what it means by downloading it? Help.

    EDIT 2. I decided to re install. (wine)
  • Julyah - Sanctuary
    Julyah - Sanctuary Posts: 160 Arc User
    edited February 2009
    Gecko should be installed automatically when you get the message. If not then basically what you gotta do is get 'winetricks' script.
    In the link you posted you can find the link for winetricks. The 'ln' and 'chmod' lines there just make a link to other directory and make winetricks an executable.
    Dunno how you handle chmod in OSX, but I hope you know, just make it an executable somehow. The ln part you can forget, since it's not important. Then just execute winetricks with the added info 'gecko'. For OSX there's a nice winetricks frontend called TRIX. You could try it and install gecko that way.

    I just don't think Gecko is what causes the problem, or even that where you cannot connect to internet. Judging by the error code I'd say it has something to do with that opengl extension.
    [Tech Support Junkie]
    Player 1: "I dont believe this is an off-topic worthy thread."
    Player 2: "It's not even worth it for lower depths. What do we do?"
    Player 3: "Delete it?"
    Mod: "Moving this to tech support."
    _________________________________
    Sanctuary: Julyah - Venomancer | Tevos - Wizard | Elliana - Archer
  • remorce
    remorce Posts: 6 Arc User
    edited February 2009
    Gecko should be installed automatically when you get the message. If not then basically what you gotta do is get 'winetricks' script.
    In the link you posted you can find the link for winetricks. The 'ln' and 'chmod' lines there just make a link to other directory and make winetricks an executable.
    Dunno how you handle chmod in OSX, but I hope you know, just make it an executable somehow. The ln part you can forget, since it's not important. Then just execute winetricks with the added info 'gecko'. For OSX there's a nice winetricks frontend called TRIX. You could try it and install gecko that way.

    I just don't think Gecko is what causes the problem, or even that where you cannot connect to internet. Judging by the error code I'd say it has something to do with that opengl extension.

    Alright downloaded using TRiX (this means it downloaded correctly right?) brad-hickeys-macbook:~ bradhickey$ curl http://www.kegel.com/wine/winetricks > /tmp/winetricks
    export PATH=$PATH:"/Users/bradhickey/Downloads/TRiX.app/Contents/Resources/bin":""
    sh /tmp/winetricks -q gecko
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 71295 100 71295 0 0 116k 0 --:--:-- --:--:-- --:--:-- 149k
    brad-hickeys-macbook:~ bradhickey$ export PATH=$PATH:"/Users/bradhickey/Downloads/TRiX.app/Contents/Resources/bin":""
    brad-hickeys-macbook:~ bradhickey$ sh /tmp/winetricks -q gecko
    Xlib: extension "Generic Event Extension" missing on display "/tmp/launch-MkR6aF/:0".
    Xlib: extension "Generic Event Extension" missing on display "/tmp/launch-MkR6aF/:0".
    Executing cabextract -q /Users/bradhickey/.winetrickscache/wine_gecko-0.1.0.cab
    Executing wine regedit /Users/bradhickey/.wine/drive_c/winetrickstmp/geckopath.reg


    Didn't work. what is this opengl you speak of. ALTHOUGH New error! yey?



    brad-hickeys-macbook:launcher bradhickey$ wine launcher.exe
    Xlib: extension "Generic Event Extension" missing on display "/tmp/launch-MkR6aF/:0".
    Xlib: extension "Generic Event Extension" missing on display "/tmp/launch-MkR6aF/:0".
    Xlib: extension "Generic Event Extension" missing on display "/tmp/launch-MkR6aF/:0".
    fixme:wininet:InternetSetOptionExW Flags 00000000 ignored
    fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT (60000): STUB
    fixme:wininet:InternetSetOptionExW Flags 00000000 ignored
    fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT
    brad-hickeys-macbook:launcher bradhickey$ Xlib: extension "Generic Event Extension" missing on display "/tmp/launch-MkR6aF/:0".
    err:wgl:has_opengl glx_version is 1.2 and GLX_SGIX_fbconfig extension is unsupported. Expect problems.
    wine: Unhandled page fault on execute access to 0x00000000 at address 0x0 (thread 001b), starting debugger...
    Unhandled exception: page fault on execute access to 0x00000000 in 32-bit code (0x00000000).
    Register dump:
    CS:0017 SS:001f DS:001f ES:001f FS:1007 GS:0037
    EIP:00000000 ESP:0033f78c EBP:0033f808 EFLAGS:00010202( - 00 - -RI1)
    EAX:6080a600 EBX:6208a18e ECX:00000008 EDX:0033f7ec
    ESI:00000000 EDI:602a60f0
    Stack dump:
    0x0033f78c: 6208a327 6080a600 6082d600 00008013
    0x0033f79c: 0033f7ec 604fee10 6049fd8e 0033f7f8
    0x0033f7ac: 6049fe51 0000033c 0033f7d0 620cbdc8
    0x0033f7bc: 620cbdc8 0033f7ec 0033f880 00000000
    0x0033f7cc: 6080a600 00000000 00000000 602a60f0
    0x0033f7dc: 7def00cc 0012f6b8 00000000 00000008
    0200: sel=1007 base=7def0000 limit=0000ffff 32-bit rw-
    Backtrace:
    =>1 0x00000000 (0x0033f808)
    2 0x62092cf8 (0x0033f8a8)
    3 0x604d88f9 (0x0033f8f8)
    4 0x605c1abc (0x0033fdb8)
    5 0x60638040 (0x0033fe08)
    6 0x60546b07 (0x0033fe68)
    7 0x00341ac2 in sysinfo (+0x1ac2) (0x0033fe98)
    8 0x00341a4d in sysinfo (+0x1a4d) (0x0033febc)
    9 0x0040ab35 in patcher (+0xab35) (0x0033ff58)
    10 0x7b866541 in kernel32 (+0x56541) (0x0033ffe8)
    0x00000000: -- no code accessible --
    Modules:
    Module Address Debug info Name (21 modules)
    PE 340000- 347000 Export sysinfo
    PE 400000- 491000 Export patcher
    PE 10000000-10013000 Deferred packdll
    PE 60170000-60174000 Deferred advapi32
    PE 60310000-60325000 Deferred user32
    PE 60480000-60484000 Deferred gdi32
    PE 60540000-60544000 Deferred d3d8
    PE 60690000-60694000 Deferred msvcrt
    PE 60700000-60704000 Deferred ddraw
    PE 60770000-60774000 Deferred rpcrt4
    PE 607f0000-607f4000 Deferred olepro32
    PE 619d0000-619d4000 Deferred ole32
    PE 61ab0000-61afd000 Deferred winmm
    PE 61b50000-61b62000 Deferred comctl32
    PE 61c30000-61c34000 Deferred oleaut32
    PE 623e0000-623e8000 Deferred wininet
    PE 62470000-62476000 Deferred shlwapi
    PE 624e0000-6255b000 Deferred shell32
    PE 62620000-62626000 Deferred winspool
    PE 7b810000-7b887000 Export kernel32
    PE 7bc10000-7bc14000 Deferred ntdll
    Threads:
    process tid prio (all id:s are in hex)
    0000000c
    00000012 0
    0000000e 0
    0000000d 0
    0000000f
    00000016 0
    00000015 0
    00000011 0
    00000010 0
    00000017
    00000018 0
    0000001a (D) Z:\Users\bradhickey\Desktop\patcher\patcher.exe
    0000001c 0
    0000001b 0 <==
    Backtrace:
    =>1 0x00000000 (0x0033f808)
    2 0x62092cf8 (0x0033f8a8)
    3 0x604d88f9 (0x0033f8f8)
    4 0x605c1abc (0x0033fdb8)
    5 0x60638040 (0x0033fe08)
    6 0x60546b07 (0x0033fe68)
    7 0x00341ac2 in sysinfo (+0x1ac2) (0x0033fe98)
    8 0x00341a4d in sysinfo (+0x1a4d) (0x0033febc)
    9 0x0040ab35 in patcher (+0xab35) (0x0033ff58)
    10 0x7b866541 in kernel32 (+0x56541) (0x0033ffe8)


    Less fixmes!
  • Julyah - Sanctuary
    Julyah - Sanctuary Posts: 160 Arc User
    edited February 2009
    Ye it seems as if Gencko installed correctly. Still the same actual error part which I think is:

    err:wgl:has_opengl glx_version is 1.2 and GLX_SGIX_fbconfig extension is unsupported. Expect problems.
    wine: Unhandled page fault on execute access to 0x00000000 at address 0x0 (thread 001b), starting debugger...
    Unhandled exception: page fault on execute access to 0x00000000 in 32-bit code (0x00000000).


    This is what I see as a problem. OpenGL is kinda a layer between your computer and graphics card. Updating your graphics card drivers would be your best bet. What kind of card are you using?
    [Tech Support Junkie]
    Player 1: "I dont believe this is an off-topic worthy thread."
    Player 2: "It's not even worth it for lower depths. What do we do?"
    Player 3: "Delete it?"
    Mod: "Moving this to tech support."
    _________________________________
    Sanctuary: Julyah - Venomancer | Tevos - Wizard | Elliana - Archer
  • remorce
    remorce Posts: 6 Arc User
    edited February 2009
    @!$* Your gonna want to laugh at this one lol! Intel GMA X3100: The almighty chipset with no drivers!!! Yay!!! I deleted wine and installed Darwine, tried to run PWI and came up with this purty error!


    Meh. Back to Battlefield 2142.
  • remorce
    remorce Posts: 6 Arc User
    edited February 2009
    zerr:module:DelayLoadFailureHook failed to delay load user32.dll.BroadcastSystemMessageW
    wine: Call from 0x7b830f70 to unimplemented function user32.dll.BroadcastSystemMessageW, aborting
    wine: Unimplemented function user32.dll.BroadcastSystemMessageW called at address 0x7b830f70 (thread 0016), starting debugger...
    couldn't load main module (2)
    Unhandled exception: unimplemented function user32.dll.BroadcastSystemMessageW called in 32-bit code (0x7b830ff1).
    Register dump:
    CS:0017 SS:001f DS:001f ES:001f FS:10d7 GS:0037
    EIP:7b830ff1 ESP:6075e6f4 EBP:6075e768 EFLAGS:00000246( - 00 - IZP1)
    EAX:7b819525 EBX:7b830f88 ECX:00000000 EDX:00000000
    ESI:00000002 EDI:6064a498
    Stack dump:
    0x6075e6f4: 6075e7a8 00000008 7bc275b3 80000100
    0x6075e704: 00000001 00000000 7b830f70 00000002
    0x6075e714: 6064a498 6064a4a3 7b89e6b1 7dec0bf8
    0x6075e724: 6075e748 00000000 600024de 7b92cf80
    0x6075e734: 6064a498 6075e778 60002527 00000001
    0x6075e744: 7b92cf80 7b89e6b1 7b89e6c6 6075e790
    021a: sel=10d7 base=7dec0000 limit=0000ffff 32-bit rw-
    Backtrace:
    =>1 0x7b830ff1 in kernel32 (+0x20ff1) (0x6075e768)
    2 0x7b855789 in kernel32 (+0x45789) (0x6075e7c8)
    3 0x60648cb5 (0x6075e808)
    4 0x60646130 (0x6075e878)
    5 0x606473b3 (0x6075e9d8)
    6 0x6064783e (0x6075ee68)
    7 0x91e566df (0x6075eee8)
    8 0x91e562d9 (0x6075ef68)
    9 0x9481d455 (0x6075efa8)
    10 0x948418e8 (0x6075f568)
    11 0x94841d34 (0x6075f5b8)
    12 0x60647ab7 (0x6075f608)
    13 0x7bc62c2e (0x6075f628)
    14 0x7bc6340d (0x6075f6c8)
    15 0x7bc63614 (0x6075ff78)
    16 0x94c08095 (0x6075ffc8)
    17 0x94c07f52 (0x6075ffec)
    0x7b830ff1: movl 0xfffffff4(%ebp),%ecx
    Modules:
    Module Address Debug info Name (5 modules)
    PE 60180000-60184000 Deferred advapi32
    PE 60470000-60474000 Deferred rpcrt4
    PE 61b70000-61b74000 Deferred gdi32
    PE 7b810000-7b887000 Export kernel32
    PE 7bc10000-7bc14000 Deferred ntdll
    Threads:
    process tid prio (all id:s are in hex)
    00000008
    00000009 0
    0000000c
    00000014 0
    00000013 0
    00000012 0
    0000000e 0
    0000000d 0
    0000000f (D) C:\windows\system32\winedevice.exe
    00000016 0 <==
    00000015 0
    00000011 0
    00000010 0
    Backtrace:
    =>1 0x7b830ff1 in kernel32 (+0x20ff1) (0x6075e768)
    2 0x7b855789 in kernel32 (+0x45789) (0x6075e7c8)
    3 0x60648cb5 (0x6075e808)
    4 0x60646130 (0x6075e878)
    5 0x606473b3 (0x6075e9d8)
    6 0x6064783e (0x6075ee68)
    7 0x91e566df (0x6075eee8)
    8 0x91e562d9 (0x6075ef68)
    9 0x9481d455 (0x6075efa8)
    10 0x948418e8 (0x6075f568)
    11 0x94841d34 (0x6075f5b8)
    12 0x60647ab7 (0x6075f608)
    13 0x7bc62c2e (0x6075f628)
    14 0x7bc6340d (0x6075f6c8)
    15 0x7bc63614 (0x6075ff78)
    16 0x94c08095 (0x6075ffc8)
    17 0x94c07f52 (0x6075ffec)
    err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x948bb668
    wine client error:16: write: Bad file descriptor
    err:seh:raise_exception Exception frame is not in stack limits => unable to dispatch exception.
  • Tequila_wolf - Heavens Tear
    Tequila_wolf - Heavens Tear Posts: 193 Arc User
    edited February 2009
    i'm new to linux, but i am wondering how i download it, i tried the direct download, and i got a error saying unrecognized file, i tried the torrent, but it didni't find anyone to get it from :/ any help would be greatly apperciated
  • Julyah - Sanctuary
    Julyah - Sanctuary Posts: 160 Arc User
    edited February 2009
    @remorce: Sorry, can't decipher those errors too well. I bet no one is actually really good with those. All I can say is that I checked the graphics card and from what I understand it should be sufficient to run the game.

    @Tequila_wolf: You mean downloading Linux or Perfect World? I presume you meant PW. If you haven't got Wine installed you might get unrecognized file error when you open the file, but the download itself should go without any problems.
    As for the torrent part, normally you need a bit of time before it connects. Don't know how familiar you are with torrents but the speed is always worse in the beginning than it is in the end.
    With torrents be sure to get the right one, by which I mean the official. Some sites may offer the same client in their own torrent but in those there's hardly any seeders.

    http://download.perfectworld.com/pwi/clients/Perfect_World_International_install.torrent would be the one that I used and there were few hundred seeds available.

    If you can't connect to seeds with torrent there might be something wrong with your torrent settings. In that case make sure you're connectable.
    [Tech Support Junkie]
    Player 1: "I dont believe this is an off-topic worthy thread."
    Player 2: "It's not even worth it for lower depths. What do we do?"
    Player 3: "Delete it?"
    Mod: "Moving this to tech support."
    _________________________________
    Sanctuary: Julyah - Venomancer | Tevos - Wizard | Elliana - Archer
  • remorce
    remorce Posts: 6 Arc User
    edited February 2009
    Yeah but the card has no drivers.

    Anyways. Installing on mothers comp. PC and it has a good card. I think.

    How do you find the type of card installed on windows?
  • Julyah - Sanctuary
    Julyah - Sanctuary Posts: 160 Arc User
    edited February 2009
    Through Control Panel you should be able to get to System info and Hardware list in where you should see what kind of card the computer ha.
    Also there's a free diagnostics program called "SiSoft Sandra" that can tell you lots of stuff about your computer.
    [Tech Support Junkie]
    Player 1: "I dont believe this is an off-topic worthy thread."
    Player 2: "It's not even worth it for lower depths. What do we do?"
    Player 3: "Delete it?"
    Mod: "Moving this to tech support."
    _________________________________
    Sanctuary: Julyah - Venomancer | Tevos - Wizard | Elliana - Archer
  • Mohkano - Sanctuary
    Mohkano - Sanctuary Posts: 89 Arc User
    edited March 2009
    Having some problems installing it myself:

    Gets to 99% on the unicows.dll file and then returns the error:
    fixme:event:wait_for_withdrawn_state window 0x10062/a0002a wait timed out

    Been looking for answers to this, but if anyone can help, it would be appreciated.

    Thank you.
  • Julyah - Sanctuary
    Julyah - Sanctuary Posts: 160 Arc User
    edited March 2009
    I tried googling with your error message (without the numbers as they always vary) and got quite many relevant answers. You could look into that, I'm a bit busy going to sleep right now so I don't have time. Also, what Wine version are you using? I'd upgrade to latest one, or at least nigh latest, 1.1.14 or higher.
    [Tech Support Junkie]
    Player 1: "I dont believe this is an off-topic worthy thread."
    Player 2: "It's not even worth it for lower depths. What do we do?"
    Player 3: "Delete it?"
    Mod: "Moving this to tech support."
    _________________________________
    Sanctuary: Julyah - Venomancer | Tevos - Wizard | Elliana - Archer
  • Mohkano - Sanctuary
    Mohkano - Sanctuary Posts: 89 Arc User
    edited March 2009
    Yeah, I browsed google, and I sort of fixed the problem in that it no longer returns that error message, however, it still gets to 99% and fails to complete the installation.

    Using the latest version of wine, and I've updated and disabled everything that I was supposed to, and I have the unicows.dll file, but, eh. <__>
  • Ulty - Lost City
    Ulty - Lost City Posts: 3 Arc User
    edited March 2009
    Hiya,
    I have been playin in Ubuntu since last year
    Here is my SS playin in linux
    http://i43.tinypic.com/2vsj813.png
    The skills (xcept macros) and items graphics are garbled. Others are fine tho.

    My computer specs:
    OS: Ubuntu 8.10
    Proc: Core2 Duo 3GHz
    Motherboard: Asus P5N-D
    VGA: NVIDIA GeForce 9600 GT (if im not mistaken)
    RAM 4GB

    What I did in my Ubuntu:
    1. Install the latest Wine distribution (the development release)
    http://www.winehq.org/site/download
    2. Install DirectX 9.0c into the wine
    3. Install PWI and updates

    The Settings of Wine:
    Windows version: WinXP
    Graphic:
    - Tick emulate virtual desktop, set the size as necessary. It doesn't matter when you play full screen in virtual desktop as it resize by itself.
    I play PWI full screen in virtual desktop. I don't know why the position of all the interface's position went to the top left when the client minimized without virtual desktop.
    - DirectX 3D : Hardware, turn on pixel shader

    I hope that help. If you want to ask something, you can PM me, Ulty, in Lost City server.
  • Julyah - Sanctuary
    Julyah - Sanctuary Posts: 160 Arc User
    edited March 2009
    Ulty, go check out my message about installing the Wine patch to fix the skills and item graphics on the first or second page of this thread.
    [Tech Support Junkie]
    Player 1: "I dont believe this is an off-topic worthy thread."
    Player 2: "It's not even worth it for lower depths. What do we do?"
    Player 3: "Delete it?"
    Mod: "Moving this to tech support."
    _________________________________
    Sanctuary: Julyah - Venomancer | Tevos - Wizard | Elliana - Archer
  • Ulty - Lost City
    Ulty - Lost City Posts: 3 Arc User
    edited March 2009
    Then navigate to the folder that just extracted and open in your favourite text editor a file called 'dlls/wined3d/device.c'.
    Once there you gotta navigate to the row 6001 and delete out that line and the next one. They should say:
    GL_EXTCALL(glCompressedTexImage2DARB(glDescription->target, glDescription->level,
    glDescription->glFormatInternal, srcWidth, srcHeight, 0, destSize, data));


    Then replace them with the line that says:
    FIXME("PW no S3TC support");

    Save and close the file, then open in your text editor a file called 'directx.c' that resides in the same directory as the last one.
    Find the line 2306 that should say:
    return TRUE;

    Change it into:
    return FALSE;

    Then save and exit.

    Once that is done navigate up a few times into the wine main directory. Once there execute a command (as a user, meaning without the 'su' or 'sudo' command) "./tools/wineinstall" that should now compile the code and install it automatically. If you're well versed in the art of command line you can compile it by hand instead if you want to. You will be asked for your password later. Enter it. Also after it has compiled you will be asked whether you want to install it too. Answer yes. After a while you should have it done.

    Thx that works.

    few additional notes tho to avoid confusion (as I did):
    in Wine 1.1.16, the line that you must delete/comment out in 'dlls/wined3d/device.c' line number 6069. The other one has the same line number.
  • Mohkano - Sanctuary
    Mohkano - Sanctuary Posts: 89 Arc User
    edited March 2009
    I still don't quite understand why it locks up at 99% at the unicows.dll file and then uninstalls itself with no error messages.

    You told me to google it, and I did, and I came up with 3 pages of stuff, looked through most everything relevant, but nothing has fixed it. :(

    Using Wine 1.1.16
    Knoppix distro
  • Julyah - Sanctuary
    Julyah - Sanctuary Posts: 160 Arc User
    edited March 2009
    It might just be that unicows.dll isn't the problem but something after that and it only shows unicows.dll there since it was the last properly installed file.

    On the other hand if it indeed is about unicows.dll you can browse the internet and download the file separately and see if that helps. Most likely it won't but never be too sure.

    EDIT:

    Might be that you're missing some other .dll files. Google for "winetricks", install it and through it install the .dll packets, most importantly msvc*'s.

    What other games have you played with your current Wine installation?
    [Tech Support Junkie]
    Player 1: "I dont believe this is an off-topic worthy thread."
    Player 2: "It's not even worth it for lower depths. What do we do?"
    Player 3: "Delete it?"
    Mod: "Moving this to tech support."
    _________________________________
    Sanctuary: Julyah - Venomancer | Tevos - Wizard | Elliana - Archer
  • Fasalina - Heavens Tear
    Fasalina - Heavens Tear Posts: 9 Arc User
    edited March 2009
    it seems i find one way to make patch
    wich is:

    just going to the patcher directory
    and

    wine patcher.exe


    capturadetela.th.png

    have 2 say sorry for my english as well so continued..

    here is the patch for wine version 1.1.2

    ANIMTED CURSOR
    NO S3TC
    diff -Naur wine-1.1.2/dlls/user32/cursoricon.c wine/dlls/user32/cursoricon.c
    --- wine-1.1.2/dlls/user32/cursoricon.c	2008-07-25 17:42:25.000000000 +0200
    +++ wine/dlls/user32/cursoricon.c	2008-10-16 13:33:30.000000000 +0200
    @@ -660,6 +660,93 @@
         return &dir->idEntries[n];
     }
     
    +/* 
    + * Functions for decoding animated cursors.
    + * Currently doesn't support well ANIs with SEQUENCE or RATE chunks.
    + * see: http://www.oreilly.com/www/centers/gff/formats/micriff/
    + */
    +
    +typedef DWORD FOURCC;
    +typedef FOURCC CKID;
    +typedef DWORD CKSIZE;
    +
    +typedef struct {
    +    CKID     ckID;
    +    CKSIZE   ckSize;
    +    BYTE     ckData[1];
    +} CK;
    +
    +typedef struct
    +{
    +    DWORD HeaderSize;   /* Size of the subchunk data in bytes */
    +    DWORD NumFrames;    /* Number of icon or cursor frames */
    +    DWORD NumSteps;     /* Number of steps in the animation */
    +    DWORD Width;        /* Width of frame in pixels */
    +    DWORD Height;       /* Height of frame in pixels */
    +    DWORD BitCount;     /* Number of bits in the frame pixels */
    +    DWORD NumPlanes;    /* Number of color planes in the frame data */
    +    DWORD DisplayRate;  /* Default frame display rate */
    +    DWORD Flags;        /* File attributes flags */
    +} ANIHEADER;
    +
    +typedef struct 
    +{
    +    ANIHEADER *anih;
    +    LPBYTE *ani_frames;
    +    DWORD ani_frame_idx;
    +} ANIRIFFDATA;
    +
    +static void decodeRIFF(LPBYTE bytes, DWORD size, ANIRIFFDATA *data)
    +{
    +    CK *chunk = (CK*)bytes;
    +    CKSIZE sizeWithPad = chunk->ckSize % 2 ? chunk->ckSize + 1 : chunk->ckSize;
    +    switch(chunk->ckID) 
    +    {
    +    case 0x46464952:  /* RIFF */
    +        decodeRIFF(chunk->ckData + 4, chunk->ckSize - 4, data);
    +        break;
    +    case 0x5453494c:  /* LIST */
    +        decodeRIFF(chunk->ckData + 4, chunk->ckSize - 4, data);
    +        break;
    +    case 0x68696e61: /* anih */
    +        data->anih = (ANIHEADER*)chunk->ckData;
    +        data->ani_frames = (LPBYTE *)HeapAlloc( GetProcessHeap(), 0, sizeof(LPBYTE) * data->anih->NumFrames );
    +        break;
    +    case 0x6e6f6369: /* icon */
    +        if (data->anih && data->ani_frame_idx < data->anih->NumFrames)
    +            data->ani_frames[data->ani_frame_idx++] = chunk->ckData;
    +        break;
    +    }
    +    if (sizeWithPad + 8 < size)
    +        decodeRIFF(bytes + 8 + sizeWithPad, size - 8 - sizeWithPad, data);
    +}
    +
    +/* frames and nFrames are out parameters, it is the caller's responsibility to 
    + * free *frames when done.  Do not use *frames after freeing data.
    + */
    +static void decodeAnimatedCursor(LPBYTE bits, DWORD size, LPBYTE **frames, DWORD *nFrames, DWORD *delay)
    +{
    +    ANIRIFFDATA data;
    +    data.anih = NULL;
    +    data.ani_frames = NULL;
    +    data.ani_frame_idx = 0;
    +
    +    decodeRIFF(bits, size, &data);
    +
    +    *nFrames = 0;
    +    if (data.anih) 
    +    {
    +        *frames = data.ani_frames;
    +        *nFrames = data.anih->NumFrames;
    +        *delay = data.anih->DisplayRate * 1000 / 60;
    +    }
    +}
    +
    +static BOOL isAnimatedCursor(LPBYTE bits)
    +{
    +    return bits[0] == 'R' && bits[1] == 'I' && bits[2] == 'F' && bits[3] == 'F';
    +}
    +
     /**********************************************************************
      *		CreateIconFromResourceEx (USER32.@)
      *
    @@ -694,8 +781,72 @@
         }
     
         if (bIcon)
    +    {
             bmi = (BITMAPINFO *)bits;
    -    else /* get the hotspot */
    +        hotspot.x = 0;
    +        hotspot.y = 0;
    +    }
    +    else if (isAnimatedCursor(bits))
    +    {
    +        HICON hFirstIcon = 0;
    +        LPBYTE *frames = NULL;
    +        DWORD nFrames;
    +        DWORD delay;
    +
    +        decodeAnimatedCursor(bits, cbSize, &frames, &nFrames, &delay);
    +
    +        if (frames) 
    +        {
    +            DWORD i;
    +            HICON hCurIcon = 0;
    +
    +            for (i = 0; i < nFrames; i++) 
    +            {
    +                CURSORICONFILEDIR *dir;
    +                CURSORICONFILEDIRENTRY *entry;
    +                LPBYTE bits = frames[i];
    +
    +                dir = (CURSORICONFILEDIR*) bits;
    +                entry = CURSORICON_FindBestCursorFile( dir, width, height, 1 );
    +                if (entry) 
    +                {
    +                    HICON hNextIcon = CreateIconFromResourceEx( &bits[entry->dwDIBOffset], entry->dwDIBSize, TRUE, 0x00030000, 0, 0, 0 );
    +
    +                    if (hNextIcon == NULL) 
    +                    {
    +                        continue;
    +                    } 
    +                    else 
    +                    {
    +                        if (hCurIcon) 
    +                        {
    +                            CURSORICONINFO *info = (CURSORICONINFO *)GlobalLock16( HICON_16(hCurIcon) );
    +                            CURSORICONINFO_NEXT(info) = HICON_16(hNextIcon);
    +                            CURSORICONINFO_DELAY(info) = delay;
    +                            GlobalUnlock16( HICON_16(hCurIcon) );
    +                        }
    +                        hCurIcon = hNextIcon;
    +                    }
    +                    
    +                    if (i == 0)
    +                        hFirstIcon = hNextIcon;
    +                }
    +            }
    +
    +            if (hCurIcon) 
    +            {
    +                CURSORICONINFO *info = (CURSORICONINFO *)GlobalLock16( HICON_16(hCurIcon) );
    +                CURSORICONINFO_DELAY(info) = delay;
    +                GlobalUnlock16( HICON_16(hCurIcon) );
    +            }
    +
    +            /* and cleanup */
    +            HeapFree( GetProcessHeap(), 0, frames );
    +        }
    +
    +        return hFirstIcon;
    +    }
    +    else /* get the hotspot */ 
         {
             POINT16 *pt = (POINT16 *)bits;
             hotspot = *pt;
    @@ -845,7 +996,8 @@
         sizeAnd = bmpAnd.bmHeight * bmpAnd.bmWidthBytes;
     
         hObj = GlobalAlloc16( GMEM_MOVEABLE,
    -                     sizeof(CURSORICONINFO) + sizeXor + sizeAnd );
    +                     sizeof(CURSORICONINFO) + sizeXor + sizeAnd + 
    +                     sizeof(HICON16) + sizeof(DWORD) );
         if (hObj)
         {
             CURSORICONINFO *info;
    @@ -860,9 +1012,13 @@
             info->bBitsPerPixel = bmpXor.bmBitsPixel;
     
             /* Transfer the bitmap bits to the CURSORICONINFO structure */
    -
             GetBitmapBits( hAndBits, sizeAnd, (char *)(info + 1) );
             GetBitmapBits( hXorBits, sizeXor, (char *)(info + 1) + sizeAnd );
    +
    +        /* Set animated sequence info to none */
    +        CURSORICONINFO_NEXT(info) = 0;
    +        CURSORICONINFO_DELAY(info) = 0;
    +
             GlobalUnlock16( hObj );
         }
     
    @@ -881,7 +1037,6 @@
         return CreateIconFromResourceEx( bits, cbSize, bIcon, dwVersion, 0,0,0);
     }
     
    -
     static HICON CURSORICON_LoadFromFile( LPCWSTR filename,
                                  INT width, INT height, INT colors,
                                  BOOL fCursor, UINT loadflags)
    @@ -898,10 +1053,10 @@
         if (!bits)
             return hIcon;
     
    -    /* Check for .ani. */
    -    if (memcmp( bits, "RIFF", 4 ) == 0)
    +    if (isAnimatedCursor(bits))
         {
    -        FIXME("No support for .ani cursors.\n");
    +        hIcon = CreateIconFromResourceEx( bits, filesize, !fCursor, 0x00030000, 
    +                                            0, 0, loadflags );
             goto end;
         }
     
    @@ -1468,7 +1623,8 @@
         /* Change the cursor shape only if it is visible */
         if (thread_info->cursor_count >= 0)
         {
    -        USER_Driver->pSetCursor( (CURSORICONINFO*)GlobalLock16(HCURSOR_16(hCursor)) );
    +        CURSORICONINFO *info = (CURSORICONINFO*)GlobalLock16(HCURSOR_16(hCursor));
    +        USER_Driver->pSetCursor( info );
             GlobalUnlock16(HCURSOR_16(hCursor));
         }
         return hOldCursor;
    diff -Naur wine-1.1.2/dlls/wined3d/device.c wine/dlls/wined3d/device.c
    --- wine-1.1.2/dlls/wined3d/device.c	2008-07-25 17:42:25.000000000 +0200
    +++ wine/dlls/wined3d/device.c	2008-10-16 13:34:39.000000000 +0200
    @@ -5905,14 +5905,7 @@
                     } if (destFormat != srcFormat) {
                         FIXME("Updating mixed format compressed texture is not curretly support\n");
                     } else {
    -                    GL_EXTCALL(glCompressedTexImage2DARB)(glDescription->target,
    -                                                        glDescription->level,
    -                                                        glDescription->glFormatInternal,
    -                                                        srcWidth,
    -                                                        srcHeight,
    -                                                        0,
    -                                                        destSize,
    -                                                        IWineD3DSurface_GetData(pSourceSurface));
    +		    FIXME("PW no S3TC support");
                     }
                 } else {
                     FIXME("Attempting to update a DXT compressed texture without hardware support\n");
    diff -Naur wine-1.1.2/dlls/wined3d/directx.c wine/dlls/wined3d/directx.c
    --- wine-1.1.2/dlls/wined3d/directx.c	2008-07-25 17:42:25.000000000 +0200
    +++ wine/dlls/wined3d/directx.c	2008-10-16 13:35:01.000000000 +0200
    @@ -2288,7 +2288,7 @@
             case WINED3DFMT_DXT5:
                 if (GL_SUPPORT(EXT_TEXTURE_COMPRESSION_S3TC)) {
                     TRACE_(d3d_caps)("[OK]\n");
    -                return TRUE;
    +                return FALSE;
                 }
                 TRACE_(d3d_caps)("[FAILED]\n");
                 return FALSE;
    diff -Naur wine-1.1.2/dlls/wined3d/glsl_shader.c wine/dlls/wined3d/glsl_shader.c
    --- wine-1.1.2/dlls/wined3d/glsl_shader.c	2008-07-25 17:42:25.000000000 +0200
    +++ wine/dlls/wined3d/glsl_shader.c	2008-10-16 13:33:30.000000000 +0200
    @@ -54,7 +54,7 @@
     } glsl_sample_function_t;
     
     /** Prints the GLSL info log which will contain error messages if they exist */
    -void print_glsl_info_log(WineD3D_GL_Info *gl_info, GLhandleARB obj) {
    +void print_glsl_info_log(WineD3D_GL_Info *gl_info, GLhandleARB obj, char *from) {
         
         int infologLength = 0;
         char *infoLog;
    @@ -95,9 +95,9 @@
                 }
             }
             if(is_spam) {
    -            TRACE("Spam received from GLSL shader #%u: %s\n", obj, debugstr_a(infoLog));
    +            TRACE("Spam received from GLSL shader[%s] #%u: %s\n", from, obj, debugstr_a(infoLog));
             } else {
    -            FIXME("Error received from GLSL shader #%u: %s\n", obj, debugstr_a(infoLog));
    +            FIXME("Error received from GLSL shader[%s] #%u: %s\n", from, obj, debugstr_a(infoLog));
             }
             HeapFree(GetProcessHeap(), 0, infoLog);
         }
    @@ -3262,7 +3262,7 @@
         /* Link the program */
         TRACE("Linking GLSL shader program %u\n", programId);
         GL_EXTCALL(glLinkProgramARB(programId));
    -    print_glsl_info_log(&GLINFO_LOCATION, programId);
    +    print_glsl_info_log(&GLINFO_LOCATION, programId, "set_glsl_shader_program");
     
         entry->vuniformF_locations = HeapAlloc(GetProcessHeap(), 0, sizeof(GLhandleARB) * GL_LIMITS(vshader_constantsF));
         for (i = 0; i < GL_LIMITS(vshader_constantsF); ++i) {
    @@ -3379,7 +3379,7 @@
         GL_EXTCALL(glAttachObjectARB(program_id, pshader_id));
         GL_EXTCALL(glLinkProgramARB(program_id));
     
    -    print_glsl_info_log(&GLINFO_LOCATION, program_id);
    +    print_glsl_info_log(&GLINFO_LOCATION, program_id, "create_glsl_blt_shader");
     
         /* Once linked we can mark the shaders for deletion. They will be deleted once the program
          * is destroyed
    @@ -3620,7 +3620,7 @@
         TRACE("Compiling shader object %u\n", shader_obj);
         GL_EXTCALL(glShaderSourceARB(shader_obj, 1, (const char**)&buffer->buffer, NULL));
         GL_EXTCALL(glCompileShaderARB(shader_obj));
    -    print_glsl_info_log(&GLINFO_LOCATION, shader_obj);
    +    print_glsl_info_log(&GLINFO_LOCATION, shader_obj, "shader_glsl_generate_pshader");
     
         /* Store the shader object */
         This->baseShader.prgId = shader_obj;
    @@ -3677,7 +3677,7 @@
         TRACE("Compiling shader object %u\n", shader_obj);
         GL_EXTCALL(glShaderSourceARB(shader_obj, 1, (const char**)&buffer->buffer, NULL));
         GL_EXTCALL(glCompileShaderARB(shader_obj));
    -    print_glsl_info_log(&GLINFO_LOCATION, shader_obj);
    +    print_glsl_info_log(&GLINFO_LOCATION, shader_obj , "shader_glsl_generate_vshader");
     
         /* Store the shader object */
         This->baseShader.prgId = shader_obj;
    diff -Naur wine-1.1.2/dlls/wined3d/state.c wine/dlls/wined3d/state.c
    --- wine-1.1.2/dlls/wined3d/state.c	2008-07-25 17:42:25.000000000 +0200
    +++ wine/dlls/wined3d/state.c	2008-10-16 13:33:30.000000000 +0200
    @@ -977,7 +977,7 @@
         if (use_vs(stateblock->wineD3DDevice)
                 && ((IWineD3DVertexShaderImpl *)stateblock->vertexShader)->baseShader.reg_maps.fog) {
             if( stateblock->renderState[WINED3DRS_FOGTABLEMODE] != WINED3DFOG_NONE ) {
    -            if(!is_ps3) FIXME("Implement table fog for foggy vertex shader\n");
    +/*            if(!is_ps3) FIXME("Implement table fog for foggy vertex shader\n");*/
                 /* Disable fog */
                 fogenable = FALSE;
             } else {
    diff -Naur wine-1.1.2/dlls/wined3d/surface.c wine/dlls/wined3d/surface.c
    --- wine-1.1.2/dlls/wined3d/surface.c	2008-07-25 17:42:25.000000000 +0200
    +++ wine/dlls/wined3d/surface.c	2008-10-16 13:33:30.000000000 +0200
    @@ -902,6 +902,7 @@
         ENTER_GL();
     
         glGetIntegerv(GL_READ_BUFFER, &prevRead);
    +    checkGLcall("glGetIntegerv");
     
         /* Select the correct read buffer, and give some debug output.
          * There is no need to keep track of the current read buffer or reset it, every part of the code
    @@ -913,6 +914,7 @@
              */
             TRACE("Locking offscreen render target\n");
             glReadBuffer(device->offscreenBuffer);
    +        checkGLcall("glReadBuffer");
         } else {
             GLenum buffer = surface_get_gl_buffer((IWineD3DSurface *) This, (IWineD3DSwapChain *)swapchain);
             TRACE("Locking %#x buffer\n", buffer);
    @@ -935,6 +937,7 @@
          * this code from getting called in such cases or perhaps
          * we can use FBOs */
     
    +    checkGLcall("before glCopyTexSubImage2D");
         glCopyTexSubImage2D(This->glDescription.target,
                             This->glDescription.level,
                             0, 0, 0, 0,
    @@ -4320,9 +4323,10 @@
                 /* The only place where LoadTexture() might get called when isInDraw=1
                  * is ActivateContext where lastActiveRenderTarget is preloaded.
                  */
    +#if 0
                 if(iface == device->lastActiveRenderTarget && device->isInDraw)
                     ERR("Reading back render target but SFLAG_INDRAWABLE not set\n");
    -
    +#endif
                 /* Otherwise: System memory copy must be most up to date */
     
                 if(This->CKeyFlags & WINEDDSD_CKSRCBLT) {
    diff -Naur wine-1.1.2/dlls/wined3d/wined3d_private.h wine/dlls/wined3d/wined3d_private.h
    --- wine-1.1.2/dlls/wined3d/wined3d_private.h	2008-07-25 17:42:25.000000000 +0200
    +++ wine/dlls/wined3d/wined3d_private.h	2008-10-16 13:33:30.000000000 +0200
    @@ -2199,7 +2199,8 @@
     
     extern void print_glsl_info_log(
         WineD3D_GL_Info *gl_info,
    -    GLhandleARB obj);
    +    GLhandleARB obj,
    +    char *from);
     
     static inline int shader_get_regtype(const DWORD param) {
         return (((param & WINED3DSP_REGTYPE_MASK) >> WINED3DSP_REGTYPE_SHIFT) |
    diff -Naur wine-1.1.2/dlls/winex11.drv/mouse.c wine/dlls/winex11.drv/mouse.c
    --- wine-1.1.2/dlls/winex11.drv/mouse.c	2008-07-25 17:42:25.000000000 +0200
    +++ wine/dlls/winex11.drv/mouse.c	2008-10-16 13:33:30.000000000 +0200
    @@ -32,6 +32,9 @@
     MAKE_FUNCPTR(XcursorImageCreate);
     MAKE_FUNCPTR(XcursorImageDestroy);
     MAKE_FUNCPTR(XcursorImageLoadCursor);
    +MAKE_FUNCPTR(XcursorImagesCreate);
    +MAKE_FUNCPTR(XcursorImagesDestroy);
    +MAKE_FUNCPTR(XcursorImagesLoadCursor);
     # undef MAKE_FUNCPTR
     #endif /* SONAME_LIBXCURSOR */
     
    @@ -112,6 +115,9 @@
         LOAD_FUNCPTR(XcursorImageCreate);
         LOAD_FUNCPTR(XcursorImageDestroy);
         LOAD_FUNCPTR(XcursorImageLoadCursor);
    +    LOAD_FUNCPTR(XcursorImagesCreate);
    +    LOAD_FUNCPTR(XcursorImagesDestroy);
    +    LOAD_FUNCPTR(XcursorImagesLoadCursor);
     #undef LOAD_FUNCPTR
     #endif /* SONAME_LIBXCURSOR */
     }
    @@ -542,7 +548,6 @@
         return image;
     }
     
    -
     /***********************************************************************
      *              create_xcursor_cursor
      *
    @@ -552,6 +557,9 @@
     {
         Cursor cursor;
         XcursorImage *image;
    +    XcursorImages *images;
    +    int nframes;
    +    HICON16 hNext, hNextNext;
     
         if (!ptr) /* Create an empty cursor */
         {
    @@ -565,6 +573,70 @@
             return cursor;
         }
     
    +    nframes = 0;
    +    hNext = 0;
    +    do {
    +         if (hNext == 0)
    +             hNext = CURSORICONINFO_NEXT(ptr);
    +         else 
    +         {
    +             CURSORICONINFO *p = GlobalLock16(hNext);
    +             if (p)
    +             {
    +                 hNextNext = CURSORICONINFO_NEXT(p);
    +                 GlobalUnlock16(hNext);
    +                 hNext = hNextNext;
    +             }
    +             else
    +                 hNext = 0;
    +         }
    +     
    +         nframes++;
    +     } while (hNext);
    + 
    +     images = pXcursorImagesCreate( nframes ); 
    + 
    +     hNext = 0;
    +     do {
    +         CURSORICONINFO *info = ptr;
    +         if (hNext)
    +         {
    +             info = GlobalLock16(hNext);
    +             if (!info)
    +                 break;
    +         }
    + 
    +         image = create_cursor_image( info );
    +         if (!image) 
    +         {
    +             pXcursorImagesDestroy( images );
    +             GlobalUnlock16(hNext);
    +             return 0;
    +         }
    + 
    +         /* Make sure hotspot is valid */        
    +         image->xhot = info->ptHotSpot.x;
    +         image->yhot = info->ptHotSpot.y;
    +
    +         if (image->xhot >= image->width ||
    +             image->yhot >= image->height)
    +         {
    +             image->xhot = image->width / 2;
    +             image->yhot = image->height / 2;
    +         }
    + 
    +         image->delay = CURSORICONINFO_DELAY(info);
    + 
    +         images->images[images->nimage++] = image;
    +  
    +         hNextNext = CURSORICONINFO_NEXT(info);
    +         GlobalUnlock16(hNext);
    +         hNext = hNextNext;
    +     } while (hNext);
    +  
    +     cursor = pXcursorImagesLoadCursor( display, images );
    +     pXcursorImagesDestroy( images );
    +#if 0
         image = create_cursor_image( ptr );
         if (!image) return 0;
     
    @@ -582,6 +654,7 @@
     
         cursor = pXcursorImageLoadCursor( display, image );
         pXcursorImageDestroy( image );
    +#endif
     
         return cursor;
     }
    diff -Naur wine-1.1.2/include/wine/winuser16.h wine/include/wine/winuser16.h
    --- wine-1.1.2/include/wine/winuser16.h	2008-07-25 17:42:25.000000000 +0200
    +++ wine/include/wine/winuser16.h	2008-10-16 13:33:30.000000000 +0200
    @@ -157,6 +157,9 @@
         BYTE    bPlanes;
         BYTE    bBitsPerPixel;
     } CURSORICONINFO;
    +#define CURSORICONINFO_END(x) ((BYTE*)(x) + sizeof(CURSORICONINFO) + (x)->nHeight * (x)->nWidthBytes + (x)->nHeight * (x)->nWidth / 8)
    +#define CURSORICONINFO_NEXT(x) *(HICON16*)(CURSORICONINFO_END(x))
    +#define CURSORICONINFO_DELAY(x) *(DWORD*)(CURSORICONINFO_END(x) + sizeof(HICON16))
     
     typedef struct {
     	BOOL16		fIcon;
    

    so save that into r /home/wine-1.1.2
    then just follow this command line:
    patch -p1 < patch name
    ./configure; make; make install
    
    this command take some time...

    I got some error trying 2 install, so what i did is
    install under windowsxp then copy all to my .wine/drive_c/program files/

    and im doing patch now ..
    soon i'll post some results..

    capturadetela1.th.png

    capturadetela2.th.png

    capturadetela3.th.png

    and i don't install
    DirectX thing hehehehe...
  • Ethismos - Dreamweaver
    Ethismos - Dreamweaver Posts: 2 Arc User
    edited March 2009
    Once that is done navigate up a few times into the wine main directory.

    I think i did everything correct with downloading, editing files etc, now
    I keep getting an error when i run wineinstall with terminal. It says
    Wine Installer v1.0

    You're running this from the wrong directory.
    Change to the Wine source's main directory and try again.

    Any idea from where i should run it? When i automatically install it (from add/remove programs) i get wine folders in usr/lib/wine and home/name/.wine

    I start to think my file is just corrupted because i tried a few folders and i keep getting the same error... but anyway could someone tell me exactly the location the he extracted the files? Like usr/lib/wine_1.1.16/tools/wineinstall etc... and describe a bit which commands he used to run it or if he changed any folder names... in case i am doing something wrong.

    Thanks a lot.

    PS: Running ubuntu 8.10 for a while and i managed to get quite a few games working so i 'm quite annoyed with this.
  • Fasalina - Heavens Tear
    Fasalina - Heavens Tear Posts: 9 Arc User
    edited March 2009
    I think i did everything correct with downloading, editing files etc, now
    I keep getting an error when i run wineinstall with terminal. It says


    Any idea from where i should run it? When i automatically install it (from add/remove programs) i get wine folders in usr/lib/wine and home/name/.wine

    I start to think my file is just corrupted because i tried a few folders and i keep getting the same error... but anyway could someone tell me exactly the location the he extracted the files? Like usr/lib/wine_1.1.16/tools/wineinstall etc... and describe a bit which commands he used to run it or if he changed any folder names... in case i am doing something wrong.

    Thanks a lot.

    PS: Running ubuntu 8.10 for a while and i managed to get quite a few games working so i 'm quite annoyed with this.

    well it seems u have 2 change r wine directory...
    to whatever u want..

    i just install my programs at home folder..
    so u can pick up a new location...

    u can move or even copy the intire directory
    mv wine-1.1.2 /home/yourfolder  (move)
    -----
    cp wine-1.1.2 /home/yourfolder (copy)
    

    and then try 2 run wineinstall thing..
    i never run this command line hehehe... XD

    to change folder names i just use cp
    like if i wanna change my /home/brian
    cp /home/brian /home/perfectworld
    
  • Julyah - Sanctuary
    Julyah - Sanctuary Posts: 160 Arc User
    edited March 2009
    Ethismos:

    The wine source folder is the one where you extracted the source files that you downloaded. Normally the source comes in packaged format. You just need to remember/check where you extracted it.
    Most likely it will be '/home/<yourusername>' or '/home/<yourusername>/Desktop'

    You don't need to touch any of your automatically installed wine files or folders.
    [Tech Support Junkie]
    Player 1: "I dont believe this is an off-topic worthy thread."
    Player 2: "It's not even worth it for lower depths. What do we do?"
    Player 3: "Delete it?"
    Mod: "Moving this to tech support."
    _________________________________
    Sanctuary: Julyah - Venomancer | Tevos - Wizard | Elliana - Archer
This discussion has been closed.