22 #ifndef SCI_GRAPHICS_FRAMEOUT_H 23 #define SCI_GRAPHICS_FRAMEOUT_H 25 #include "engines/util.h" 26 #include "sci/event.h" 27 #include "sci/graphics/plane32.h" 28 #include "sci/graphics/screen_item32.h" 35 class GfxTransitions32;
36 struct PlaneShowStyle;
56 inline bool isHiRes()
const {
return _isHiRes; }
93 int16 _scriptWidth, _scriptHeight;
99 bool detectHiRes()
const;
102 #pragma mark Screen items 129 void kernelAddScreenItem(
const reg_t object);
130 void kernelUpdateScreenItem(
const reg_t object);
131 void kernelDeleteScreenItem(
const reg_t object);
132 bool kernelSetNowSeen(
const reg_t screenItemObject)
const;
133 int16 kernelObjectIntersect(
const reg_t object1,
const reg_t object2)
const;
136 void remapMarkRedraw();
167 const PlaneList &getVisiblePlanes()
const {
168 return _visiblePlanes;
170 void kernelAddPlane(
const reg_t object);
171 void kernelUpdatePlane(
const reg_t object);
172 void kernelDeletePlane(
const reg_t object);
173 void kernelMovePlaneItems(
const reg_t object,
const int16 deltaX,
const int16 deltaY,
const bool scrollPics);
174 int16 kernelGetHighPlanePri();
188 void updatePlane(
Plane &plane);
193 void kernelAddPicAt(
const reg_t planeObject,
const GuiResourceId pictureId,
const int16 pictureX,
const int16 pictureY,
const bool mirrorX,
const bool deleteDuplicate);
196 #pragma mark Rendering 214 initGraphics(_currentBuffer.w, _currentBuffer.h, &format);
229 inline const Buffer &getCurrentBuffer()
const {
230 return _currentBuffer;
233 void kernelFrameOut(
const bool showBits);
270 void resetHardware();
277 void alterVmap(
const Palette &palette1,
const Palette &palette2,
const int8 style,
const int8 *
const styleRanges);
286 inline int getScreenCount()
const {
293 void shakeScreen(
const int16 numShakes,
const ShakeDirection direction);
295 Plane *getTopVisiblePlane();
301 uint32 _lastScreenUpdateTick;
306 uint8 _throttleState;
335 ScreenItemListList _screenItemLists;
343 int _overdrawThreshold;
361 void calcLists(ScreenItemListList &drawLists, EraseListList &eraseLists,
const Common::Rect &eraseRect =
Common::Rect());
369 void drawEraseList(
const RectList &eraseList,
const Plane &plane);
375 void drawScreenItemList(
const DrawList &screenItemList);
382 void mergeToShowList(
const Common::Rect &drawRect,
RectList &showList,
const int overdrawThreshold);
395 inline bool validZeroStyle(
const uint8 style,
const int i)
const {
402 switch (
g_sci->getGameId()) {
404 case GID_PHANTASMAGORIA:
406 return (i > 71 && i < 104);
414 #pragma mark Mouse cursor 419 void updateMousePositionForRendering()
const {
427 g_sci->getEventManager()->getSciEvent(kSciEventPeek);
437 #pragma mark Debugging 439 void printPlaneList(
Console *con)
const;
440 void printVisiblePlaneList(
Console *con)
const;
441 void printPlaneListInternal(
Console *con,
const PlaneList &planeList)
const;
442 void printPlaneItemList(
Console *con,
const reg_t planeObject)
const;
443 void printVisiblePlaneItemList(
Console *con,
const reg_t planeObject)
const;
449 #endif // SCI_GRAPHICS_FRAMEOUT_H void updateScreenItem(ScreenItem &screenItem) const
int16 getScriptWidth() const
Definition: frameout.h:61
Definition: frameout.h:42
bool isHiRes() const
Definition: frameout.h:56
void directFrameOut(const Common::Rect &showRect)
void redrawGameScreen(const Common::Rect &skipRect) const
Definition: screen_item32.h:359
void addScreenItem(ScreenItem &screenItem) const
int16 getScriptHeight() const
Definition: frameout.h:66
Definition: plane32.h:103
void addPlane(Plane *plane)
int16 getScreenWidth() const
Definition: frameout.h:71
void updateScreen(const int delta=0)
void shakeScreen(const int16 numShakes, const ShakeDirection direction)
void deleteScreenItem(ScreenItem &screenItem)
Definition: palette32.h:234
void frameOut(const bool shouldShowBits, const Common::Rect &eraseRect=Common::Rect())
int16 getScreenHeight() const
Definition: frameout.h:76
Definition: seg_manager.h:48
void deletePlane(Plane &plane)
Definition: transitions32.h:215
void initGraphics(int width, int height)
void palMorphFrameOut(const int8 *styleRanges, PlaneShowStyle *showStyle)
Definition: transitions32.h:53
Definition: display_client.h:113
bool _throttleKernelFrameOut
Definition: frameout.h:220
Definition: plane32.h:479
Definition: screen_item32.h:53
bool _palMorphIsOn
Definition: frameout.h:227
Definition: helpers.h:247
void alterVmap(const Palette &palette1, const Palette &palette2, const int8 style, const int8 *const styleRanges)
void deletePlanesForMacRestore()
Definition: vm_types.h:39
void setPixelFormat(const Graphics::PixelFormat &format) const
Definition: frameout.h:213
Definition: cursor32.h:34