52 {
delete surface; surface =
nullptr; }
70 if (ssc & C4SSC_MOD2) shader.
AddDefine(
"OC_CLRMOD_MOD2");
71 if (ssc & C4SSC_LIGHT) shader.
AddDefine(
"OC_DYNAMIC_LIGHT");
74 if (ssc & C4SSC_BASE) shader.
AddDefine(
"OC_HAVE_BASE");
75 if (ssc & C4SSC_OVERLAY) shader.
AddDefine(
"OC_HAVE_OVERLAY");
173 return CompileFromBuf_LogWarn<StdCompilerINIRead>(
mkNamingAdapt(*
this,
"DefCore"),
StdStrBuf(szSource), szName);
178 return DecompileToBuf_Log<StdCompilerINIWrite>(
mkNamingAdapt(*
this,
"DefCore"), pOut, szName);
284 "AllowPictureStack", 0 ));
350 const char *szLanguage,
355 bool AddFileMonitoring =
false;
357 AddFileMonitoring =
true;
372 LoadMeshMaterials(hGroup, gfx_backup);
373 bool fSuccess = LoadParticleDef(hGroup);
385 if (!fSuccess)
return false;
388 if (!LoadSolidMask(hGroup))
return false;
391 if ((dwLoadWhat &
C4D_Load_Bitmap) && !LoadGraphics(hGroup, loader))
return false;
425 for (
const auto &mat : mesh_materials)
429 mesh_materials.clear();
441 mesh_materials.insert(new_materials.begin(), new_materials.end());
451 bool C4Def::LoadParticleDef(
C4Group &hGroup)
453 bool fSuccess =
true;
462 if (!pParticleDef->
Load(hGroup))
472 bool C4Def::LoadSolidMask(
C4Group &hGroup)
488 DebugLogF(
"WARNING: Definition %s (%s) defines SolidMask in DefCore but has no SolidMask file!", hGroup.
GetFullName().
getData(),
id.ToString());
530 void C4Def::LoadScript(
C4Group &hGroup,
const char* szLanguage)
555 void C4Def::LoadRankNames(
C4Group &hGroup,
const char* szLanguage)
573 void C4Def::LoadRankFaces(
C4Group &hGroup)
616 if (other) graphics = other;
618 graphics->
Draw(cgo, iColor, pObj, iPhaseX, iPhaseY, trans);
624 int32_t iValue =
Value;
659 if (!actname)
return nullptr;
#define C4CFN_RankNameFiles
#define C4CFN_DefMaterials
#define C4CFN_ParticleCore
#define C4CFN_ScriptStringTbl
#define C4CFN_RankFacesPNG
#define C4CFN_ClonkNameFiles
#define C4CFN_ShaderFiles
const int32_t C4D_Foreground
const DWORD C4D_Load_ClonkNames
const int32_t C4D_IgnoreFoW
const DWORD C4D_Load_RankFaces
const DWORD C4D_Load_Bitmap
const int32_t C4D_MouseSelect
const int32_t C4D_Background
const int32_t C4D_Structure
const DWORD C4D_Load_Script
const DWORD C4D_Load_Temporary
const DWORD C4D_Load_Sounds
const DWORD C4D_Load_RankNames
const int32_t C4D_MouseIgnore
const int32_t C4D_Grab_Put
const int32_t C4D_StaticBack
const int32_t C4D_Grab_Get
const int32_t C4D_Environment
const int32_t C4D_Parallax
const int32_t C4D_Vehicle
C4AulScriptEngine ScriptEngine
C4GraphicsResource GraphicsResource
bool Log(const char *szMessage)
bool DebugLogF(const char *strMessage ...)
const C4TargetRect TargetRect0(0, 0, 0, 0, 0, 0)
const C4Rect Rect0(0, 0, 0, 0)
C4Value C4VPropList(C4PropList *p)
void SCopy(const char *szSource, char *sTarget, size_t iMaxL)
bool SEqual(const char *szStr1, const char *szStr2)
StdBitfieldAdapt< T > mkBitfieldAdapt(T &rVal, const StdBitfieldEntry< T > *pNames)
StdParameterAdapt< T, P > mkParAdapt(T &&rObj, P &&rPar)
StdNamingAdapt< T > mkNamingAdapt(T &&rValue, const char *szName)
StdStrBuf FormatString(const char *szFmt,...)
char * GetExtension(char *szFilename)
StdMeshMatManager MeshMaterialManager
C4PropListStatic * GetPropList()
void RegisterGlobalConstant(const char *szName, const C4Value &rValue)
int32_t VerboseObjectLoading
C4ConfigGraphics Graphics
void AddShaderSlices(C4Shader &shader, int ssc) override
StdStrBuf LoadShaderCode(const char *filename) override
C4Surface * LoadTexture(const char *filename) override
C4DefAdditionalResourcesLoader(C4Group &hGroup)
C4DefGraphics * Get(const char *szGrpName)
bool Load(C4Group &hGroup, StdMeshSkeletonLoader &loader, bool fColorByOwner)
C4Surface * GetBitmap(DWORD dwClr=0)
void Draw(C4Facet &cgo, DWORD iColor, C4Object *pObj, int32_t iPhaseX, int32_t iPhaseY, C4DrawTransform *trans)
StdMeshMaterialUpdate & GetUpdater()
bool Load(C4Group &hGroup, StdMeshSkeletonLoader &loader, DWORD dwLoadWhat, const char *szLanguage, class C4SoundSystem *pSoundSystem=nullptr, C4DefGraphicsPtrBackup *gfx_backup=nullptr)
char Filename[_MAX_FNAME_LEN]
int32_t AllowPictureStack
void CompileFunc(StdCompiler *pComp)
bool Compile(const char *szSource, const char *szName)
int32_t IncompleteActivity
C4FacetSurface * pRankSymbols
void ResetIncludeDependencies()
bool Save(C4Group &hGroup)
bool LoadDefCore(C4Group &hGroup)
int32_t NoMassFromContents
bool Decompile(StdStrBuf *pOut, const char *szName)
void Draw(C4Facet &cgo, bool fSelected=false, DWORD iColor=0, C4Object *pObj=nullptr, int32_t iPhaseX=0, int32_t iPhaseY=0, C4DrawTransform *trans=nullptr, const char *graphicsName=nullptr)
C4RankSystem * pRankNames
C4ComponentHost * pClonkNames
C4LangStringTable StringTable
void IncludeDefinition(C4Def *pIncludeDef)
int32_t GetValue(C4Object *pInBase, int32_t iBuyPlayer)
C4PropList * GetActionByName(const char *actname)
void SetDef(C4Def *to_def)
void DrawBoxDw(C4Surface *sfcDest, int iX1, int iY1, int iX2, int iY2, DWORD dwClr)
void Set(C4Surface &rSfc)
bool GetPhaseNum(int32_t &rX, int32_t &rY)
void Set(const C4Facet &cpy)
std::unique_ptr< C4FileMonitor > pFileMonitor
bool FindNextEntry(const char *wildcard, StdStrBuf *filename=nullptr, size_t *size=nullptr, bool start_at_filename=false)
const char * GetName() const
bool AccessEntry(const char *wildcard, size_t *size=nullptr, char *filename=nullptr, bool needs_to_be_a_group=false)
StdStrBuf GetFullName() const
int PreCacheEntries(const char *search_pattern, bool cache_previous=false)
bool Add(const char *filename, const char *entry_name)
bool LoadEntryString(const char *entry_name, StdStrBuf *buffer)
void ResetSearch(bool reload_contents=false)
bool FindEntry(const char *wildcard, StdStrBuf *filename=nullptr, size_t *size=nullptr)
int32_t GetIDCount(C4ID c_id, int32_t iZeroDefVal=0) const
static bool LoadComponentHost(C4ComponentHost *host, C4Group &hGroup, const char *szFilename, const char *szLanguage)
C4DefGraphics * GetGraphics() const
bool Load(C4Group &group)
virtual bool GetPropertyByS(const C4String *k, C4Value *pResult) const
C4Value Call(C4PropertyName k, C4AulParSet *pPars=nullptr, bool fPassErrors=false)
bool GetProperty(C4PropertyName k, C4Value *pResult) const
C4RefCntPointer< C4String > ParentKeyName
const char * GetName() const override
int32_t GetExtendedRankNum() const
bool Load(C4Group &hGroup, const char *szFilenames, int DefRankBase, const char *szLanguage)
void Set(int32_t iX, int32_t iY, int32_t iWdt, int32_t iHgt)
C4SDefinitions Definitions
virtual bool Load(C4Group &hGroup, const char *szFilename, const char *szLanguage, C4LangStringTable *pLocalTable)
void Reg2List(C4AulScriptEngine *pEngine)
bool LoadFragmentSlices(C4GroupSet *pGroupSet, const char *szFile)
void AddDefine(const char *name)
void SetScriptCategories(const std::vector< std::string > &categories)
static CSurface8 * LoadMaskFromFile(class C4Group &hGroup, const char *szFilename)
int32_t LoadEffects(C4Group &hGroup, const char *namespace_prefix, bool group_is_root)
C4String * RegString(StdStrBuf String)
bool Read(CStdStream &hGroup, const char *extension, int iFlags)
bool ReadPNG(CStdStream &hGroup, int iFlags)
C4PropList * getPropList() const
void Value(const T &rStruct)
void Remove(const StdStrBuf &name, class StdMeshMaterialUpdate *update)
std::set< StdCopyStrBuf > Parse(const char *mat_script, const char *filename, StdMeshMaterialLoader &loader)
const char * what() const override
const char * getData() const
void Append(const char *pnData, size_t iChars)