My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
ToDo  
Ideas for improvement
Updated Dec 17, 2010 by clac...@gmail.com
  • Merge Oh Boy SDL port with gnuboy SDL port code. Existing SDL port has things like disable sound option, show frames per second. Oh Boy SDL port has frame skip
  • Sound control, disable option (in menu)
  • Menu item wrap-around; E.g. at top of menu and press up move to last item in menu, at top of menu and press down move to first item in menu. There is already support for left/right wrapping.
  • Menu - enable fast/page scrolling
  • gnuboy keybinding, i.e. instead of using SDL key names use gnuboy ones so that .rc file can be used to allow end user to configure keys without requiring a rebuild
  • OR alternatively modify menu (only) to use an SDL event mapping library, such as http://hkn.eecs.berkeley.edu/~mcmartin/vcontrol/ or http://burningsmell.org/sdl_eventmap/
  • add support for frames ala Lemonboy
  • desktop Oh Boy appears to run too fast, see gnuboy for correct timing code
  • Document frame skip
  • Document menu system library/API
  • Load/save state screenshot display/saving. Joyrider has an nice implementation for this.
  • Enhance .zip support?, See http://zziplib.sourceforge.net/zzip-file.html which implements readdir() (so ROM browser could browse inside .zip files)
  • Dingoo: bug fix background image loading - PARTIALLY fixed, Dingoo port can load BMP files. TODO check now that SDL_image can/is used
  • look at memcpy usage in Oh Boy (and gnuboy) and look at improvements. From changes to copying done to alternative memcpy routines. Joyrider used a different memcpy implementation (http://www.danielvik.com/2010/02/fast-memcpy-in-c.html) and gained 1-2 fps improvement.
  • Enhance file browser, see http://insanecoding.blogspot.com/2010/09/optimizing-your-file-dialog.html E.g. replace fcompare() with strnatbase() from article

Completed

  • Uses latest gnuboy code
  • Dingoo port: Sound control, volume in menu (there is an OSD sound option, that requires keys this is different)
  • Dingoo: bug fix rom loader issues
  • Completed file selector code to deal with "../" more intelligently
  • Converted chose dir code to be like load file code (i.e. remove chdir/getcwd code)
  • Save config saves ROM dir with correct escapes for paths (for Dingoo)
  • Dingoo only bug - load/save state was not working
  • Dingoo only bug - load/save batteryand savestate/loading only works if "saves" directory (config setting "savedir") already exists ( and specified in .rc file). mkdir now works on Dingoo port.
  • Screenshot support (Pause key)
  • FPS indicator added
  • Freetype2 now optional - and will use a built in bitmap font (no need for etc/*.ttf for end users), via the SFont library
  • libpng now optional - if not used, attempted to load menu backgroud etc/launch.bmp (but works without)
  • libz now optional / not needed (was a dependency of png on some platforms)
  • Dingoo port has under/over clocking option
  • .zip file support
  • Created bitmap transparent (e.g. png) SFont for use with menu, now uses SDL_image (if missing ugly BMP font without transparency is used). Considered using a mini png to SDL surface loader or TGA files, joyrider/hartex suggested tga, see Joyrider's sms port for Canoo http://www.gp32x.com/board/index.php?/topic/56974-sms-sdl-for-caanoo-by-joyrider-with-picklelauncher-by-pickle/ (limited tga file types). Also see stb_image.c from http://www.nothings.org/. However the SDL_image+libpng overhead was still less that using TTF.
  • allow no scaling (i.e. native res)
  • added full screen support (Thanks for Alya for his custom 160x144 -> 320x320 scaler)

Sign in to add a comment
Powered by Google Project Hosting