From ad1f1814541fc38f7c06e88c7925fbb5bd0dceeb Mon Sep 17 00:00:00 2001 From: fusion32 Date: Mon, 26 May 2025 17:53:28 -0300 Subject: impl Cron and most `map.cc` functions --- reference/game.c | 881 ------------------------------------------------------- 1 file changed, 881 deletions(-) (limited to 'reference/game.c') diff --git a/reference/game.c b/reference/game.c index 63100e0..5591ba8 100644 --- a/reference/game.c +++ b/reference/game.c @@ -5192,887 +5192,6 @@ void __static_initialization_and_destruction_0(int __initialize_p,int __priority return; } -void CronMove(int Destination,int Source) - -{ - int iVar1; - uint uVar2; - TCronEntry *pTVar3; - TCronEntry *pTVar4; - TCronEntry *Entry; - undefined8 local_34; - int iStack_30; - - pTVar3 = vector::operator()(&CronEntry,Destination); - pTVar4 = vector::operator()(&CronEntry,Source); - (pTVar3->Obj).ObjectID = (pTVar4->Obj).ObjectID; - pTVar3->RoundNr = pTVar4->RoundNr; - iVar1 = pTVar4->Next; - pTVar3->Previous = pTVar4->Previous; - pTVar3->Next = iVar1; - pTVar3 = vector::operator()(&CronEntry,Destination); - if (pTVar3->Next != -1) { - pTVar4 = vector::operator()(&CronEntry,pTVar3->Next); - pTVar4->Previous = Destination; - } - if (pTVar3->Previous != -1) { - pTVar4 = vector::operator()(&CronEntry,pTVar3->Previous); - iVar1 = pTVar3->Previous; - pTVar4->Next = Destination; - if (iVar1 != -1) { - return; - } - } - uVar2 = (pTVar3->Obj).ObjectID; - CronHashTable - [uVar2 + ((uVar2 - (int)((ulonglong)uVar2 * 0x200401 >> 0x20) >> 1) + iStack_30 >> 10) * -0x7ff] - = Destination; - return; -} - - - -void CronHeapify(int Position) - -{ - int i; - TCronEntry *pTVar1; - TCronEntry *pTVar2; - int Father; - int iVar3; - - while (Position != 1) { - pTVar1 = vector::operator()(&CronEntry,Position); - iVar3 = Position / 2; - pTVar2 = vector::operator()(&CronEntry,iVar3); - if (pTVar2->RoundNr <= pTVar1->RoundNr) break; - CronMove(0,Position); - CronMove(Position,iVar3); - CronMove(iVar3,0); - Position = iVar3; - } - while( true ) { - iVar3 = Position * 2; - if (CronEntries < iVar3) { - return; - } - i = iVar3 + 1; - if (i <= CronEntries) { - pTVar1 = vector::operator()(&CronEntry,i); - pTVar2 = vector::operator()(&CronEntry,iVar3); - if (pTVar1->RoundNr < pTVar2->RoundNr) { - iVar3 = i; - } - } - pTVar1 = vector::operator()(&CronEntry,Position); - pTVar2 = vector::operator()(&CronEntry,iVar3); - if (pTVar1->RoundNr <= pTVar2->RoundNr) break; - CronMove(0,Position); - CronMove(Position,iVar3); - CronMove(iVar3,0); - Position = iVar3; - } - return; -} - - - -void CronSet(Object *Obj,ulong Delay) - -{ - bool bVar1; - int i; - TCronEntry *pTVar2; - ulong Position; - uint uVar3; - - bVar1 = false; - if (Obj->ObjectID != 0) { - uVar3 = Obj->ObjectID & HashTableMask; - if (HashTableType[uVar3] == '\x02') { - UnswapSector(HashTableData[uVar3]); - } - if ((HashTableType[uVar3] == '\x01') && (*(ulong *)HashTableData[uVar3] == Obj->ObjectID)) { - bVar1 = true; - } - else { - bVar1 = false; - } - } - if (bVar1) { - CronEntries = CronEntries + 1; - pTVar2 = vector::operator()(&CronEntry,CronEntries); - (pTVar2->Obj).ObjectID = Obj->ObjectID; - pTVar2 = vector::operator()(&CronEntry,CronEntries); - pTVar2->RoundNr = Delay + RoundNr; - pTVar2 = vector::operator()(&CronEntry,CronEntries); - pTVar2->Previous = -1; - pTVar2 = vector::operator()(&CronEntry,CronEntries); - pTVar2->Next = CronHashTable[Obj->ObjectID % 0x7ff]; - i = CronEntries; - CronHashTable[Obj->ObjectID % 0x7ff] = CronEntries; - pTVar2 = vector::operator()(&CronEntry,i); - if (pTVar2->Next != -1) { - pTVar2 = vector::operator()(&CronEntry,CronEntries); - pTVar2 = vector::operator()(&CronEntry,pTVar2->Next); - pTVar2->Previous = CronEntries; - } - CronHeapify(CronEntries); - } - else { - error(&DAT_080f1480); - } - return; -} - - - -void CronDelete(int Position) - -{ - uint uVar1; - int iVar2; - bool bVar3; - TCronEntry *pTVar4; - TCronEntry *pTVar5; - TCronEntry *Entry; - undefined8 local_1c; - int iStack_18; - - bVar3 = false; - if ((0 < Position) && (Position <= CronEntries)) { - bVar3 = true; - } - if (!bVar3) { - error(&DAT_080f14c0,Position); - return; - } - pTVar4 = vector::operator()(&CronEntry,Position); - if (pTVar4->Next != -1) { - pTVar5 = vector::operator()(&CronEntry,pTVar4->Next); - pTVar5->Previous = pTVar4->Previous; - } - if (pTVar4->Previous != -1) { - pTVar5 = vector::operator()(&CronEntry,pTVar4->Previous); - iVar2 = pTVar4->Previous; - pTVar5->Next = pTVar4->Next; - if (iVar2 != -1) goto LAB_08057e24; - } - uVar1 = (pTVar4->Obj).ObjectID; - CronHashTable - [uVar1 + ((uVar1 - (int)((ulonglong)uVar1 * 0x200401 >> 0x20) >> 1) + iStack_18 >> 10) * -0x7ff] - = pTVar4->Next; -LAB_08057e24: - iVar2 = CronEntries; - CronEntries = CronEntries + -1; - if (CronEntries < Position) { - return; - } - CronMove(Position,iVar2); - CronHeapify(Position); - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -Object CronCheck(void) - -{ - Object OVar1; - TCronEntry *pTVar2; - ulong *in_stack_00000004; - - OVar1.ObjectID = NONE.ObjectID; - if ((CronEntries != 0) && - (pTVar2 = vector::operator()(&CronEntry,1), OVar1 = NONE, - pTVar2->RoundNr <= RoundNr)) { - pTVar2 = vector::operator()(&CronEntry,1); - OVar1.ObjectID = (pTVar2->Obj).ObjectID; - } - *in_stack_00000004 = OVar1.ObjectID; - return (Object)(ulong)in_stack_00000004; -} - - - -ulong CronInfo(Object *Obj,bool Delete) - -{ - bool bVar1; - TCronEntry *pTVar2; - int Position; - uint uVar3; - int i; - ulong uVar4; - char *Text; - undefined8 local_44; - int iStack_40; - bool Delete_local; - - bVar1 = false; - if (Obj->ObjectID != 0) { - uVar3 = Obj->ObjectID & HashTableMask; - if (HashTableType[uVar3] == '\x02') { - UnswapSector(HashTableData[uVar3]); - } - if ((HashTableType[uVar3] == '\x01') && (*(ulong *)HashTableData[uVar3] == Obj->ObjectID)) { - bVar1 = true; - } - else { - bVar1 = false; - } - } - if (bVar1) { - uVar3 = Obj->ObjectID; - i = CronHashTable - [uVar3 + ((uVar3 - (int)((ulonglong)uVar3 * 0x200401 >> 0x20) >> 1) + iStack_40 >> 10) * - -0x7ff]; - while (i != -1) { - pTVar2 = vector::operator()(&CronEntry,i); - if ((pTVar2->Obj).ObjectID == Obj->ObjectID) { - pTVar2 = vector::operator()(&CronEntry,i); - uVar4 = pTVar2->RoundNr - RoundNr; - if ((int)uVar4 < 1) { - uVar4 = 1; - } - if (!Delete) { - return uVar4; - } - CronDelete(i); - return uVar4; - } - pTVar2 = vector::operator()(&CronEntry,i); - i = pTVar2->Next; - } - Text = "CronInfo: Objekt ist nicht im Cron-System eingetragen.\n"; - } - else { - Text = &DAT_080f1540; - } - error(Text); - return 0; -} - - - -ulong CronStop(Object *Obj) - -{ - bool bVar1; - ulong uVar2; - ulong Position; - uint uVar3; - Object local_1c [4]; - - bVar1 = false; - if (Obj->ObjectID != 0) { - uVar3 = Obj->ObjectID & HashTableMask; - if (HashTableType[uVar3] == '\x02') { - UnswapSector(HashTableData[uVar3]); - } - if ((HashTableType[uVar3] == '\x01') && (*(ulong *)HashTableData[uVar3] == Obj->ObjectID)) { - bVar1 = true; - } - else { - bVar1 = false; - } - } - if (bVar1) { - local_1c[0] = (Object)Obj->ObjectID; - uVar2 = CronInfo(local_1c,true); - } - else { - error(&DAT_080f1580); - uVar2 = 0; - } - return uVar2; -} - - - -void CronExpire(Object *Obj,int Delay) - -{ - bool bVar1; - TObject *pTVar2; - ulong Position; - uint uVar3; - Object local_3c [4]; - Object local_2c [7]; - - bVar1 = false; - if (Obj->ObjectID != 0) { - uVar3 = Obj->ObjectID & HashTableMask; - if (HashTableType[uVar3] == '\x02') { - UnswapSector(HashTableData[uVar3]); - } - if ((HashTableType[uVar3] == '\x01') && (*(ulong *)HashTableData[uVar3] == Obj->ObjectID)) { - bVar1 = true; - } - else { - bVar1 = false; - } - } - if (bVar1) { - local_3c[0] = (Object)Obj->ObjectID; - pTVar2 = AccessObject(local_3c); - ObjectType::setTypeID((ObjectType *)local_2c,(pTVar2->Type).TypeID); - bVar1 = ObjectType::getFlag((ObjectType *)local_2c,EXPIRE); - if (bVar1) { - if (Delay == -1) { - local_2c[0] = (Object)Obj->ObjectID; - pTVar2 = AccessObject(local_2c); - ObjectType::setTypeID((ObjectType *)local_3c,(pTVar2->Type).TypeID); - Delay = ObjectType::getAttribute((ObjectType *)local_3c,TOTALEXPIRETIME); - } - local_3c[0] = (Object)Obj->ObjectID; - CronSet(local_3c,Delay); - } - } - else { - error(&DAT_080f15c0); - } - return; -} - - - -void CronChange(Object *Obj,int NewDelay) - -{ - bool bVar1; - TCronEntry *pTVar2; - int Position; - uint uVar3; - int i; - char *Text; - - bVar1 = false; - if (Obj->ObjectID != 0) { - uVar3 = Obj->ObjectID & HashTableMask; - if (HashTableType[uVar3] == '\x02') { - UnswapSector(HashTableData[uVar3]); - } - if ((HashTableType[uVar3] == '\x01') && (*(ulong *)HashTableData[uVar3] == Obj->ObjectID)) { - bVar1 = true; - } - else { - bVar1 = false; - } - } - if (bVar1) { - i = CronHashTable[Obj->ObjectID % 0x7ff]; - while (i != -1) { - pTVar2 = vector::operator()(&CronEntry,i); - if ((pTVar2->Obj).ObjectID == Obj->ObjectID) { - pTVar2 = vector::operator()(&CronEntry,i); - pTVar2->RoundNr = NewDelay + RoundNr; - CronHeapify(i); - return; - } - pTVar2 = vector::operator()(&CronEntry,i); - i = pTVar2->Next; - } - Text = "CronChange: Objekt ist nicht im Cron-System eingetragen.\n"; - } - else { - Text = &DAT_080f1640; - } - error(Text); - return; -} - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -Object GetFirstSpecObject(void) - -{ - TObject *pTVar1; - ulong *in_stack_00000004; - int *in_stack_00000014; - Object local_5c [4]; - ObjectType local_4c [4]; - Object local_3c [4]; - ulong local_2c; - Object Obj; - - GetFirstObject(); - if (local_2c != NONE.ObjectID) { - do { - local_4c[0].TypeID = NONE.ObjectID; - local_3c[0].ObjectID = local_2c; - pTVar1 = AccessObject(local_3c); - ObjectType::setTypeID(local_4c,(pTVar1->Type).TypeID); - ObjectType::setTypeID((ObjectType *)local_3c,*in_stack_00000014); - if (local_4c[0].TypeID == local_3c[0].ObjectID) { - *in_stack_00000004 = local_2c; - return (Object)(ulong)in_stack_00000004; - } - local_5c[0].ObjectID = local_2c; - pTVar1 = AccessObject(local_5c); - local_2c = (pTVar1->NextObject).ObjectID; - } while (local_2c != NONE.ObjectID); - } - *in_stack_00000004 = NONE.ObjectID; - return (Object)(ulong)in_stack_00000004; -} - -bool IsOnMap(int x,int y,int z) - -{ - bool bVar1; - int sx; - int iVar2; - bool bVar3; - - iVar2 = x + 0x1f; - if (-1 < x) { - iVar2 = x; - } - if (0x7fffffff < (uint)y) { - y = y + 0x1f; - } - bVar1 = false; - bVar3 = false; - if ((SectorXMin <= iVar2 >> 5) && (bVar1 = true, SectorXMax < iVar2 >> 5)) { - bVar1 = false; - } - if (bVar1) { - bVar1 = false; - if ((SectorYMin <= y >> 5) && (bVar1 = true, SectorYMax < y >> 5)) { - bVar1 = false; - } - if (bVar1) { - bVar1 = false; - if ((SectorZMin <= z) && (bVar1 = true, SectorZMax < z)) { - bVar1 = bVar3; - } - if (bVar1 != false) { - bVar3 = true; - } - } - } - return bVar3; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -bool CoordinateFlag(void) - -{ - bool bVar1; - TObject *pTVar2; - FLAG in_stack_00000010; - Object local_5c [4]; - ObjectType local_4c [4]; - Object local_3c [4]; - ulong local_2c; - Object Obj; - - GetFirstObject(); - if (local_2c != NONE.ObjectID) { - do { - local_4c[0].TypeID = NONE.ObjectID; - local_3c[0].ObjectID = local_2c; - pTVar2 = AccessObject(local_3c); - ObjectType::setTypeID(local_4c,(pTVar2->Type).TypeID); - bVar1 = ObjectType::getFlag(local_4c,in_stack_00000010); - if (bVar1) { - return true; - } - local_5c[0].ObjectID = local_2c; - pTVar2 = AccessObject(local_5c); - local_2c = (pTVar2->NextObject).ObjectID; - } while (local_2c != NONE.ObjectID); - } - return false; -} - - - -bool IsPremiumArea(int x,int y,int param_3) - -{ - bool bVar1; - int iVar2; - int iVar3; - - iVar2 = x + 0x1f; - if (-1 < x) { - iVar2 = x; - } - iVar2 = iVar2 >> 5; - if (0x7fffffff < (uint)y) { - y = y + 0x1f; - } - bVar1 = true; - iVar3 = y >> 5; - if ((((iVar2 < 0x40c) && ((iVar2 < 0x408 || (bVar1 = true, 0x3e6 < iVar3)))) && - ((iVar2 < 0x406 || (bVar1 = true, iVar3 < 0x3f0)))) && - (((iVar2 < 0x405 || (bVar1 = true, iVar3 < 0x3f1)) && - ((iVar2 < 0x3fe || (bVar1 = true, iVar3 < 0x3f6)))))) { - bVar1 = 0x3f7 < iVar3; - } - return bVar1; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -bool IsProtectionZone(void) - -{ - byte bVar1; - bool bVar2; - int in_stack_00000004; - int in_stack_00000008; - Object local_2c [4]; - ulong local_1c; - Object Con; - - GetMapContainer((int)&local_1c,in_stack_00000004,in_stack_00000008); - bVar2 = false; - if (local_1c != NONE.ObjectID) { - local_2c[0].ObjectID = local_1c; - bVar1 = GetMapContainerFlags(local_2c); - bVar2 = (bool)(bVar1 >> 2 & 1); - } - return bVar2; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -bool IsNoLogoutField(void) - -{ - byte bVar1; - bool bVar2; - int in_stack_00000004; - int in_stack_00000008; - Object local_2c [4]; - ulong local_1c; - Object Con; - - GetMapContainer((int)&local_1c,in_stack_00000004,in_stack_00000008); - bVar2 = false; - if (local_1c != NONE.ObjectID) { - local_2c[0].ObjectID = local_1c; - bVar1 = GetMapContainerFlags(local_2c); - bVar2 = (bool)(bVar1 >> 1 & 1); - } - return bVar2; -} - - - -bool IsHouse(int x,int y,int z) - -{ - bool bVar1; - short sVar2; - TObject *pTVar3; - Object local_3c [4]; - Object local_2c; - Object Con; - - GetMapContainer((int)&local_2c,x,y); - local_3c[0].ObjectID = NONE.ObjectID; - if (local_2c.ObjectID != NONE.ObjectID) { - bVar1 = Object::exists(&local_2c); - if (bVar1) { - local_3c[0].ObjectID = local_2c.ObjectID; - pTVar3 = AccessObject(local_3c); - sVar2 = *(short *)((int)pTVar3->Attributes + 0xe); - goto LAB_0805b121; - } - error(&DAT_080f20a0,x,y,z); - } - sVar2 = 0; -LAB_0805b121: - return sVar2 != 0; -} - - - -ushort GetHouseID(int x,int y,int z) - -{ - bool bVar1; - TObject *pTVar2; - ushort uVar3; - ulong Position; - uint uVar4; - Object local_3c [4]; - uint local_2c; - Object Con; - - GetMapContainer((int)&local_2c,x,y); - uVar3 = 0; - local_3c[0].ObjectID = NONE.ObjectID; - if (local_2c != NONE.ObjectID) { - bVar1 = false; - if (local_2c != 0) { - uVar4 = local_2c & HashTableMask; - if (HashTableType[uVar4] == '\x02') { - UnswapSector(HashTableData[uVar4]); - } - if ((HashTableType[uVar4] == '\x01') && (*(uint *)HashTableData[uVar4] == local_2c)) { - bVar1 = true; - } - else { - bVar1 = false; - } - } - if (bVar1) { - local_3c[0].ObjectID = local_2c; - pTVar2 = AccessObject(local_3c); - uVar3 = *(ushort *)((int)pTVar2->Attributes + 0xe); - } - else { - error(&DAT_080f20a0,x,y,z); - uVar3 = 0; - } - } - return uVar3; -} - - - -void SetHouseID(int x,int y,int z,ushort ID) - -{ - bool bVar1; - bool bVar2; - ushort uVar3; - TObject *pTVar4; - int sy; - int iVar5; - int sx; - int iVar6; - ulong Position; - uint uVar7; - ushort ID_local; - uint local_2c; - Object Con; - - iVar6 = x; - if (0x7fffffff < (uint)x) { - iVar6 = x + 0x1f; - } - iVar5 = y; - if (0x7fffffff < (uint)y) { - iVar5 = y + 0x1f; - } - bVar1 = false; - bVar2 = false; - if ((SectorXMin <= iVar6 >> 5) && (bVar1 = true, SectorXMax < iVar6 >> 5)) { - bVar1 = false; - } - if (bVar1) { - bVar1 = false; - if ((SectorYMin <= iVar5 >> 5) && (bVar1 = true, SectorYMax < iVar5 >> 5)) { - bVar1 = false; - } - if (bVar1) { - bVar1 = false; - if ((SectorZMin <= z) && (bVar1 = true, SectorZMax < z)) { - bVar1 = bVar2; - } - if (bVar1) { - bVar2 = true; - } - } - } - if (!bVar2) { - return; - } - iVar6 = z; - GetMapContainer((int)&local_2c,x,y); - bVar1 = false; - _ID_local = NONE.ObjectID; - if (local_2c != NONE.ObjectID) { - bVar2 = false; - if (local_2c != 0) { - uVar7 = local_2c & HashTableMask; - if (HashTableType[uVar7] == '\x02') { - UnswapSector(HashTableData[uVar7]); - } - if ((HashTableType[uVar7] == '\x01') && (*(uint *)HashTableData[uVar7] == local_2c)) { - bVar2 = true; - } - else { - bVar2 = false; - } - } - if (bVar2) goto LAB_0805b36c; - } - bVar1 = true; -LAB_0805b36c: - if (bVar1) { - print(); - } - else { - uVar3 = GetHouseID(x,y,z); - if (uVar3 == 0) { - _ID_local = local_2c; - pTVar4 = AccessObject((Object *)&ID_local); - pTVar4->Attributes[3] = pTVar4->Attributes[3] + (uint)ID * 0x10000; - } - else { - error(&DAT_080f2160,y,z,iVar6); - } - } - return; -} - - - -int GetDepotNumber(char *Town) - -{ - TDepotInfo *s1; - int iVar1; - int i; - int i_00; - - if (Town == (char *)0x0) { - error("GetDepotNumber: Town ist NULL.\n"); - } - else if ((*Town != '\0') && (i_00 = DepotInfo.min, DepotInfo.min <= DepotInfo.max)) { - do { - s1 = vector::operator()(&DepotInfo,i_00); - iVar1 = stricmp(s1->Town,Town,-1); - if (iVar1 == 0) { - return i_00; - } - i_00 = i_00 + 1; - } while (i_00 <= DepotInfo.max); - } - return -1; -} - - - -char * GetDepotName(int DepotNumber) - -{ - TDepotInfo *pTVar1; - char *Text; - - if ((DepotNumber < DepotInfo.min) || (DepotInfo.max < DepotNumber)) { - Text = &DAT_080f21c0; - } - else { - pTVar1 = vector::operator()(&DepotInfo,DepotNumber); - if (pTVar1 != (TDepotInfo *)0x0) { - pTVar1 = vector::operator()(&DepotInfo,DepotNumber); - return pTVar1->Town; - } - Text = &DAT_080f2200; - } - error(Text,DepotNumber); - return "unknown"; -} - - - -// WARNING: Variable defined which should be unmapped: PremiumAccount_local - -int GetDepotSize(int DepotNumber,bool PremiumAccount) - -{ - int iVar1; - TDepotInfo *pTVar2; - bool PremiumAccount_local; - - if ((DepotNumber < DepotInfo.min) || (DepotInfo.max < DepotNumber)) { - error(&DAT_080f2240,DepotNumber); - iVar1 = 1; - } - else { - pTVar2 = vector::operator()(&DepotInfo,DepotNumber); - if (pTVar2->Size < 1) { - pTVar2 = vector::operator()(&DepotInfo,DepotNumber); - error(&DAT_080f2280,pTVar2->Size,DepotNumber); - pTVar2 = vector::operator()(&DepotInfo,DepotNumber); - pTVar2->Size = 1; - } - if (PremiumAccount) { - pTVar2 = vector::operator()(&DepotInfo,DepotNumber); - iVar1 = pTVar2->Size * 2; - } - else { - pTVar2 = vector::operator()(&DepotInfo,DepotNumber); - iVar1 = pTVar2->Size; - } - } - return iVar1; -} - - - -void GetStartPosition(int *x,int *y,int *z,bool Newbie) - -{ - int iVar1; - - if (Newbie) { - *x = NewbieStartPositionX; - *y = NewbieStartPositionY; - iVar1 = NewbieStartPositionZ; - } - else { - *x = VeteranStartPositionX; - *y = VeteranStartPositionY; - iVar1 = VeteranStartPositionZ; - } - *z = iVar1; - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -bool GetMarkPosition(void) - -{ - TMark *pTVar1; - int iVar2; - int i; - int i_00; - char *in_stack_00000004; - int *in_stack_00000008; - int *in_stack_0000000c; - int *in_stack_00000010; - - i_00 = 0; - if (0 < Marks) { - do { - pTVar1 = vector::operator()(&Mark,i_00); - iVar2 = stricmp(pTVar1->Name,in_stack_00000004,-1); - if (iVar2 == 0) { - pTVar1 = vector::operator()(&Mark,i_00); - *in_stack_00000008 = pTVar1->x; - pTVar1 = vector::operator()(&Mark,i_00); - *in_stack_0000000c = pTVar1->y; - pTVar1 = vector::operator()(&Mark,i_00); - *in_stack_00000010 = pTVar1->z; - return true; - } - i_00 = i_00 + 1; - } while (i_00 < Marks); - } - return false; -} - void RefreshSector(int x,int y,int z,TReadStream *Stream) { -- cgit v1.2.3