69 for (
int cnt=0; cnt<
Size; cnt++, sct++)
115 Add(pObj, pMainList);
134 if (pObj->
Area == NewArea)
return;
140 for (pNew = NewArea.
First(); pNew; pNew = NewArea.
Next(pNew))
146 pObj->
Area = NewArea;
159 LogF(
"WARNING: Object %d of type %s deleted but not found in pos sector list!", pObj->
Number, pObj->
id.
ToString());
172 for (
int cnt=0; cnt<
Size; cnt++, pSct++)
189 for (
int cnt=0; cnt<
Size; cnt++, sct++)
202 for (
int cnt=0; cnt<
Size; cnt++)
203 iSum +=
Sectors[cnt].ObjectShapes.ObjectCount();
210 LogSilent(DecompileToBuf<StdCompilerINIWrite>(
213 "Sector")).getData());
218 for (
int cnt=0; cnt<
Size; cnt++)
250 Bounds(0, 0, pSectors->
PxWdt, pSectors->
PxHgt);
251 ClippedRect.Normalize();
254 ClippedRect.Intersect(Bounds);
261 if (!ClippedRect.Wdt) ClippedRect.Wdt = 1;
262 if (!ClippedRect.Hgt) ClippedRect.Hgt = 1;
295 if (!
pFirst)
return false;
297 if (pSct ==
pOut)
return true;
309 *ppSct =
Next(*ppSct);
314 return &(*ppSct)->Objects;
323 *ppSct =
Next(*ppSct);
328 return &(*ppSct)->ObjectShapes;
bool LogSilent(const char *szMessage, bool fConsole)
bool LogF(const char *strMessage,...)
void AddDbgRec(C4RecordChunkType eType, const void *pData, int iSize)
const int32_t C4LSectorHgt
const int32_t C4LSectorWdt
StdArrayAdapt< T, M > mkArrayAdaptMap(T *pArray, int iSize, M &&map)
StdParameterAdaptMaker< P > mkParAdaptMaker(P &&rPar)
StdParameterAdapt< T, P > mkParAdapt(T &&rObj, P &&rPar)
StdIntAdapt< T > mkIntAdapt(T &rValue)
StdNamingAdapt< T > mkNamingAdapt(T &&rValue, const char *szName)
const char * ToString() const
C4ObjectList * NextObjectShapes(C4ObjectList *pPrev, C4LSector **ppSct)
C4ObjectList * NextObjects(C4ObjectList *pPrev, C4LSector **ppSct)
bool Contains(C4LSector *pSct) const
void DebugRec(class C4Object *pObj, char cMarker)
C4LSector * First() const
void Set(C4LSectors *pSectors, const C4Rect &rect)
C4LSector * Next(C4LSector *pPrev) const
bool operator==(const C4LArea &Area) const
void Init(int ix, int iy)
C4ObjectList ObjectShapes
void CompileFunc(StdCompiler *pComp, C4ValueNumbers *numbers)
void Update(C4Object *pObj, C4ObjectList *pMainList)
void Add(C4Object *pObj, C4ObjectList *pMainList)
void AssertObjectNotInList(C4Object *pObj)
void Init(int Wdt, int Hgt)
void Remove(C4Object *pObj)
C4LSector * SectorAt(int ix, int iy)
virtual bool Add(C4Object *new_obj, SortType sort_type, C4ObjectList *sorted_list=nullptr)
virtual bool Remove(C4Object *obj)
bool IsContained(const C4Object *obj) const
bool CheckSort(C4ObjectList *list)
bool Contains(int32_t iX, int32_t iY) const
void Value(const T &rStruct)