Public Member Functions | |
Screen_MR (KyraEngine_MR *vm, OSystem *system) | |
int | getLayer (int x, int y) override |
byte | getShapeFlag1 (int x, int y) override |
byte | getShapeFlag2 (int x, int y) override |
int | getDrawLayer (int x, int y) override |
int | getDrawLayer2 (int x, int y, int height) override |
void | drawFilledBox (int x1, int y1, int x2, int y2, uint8 c1, uint8 c2, uint8 c3) |
Public Member Functions inherited from Kyra::Screen_v2 | |
Screen_v2 (KyraEngine_v1 *vm, OSystem *system, const ScreenDim *dimTable, const int dimTableSize) | |
void | checkedPageUpdate (int srcPage, int dstPage) |
uint8 * | generateOverlay (const Palette &pal, uint8 *buffer, int color, uint weight, int maxColor=-1) |
void | applyOverlay (int x, int y, int w, int h, int pageNum, const uint8 *overlay) |
int | findLeastDifferentColor (const uint8 *paletteEntry, const Palette &pal, uint8 firstColor, uint16 numColors, bool skipSpecialColors=false) |
void | getFadeParams (const Palette &pal, int delay, int &delayInc, int &diff) override |
bool | timedPaletteFadeStep (uint8 *pal1, uint8 *pal2, uint32 elapsedTime, uint32 totalTime) |
uint8 * | getPtrToShape (uint8 *shpFile, int shape) |
const uint8 * | getPtrToShape (const uint8 *shpFile, int shape) |
int | getShapeScaledWidth (const uint8 *shpFile, int scale) |
int | getShapeScaledHeight (const uint8 *shpFile, int scale) |
uint16 | getShapeSize (const uint8 *shp) |
uint8 * | makeShapeCopy (const uint8 *src, int index) |
int | getRectSize (int w, int h) override |
bool | calcBounds (int w0, int h0, int &x1, int &y1, int &w1, int &h1, int &x2, int &y2, int &w2) |
void | setTextColorMap (const uint8 *cmap) override |
void | wsaFrameAnimationStep (int x1, int y1, int x2, int y2, int w1, int h1, int w2, int h2, int srcPage, int dstPage, int dim) |
void | copyPageMemory (int srcPage, int srcPos, int dstPage, int dstPos, int numBytes) |
void | copyRegionEx (int srcPage, int srcW, int srcH, int dstPage, int dstX, int dstY, int dstW, int dstH, const ScreenDim *d, bool flag=false) |
Public Member Functions inherited from Kyra::Screen | |
Screen (KyraEngine_v1 *vm, OSystem *system, const ScreenDim *dimTable, const int dimTableSize) | |
virtual bool | init () |
virtual void | setResolution () |
virtual void | enableHiColorMode (bool enabled) |
int | updateScreen () |
void | updateBackendScreen (bool force) |
bool | queryScreenDebug () const |
bool | enableScreenDebug (bool enable) |
int | setCurPage (int pageNum) |
void | clearCurPage () |
void | copyWsaRect (int x, int y, int w, int h, int dimState, int plotFunc, const uint8 *src, int unk1, const uint8 *unkPtr1, const uint8 *unkPtr2) |
void | copyToPage0 (int y, int h, uint8 page, uint8 *seqBuf) |
void | shakeScreen (int times) |
void | copyRegion (int x1, int y1, int x2, int y2, int w, int h, int srcPage, int dstPage, int flags=0) |
void | copyPage (uint8 srcPage, uint8 dstPage) |
void | copyRegionToBuffer (int pageNum, int x, int y, int w, int h, uint8 *dest) |
void | copyBlockToPage (int pageNum, int x, int y, int w, int h, const uint8 *src) |
void | shuffleScreen (int sx, int sy, int w, int h, int srcPage, int dstPage, int ticks, bool transparent) |
void | fillRect (int x1, int y1, int x2, int y2, uint8 color, int pageNum=-1, bool xored=false) |
void | clearPage (int pageNum) |
int | getPagePixel (int pageNum, int x, int y) |
void | setPagePixel (int pageNum, int x, int y, uint8 color) |
const uint8 * | getCPagePtr (int pageNum) const |
uint8 * | getPageRect (int pageNum, int x, int y, int w, int h) |
void | fadeFromBlack (int delay=0x54, const UpdateFunctor *upFunc=0) |
void | fadeToBlack (int delay=0x54, const UpdateFunctor *upFunc=0) |
virtual void | fadePalette (const Palette &pal, int delay, const UpdateFunctor *upFunc=0) |
virtual int | fadePalStep (const Palette &pal, int diff) |
void | setPaletteIndex (uint8 index, uint8 red, uint8 green, uint8 blue) |
virtual void | setScreenPalette (const Palette &pal) |
void | transposeScreenOutputY (int yAdd) |
bool | isInterfacePaletteEnabled () const |
void | enableDualPaletteMode (int splitY) |
void | disableDualPaletteMode () |
virtual void | getRealPalette (int num, uint8 *dst) |
Palette & | getPalette (int num) |
void | copyPalette (const int dst, const int src) |
void | drawLine (bool vertical, int x, int y, int length, int color) |
void | drawClippedLine (int x1, int y1, int x2, int y2, int color) |
virtual void | drawShadedBox (int x1, int y1, int x2, int y2, int color1, int color2) |
void | drawBox (int x1, int y1, int x2, int y2, int color) |
virtual bool | loadFont (FontId fontId, const char *filename) |
FontId | setFont (FontId fontId) |
int | getFontHeight () const |
int | getFontWidth () const |
int | getCharWidth (uint16 c) const |
int | getCharHeight (uint16 c) const |
int | getTextWidth (const char *str, bool nextWordOnly=false) |
int | getNumberOfCharacters (const char *str) |
void | printText (const char *str, int x, int y, uint8 color1, uint8 color2, int pitch=-1) |
void | setTextColor (const uint8 *cmap, int a, int b) |
void | setTextColor16bit (const uint16 *cmap16) |
int | setFontStyles (FontId fontId, int styles) |
const ScreenDim * | getScreenDim (int dim) const |
void | modifyScreenDim (int dim, int x, int y, int w, int h) |
int | screenDimTableCount () const |
void | setScreenDim (int dim) |
int | curDimIndex () const |
void | setTextMarginRight (int x) |
uint8 * | encodeShape (int x, int y, int w, int h, int flags) |
int | setNewShapeHeight (uint8 *shape, int height) |
int | resetShapeHeight (uint8 *shape) |
virtual void | drawShape (uint8 pageNum, const uint8 *shapeData, int x, int y, int sd, int flags,...) |
void | hideMouse () |
void | showMouse () |
bool | isMouseVisible () const |
virtual void | setMouseCursor (int x, int y, const byte *shape) |
void | rectClip (int &x, int &y, int w, int h) |
virtual void | loadBitmap (const char *filename, int tempPage, int dstPage, Palette *pal, bool skip=false) |
virtual bool | loadPalette (const char *filename, Palette &pal) |
bool | loadPaletteTable (const char *filename, int firstPalette) |
virtual void | loadPalette (const byte *data, Palette &pal, int bytes) |
void | setAnimBlockPtr (int size) |
void | setShapePages (int page1, int page2, int minY=-1, int maxY=201) |
void | blockInRegion (int x, int y, int width, int height) |
void | blockOutRegion (int x, int y, int width, int height) |
void | crossFadeRegion (int x1, int y1, int x2, int y2, int w, int h, int srcPage, int dstPage) |
uint16 * | get16bitPalette () |
void | set16bitShadingLevel (int lvl) |
Additional Inherited Members | |
Public Types inherited from Kyra::Screen | |
enum | { SCREEN_W = 320, SCREEN_H = 200, SCREEN_H_SEGA_NTSC = 224, SCREEN_PAGE_SIZE = 320 * 200 + 1024, SCREEN_OVL_SJIS_SIZE = 640 * 400, SCREEN_PAGE_NUM = 16, SCREEN_OVLS_NUM = 6, SCREEN_IDLEREFRESH_RESTART_MSEC = 250, SCREEN_IDLEREFRESH_RATE_MSEC = 16 } |
enum | CopyRegionFlags { CR_NO_P_CHECK = 0x01 } |
enum | DrawShapeFlags { kDRAWSHP_XFLIP = 0x01, kDRAWSHP_YFLIP = 0x02, kDRAWSHP_SCALE = 0x04, kDRAWSHP_WINREL = 0x10, kDRAWSHP_CENTER = 0x20, kDRAWSHP_FADE = 0x100, kDRAWSHP_PREDATOR = 0x200, kDRAWSHP_COMPACT = 0x400, kDRAWSHP_PRIORITY = 0x800, kDRAWSHP_TRANSPARENT = 0x1000, kDRAWSHP_BCKGRNDFADE = 0x2000, kDRAWSHP_MORPH = 0x4000, kDRAWSHP_COLOR = 0x8000 } |
enum | FontId { FID_6_FNT = 0, FID_8_FNT, FID_9_FNT, FID_CRED6_FNT, FID_CRED8_FNT, FID_BOOKFONT_FNT, FID_GOLDFONT_FNT, FID_INTRO_FNT, FID_SJIS_FNT, FID_SJIS_TEXTMODE_FNT, FID_SJIS_LARGE_FNT, FID_SJIS_SMALL_FNT, FID_CHINESE_FNT, FID_KOREAN_FNT, FID_NUM } |
Static Public Member Functions inherited from Kyra::Screen | |
static void | decodeFrame1 (const uint8 *src, uint8 *dst, uint32 size) |
static uint16 | decodeEGAGetCode (const uint8 *&pos, uint8 &nib) |
static void | decodeFrame3 (const uint8 *src, uint8 *dst, uint32 size, bool isAmiga) |
static uint | decodeFrame4 (const uint8 *src, uint8 *dst, uint32 dstSize) |
static void | decodeFrameDelta (uint8 *dst, const uint8 *src, bool noXor=false) |
static void | decodeFrameDeltaPage (uint8 *dst, const uint8 *src, const int pitch, bool noXor) |
static void | convertAmigaGfx (uint8 *data, int w, int h, int depth=5, bool wsa=false, int bytesPerPlane=-1) |
static void | convertAmigaMsc (uint8 *data) |
Public Attributes inherited from Kyra::Screen | |
uint32 | _idleUpdateTimer |
uint16 | _textMarginRight |
bool | _overdrawMargin |
const ScreenDim * | _curDim |
Common::String | _lineBreakChars |
int | _charSpacing |
int | _lineSpacing |
int | _curPage |
uint8 * | _shapePages [2] |
int | _maskMinY |
int | _maskMaxY |
FontId | _currentFont |
Protected Types inherited from Kyra::Screen | |
enum | { kMaxDirtyRects = 50 } |
typedef void(Screen::* | DsPlotFunc) (uint8 *, uint8) |
typedef int(Screen::* | DsMarginSkipFunc) (uint8 *&, const uint8 *&, int &) |
typedef void(Screen::* | DsLineFunc) (uint8 *&, const uint8 *&, const DsPlotFunc, int &, int16) |
Protected Member Functions inherited from Kyra::Screen | |
void | resetPagePtrsAndBuffers (int pageSize) |
uint8 * | getPagePtr (int pageNum) |
virtual void | updateDirtyRects () |
void | updateDirtyRectsAmiga () |
void | updateDirtyRectsOvl () |
template<typename srcType , typename scaleToType > | |
void | scale2x (uint8 *dst, int dstPitch, const uint8 *src, int srcPitch, int w, int h) |
template<typename pixelType > | |
void | mergeOverlayImpl (int x, int y, int w, int h) |
virtual void | mergeOverlay (int x, int y, int w, int h) |
byte * | getOverlayPtr (int pageNum) |
void | clearOverlayPage (int pageNum) |
void | clearOverlayRect (int pageNum, int x, int y, int w, int h) |
void | copyOverlayRegion (int x, int y, int x2, int y2, int w, int h, int srcPage, int dstPage) |
uint16 | fetchChar (const char *&s) const |
void | drawChar (uint16 c, int x, int y, int pitch=-1) |
int16 | encodeShapeAndCalculateSize (uint8 *from, uint8 *to, int size) |
uint16 | shade16bitColor (uint16 col) |
virtual void | postProcessCursor (uint8 *data, int w, int h, int pitch) |
void | addDirtyRect (int x, int y, int w, int h) |
int | drawShapeMarginNoScaleUpwind (uint8 *&dst, const uint8 *&src, int &cnt) |
int | drawShapeMarginNoScaleDownwind (uint8 *&dst, const uint8 *&src, int &cnt) |
int | drawShapeMarginScaleUpwind (uint8 *&dst, const uint8 *&src, int &cnt) |
int | drawShapeMarginScaleDownwind (uint8 *&dst, const uint8 *&src, int &cnt) |
int | drawShapeSkipScaleUpwind (uint8 *&dst, const uint8 *&src, int &cnt) |
int | drawShapeSkipScaleDownwind (uint8 *&dst, const uint8 *&src, int &cnt) |
void | drawShapeProcessLineNoScaleUpwind (uint8 *&dst, const uint8 *&src, const DsPlotFunc plot, int &cnt, int16) |
void | drawShapeProcessLineNoScaleDownwind (uint8 *&dst, const uint8 *&src, const DsPlotFunc plot, int &cnt, int16) |
void | drawShapeProcessLineScaleUpwind (uint8 *&dst, const uint8 *&src, const DsPlotFunc plot, int &cnt, int16 scaleState) |
void | drawShapeProcessLineScaleDownwind (uint8 *&dst, const uint8 *&src, const DsPlotFunc plot, int &cnt, int16 scaleState) |
void | drawShapePlotType0 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType1 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType3_7 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType4 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType5 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType6 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType8 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType9 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType11_15 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType12 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType13 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType14 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType16 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType20 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType21 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType33 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType37 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType48 (uint8 *dst, uint8 cmd) |
void | drawShapePlotType52 (uint8 *dst, uint8 cmd) |
Static Protected Member Functions inherited from Kyra::Screen | |
template<bool noXor> | |
static void | wrapped_decodeFrameDelta (uint8 *dst, const uint8 *src) |
template<bool noXor> | |
static void | wrapped_decodeFrameDeltaPage (uint8 *dst, const uint8 *src, const int pitch) |
Protected Attributes inherited from Kyra::Screen_v2 | |
uint8 * | _wsaFrameAnimBuffer |
Protected Attributes inherited from Kyra::Screen | |
uint8 * | _pagePtrs [16] |
const uint8 * | _pagePtrsBuff |
uint8 * | _sjisOverlayPtrs [SCREEN_OVLS_NUM] |
uint8 | _pageMapping [SCREEN_PAGE_NUM] |
bool | _useOverlays |
bool | _useSJIS |
int | _fontStyles |
Font * | _fonts [FID_NUM] |
uint8 | _textColorsMap [16] |
uint16 | _textColorsMap16bit [2] |
uint8 * | _textRenderBuffer |
int | _textRenderBufferSize |
Common::SharedPtr< Graphics::FontSJIS > | _sjisFontShared |
uint8 | _sjisInvisibleColor |
bool | _sjisMixedFontMode |
bool | _use16ColorMode |
bool | _useShapeShading |
bool | _4bitPixelPacking |
bool | _useHiResEGADithering |
bool | _useHiColorScreen |
bool | _isAmiga |
bool | _useAmigaExtraColors |
bool | _isSegaCD |
Common::RenderMode | _renderMode |
int | _bytesPerPixel |
int | _screenPageSize |
const int | _screenHeight |
int | _yTransOffs |
Palette * | _screenPalette |
Common::Array< Palette * > | _palettes |
Palette * | _internFadePalette |
uint16 * | _16bitPalette |
uint16 * | _16bitConversionPalette |
uint8 | _16bitShadingLevel |
uint8 * | _animBlockPtr |
int | _animBlockSize |
const ScreenDim *const | _dimTable |
ScreenDim ** | _customDimTable |
const int | _dimTableCount |
int | _curDimIndex |
int | _mouseLockCount |
const uint8 | _cursorColorKey |
bool | _forceFullUpdate |
bool | _paletteChanged |
Common::List< Common::Rect > | _dirtyRects |
OSystem * | _system |
KyraEngine_v1 * | _vm |
const uint8 * | _dsShapeFadingTable |
int | _dsShapeFadingLevel |
const uint8 * | _dsColorTable |
const uint8 * | _dsTransparencyTable1 |
const uint8 * | _dsTransparencyTable2 |
const uint8 * | _dsBackgroundFadingTable |
int | _dsDrawLayer |
uint8 * | _dsDstPage |
int | _dsTmpWidth |
int | _dsOffscreenLeft |
int | _dsOffscreenRight |
int | _dsScaleW |
int | _dsScaleH |
int | _dsOffscreenScaleVal1 |
int | _dsOffscreenScaleVal2 |
int | _drawShapeVar1 |
int | _drawShapeVar3 |
int | _drawShapeVar4 |
int | _drawShapeVar5 |
int | _dualPaletteModeSplitY |
bool | _debugEnabled |