GXSETARRAY macro and used that at some places

This commit is contained in:
dbalatoni13 2025-04-04 01:31:35 +02:00
parent 4438f7d9c8
commit a443a0a7c7
5 changed files with 15 additions and 12 deletions

View file

@ -20,8 +20,10 @@ void GXSetPointSize(u8 pointSize, GXTexOffset texOffsets);
void GXEnableTexOffsets(GXTexCoordID coord, GXBool line_enable, GXBool point_enable); void GXEnableTexOffsets(GXTexCoordID coord, GXBool line_enable, GXBool point_enable);
#ifdef TARGET_PC #ifdef TARGET_PC
void GXSetArray(GXAttr attr, const void* data, u32 size, u8 stride); void GXSetArray(GXAttr attr, const void* data, u32 size, u8 stride);
#define GXSETARRAY(attr, data, size, stride) GXSetArray((attr), (data), (size), (stride))
#else #else
void GXSetArray(GXAttr attr, const void* data, u8 stride); void GXSetArray(GXAttr attr, const void* data, u8 stride);
#define GXSETARRAY(attr, data, size, stride) GXSetArray((attr), (data), (stride))
#endif #endif
void GXInvalidateVtxCache(void); void GXInvalidateVtxCache(void);

View file

@ -1002,7 +1002,7 @@ void fn_1_37A4(ModelData *arg0, Mtx arg1)
GXClearVtxDesc(); GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_INDEX16); GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0);
GXSetArray(GX_VA_POS, lbl_1_bss_5AC.unk14, 0xC); GXSETARRAY(GX_VA_POS, lbl_1_bss_5AC.unk14, 900 * sizeof(Vec), 0xC);
GXSetCullMode(GX_CULL_BACK); GXSetCullMode(GX_CULL_BACK);
GXCallDisplayList(lbl_1_bss_5AC.unk24, lbl_1_bss_5AC.unk28); GXCallDisplayList(lbl_1_bss_5AC.unk24, lbl_1_bss_5AC.unk28);
GXSetNumIndStages(0); GXSetNumIndStages(0);

View file

@ -1111,19 +1111,19 @@ void fn_1_45BC(ModelData *arg0, Mtx arg1)
GXClearVtxDesc(); GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_INDEX16); GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
GXSetArray(GX_VA_POS, var_r31->unk_84, sizeof(Vec)); GXSETARRAY(GX_VA_POS, var_r31->unk_84, var_r31->unk_80 * sizeof(Vec), sizeof(Vec));
GXSetVtxDesc(GX_VA_NRM, GX_INDEX16); GXSetVtxDesc(GX_VA_NRM, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
GXSetArray(GX_VA_NRM, var_r31->unk_88, sizeof(Vec)); GXSETARRAY(GX_VA_NRM, var_r31->unk_88, var_r31->unk_80 * sizeof(Vec), sizeof(Vec));
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
GXSetArray(GX_VA_CLR0, var_r31->unk_90, 4); GXSETARRAY(GX_VA_CLR0, var_r31->unk_90, var_r31->unk_80 * sizeof(GXColor), sizeof(GXColor));
GXCallDisplayList(var_r31->unk_A4, var_r31->unk_A0); GXCallDisplayList(var_r31->unk_A4, var_r31->unk_A0);
for (var_r30 = 1; var_r30 < 29; var_r30++) { for (var_r30 = 1; var_r30 < 29; var_r30++) {
var_r29 = var_r30 * 35; var_r29 = var_r30 * 35;
GXSetArray(GX_VA_POS, &var_r31->unk_84[var_r29], sizeof(Vec)); GXSETARRAY(GX_VA_POS, &var_r31->unk_84[var_r29], 35 * sizeof(Vec), sizeof(Vec));
GXSetArray(GX_VA_NRM, &var_r31->unk_88[var_r29], sizeof(Vec)); GXSETARRAY(GX_VA_NRM, &var_r31->unk_88[var_r29], 35 * sizeof(Vec), sizeof(Vec));
GXSetArray(GX_VA_CLR0, &var_r31->unk_90[var_r29], sizeof(GXColor)); GXSETARRAY(GX_VA_CLR0, &var_r31->unk_90[var_r29], 35 * sizeof(GXColor), sizeof(GXColor));
GXCallDisplayList(var_r31->unk_A4, var_r31->unk_A0); GXCallDisplayList(var_r31->unk_A4, var_r31->unk_A0);
} }
} }

View file

@ -1,4 +1,5 @@
#include "game/hsfanim.h" #include "game/hsfanim.h"
#include "dolphin/gx/GXStruct.h"
#include "game/hsfdraw.h" #include "game/hsfdraw.h"
#include "game/init.h" #include "game/init.h"
#include "game/memory.h" #include "game/memory.h"
@ -824,13 +825,13 @@ static void particleFunc(ModelData *arg0, Mtx arg1) {
GXClearVtxDesc(); GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_INDEX16); GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_RGBA6, 0);
GXSetArray(GX_VA_POS, temp_r31->unk_4C, 0xC); GXSETARRAY(GX_VA_POS, temp_r31->unk_4C, temp_r31->unk_30 * 4, 0xC);
GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16); GXSetVtxDesc(GX_VA_CLR0, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
GXSetArray(GX_VA_CLR0, &temp_r31->unk_48->unk40, 0x44); GXSETARRAY(GX_VA_CLR0, &temp_r31->unk_48->unk40, temp_r31->unk_30, 0x44);
GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16); GXSetVtxDesc(GX_VA_TEX0, GX_INDEX16);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);
GXSetArray(GX_VA_TEX0, baseST, 8); GXSETARRAY(GX_VA_TEX0, baseST, sizeof(baseST), 8);
GXCallDisplayList(temp_r31->unk_50, temp_r31->unk_40); GXCallDisplayList(temp_r31->unk_50, temp_r31->unk_40);
} }
if (shadowModelDrawF == 0) { if (shadowModelDrawF == 0) {

View file

@ -156,7 +156,7 @@ void pfDrawFonts(void)
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
GXSetArray(GX_VA_CLR0, fcoltbl, sizeof(GXColor)); GXSETARRAY(GX_VA_CLR0, fcoltbl, sizeof(fcoltbl), sizeof(GXColor));
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
GXInvalidateTexAll(); GXInvalidateTexAll();
GXInitTexObj(&font_tex, ank8x8_4b, 128, 128, GX_TF_I4, GX_CLAMP, GX_CLAMP, GX_FALSE); GXInitTexObj(&font_tex, ank8x8_4b, 128, 128, GX_TF_I4, GX_CLAMP, GX_CLAMP, GX_FALSE);
@ -203,7 +203,7 @@ void pfDrawFonts(void)
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
GXSetArray(GX_VA_CLR0, fcoltbl, sizeof(GXColor)); GXSETARRAY(GX_VA_CLR0, fcoltbl, sizeof(fcoltbl), sizeof(GXColor));
GXSetNumTevStages(1); GXSetNumTevStages(1);
GXSetNumTexGens(1); GXSetNumTexGens(1);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);