lets retry that change from omega but this time keep the projection hacks >_>

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2527 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
daco65
2009-03-02 21:17:16 +00:00
parent 10e027b48b
commit 4cb7f2f490
5 changed files with 33 additions and 20 deletions

View File

@ -203,12 +203,12 @@ void VertexShaderManager::SetConstants(bool proj_hax_1, bool proj_hax_2)
g_fProjectionMatrix[0] = xfregs.rawProjection[0];
g_fProjectionMatrix[1] = 0.0f;
g_fProjectionMatrix[2] = xfregs.rawProjection[1];
g_fProjectionMatrix[3] = 0;
g_fProjectionMatrix[3] = 0.0f;
g_fProjectionMatrix[4] = 0.0f;
g_fProjectionMatrix[5] = xfregs.rawProjection[2];
g_fProjectionMatrix[6] = xfregs.rawProjection[3];
g_fProjectionMatrix[7] = 0;
g_fProjectionMatrix[7] = 0.0f;
g_fProjectionMatrix[8] = 0.0f;
g_fProjectionMatrix[9] = 0.0f;
@ -217,7 +217,7 @@ void VertexShaderManager::SetConstants(bool proj_hax_1, bool proj_hax_2)
//---------Projection[11]---------
// No hacks
if ((!proj_hax_1 && !proj_hax_2) || (proj_hax_1 && proj_hax_2))
g_fProjectionMatrix[11] = -(0.0f - xfregs.rawProjection[5]);
g_fProjectionMatrix[11] = xfregs.rawProjection[5];
// Before R945 Hack
if (proj_hax_1 && !proj_hax_2)
@ -270,7 +270,7 @@ void VertexShaderManager::SetConstants(bool proj_hax_1, bool proj_hax_2)
//---------Projection[11]---------
// No hacks
if ((!proj_hax_1 && !proj_hax_2) || (proj_hax_1 && proj_hax_2))
g_fProjectionMatrix[11] = -(-0.5f - xfregs.rawProjection[5]);
g_fProjectionMatrix[11] = xfregs.rawProjection[5] + 0.1f;
// Before R945 Hack
if (proj_hax_1 && !proj_hax_2)
@ -303,16 +303,15 @@ void VertexShaderManager::SetConstants(bool proj_hax_1, bool proj_hax_2)
SETSTAT_FT(stats.g2proj_13, g_fProjectionMatrix[13]);
SETSTAT_FT(stats.g2proj_14, g_fProjectionMatrix[14]);
SETSTAT_FT(stats.g2proj_15, g_fProjectionMatrix[15]);
SETSTAT_FT(stats.proj_0, xfregs.rawProjection[0]);
SETSTAT_FT(stats.proj_1, xfregs.rawProjection[1]);
SETSTAT_FT(stats.proj_2, xfregs.rawProjection[2]);
SETSTAT_FT(stats.proj_3, xfregs.rawProjection[3]);
SETSTAT_FT(stats.proj_4, xfregs.rawProjection[4]);
SETSTAT_FT(stats.proj_5, xfregs.rawProjection[5]);
SETSTAT_FT(stats.proj_6, xfregs.rawProjection[6]);
}
SETSTAT_FT(stats.proj_0, xfregs.rawProjection[0]);
SETSTAT_FT(stats.proj_1, xfregs.rawProjection[1]);
SETSTAT_FT(stats.proj_2, xfregs.rawProjection[2]);
SETSTAT_FT(stats.proj_3, xfregs.rawProjection[3]);
SETSTAT_FT(stats.proj_4, xfregs.rawProjection[4]);
SETSTAT_FT(stats.proj_5, xfregs.rawProjection[5]);
SETSTAT_FT(stats.proj_6, xfregs.rawProjection[6]);
PRIM_LOG("Projection: %f %f %f %f %f %f\n", xfregs.rawProjection[0], xfregs.rawProjection[1], xfregs.rawProjection[2], xfregs.rawProjection[3], xfregs.rawProjection[4], xfregs.rawProjection[5]);
SetVSConstant4fv(C_PROJECTION, &g_fProjectionMatrix[0]);
SetVSConstant4fv(C_PROJECTION+1, &g_fProjectionMatrix[4]);