diff --git a/desmume/src/frontend/cocoa/ClientDisplayView.cpp b/desmume/src/frontend/cocoa/ClientDisplayView.cpp index a62cc1205..f22409100 100644 --- a/desmume/src/frontend/cocoa/ClientDisplayView.cpp +++ b/desmume/src/frontend/cocoa/ClientDisplayView.cpp @@ -172,7 +172,7 @@ void ClientDisplayView::GetNDSPoint(const int inputID, const bool isInitialTouch break; } - case ClientDisplayLayout_Hybrid_3_2: + case ClientDisplayLayout_Hybrid_2_1: case ClientDisplayLayout_Hybrid_16_9: case ClientDisplayLayout_Hybrid_16_10: { @@ -479,7 +479,7 @@ void ClientDisplayView::CalculateNormalSize(const ClientDisplayMode mode, const outHeight = (double)GPU_FRAMEBUFFER_NATIVE_HEIGHT; break; - case ClientDisplayLayout_Hybrid_3_2: + case ClientDisplayLayout_Hybrid_2_1: outWidth = (double)GPU_FRAMEBUFFER_NATIVE_WIDTH + (128.0); outHeight = (double)GPU_FRAMEBUFFER_NATIVE_HEIGHT; break; diff --git a/desmume/src/frontend/cocoa/ClientDisplayView.h b/desmume/src/frontend/cocoa/ClientDisplayView.h index e6eb7ee83..427c92b9e 100644 --- a/desmume/src/frontend/cocoa/ClientDisplayView.h +++ b/desmume/src/frontend/cocoa/ClientDisplayView.h @@ -35,7 +35,7 @@ enum ClientDisplayLayout { ClientDisplayLayout_Vertical = 0, ClientDisplayLayout_Horizontal = 1, - ClientDisplayLayout_Hybrid_3_2 = 1000, + ClientDisplayLayout_Hybrid_2_1 = 1000, ClientDisplayLayout_Hybrid_16_9 = 1001, ClientDisplayLayout_Hybrid_16_10 = 1002 }; diff --git a/desmume/src/frontend/cocoa/OGLDisplayOutput.cpp b/desmume/src/frontend/cocoa/OGLDisplayOutput.cpp index 42f249a78..814d8dd58 100644 --- a/desmume/src/frontend/cocoa/OGLDisplayOutput.cpp +++ b/desmume/src/frontend/cocoa/OGLDisplayOutput.cpp @@ -7212,24 +7212,24 @@ void OGLDisplayLayer::UpdateVerticesOGL() break; } - case ClientDisplayLayout_Hybrid_3_2: + case ClientDisplayLayout_Hybrid_2_1: { - vtxBufferPtr[0] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[1] = -h + (96.0f * 2.0f); // Minor top display, top left - vtxBufferPtr[2] = w; vtxBufferPtr[3] = -h + (96.0f * 2.0f); // Minor top display, top right - vtxBufferPtr[4] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[5] = -h + 96.0f; // Minor top display, bottom left - vtxBufferPtr[6] = w; vtxBufferPtr[7] = -h + 96.0f; // Minor top display, bottom right + vtxBufferPtr[0] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[1] = -h + (96.0f * 2.0f); // Minor top display, top left + vtxBufferPtr[2] = w; vtxBufferPtr[3] = -h + (96.0f * 2.0f); // Minor top display, top right + vtxBufferPtr[4] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[5] = -h + 96.0f; // Minor top display, bottom left + vtxBufferPtr[6] = w; vtxBufferPtr[7] = -h + 96.0f; // Minor top display, bottom right - vtxBufferPtr[8] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[9] = -h + 96.0f; // Minor bottom display, top left - vtxBufferPtr[10] = w; vtxBufferPtr[11] = -h + 96.0f; // Minor bottom display, top right - vtxBufferPtr[12] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[13] = -h; // Minor bottom display, bottom left - vtxBufferPtr[14] = w; vtxBufferPtr[15] = -h; // Minor bottom display, bottom right + vtxBufferPtr[8] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[9] = -h + 96.0f; // Minor bottom display, top left + vtxBufferPtr[10] = w; vtxBufferPtr[11] = -h + 96.0f; // Minor bottom display, top right + vtxBufferPtr[12] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[13] = -h; // Minor bottom display, bottom left + vtxBufferPtr[14] = w; vtxBufferPtr[15] = -h; // Minor bottom display, bottom right - vtxBufferPtr[16] = -w; vtxBufferPtr[17] = h; // Major display, top left - vtxBufferPtr[18] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[19] = h; // Major display, top right - vtxBufferPtr[20] = -w; vtxBufferPtr[21] = -h; // Major display, bottom left - vtxBufferPtr[22] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[23] = -h; // Major display, bottom right + vtxBufferPtr[16] = -w; vtxBufferPtr[17] = h; // Major display, top left + vtxBufferPtr[18] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[19] = h; // Major display, top right + vtxBufferPtr[20] = -w; vtxBufferPtr[21] = -h; // Major display, bottom left + vtxBufferPtr[22] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[23] = -h; // Major display, bottom right - memcpy(vtxBufferPtr + (3 * 8), vtxBufferPtr + (2 * 8), sizeof(GLfloat) * (1 * 8)); // Major display (bottom screen) + memcpy(vtxBufferPtr + (3 * 8), vtxBufferPtr + (2 * 8), sizeof(GLfloat) * (1 * 8)); // Major display (bottom screen) break; } @@ -7237,22 +7237,22 @@ void OGLDisplayLayer::UpdateVerticesOGL() { const GLfloat g = (GLfloat)DS_DISPLAY_UNSCALED_GAP * this->_gapScalar * (this->_normalWidth - (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH) / (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; - vtxBufferPtr[0] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[1] = -h + g + (64.0f * 2.0f); // Minor top display, top left - vtxBufferPtr[2] = w; vtxBufferPtr[3] = -h + g + (64.0f * 2.0f); // Minor top display, top right - vtxBufferPtr[4] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[5] = -h + g + 64.0f; // Minor top display, bottom left - vtxBufferPtr[6] = w; vtxBufferPtr[7] = -h + g + 64.0f; // Minor top display, bottom right + vtxBufferPtr[0] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[1] = -h + g + (64.0f * 2.0f); // Minor top display, top left + vtxBufferPtr[2] = w; vtxBufferPtr[3] = -h + g + (64.0f * 2.0f); // Minor top display, top right + vtxBufferPtr[4] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[5] = -h + g + 64.0f; // Minor top display, bottom left + vtxBufferPtr[6] = w; vtxBufferPtr[7] = -h + g + 64.0f; // Minor top display, bottom right - vtxBufferPtr[8] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[9] = -h + 64.0f; // Minor bottom display, top left - vtxBufferPtr[10] = w; vtxBufferPtr[11] = -h + 64.0f; // Minor bottom display, top right - vtxBufferPtr[12] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[13] = -h; // Minor bottom display, bottom left - vtxBufferPtr[14] = w; vtxBufferPtr[15] = -h; // Minor bottom display, bottom right + vtxBufferPtr[8] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[9] = -h + 64.0f; // Minor bottom display, top left + vtxBufferPtr[10] = w; vtxBufferPtr[11] = -h + 64.0f; // Minor bottom display, top right + vtxBufferPtr[12] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[13] = -h; // Minor bottom display, bottom left + vtxBufferPtr[14] = w; vtxBufferPtr[15] = -h; // Minor bottom display, bottom right - vtxBufferPtr[16] = -w; vtxBufferPtr[17] = h; // Major display, top left - vtxBufferPtr[18] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[19] = h; // Major display, top right - vtxBufferPtr[20] = -w; vtxBufferPtr[21] = -h; // Major display, bottom left - vtxBufferPtr[22] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[23] = -h; // Major display, bottom right + vtxBufferPtr[16] = -w; vtxBufferPtr[17] = h; // Major display, top left + vtxBufferPtr[18] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[19] = h; // Major display, top right + vtxBufferPtr[20] = -w; vtxBufferPtr[21] = -h; // Major display, bottom left + vtxBufferPtr[22] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[23] = -h; // Major display, bottom right - memcpy(vtxBufferPtr + (3 * 8), vtxBufferPtr + (2 * 8), sizeof(GLfloat) * (1 * 8)); // Major display (bottom screen) + memcpy(vtxBufferPtr + (3 * 8), vtxBufferPtr + (2 * 8), sizeof(GLfloat) * (1 * 8)); // Major display (bottom screen) break; } @@ -7260,20 +7260,20 @@ void OGLDisplayLayer::UpdateVerticesOGL() { const GLfloat g = (GLfloat)DS_DISPLAY_UNSCALED_GAP * this->_gapScalar * (this->_normalWidth - (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH) / (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; - vtxBufferPtr[0] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[1] = -h + g + (38.4f * 2.0f); // Minor top display, top left - vtxBufferPtr[2] = w; vtxBufferPtr[3] = -h + g + (38.4f * 2.0f); // Minor top display, top right - vtxBufferPtr[4] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[5] = -h + g + 38.4f; // Minor top display, bottom left - vtxBufferPtr[6] = w; vtxBufferPtr[7] = -h + g + 38.4f; // Minor top display, bottom right + vtxBufferPtr[0] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[1] = -h + g + (38.4f * 2.0f); // Minor top display, top left + vtxBufferPtr[2] = w; vtxBufferPtr[3] = -h + g + (38.4f * 2.0f); // Minor top display, top right + vtxBufferPtr[4] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[5] = -h + g + 38.4f; // Minor top display, bottom left + vtxBufferPtr[6] = w; vtxBufferPtr[7] = -h + g + 38.4f; // Minor top display, bottom right - vtxBufferPtr[8] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[9] = -h + 38.4f; // Minor bottom display, top left - vtxBufferPtr[10] = w; vtxBufferPtr[11] = -h + 38.4f; // Minor bottom display, top right - vtxBufferPtr[12] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[13] = -h; // Minor bottom display, bottom left - vtxBufferPtr[14] = w; vtxBufferPtr[15] = -h; // Minor bottom display, bottom right + vtxBufferPtr[8] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[9] = -h + 38.4f; // Minor bottom display, top left + vtxBufferPtr[10] = w; vtxBufferPtr[11] = -h + 38.4f; // Minor bottom display, top right + vtxBufferPtr[12] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[13] = -h; // Minor bottom display, bottom left + vtxBufferPtr[14] = w; vtxBufferPtr[15] = -h; // Minor bottom display, bottom right - vtxBufferPtr[16] = -w; vtxBufferPtr[17] = h; // Major display, top left - vtxBufferPtr[18] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[19] = h; // Major display, top right - vtxBufferPtr[20] = -w; vtxBufferPtr[21] = -h; // Major display, bottom left - vtxBufferPtr[22] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[23] = -h; // Major display, bottom right + vtxBufferPtr[16] = -w; vtxBufferPtr[17] = h; // Major display, top left + vtxBufferPtr[18] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[19] = h; // Major display, top right + vtxBufferPtr[20] = -w; vtxBufferPtr[21] = -h; // Major display, bottom left + vtxBufferPtr[22] = -w + (GLfloat)GPU_FRAMEBUFFER_NATIVE_WIDTH; vtxBufferPtr[23] = -h; // Major display, bottom right memcpy(vtxBufferPtr + (3 * 8), vtxBufferPtr + (2 * 8), sizeof(GLfloat) * (1 * 8)); // Major display (bottom screen) break; @@ -8060,7 +8060,7 @@ void OGLDisplayLayer::RenderOGL() switch (this->_displayOrientation) { - case ClientDisplayLayout_Hybrid_3_2: + case ClientDisplayLayout_Hybrid_2_1: case ClientDisplayLayout_Hybrid_16_9: case ClientDisplayLayout_Hybrid_16_10: glBindTexture(GL_TEXTURE_RECTANGLE_ARB, this->_texVideoOutputID[majorDisplayTex]); diff --git a/desmume/src/frontend/cocoa/translations/English.lproj/MainMenu.strings b/desmume/src/frontend/cocoa/translations/English.lproj/MainMenu.strings index fef2b3dcd..7e9d020cf 100644 Binary files a/desmume/src/frontend/cocoa/translations/English.lproj/MainMenu.strings and b/desmume/src/frontend/cocoa/translations/English.lproj/MainMenu.strings differ diff --git a/desmume/src/frontend/cocoa/translations/English.lproj/MainMenu.xib b/desmume/src/frontend/cocoa/translations/English.lproj/MainMenu.xib index 593ed96eb..620817e07 100644 --- a/desmume/src/frontend/cocoa/translations/English.lproj/MainMenu.xib +++ b/desmume/src/frontend/cocoa/translations/English.lproj/MainMenu.xib @@ -1130,7 +1130,7 @@ - Display Orientation + Display Layout 2147483647 @@ -1138,7 +1138,7 @@ submenuAction: - Display Orientation + Display Layout YES @@ -1160,7 +1160,7 @@ - Hybrid (3:2) + Hybrid (2:1) 2147483647 @@ -4629,7 +4629,7 @@ QXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAA 67108864 0 - Hybrid (3:2) + Hybrid (2:1) 1000 @@ -4795,7 +4795,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 67108864 0 - Display Orientation + Layout @@ -5079,7 +5079,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 67108864 0 - Display Order + Order @@ -61537,7 +61537,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 ToolTip - By default, arranges the NDS screens where the top and bottom screens are displayed on the right side, along with a larger major screen on the left side. This display orientation does not use the display separation setting. It is best suited for users who want a balanced size ratio between the minor screens and the major screen. + By default, arranges the NDS screens where the top and bottom screens are displayed on the right side, along with a larger major screen on the left side. This display layout does not use the display separation setting. It is best suited for users who want a balanced size ratio between the minor screens and the major screen. @@ -61545,7 +61545,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 ToolTip - By default, arranges the NDS screens where the top and bottom screens are displayed on the right side, along with a larger major screen on the left side. This display orientation uses the display separation setting. It is best suited for host displays running a 16:9 resolution. + By default, arranges the NDS screens where the top and bottom screens are displayed on the right side, along with a larger major screen on the left side. This display layout uses the display separation setting. It is best suited for host displays running a 16:9 resolution. @@ -61553,7 +61553,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 ToolTip - By default, arranges the NDS screens where the top and bottom screens are displayed on the right side, along with a larger major screen on the left side. This display orientation uses the display separation setting. It is best suited for host displays running a 16:10 resolution. + By default, arranges the NDS screens where the top and bottom screens are displayed on the right side, along with a larger major screen on the left side. This display layout uses the display separation setting. It is best suited for host displays running a 16:10 resolution. com.apple.InterfaceBuilder.CocoaPlugin @@ -61647,7 +61647,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{585, 358}, {489, 437}} + {{616, 186}, {489, 437}} {796.5, 896.5} com.apple.InterfaceBuilder.CocoaPlugin @@ -63313,7 +63313,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 ToolTip - By default, arranges the NDS screens where one screen is to the left of the other screen. This display orientation does not use the display separation setting. + By default, arranges the NDS screens where one screen is to the left of the other screen. This display layout does not use the display separation setting. com.apple.InterfaceBuilder.CocoaPlugin @@ -63322,7 +63322,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 ToolTip - By default, arranges the NDS screens where one screen is above the other screen, just like a hardware NDS. This display orientation uses the display separation setting. + By default, arranges the NDS screens where one screen is above the other screen, just like a hardware NDS. This display layout uses the display separation setting. com.apple.InterfaceBuilder.CocoaPlugin