123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- // CBlitter - [2020-04-13 11:57:46]
- #ifndef _CBLITTER_H_
- #define _CBLITTER_H_
- #include "CFTTUberShader.h"
- #include "CFTTTexture.h"
- #include "CFTT2D_TexturedVert.h"
- #include "CFTTGraphicsBuffer.h"
- /*
- 0020CF2C CBlitter::CBlitter(int,int,int)
- 0020CFE0 CBlitter::~CBlitter()
- 0020D004 CBlitter::Clear()
- 0020D05C CBlitter::Render()
- 0020D2B8 CBlitter::OnFrameEnd()
- 0020D2BC CBlitter::OnMaterialModified(CFTTUberShader *,int)
- 0020D328 CBlitter::OnTextureDeletion(CFTTTexture *)
- 0020D32A CBlitter::AllocRect()
- 0020D3B8 CBlitter::CheckForDrawCallSwitch(int,int)
- 0020D45A CBlitter::AllocTri()
- 0020D4DA CBlitter::OnIBORequired()
- 0020D518 CBlitter::AllocLines(int)
- 0020D5AE CBlitter::AddVertList(CFTT2D_TexturedVert *,int)
- 0020D668 CBlitter::SetTexture(CFTTTexture *)
- 0020D688 CBlitter::SetPrimType(FTTPRIMTYPE)
- 0020D68C CBlitter::SetMatID(int)
- 0020D690 CBlitter::SetScissor(int,int,int,int)
- 0020D69C CBlitter::SetFlipY(bool)
- 0020D6A0 CBlitter::SetFlipX(bool)
- 0020D6A4 CBlitter::GetFlipX()
- 0020D6A8 CBlitter::GetFlipY()
- 0x50
- */
- struct Material_0x20 {
- int dMatID_0;
- CFTTTexture *pTexture_4;
- FTTPRIMTYPE ePrimType_8;
- int x_C; //裁剪区域
- int y_10;
- int width_14;
- int height_18;
- CFTTUberShaderSnapshot *pSnapshot_1C;
- };
- struct CBlitter_struct_2C {
- Material_0x20 material_0;
- int field_20;
- uint32_t field_24;
- uint32_t field_28;
- };
- class CBlitter {
- public:
- CBlitter(int, int, int); // 0020CF2C
- ~CBlitter(); // 0020CFE0
- void Clear(); // 0020D004
- void Render(); // 0020D05C
- void OnFrameEnd(); // 0020D2B8
- void OnMaterialModified(CFTTUberShader *, int); // 0020D2BC
- void OnTextureDeletion(CFTTTexture *); // 0020D328
- CFTT2D_TexturedVert *AllocRect(); // 0020D32A
- bool CheckForDrawCallSwitch(int, int); // 0020D3B8
- CFTT2D_TexturedVert *AllocTri(); // 0020D45A
- void OnIBORequired(); // 0020D4DA
- CFTT2D_TexturedVert *AllocLines(int); // 0020D518
- void AddVertList(CFTT2D_TexturedVert *, int); // 0020D5AE
- void SetTexture(CFTTTexture *pTexture); // 0020D668
- void SetPrimType(FTTPRIMTYPE e); // 0020D688
- void SetMatID(int); // 0020D68C
- void SetScissor(int x, int y, int w, int h); // 0020D690
- void SetFlipY(bool b); // 0020D69C
- void SetFlipX(bool b); // 0020D6A0
- bool GetFlipX(); // 0020D6A4
- bool GetFlipY(); // 0020D6A8
- bool bFlipX_0;
- bool bFlipY_1;
- bool bIBO_2;
- bool unuse_3; //没有用到,仅对齐
- Material_0x20 material_4;
- CBlitter_struct_2C *pT_24;
- int dList24Count_28;
- uint dCount_2C;
- int field_30;
- int field_34;
- int dLineCount_38;
- volatile int dint_3C; //部分指令是取short, 但是总体上认为3C这个位置是一个int
- CFTTGraphicsBuffer *pGrabuf_40;
- CFTTGraphicsBuffer *pGrabuf_44;
- ushort *pshort_48; //没有找到分配的函数
- CFTT2D_TexturedVert *pTextureVer_4C;
- };
- #endif //_CBLITTER_H_
|