add matrix offset constants

This commit is contained in:
Connor Olding 2018-08-31 19:17:52 +02:00
parent 9ac0aa22d8
commit db35095b67
2 changed files with 45 additions and 12 deletions

View File

@ -105,23 +105,23 @@ WriteDList:
la t8, view_mat1
sh s2, 0x20(t8) // xx lo
sh s2, MAT_XX_FRAC(t8)
sra t9, s2, 16
sh t9, 0x00(t8) // xx hi
sh t9, MAT_XX(t8)
subu v0, r0, v0
sh v0, 0x24(t8) // xz lo
sh v0, MAT_XZ_FRAC(t8)
sra t9, v0, 16
sh t9, 0x04(t8) // xz hi
sh t9, MAT_XZ(t8)
subu v0, r0, v0
sh v0, 0x30(t8) // zx lo
sh v0, MAT_ZX_FRAC(t8)
sra t9, v0, 16
sh t9, 0x10(t8) // zx hi
sh t9, MAT_ZX(t8)
sh s2, 0x34(t8) // zz lo
sh s2, MAT_ZZ_FRAC(t8)
sra t9, s2, 16
sh t9, 0x14(t8) // zz hi
sh t9, MAT_ZZ(t8)
or a0, s0, r0
or a1, s1, r0
@ -216,10 +216,6 @@ view_mat0:
constant PERSPECTIVE_NORMALIZATION($00FF)
view_mat1:
// xx 0x00, xy 0x02, xz 0x04, xw 0x06
// yx 0x08, yy 0x0A, yz 0x0C, yw 0x0E
// zx 0x10, zy 0x12, zz 0x14, zw 0x16
// wx 0x18, wy 0x1A, wz 0x1C, ww 0x1E
Mat.X($0001'0000, $0000'0000, $0000'0000, $0000'0000)
Mat.Y($0000'0000, $0001'0000, $0000'0000, $0000'0000)
Mat.Z($0000'0000, $0000'0000, $0001'0000, $0000'0000)

View File

@ -3,6 +3,43 @@ constant G_SETCIMB_UPPER_WORD(0xFF180000)
} else {
constant G_SETCIMB_UPPER_WORD(0xFF100000)
}
constant MAT_XX(0x00)
constant MAT_XY(0x02)
constant MAT_XZ(0x04)
constant MAT_XW(0x06)
constant MAT_YX(0x08)
constant MAT_YY(0x0A)
constant MAT_YZ(0x0C)
constant MAT_YW(0x0E)
constant MAT_ZX(0x10)
constant MAT_ZY(0x12)
constant MAT_ZZ(0x14)
constant MAT_ZW(0x16)
constant MAT_WX(0x18)
constant MAT_WY(0x1A)
constant MAT_WZ(0x1C)
constant MAT_WW(0x1E)
constant MAT_FRAC(0x20)
constant MAT_XX_FRAC(MAT_XX + MAT_FRAC)
constant MAT_XY_FRAC(MAT_XY + MAT_FRAC)
constant MAT_XZ_FRAC(MAT_XZ + MAT_FRAC)
constant MAT_XW_FRAC(MAT_XW + MAT_FRAC)
constant MAT_YX_FRAC(MAT_YX + MAT_FRAC)
constant MAT_YY_FRAC(MAT_YY + MAT_FRAC)
constant MAT_YZ_FRAC(MAT_YZ + MAT_FRAC)
constant MAT_YW_FRAC(MAT_YW + MAT_FRAC)
constant MAT_ZX_FRAC(MAT_ZX + MAT_FRAC)
constant MAT_ZY_FRAC(MAT_ZY + MAT_FRAC)
constant MAT_ZZ_FRAC(MAT_ZZ + MAT_FRAC)
constant MAT_ZW_FRAC(MAT_ZW + MAT_FRAC)
constant MAT_WX_FRAC(MAT_WX + MAT_FRAC)
constant MAT_WY_FRAC(MAT_WY + MAT_FRAC)
constant MAT_WZ_FRAC(MAT_WZ + MAT_FRAC)
constant MAT_WW_FRAC(MAT_WW + MAT_FRAC)
define dpos(0)
macro WriteDL(evaluate L, evaluate R) {