Dev Plans/WIP Status
Here I collect thoughts about future development and WIP Status.
Font rendering:
- include dynamic cache allocation for more economically sized glyph caches (currently each glyph cache takes 32kb, even if it only holds one character) * done (19.06.06)
- support italic and bold charsets in one font file (i.e. extend the 256×256 to 512×512 texture, this wouldn’t invalidate old font file) * done (20.06.06)
- support bigger sized glyphs, either up to 32×32 by extending base texture to 512×512 (needing to shift italic/bold charsets into seperate pages) or arbitrary size by a non-texture aligned approach (the font texture can actually be any size, since glyphs are blitted in software).
Subtitle parser:
- add UTF-8 input * done (22.06.06)
- add UTF-16LE/BE input * done (26.06.06)
- recognize UTF-8/16 streams
- asian language support: will need either a font file for each unicode page from U+4E00 – U+9FFF (i.e. ~53 fonts!) or a possibility to map unicode to a smaller and more often used set of kanji (e.g. shiftjis, which still needs ~30 font files) * done with shift-jis charmap, thus having 28 font pages to handle (22.06.06) * also added Uni Han and Big5 charmaps, so japanese, korean and traditional chinese should be covered. It’s possible to include any number of unicode chars to a font file (26.06.06)
- more subtitle formats support (possibly also with basic html formatting, see font rendering) * SubRip support done
- change linked list approach of unicode charmap into a better organized structure with less memory overhead * done
General graphics subsystem:
- create a flexible dynamic texture cache manager, which holds frequently used textures in VRAM (for GUI) * done (07.07.06)
- extend texture manager with better cache data structure (soft heap/fibonacci heap?)
- try a faster swizzling approach then in SDK sample (linear reading from source, swizzled writes to destination OR try swizzling by doing multiple sceGuCopyImage calls) * linear reading approach done
- try with image postprocessing effects using GU and image blending (luminance boost, chroma shift, etc)
- animated graphic file loading for gif and mng * gif loading done (06.07.06) (broken – needs rewrite)
- extend the graphics library for more flexible drawing functions
- include a resource management system * done (23.01.07)
Skinning:
- work out a clean skin file layout with XML * partially done
- XML parser (maybe via TinyXML – needs C++ compilation though)
- handle event-scripts (link to GUI event handler)
GUI:
- Layout a basic window manager * partially done (16.06.06) finished general GUI object class (23.01.07)
- Add basic controls for button, textbox, image
- Add a button control manager for button input
- Add gui event handler
PMP Mod core:
- try to avoid current allocation of interface buffer in video frame buffers (~1.5MB) -> will need double buffering, but this will probably cause slow down * done, no slow down (now also in official version by jonny)
- create one version for PMP and PMP AVC playback (possible by doing a ME reset whenever a different video is played, according to moonlight)