Merge pull request #225 from robojumper/d_gfx

d_gfx mostly OK
This commit is contained in:
robojumper
2025-08-02 09:19:04 +02:00
committed by GitHub
24 changed files with 340 additions and 69 deletions
+2 -3
View File
@@ -1,6 +1,7 @@
#include "d/lyt/d2d.h"
#include "d/d_font_manager.h"
#include "d/d_gfx.h"
#include "d/d_message.h"
#include "d/d_lyt_hio.h"
#include "d/lyt/d_textbox.h"
@@ -199,15 +200,13 @@ void Multi_c::calcAfter() {
mLayout.CalculateMtx(mDrawInfo);
}
extern "C" bool NeedsScreenAdjustment();
// Largely copied from m2d::Simple_c::draw
void Multi_c::draw() {
nw4r::ut::Rect r = mLayout.GetLayoutRect();
f32 near = 0.0f;
f32 far = 500.0f;
EGG::Screen s;
bool needsAdjust = NeedsScreenAdjustment();
bool needsAdjust = dGfx_c::isTvModeWidescreen();
f32 f1 = EGG::Screen::GetSizeXMax(EGG::Screen::TV_MODE_16_9);
f32 f2 = EGG::Screen::GetSizeXMax(EGG::Screen::TV_MODE_4_3);
+5 -5
View File
@@ -104,7 +104,7 @@ void dLytCommonABtn_c::gotoStateInvisible() {
inAnim.bind(false);
inAnim.setAnimEnable(true);
inAnim.setFrame(0.0f);
if (dSys::getFrameRate() == 1) {
if (dSys_c::getFrameRate() == 1) {
inAnim.setRate(0.5f);
} else {
inAnim.setRate(1.0f);
@@ -144,7 +144,7 @@ void dLytCommonABtn_c::goToStateVisible() {
d2d::AnmGroup_c &anm = mAnm[A_BTN_ANIM_LOOP];
anm.bind(false);
anm.setFrame(0.0f);
if (dSys::getFrameRate() == 1) {
if (dSys_c::getFrameRate() == 1) {
anm.setRate(0.5f);
} else {
anm.setRate(1.0f);
@@ -169,7 +169,7 @@ void dLytCommonABtn_c::goToStateDecideOut() {
d2d::AnmGroup_c &anm = mAnm[A_BTN_ANIM_OUT];
anm.bind(false);
anm.setFrame(0.0f);
if (dSys::getFrameRate() == 1) {
if (dSys_c::getFrameRate() == 1) {
anm.setRate(0.5f);
} else {
anm.setRate(1.0f);
@@ -180,7 +180,7 @@ void dLytCommonABtn_c::goToStateDecideOut() {
anm.bind(false);
anm.setAnimEnable(true);
anm.setFrame(0.0f);
if (dSys::getFrameRate() == 1) {
if (dSys_c::getFrameRate() == 1) {
anm.setRate(0.5f);
} else {
anm.setRate(1.0f);
@@ -214,7 +214,7 @@ void dLytCommonABtn_c::executeStateDecideOut() {
anmOut.bind(false);
anmOut.setAnimEnable(true);
anmOut.setFrame(0.0f);
if (dSys::getFrameRate() == 1) {
if (dSys_c::getFrameRate() == 1) {
anmOut.setRate(0.5f);
} else {
anmOut.setRate(1.0f);
+1 -1
View File
@@ -120,7 +120,7 @@ bool dLytCursorStick_c::drawDirectly_() {
return true;
}
bool dLytCursorStick_c::setPriority(u8 priority) {
void dLytCursorStick_c::setPriority(u8 priority) {
mLyt.setPriority(priority);
}
+1 -3
View File
@@ -152,8 +152,6 @@ static void CalcStringRectImpl(
} while (remain > 0);
}
extern "C" bool NeedsScreenAdjustment();
static int CalcLineRectImpl(
nw4r::ut::Rect *pRect, nw4r::ut::TextWriterBase<wchar_t> *pTextWriter, const wchar_t *str, int length, f32 maxWidth,
bool *pbOver, bool *pbWideScreenUnk
@@ -187,7 +185,7 @@ static int CalcLineRectImpl(
pTextWriter->SetCursorX(x);
// ??????????
if (pbWideScreenUnk != nullptr && ((u32 *)context.str)[0] == 0 && NeedsScreenAdjustment()) {
if (pbWideScreenUnk != nullptr && ((u32 *)context.str)[0] == 0 && dGfx_c::isTvModeWidescreen()) {
*pbWideScreenUnk = true;
}
operation = pTextWriter->GetTagProcessor()->CalcRect(&rect, code, &context);