Zalo DS Blog

Monday, June 25, 2007

Windows port

It has only taken me a few hours to port my engine for Windows :P. Here it is if you want to try it. You can change between cameras with backspace

Windows port


I am going to upload the source code of all this stuff to sourceforge or something similar soon, so that it can be available for anyone.

Monday, June 18, 2007

3D More and More!!

Here I am again. I am starting to realize how I hate writing into my blogs XDDD. Well, for some of you that may be wandering what I have been doing I am going to post it as brief as I can.

My engine did't work in some supercards
And I say didn't because now it works perfectly (well, I hope so). The day after I posted the previous entry in my blog, Olaia (one of the many girls we have at work :D) told me that the app I upload didn't work in her DS. First I thought it was because it was pink but after searching a little in some forums I realized that there was a problem with the SC Lite Rumble (or SC Rumble Lite, I never remember the name) that was also pink. It took me two weeks to realize what was goin on, but then I found a post saying that this kind of cards doesn't have an extra memory space where I used to store my application resources. Luckily there is another way to store resources using the bin2s application (whose developer mustn't be very proud of his application, I think, because there is almost no documentatin about how to use it >:/ )
Also there was a problem with the latest devkitARM version (r20) that makes any of your application not to work on that Rumble cards, so I am using r19 instead.

Problem with vertex boundaries
Yes, I wrote about this in the previous post. Vertices in DS must be in 4:12 fixed point format. That means any coordinate of your vertices must be between [-8, 7]. If you have a mesh in your 3d studio max and reescale it so that it fits into a big cube of that dimensions (16, 16, 16 and centered) you basically are doing nothing, because reescaling in max affects meshes's matrices but not vertices. So I changed my exporter to export normalized matrices and reescale vertices (well, in fact it was a little more complicated than that ^_^ but basically that's the idea).
With these changes in my exporter I also fixed a problem with normals (yeah, use always normalized matrices, my friend; you will never regret it XD)

Keyboard implementation
Sorry Ds but this is your fault. Keys interrupts in DS only work with key-pressed but not with key-released!! That made me change the class I implemented for the keyboard. I have also improve it so that it can tell me some screen touch coordinates info. And, of course all these things work in Symbian too :P (well, my n-gage doesn't have a touch screen... so there was nothing to do with that ^^U)

And... something new to show you

This weekend I was bored and tired so I have spent the whole two days at home basically doing nothing XDD. But I have compiled a DS application that will show you something very familiar from a N64 game :D
The application has two cameras you can change using "Select" in DS or "0" in Symbian. The first has been recorded in 3d max (by me, and that's why it looks so weird) and the other one is a new special one that I have developed for DS, you can move it with the touch screen and the control pad (like in the Metroid game)

Download it from here:
Symbian
Nintendo DS

Well, and now everything is ready to make a game. So I think it is about time :)

PD: don't think that I am working on a n64 emulator or somethimk like that. The scene has been exported from one of the n64 emulators using a plugging and then converted to my own format from 3d studio max.