|
Post by grizzlybear on Oct 3, 2007 23:02:33 GMT
I managed to compile OpenTyrian on Windows/MSVC with certain minor tweaks made to the source code. Seems to be generally working, though there are occasional glitches and crashes. I don't know if this is attributed to the code being compiled by MSVC or general opentyrian bugs, but they don't seem to kill playability. I'm able to play game 2 or 3 times and occasionally I start seeing some garbage on weapon icons in the "Upgrade Ship" screen, but the game does not crash. The patches, project files and compatibility headers are available from my web page at www.sama.ru/~zeus/tyrian/opentyrian-msvc-patches-r504.zipAs the name implies, they are for SVN revision 504. I've also used SDL built by MSVC (there is a project file downloadable at the libSDL site).
|
|
|
Post by yuriks on Oct 4, 2007 0:03:09 GMT
There are some problems with MSVC, mostly because it doesn't really support C99, and it sucks. =P
I never saw anything like the icon corruption, but it's probably our bug. The code is known to have some bugs that crash/etc under some systems and not on another ones.
|
|
|
Post by yuriks on Oct 6, 2007 0:21:52 GMT
I noticed the patch got commited into the main tree. That's a bad idea.
MSVC has problems compiling OpenTyrian simply because, while opentyr is (now) using C99 code, MSVC only supports some non-standard ANSI C. Instead of reverting all the way back to ANSI C again, a better solution is to just set MSVC to C++ mode, which compiles just fine (excepting some header issues that are easily fixable with ifdefs and stems from C99/C++ incompatibilities (which are minor compared to ANSIC/C99 ones.))
Because of that I'm reverting the latest revision and doing the (little) patching that it needs to compile in MSVC's C++ mode. I hope everyone understands.
EDIT: Doh, nvm it doesn't works. C++ is more strict than C99, so some stuff will fail. You should be using mingw or lcc anyway.
|
|
|
Post by grizzlybear on Oct 6, 2007 19:41:52 GMT
Ok, if you aim for maximum c99 conformance then supporting MSVC idiosyncrasies seems to bring more problems than it solves. I'm perfectly fine with this (maybe I should fork the code though?).
Compiling in C++ mode surely won't work, as C++ and C are waaaaay too different.
|
|
|
Post by Mindless on Oct 6, 2007 22:01:48 GMT
I wouldn't recommend forking until we've got at least the game portion of OpenTyrian bug-free (unless you plan on patching your fork as we fix ours.)
|
|
|
Post by yuriks on Oct 7, 2007 0:31:13 GMT
grizzlybear: Actually C++ is compatible with C with minor differences. One being that C++ is much more strict and requires explicits casts in places where C would do it implicitly. (For example, void* to anything* assignment)
I recommend you wait, we will switch to C++ once the classic port is done, then it should (I hope) compile with MSVC.
BTW, I patched the code to sucefully compile with lcc32-win, so if anyone wants a fast way to compile OpenTyr, that one is kinda quick to setup.
|
|
|
Post by skutarth on Oct 7, 2007 22:54:23 GMT
Hello. I'm new here, but I saw the project the first time a week ago. I was able to compile it using MinGW, and it works like a charm. I haven't experienced any crashes as of yet. There are few problems I've seen so far. Most notably that there are many coloration issues in full screen mode, with the palette being garbled, or the colors are just a little off. Very nice work, nonetheless! I'm looking forward to a GP2X port for when I buy one.
On a related note: Are we not allowed to post unmodified precompiled SVN versions on the forums? I can't see why it isn't already at a releasable state! Of course, I will honor your pending response by not doing so unless I'm told explicitly that I'm able to.
|
|
|
Post by yuriks on Oct 8, 2007 1:55:07 GMT
Yeah, fullscreen is really broken. I'll probably change how it works and force a restart of the game.
And yeah, post builds all you want, I guess people just havn't bothered yet.
|
|
|
Post by skutarth on Oct 8, 2007 22:02:31 GMT
I'll go ahead and start a new thread with official Windows CVS builds. People who run Linux are far more likely to know how to compile it, and it's incidentally also easier to compile with Linux anyway.
I'd love to help with the project as far as coding goes, but my contributions would probably be pretty infrequent. If that doesn't matter, then send me a PM about it.
|
|
|
Post by yuriks on Jan 8, 2008 7:59:09 GMT
As of some time already, the Enhanced branch of OpenTyrian is C++ and has a MSVC++ 2008 Express project, and is also my main developing platform, so if anyone has been waiting, you can now compile OpenTyrian with MSVC.
|
|