Hard Light Productions Forums
General FreeSpace => FreeSpace & FreeSpace Open Support => Topic started by: Miramor on September 05, 2008, 09:44:12 pm
-
Due to the hideous artifacting bug in the open version, I'm trying to set up the original FS2... Problem is, I can't set up the video card - on attempting to detect my hardware the launcher simply crashes, with no error message. I've tried to run it from the CLI to get error messages, but when I do that it doesn't even start - it just whines about how it can't be run from a drive root directory (even though it is most definitely not being run from such).
Is this a known problem with FS2 under Wine? Are there options I can enable/disable, either in Wine or FS2, to stop the crashing so the game can detect my hardware?
-
I believe launcher.exe only works with open not with retail. You need to run freespace2.exe for retail.
-
That's what I was doing...
At any rate, I was able to stop the crashes by switching to Windows 98 compatibility mode. But it turns out that Wine + D3D *sucks* for the retail version, giving me about one frame per second. :ick: Bleh.
-
Have you tried the icculus.org port? It's just a straight Linux port of the original source code release, so it's almost identical to retail.
You can grab a rather out-of-date (but functional) binary from here: http://icculus.org/~ravage/freespace2/
- or -
You can get newer code from SVN and build it yourself: http://icculus.org/freespace2/cvsinfo.php
-
I tried the SVN build, but it wouldn't compile...
Edit: here's the error I got:
src/inetfile/chttpget.cpp: In member function ‘void ChttpGet::GetFile(char*, char*)’:
src/inetfile/chttpget.cpp:297: error: invalid conversion from ‘void* (*)(void*)’ to ‘void (*)(void*)’
src/inetfile/chttpget.cpp:297: error: initializing argument 1 of ‘long unsigned int _beginthread(void (*)(void*), unsigned int, void*)’
src/inetfile/chttpget.cpp: In function ‘int http_Asyncgethostbyname(unsigned int*, int, char*)’:
src/inetfile/chttpget.cpp:747: error: invalid conversion from ‘void* (*)(void*)’ to ‘void (*)(void*)’
src/inetfile/chttpget.cpp:747: error: initializing argument 1 of ‘long unsigned int _beginthread(void (*)(void*), unsigned int, void*)’
src/inetfile/chttpget.cpp: In function ‘void* http_gethostbynameworker(void*)’:
src/inetfile/chttpget.cpp:798: error: ‘df_pthread_self’ was not declared in this scope
src/inetfile/chttpget.cpp:798: error: ‘df_pthread_detach’ was not declared in this scope
make: *** [src/inetfile/chttpget.o] Error 1
-
Sorry, should be fixed now. Just grab an update and you should be good to go.
Oh, and it should be mentioned that it makes a debug build by default, so you may want to uncomment these two lines near the top of the Makefile to get a release build:
CFLAGS+=-O2
CFLAGS+=-DNDEBUG