Could anyone answer?


wiimario

Still Fresh
Joined
Apr 5, 2009
Messages
61
Age
35
Location
Milan, Italy
1) pandora runs linux and so linux games are available for the pandora too without any porting.
2)If the answer isn't right i will be happy to do the port of this open source game: World of padman, openarena, warsow, Nexuiz( tell me if the pandora supports it). But there is a problem I know the c++, but I haven't any idea how to port an 86x to an ARM so if can anyone say me where can I found the source code of quake 3 pandora
 
No, all games need porting.
Linux is just easier because you're already using the Linux libraries such as OpenGL and SDL.

Open source games are much easier to port, basically all you have to do is use the ARM compiler instead of the x86 compiler, and make sure it links with the right ARM libraries.
 
wiimario said:
so I only must to copY/paste the code into an arma compiler?
You don't need to copy/paste anything, just switch the compiler in-place :p
Use this cross-compiler for ARM: http://www.codesourcery.com/sgpp/lite/arm

But it seems that since you aren't really used to this process, it could prove difficult for you to do this. Have you used gcc before? (No offense meant, it could be that you have only programmed on Windows before, where there's really only one compiler in VC++ that's dominant)
 
WOW :| :| :| :|
I think it will be more difficult, so could you explain me how to use that program I download it and then ( it's a compiler or a library?) ah you're right, i've programmed only in windows, but I have a linux netbook too so I resolved the problem...


I think
 
wiimario said:
WOW :| :| :| :|
I think it will be more difficult, so could you explain me how to use that program I download it and then ( it's a compiler or a library?) ah you're right, i've programmed only in windows, but I have a linux netbook too so I resolved the problem...


I think
Well, OK, the basic process works like this:
1. Download the package. There are various versions that are of different quality. Some people told me that the 2007q3 version is the best one.
2. Install it the usual Linux way :p
3. In your application that you want to port, the Makefile contains a variable for the compiler you want to use, most of the time, for example "CXX=g++" or something similar; change that to the gcc/g++ binary in the codesourcery installation. Many projects also have a cross-compiler variable in the Makefile, but every project uses a different system with this variable so you'll have to read the project's documentation on how to use it.
4. Set up any libraries you want to use. If you link to them statically you will have to recompile them for ARM too, but it might be possible to avoid if you link dynamically.
5. Run the Makefile for the project and fix all errors that crop up.

If you don't understand any of the terms or steps above, you really shouldn't be doing this before learning more about the Linux build system.
 
wiimario said:
what game would you like I port first?
Well, openarena already works afaik, since that's only quake3 with different levels.
Warsow would be kind of nice, but difficult to port.
Nexuiz is really graphically intense and would probably runs lowly on the Pandora.
World of Padman: never played it
 
Another thing first hwen I downoloaded openarena source i'ts divided in parts of code, how I can compress them into an only application without ruining the code? really thanks.
 
You mean compiling it or compressing the source code folder?

To compress it just use any lossless compression algorithm like gzip
To compile it, you just ... compile it.

:huh:
Maybe you should just explain that a little better.
 
Ok, i've the code in (4 example) 3 parts 1) AI.cpp(artificial intelligence) 2)game progress saver.cpp 3) internal source.cpp
These are all necessary to run the game but when I compile the I found 3 different EXE files how can I make ONE exe file with this 3 cpp files
 
omg :)

(First, it is obvious you do not 'know the c++', but thats okay, we al start somewhere :)

Pick a very simple program and try compiling it. For most linux apps you can just unpack, ./configure, make, and good to go. But it may be more than that, but explaining every facet of porting and coding in one message board thread might be out of scope.. though you may find some kind souls ready to do handholding. The important thing is for oyu to just get at it, step by step, and start fiuring it out. So far you've been asking things like 'I drive a car; how do I build a car?' .. theres just no good answer to that :)

jeff
 
I don't know how to because every program i did was single source It's the first time I enter in game development and for me it's new multiple sources exes.
 
wiimario said:
I don't know how to because every program i did was single source It's the first time I enter in game development and for me it's new multiple sources exes.
First off, you really shouldn't be considering doing this if you are THAT new to C++. But read the last part of my post if you still want to.

Then, the process you are talking about is called linking.
You are currently doing something wrong, because you shouldn't get multiple EXEs when compiling multiple files. Only a .cpp-file containing a main void can(*) become an executable. What SHOULD happen is that your multiple cpp files get compiled into .o "object" files, and then those files are linked together into an executable, together with any libraries you refer to. A Makefile should already do this for you.
And by the way, if you compile something on Linux, you don't get .exe files, so I guess you are still working on Windows?

(*)not really, but this is true most of the time.

It seems that you still have a lot to learn; to be able to port something, you'll need the following skills imo (and you might already have some of them):
- Know how to use a GNU/Linux terminal.
- Know how to use the gcc (for C) or g++ (for C++) compiler. I Googled for a tutorial: http://pages.cs.wisc.edu/~beechung/ref/gcc-intro.html
- Know how to use Makefiles to simplify compilation. http://mrbook.org/blog/tutorials/make/
- Know the various methods of linking an external library. This includes dynamic and static linking.
- Know how the libraries you want to use work, for example OpenGL, SDL or plain old libc etc.
 
Back
Top