User:Seldon/GSoC2007-ProjectDiary
2007-06-09 (Saturday) - analyzing current backend code
Today I am starting my Small Devices Backend project diary. Here I'll be posting all of the current progress information.
I have already ran a pocketSCUMM port on ACER n311 pocket PC. Now I am analyzing the current backend code.
2007-07-01 (Sunday) - back
I am finally back to the project after a prolonged exams period at the two Universities I am currently studying, and planning to catch with all the work on backends.
I have talked to _sev: we've successfully resolved some linker errors over the TightVNC - all that had to be done is to change the order of library paths. Funny. So, the most important tasks for right now are:
- come up with the description of current backends implementation;
- study the new idea of events to replace engine specific keymapping code in the backends ( [Scummvm-devel] RFC: Flexible keymapping via new EVENT_ (post 0.10) by Max)
2007-07-03 (Tuesday) - current backend arhitecture
Yesterday and today I went through all backend implementations (classes that extend OSystem). I gathered the information about all methods in OSystem class hierarchy and presented it the form of tables. There one can easily see all of the OSystem virtual functions, their overriding counterparts in backend implementations, as well backend specific functions. Based on this information it is easy to see what are the common methods for all backends, which of them are simply duplicated, etc.
Legend:
public method |
protected method |
private method |
OSystem | OSystem_Dreamcast : public OSystem |
virtual Audio::Mixer *getMixer | Audio::Mixer *getMixer |
virtual bool getFeatureState | bool getFeatureState |
virtual bool hasFeature | bool hasFeature |
virtual bool openCD | bool openCD |
virtual bool pollCD | bool pollCD |
virtual bool pollEvent | bool pollEvent |
virtual bool setGraphicsMode | bool setGraphicsMode |
virtual bool showMouse | bool showMouse |
virtual Common::EventManager *getEventManager | |
virtual Common::SaveFileManager *getSavefileManager | Common::SaveFileManager *getSavefileManager |
virtual Common::TimerManager *getTimerManager | Common::TimerManager *getTimerManager |
virtual const GraphicsMode *getSupportedGraphicsModes | const GraphicsMode *getSupportedGraphicsModes |
virtual Graphics::Surface *lockScreen | virtual Graphics::Surface *lockScreen |
virtual int getDefaultGraphicsMode | int getDefaultGraphicsMode |
virtual int getGraphicsMode | int getGraphicsMode |
virtual int getOutputSampleRate | int getOutputSampleRate |
virtual int getScreenChangeID | |
virtual int overlayToScreenX | int overlayToScreenX |
virtual int overlayToScreenY | int overlayToScreenY |
virtual int screenToOverlayX | int screenToOverlayX |
virtual int screenToOverlayY | int screenToOverlayY |
virtual int16 getHeight | int16 getHeight |
virtual int16 getOverlayHeight | int16 getOverlayHeight |
virtual int16 getOverlayWidth | int16 getOverlayWidth |
virtual int16 getWidth | int16 getWidth |
virtual MutexRef createMutex | MutexRef createMutex |
virtual OverlayColor ARGBToColor | OverlayColor ARGBToColor |
virtual OverlayColor RGBToColor | OverlayColor RGBToColor |
virtual uint32 getMillis | uint32 getMillis |
virtual void beginGFXTransaction | |
virtual void clearFocusRectangle | |
virtual void clearOverlay | void clearOverlay |
virtual void clearScreen | void clearScreen |
virtual void colorToARGB | void colorToARGB |
virtual void colorToRGB | void colorToRGB |
virtual void copyRectToOverlay | void copyRectToOverlay |
virtual void copyRectToScreen | void copyRectToScreen |
virtual void delayMillis | void delayMillis |
virtual void deleteMutex | void deleteMutex |
virtual void disableCursorPalette | void disableCursorPalette |
virtual void displayMessageOnOSD | |
virtual void endGFXTransaction | |
virtual void grabOverlay | void grabOverlay |
virtual void grabPalette | void grabPalette |
virtual void hideOverlay | void hideOverlay |
virtual void initBackend | virtual void initBackend |
virtual void initSize | void initSize |
virtual void lockMutex | void lockMutex |
virtual void playCD | void playCD |
virtual void quit | void quit |
virtual void setCursorPalette | void setCursorPalette |
virtual void setFeatureState | void setFeatureState |
virtual void setFocusRectangle | |
virtual void setMouseCursor | void setMouseCursor |
virtual void setPalette | void setPalette |
virtual void setShakePos | void setShakePos |
virtual void setWindowCaption | void setWindowCaption |
virtual void showOverlay | void showOverlay |
virtual void stopCD | void stopCD |
virtual void unlockMutex | void unlockMutex |
virtual void unlockScreen | virtual void unlockScreen |
virtual void updateCD | void updateCD |
virtual void updateScreen | void updateScreen |
virtual void warpMouse | void warpMouse |
void mouseToSoftKbd | |
void checkSound | |
void drawMouse | |
void setScaling | |
Common::SaveFileManager *createSavefileManager | |