mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-11 02:53:16 -04:00
copy dolsdk2004 to tp / b_bh + e_mb done (#2299)
* move dolsdk2004 over * cleanup some temp work * finish and cleanup gf * b_bh done * d_a_e_mb done
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include "JSystem/JUtility/JUTDbPrint.h"
|
||||
#include "JSystem/JUtility/JUTDirectPrint.h"
|
||||
#include "stdio.h"
|
||||
#include <dolphin/vi.h>
|
||||
|
||||
/* 804508F8-80450900 000378 0008+00 0/0 3/3 0/0 .sdata None */
|
||||
bool sAssertVisible = true;
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "JSystem/JUtility/JUTDirectPrint.h"
|
||||
#include "JSystem/JUtility/JUTVideo.h"
|
||||
#include <dolphin/vi.h>
|
||||
#include <stdio.h>
|
||||
#include "global.h"
|
||||
|
||||
/* 80451570-80451574 000A70 0004+00 4/4 7/7 0/0 .sbss sManager__17JUTConsoleManager */
|
||||
JUTConsoleManager* JUTConsoleManager::sManager;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
//
|
||||
|
||||
#include "JSystem/JUtility/JUTDirectFile.h"
|
||||
#include "dolphin/os/OSInterrupt.h"
|
||||
#include <dolphin/os.h>
|
||||
#include "global.h"
|
||||
|
||||
//
|
||||
@@ -34,7 +34,7 @@ int JUTDirectFile::fetch32byte() {
|
||||
return -1;
|
||||
} else {
|
||||
interrupts = OSEnableInterrupts();
|
||||
while (DVDGetCommandBlockStatus(&mFileInfo.block)) {
|
||||
while (DVDGetCommandBlockStatus(&mFileInfo.cb)) {
|
||||
;
|
||||
}
|
||||
OSRestoreInterrupts(interrupts);
|
||||
@@ -181,4 +181,4 @@ int JUTDirectFile::fgets(void* buf, int len) {
|
||||
}
|
||||
|
||||
return readCount;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
|
||||
#include "JSystem/JUtility/JUTDirectPrint.h"
|
||||
#include "stdio.h"
|
||||
#include "dolphin/os/OSCache.h"
|
||||
#include <dolphin/os.h>
|
||||
#include "global.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -265,4 +266,4 @@ void JUTDirectPrint::setCharColor(u8 r, u8 g, u8 b) {
|
||||
mCharColor_Cr = Cr;
|
||||
mCharColor_Cr2 = (Cr >> 1) & 0x7fff;
|
||||
mCharColor_Cr4 = (Cr >> 2) & 0x3fff;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,20 +43,20 @@ const char* JUTException::sCpuExpName[17] = {
|
||||
JUTException* JUTException::sErrorManager;
|
||||
|
||||
/* 8045150C-80451510 000A0C 0004+00 4/4 0/0 0/0 .sbss sPreUserCallback__12JUTException */
|
||||
OSErrorHandler JUTException::sPreUserCallback;
|
||||
JUTExceptionUserCallback JUTException::sPreUserCallback;
|
||||
|
||||
/* 80451510-80451514 000A10 0004+00 3/3 0/0 0/0 .sbss sPostUserCallback__12JUTException
|
||||
*/
|
||||
OSErrorHandler JUTException::sPostUserCallback;
|
||||
JUTExceptionUserCallback JUTException::sPostUserCallback;
|
||||
|
||||
/* 802E1D5C-802E1E40 2DC69C 00E4+00 1/1 0/0 0/0 .text __ct__12JUTExceptionFP14JUTDirectPrint */
|
||||
JUTException::JUTException(JUTDirectPrint* directPrint)
|
||||
: JKRThread(0x1C00, 0x10, 0), mDirectPrint(directPrint) {
|
||||
OSSetErrorHandler(EXCEPTION_DSI, errorHandler);
|
||||
OSSetErrorHandler(EXCEPTION_ISI, errorHandler);
|
||||
OSSetErrorHandler(EXCEPTION_PROGRAM, errorHandler);
|
||||
OSSetErrorHandler(EXCEPTION_ALIGNMENT, errorHandler);
|
||||
OSSetErrorHandler(EXCEPTION_MEMORY_PROTECTION, errorHandler);
|
||||
OSSetErrorHandler(__OS_EXCEPTION_DSI, (OSErrorHandler)errorHandler);
|
||||
OSSetErrorHandler(__OS_EXCEPTION_ISI, (OSErrorHandler)errorHandler);
|
||||
OSSetErrorHandler(__OS_EXCEPTION_PROGRAM, (OSErrorHandler)errorHandler);
|
||||
OSSetErrorHandler(__OS_EXCEPTION_ALIGNMENT, (OSErrorHandler)errorHandler);
|
||||
OSSetErrorHandler(__OS_EXCEPTION_MEMORY_PROTECTION, (OSErrorHandler)errorHandler);
|
||||
setFPException(0);
|
||||
|
||||
sPreUserCallback = NULL;
|
||||
@@ -87,7 +87,7 @@ JUTException* JUTException::create(JUTDirectPrint* directPrint) {
|
||||
OSMessage JUTException::sMessageBuffer[1] = {0};
|
||||
|
||||
struct CallbackObject {
|
||||
/* 0x00 */ OSErrorHandler callback;
|
||||
/* 0x00 */ JUTExceptionUserCallback callback;
|
||||
/* 0x04 */ u16 error;
|
||||
/* 0x06 */ u16 pad_0x06;
|
||||
/* 0x08 */ OSContext* context;
|
||||
@@ -106,7 +106,7 @@ void* JUTException::run() {
|
||||
VISetPreRetraceCallback(NULL);
|
||||
VISetPostRetraceCallback(NULL);
|
||||
CallbackObject* cb = (CallbackObject*)message;
|
||||
OSErrorHandler callback = cb->callback;
|
||||
JUTExceptionUserCallback callback = cb->callback;
|
||||
u16 error = cb->error;
|
||||
OSContext* context = cb->context;
|
||||
int r24 = cb->param_3;
|
||||
@@ -156,7 +156,7 @@ void JUTException::errorHandler(OSError error, OSContext* context, u32 param_3,
|
||||
fpscr = context->fpscr;
|
||||
OSFillFPUContext(context);
|
||||
OSSetErrorHandler(error, NULL);
|
||||
if (error == OS_ERROR_MEMORY_PROTECTION) {
|
||||
if (error == __OS_EXCEPTION_MEMORY_PROTECTION) {
|
||||
OSProtectRange(0, NULL, 0, 3);
|
||||
OSProtectRange(1, NULL, 0, 3);
|
||||
OSProtectRange(2, NULL, 0, 3);
|
||||
@@ -226,9 +226,9 @@ void JUTException::panic_f(char const* file, int line, char const* format, ...)
|
||||
void JUTException::setFPException(u32 fpscr_enable_bits) {
|
||||
__OSFpscrEnableBits = fpscr_enable_bits;
|
||||
if (fpscr_enable_bits) {
|
||||
OSSetErrorHandler(EXCEPTION_FLOATING_POINT_EXCEPTION, errorHandler);
|
||||
OSSetErrorHandler(__OS_EXCEPTION_FLOATING_POINT_EXCEPTION, (OSErrorHandler)errorHandler);
|
||||
} else {
|
||||
OSSetErrorHandler(EXCEPTION_FLOATING_POINT_EXCEPTION, NULL);
|
||||
OSSetErrorHandler(__OS_EXCEPTION_FLOATING_POINT_EXCEPTION, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -362,13 +362,13 @@ void JUTException::showMainInfo(u16 error, OSContext* context, u32 dsisr, u32 da
|
||||
return;
|
||||
}
|
||||
|
||||
if (error < (OS_ERROR_MACHINE_CHECK | OS_ERROR_FLOATING_POINT_EXCEPTION)) {
|
||||
if (error < (OS_ERROR_MACHINE_CHECK | __OS_EXCEPTION_FLOATING_POINT_EXCEPTION)) {
|
||||
sConsole->print_f("CONTEXT:%08XH (%s EXCEPTION)\n", context, sCpuExpName[error]);
|
||||
} else {
|
||||
sConsole->print_f("CONTEXT:%08XH\n", context);
|
||||
}
|
||||
|
||||
if (error == OS_ERROR_FLOATING_POINT_EXCEPTION) {
|
||||
if (error == __OS_EXCEPTION_FLOATING_POINT_EXCEPTION) {
|
||||
u32 flags = fpscr & (((fpscr & 0xf8) << 0x16) | 0x1f80700);
|
||||
if ((flags & 0x20000000) != 0) {
|
||||
sConsole->print_f(" FPE: Invalid operation\n");
|
||||
@@ -659,7 +659,7 @@ void JUTException::printContext(OSError error, OSContext* context, u32 dsisr, u3
|
||||
return;
|
||||
}
|
||||
|
||||
if (error < (OS_ERROR_MACHINE_CHECK | OS_ERROR_FLOATING_POINT_EXCEPTION)) {
|
||||
if (error < (OS_ERROR_MACHINE_CHECK | __OS_EXCEPTION_FLOATING_POINT_EXCEPTION)) {
|
||||
sConsole->print_f("******** EXCEPTION OCCURRED! ********\nFrameMemory:%XH\n",
|
||||
getFrameMemory());
|
||||
} else {
|
||||
@@ -821,8 +821,8 @@ void JUTException::waitTime(s32 timeout_ms) {
|
||||
void JUTException::createFB() {
|
||||
_GXRenderModeObj* renderMode = &GXNtsc480Int;
|
||||
void* end = (void*)OSGetArenaHi();
|
||||
u16 width = ALIGN_NEXT(renderMode->fb_width, 16);
|
||||
u16 height = renderMode->xfb_height;
|
||||
u16 width = ALIGN_NEXT(renderMode->fbWidth, 16);
|
||||
u16 height = renderMode->xfbHeight;
|
||||
u32 pixel_count = width * height;
|
||||
u32 size = pixel_count * 2;
|
||||
|
||||
@@ -830,7 +830,7 @@ void JUTException::createFB() {
|
||||
void* object = (void*)ALIGN_PREV((s32)begin - sizeof(JUTExternalFB), 32);
|
||||
new (object) JUTExternalFB(renderMode, GX_GM_1_7, begin, size);
|
||||
|
||||
mDirectPrint->changeFrameBuffer(begin, renderMode->fb_width, renderMode->efb_height);
|
||||
mDirectPrint->changeFrameBuffer(begin, renderMode->fbWidth, renderMode->efbHeight);
|
||||
VIConfigure(renderMode);
|
||||
VISetNextFrameBuffer(begin);
|
||||
VISetBlack(FALSE);
|
||||
@@ -848,16 +848,16 @@ void JUTException::createFB() {
|
||||
|
||||
/* 802E3AEC-802E3AFC 2DE42C 0010+00 0/0 1/1 0/0 .text
|
||||
* setPreUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v */
|
||||
OSErrorHandler JUTException::setPreUserCallback(OSErrorHandler callback) {
|
||||
OSErrorHandler previous = sPreUserCallback;
|
||||
JUTExceptionUserCallback JUTException::setPreUserCallback(JUTExceptionUserCallback callback) {
|
||||
JUTExceptionUserCallback previous = sPreUserCallback;
|
||||
sPreUserCallback = callback;
|
||||
return previous;
|
||||
}
|
||||
|
||||
/* 802E3AFC-802E3B0C 2DE43C 0010+00 0/0 1/1 0/0 .text
|
||||
* setPostUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v */
|
||||
OSErrorHandler JUTException::setPostUserCallback(OSErrorHandler callback) {
|
||||
OSErrorHandler previous = sPostUserCallback;
|
||||
JUTExceptionUserCallback JUTException::setPostUserCallback(JUTExceptionUserCallback callback) {
|
||||
JUTExceptionUserCallback previous = sPostUserCallback;
|
||||
sPostUserCallback = callback;
|
||||
return previous;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <dolphin.h>
|
||||
#include "global.h"
|
||||
|
||||
/* 8039DA20-803A1B80 02A080 4160+00 0/0 1/0 0/0 .rodata JUTResFONT_Ascfont_fix12 */
|
||||
extern u8 const JUTResFONT_Ascfont_fix12[16736] ALIGN_DECL(32) = {
|
||||
|
||||
@@ -113,13 +113,13 @@ u32 JUTGamePad::read() {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
bittest = PAD_CHAN0_BIT >> i;
|
||||
|
||||
if (mPadStatus[i].error == 0) {
|
||||
if (mPadStatus[i].err == 0) {
|
||||
u32 stick_status;
|
||||
stick_status = mPadMStick[i].update(mPadStatus[i].stick_x, mPadStatus[i].stick_y, sStickMode, EMainStick, mPadButton[i].mButton) << 0x18;
|
||||
stick_status |= (mPadSStick[i].update(mPadStatus[i].substick_x, mPadStatus[i].substick_y, sStickMode, ESubStick, mPadButton[i].mButton) << 0x10);
|
||||
stick_status = mPadMStick[i].update(mPadStatus[i].stickX, mPadStatus[i].stickY, sStickMode, EMainStick, mPadButton[i].mButton) << 0x18;
|
||||
stick_status |= (mPadSStick[i].update(mPadStatus[i].substickX, mPadStatus[i].substickY, sStickMode, ESubStick, mPadButton[i].mButton) << 0x10);
|
||||
|
||||
mPadButton[i].update(&mPadStatus[i], stick_status);
|
||||
} else if (mPadStatus[i].error == -1) {
|
||||
} else if (mPadStatus[i].err == -1) {
|
||||
mPadMStick[i].update(0, 0, sStickMode, EMainStick, 0);
|
||||
mPadSStick[i].update(0, 0, sStickMode, ESubStick, 0);
|
||||
mPadButton[i].update(NULL, 0);
|
||||
@@ -140,9 +140,9 @@ u32 JUTGamePad::read() {
|
||||
pad->getPadReplay()->getStatus(&status);
|
||||
|
||||
u32 stick_status;
|
||||
stick_status = pad->mMainStick.update(status.stick_x, status.stick_y, sStickMode,
|
||||
stick_status = pad->mMainStick.update(status.stickX, status.stickY, sStickMode,
|
||||
EMainStick, pad->mButton.mButton) << 0x18;
|
||||
stick_status |= pad->mSubStick.update(status.substick_x, status.substick_y, sStickMode,
|
||||
stick_status |= pad->mSubStick.update(status.substickX, status.substickY, sStickMode,
|
||||
ESubStick, pad->mButton.mButton) << 0x10;
|
||||
|
||||
pad->mButton.update(&status, stick_status);
|
||||
@@ -155,7 +155,7 @@ u32 JUTGamePad::read() {
|
||||
|
||||
if (pad->getPadRecord() != NULL && pad->getPadRecord()->isActive()) {
|
||||
int port = pad->mPortNum;
|
||||
if (port >= 0 && mPadStatus[port].error == 0) {
|
||||
if (port >= 0 && mPadStatus[port].err == 0) {
|
||||
pad->getPadRecord()->write(&mPadStatus[port]);
|
||||
}
|
||||
}
|
||||
@@ -172,7 +172,7 @@ u32 JUTGamePad::read() {
|
||||
/* 802E0BBC-802E0C6C 2DB4FC 00B0+00 1/1 0/0 0/0 .text assign__10JUTGamePadFv */
|
||||
void JUTGamePad::assign() {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (mPadStatus[i].error == 0 && mPadAssign[i] == 0) {
|
||||
if (mPadStatus[i].err == 0 && mPadAssign[i] == 0) {
|
||||
mPortNum = i;
|
||||
mPadAssign[i] = 1;
|
||||
mPadButton[i].setRepeat(mButton.mRepeatMask, mButton.mRepeatDelay, mButton.mRepeatRate);
|
||||
@@ -243,7 +243,7 @@ void JUTGamePad::update() {
|
||||
mButton = mPadButton[mPortNum];
|
||||
mMainStick = mPadMStick[mPortNum];
|
||||
mSubStick = mPadSStick[mPortNum];
|
||||
mErrorStatus = mPadStatus[mPortNum].error;
|
||||
mErrorStatus = mPadStatus[mPortNum].err;
|
||||
}
|
||||
|
||||
if (field_0xa8 == 0 || C3ButtonReset::sResetPattern != (mButton.mButton & C3ButtonReset::sResetMaskPattern)) {
|
||||
@@ -369,10 +369,10 @@ void JUTGamePad::CButton::update(const PADStatus* padStatus, u32 stickStatus) {
|
||||
mRepeat |= (mRepeatMask ^ 0xFFFFFFFF) & mTrigger;
|
||||
|
||||
if (padStatus != NULL) {
|
||||
mAnalogA = padStatus->analog_a;
|
||||
mAnalogB = padStatus->analog_b;
|
||||
mAnalogL = padStatus->trigger_left;
|
||||
mAnalogR = padStatus->trigger_right;
|
||||
mAnalogA = padStatus->analogA;
|
||||
mAnalogB = padStatus->analogB;
|
||||
mAnalogL = padStatus->triggerLeft;
|
||||
mAnalogR = padStatus->triggerRight;
|
||||
} else {
|
||||
mAnalogA = 0;
|
||||
mAnalogB = 0;
|
||||
|
||||
@@ -124,7 +124,7 @@ void JUTProcBar::draw() {
|
||||
void JUTProcBar::drawProcessBar() {
|
||||
if (mVisible) {
|
||||
int frameDuration = 16666; // duration in miliseconds? for how long a frame takes,
|
||||
if (JUTVideo::getManager() && ((JUTVideo::getManager()->getRenderMode()->vi_tv_mode >> 2) &
|
||||
if (JUTVideo::getManager() && ((JUTVideo::getManager()->getRenderMode()->viTVmode >> 2) &
|
||||
0x0f) == 1) // possibly a define
|
||||
frameDuration = 20000; // duration for PAL
|
||||
|
||||
@@ -324,4 +324,4 @@ void JUTProcBar::drawHeapBar() {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ void JUTResFont::setGX() {
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, GX_LIGHT_NULL, GX_DF_NONE,
|
||||
GX_AF_NONE);
|
||||
GXSetTevOp(GX_TEVSTAGE0, GX_MODULATE);
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET);
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGBA4, 0);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBX8, 15);
|
||||
@@ -220,7 +220,7 @@ void JUTResFont::setGX(JUtility::TColor col1, JUtility::TColor col2) {
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_APREV, GX_CA_RASA, GX_CA_ZERO);
|
||||
GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_SET);
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGBA4, 0);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGBX8, 15);
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "JSystem/JUtility/JUTDirectPrint.h"
|
||||
#include "JSystem/JUtility/JUTXfb.h"
|
||||
#include "dolphin/gx.h"
|
||||
#include <dolphin/vi.h>
|
||||
|
||||
/* 80451538-8045153C 000A38 0004+00 4/4 18/18 1/1 .sbss sManager__8JUTVideo */
|
||||
JUTVideo* JUTVideo::sManager;
|
||||
@@ -93,7 +94,7 @@ void JUTVideo::preRetraceProc(u32 retrace_count) {
|
||||
JUTVideo* videoManager = JUTGetVideoManager();
|
||||
const GXRenderModeObj* renderMode = videoManager->getRenderMode();
|
||||
JUTDirectPrint* directPrint = JUTDirectPrint::getManager();
|
||||
directPrint->changeFrameBuffer(frameBuffer, renderMode->fb_width, renderMode->efb_height);
|
||||
directPrint->changeFrameBuffer(frameBuffer, renderMode->fbWidth, renderMode->efbHeight);
|
||||
}
|
||||
|
||||
if (sManager->mSetBlack == 1) {
|
||||
@@ -198,7 +199,7 @@ void JUTVideo::postRetraceProc(u32 retrace_count) {
|
||||
/* 802E5198-802E5210 2DFAD8 0078+00 1/1 2/2 0/0 .text
|
||||
* setRenderMode__8JUTVideoFPC16_GXRenderModeObj */
|
||||
void JUTVideo::setRenderMode(GXRenderModeObj const* pObj) {
|
||||
if (mRenderObj != NULL && pObj->vi_tv_mode != mRenderObj->vi_tv_mode) {
|
||||
if (mRenderObj != NULL && pObj->viTVmode != mRenderObj->viTVmode) {
|
||||
mSetBlack = true;
|
||||
mSetBlackFrameCount = 4;
|
||||
}
|
||||
@@ -213,4 +214,4 @@ void JUTVideo::setRenderMode(GXRenderModeObj const* pObj) {
|
||||
}
|
||||
|
||||
/* 802E5210-802E5214 2DFB50 0004+00 0/0 1/1 0/0 .text waitRetraceIfNeed__8JUTVideoFv */
|
||||
void JUTVideo::waitRetraceIfNeed() {}
|
||||
void JUTVideo::waitRetraceIfNeed() {}
|
||||
|
||||
@@ -59,15 +59,15 @@ JUTXfb::JUTXfb(GXRenderModeObj const* pObj, JKRHeap* pHeap, JUTXfb::EXfbNumber x
|
||||
common_init(xfbNum);
|
||||
|
||||
if (pObj) {
|
||||
initiate(pObj->fb_width, pObj->xfb_height, pHeap, xfbNum);
|
||||
initiate(pObj->fbWidth, pObj->xfbHeight, pHeap, xfbNum);
|
||||
} else {
|
||||
u16 fb_width = JUTVideo::getManager()->getRenderMode()->fb_width;
|
||||
u16 efb_height = (u32)JUTVideo::getManager()->getRenderMode()->efb_height;
|
||||
u16 xfb_height = JUTVideo::getManager()->getRenderMode()->xfb_height;
|
||||
f32 scale_factor = GXGetYScaleFactor(efb_height, xfb_height);
|
||||
u16 xfb_lines = GXGetNumXfbLines(efb_height, scale_factor);
|
||||
u16 fbWidth = JUTVideo::getManager()->getRenderMode()->fbWidth;
|
||||
u16 efbHeight = (u32)JUTVideo::getManager()->getRenderMode()->efbHeight;
|
||||
u16 xfb_height = JUTVideo::getManager()->getRenderMode()->xfbHeight;
|
||||
f32 scale_factor = GXGetYScaleFactor(efbHeight, xfb_height);
|
||||
u16 xfb_lines = GXGetNumXfbLines(efbHeight, scale_factor);
|
||||
|
||||
initiate(fb_width, xfb_lines, pHeap, xfbNum);
|
||||
initiate(fbWidth, xfb_lines, pHeap, xfbNum);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user