Logo Search packages:      
Sourcecode: scummvm version File versions

Todo List

Class Common::ConfigManager
Implement the callback based notification system (outlined below) which sends out notifications to interested parties whenever the value of some specific (or any) configuration key changes.

Class Graphics::Font
Maybe move the high-level methods (drawString etc.) to a separate FontRenderer class? That way, we could have different variants... ?

Member Common::Stream::ioFailed () const
Instead of returning a plain bool, maybe we should define a list of error codes which can be returned here.

Class Scumm::MemBlkHeader
Hide MemBlkHeader; no code outside the resource manager should have to use it, ever. Currently script code needs it to detect whether some scripts have moved (in fetchScriptByte()).

Class MidiDriver
Rename MidiDriver to MusicDriver

Class MidiDriverDescription
Rename MidiDriverType to MusicDriverType

Member OSystem::EventType
Merge EVENT_LBUTTONDOWN, EVENT_RBUTTONDOWN and EVENT_WHEELDOWN; likewiese EVENT_LBUTTONUP, EVENT_RBUTTONUP, EVENT_WHEELUP. To do that, we just have to add a field to the Event which indicates which button was pressed.

Member OSystem::setShakePos (int shakeOffset)=0
This is a rather special screen effect, only used by the SCUMM frontend - we should consider removing it from the backend API and instead implement the functionality in the frontend.

Class OSystem::Event
Rework/document this structure. It should be made 100% clear which field is valid for which event type. Implementation wise, we might want to use the classic union-of-structs trick. It goes roughly like this: struct BasicEvent { EventType type; }; struct MouseMovedEvent : BasicEvent { Common::Point pos; }; struct MouseButtonEvent : MouseMovedEvent { int button; }; struct KeyEvent : BasicEvent { ... }; ... union Event { EventType type; MouseMovedEvent mouse; MouseButtonEvent button; KeyEvent key; ... };

Member OSystem::Event::keycode
Document which values are to be used for non-ASCII keys like F1-F10. For now, let's just say that our primary backend is the SDL one, and it uses the values SDL uses... so until we fix this, your best bet is to get a copy of SDL_keysym.h and look at that, if you want to find out a key code.

Class PluginManager
Add support for dynamic plugins (this may need additional API, e.g. for a plugin path)

Class Common::SeekableReadStream
We really need better error handling here! Like seek should somehow indicate whether it failed.

Generated by  Doxygen 1.6.0   Back to index