18 #ifndef INC_C4DefGraphics
19 #define INC_C4DefGraphics
54 C4Surface *Bitmap, *BitmapClr, *BitmapNormal;
66 bool LoadBitmap(
C4Group &hGroup,
const char *szFilenamePNG,
const char *szOverlayPNG,
const char *szNormal,
bool fColorByOwner);
79 virtual const char *
GetName() {
return nullptr; }
118 void UpdateAttachedMeshes();
145 std::list<C4DefGraphicsPtrBackupEntry*> Entries;
147 bool fApplied{
false};
213 {
Set(
MODE_Base, pBaseGfx,
nullptr, dwBMode,
nullptr); }
227 {
Set(
MODE_Rank,
nullptr,
nullptr, dwBMode, rank_obj); }
const char * GetName() override
C4AdditionalDefGraphics(C4Def *pOwnDef, const char *szName)
C4DefGraphics *& pDefGraphics
bool operator==(C4DefGraphics *pDef2)
void operator=(C4DefGraphics *pDef2)
void CompileFunc(StdCompiler *pComp)
C4DefGraphicsAdapt(C4DefGraphics *&pDefGraphics)
C4DefGraphics * Get(const char *szGrpName)
void CompileFunc(StdCompiler *pComp)
virtual const char * GetName()
bool Load(C4Group &hGroup, StdMeshSkeletonLoader &loader, bool fColorByOwner)
bool fColorBitmapAutoCreated
C4Surface * GetBitmap(DWORD dwClr=0)
void DrawClr(C4Facet &cgo, bool fAspect=true, DWORD dwClr=0)
bool LoadBitmap(C4Group &hGroup, const char *szFilenamePNG, const char *szOverlayPNG, const char *szNormal, bool fColorByOwner)
void Draw(C4Facet &cgo, DWORD iColor, C4Object *pObj, int32_t iPhaseX, int32_t iPhaseY, C4DrawTransform *trans)
C4DefGraphics(C4Def *pOwnDef=nullptr)
C4DefGraphics * GetLast()
bool LoadBitmaps(C4Group &hGroup, bool fColorByOwner)
C4AdditionalDefGraphics * pNext
C4AdditionalDefGraphics * GetNext()
bool LoadMesh(C4Group &hGroup, const char *szFilename, StdMeshSkeletonLoader &loader)
bool LoadSkeleton(C4Group &hGroup, const char *szFilename, StdMeshSkeletonLoader &loader)
StdMeshUpdate * pMeshUpdate
~C4DefGraphicsPtrBackupEntry()
C4DefGraphicsPtrBackupEntry(C4DefGraphics *pSourceGraphics)
C4DefGraphics * pGraphicsPtr
void Add(C4DefGraphics *pGraphics)
~C4DefGraphicsPtrBackup()
StdMeshMaterialUpdate & GetUpdater()
uint32_t GetClrModulation() const
void SetNext(C4GraphicsOverlay *paNext)
bool IsValid(const C4Object *pForObj) const
void SetAsObject(C4Object *pOverlayObj, DWORD dwBMode)
void DrawPicture(C4Facet &cgo, C4Object *pForObj, C4DrawTransform *trans)
void DrawRankSymbol(C4Facet &cgo, C4Object *rank_obj)
void SetBlitMode(uint32_t dwToMode)
void SetAsExtraGraphics(C4DefGraphics *pGfx, DWORD dwBMode)
C4GraphicsOverlay * pNext
void SetAsPicture(C4DefGraphics *pBaseGfx, DWORD dwBMode)
C4GraphicsOverlay * GetNext() const
uint32_t GetBlitMode() const
void SetAsRank(DWORD dwBMode, C4Object *rank_obj)
C4DrawTransform Transform
void Set(Mode aMode, C4DefGraphics *pGfx, const char *szAction, DWORD dwBMode, C4Object *pOvrlObj)
C4Object * GetOverlayObject() const
StdMeshInstance * pMeshInstance
void SetAsIngamePicture(C4DefGraphics *pBaseGfx, DWORD dwBMode)
C4DrawTransform * GetTransform()
void SetAsAction(C4DefGraphics *pBaseGfx, const char *szAction, DWORD dwBMode)
void Draw(C4TargetFacet &cgo, C4Object *pForObj, int32_t iByPlayer)
void SetAsObjectPicture(C4Object *pOverlayObj, DWORD dwBMode)
C4DefGraphics * pSourceGfx
void SetPhase(int32_t iToPhase)
void SetClrModulation(uint32_t dwToMod)
void DenumeratePointers()
bool operator==(const C4GraphicsOverlay &rCmp) const
void SetAsBase(C4DefGraphics *pBaseGfx, DWORD dwBMode)
C4DefGraphics * GetGfx() const
void CompileFunc(StdCompiler *pComp)
void CompileFunc(StdCompiler *pComp)
void operator=(C4GraphicsOverlay *pDefault)
bool operator==(C4GraphicsOverlay *pDefault)
C4GraphicsOverlay *& pOverlay
C4GraphicsOverlayListAdapt(C4GraphicsOverlay *&pOverlay)