Open main menu

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:


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