Arx Fatalis Port

Arx Fatalis Port

Postby Black Mage » 16 Jan 2011, 12:25

Hi

Arx Fatalis is one of my favorite games ever, and since i study computer science and love coding
i decided to try and port arx fatalis to linux.

My previous experience with a similar work was porting Dark Oberon from using the closed source fmod music library to sdl mixer.
you can see my work in the cvs, its not great and eventually since the project is almost dead and my code segfaulted on some systems my work didn't get to a release.

My plan of work is this:

1) Get Arx to compile on my windows 7 system with visual basic since it should compile and work and has visual studio 2008 project files.
2) Slowly port it from every closed source library used to an open cross platform one, the main port would be directx7 to opengl, but i might
start working first on some easier library to warm up a bit.
3) Test and compile the ported libraries on windows
4) When the library port is ready and working on windows, try to compile it on Linux and fix the issues that come up.
5) Hopefully if i ever make it here, test the game on Linux and finish it (i never got trough the last boss, he seems to be unkillable with a mage :\)
*) My systems are 64 bit so if i run into trouble in any part of the process i will need to address that as well :/
**) Maybe if things go well ill try to raise up a community around the project if it wouldn't be done yet.


I assume that this is not a "one mans job" even worse is the fact that i am a student and there is a chance that i will have very little time, if at all to work on the port.

I didn't came here to make any promises, i came here to notify people that might be interested in the Arx Fatalis code to avoid duplicated effort.
If anyone wants to work on the code, even open a project page and a code repository, and you read my post, please notify me so i can join the project or at
least know who to ask about which part of the code is being worked on.

For anyone that is interested and want to contact me, my name is Leon and my email is vleon1@gmail.com.
Black Mage
 
Posts: 4
Joined: 16 Jan 2011, 11:45

Re: Arx Fatalis Port

Postby Black Mage » 17 Jan 2011, 00:01

I am having trouble in compiling the source on window 7 64bit, under visual studio express edition.
i tried installing old august 2007 directx sdk, and the latest January 2010.

This is a negative and a positive setback.

The positive side is that i am not interested in updating the directx code and i want the source to compile as soon
as possible, so i am definitely going to work on porting the game to opengl as a first step.

The negative aspect is that i want to know that the code is otherwise OK, preferably on my comp, but i don't even have information
of the code compiling on any other computer.
If someone compiled the code, or has tips of how to overcome my difficulty, i will be more than glad to hear about it! :)
Black Mage
 
Posts: 4
Joined: 16 Jan 2011, 11:45

Re: Arx Fatalis Port

Postby charlie » 17 Jan 2011, 05:38

Instead of OpenGL, I'd suggest an engine like Ogre3D: www.ogre3d.org

The reason being, it takes care of some cross platform issues (e.g. Windows drivers supporting DirectX better than OpenGL, or supporting a range of OpenGL versions) and gives you plenty of interesting options for effects (lighting, bump mapping) without having to program it all manually. It would possibly be a simplification of the existing code.
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2063
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Arx Fatalis Port

Postby sopyer » 17 Jan 2011, 06:45

I have successfully compiled and run Arx Fatalis with Steam demo resources. You can find my repository at git://github.com/sopyer/ArxFatalis.git. The only thing that you should do is to find DirectX7 SDK and copy it to the DX directory. You can download it from http://bcb-tools.com/Downloads.htm#DirectX7 for example. Modern DXSDK does not work, as they lack DirectX7. I have also created MSVC++ 2010 Express solution(Gaia10.sln), which I used for compilation. Hope this will help.
sopyer
 
Posts: 1
Joined: 17 Jan 2011, 06:34

Re: Arx Fatalis Port

Postby seryu » 17 Jan 2011, 11:42

If you need help, you can check my google code project:

http://code.google.com/p/arx-liberis/

I've updated MSVC projects in order to compile in VC++ 2010 express.

I'll update dx7 code to dx9.
seryu
 
Posts: 2
Joined: 17 Jan 2011, 11:39

Re: Arx Fatalis Port

Postby Black Mage » 17 Jan 2011, 17:33

Thanks A LOT!!!
This is a great help since i still prefer to work with code that compiles :)
I wont have time to use your repo today, but hopefully if all goes well ill start working on it tomorrow.
Black Mage
 
Posts: 4
Joined: 16 Jan 2011, 11:45

Re: Arx Fatalis Port

Postby qubodup » 17 Jan 2011, 18:15

I love it when a plan come together.

I mean a repository comes together.

I mean a repository gets put online and turns out to be useful for others.
User avatar
qubodup
Global Moderator
 
Posts: 1671
Joined: 08 Nov 2009, 22:52
Location: Berlin, Germany

Re: Arx Fatalis Port

Postby lubosz » 17 Jan 2011, 20:49

Hi. I was able to compile the code with libwine. It is still not linking, because I still have some issues.
The biggest Problems of the code base are:

1. Fucking case sensitivity. The developers managed to write every case possibility of including the headers
2. String methods. Ancient non ANSI string methods
3. D3D and w32 types obviously (but wine headers help with that currently)
4. type / casting conflicts with min / max and also w32 types

I have written a CMake build, but I'm not ready yet with the full compile.
https://github.com/lubosz/ArxFatalis
lubosz
 
Posts: 6
Joined: 17 Jan 2011, 20:47

Re: Arx Fatalis Port

Postby lubosz » 17 Jan 2011, 20:52

BTW, it would be nice if we would agree on using git, and not svn.
lubosz
 
Posts: 6
Joined: 17 Jan 2011, 20:47

Re: Arx Fatalis Port

Postby p0ss » 18 Jan 2011, 02:43

Hi there, I registered just for this, I'm not going to be any help with the port, but I'd love to work on a High Res Mod. The other advantage of a high res mod (apart from looking pretty), is that I could release the new textures under an open license thus allowing the ported version to be distributed without the licensed assets. I'm having a look through the assets now to see what I'll need to proceed.

Are we getting a forum or something to organize discussion better?
p0ss
 
Posts: 26
Joined: 18 Jan 2011, 02:10

Re: Arx Fatalis Port

Postby p0ss » 18 Jan 2011, 04:24

I'm not going to be much help with the porting, but I'd like to work on a high res mod, which would have the added benefit of enabling the source to be distributed with data files. Problem is, I'm yet to find a pak extractor that will work on arx paks under wine. Looks like the right tool for the job is http://teachsolaisgames.com/utils/ArxPakFull.zip however it apparently only works well on older versions of windows, which I don't have access to. I've tried in win 7 and ubuntu 10.10, if anyone has win 2000 box that'd be perfect, but it might be worth trying under XP too. If you need the .paks and you don't own the game, or feel like pirating, you can download a demo, its not all of the files of the full game but its enough for me to start work on .
p0ss
 
Posts: 26
Joined: 18 Jan 2011, 02:10

Re: Arx Fatalis Port

Postby lubosz » 18 Jan 2011, 04:52

p0ss {l Wrote}:I'm not going to be much help with the porting, but I'd like to work on a high res mod, which would have the added benefit of enabling the source to be distributed with data files. Problem is, I'm yet to find a pak extractor that will work on arx paks under wine. Looks like the right tool for the job is http://teachsolaisgames.com/utils/ArxPakFull.zip however it apparently only works well on older versions of windows, which I don't have access to. I've tried in win 7 and ubuntu 10.10, if anyone has win 2000 box that'd be perfect, but it might be worth trying under XP too. If you need the .paks and you don't own the game, or feel like pirating, you can download a demo, its not all of the files of the full game but its enough for me to start work on .

Did you try wine?
lubosz
 
Posts: 6
Joined: 17 Jan 2011, 20:47

Re: Arx Fatalis Port

Postby p0ss » 18 Jan 2011, 08:04

second sentence mate :)

> Problem is, I'm yet to find a pak extractor that will work on arx paks under wine.
p0ss
 
Posts: 26
Joined: 18 Jan 2011, 02:10

Re: Arx Fatalis Port

Postby lubosz » 18 Jan 2011, 10:24

Check out the subreddit i've opened for the organization of porting arx:
http://www.reddit.com/r/ArxFatalis/
I think this is a better way to communicate than a forum thread :)
lubosz
 
Posts: 6
Joined: 17 Jan 2011, 20:47

Re: Arx Fatalis Port

Postby seryu » 18 Jan 2011, 10:47

p0ss {l Wrote}:I'm not going to be much help with the porting, but I'd like to work on a high res mod, which would have the added benefit of enabling the source to be distributed with data files. Problem is, I'm yet to find a pak extractor that will work on arx paks under wine. Looks like the right tool for the job is http://teachsolaisgames.com/utils/ArxPakFull.zip however it apparently only works well on older versions of windows, which I don't have access to. I've tried in win 7 and ubuntu 10.10, if anyone has win 2000 box that'd be perfect, but it might be worth trying under XP too. If you need the .paks and you don't own the game, or feel like pirating, you can download a demo, its not all of the files of the full game but its enough for me to start work on .


I can help you with that ;)

I'll send you the data later. What's your email?

BTW I have the GOG version (which I recommend, being DRM free).
seryu
 
Posts: 2
Joined: 17 Jan 2011, 11:39

Re: Arx Fatalis Port

Postby lubosz » 18 Jan 2011, 16:52

IRC anyone? Join #arxfatalis on irc.freenode.net
lubosz
 
Posts: 6
Joined: 17 Jan 2011, 20:47

Re: Arx Fatalis Port

Postby Black Mage » 18 Jan 2011, 20:43

The recent new about the gallium direct3d state tracker are very interesting.
maybe we should port the game to d3d10/11 as well? :P

Some people seem to think that i lead some project, actually i want to be part of a project but as
i mentioned i have less times than some of the people here since im a student..

I liked the name "arx liberis" and when i get home i would like to join the project, maybe all of us from this post
should gather arround on some agreed time on the irc channel that was opened?

im a bit incoherent, so im sorry. but i hope that at least a third of my massage is passed trough all my rumbling :P
Black Mage
 
Posts: 4
Joined: 16 Jan 2011, 11:45

Re: Arx Fatalis Port

Postby wombatkin » 20 Jan 2011, 01:34

Hi folks,

I've created small command-line arx .pak files unpacker.
Here is links to sources and win32 binaries:

https://github.com/wombatkin/arx-unpacker
https://github.com/downloads/wombatkin/ ... -win32.zip

At this moment it undertands only one argument - .pak filename, e.g. arx-unpacker.exe data.pak and will unpack to current directory. Later I'll add more useful options like extracting concrete files, listing of .pak files, etc. Sources should be compilable under linux, but I haven't tested this yet.

Any ideas are welcome :)
wombatkin
 
Posts: 1
Joined: 20 Jan 2011, 01:26

Re: Arx Fatalis Port

Postby ImminentWaffle » 20 Jan 2011, 02:28

Did anyone else encounter this error when trying to compile the Athena project?

Athena.cpp
Generating Code...
Compiling manifest to resources...
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation. All rights reserved.
Linking...
Creating library ../lib/Athena.lib and object ../lib/Athena.exp
hermes_debug.lib(HERMES_pack_public.obj) : error LNK2019: unresolved external symbol "public: static void __cdecl ArxDebug::Assert(wchar_t const *,wchar_t const *,unsigned int)" (?Assert@ArxDebug@@SAXPB_W0I@Z) referenced in function "void __cdecl WriteData(char *,unsigned int *,void *)" (?WriteData@@YAXPADPAIPAX@Z)
../../game/Athena.dll : fatal error LNK1120: 1 unresolved externals
ImminentWaffle
 
Posts: 2
Joined: 20 Jan 2011, 02:27

Re: Arx Fatalis Port

Postby ImminentWaffle » 22 Jan 2011, 21:52

I found my solution for the ArxDebug issue I posted above. There were some files deep in the include folder that I needed to rearrange (seems odd I would have to do that, and it is probably not the solution intended by them, but it works for me). Now, however, I am getting errors all over the place because the code is trying to pass in TCHAR* into a method that accepts char* as a parameter. There is probably some sort of compiler setting I am missing that would allow this, but I don't know what it is. Anyone?
ImminentWaffle
 
Posts: 2
Joined: 20 Jan 2011, 02:27

Re: Arx Fatalis Port

Postby TheAncientGoat » 23 Jan 2011, 16:17

Btw, progress shot of Arx under Linux using winelibs: http://i.imgur.com/eSyvk.png
User avatar
TheAncientGoat
Community Moderator
 
Posts: 518
Joined: 27 Dec 2009, 19:06

Re: Arx Fatalis Port

Postby KroArtem » 23 Jan 2011, 16:36

winelibs? No way :(
KroArtem
 
Posts: 375
Joined: 26 Aug 2010, 19:04

Re: Arx Fatalis Port

Postby TheAncientGoat » 23 Jan 2011, 17:20

That's not the main project's ideal; they're just trying to get something working asap
User avatar
TheAncientGoat
Community Moderator
 
Posts: 518
Joined: 27 Dec 2009, 19:06

Re: Arx Fatalis Port

Postby KroArtem » 23 Jan 2011, 17:24

ok, read on one of their github pages that this is a temporary solution.
KroArtem
 
Posts: 375
Joined: 26 Aug 2010, 19:04

Re: Arx Fatalis Port

Postby p0ss » 13 Feb 2011, 02:11

Thanks wombatkin, that is really helpful :) I've also joined the reddit and will do what I can to help, I'm primarily creating things for OpenGameArt at the moment, but if there is anything I can do as a crossover between the two (textures being a great example), and you guys don't mind me releasing any art I make under GPL, then I'll certainly add in whatever I can :)
p0ss
 
Posts: 26
Joined: 18 Jan 2011, 02:10

Who is online

Users browsing this forum: No registered users and 1 guest