This commit is contained in:
Jasper St. Pierre
2023-12-27 22:17:41 -08:00
parent 9e7b8490f8
commit 2acf4ca63f
9 changed files with 26 additions and 47 deletions
+1 -1
View File
@@ -321,7 +321,7 @@ config.libs = [
Object(Matching, "f_pc/f_pc_layer_tag.cpp"),
Object(Matching, "f_pc/f_pc_line.cpp"),
Object(Matching, "f_pc/f_pc_load.cpp"),
Object(NonMatching, "f_pc/f_pc_manager.cpp"),
Object(Matching, "f_pc/f_pc_manager.cpp"),
Object(Matching, "f_pc/f_pc_method.cpp"),
Object(Matching, "f_pc/f_pc_node.cpp"),
Object(Matching, "f_pc/f_pc_node_req.cpp"),
+2 -2
View File
@@ -160,8 +160,8 @@ public:
bool doTerminationProcess();
void calcEmitterGlobalPosition(JGeometry::TVec3<f32>&);
void calcgReRDirection();
u32 getPivotX();
u32 getPivotY();
u8 getPivotX();
u8 getPivotY();
void setStatus(u32 status) { mFlags |= status; }
void clearStatus(u32 status) { mFlags &= ~status; }
+2 -2
View File
@@ -142,7 +142,7 @@ void J2DWindow::draw_private(const JGeometry::TBox2<f32>& frameBox, const JGeome
drawFrameTexture(mpFrameTexture4, right, top,
(field_0x110 >> 1) & 1,
(field_0x110 >> 0) & 1, (field_0x111 & 1));
(field_0x110 >> 0) & 1, (field_0x111 & 2));
s0 = ((field_0x110 >> 1) & 1) ? (u16)0x8000 : (u16)0;
t0 = ((field_0x110 >> 0) & 1) ? (u16)0 : (u16)0x8000;
@@ -156,7 +156,7 @@ void J2DWindow::draw_private(const JGeometry::TBox2<f32>& frameBox, const JGeome
drawFrameTexture(mpFrameTexture3, 0.0f, top,
(field_0x110 >> 3) & 1,
(field_0x110 >> 2) & 1, (field_0x111 & 1));
(field_0x110 >> 2) & 1, (field_0x111 & 4));
s0 = ((field_0x110 >> 3) & 1) ? (u16)0 : (u16)0x8000;
s1 = (u16)(s0 ^ 0x8000);
+11 -14
View File
@@ -596,37 +596,34 @@ extern void J3DPSMtxArrayConcat(f32(*)[4], f32(*)[4], f32(*)[4], u32);
/* 802EEBDC-802EEE30 .text calcDrawMtx__8J3DModelFv */
void J3DModel::calcDrawMtx() {
/* Nonmatching - regalloc */
switch (getMtxCalcMode()) {
case 0:
MtxP viewMtx = j3dSys.getViewMtx();
for (u16 i = 0; i < getModelData()->getDrawFullWgtMtxNum(); i++) {
u16 drawMtxIdx = getModelData()->getDrawMtxIndex(i);
MTXConcat(viewMtx, getAnmMtx(drawMtxIdx), getDrawMtxPtr()[i]);
MTXConcat(viewMtx, getAnmMtx(drawMtxIdx), getDrawMtx(i));
}
if (getModelData()->getDrawMtxNum() > getModelData()->getDrawFullWgtMtxNum()) {
MtxP weightAnmMtx = getWeightAnmMtx(0);
MtxP drawMtx = getDrawMtxPtr()[getModelData()->getDrawFullWgtMtxNum()];
J3DPSMtxArrayConcat(viewMtx, weightAnmMtx, drawMtx, getModelData()->getWEvlpMtxNum());
J3DPSMtxArrayConcat(viewMtx, getWeightAnmMtx(0), getDrawMtx(getModelData()->getDrawFullWgtMtxNum()), getModelData()->getWEvlpMtxNum());
}
break;
case 1:
for (u16 i = 0; i < getModelData()->getDrawFullWgtMtxNum(); i++)
MTXCopy(getAnmMtx(getModelData()->getDrawMtxIndex(i)), getDrawMtxPtr()[i]);
for (u16 i = 0; i < getModelData()->getDrawFullWgtMtxNum(); i++) {
MTXCopy(getAnmMtx(getModelData()->getDrawMtxIndex(i)), getDrawMtx(i));
}
for (u16 i = 0; i < getModelData()->getWEvlpMtxNum(); i++) {
MtxP drawMtx = getDrawMtxPtr()[getModelData()->getDrawFullWgtMtxNum() + i];
setWeightAnmMtx(i, drawMtx);
MTXCopy(getWeightAnmMtx(i), getDrawMtx(getModelData()->getDrawFullWgtMtxNum() + i));
}
break;
case 2:
calcViewBaseMtx(j3dSys.getViewMtx(), mBaseScale, mBaseTransformMtx, mViewBaseMtx);
for (u16 i = 0; i < getModelData()->getDrawFullWgtMtxNum(); i++) {
MtxP anmMtx = getAnmMtx(getModelData()->getDrawMtxIndex(i));
MTXConcat(mViewBaseMtx, anmMtx, getDrawMtxPtr()[i]);
u16 drawMtxIdx = getModelData()->getDrawMtxIndex(i);
MTXConcat(mViewBaseMtx, getAnmMtx(drawMtxIdx), getDrawMtx(i));
}
if (getModelData()->getDrawFullWgtMtxNum() > getModelData()->getDrawMtxNum()) {
MtxP weightAnmMtx = getWeightAnmMtx(0);
MtxP drawMtx = getDrawMtxPtr()[getModelData()->getDrawFullWgtMtxNum()];
J3DPSMtxArrayConcat(mViewBaseMtx, weightAnmMtx, drawMtx, getModelData()->getWEvlpMtxNum());
if (getModelData()->getDrawMtxNum() > getModelData()->getDrawFullWgtMtxNum()) {
J3DPSMtxArrayConcat(mViewBaseMtx, getWeightAnmMtx(0), getDrawMtx(getModelData()->getDrawFullWgtMtxNum()), getModelData()->getWEvlpMtxNum());
}
break;
}
+3 -23
View File
@@ -18,29 +18,9 @@ void J3DGQRSetup7(u32, u32, u32, u32) {
}
/* 802DA0E8-802DA120 .text J3DCalcZValue__FPA4_f3Vec */
// matches debug
f32 J3DCalcZValue(register MtxP m, register Vec v) {
register f32 temp_f4;
register f32 out;
register f32 temp_f0;
register f32 temp_f2;
register f32 temp_f1 = 1.0f;
// clang-format off
asm {
psq_l temp_f0, 0(v), 0, 0 /* qr0 */
lfs temp_f2, 8(v)
psq_l temp_f4, 32(m), 0, 0 /* qr0 */
psq_l out, 40(m), 0, 0 /* qr0 */
ps_merge00 temp_f2, temp_f2, temp_f1
ps_mul temp_f4, temp_f0, temp_f4
ps_madd out, temp_f2, out, temp_f4
ps_sum0 out, out, out, out
}
// clang-format on
return out;
f32 J3DCalcZValue(MtxP m, Vec v) {
/* Nonmatching */
return m[2][0] * v.x + m[2][1] * v.y + m[2][2] * v.z + m[2][3];
}
/* 802DA120-802DA2E0 .text J3DCalcBBoardMtx__FPA4_f */
@@ -17,12 +17,12 @@ u16 J3DMaterialFactory_v21::countUniqueMaterials() {
}
/* 802F9C8C-802F9CC4 .text countTexGens__22J3DMaterialFactory_v21CFi */
void J3DMaterialFactory_v21::countTexGens(int) const {
u32 J3DMaterialFactory_v21::countTexGens(int) const {
/* Nonmatching */
}
/* 802F9CC4-802F9D4C .text countStages__22J3DMaterialFactory_v21CFi */
void J3DMaterialFactory_v21::countStages(int) const {
u32 J3DMaterialFactory_v21::countStages(int) const {
/* Nonmatching */
}
+2 -2
View File
@@ -419,7 +419,7 @@ void JPABaseEmitter::calcgReRDirection() {
}
/* 8025DDE8-8025DE2C .text getPivotX__14JPABaseEmitterFv */
u32 JPABaseEmitter::getPivotX() {
u8 JPABaseEmitter::getPivotX() {
if (getEmitterDataBlockInfoPtr()->getExtraShape() != NULL)
return getEmitterDataBlockInfoPtr()->getExtraShape()->getPivotX();
else
@@ -427,7 +427,7 @@ u32 JPABaseEmitter::getPivotX() {
}
/* 8025DE2C-8025DE70 .text getPivotY__14JPABaseEmitterFv */
u32 JPABaseEmitter::getPivotY() {
u8 JPABaseEmitter::getPivotY() {
if (getEmitterDataBlockInfoPtr()->getExtraShape() != NULL)
return getEmitterDataBlockInfoPtr()->getExtraShape()->getPivotY();
else
+1 -1
View File
@@ -215,7 +215,7 @@ void drawDvdCondition(long status) {
}
/* 8003EBD4-8003EC84 .text checkDvdCondition__Fv */
static int checkDvdCondition() {
int checkDvdCondition() {
static int l_dvdError = 0;
int status = DVDGetDriveStatus();
+2
View File
@@ -86,6 +86,7 @@ const u8 msg_data[] ALIGN_DECL(32) = {
#endif
};
#if VERSION == VERSION_PAL
const u8 msg_data_ge[] ALIGN_DECL(32) = {
0x4D, 0x45, 0x53, 0x47, 0x62, 0x6D, 0x67, 0x31, 0x00, 0x00, 0x02, 0xA0, 0x00, 0x00, 0x00, 0x02,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -253,6 +254,7 @@ const u8 msg_data_it[] ALIGN_DECL(32) = {
0x69, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#endif
const u8 font_data[] ALIGN_DECL(32) = {
#if VERSION == VERSION_JPN