61 for (int32_t speed = 2; speed>0; speed--)
86 if (!
Set[cptr].Init(x,y))
return false;
145 Cease();
return false;
177 if ((*pReact->
pFunc)(pReact,
x,
y,
x+dx,
y+dy, xdir,ydir,
Mat,tmat,
meeMassMove,
nullptr))
220 if ((iBinSize % iMoverSize)!=0)
return false;
222 Count = iBinSize / iMoverSize;
223 if (!hGroup.
Read(
Set,iBinSize))
return false;
230 int32_t iSpot,iPtr,iConsolidated;
236 if (iSpot==-1) iSpot=iPtr;
246 for (; iSpot<iPtr; iSpot++)
250 if (iSpot==iPtr) iSpot=-1;
int32_t GBackMat(int32_t x, int32_t y)
const int32_t C4MassMoverChunk
C4MaterialMap MaterialMap
void AddDbgRec(C4RecordChunkType eType, const void *pData, int iSize)
bool Read(void *buffer, size_t size) override
bool AccessEntry(const char *wildcard, size_t *size=nullptr, char *filename=nullptr, bool needs_to_be_a_group=false)
bool Add(const char *filename, const char *entry_name)
bool Delete(const char *files, bool recursive=false)
int32_t ExtractMaterial(int32_t fx, int32_t fy, bool distant_first)
bool FindMatPath(int32_t &fx, int32_t &fy, int32_t ydir, int32_t mdens, int32_t mslide) const
bool InsertDeadMaterial(int32_t mat, int32_t tx, int32_t ty)
int32_t GetHeight() const
bool InsertMaterial(int32_t mat, int32_t *tx, int32_t *ty, int32_t vx=0, int32_t vy=0, bool query_only=false)
bool Corrosion(int32_t dx, int32_t dy)
bool Init(int32_t tx, int32_t ty)
void Copy(C4MassMoverSet &rSet)
C4MassMover Set[C4MassMoverChunk]
bool Load(C4Group &hGroup)
bool Create(int32_t x, int32_t y, bool fExecute=false)
bool Save(C4Group &hGroup)
C4MaterialReaction * GetReactionUnsafe(int32_t iPXSMat, int32_t iLandscapeMat)
C4MaterialReactionFunc pFunc