matrix stacks: fix new asserts in nanostray2 weapon shooting and dual strike combat anims (re #39)
This commit is contained in:
parent
093ce4b05d
commit
7031bd9c0c
|
@ -949,12 +949,12 @@ static void gfx3d_glPushMatrix()
|
||||||
|
|
||||||
if(mode == MATRIXMODE_PROJECTION || mode == MATRIXMODE_TEXTURE)
|
if(mode == MATRIXMODE_PROJECTION || mode == MATRIXMODE_TEXTURE)
|
||||||
{
|
{
|
||||||
u32& index = mtxStack[mode].position;
|
MatrixCopy(MatrixStackGetPos(&mtxStack[mode], 0), mtxCurrent[mode]);
|
||||||
MatrixCopy(MatrixStackGetPos(&mtxStack[mode], index&1), mtxCurrent[mode]);
|
|
||||||
|
|
||||||
|
u32& index = mtxStack[mode].position;
|
||||||
|
if(index == 1) MMU_new.gxstat.se = 1; //unknown if this applies to the texture matrix
|
||||||
index += 1;
|
index += 1;
|
||||||
index &= 3;
|
index &= 1;
|
||||||
if(index >= 2) MMU_new.gxstat.se = 1; //unknown if this applies to the texture matrix
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -979,16 +979,12 @@ static void gfx3d_glPopMatrix(u32 v)
|
||||||
|
|
||||||
if(mode == MATRIXMODE_PROJECTION || mode == MATRIXMODE_TEXTURE)
|
if(mode == MATRIXMODE_PROJECTION || mode == MATRIXMODE_TEXTURE)
|
||||||
{
|
{
|
||||||
//parameter ignored and treated as sensible, as a pop argument anyway
|
//parameter is ignored and treated as sensible (always 1)
|
||||||
v = 1;
|
|
||||||
|
|
||||||
u32& index = mtxStack[mode].position;
|
u32& index = mtxStack[mode].position;
|
||||||
|
index ^= 1;
|
||||||
index -= v;
|
if(index == 1) MMU_new.gxstat.se = 1; //unknown if this applies to the texture matrix
|
||||||
index &= 3;
|
MatrixCopy(mtxCurrent[mode], MatrixStackGetPos(&mtxStack[mode], 0));
|
||||||
if(index >= 2) MMU_new.gxstat.se = 1; //unknown if this applies to the texture matrix
|
|
||||||
|
|
||||||
MatrixCopy(mtxCurrent[mode], MatrixStackGetPos(&mtxStack[mode], index&1));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue