Public Member Functions | |
| Screen_LoK (KyraEngine_LoK *vm, OSystem *system) | |
| bool | init () override |
| void | loadBitmap (const char *filename, int tempPage, int dstPage, Palette *pal, bool skip=false) override |
| int | getRectSize (int w, int h) override |
| void | setTextColorMap (const uint8 *cmap) override |
| void | fadeSpecialPalette (int palIndex, int startIndex, int size, int fadeTime) |
| void | savePageToDisk (const char *file, int page) |
| void | loadPageFromDisk (const char *file, int page) |
| void | queryPageFromDisk (const char *file, int page, uint8 *buffer) |
| void | deletePageFromDisk (int page) |
| void | copyBackgroundBlock (int x, int page, int flag) |
| void | copyBackgroundBlock2 (int x) |
| void | addBitBlitRect (int x, int y, int w, int h) |
| void | bitBlitRects () |
| void | setInterfacePalette (const Palette &pal, uint8 r, uint8 g, uint8 b) |
| void | postProcessCursor (uint8 *data, int width, int height, int pitch) override |
Public Member Functions inherited from Kyra::Screen | |
| Screen (KyraEngine_v1 *vm, OSystem *system, const ScreenDim *dimTable, const int dimTableSize) | |
| 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 void | getFadeParams (const Palette &pal, int delay, int &delayInc, int &diff) |
| 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 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) |
| virtual byte | getShapeFlag1 (int x, int y) |
| virtual byte | getShapeFlag2 (int x, int y) |
| virtual int | getDrawLayer (int x, int y) |
| virtual int | getDrawLayer2 (int x, int y, int height) |
| 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) |
Protected Types | |
| enum | { kNumBitBlitRects = 10 } |
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 Attributes | |
| KyraEngine_LoK * | _vm |
| Common::Rect | _bitBlitRects [kNumBitBlitRects] |
| int | _bitBlitNum |
| uint8 * | _unkPtr1 |
| uint8 * | _unkPtr2 |
| uint8 * | _saveLoadPage [8] |
| uint8 * | _saveLoadPageOvl [8] |
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 |
Static Protected Attributes | |
| static const ScreenDim | _screenDimTable [] |
| static const int | _screenDimTableCount |
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 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) |
| 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) |