Minor JSystem/Z2Audio fixes (#2650)

This commit is contained in:
Max Roncace
2025-09-12 02:39:23 -04:00
committed by GitHub
parent 93d3b2af3b
commit 41315ee2ce
11 changed files with 95 additions and 32 deletions
+68 -2
View File
@@ -6,6 +6,7 @@
#include "JSystem/JSystem.h" // IWYU pragma: keep
#include "JSystem/J2DGraph/J2DMatBlock.h"
#include "JSystem/J2DGraph/J2DTevs.h"
#include "JSystem/JUtility/JUTPalette.h"
#include "JSystem/JUtility/JUTResFont.h"
#include "JSystem/JUtility/JUTTexture.h"
@@ -1357,8 +1358,40 @@ J2DTevBlock8::~J2DTevBlock8() {
}
/* 802EEF6C-802EF1E0 2E98AC 0274+00 1/0 0/0 0/0 .text initialize__12J2DTevBlock8Fv */
// NONMATCHING - inlines
void J2DTevBlock8::initialize() {
// NONMATCHING
for (int i = 0; i < 8; i++) {
mTexNo[i] = 0xffff;
}
mFontNo = 0xffff;
for (int i = 0; i < 8; i++) {
mTevOrder[i].setTevOrderInfo(j2dDefaultTevOrderInfoNull);
}
for (int i = 0; i < 4; i++) {
mTevColor[i] = j2dDefaultTevColor;
}
mTevStageNum = 1;
for (int i = 0; i < 8; i++) {
mTevStage[i].setStageNo(i);
}
for (int i = 0; i < 4; i++) {
mTevKColor[i] = j2dDefaultTevKColor;
}
for (int i = 0; i < 8; i++) {
mTevKColorSel[i] = 0xff;
mTevKAlphaSel[i] = 0xff;
}
for (int i = 0; i < 4; i++) {
mTevSwapModeTable[i].setTevSwapModeTableInfo(j2dDefaultTevSwapModeTable);
}
for (int i = 0; i < 8; i++) {
mIndTevStage[i].setIndTevStageInfo(j2dDefaultIndTevStageInfo);
}
for (int i = 0; i < 8; i++) {
mPalette[i] = 0;
}
mFont = NULL;
mFontUndeleteFlag = 0;
}
/* 802EF1E0-802EF2B0 2E9B20 00D0+00 1/0 0/0 0/0 .text prepareTexture__12J2DTevBlock8FUc
@@ -1788,8 +1821,41 @@ J2DTevBlock16::~J2DTevBlock16() {
}
/* 802F03EC-802F0660 2EAD2C 0274+00 1/0 0/0 0/0 .text initialize__13J2DTevBlock16Fv */
// NONMATCHING - inlines
void J2DTevBlock16::initialize() {
// NONMATCHING
for (int i = 0; i < 8; i++) {
mTexNo[i] = 0xffff;
}
mFontNo = 0xffff;
for (int i = 0; i < 16; i++) {
mTevOrder[i].setTevOrderInfo(j2dDefaultTevOrderInfoNull);
}
for (int i = 0; i < 4; i++) {
mTevColor[i] = j2dDefaultTevColor;
}
mTevStageNum = 1;
for (int i = 0; i < 16; i++) {
mTevStage[i].setStageNo(i);
}
for (int i = 0; i < 4; i++) {
mTevKColor[i] = j2dDefaultTevKColor;
}
for (int i = 0; i < 16; i++) {
mTevKColorSel[i] = 0xff;
mTevKAlphaSel[i] = 0xff;
}
for (int i = 0; i < 4; i++) {
mTevSwapModeTable[i].setTevSwapModeTableInfo(j2dDefaultTevSwapModeTable);
}
for (int i = 0; i < 16; i++) {
mIndTevStage[i].setIndTevStageInfo(j2dDefaultIndTevStageInfo);
}
for (int i = 0; i < 8; i++) {
mPalette[i] = 0;
}
mFont = NULL;
mFontUndeleteFlag = 0;
}
/* 802F0660-802F0730 2EAFA0 00D0+00 1/0 0/0 0/0 .text prepareTexture__13J2DTevBlock16FUc
+7 -9
View File
@@ -71,7 +71,6 @@ u32 J2DMaterialFactory::countStages(int param_0) const {
/* 802F2D1C-802F362C 2ED65C 0910+00 0/0 1/1 0/0 .text
* create__18J2DMaterialFactoryCFP11J2DMaterialiUlP15J2DResReferenceP15J2DResReferenceP10JKRArchive
*/
// NONMATCHING - Stack issues
J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int index, u32 param_2,
J2DResReference* param_3, J2DResReference* param_4,
JKRArchive* param_5) const {
@@ -84,8 +83,7 @@ J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int index, u32 par
s32 local_3bc = ((param_2 & 0x1000000) != 0);
s32 local_3c0 = (param_2 & 0x1f0000) ? local_3bc : 0;
bool temp = (param_2 & 0x1f0000);
u16 tevBlockNum = r28;
param_0->mTevBlock = J2DMaterial::createTevBlock(tevBlockNum, temp);
param_0->mTevBlock = J2DMaterial::createTevBlock((u16)r28, temp);
param_0->mIndBlock = J2DMaterial::createIndBlock(local_3c0, temp);
param_0->mIndex = index;
param_0->field_0x8 = getMaterialMode(index);
@@ -128,9 +126,8 @@ J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int index, u32 par
local_388 = aJStack_12c.getResource(local_384, 'FONT', NULL);
}
if (local_388 == NULL && J2DScreen::getDataManage() != NULL) {
char* pcVar9 = param_4->getName(param_0->getTevBlock()->getFontNo());
char acStack_334[257];
strcpy(acStack_334, pcVar9);
strcpy(acStack_334, param_4->getName(param_0->getTevBlock()->getFontNo()));
local_388 = J2DScreen::getDataManage()->get(acStack_334);
}
}
@@ -151,8 +148,7 @@ J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int index, u32 par
param_0->getTevBlock()->setTevKColor(i, newTevKColor(index, i));
}
for (u8 i = 0; i < 4; i++) {
J2DTevBlock* block = param_0->getTevBlock();
block->setTevColor(i, newTevColor(index, i));
param_0->getTevBlock()->setTevColor(i, newTevColor(index, i));
}
for (u8 i = 0; i < 4; i++) {
param_0->getTevBlock()->setTevSwapModeTable(i, newTevSwapModeTable(index, i));
@@ -161,10 +157,12 @@ J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int index, u32 par
param_0->getColorBlock()->setMatColor(i, newMatColor(index, i));
}
for (u8 i = 0; i < 4; i++) {
param_0->getColorBlock()->setColorChan(i, newColorChan(index, i));
J2DColorChan colorChan = newColorChan(index, i);
param_0->getColorBlock()->setColorChan(i, colorChan);
}
for (u8 i = 0; i < 8; i++) {
param_0->getTexGenBlock()->setTexCoord(i, newTexCoord(index, i));
J2DTexCoord texCoord = newTexCoord(index, i);
param_0->getTexGenBlock()->setTexCoord(i, &texCoord);
}
for (u8 i = 0; i < 8; i++) {
param_0->getTexGenBlock()->setTexMtx(i, newTexMtx(index, i));