Search Results
Searched for posts by xavi2 in all forums

Showing results 1 - 4 out of 4 total
Modify your search
Posted by xavi2, Jan 31, 2013 at 1:42 pm
nomud wrote
Eh, I figured out that I was lacking the correct permissions, and now I have to install SDL. This is why Linux isn't as popular as it should be.

Hello, 99% of Linux users do not need to compile anything today. In the past we needed to compile our kernel and then guides like what you have seen were very useful. In my opinion the problem is not Windows or another OS, the problem is to learn to make software and compile it.

If you want to compile software nowadays in a Debian/Ubuntu machine, you need to install build-essential.

About the packages of SDL, for playing a game you will need SDL packages that are already in the system. But, for compiling a game you will need sdl-dev packages. Eg, in your system I'm sure you have installed:
libsdl-mixer1.2
to play some games,
but if you need to compile them you will need: libsdl-mixer1.2-dev

Usually a software tells you which packages you need to compile. The permissions are need in the installation of these packages and the "make install" command.

If you just want to play IVAN for Linux I have succeded doing this in a 32 bits machine:

http://www.attnam.com/posts/22316#22316

and in a 64 bits machine I have done this:

http://www.attnam.com/posts/22336#22336

Cheers!
Posted by xavi2, Jan 23, 2013 at 7:21 pm
Tried also on my 64 bits linux machine and first I couldn't compile.

To solve it I fixed 0build.sh

change this:

cflags="-Wno-narrowing -Isrc/felib"

to this:

cflags="-Wno-narrowing -Isrc/felib -fpermissive"

Then it compiled. It works, saves, ... but crashes on load a saved file. To load correctly just change in proto.cpp this:

void protosystem::LoadCharacterDataBaseFlags(inputfile& SaveFile)
{ 
  for(int c1 = 1; c1 < protocontainer<character>::GetSize(); ++c1)

to this:

void protosystem::LoadCharacterDataBaseFlags(inputfile& SaveFile)
{ 
  for(int c1 = 1; c1 < protocontainer<character>::GetSize() -1; ++c1)

As you can see, only put a -1 after the GetSize()

Sure other things will not work. At the moment I could kill the big plants on UT and have fun!
Posted by xavi2, Jan 23, 2013 at 11:22 am
capristo wrote
Nice job finding the bug xavi2, it seems like it might be an imperfect fix though, i.e. if more teams or dungeons are added you will have to manually update this number instead of grabbing it from somewhere else.

Yes, it's abosulte imperfect, but I wanted to play in Linux, and play it now! and I had no time to do elegant fix because I don't know why was crashing



Posted by xavi2, Jan 22, 2013 at 2:47 pm
Hello, I managed to make current code work on Linux with small changes.

I downloaded last tar.gz from here: http://repo.or.cz/w/k8-i-v-a-n.git

compiled using:

./0build.sh

but on execution it crashed. I changed this lines in game.cpp

1st change:

void game::InitDungeons () {
  Dungeons = *GetGameScript()->GetDungeons()+1;

to:

void game::InitDungeons () {
  Dungeons = 10;


2nd change:

void game::CreateTeams () {
  Teams = *GetGameScript()->GetTeams();

to:

void game::CreateTeams () {
  Teams = 17;

The 10 and 17 come from Script/dungeon.dat and Script/teams.dat

Sound worked nice using Ivan3D soundpack

Hopefully this will be changed on the sources and don't need to be done.

Thanks a lot!!!