22 #ifndef PLATFORM_3DS_H 23 #define PLATFORM_3DS_H 25 #define FORBIDDEN_SYMBOL_EXCEPTION_time_h 27 #include "backends/base-backend.h" 28 #include "graphics/paletteman.h" 29 #include "base/main.h" 30 #include "audio/mixer_intern.h" 31 #include "backends/graphics/graphics.h" 32 #include "backends/log/log.h" 33 #include "backends/platform/3ds/sprite.h" 34 #include "common/rect.h" 35 #include "common/queue.h" 36 #include "common/ustr.h" 37 #include "engines/engine.h" 39 #define TICKS_PER_MSEC 268123 62 kScreenTop = 0x10000002,
67 enum TransactionState {
69 kTransactionActive = 1,
70 kTransactionRollback = 2
75 bool formatChanged, modeChanged;
78 formatChanged =
false;
85 GPU_TEXCOLOR textureFormat;
86 uint32 textureTransferFlags;
91 GraphicsModeID gfxModeID;
106 volatile bool exiting;
107 volatile bool sleeping;
109 virtual void initBackend();
121 void registerDefaultSettings(
const Common::String &target)
const override;
123 void applyBackendSettings()
override;
125 virtual uint32 getMillis(
bool skipRecord =
false);
126 virtual void delayMillis(uint msecs);
127 virtual void getTimeAndDate(
TimeDate &td,
bool skipRecord =
false)
const;
136 virtual void fatalError();
145 void initSize(uint width, uint height,
149 bool setGraphicsMode(GraphicsModeID modeID);
151 void beginGFXTransaction();
155 float getScaleRatio()
const;
156 void setPalette(
const byte *colors, uint start, uint num);
157 void grabPalette(byte *colors, uint start, uint num)
const;
158 void copyRectToScreen(
const void *buf,
int pitch,
int x,
int y,
int w,
163 void setShakePos(
int shakeXOffset,
int shakeYOffset);
165 void clearFocusRectangle();
166 void showOverlay(
bool inGUI);
172 void copyRectToOverlay(
const void *buf,
int pitch,
int x,
int y,
int w,
174 virtual int16 getOverlayHeight();
175 virtual int16 getOverlayWidth();
179 bool showMouse(
bool visible);
180 void warpMouse(
int x,
int y);
181 void setMouseCursor(
const void *buf, uint w, uint h,
int hotspotX,
182 int hotspotY, uint32 keycolor,
bool dontScale =
false,
184 void setCursorPalette(
const byte *colors, uint start, uint num);
187 void transformPoint(touchPosition &point);
189 void clipPoint(touchPosition &point);
191 void setCursorDelta(
float deltaX,
float deltaY);
194 void updateMagnify();
195 void updateBacklight();
200 void init3DSGraphics();
201 void destroy3DSGraphics();
205 void destroyEvents();
207 void flushGameScreen();
218 u16 _gameWidth, _gameHeight;
219 u16 _gameTopX, _gameTopY;
220 u16 _gameBottomX, _gameBottomY;
226 GraphicsModeID _graphicsModeID;
227 TransactionState _transactionState;
234 byte _palette[3 * 256];
235 byte _cursorPalette[3 * 256];
236 uint32 _paletteMap[256];
239 bool _gameTextureDirty;
241 Sprite _gameBottomTexture;
245 bool _filteringEnabled;
248 kOSDMessageDuration = 800
250 uint32 _osdMessageEndTime;
252 int _screenShakeXOffset;
253 int _screenShakeYOffset;
254 bool _overlayVisible;
259 shaderProgram_s _program;
260 int _projectionLocation;
261 int _modelviewLocation;
262 C3D_Mtx _projectionTop;
263 C3D_Mtx _projectionBottom;
264 C3D_RenderTarget* _renderTargetTop;
265 C3D_RenderTarget* _renderTargetBottom;
270 C3D_Mtx _focusMatrix;
271 int _focusPosX, _focusPosY;
272 int _focusTargetPosX, _focusTargetPosY;
273 float _focusStepPosX, _focusStepPosY;
274 float _focusScaleX, _focusScaleY;
275 float _focusTargetScaleX, _focusTargetScaleY;
276 float _focusStepScaleX, _focusStepScaleY;
277 uint32 _focusClearTime;
287 bool _cursorPaletteEnabled;
289 bool _cursorScalable;
290 float _cursorScreenX, _cursorScreenY;
291 float _cursorOverlayX, _cursorOverlayY;
292 float _cursorDeltaX, _cursorDeltaY;
293 int _cursorHotspotX, _cursorHotspotY;
294 uint32 _cursorKeyColor;
297 MagnifyMode _magnifyMode;
299 u16 _magWidth, _magHeight;
300 u16 _magCenterX, _magCenterY;
virtual int getScreenChangeID() const
Definition: osystem.h:147
virtual PaletteManager * getPaletteManager()
Definition: osystem.h:134
Definition: osystem.h:101
Feature
Definition: system.h:417
Definition: default_display_client.h:78
int16 getWidth()
Definition: osystem.h:154
Type
Definition: system.h:121
Definition: mixer_intern.h:58
bool isOverlayVisible() const
Definition: osystem.h:168
int16 getHeight()
Definition: osystem.h:153
TransactionError
Definition: system.h:1148
Definition: archive.h:312
Definition: keymapper-defaults.h:32
Definition: base-backend.h:44
Definition: paletteman.h:46