1. A full port. Get this to acually work as a homebrew app. The source is here. It's written in SDL, not C as I had hoped, so my questions are: Does this make this easier or harder to port? Is there extra steps to make this work? Is it just plain impossible to port an SDL package (me thinks not because of SDLx, which can't be too different I guess)? I will be googling tutorials, any links that you think may help would be greatly appriciated.
Allow me to clear up a misunderstanding. C is the programming language. SDL is the library used to handle the graphics, input, etc..
Many programs are written in a language (like C, C++, Assembly) and use a library to draw the graphics (like SDL, OpenGL, DirectDraw, Allegro, Direct3D)
I havn't looked at the code for Abuse but as long as it is written in either C or C++ it should work.
99% of the "porting" of any application or game to the Xbox is this:
Find the code that draws the screen, plays sounds, and reads the input.
Then replace this code with Xbox compatable code.
For example, if the game had a RenderScreen() method that made all the calls to OpenGL, you could look for all the calls to "RenderScreen()" and replace it with your drawScreen() method. your drawScreen method would take the same screen data that RenderScreen used, but instead make Direct3D calls to draw the screen.
This applies to sound and input (replace the keybaord code with Xbox controller code).
If an application is using SDL as the library to draw the graphics, then that's one entire category you don't have to touch because lantus has provided the SDLx (SDL Xbox version). You would then only focus on the other categories.
This is my suggestion on how to proceed:
1) I STRONGLY reccomend the first step be compile it (and run it) on windows.
2) Then comment out all the input and sound code.
3) Since it uses SDL, ou can link to the SDLx libraries so you shouldn't have to change anything regarding the graphics.
4) Create the new Xbox application, link to the SDLx libraries, and compile it. This will generate the xbe.
So in theory, you should be able to compile and run Abuse on the Xbox without changing or writing one line of code (just commenting out any code that gives a compile error like Windows Code, DirectInput code, ect..).
5) After it is running on the Xbox, start looking at replacing the keyboard code with Xbox controller code.
6) When input is working, make any changes that need to be made to ge the sound working
7) That's it.
You do not have to be a coding master, but you should have a basic understanding of programming in C. For example, you know how all of this works:
variables (local, global)
loops (for, while)
data types (int, float, char)
functions (passing parameters, returning values, pass by reference)
how to write and read a text file (fopen, fprintf, fclose)
How to set a pixel color on a texture using Direct3D
Don't even begin the port until you understand all of these concepts. I reccomend learning them in the context of C (and porting apps written in C). That will make things a lot easier. There are lots of C tutorials on the net that cover all of these concepts.This post has been edited by nes6502: Jun 26 2006, 06:33 PM