fix matrixes cache handle in some games. zeromus check it

This commit is contained in:
mtabachenko 2008-12-27 23:49:08 +00:00
parent 969274cc97
commit 58d2d84b0a
1 changed files with 5 additions and 3 deletions

View File

@ -628,13 +628,15 @@ static void SetVertex()
POLY &poly = polylist->list[polylist->count]; POLY &poly = polylist->list[polylist->count];
//todo - dont overrun proj list //todo - dont overrun proj list
//see if the last entry in the proj list matches the current matrix, if there is one. //see if the last entry in the proj list matches the current matrix, if there is one.
if(projlist->count != 0 && if(projlist->count != 0 &&
//but as a speed hack, we consider the matrices different if the first element differs. //but as a speed hack, we consider the matrices different if the first element differs.
//i think this should be good enough. //i think this should be good enough.
//!MatrixCompare(mtxCurrent[0],projlist->projMatrix[projlist->count-1]) !MatrixCompare(mtxCurrent[0],projlist->projMatrix[projlist->count-1])
mtxCurrent[0][0] == projlist->projMatrix[projlist->count-1][0]
// if compare only one value this is broke some games
// zeromus check it please
//mtxCurrent[0][0] == projlist->projMatrix[projlist->count-1][0]
) { ) {
//it matches. use it //it matches. use it
poly.projIndex = projlist->count-1; poly.projIndex = projlist->count-1;