#include <C4Material.h>
Public Member Functions | |
C4MaterialMap () | |
~C4MaterialMap () | |
void | Default () |
void | Clear () |
int32_t | Load (C4Group &hGroup) |
bool | HasMaterials (C4Group &hGroup) const |
int32_t | Get (const char *szMaterial) |
bool | SaveEnumeration (C4Group &hGroup) |
bool | LoadEnumeration (C4Group &hGroup) |
C4MaterialReaction * | GetReactionUnsafe (int32_t iPXSMat, int32_t iLandscapeMat) |
C4MaterialReaction * | GetReaction (int32_t iPXSMat, int32_t iLandscapeMat) |
void | UpdateScriptPointers () |
bool | CrossMapMaterials (const char *szEarthMaterial) |
Static Public Member Functions | |
static bool | mrfConvert (C4MaterialReaction *pReaction, int32_t &iX, int32_t &iY, int32_t iLSPosX, int32_t iLSPosY, C4Real &fXDir, C4Real &fYDir, int32_t &iPxsMat, int32_t iLsMat, MaterialInteractionEvent evEvent, bool *pfPosChanged) |
static bool | mrfPoof (C4MaterialReaction *pReaction, int32_t &iX, int32_t &iY, int32_t iLSPosX, int32_t iLSPosY, C4Real &fXDir, C4Real &fYDir, int32_t &iPxsMat, int32_t iLsMat, MaterialInteractionEvent evEvent, bool *pfPosChanged) |
static bool | mrfCorrode (C4MaterialReaction *pReaction, int32_t &iX, int32_t &iY, int32_t iLSPosX, int32_t iLSPosY, C4Real &fXDir, C4Real &fYDir, int32_t &iPxsMat, int32_t iLsMat, MaterialInteractionEvent evEvent, bool *pfPosChanged) |
static bool | mrfIncinerate (C4MaterialReaction *pReaction, int32_t &iX, int32_t &iY, int32_t iLSPosX, int32_t iLSPosY, C4Real &fXDir, C4Real &fYDir, int32_t &iPxsMat, int32_t iLsMat, MaterialInteractionEvent evEvent, bool *pfPosChanged) |
static bool | mrfInsert (C4MaterialReaction *pReaction, int32_t &iX, int32_t &iY, int32_t iLSPosX, int32_t iLSPosY, C4Real &fXDir, C4Real &fYDir, int32_t &iPxsMat, int32_t iLsMat, MaterialInteractionEvent evEvent, bool *pfPosChanged) |
static bool | mrfScript (C4MaterialReaction *pReaction, int32_t &iX, int32_t &iY, int32_t iLSPosX, int32_t iLSPosY, C4Real &fXDir, C4Real &fYDir, int32_t &iPxsMat, int32_t iLsMat, MaterialInteractionEvent evEvent, bool *pfPosChanged) |
Public Attributes | |
int32_t | Num |
C4Material * | Map |
C4MaterialReaction ** | ppReactionMap |
int32_t | max_shape_width |
int32_t | max_shape_height |
C4MaterialReaction | DefReactConvert |
C4MaterialReaction | DefReactPoof |
C4MaterialReaction | DefReactCorrode |
C4MaterialReaction | DefReactIncinerate |
C4MaterialReaction | DefReactInsert |
Protected Member Functions | |
void | SetMatReaction (int32_t iPXSMat, int32_t iLSMat, C4MaterialReaction *pReact) |
bool | SortEnumeration (int32_t iMat, const char *szMatName) |
Definition at line 162 of file C4Material.h.
C4MaterialMap::C4MaterialMap | ( | ) |
Definition at line 302 of file C4Material.cpp.
References Default().
C4MaterialMap::~C4MaterialMap | ( | ) |
Definition at line 308 of file C4Material.cpp.
References Clear().
void C4MaterialMap::Clear | ( | ) |
Definition at line 313 of file C4Material.cpp.
References Map, Num, and ppReactionMap.
Referenced by c4_material_map_handle_new(), C4Game::Clear(), C4Game::InitMaterialTexture(), and ~C4MaterialMap().
bool C4MaterialMap::CrossMapMaterials | ( | const char * | szEarthMaterial | ) |
Definition at line 375 of file C4Material.cpp.
References C4Material::AboveTempConvertTo, C4Material::BelowTempConvertTo, C4Material::BlastShiftTo, C4MatOv_None, C4MaxMaterial, C4TLS_MatSky, C4MaterialCore::Corrode, C4MaterialCore::Corrosive, C4MaterialCore::CustomReactionList, DebugLogF(), C4Material::DefaultMatTex, DefReactConvert, DefReactCorrode, DefReactIncinerate, DefReactInsert, DefReactPoof, DensityLiquid(), DensitySemiSolid(), DensitySolid(), C4MaterialCore::Extinguisher, C4MaterialReaction::fInverseSpec, FormatString(), Get(), StdStrBuf::getData(), C4TextureMap::GetEntry(), C4TextureMap::GetIndex(), C4TextureMap::GetIndexMatTex(), StdStrBuf::getLength(), C4TexMapEntry::GetMaterialName(), C4TextureMap::GetTexture(), C4TexMapEntry::GetTextureName(), C4Rect::Hgt, C4MaterialReaction::iConvertMat, C4MaterialCore::Incendiary, C4MaterialCore::Inflammable, C4Material::InMatConvertTo, LoadResStr(), LogFatal(), Map, Mat2PixColDefault(), MatDensity(), MaterialMap, MatValid(), max_shape_height, max_shape_width, MCHalfVehic, MCVehic, MEarth, MHalfVehic, MNone, MTunnel, MVehic, MWater, C4MaterialCore::Name, Num, C4MaterialCore::OverlayType, ppReactionMap, C4Material::PXSFace, C4MaterialCore::PXSGfxRt, C4MaterialReaction::sConvertMat, SEqualNoCase(), C4Facet::Set(), SetMatReaction(), C4MaterialCore::sInMatConvert, C4MaterialCore::sPXSGfx, C4MaterialCore::sTextureOverlay, C4Texture::Surface32, C4MaterialReaction::TargetSpec, TextureMap, C4Rect::Wdt, and C4Rect::y.
Referenced by C4Game::InitMaterialTexture().
void C4MaterialMap::Default | ( | ) |
Definition at line 641 of file C4Material.cpp.
References Map, max_shape_height, max_shape_width, Num, and ppReactionMap.
Referenced by C4MaterialMap(), and C4Game::Default().
int32_t C4MaterialMap::Get | ( | const char * | szMaterial | ) |
Definition at line 365 of file C4Material.cpp.
References Map, MNone, Num, and SEqualNoCase().
Referenced by CrossMapMaterials(), C4Landscape::DrawChunks(), C4TextureMap::GetIndexMatTex(), C4TexMapEntry::Init(), Load(), C4MCOverlay::SetField(), and C4ToolsDlg::SetTexture().
C4MaterialReaction * C4MaterialMap::GetReaction | ( | int32_t | iPXSMat, |
int32_t | iLandscapeMat | ||
) |
Definition at line 649 of file C4Material.cpp.
References GetReactionUnsafe(), Num, and ppReactionMap.
|
inline |
Definition at line 191 of file C4Material.h.
References Num, and ppReactionMap.
Referenced by C4MassMover::Corrosion(), C4PXS::Execute(), GetReaction(), and C4Landscape::InsertMaterial().
bool C4MaterialMap::HasMaterials | ( | C4Group & | hGroup | ) | const |
Definition at line 360 of file C4Material.cpp.
References C4CFN_MaterialFiles, and C4Group::EntryCount().
int32_t C4MaterialMap::Load | ( | C4Group & | hGroup | ) |
Definition at line 319 of file C4Material.cpp.
References C4CFN_MaterialFiles, C4Group::EntryCount(), C4Group::FindNextEntry(), Get(), Log(), Map, MNone, Num, and C4Group::ResetSearch().
Referenced by C4Game::InitMaterialTexture().
bool C4MaterialMap::LoadEnumeration | ( | C4Group & | hGroup | ) |
Definition at line 587 of file C4Material.cpp.
References C4CFN_MatMap, C4M_MaxName, StdStrBuf::getData(), IsIdentifier(), C4Group::LoadEntryString(), SAdvanceSpace(), SCopyIdentifier(), SLen(), SortEnumeration(), and SSearch().
Referenced by C4Game::InitMaterialTexture().
|
static |
Definition at line 753 of file C4Material.cpp.
References C4PXSSystem::Create(), C4MaterialReaction::fUserDefined, GBackMat(), C4MaterialReaction::iConvertMat, C4MaterialReaction::iDepth, C4MaterialCore::InMatConvertDepth, C4Material::InMatConvertTo, itofix(), Map, MaterialMap, MatValid(), meeMassMove, meePXSMove, meePXSPos, mrfUserCheck(), and PXS.
|
static |
Definition at line 819 of file C4Material.cpp.
References C4Landscape::ClearPix(), C4MaterialCore::Corrode, C4MaterialCore::Corrosive, C4MaterialReaction::fUserDefined, C4MaterialReaction::iCorrosionRate, Landscape, Map, MaterialMap, meeMassMove, meePXSPos, mrfUserCheck(), and Random().
|
static |
Definition at line 882 of file C4Material.cpp.
References C4MaterialReaction::fUserDefined, C4Landscape::Incinerate(), C4Landscape::InsertMaterial(), Landscape, meeMassMove, meePXSMove, meePXSPos, mrfInsertCheck(), and NO_OWNER.
|
static |
Definition at line 908 of file C4Material.cpp.
References C4MaterialReaction::fUserDefined, C4Landscape::InsertMaterial(), Landscape, meeMassMove, meePXSMove, meePXSPos, mrfInsertCheck(), and mrfUserCheck().
|
static |
Definition at line 790 of file C4Material.cpp.
References C4Landscape::ExtractMaterial(), C4MaterialReaction::fUserDefined, Landscape, meeMassMove, meePXSPos, mrfUserCheck(), and Random().
|
static |
Definition at line 935 of file C4Material.cpp.
References C4REAL100(), C4AulFunc::Exec(), fixtoi(), mrfUserCheck(), and C4MaterialReaction::pScriptFunc.
Referenced by C4MaterialReaction::ResolveScriptFuncs().
bool C4MaterialMap::SaveEnumeration | ( | C4Group & | hGroup | ) |
Definition at line 574 of file C4Material.cpp.
References C4Group::Add(), C4CFN_MatMap, Map, Num, SAppend(), and SLen().
|
protected |
Definition at line 566 of file C4Material.cpp.
References C4MaterialReaction::fReverse, Num, and ppReactionMap.
Referenced by CrossMapMaterials().
|
protected |
Definition at line 615 of file C4Material.cpp.
References Map, Num, and SEqual().
Referenced by LoadEnumeration().
void C4MaterialMap::UpdateScriptPointers | ( | ) |
Definition at line 968 of file C4Material.cpp.
Referenced by C4Game::InitMaterialTexture(), C4Game::LinkScriptEngine(), and C4Game::ReLinkScriptEngine().
C4MaterialReaction C4MaterialMap::DefReactConvert |
Definition at line 173 of file C4Material.h.
Referenced by CrossMapMaterials().
C4MaterialReaction C4MaterialMap::DefReactCorrode |
Definition at line 173 of file C4Material.h.
Referenced by CrossMapMaterials().
C4MaterialReaction C4MaterialMap::DefReactIncinerate |
Definition at line 173 of file C4Material.h.
Referenced by CrossMapMaterials().
C4MaterialReaction C4MaterialMap::DefReactInsert |
Definition at line 173 of file C4Material.h.
Referenced by CrossMapMaterials().
C4MaterialReaction C4MaterialMap::DefReactPoof |
Definition at line 173 of file C4Material.h.
Referenced by CrossMapMaterials().
C4Material* C4MaterialMap::Map |
Definition at line 169 of file C4Material.h.
Referenced by C4Landscape::_SetPix2(), C4EditCursor::ApplyToolPicker(), C4Landscape::P::BlastFreePix(), C4Landscape::P::BlastMaterial2Objects(), C4Landscape::CheckInstability(), Clear(), CrossMapMaterials(), Default(), C4Landscape::P::DigFreePix(), C4Landscape::P::DigFreePixNoInstability(), C4Landscape::P::DigMaterial2Objects(), C4Landscape::P::DoScan(), C4PXSSystem::Draw(), C4Landscape::DrawChunks(), C4MCOverlay::Evaluate(), C4Object::ExecLife(), C4MassMover::Execute(), C4PXS::Execute(), C4Landscape::P::ExecuteScan(), C4Landscape::FindMatTop(), Get(), C4TextureMap::GetIndexMatTex(), C4Landscape::Incinerate(), C4TexMapEntry::Init(), C4Landscape::InsertMaterial(), Load(), Mat2PixColDefault(), MatDensity(), MatDigFree(), MatPlacement(), mrfConvert(), mrfCorrode(), mrfInsertCheck(), C4Landscape::RemoveUnusedTexMapEntries(), SaveEnumeration(), C4ToolsDlg::SetTexture(), C4Landscape::P::ShakeFreePix(), SortEnumeration(), C4Landscape::P::UpdateMatCnt(), C4Landscape::UpdatePixMaps(), UpdateScriptPointers(), and C4EditCursor::UpdateStatusBar().
int32_t C4MaterialMap::max_shape_height |
Definition at line 171 of file C4Material.h.
Referenced by CrossMapMaterials(), Default(), and C4Landscape::P::MapToSurface().
int32_t C4MaterialMap::max_shape_width |
Definition at line 171 of file C4Material.h.
Referenced by CrossMapMaterials(), Default(), and C4Landscape::P::MapToSurface().
int32_t C4MaterialMap::Num |
Definition at line 168 of file C4Material.h.
Referenced by C4Landscape::P::BlastMaterial2Objects(), Clear(), CrossMapMaterials(), Default(), C4Landscape::P::DigMaterial2Objects(), C4MCOverlay::Evaluate(), C4Landscape::P::ExecuteScan(), Get(), C4Landscape::P::GetBridgeMatConversion(), GetReaction(), GetReactionUnsafe(), Load(), MatValid(), C4Landscape::RemoveUnusedTexMapEntries(), SaveEnumeration(), SetMatReaction(), SortEnumeration(), and UpdateScriptPointers().
C4MaterialReaction** C4MaterialMap::ppReactionMap |
Definition at line 170 of file C4Material.h.
Referenced by Clear(), CrossMapMaterials(), Default(), GetReaction(), GetReactionUnsafe(), and SetMatReaction().