User:Seldon/GSoC2007-ProjectDiary

From ScummVM :: Wiki
Jump to navigation Jump to search

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
   <![if supportMisalignedColumns]>
<![endif]>