Wednesday, April 14, 2010

GPH Wiz and Elite

I recently dusted off my misappropriated copy of the newkind source I snarfed while it was available (10 years ago, thank you Mr. Pinder), and ported it to use SDL and then to run on the Wiz (the button mappings are currently a little awkward, but, usable).

I fixed up some long standing bugs in the code (suns are rendered, it doesn't crash randomly due to -ve array indexes), so it gives me something to do when I'm forced to wait (for anything, a compile to finish, for someone to finish shopping d8)

It's running very nicely, it's very playable, I've replaced the scanner with the one from the Archimedes version (I also added the bumper sticker, I need to acquire some decent dice images to add the fluffy dice though). The code let you load one via file, but, that's not quite flexible enough to deal with really changing the scanners. The Archimedes one is about 30px shorter than the original one (a lot when you have 320x240 screen size!), but looks sweet.

I've coverted from PCX-fonts to true-type fonts and made some of the decals transparent. I've removed all the (not-really working) code that tried to deal with different screen resolutions, and have streamlined it to deal with 320x240 (for now). I'm not sold on the "big" font I'm using right now.

I'm now in the process of restructuring the code to make it a little easier to work on, the original code was controlled with globals and it's kind of ugly to try to map js buttons or mouse buttons to mode-specific key presses.

My ToDo List is (in no particular order):
  • Find some .ogg or .mp3 music to replace the 2 MIDIs, the wiz doesn't seem to have timidity or anything that SDL can use to play the midis.
  • Restructure Code to allow nicer event handling.
  • Add an Icon Bar to allow "Screen Changing" with the stylus instead of buttons.
  • Add the extra Archimedes ships.
  • Add convoy, formation, and independent battle logic.
  • Add "trimble" mission.
  • Add fluffy dice (as an option perhaps only at a certain ranking).
  • Add IFS equipment.
  • Convert to OpenGL instead of original 3D.
  • Re-add the screen resolution code (in a better fashion) so I can transfer my saved games back/forth and play at a nice resolution when I want to.

No comments: