summaryrefslogtreecommitdiff
path: root/libs/JSystem/J2DGraph/J2DPicture.cpp
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2023-08-10 03:57:49 -0600
committerGitHub <noreply@github.com>2023-08-10 03:57:49 -0600
commitd24b09c2d9e303df68abd7f3417babfc00d83c78 (patch)
tree52f020141957595ac866109832723941a8f7025f /libs/JSystem/J2DGraph/J2DPicture.cpp
parent244892aeb849a9ad9801aa9828e6282d29df87f0 (diff)
d_file_select work + misc changes (#1873)
* setup TU * JASResArcLoader OK * d_a_obj_stoneMark work * some funcs in d_a_obj_stoneMark * many changes * quat, d_a_obj_stone, d_a_alink, fix python script, tidy makefile * d_file_select functions + pr cleanup * match many dfile_select_c methods * m_Do_main OK * selFileWakuAnm & bookIconAnm * selCopyFileWakuAnm & copyBookIconAnm * dataDelEffAnm & dataCopyEffAnm * selectDataBaseMoveAnmInitSet & selectDataBaseMoveAnm * dataSelectIn * _move & dataSelectInit * match a few more * comment * J2DPicture::drawTexCoord * draw_function * dScnPly_Create + fix typing on request_of_phase_process_fn * checkpoint * checkpoint * checkpoint * checkpoint 2 (fixed) * dFile_select_c::dataSelectAnmSet * dFile_select_c::selectDataOpenMove * dFile_select_c::copySelMoveAnmInitSet * fix brightcheck issues * rm comments, fix status update * small mod to pr template
Diffstat (limited to 'libs/JSystem/J2DGraph/J2DPicture.cpp')
-rw-r--r--libs/JSystem/J2DGraph/J2DPicture.cpp59
1 files changed, 58 insertions, 1 deletions
diff --git a/libs/JSystem/J2DGraph/J2DPicture.cpp b/libs/JSystem/J2DGraph/J2DPicture.cpp
index d0b1fd80e2..489c5506bb 100644
--- a/libs/JSystem/J2DGraph/J2DPicture.cpp
+++ b/libs/JSystem/J2DGraph/J2DPicture.cpp
@@ -711,16 +711,73 @@ asm void J2DPicture::drawOut(JGeometry::TBox2<f32> const& param_0,
/* 802FE380-802FE5D0 2F8CC0 0250+00 1/0 0/0 0/0 .text
* drawTexCoord__10J2DPictureFffffssssssssPA3_A4_f */
+#ifdef NONMATCHING
+// matches with literals
+void J2DPicture::drawTexCoord(f32 param_0, f32 param_1, f32 param_2, f32 param_3, s16 param_4,
+ s16 param_5, s16 param_6, s16 param_7, s16 param_8, s16 param_9,
+ s16 param_10, s16 param_11, Mtx* param_12) {
+
+ if (mTextureCount != 0) {
+ for (u8 i = 0; i < mTextureCount; i++) {
+ load(i);
+ }
+
+ f32 tmp1 = param_0 + param_2;
+ f32 tmp2 = param_1 + param_3;
+
+ GXSetNumTexGens(mTextureCount);
+
+ JUtility::TColor black[4];
+
+ Mtx outputMtx;
+
+ getNewColor(black);
+ setTevMode();
+ PSMTXConcat((MtxP)param_12,mGlobalMtx,outputMtx);
+
+ GXLoadPosMtxImm(outputMtx,0);
+ GXClearVtxDesc();
+ GXSetVtxDesc(GX_VA_POS,GX_DIRECT);
+ GXSetVtxDesc(GX_VA_CLR0,GX_DIRECT);
+ GXSetVtxDesc(GX_VA_TEX0,GX_DIRECT);
+ GXSetVtxAttrFmt(GX_VTXFMT0,GX_VA_POS,GX_CLR_RGBA,GX_F32,0);
+ GXSetVtxAttrFmt(GX_VTXFMT0,GX_VA_TEX0,GX_CLR_RGBA,GX_RGBA4,8);
+ GXBegin(GX_QUADS,GX_VTXFMT0,4);
+
+ GXPosition3f32(param_0,param_1,0.0f);
+ GXColor1u32(black[0]);
+ GXTexCoord2s16(param_4,param_5);
+
+ GXPosition3f32(tmp1,param_1,0.0f);
+ GXColor1u32(black[1]);
+ GXTexCoord2s16(param_6,param_7);
+
+ GXPosition3f32(tmp1,tmp2,0.0f);
+ GXColor1u32(black[3]);
+ GXTexCoord2s16(param_10,param_11);
+
+ GXPosition3f32(param_0,tmp2,0.0f);
+ GXColor1u32(black[2]);
+ GXTexCoord2s16(param_8,param_9);
+
+ i_GXEnd();
+
+ GXSetVtxAttrFmt(GX_VTXFMT0,GX_VA_TEX0,GX_CLR_RGBA,GX_RGBX8,0xf);
+ GXSetVtxAttrFmt(GX_VTXFMT0,GX_VA_POS,GX_CLR_RGBA,GX_RGBA4,0);
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void J2DPicture::drawTexCoord(f32 param_0, f32 param_1, f32 param_2, f32 param_3, s16 param_4,
s16 param_5, s16 param_6, s16 param_7, s16 param_8, s16 param_9,
- s16 param_10, s16 param_11, f32 (*param_12)[3][4]) {
+ s16 param_10, s16 param_11, Mtx* param_12) {
nofralloc
#include "asm/JSystem/J2DGraph/J2DPicture/drawTexCoord__10J2DPictureFffffssssssssPA3_A4_f.s"
}
#pragma pop
+#endif
/* 802FE5D0-802FEA60 2F8F10 0490+00 3/3 0/0 0/0 .text setTevMode__10J2DPictureFv */
#pragma push