|Team Member since||26/04/2010|
|Working on||SDL backend and OpenGL|
I am one of the 2010 GSoC students working on ScummVM. I will be working on refactoring the SDL backend, and adding OpenGL(ES) as a new render engine for ScummVM.
I have created a blog, where I will post all my progress on this task.
- Design and creation of base subsystems
- Description: Design of a new backend structure that make ports easier to manage
- Time: May 24 – June 7
- Status: Finished
- Deliverables: The new backend structure consists on having the specialized code of the backends (Graphics, Events, Audio, CD, Timer, and else) separated on different manager classes. These managers then are initialized and called from the main backend class.
- New Classes: ModularBackend, MutexManager, GraphicsManager
- Refactored Classes: AudioCDManager
- Refactoring of SDL backend
- Description: Implement the new backend structure to the SDL backend and its ports (Some ports may be left for later if time allows it)
- Time: June 7 – June 28
- Status: Finished
- Deliverables: The SDL backend has been refactored, and almost all its code has been modularized. Most SDL based ports have been modularized.
- Refactored OSystem_SDL, SdlAudioManager, SdlMutexManager, SdlEventManager, SdlGraphicsManager, SdlMixerImpl, OSystem_Win32, OSystem_POSIX, OSystem_MacOSX, OSystem_SDL_SamsungTV, OSystem_SDL_Symbian, OSystem_LINUXMOTO, OSystem_GP2XWIZ, OSystem_GP2X
- Implementation of OpenGL support
- Description: Implement a OpenGL (and OpenGL ES 1.1 compatible) Graphics Manager for use with a SDL backend, and another Manager without using SDL.
- Time: June 28 – July 19
- Status: In progress - Blitting to screen
- To do:
Design the base structure for a OpenGL graphics manager Implement OpenGL setup and screen initialization code for having at least a blank screen when running
- Implement blitting to screen code (drawing of game, overlay, mouse) and screen update
- Implement OpenGL scalers for any aspect ratio
- Implement support for paletted textures (Needs some thought, is it really needed?)
- Code cleanup and documentation
- Implementation of new modular backend for other platform backends
- Description: Refactor the actual ports for subclassing the ModularBackend class
- Time: July 19 – August 14
- Status: To do