mirror of https://github.com/PCSX2/pcsx2.git
GregMiscellaneous: zzogl-pg: Remove the Gust hack from Mana Khemia. A few misc changes.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GregMiscellaneous@3966 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
b199b57a76
commit
8219ed5527
|
@ -374,8 +374,10 @@ static const Game_Info crc_game_list[] =
|
|||
//{0x4437F4B1, ArTonelico1, US, GAME_GUSTHACK, -1, -1},
|
||||
{0xF95F37EE, ArTonelico2, US, GAME_GUSTHACK, -1, -1},
|
||||
{0xF46142D3, ArTonelico2, JPUNDUB, GAME_GUSTHACK, -1, -1},
|
||||
{0x77b0236f, ManaKhemia1, US, GAME_GUSTHACK , -1, -1},
|
||||
{0x433951e7, ManaKhemia2, US, GAME_GUSTHACK, -1, -1},
|
||||
|
||||
// According to Zeydlitz, Mana Khemia no longer needs the Gust Hack.
|
||||
//{0x77b0236f, ManaKhemia1, US, GAME_GUSTHACK, -1, -1},
|
||||
//{0x433951e7, ManaKhemia2, US, GAME_GUSTHACK, -1, -1},
|
||||
//{0xda11c6d4, AtelierJudie, JP, GAME_GUSTHACK, -1, -1},
|
||||
//{0x3e72c085, AtelierLilie, JP, GAME_GUSTHACK, -1, -1},
|
||||
//{0x6eac076b, AtelierViorate, JP, GAME_GUSTHACK, -1, -1},
|
||||
|
|
|
@ -70,9 +70,11 @@ void __forceinline Kick::KickVertex(bool adc)
|
|||
|
||||
void Kick::SET_VERTEX(VertexGPU *p, int i)
|
||||
{
|
||||
p->move_x(gs.gsvertex[i], vb[prim->ctxt].offset.x);
|
||||
p->move_y(gs.gsvertex[i], vb[prim->ctxt].offset.y);
|
||||
p->move_z(gs.gsvertex[i], vb[prim->ctxt].zprimmask);
|
||||
VB& curvb = vb[prim->ctxt];
|
||||
|
||||
p->move_x(gs.gsvertex[i], curvb.offset.x);
|
||||
p->move_y(gs.gsvertex[i], curvb.offset.y);
|
||||
p->move_z(gs.gsvertex[i], curvb.zprimmask);
|
||||
p->move_fog(gs.gsvertex[i]);
|
||||
|
||||
p->rgba = prim->iip ? gs.gsvertex[i].rgba : gs.rgba;
|
||||
|
|
|
@ -770,8 +770,7 @@ inline void AfterRendererUnimportantJob()
|
|||
|
||||
AfterRenderCountStatistics();
|
||||
|
||||
if (s_nNewWidth >= 0 && s_nNewHeight >= 0)
|
||||
AfterRendererResizeWindow();
|
||||
if (s_nNewWidth >= 0 && s_nNewHeight >= 0) AfterRendererResizeWindow();
|
||||
|
||||
maxmin = 608;
|
||||
}
|
||||
|
|
|
@ -27,122 +27,122 @@
|
|||
|
||||
extern const GLenum primtype[8];
|
||||
|
||||
struct VB
|
||||
class VB
|
||||
{
|
||||
VB();
|
||||
~VB();
|
||||
public:
|
||||
VB();
|
||||
~VB();
|
||||
|
||||
void Destroy();
|
||||
void Destroy();
|
||||
|
||||
inline bool CheckPrim()
|
||||
{
|
||||
static const int PRIMMASK = 0x0e; // for now ignore 0x10 (AA)
|
||||
|
||||
if ((PRIMMASK & prim->_val) != (PRIMMASK & curprim._val) || primtype[prim->prim] != primtype[curprim.prim])
|
||||
return nCount > 0;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void CheckFrame(int tbp);
|
||||
|
||||
// context specific state
|
||||
Point offset;
|
||||
Rect2 scissor;
|
||||
tex0Info tex0;
|
||||
tex1Info tex1;
|
||||
miptbpInfo miptbp0;
|
||||
miptbpInfo miptbp1;
|
||||
alphaInfo alpha;
|
||||
fbaInfo fba;
|
||||
clampInfo clamp;
|
||||
pixTest test;
|
||||
u32 ptexClamp[2]; // textures for x and y dir region clamping
|
||||
|
||||
public:
|
||||
void FlushTexData();
|
||||
inline int CheckFrameAddConstraints(int tbp);
|
||||
inline void CheckScissors(int maxpos);
|
||||
inline void CheckFrame32bitRes(int maxpos);
|
||||
inline int FindMinimalMemoryConstrain(int tbp, int maxpos);
|
||||
inline int FindZbufferMemoryConstrain(int tbp, int maxpos);
|
||||
inline int FindMinimalHeightConstrain(int maxpos);
|
||||
|
||||
inline int CheckFrameResolveRender(int tbp);
|
||||
inline void CheckFrame16vs32Conversion();
|
||||
inline int CheckFrameResolveDepth(int tbp);
|
||||
|
||||
inline void FlushTexUnchangedClutDontUpdate() ;
|
||||
inline void FlushTexClutDontUpdate() ;
|
||||
inline void FlushTexClutting() ;
|
||||
inline void FlushTexSetNewVars(u32 psm) ;
|
||||
|
||||
// Increase the size of pbuf
|
||||
void IncreaseVertexBuffer()
|
||||
{
|
||||
assert(pBufferData != NULL && nCount > nNumVertices);
|
||||
VertexGPU* ptemp = (VertexGPU*)_aligned_malloc(sizeof(VertexGPU) * nNumVertices * 2, 256);
|
||||
memcpy_amd(ptemp, pBufferData, sizeof(VertexGPU) * nCount);
|
||||
nNumVertices *= 2;
|
||||
assert(nCount <= nNumVertices);
|
||||
_aligned_free(pBufferData);
|
||||
pBufferData = ptemp;
|
||||
}
|
||||
|
||||
void Init(int nVerts)
|
||||
{
|
||||
if (pBufferData == NULL && nVerts > 0)
|
||||
inline bool CheckPrim()
|
||||
{
|
||||
pBufferData = (VertexGPU*)_aligned_malloc(sizeof(VertexGPU) * nVerts, 256);
|
||||
nNumVertices = nVerts;
|
||||
static const int PRIMMASK = 0x0e; // for now ignore 0x10 (AA)
|
||||
|
||||
if ((PRIMMASK & prim->_val) != (PRIMMASK & curprim._val) || primtype[prim->prim] != primtype[curprim.prim])
|
||||
return nCount > 0;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
nCount = 0;
|
||||
}
|
||||
void CheckFrame(int tbp);
|
||||
|
||||
u8 bNeedFrameCheck;
|
||||
u8 bNeedZCheck;
|
||||
u8 bNeedTexCheck;
|
||||
u8 dummy0;
|
||||
// context specific state
|
||||
Point offset;
|
||||
Rect2 scissor;
|
||||
tex0Info tex0;
|
||||
tex1Info tex1;
|
||||
miptbpInfo miptbp0;
|
||||
miptbpInfo miptbp1;
|
||||
alphaInfo alpha;
|
||||
fbaInfo fba;
|
||||
clampInfo clamp;
|
||||
pixTest test;
|
||||
u32 ptexClamp[2]; // textures for x and y dir region clamping
|
||||
|
||||
union
|
||||
{
|
||||
struct
|
||||
void FlushTexData();
|
||||
inline int CheckFrameAddConstraints(int tbp);
|
||||
inline void CheckScissors(int maxpos);
|
||||
inline void CheckFrame32bitRes(int maxpos);
|
||||
inline int FindMinimalMemoryConstrain(int tbp, int maxpos);
|
||||
inline int FindZbufferMemoryConstrain(int tbp, int maxpos);
|
||||
inline int FindMinimalHeightConstrain(int maxpos);
|
||||
|
||||
inline int CheckFrameResolveRender(int tbp);
|
||||
inline void CheckFrame16vs32Conversion();
|
||||
inline int CheckFrameResolveDepth(int tbp);
|
||||
|
||||
inline void FlushTexUnchangedClutDontUpdate() ;
|
||||
inline void FlushTexClutDontUpdate() ;
|
||||
inline void FlushTexClutting() ;
|
||||
inline void FlushTexSetNewVars(u32 psm) ;
|
||||
|
||||
// Increase the size of pbuf
|
||||
void IncreaseVertexBuffer()
|
||||
{
|
||||
u8 bTexConstsSync; // only pixel shader constants that context owns
|
||||
u8 bVarsTexSync; // texture info
|
||||
u8 bVarsSetTarg;
|
||||
u8 dummy1;
|
||||
assert(pBufferData != NULL && nCount > nNumVertices);
|
||||
nNumVertices *= 2;
|
||||
VertexGPU* ptemp = (VertexGPU*)_aligned_malloc(sizeof(VertexGPU) * nNumVertices, 256);
|
||||
memcpy_amd(ptemp, pBufferData, sizeof(VertexGPU) * nCount);
|
||||
assert(nCount <= nNumVertices);
|
||||
_aligned_free(pBufferData);
|
||||
pBufferData = ptemp;
|
||||
}
|
||||
|
||||
void Init(int nVerts)
|
||||
{
|
||||
if (pBufferData == NULL && nVerts > 0)
|
||||
{
|
||||
pBufferData = (VertexGPU*)_aligned_malloc(sizeof(VertexGPU) * nVerts, 256);
|
||||
nNumVertices = nVerts;
|
||||
}
|
||||
|
||||
nCount = 0;
|
||||
}
|
||||
|
||||
u8 bNeedFrameCheck;
|
||||
u8 bNeedZCheck;
|
||||
u8 bNeedTexCheck;
|
||||
u8 dummy0;
|
||||
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
u8 bTexConstsSync; // only pixel shader constants that context owns
|
||||
u8 bVarsTexSync; // texture info
|
||||
u8 bVarsSetTarg;
|
||||
u8 dummy1;
|
||||
};
|
||||
|
||||
u32 bSyncVars;
|
||||
};
|
||||
|
||||
u32 bSyncVars;
|
||||
};
|
||||
int ictx;
|
||||
VertexGPU* pBufferData; // current allocated data
|
||||
|
||||
int ictx;
|
||||
VertexGPU* pBufferData; // current allocated data
|
||||
int nNumVertices; // size of pBufferData in terms of VertexGPU objects
|
||||
int nCount;
|
||||
primInfo curprim; // the previous prim the current buffers are set to
|
||||
|
||||
int nNumVertices; // size of pBufferData in terms of VertexGPU objects
|
||||
int nCount;
|
||||
primInfo curprim; // the previous prim the current buffers are set to
|
||||
zbufInfo zbuf;
|
||||
frameInfo gsfb; // the real info set by FRAME cmd
|
||||
frameInfo frame;
|
||||
int zprimmask; // zmask for incoming points
|
||||
|
||||
zbufInfo zbuf;
|
||||
frameInfo gsfb; // the real info set by FRAME cmd
|
||||
frameInfo frame;
|
||||
int zprimmask; // zmask for incoming points
|
||||
union
|
||||
{
|
||||
u32 uCurTex0Data[2]; // current tex0 data
|
||||
GIFRegTEX0 uCurTex0;
|
||||
};
|
||||
u32 uNextTex0Data[2]; // tex0 data that has to be applied if bNeedTexCheck is 1
|
||||
|
||||
union
|
||||
{
|
||||
u32 uCurTex0Data[2]; // current tex0 data
|
||||
GIFRegTEX0 uCurTex0;
|
||||
};
|
||||
u32 uNextTex0Data[2]; // tex0 data that has to be applied if bNeedTexCheck is 1
|
||||
//int nFrameHeights[8]; // frame heights for the past frame changes
|
||||
int nNextFrameHeight;
|
||||
|
||||
//int nFrameHeights[8]; // frame heights for the past frame changes
|
||||
int nNextFrameHeight;
|
||||
|
||||
CMemoryTarget* pmemtarg; // the current mem target set
|
||||
CRenderTarget* prndr;
|
||||
CDepthTarget* pdepth;
|
||||
CMemoryTarget* pmemtarg; // the current mem target set
|
||||
CRenderTarget* prndr;
|
||||
CDepthTarget* pdepth;
|
||||
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue