OK erase__14JUTDirectPrintFiiii

This commit is contained in:
Julgodis 2021-09-24 18:09:12 +02:00
parent 661e7cc214
commit a998dca498
2 changed files with 26 additions and 9 deletions

View File

@ -31,11 +31,11 @@ private:
/* 0x00 */ void* field_0x00;
/* 0x04 */ u16 mFrameBufferWidth;
/* 0x06 */ u16 mFrameBufferHeight;
/* 0x08 */ u16 field_0x08;
/* 0x08 */ u16 mWidthStride;
/* 0x0A */ u16 field_0x0A;
/* 0x0C */ size_t field_0x0C;
/* 0x10 */ u8 field_0x10[4];
/* 0x14 */ void* mFrameBuffer;
/* 0x14 */ u16* mFrameBuffer;
/* 0x18 */ JUtility::TColor mCharColor;
/* 0x1C */ u16 field_0x1C;
/* 0x1E */ u16 field_0x1E;

View File

@ -77,14 +77,31 @@ JUTDirectPrint* JUTDirectPrint::start() {
}
/* 802E4288-802E431C 2DEBC8 0094+00 1/1 1/1 0/0 .text erase__14JUTDirectPrintFiiii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JUTDirectPrint::erase(int param_0, int param_1, int param_2, int param_3) {
nofralloc
#include "asm/JSystem/JUtility/JUTDirectPrint/erase__14JUTDirectPrintFiiii.s"
void JUTDirectPrint::erase(int x, int y, int width, int height) {
if (!this->field_0x00) {
return;
}
if (400 < mFrameBufferWidth) {
x = x << 1;
width = width << 1;
}
if (300 < mFrameBufferHeight) {
y = y << 1;
height = height << 1;
}
u16* pixel = mFrameBuffer + mWidthStride * y + x;
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
*pixel = 0x1080;
pixel = pixel + 1;
}
pixel += mWidthStride - width;
}
}
#pragma pop
/* ############################################################################################## */
/* 803CC6B8-803CC738 0297D8 0080+00 2/2 0/0 0/0 .data sAsciiTable__14JUTDirectPrint */