05-30-2015, 10:32 AM
I made interesting progress. Here a picture of gow when depth is correctly loaded as a texture (step1 and step2). It remains to find a solution for step3.
Quote:bool GSC_GodOfWar(const GSFrameInfo& fi, int& skip)As you can see the pattern is mostly the same. 16 bits format RT with the special mask 0x3FFF. It is always the same, copy of the depth in the alpha channel. It likely breaks various effects.
if(fi.TME && fi.FBP == 0x00000 && fi.FPSM == PSM_PSMCT16 && fi.TBP0 == 0x00000 && fi.TPSM == PSM_PSMCT16 && fi.FBMSK == 0x03FFF)
--
bool GSC_ValkyrieProfile2(const GSFrameInfo& fi, int& skip)
if(fi.TME && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT16 && fi.FBMSK == 0x03FFF)
bool GSC_RadiataStories(const GSFrameInfo& fi, int& skip)
if(fi.TME && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT16 && fi.FBMSK == 0x03FFF)
bool GSC_HauntingGround(const GSFrameInfo& fi, int& skip)
if(fi.TME && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT16S && fi.FBMSK == 0x03FFF)
--
bool GSC_Tenchu(const GSFrameInfo& fi, int& skip)
if(fi.TME && fi.TPSM == PSM_PSMZ16 && fi.FPSM == PSM_PSMCT16 && fi.FBMSK == 0x03FFF)
bool GSC_Sly3(const GSFrameInfo& fi, int& skip)
if(fi.TME && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT16 && fi.FBMSK == 0x03FFF)
bool GSC_Sly2(const GSFrameInfo& fi, int& skip)
if(fi.TME && (fi.FBP == 0x00000 || fi.FBP == 0x00700 || fi.FBP == 0x00800) && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT16 && fi.FBMSK == 0x03FFF)
if(fi.TME && fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT16 && fi.FBMSK == 0x03FFF)
--
bool GSC_LordOfTheRingsTwoTowers(const GSFrameInfo& fi, int& skip)
else if(fi.TME && fi.TPSM == PSM_PSMZ16 && fi.TBP0 == 0x01400 && fi.FPSM == PSM_PSMCT16 && fi.FBMSK == 0x03FFF)
--
bool GSC_ZettaiZetsumeiToshi2(const GSFrameInfo& fi, int& skip)
else if((fi.FBP | fi.TBP0)&& fi.FPSM == fi.TPSM && fi.TPSM == PSM_PSMCT16 && fi.FBMSK == 0x3FFF)