View Single Post
ArnimS's Avatar
Posts: 1,107 | Thanked: 720 times | Joined on Mar 2007 @ Germany
#8
Originally Posted by pipeline View Post
Well since no one else wanted to do this, i built quake 1 for maemo and it seems like it will work fairly good on my n800.

This is first iteration but wanted to share to prove it can be done. I will go through the code and try to get it fullscreen, with maemo friendly bindings, and support of memory card for storing data files, and deb installer.

If other coders want to jump on board feel free... i just compiled sdlquake with the VM appliance (not the appliance released today but one which supports bora)

Not sure if it will work on 770/os2006... does the 770 have math co-processor? if not it may not ever work out unless someone (not me) codes a lot of custom integer math logic.

I get low fps (3-8fps?) but can shrink window for what i would guess is fast enough gameplay (15+?)

Sounds work and i actually just like the eery immersion of the environment so it may perfect game to have for me.

Just download the executable (its zipped for now, perhaps someone can post a tar) from :
http://wardenclyffetower.com/MaemoFiles/sdlquake.zip

Put that in a directory like /home/user/quake

Then download the shareware data files from :
http://www.libsdl.org/projects/quake/

and extract that archive underneath the quake directory (so that you have a /home/user/quake/ID1 directory)

If you dont like the idea of download a non-fully playable game then hold off while it matures, otherwise post feedback/results.
Grep (-r) the source tree for something like

SDL_SetVideoMode

or

Uint32 flags = SDL_ANYFORMAT | SDL_HWSURFACE | SDL_DOUBLEBUF;

you want to add SDL_FULLSCREEN. The "|" is just an arithmetic OR that combines the bits in the SDL_FLAGs to a single unsigned 32-bit integer.

For e.g. if we were talking about a three-bit unsigned integer, and PUP_HUNGRY = 1 (binary 001) and PUP_SLEEPY = 4 (binary 100) then PUP_HUNGRY | PUP_SLEEPY = 5 (101)

You can also get much improved framerates by using xsp pixel doubling (just google that). Also, the fixed point implementation should speed things up even on the N800.

The gp2x also has a fixed-point quake implementation which may be closer to the sdlquake you have built http://wiki.gp2x.org/wiki/2xQuake
"The game is very playable and benchmarks at 12.5 fps on demo1 at 320x240, 200mhz, with full detail,"

Hope that helps. Congratulations and godspeed!