summaryrefslogtreecommitdiff
path: root/arm9/lib/NitroSDK/include/GX_g3.h
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/lib/NitroSDK/include/GX_g3.h')
-rw-r--r--arm9/lib/NitroSDK/include/GX_g3.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/arm9/lib/NitroSDK/include/GX_g3.h b/arm9/lib/NitroSDK/include/GX_g3.h
index 765ecc64..2c093370 100644
--- a/arm9/lib/NitroSDK/include/GX_g3.h
+++ b/arm9/lib/NitroSDK/include/GX_g3.h
@@ -181,4 +181,40 @@ typedef union
}
GXBoxTestParam;
+
+
+
+#define GX_PACK_TEXIMAGE_PARAM(texFmt, texGen, s, t, repeat, flip, pltt0, addr) \
+ ((u32)(((addr) >> 3) | \
+ ((texFmt) << REG_G3_TEXIMAGE_PARAM_TEXFMT_SHIFT) | \
+ ((texGen) << REG_G3_TEXIMAGE_PARAM_TGEN_SHIFT) | \
+ ((s) << REG_G3_TEXIMAGE_PARAM_V_SIZE_SHIFT) | \
+ ((t) << REG_G3_TEXIMAGE_PARAM_T_SIZE_SHIFT) | \
+ ((repeat) << REG_G3_TEXIMAGE_PARAM_RS_SHIFT) | \
+ ((flip) << REG_G3_TEXIMAGE_PARAM_FS_SHIFT) | \
+ ((pltt0) << REG_G3_TEXIMAGE_PARAM_TR_SHIFT)))
+
+#define GX_PACK_POLYGONATTR_PARAM(light, polyMode, cullMode, polygonID, alpha, misc) \
+ ((u32)(((light) << REG_G3_POLYGON_ATTR_LE_SHIFT) | \
+ ((polyMode) << REG_G3_POLYGON_ATTR_PM_SHIFT) | \
+ ((cullMode) << REG_G3_POLYGON_ATTR_BK_SHIFT) | \
+ (misc) | \
+ ((polygonID) << REG_G3_POLYGON_ATTR_ID_SHIFT) | \
+ ((alpha) << REG_G3_POLYGON_ATTR_ALPHA_SHIFT)))
+
+
+#define GX_PACK_TEXPLTTBASE_PARAM(addr, texFmt) \
+ ((u32)((addr) >> (4 - ((texFmt) == GX_TEXFMT_PLTT4))))
+
+
+#define GX_PACK_DIFFAMB_PARAM(diffuse, ambient, IsSetVtxColor) \
+ ((u32)((diffuse) | \
+ ((ambient) << REG_G3_DIF_AMB_AMBIENT_RED_SHIFT) | \
+ ((IsSetVtxColor != FALSE) << REG_G3_DIF_AMB_C_SHIFT)))
+
+#define GX_PACK_SPECEMI_PARAM(specular, emission, IsShininess) \
+ ((u32)((specular) | \
+ ((emission) << REG_G3_SPE_EMI_EMISSION_RED_SHIFT) | \
+ ((IsShininess != FALSE) << REG_G3_SPE_EMI_S_SHIFT)))
+
#endif //GUARD_GX_G3_H