aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/3ds/osystem-graphics.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/platform/3ds/osystem-graphics.cpp')
-rw-r--r--backends/platform/3ds/osystem-graphics.cpp46
1 files changed, 23 insertions, 23 deletions
diff --git a/backends/platform/3ds/osystem-graphics.cpp b/backends/platform/3ds/osystem-graphics.cpp
index 0cfd70c9cd..ec60956805 100644
--- a/backends/platform/3ds/osystem-graphics.cpp
+++ b/backends/platform/3ds/osystem-graphics.cpp
@@ -35,7 +35,7 @@
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
namespace _3DS {
-
+
void OSystem_3DS::initGraphics() {
_pfGame = Graphics::PixelFormat::createFormatCLUT8();
_pfGameTexture = Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0);
@@ -60,23 +60,23 @@ void OSystem_3DS::initGraphics() {
shaderProgramInit(&_program);
shaderProgramSetVsh(&_program, &_dvlb->DVLE[0]);
C3D_BindProgram(&_program);
-
+
_projectionLocation = shaderInstanceGetUniformLocation(_program.vertexShader, "projection");
_modelviewLocation = shaderInstanceGetUniformLocation(_program.vertexShader, "modelView");
-
+
C3D_AttrInfo *attrInfo = C3D_GetAttrInfo();
AttrInfo_Init(attrInfo);
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position
AttrInfo_AddLoader(attrInfo, 1, GPU_FLOAT, 2); // v1=texcoord
-
+
Mtx_OrthoTilt(&_projectionTop, 0.0, 400.0, 240.0, 0.0, 0.0, 1.0);
Mtx_OrthoTilt(&_projectionBottom, 0.0, 320.0, 240.0, 0.0, 0.0, 1.0);
-
+
C3D_TexEnv *env = C3D_GetTexEnv(0);
C3D_TexEnvSrc(env, C3D_Both, GPU_TEXTURE0, 0, 0);
C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);
C3D_TexEnvFunc(env, C3D_Both, GPU_REPLACE);
-
+
C3D_DepthTest(false, GPU_GEQUAL, GPU_WRITE_ALL);
C3D_CullFace(GPU_CULL_NONE);
}
@@ -148,14 +148,14 @@ void OSystem_3DS::initSize(uint width, uint height,
_gameHeight = height;
_gameTopTexture.create(width, height, _pfGameTexture);
_overlay.create(getOverlayWidth(), getOverlayHeight(), _pfGameTexture);
-
+
if (format) {
debug("pixelformat: %d %d %d %d %d", format->bytesPerPixel, format->rBits(), format->gBits(), format->bBits(), format->aBits());;
_pfGame = *format;
}
_gameScreen.create(width, height, _pfGame);
-
+
_focusDirty = true;
_focusRect = Common::Rect(_gameWidth, _gameHeight);
@@ -169,7 +169,7 @@ void OSystem_3DS::updateSize() {
_gameBottomTexture.setScale(320.f / _gameWidth, 240.f / _gameHeight);
} else {
float ratio = static_cast<float>(_gameWidth) / _gameHeight;
-
+
if (ratio > 400.f / 240.f) {
float r = 400.f / _gameWidth;
_gameTopTexture.setScale(r, r);
@@ -224,7 +224,7 @@ OSystem::TransactionError OSystem_3DS::endGFXTransaction() {
void OSystem_3DS::setPalette(const byte *colors, uint start, uint num) {
assert(start + num <= 256);
memcpy(_palette + 3 * start, colors, 3 * num);
-
+
// Manually update all color that were changed
if (_gameScreen.format.bytesPerPixel == 1) {
flushGameScreen();
@@ -240,10 +240,10 @@ void OSystem_3DS::copyRectToScreen(const void *buf, int pitch, int x,
Common::Rect rect(x, y, x+w, y+h);
_gameScreen.copyRectToSurface(buf, pitch, x, y, w, h);
Graphics::Surface subSurface = _gameScreen.getSubArea(rect);
-
+
Graphics::Surface *convertedSubSurface = subSurface.convertTo(_pfGameTexture, _palette);
_gameTopTexture.copyRectToSurface(*convertedSubSurface, x, y, Common::Rect(w, h));
-
+
convertedSubSurface->free();
delete convertedSubSurface;
_gameTopTexture.markDirty();
@@ -268,7 +268,7 @@ void OSystem_3DS::updateScreen() {
if (sleeping || exiting)
return;
-
+
// updateFocus();
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
@@ -288,7 +288,7 @@ void OSystem_3DS::updateScreen() {
_cursorTexture.render();
}
}
-
+
// Render bottom screen
C3D_FrameDrawOn(_renderTargetBottom);
if (config.screen == kScreenBottom || config.screen == kScreenBoth) {
@@ -327,7 +327,7 @@ void OSystem_3DS::clearFocusRectangle() {
}
void OSystem_3DS::updateFocus() {
-
+
if (_focusClearTime && getMillis() - _focusClearTime > 5000) {
_focusClearTime = 0;
_focusDirty = true;
@@ -361,26 +361,26 @@ void OSystem_3DS::updateFocus() {
_focusStepScaleX = duration * (_focusTargetScaleX - _focusScaleX);
_focusStepScaleY = duration * (_focusTargetScaleY - _focusScaleY);
}
-
+
if (_focusDirty || _focusPosX != _focusTargetPosX || _focusPosY != _focusTargetPosY ||
_focusScaleX != _focusTargetScaleX || _focusScaleY != _focusTargetScaleY) {
_focusDirty = false;
-
+
if ((_focusStepPosX > 0 && _focusPosX > _focusTargetPosX) || (_focusStepPosX < 0 && _focusPosX < _focusTargetPosX))
_focusPosX = _focusTargetPosX;
else if (_focusPosX != _focusTargetPosX)
_focusPosX += _focusStepPosX;
-
+
if ((_focusStepPosY > 0 && _focusPosY > _focusTargetPosY) || (_focusStepPosY < 0 && _focusPosY < _focusTargetPosY))
_focusPosY = _focusTargetPosY;
else if (_focusPosY != _focusTargetPosY)
_focusPosY += _focusStepPosY;
-
+
if ((_focusStepScaleX > 0 && _focusScaleX > _focusTargetScaleX) || (_focusStepScaleX < 0 && _focusScaleX < _focusTargetScaleX))
_focusScaleX = _focusTargetScaleX;
else if (_focusScaleX != _focusTargetScaleX)
_focusScaleX += _focusStepScaleX;
-
+
if ((_focusStepScaleY > 0 && _focusScaleY > _focusTargetScaleY) || (_focusStepScaleY < 0 && _focusScaleY < _focusTargetScaleY))
_focusScaleY = _focusTargetScaleY;
else if (_focusScaleY != _focusTargetScaleY)
@@ -476,10 +476,10 @@ void OSystem_3DS::setMouseCursor(const void *buf, uint w, uint h,
_cursor.create(w, h, _pfCursor);
_cursorTexture.create(w, h, _pfGameTexture);
}
-
+
_cursor.copyRectToSurface(buf, w, 0, 0, w, h);
flushCursor();
-
+
warpMouse(_cursorX, _cursorY);
}
@@ -497,7 +497,7 @@ void OSystem_3DS::flushCursor() {
_cursorTexture.markDirty();
converted->free();
delete converted;
-
+
if (_pfCursor.bytesPerPixel == 1) {
uint* dest = (uint*) _cursorTexture.getPixels();
byte* src = (byte*) _cursor.getPixels();