lilijreey / bwapi

Automatically exported from code.google.com/p/bwapi
0 stars 0 forks source link

Server and drag-select not compatible with WINE #377

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
On a linux platform using Wine, the BWAPI launcher works correctly, but BWAPI 
itself causes a problem with the following error:

"Starcraft was unable to open a required file. This indicates that the 
installation of Starcraft has been corrupted. Please uninstall and then 
reinstall Starcraft using the program "SETUP.EXE" on the Starcraft CD-ROM.

The problem occurred while trying to load the file:
  font\font.gid
  File not found"

This also happens to be the very first file loaded from an MPQ in the entire 
application.

More investigation is necessary to identify the cause.

Original issue reported on code.google.com by AHeinerm on 13 Apr 2011 at 8:02

GoogleCodeExporter commented 9 years ago
This error happens when using Chaoslauncher.
But it works with other injectors like InfectedStarCraft. Unfortunately the 
highest BWAPI revision that works is 1914, everything higher produces black or 
frozen screen with music in the background.
Something has happened in the code since 1914 revision. The next revision with 
binaries available for download is 2224. It's source code is twice bigger than 
1914. I'm not a programmer, so it's hard for me to find the appropriate changes 
between 2224 and 1914 revisions that are available in svn.
I'm not sure but it seems that it is not related to different Visual Studio 
versions, as both revisions use the same 2005.

Original comment by AleXoun...@gmail.com on 28 Apr 2011 at 11:33

GoogleCodeExporter commented 9 years ago
Thanks for the response, I'll know where to look now when I feel the need to 
fix this issue.

We use VC++ 2008 Express now.

Original comment by AHeinerm on 28 Apr 2011 at 6:19

GoogleCodeExporter commented 9 years ago
Revision 1914 does work with Chaoslauncher.

The one major issue is that Starcraft freezes (music continues playing) when 
using revisions 2224 and above.

The error mentioned at the top occurs when both the new loader and BWAPI.dll 
are used in conjunction with each other.

The behaviour of revisions between r1914 and 2224 are unknown.

Original comment by AHeinerm on 20 Aug 2011 at 9:50

GoogleCodeExporter commented 9 years ago
Narrowed it down quite a bit, between r2150 and r2176.

Original comment by AHeinerm on 20 Aug 2011 at 11:07

GoogleCodeExporter commented 9 years ago
r2167 is the revision that introduced the freeze bug in Wine.

Original comment by AHeinerm on 20 Aug 2011 at 11:19

GoogleCodeExporter commented 9 years ago

Original comment by AHeinerm on 20 Aug 2011 at 11:19

GoogleCodeExporter commented 9 years ago
Also want to point something out,
In Windows Vista, SetCommTimeouts fails with ERROR_INVALID_FUNCTION.
In Wine, SetCommTimeouts fails with ERROR_INVALID_HANDLE.

Putting a return statement at the beginning of Server::checkForConnections 
prevents the freeze, but now a crash occurs.

You should probably ask the Wine devs for help since this isn't actually a 
BWAPI issue.

Original comment by AHeinerm on 21 Aug 2011 at 12:38

GoogleCodeExporter commented 9 years ago
BWAPI is now mostly compatible with Wine in r3964.

However, this is a workaround using a config option to disable shared memory. 
Issue remains open.

Original comment by AHeinerm on 28 Nov 2011 at 5:05

GoogleCodeExporter commented 9 years ago
Seems PIPE_NOWAIT is ignored in WINE, thats why Server hangs in 
ConnectNamedPipe.
Shared memory (file mapping) works fine.

Original comment by python....@gmail.com on 2 Dec 2011 at 12:02

GoogleCodeExporter commented 9 years ago
Same problem here, under wine 1.3.37 with BWAPI 3.7.2

ChaosLoader says
"Could not load Plugin "C:\Starcraft\BWAPI_ChaosLauncherInjectord.wbl"
i belive that "d" in the end, is DEBUG dll, and is not important?

Then starts Chaosloader as normal, and star StarCraft

But StarCraft says
"The problem occurred while trying to load the file:
  font\font.gid
  File not found"

If i turn off WBAPI, then Chaosloader runs starcraft very perfecly..

Original comment by EuPho...@gmail.com on 11 Feb 2012 at 5:52

GoogleCodeExporter commented 9 years ago
Have you tried setting the config option to turn off shared memory or a 
different hack loader?

Original comment by AHeinerm on 11 Feb 2012 at 6:48

GoogleCodeExporter commented 9 years ago
Yes, i try at least Chaosloader and MPQDraft with "shared_memory = OFF" in 
bwapi-data/bwapi.ini 
Both running same problem, starcraft says "font\font.gid File not found" in 
both case, if i disable bwapi both loader/injectors work fine, and starcraft 
run..

Original comment by EuPho...@gmail.com on 12 Feb 2012 at 6:10

GoogleCodeExporter commented 9 years ago
Update:
Now to try with InfectedStarcraft, same error about font ... uugghhh =(

Original comment by EuPho...@gmail.com on 12 Feb 2012 at 6:58

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Another UPDATE:
I'l try to run all what i installed in Windows 7, they get same error, i think 
is my trashed directory of starcraft game, ok.. I complete reinstall starcraft 
+ BW + apply patches 1.16.1 and install Chaosloader in clean prefix of wine..
Try to start - OK.
Now i'm install BWAPI in clean game, try to star ... BAD! Same error about 
font! Again!
What i do wrong ?

Original comment by EuPho...@gmail.com on 12 Feb 2012 at 9:37

GoogleCodeExporter commented 9 years ago
Try starting Broodwar and then injecting BWAPI after.
To do this you can use Winject, select the process (Broodwar), then choose 
BWAPI.dll.

Original comment by AHeinerm on 12 Feb 2012 at 3:19

GoogleCodeExporter commented 9 years ago
Thanks! Now it's works with Winject! At last! =)

Original comment by EuPho...@gmail.com on 12 Feb 2012 at 7:26

GoogleCodeExporter commented 9 years ago

Original comment by AHeinerm on 23 Jul 2012 at 3:58

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
The BWAPI project is slowly undergoing the migration to GitHub. All issues have 
been migrated to the GitHub issue tracker located here: 
https://github.com/bwapi/bwapi/issues

In order to receive updates on your issue, please head over to the GitHub issue 
tracker and subscribe to your issue.

Original comment by AHeinerm on 15 Apr 2014 at 7:46