From c09d30cb144ce421ef0e1a786d2965f9abcde0aa Mon Sep 17 00:00:00 2001 From: fusion32 Date: Sun, 29 Jun 2025 18:25:23 -0300 Subject: `houses.cc` --- reference/game.c | 5432 ------------------------------------------------------ 1 file changed, 5432 deletions(-) (limited to 'reference/game.c') diff --git a/reference/game.c b/reference/game.c index b6cd717..92c0837 100644 --- a/reference/game.c +++ b/reference/game.c @@ -3388,5438 +3388,6 @@ void __static_initialization_and_destruction_0(int __initialize_p,int __priority return; } - - -THouseArea * GetHouseArea(ushort ID) - -{ - THouseArea *pTVar1; - int i; - int i_00; - - i_00 = 0; - if (0 < HouseAreas) { - do { - pTVar1 = vector::operator()(&HouseArea,i_00); - if (pTVar1->ID == ID) { - pTVar1 = vector::operator()(&HouseArea,i_00); - return pTVar1; - } - i_00 = i_00 + 1; - } while (i_00 < HouseAreas); - } - error("GetHouseArea: Gebiet mit ID %d nicht gefunden.\n",(uint)ID); - return (THouseArea *)0x0; -} - - - -int CheckAccessRight(char *Rule,TPlayer *pl) - -{ - char cVar1; - bool bVar2; - char *pcVar3; - bool local_ec; - bool PositiveRule; - char local_dc [4]; - char Pattern [200]; - - if (Rule == (char *)0x0) { - pcVar3 = "CheckAccessRight: Regel ist NULL.\n"; - } - else { - if (pl != (TPlayer *)0x0) { - cVar1 = *Rule; - if (cVar1 == '!') { - Rule = Rule + 1; - } - local_ec = cVar1 != '!'; - pcVar3 = strchr(Rule,0x40); - if (pcVar3 == (char *)0x0) { - pcVar3 = (pl->super_TCreature).Name; - } - else { - if (pl->Guild[0] == '\0') { - return 0; - } - if (pl->Rank[0] == '\0') { - snprintf(local_dc,200,"@%s",pl->Guild); - } - else { - snprintf(local_dc,200,"%s@%s",pl->Rank,pl->Guild); - } - pcVar3 = local_dc; - } - bVar2 = MatchString(Rule,pcVar3); - if (!bVar2) { - return 0; - } - return (uint)local_ec * 2 + -1; - } - pcVar3 = "CheckAccessRight: pl ist NULL.\n"; - } - error(pcVar3); - return 0; -} - - - -// WARNING: Variable defined which should be unmapped: low - -THouse * GetHouse(ushort ID) - -{ - THouse *pTVar1; - int iVar2; - int test; - int i; - int high; - int iVar3; - int local_14; - int low; - - local_14 = 0; - iVar3 = Houses + -1; - if (-1 < iVar3) { - do { - i = (local_14 + iVar3) / 2; - pTVar1 = vector::operator()(&House,i); - if (pTVar1->ID == ID) { - pTVar1 = vector::operator()(&House,i); - return pTVar1; - } - pTVar1 = vector::operator()(&House,i); - iVar2 = i + 1; - if (ID <= pTVar1->ID) { - iVar2 = local_14; - } - pTVar1 = vector::operator()(&House,i); - if (ID < pTVar1->ID) { - iVar3 = i + -1; - } - local_14 = iVar2; - } while (iVar2 <= iVar3); - } - error("GetHouse: Haus mit ID %d nicht gefunden.\n",(uint)ID); - return (THouse *)0x0; -} - - - -bool IsOwner(ushort HouseID,TPlayer *pl) - -{ - THouse *pTVar1; - THouse *house; - - pTVar1 = GetHouse(HouseID); - if (pTVar1 == (THouse *)0x0) { - error("IsOwner: Haus mit ID %d existiert nicht.\n",(uint)HouseID); - } - else { - if (pl != (TPlayer *)0x0) { - return pTVar1->OwnerID == (pl->super_TCreature).ID; - } - error("IsOwner: pl ist NULL.\n"); - } - return false; -} - - - -bool IsSubowner(ushort HouseID,TPlayer *pl,int TimeStamp) - -{ - THouse *pTVar1; - THouseGuest *Rule; - int iVar2; - THouse *house; - int i; - - pTVar1 = GetHouse(HouseID); - if (pTVar1 == (THouse *)0x0) { - error("IsSubowner: Haus mit ID %d existiert nicht.\n",(uint)HouseID); - } - else if (pl == (TPlayer *)0x0) { - error("IsSubowner: pl ist NULL.\n"); - } - else if ((pTVar1->LastTransition <= TimeStamp) && (i = 0, 0 < pTVar1->Subowners)) { - do { - Rule = vector<>::operator()(&pTVar1->Subowner,i); - iVar2 = CheckAccessRight(Rule->Name,pl); - if (iVar2 == -1) { - return false; - } - if (iVar2 == 1) { - return true; - } - i = i + 1; - } while (i < pTVar1->Subowners); - } - return false; -} - - - -bool IsGuest(ushort HouseID,TPlayer *pl,int TimeStamp) - -{ - THouse *pTVar1; - THouseGuest *Rule; - int iVar2; - THouse *house; - int i; - - pTVar1 = GetHouse(HouseID); - if (pTVar1 == (THouse *)0x0) { - error("IsGuest: Haus mit ID %d existiert nicht.\n",(uint)HouseID); - } - else if (pl == (TPlayer *)0x0) { - error("IsGuest: pl ist NULL.\n"); - } - else if ((pTVar1->LastTransition <= TimeStamp) && (i = 0, 0 < pTVar1->Guests)) { - do { - Rule = vector<>::operator()(&pTVar1->Guest,i); - iVar2 = CheckAccessRight(Rule->Name,pl); - if (iVar2 == -1) { - return false; - } - if (iVar2 == 1) { - return true; - } - i = i + 1; - } while (i < pTVar1->Guests); - } - return false; -} - - - -bool IsInvited(ushort HouseID,TPlayer *pl,int TimeStamp) - -{ - bool bVar1; - THouse *pTVar2; - THouse *house; - bool bVar3; - - if (pl == (TPlayer *)0x0) { - error("IsInvited: pl ist NULL.\n"); - bVar1 = false; - } - else { - bVar1 = false; - pTVar2 = GetHouse(HouseID); - if (pTVar2 == (THouse *)0x0) { - error("IsOwner: Haus mit ID %d existiert nicht.\n",(uint)HouseID); - bVar3 = false; - } - else { - bVar3 = pTVar2->OwnerID == (pl->super_TCreature).ID; - } - if (((bVar3) || (bVar3 = IsSubowner(HouseID,pl,TimeStamp), bVar3)) || - (bVar3 = IsGuest(HouseID,pl,TimeStamp), bVar3)) { - bVar1 = true; - } - } - return bVar1; -} - - - -char * GetHouseName(ushort HouseID) - -{ - THouse *house; - THouse *pTVar1; - char *pcVar2; - - pTVar1 = GetHouse(HouseID); - if (pTVar1 == (THouse *)0x0) { - error("GetHouseName: Haus mit ID %d existiert nicht.\n",(uint)HouseID); - pcVar2 = (char *)0x0; - } - else { - pcVar2 = pTVar1->Name; - } - return pcVar2; -} - - - -char * GetHouseOwner(ushort HouseID) - -{ - THouse *house; - THouse *pTVar1; - char *pcVar2; - - pTVar1 = GetHouse(HouseID); - if (pTVar1 == (THouse *)0x0) { - error("GetHouseOwner: Haus mit ID %d existiert nicht.\n",(uint)HouseID); - pcVar2 = (char *)0x0; - } - else { - pcVar2 = pTVar1->OwnerName; - } - return pcVar2; -} - - - -void ShowSubownerList(ushort HouseID,TPlayer *pl,char *Buffer) - -{ - THouse *pTVar1; - THouse *pTVar2; - THouseGuest *__src; - undefined4 *puVar3; - THouse *house_1; - int i; - THouse *house; - bool bVar4; - char *Text; - - // try { // try from 08061299 to 080613e6 has its CatchHandler @ 080613f0 - pTVar1 = GetHouse(HouseID); - if (pTVar1 == (THouse *)0x0) { - error("ShowSubownerList: Haus mit ID %d existiert nicht.\n",(uint)HouseID); - } - else { - if (pl == (TPlayer *)0x0) { - Text = "ShowSubownerList: pl ist NULL.\n"; - } - else { - if (Buffer != (char *)0x0) { - pTVar2 = GetHouse(HouseID); - if (pTVar2 == (THouse *)0x0) { - error("IsOwner: Haus mit ID %d existiert nicht.\n",(uint)HouseID); - bVar4 = false; - } - else { - bVar4 = pTVar2->OwnerID == (pl->super_TCreature).ID; - } - if (bVar4) { - print(); - i = 0; - sprintf(Buffer,"# Subowners of %s\n",pTVar1->Name); - if (0 < pTVar1->Subowners) { - do { - __src = vector<>::operator()(&pTVar1->Subowner,i); - i = i + 1; - strcat(Buffer,__src->Name); - strcat(Buffer,"\n"); - } while (i < pTVar1->Subowners); - } - return; - } - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = 1; - goto LAB_0806137f; - } - Text = "ShowSubownerList: Buffer ist NULL.\n"; - } - error(Text); - } - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = 0xffffffff; -LAB_0806137f: - // WARNING: Subroutine does not return - __cxa_throw(puVar3,&RESULT::typeinfo,0); -} - - - -void ShowGuestList(ushort HouseID,TPlayer *pl,char *Buffer) - -{ - THouse *pTVar1; - THouse *pTVar2; - THouseGuest *__src; - undefined4 *puVar3; - THouse *house_1; - int i; - THouse *house; - bool bVar4; - char *Text; - - // try { // try from 08061429 to 080615b2 has its CatchHandler @ 080615b5 - pTVar1 = GetHouse(HouseID); - if (pTVar1 == (THouse *)0x0) { - error("ShowGuestList: Haus mit ID %d existiert nicht.\n",(uint)HouseID); - } - else { - if (pl == (TPlayer *)0x0) { - Text = "ShowGuestList: pl ist NULL.\n"; - } - else { - if (Buffer != (char *)0x0) { - pTVar2 = GetHouse(HouseID); - if (pTVar2 == (THouse *)0x0) { - error("IsOwner: Haus mit ID %d existiert nicht.\n",(uint)HouseID); - bVar4 = false; - } - else { - bVar4 = pTVar2->OwnerID == (pl->super_TCreature).ID; - } - if (((bVar4) || (bVar4 = IsSubowner(HouseID,pl,0x7fffffff), bVar4)) && - (bVar4 = CheckRight((pl->super_TCreature).ID,PREMIUM_ACCOUNT), bVar4)) { - print(); - i = 0; - sprintf(Buffer,"# Guests of %s\n",pTVar1->Name); - if (0 < pTVar1->Guests) { - do { - __src = vector<>::operator()(&pTVar1->Guest,i); - i = i + 1; - strcat(Buffer,__src->Name); - strcat(Buffer,"\n"); - } while (i < pTVar1->Guests); - } - return; - } - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = 1; - goto LAB_0806152d; - } - Text = "ShowGuestList: Buffer ist NULL.\n"; - } - error(Text); - } - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = 0xffffffff; -LAB_0806152d: - // WARNING: Subroutine does not return - __cxa_throw(puVar3,&RESULT::typeinfo,0); -} - - - -// WARNING: Variable defined which should be unmapped: house - -void ChangeSubowners(ushort HouseID,TPlayer *pl,char *Buffer) - -{ - char cVar1; - int l; - THouse *pTVar2; - THouse *pTVar3; - size_t sVar4; - char *pcVar5; - int iVar6; - THouseGuest *__dest; - undefined4 *puVar7; - THouse *house_1; - uint uVar8; - bool bVar9; - THouse *house; - - uVar8 = (uint)HouseID; - // try { // try from 080615ec to 08061790 has its CatchHandler @ 08061793 - pTVar2 = GetHouse(HouseID); - if (pTVar2 == (THouse *)0x0) { - error("ChangeSubowners: Haus mit ID %d existiert nicht.\n",uVar8); - } - else { - if (pl == (TPlayer *)0x0) { - pcVar5 = "ChangeSubowners: pl ist NULL.\n"; - } - else { - if (Buffer != (char *)0x0) { - pTVar3 = GetHouse(HouseID); - if (pTVar3 == (THouse *)0x0) { - error("IsOwner: Haus mit ID %d existiert nicht.\n",uVar8); - bVar9 = false; - } - else { - bVar9 = pTVar3->OwnerID == (pl->super_TCreature).ID; - } - if (bVar9) { - Log("houses",&DAT_080f3120,(pl->super_TCreature).Name,uVar8); - sVar4 = strlen(Buffer); - Buffer[sVar4] = '\n'; - Buffer[sVar4 + 1] = '\0'; - pTVar2->Subowners = 0; - cVar1 = *Buffer; - do { - if (cVar1 == '\0') { -LAB_080616f4: - KickGuests(HouseID); - return; - } - pcVar5 = strchr(Buffer,10); - if (pcVar5 == (char *)0x0) { - error("ChangeSubowners: Kein Newline am Textende.\n"); - goto LAB_080616f4; - } - if ((*Buffer != '#') && (Buffer != pcVar5)) { - iVar6 = (int)pcVar5 - (int)Buffer; - if (0x3b < iVar6) { - iVar6 = 0x3b; - } - Buffer[iVar6] = '\0'; - __dest = vector<>::operator()(&pTVar2->Subowner,pTVar2->Subowners); - strcpy(__dest->Name,Buffer); - iVar6 = pTVar2->Subowners + 1; - pTVar2->Subowners = iVar6; - if (9 < iVar6) goto LAB_080616f4; - } - cVar1 = pcVar5[1]; - Buffer = pcVar5 + 1; - } while( true ); - } - puVar7 = (undefined4 *)__cxa_allocate_exception(4); - *puVar7 = 1; - goto LAB_08061729; - } - pcVar5 = "ChangeSubowners: Buffer ist NULL.\n"; - } - error(pcVar5); - } - puVar7 = (undefined4 *)__cxa_allocate_exception(4); - *puVar7 = 0xffffffff; -LAB_08061729: - // WARNING: Subroutine does not return - __cxa_throw(puVar7,&RESULT::typeinfo,0); -} - - - -// WARNING: Variable defined which should be unmapped: house - -void ChangeGuests(ushort HouseID,TPlayer *pl,char *Buffer) - -{ - char cVar1; - int l; - THouse *pTVar2; - THouse *pTVar3; - size_t sVar4; - char *pcVar5; - int iVar6; - THouseGuest *__dest; - undefined4 *puVar7; - THouse *house_1; - uint uVar8; - bool bVar9; - THouse *house; - - uVar8 = (uint)HouseID; - // try { // try from 080617cc to 080619af has its CatchHandler @ 080619b2 - pTVar2 = GetHouse(HouseID); - if (pTVar2 == (THouse *)0x0) { - error("ChangeGuests: Haus mit ID %d existiert nicht.\n",uVar8); - } - else { - if (pl == (TPlayer *)0x0) { - pcVar5 = "ChangeGuests: pl ist NULL.\n"; - } - else { - if (Buffer != (char *)0x0) { - pTVar3 = GetHouse(HouseID); - if (pTVar3 == (THouse *)0x0) { - error("IsOwner: Haus mit ID %d existiert nicht.\n",uVar8); - bVar9 = false; - } - else { - bVar9 = pTVar3->OwnerID == (pl->super_TCreature).ID; - } - if (((bVar9) || (bVar9 = IsSubowner(HouseID,pl,0x7fffffff), bVar9)) && - (bVar9 = CheckRight((pl->super_TCreature).ID,PREMIUM_ACCOUNT), bVar9)) { - Log("houses",&DAT_080f3240,(pl->super_TCreature).Name,uVar8); - sVar4 = strlen(Buffer); - Buffer[sVar4] = '\n'; - Buffer[sVar4 + 1] = '\0'; - pTVar2->Guests = 0; - cVar1 = *Buffer; - do { - if (cVar1 == '\0') { -LAB_080618f2: - KickGuests(HouseID); - return; - } - pcVar5 = strchr(Buffer,10); - if (pcVar5 == (char *)0x0) { - error("ChangeGuests: Kein Newline am Textende.\n"); - goto LAB_080618f2; - } - if ((*Buffer != '#') && (Buffer != pcVar5)) { - iVar6 = (int)pcVar5 - (int)Buffer; - if (0x3b < iVar6) { - iVar6 = 0x3b; - } - Buffer[iVar6] = '\0'; - __dest = vector<>::operator()(&pTVar2->Guest,pTVar2->Guests); - strcpy(__dest->Name,Buffer); - iVar6 = pTVar2->Guests + 1; - pTVar2->Guests = iVar6; - if (99 < iVar6) goto LAB_080618f2; - } - cVar1 = pcVar5[1]; - Buffer = pcVar5 + 1; - } while( true ); - } - puVar7 = (undefined4 *)__cxa_allocate_exception(4); - *puVar7 = 1; - goto LAB_08061927; - } - pcVar5 = "ChangeGuests: Buffer ist NULL.\n"; - } - error(pcVar5); - } - puVar7 = (undefined4 *)__cxa_allocate_exception(4); - *puVar7 = 0xffffffff; -LAB_08061927: - // WARNING: Subroutine does not return - __cxa_throw(puVar7,&RESULT::typeinfo,0); -} - - - -// WARNING: Variable defined which should be unmapped: z_local - -void GetExitPosition(ushort HouseID,int *x,int *y,int *z) - -{ - THouse *pTVar1; - THouse *house; - int *z_local; - - pTVar1 = GetHouse(HouseID); - if (pTVar1 != (THouse *)0x0) { - *x = pTVar1->ExitX; - *y = pTVar1->ExitY; - *z = pTVar1->ExitZ; - return; - } - error("GetExitPosition: Haus mit ID %d existiert nicht.\n"); - return; -} - - - -void KickGuest(ushort HouseID,TPlayer *Guest) - -{ - ulong uVar1; - bool bVar2; - bool bVar3; - RESULT r; - THouse *pTVar4; - ulong uVar5; - undefined4 *puVar6; - THouse *house; - Object local_6c [4]; - Object local_5c [4]; - Object local_4c [4]; - Object local_3c; - Object Bed; - Object Obj; - - // try { // try from 08061a5c to 08061bbc has its CatchHandler @ 08061cc7 - pTVar4 = GetHouse(HouseID); - if (pTVar4 == (THouse *)0x0) { - error("KickGuest(houses 1): Haus mit ID %d existiert nicht.\n",(uint)HouseID); - } - else { - if (Guest != (TPlayer *)0x0) { - uVar1 = (Guest->super_TCreature).CrObject.ObjectID; - local_3c.ObjectID = uVar1; - GraphicalEffect(&local_3c,3); - GetFirstObject(); - while( true ) { - bVar2 = false; - local_4c[0].ObjectID = NONE.ObjectID; - local_5c[0].ObjectID = NONE.ObjectID; - if (local_3c.ObjectID != NONE.ObjectID) { - Object::getObjectType(local_5c); - bVar3 = ObjectType::getFlag((ObjectType *)local_5c,BED); - if (!bVar3) { - bVar2 = true; - } - } - if (!bVar2) break; - Object::getNextObject(local_4c); - local_3c.ObjectID = local_4c[0].ObjectID; - } - bVar2 = false; - local_5c[0].ObjectID = NONE.ObjectID; - local_4c[0].ObjectID = NONE.ObjectID; - if (local_3c.ObjectID != NONE.ObjectID) { - // try { // try from 08061bf0 to 08061c81 has its CatchHandler @ 08061cc7 - uVar5 = Object::getAttribute(&local_3c,TEXTSTRING); - if (uVar5 != 0) { - bVar2 = true; - } - } - if (bVar2) { - print(); - local_4c[0].ObjectID = local_3c.ObjectID; - local_6c[0].ObjectID = local_3c.ObjectID; - // try { // try from 08061bdb to 08061bdf has its CatchHandler @ 08061c84 - UseObjects(0,local_6c,local_4c); - } - local_6c[0].ObjectID = NONE.ObjectID; - GetMapContainer((int)local_5c,pTVar4->ExitX,pTVar4->ExitY); - local_4c[0].ObjectID = uVar1; - Move(0,local_4c,local_5c,-1,false,local_6c); - local_6c[0].ObjectID = uVar1; - GraphicalEffect(local_6c,0xb); - return; - } - error("KickGuest(houses 1): Guest ist NULL.\n"); - } - puVar6 = (undefined4 *)__cxa_allocate_exception(4); - *puVar6 = 0xffffffff; - // WARNING: Subroutine does not return - __cxa_throw(puVar6,&RESULT::typeinfo,0); -} - - - -// WARNING: Variable defined which should be unmapped: SelfKick - -void KickGuest(ushort HouseID,TPlayer *Host,TPlayer *Guest) - -{ - ushort uVar1; - THouse *house; - THouse *pTVar2; - undefined4 *puVar3; - THouse *house_1; - uint uVar4; - bool bVar5; - bool bVar6; - char *Text; - bool SelfKick; - - uVar4 = (uint)HouseID; - // try { // try from 08061cfc to 08061eaa has its CatchHandler @ 08061eb0 - pTVar2 = GetHouse(HouseID); - if (pTVar2 == (THouse *)0x0) { - error("KickGuest(houses 2): Haus mit ID %d existiert nicht.\n",uVar4); - } - else { - if (Host == (TPlayer *)0x0) { - Text = "KickGuest(houses 2): Host ist NULL.\n"; - } - else { - if (Guest != (TPlayer *)0x0) { - bVar5 = Host == Guest; - uVar1 = GetHouseID((Guest->super_TCreature).posx,(Guest->super_TCreature).posy, - (Guest->super_TCreature).posz); - if (uVar1 == HouseID) { - pTVar2 = GetHouse(HouseID); - if (pTVar2 == (THouse *)0x0) { - error("IsOwner: Haus mit ID %d existiert nicht.\n",uVar4); - bVar6 = false; - } - else { - bVar6 = pTVar2->OwnerID == (Host->super_TCreature).ID; - } - if ((((bVar6) || (bVar6 = IsSubowner(HouseID,Host,0x7fffffff), bVar6)) || - (bVar5)) && - ((bVar6 = CheckRight((Guest->super_TCreature).ID,ENTER_HOUSES), !bVar6 || - (bVar5)))) { - pTVar2 = GetHouse(HouseID); - if (pTVar2 == (THouse *)0x0) { - error("IsOwner: Haus mit ID %d existiert nicht.\n",uVar4); -LAB_08061e13: - bVar6 = false; - } - else { - if (Guest == (TPlayer *)0x0) { - error("IsOwner: pl ist NULL.\n"); - goto LAB_08061e13; - } - bVar6 = pTVar2->OwnerID == (Guest->super_TCreature).ID; - } - if ((!bVar6) || (bVar5)) { - KickGuest(HouseID,Guest); - return; - } - } - } - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = 1; - goto LAB_08061def; - } - Text = "KickGuest(houses 2): Guest ist NULL.\n"; - } - error(Text); - } - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = 0xffffffff; -LAB_08061def: - // WARNING: Subroutine does not return - __cxa_throw(puVar3,&RESULT::typeinfo,0); -} - - - -void KickGuests(ushort HouseID) - -{ - bool bVar1; - ushort uVar2; - THouse *pTVar3; - ulong CharacterID; - TPlayer *pl; - undefined4 *puVar4; - THouse *house; - ulong ID; - TPlayer *Guest; - undefined1 local_4c [4]; - TFindCreatures Search; - - // try { // try from 08061ee6 to 08061ff6 has its CatchHandler @ 08061ff7 - pTVar3 = GetHouse(HouseID); - if (pTVar3 != (THouse *)0x0) { - TFindCreatures::TFindCreatures - ((TFindCreatures *)local_4c,MaxHouseX,MaxHouseY,pTVar3->CenterX,pTVar3->CenterY,1) - ; - while( true ) { - CharacterID = TFindCreatures::getNext((TFindCreatures *)local_4c); - if (CharacterID == 0) break; - pl = GetPlayer(CharacterID); - uVar2 = GetHouseID((pl->super_TCreature).posx,(pl->super_TCreature).posy, - (pl->super_TCreature).posz); - if (uVar2 == HouseID) { - bVar1 = IsInvited(HouseID,pl,0x7fffffff); - if (!bVar1) { - bVar1 = CheckRight(CharacterID,ENTER_HOUSES); - if (!bVar1) { - KickGuest(HouseID,pl); - } - } - } - } - return; - } - error("KickGuests: Haus mit ID %d existiert nicht.\n",(uint)HouseID); - puVar4 = (undefined4 *)__cxa_allocate_exception(4); - *puVar4 = 0xffffffff; - // WARNING: Subroutine does not return - __cxa_throw(puVar4,&RESULT::typeinfo,0); -} - - - -bool MayOpenDoor(Object *Door,TPlayer *pl) - -{ - char cVar1; - int iVar2; - bool bVar3; - ulong Number; - size_t sVar4; - char *pcVar5; - int iVar6; - char *Text; - undefined4 local_50; - char *pcVar7; - char acStack_44 [20]; - undefined1 *local_30; - Object local_2c [7]; - - local_30 = &stack0xffffffb4; - local_50 = 0x806202d; - bVar3 = Object::exists(Door); - if (bVar3) { - if (pl == (TPlayer *)0x0) { - pcVar7 = "MayOpenDoor: pl ist NULL.\n"; - } - else { - local_50 = 0x806204f; - Object::getObjectType(local_2c); - local_50 = 0x8062062; - bVar3 = ObjectType::getFlag((ObjectType *)local_2c,NAMEDOOR); - if (bVar3) { - local_50 = 0x8062072; - Object::getObjectType(local_2c); - local_50 = 0x8062085; - bVar3 = ObjectType::getFlag((ObjectType *)local_2c,TEXT); - if (bVar3) { - local_50 = 0x80620b4; - Number = Object::getAttribute(Door,TEXTSTRING); - local_50 = 0x80620bc; - pcVar7 = GetDynamicString(Number); - if (pcVar7 == (char *)0x0) { - return false; - } - local_50 = 0x80620cc; - sVar4 = strlen(pcVar7); - iVar2 = -(sVar4 + 0x11 & 0xfffffff0); - *(char **)((int)local_2c + iVar2 + -0x1c) = pcVar7; - pcVar7 = acStack_44 + iVar2; - *(char **)((int)local_2c + iVar2 + -0x20) = pcVar7; - *(undefined4 *)((int)&local_50 + iVar2) = 0x80620e6; - strcpy(*(char **)((int)local_2c + iVar2 + -0x20), - *(char **)((int)local_2c + iVar2 + -0x1c)); - acStack_44[sVar4 + iVar2] = '\n'; - acStack_44[sVar4 + iVar2 + 1] = '\0'; - cVar1 = acStack_44[iVar2]; - do { - if (cVar1 == '\0') { - return false; - } - *(undefined4 *)((int)local_2c + iVar2 + -0x1c) = 10; - *(char **)((int)local_2c + iVar2 + -0x20) = pcVar7; - *(undefined4 *)((int)&local_50 + iVar2) = 0x8062110; - pcVar5 = strchr(*(char **)((int)local_2c + iVar2 + -0x20), - *(int *)((int)local_2c + iVar2 + -0x1c)); - if (pcVar5 == (char *)0x0) { - *(char **)((int)local_2c + iVar2 + -0x20) = - "MayOpenDoor: Kein Newline am Textende.\n"; - *(undefined4 *)((int)&local_50 + iVar2) = 0x806215d; - error(*(char **)((int)local_2c + iVar2 + -0x20)); - return false; - } - if ((*pcVar7 != '#') && (pcVar7 != pcVar5)) { - *pcVar5 = '\0'; - *(char **)((int)local_2c + iVar2 + -0x20) = pcVar7; - *(TPlayer **)((int)local_2c + iVar2 + -0x1c) = pl; - *(undefined4 *)((int)&local_50 + iVar2) = 0x8062131; - iVar6 = CheckAccessRight(*(char **)((int)local_2c + iVar2 + -0x20), - *(TPlayer **)((int)local_2c + iVar2 + -0x1c)); - if (iVar6 == -1) { - return false; - } - if (iVar6 == 1) { - return true; - } - } - cVar1 = pcVar5[1]; - pcVar7 = pcVar5 + 1; - } while( true ); - } - } - pcVar7 = &DAT_080f3580; - } - } - else { - pcVar7 = &DAT_080f3600; - } - local_50 = 0x8062095; - error(pcVar7); - return false; -} - - - -void ShowNameDoor(Object *Door,TPlayer *pl,char *Buffer) - -{ - bool bVar1; - ushort ID; - char *Text; - THouse *pTVar2; - ulong Number; - char *pcVar3; - undefined4 *puVar4; - THouse *house; - ushort HouseID; - uint uVar5; - char *pcVar6; - int local_38; - int x; - int y; - int z; - - // try { // try from 08062198 to 080623b3 has its CatchHandler @ 080623d0 - bVar1 = Object::exists(Door); - if (bVar1) { - if (pl == (TPlayer *)0x0) { - pcVar3 = "ShowNameDoor: pl ist NULL.\n"; - goto LAB_080623af; - } - if (Buffer == (char *)0x0) { - pcVar3 = "ShowNameDoor: Buffer ist NULL.\n"; - goto LAB_080623af; - } - z = Door->ObjectID; - GetObjectCoordinates((Object *)&z,&local_38,&x,&y); - ID = GetHouseID(local_38,x,y); - uVar5 = (uint)ID; - if (ID == 0) { - pcVar3 = &DAT_080f36e0; - } - else { - pTVar2 = GetHouse(ID); - if (pTVar2 == (THouse *)0x0) { - error("IsOwner: Haus mit ID %d existiert nicht.\n",uVar5); - bVar1 = false; - } - else { - bVar1 = pTVar2->OwnerID == (pl->super_TCreature).ID; - } - if (!bVar1) { - pcVar3 = (pl->super_TCreature).Name; - pcVar6 = "Spieler %s ist nicht Mieter des Hauses %d.\n"; - print(); - puVar4 = (undefined4 *)__cxa_allocate_exception(4,pcVar6,pcVar3,uVar5); - *puVar4 = 1; - goto LAB_0806231d; - } - print(); - Object::getObjectType((Object *)&z); - bVar1 = ObjectType::getFlag((ObjectType *)&z,TEXT); - if (bVar1) { - Number = Object::getAttribute(Door,TEXTSTRING); - pcVar3 = GetDynamicString(Number); - if (pcVar3 == (char *)0x0) { - Buffer[0] = '#'; - Buffer[1] = ' '; - Buffer[2] = 'P'; - Buffer[3] = 'l'; - Buffer[4] = 'a'; - Buffer[5] = 'y'; - Buffer[6] = 'e'; - Buffer[7] = 'r'; - Buffer[8] = 's'; - Buffer[9] = ' '; - Buffer[10] = 'a'; - Buffer[0xb] = 'l'; - Buffer[0xc] = 'l'; - Buffer[0xd] = 'o'; - Buffer[0xe] = 'w'; - Buffer[0xf] = 'e'; - Buffer[0x10] = 'd'; - Buffer[0x11] = ' '; - Buffer[0x12] = 't'; - Buffer[0x13] = 'o'; - Buffer[0x14] = ' '; - Buffer[0x15] = 'o'; - Buffer[0x16] = 'p'; - Buffer[0x17] = 'e'; - Buffer[0x18] = 'n'; - Buffer[0x19] = ' '; - Buffer[0x1a] = 't'; - Buffer[0x1b] = 'h'; - Buffer[0x1c] = 'i'; - Buffer[0x1d] = 's'; - Buffer[0x1e] = ' '; - Buffer[0x1f] = 'd'; - *(uchar **)(Buffer + 0x20) = CommunicationThreadStacks + 0xa750f; - Buffer[0x24] = '\0'; - } - else { - strcpy(Buffer,pcVar3); - } - return; - } - pcVar3 = &DAT_080f3640; - } - error(pcVar3,local_38,x,y); - } - else { - pcVar3 = &DAT_080f3760; -LAB_080623af: - error(pcVar3); - } - puVar4 = (undefined4 *)__cxa_allocate_exception(4); - *puVar4 = 0xffffffff; -LAB_0806231d: - // WARNING: Subroutine does not return - __cxa_throw(puVar4,&RESULT::typeinfo,0); -} - - - -void ChangeNameDoor(Object *Door,TPlayer *pl,char *Buffer) - -{ - bool bVar1; - ushort ID; - THouse *pTVar2; - ulong uVar3; - undefined4 *puVar4; - THouse *house; - ushort HouseID; - char *pcVar5; - int local_38; - int x; - int y; - int z; - - // try { // try from 08062408 to 080625ed has its CatchHandler @ 08062605 - bVar1 = Object::exists(Door); - if (bVar1) { - if (pl == (TPlayer *)0x0) { - pcVar5 = "ChangeNameDoor: pl ist NULL.\n"; - goto LAB_080625e9; - } - if (Buffer == (char *)0x0) { - pcVar5 = "ChangeNameDoor: Buffer ist NULL.\n"; - goto LAB_080625e9; - } - z = Door->ObjectID; - GetObjectCoordinates((Object *)&z,&local_38,&x,&y); - ID = GetHouseID(local_38,x,y); - if (ID == 0) { - pcVar5 = &DAT_080f3840; - } - else { - pTVar2 = GetHouse(ID); - if (pTVar2 == (THouse *)0x0) { - error("IsOwner: Haus mit ID %d existiert nicht.\n",(uint)ID); - bVar1 = false; - } - else { - bVar1 = pTVar2->OwnerID == (pl->super_TCreature).ID; - } - if (!bVar1) { - puVar4 = (undefined4 *)__cxa_allocate_exception(4); - *puVar4 = 1; - goto LAB_08062581; - } - Object::getObjectType((Object *)&z); - bVar1 = ObjectType::getFlag((ObjectType *)&z,TEXT); - if (bVar1) { - Log("houses",&DAT_080f37a0,(pl->super_TCreature).Name,(uint)ID,local_38,x,y); - uVar3 = Object::getAttribute(Door,TEXTSTRING); - DeleteDynamicString(uVar3); - z = Door->ObjectID; - uVar3 = AddDynamicString(Buffer); - Change((Object *)&z,TEXTSTRING,uVar3); - return; - } - pcVar5 = &DAT_080f37e0; - } - error(pcVar5,local_38,x,y); - } - else { - pcVar5 = &DAT_080f38e0; -LAB_080625e9: - error(pcVar5); - } - puVar4 = (undefined4 *)__cxa_allocate_exception(4); - *puVar4 = 0xffffffff; -LAB_08062581: - // WARNING: Subroutine does not return - __cxa_throw(puVar4,&RESULT::typeinfo,0); -} - - - -int DeleteCoins(Object *Con,ObjectType *Type,int Amount) - -{ - bool bVar1; - ulong uVar2; - Object local_5c [4]; - Object local_4c [4]; - ObjectType local_3c [4]; - Object local_2c; - Object Obj; - - do { - if (Amount == 0) { - return 0; - } - local_3c[0].TypeID = Con->ObjectID; - GetFirstContainerObject(&local_2c); - if (local_2c.ObjectID == NONE.ObjectID) { - return Amount; - } - while( true ) { - local_4c[0].ObjectID = NONE.ObjectID; - local_3c[0].TypeID = NONE.ObjectID; - Object::getObjectType(local_4c); - ObjectType::setTypeID(local_3c,Type->TypeID); - if (local_4c[0].ObjectID == local_3c[0].TypeID) break; - Object::getObjectType(local_5c); - bVar1 = ObjectType::getFlag((ObjectType *)local_5c,CONTAINER); - if (bVar1) { - ObjectType::setTypeID((ObjectType *)local_5c,Type->TypeID); - local_4c[0].ObjectID = local_2c.ObjectID; - Amount = DeleteCoins(local_4c,(ObjectType *)local_5c,Amount); - if (Amount == 0) { - return 0; - } - } - Object::getNextObject(local_4c); - local_5c[0].ObjectID = local_4c[0].ObjectID; - local_2c.ObjectID = local_5c[0].ObjectID; - if (local_4c[0].ObjectID == NONE.ObjectID) { - return Amount; - } - } - uVar2 = Object::getAttribute(&local_2c,AMOUNT); - if (Amount < (int)uVar2) { - local_5c[0].ObjectID = local_2c.ObjectID; - uVar2 = Object::getAttribute(&local_2c,AMOUNT); - Change(local_5c,AMOUNT,uVar2 - Amount); - return 0; - } - uVar2 = Object::getAttribute(&local_2c,AMOUNT); - Amount = Amount - uVar2; - local_5c[0].ObjectID = local_2c.ObjectID; - DeleteObject(local_5c); - } while( true ); -} - - - -void DeleteMoney(Object *Con,int Amount) - -{ - int local_58; - int Gold; - int Platinum; - int Crystal; - Object local_3c [4]; - ObjectType local_2c [7]; - - GetSpecialObject((SPECIALMEANING)local_2c); - Crystal = Con->ObjectID; - GetFirstContainerObject(local_3c); - Platinum = CountObjects(local_3c,local_2c,0); - GetSpecialObject((SPECIALMEANING)&Crystal); - local_2c[0].TypeID = Con->ObjectID; - GetFirstContainerObject(local_3c); - Gold = CountObjects(local_3c,(ObjectType *)&Crystal,0); - GetSpecialObject((SPECIALMEANING)&Crystal); - local_2c[0].TypeID = Con->ObjectID; - GetFirstContainerObject(local_3c); - local_58 = CountObjects(local_3c,(ObjectType *)&Crystal,0); - CalculateChange(Amount,&local_58,&Gold,&Platinum); - if (0 < local_58) { - GetSpecialObject((SPECIALMEANING)&Crystal); - local_3c[0] = (Object)Con->ObjectID; - DeleteCoins(local_3c,(ObjectType *)&Crystal,local_58); - } - if (local_58 < 0) { - GetSpecialObject((SPECIALMEANING)local_3c); - local_2c[0].TypeID = Con->ObjectID; - SetObject((Object *)&Crystal,local_2c,(ulong)local_3c); - ChangeObject((Object *)&Crystal,AMOUNT,-local_58); - } - if (0 < Gold) { - GetSpecialObject((SPECIALMEANING)&Crystal); - local_3c[0] = (Object)Con->ObjectID; - DeleteCoins(local_3c,(ObjectType *)&Crystal,Gold); - } - if (Gold < 0) { - GetSpecialObject((SPECIALMEANING)local_3c); - local_2c[0].TypeID = Con->ObjectID; - SetObject((Object *)&Crystal,local_2c,(ulong)local_3c); - ChangeObject((Object *)&Crystal,AMOUNT,-Gold); - } - if (0 < Platinum) { - GetSpecialObject((SPECIALMEANING)&Crystal); - local_3c[0] = (Object)Con->ObjectID; - DeleteCoins(local_3c,(ObjectType *)&Crystal,Platinum); - } - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void CleanField(void) - -{ - bool bVar1; - ulong uVar2; - ulong *in_stack_00000010; - Object local_6c; - Object Help; - Object local_5c; - Object Content; - Object local_4c; - Object Help_1; - Object local_3c [4]; - Object local_2c; - Object Obj; - - local_2c.ObjectID = NONE.ObjectID; - if (*in_stack_00000010 == NONE.ObjectID) { - error("CleanField: Depot-Box existiert nicht.\n"); - } - else { - GetFirstObject(); - if (local_2c.ObjectID != NONE.ObjectID) { - do { - local_4c.ObjectID = NONE.ObjectID; - local_3c[0].ObjectID = NONE.ObjectID; - Object::getObjectType(&local_4c); - bVar1 = ObjectType::getFlag((ObjectType *)&local_4c,NAMEDOOR); - if (bVar1) { - uVar2 = Object::getAttribute(&local_2c,TEXTSTRING); - DeleteDynamicString(uVar2); - local_4c.ObjectID = local_2c.ObjectID; - Change(&local_4c,TEXTSTRING,0); - uVar2 = Object::getAttribute(&local_2c,EDITOR); - DeleteDynamicString(uVar2); - local_4c.ObjectID = local_2c.ObjectID; - Change(&local_4c,EDITOR,0); - } - Object::getObjectType(&local_4c); - bVar1 = ObjectType::getFlag((ObjectType *)&local_4c,UNMOVE); - if (bVar1) { -LAB_08062ae1: - Object::getObjectType(&local_5c); - bVar1 = ObjectType::getFlag((ObjectType *)&local_5c,CONTAINER); - if (bVar1) { - local_4c.ObjectID = local_2c.ObjectID; - GetFirstContainerObject(&local_5c); - local_4c = (Object)NONE.ObjectID; - local_3c[0].ObjectID = local_4c.ObjectID; - if (local_5c.ObjectID != NONE.ObjectID) { - do { - local_4c.ObjectID = local_5c.ObjectID; - local_3c[0].ObjectID = NONE.ObjectID; - Object::getNextObject(&local_6c); - local_5c.ObjectID = local_6c.ObjectID; - local_6c.ObjectID = *in_stack_00000010; - local_3c[0].ObjectID = local_4c.ObjectID; - MoveObject(local_3c,&local_6c); - local_4c = (Object)NONE.ObjectID; - local_3c[0].ObjectID = local_4c.ObjectID; - } while (local_5c.ObjectID != NONE.ObjectID); - } - } - Object::getObjectType(&local_6c); - bVar1 = ObjectType::getFlag((ObjectType *)&local_6c,UNMOVE); - if (bVar1) { - Object::getNextObject(&local_5c); - local_6c.ObjectID = local_5c.ObjectID; - local_2c.ObjectID = local_6c.ObjectID; - } - else { - local_6c.ObjectID = local_2c.ObjectID; - Object::getNextObject(&local_4c); - local_2c.ObjectID = local_4c.ObjectID; - local_5c.ObjectID = local_6c.ObjectID; - DeleteObject(&local_5c); - } - } - else { - Object::getObjectType(&local_4c); - bVar1 = ObjectType::getFlag((ObjectType *)&local_4c,TAKE); - if (!bVar1) goto LAB_08062ae1; - local_4c.ObjectID = local_2c.ObjectID; - Object::getNextObject(&local_5c); - local_2c.ObjectID = local_5c.ObjectID; - local_5c.ObjectID = *in_stack_00000010; - local_3c[0].ObjectID = local_4c.ObjectID; - MoveObject(local_3c,&local_5c); - } - } while (local_2c.ObjectID != NONE.ObjectID); - } - } - return; -} - - - -void CleanHouse(THouse *house,TPlayerData *PlayerData) - -{ - int x_00; - bool bVar1; - ushort uVar2; - int iVar3; - int iVar4; - int y_1; - int y_00; - int x_1; - int x_01; - bool bVar5; - char *Text; - int local_70; - int local_68; - int local_60; - int z_1; - int iStack_58; - bool PlayerDataAssigned; - int x; - int y; - int z; - undefined1 local_3c [16]; - Object local_2c; - Object Box; - - if (house == (THouse *)0x0) { - Text = "CleanHouse: house ist NULL.\n"; - } - else { - if (house->OwnerID == 0) { - error("CleanHouse: Haus %d hat keinen Besitzer.\n",(uint)house->ID); - return; - } - bVar5 = PlayerData != (TPlayerData *)0x0; - if ((bVar5) || - (PlayerData = AssignPlayerPoolSlot(house->OwnerID,false), - PlayerData != (TPlayerData *)0x0)) { - GetStartPosition(&stack0xffffffa8,&x,&y,true); - GetSpecialObject((SPECIALMEANING)local_3c); - GetMapContainer((int)&z,iStack_58,x); - SetObject(&local_2c,(ObjectType *)&z,(ulong)local_3c); - z = local_2c.ObjectID; - LoadDepot(PlayerData,house->DepotNr,(Object *)&z); - local_60 = 0; - local_68 = house->CenterX; - local_70 = MaxHouseX; - do { - x_01 = (local_68 - local_70) + -1; - if (x_01 <= local_68 + local_70) { - iVar3 = house->CenterY; - iVar4 = MaxHouseY; - do { - y_00 = (iVar3 - iVar4) + -1; - x_00 = x_01 + 1; - if (y_00 <= iVar4 + iVar3) { - do { - uVar2 = GetHouseID(x_01,y_00,local_60); - if (uVar2 == house->ID) { -LAB_08062f90: - z = local_2c.ObjectID; - CleanField(); - } - else { - bVar1 = CoordinateFlag(); - if (bVar1) { - iVar3 = y_00 + 1; - uVar2 = GetHouseID(x_01 + -1,iVar3,local_60); - if (((uVar2 == house->ID) || - (uVar2 = GetHouseID(x_01,iVar3,local_60), - uVar2 == house->ID)) || - (uVar2 = GetHouseID(x_00,iVar3,local_60), - uVar2 == house->ID)) goto LAB_08062f90; - } - bVar1 = CoordinateFlag(); - if ((bVar1) && - (((uVar2 = GetHouseID(x_00,y_00 + -1,local_60), - uVar2 == house->ID || - (uVar2 = GetHouseID(x_00,y_00,local_60), uVar2 == house->ID - )) || (uVar2 = GetHouseID(x_00,y_00 + 1,local_60), - uVar2 == house->ID)))) goto LAB_08062f90; - } - y_00 = y_00 + 1; - iVar3 = house->CenterY; - } while (y_00 <= MaxHouseY + iVar3); - local_68 = house->CenterX; - local_70 = MaxHouseX; - iVar4 = MaxHouseY; - } - x_01 = x_00; - } while (x_00 <= local_68 + local_70); - } - local_60 = local_60 + 1; - if (0xf < local_60) { - z = local_2c.ObjectID; - SaveDepot(PlayerData,house->DepotNr,(Object *)&z); - z = local_2c.ObjectID; - DeleteObject((Object *)&z); - if (bVar5) { - return; - } - ReleasePlayerPoolSlot(PlayerData); - return; - } - } while( true ); - } - Text = &DAT_080f3960; - } - error(Text); - return; -} - - - -void ClearHouse(THouse *house) - -{ - house->OwnerID = 0; - house->OwnerName[0] = '\0'; - house->Subowners = 0; - house->Guests = 0; - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void FinishAuctions(void) - -{ - ushort uVar1; - int iVar2; - int_0_ *piVar3; - TPlayerData *pTVar4; - time_t tVar5; - ulong_0_ *puVar6; - int iVar7; - THouse *pTVar8; - int iVar9; - ulong uVar10; - uint uVar11; - int iVar12; - char_0__30_ *CharacterNames; - undefined4 local_310; - int aiStack_2fc [2]; - int_0_ aiStack_2f4 [8]; - int_0_ *local_2ec; - TPlayerData *local_2e8; - TPlayerData *PlayerData; - THouse *house; - int i; - time_t TimeStamp; - int_0_ *Bids; - ulong_0_ *CharacterIDs; - ushort_0_ *HouseIDs; - int NumberOfAuctions; - int x; - int y; - int z; - ulong local_2ac [4]; - undefined1 local_29c [4]; - char Welcome [500]; - ulong local_9c [4]; - undefined1 local_8c [4]; - char HelpWorld [60]; - ObjectType local_4c [4]; - ulong local_3c [4]; - Object local_2c; - Object Con; - - // try { // try from 080630d9 to 08063742 has its CatchHandler @ 08063748 - local_310 = 0x80630de; - GetStartPosition(&NumberOfAuctions,&x,&y,true); - local_310 = 0x80630f4; - GetSpecialObject((SPECIALMEANING)local_3c); - local_310 = 0x8063120; - GetMapContainer((int)local_4c,NumberOfAuctions,x); - local_310 = 0x806313e; - SetObject(&local_2c,local_4c,(ulong)local_3c); - local_310 = 0x8063155; - Log("houses","Bearbeite beendete Auktionen...\n"); - HouseIDs = (ushort_0_ *)Houses; - iVar12 = Houses + -1; - iVar2 = -(Houses + 0x10 + iVar12 & 0xfffffff0U); - uVar11 = iVar12 * 4 + 0x13U & 0xfffffff0; - CharacterIDs = aiStack_2f4 + iVar2; - Bids = aiStack_2f4 + -uVar11 + iVar2; - iVar12 = -(iVar12 * 0x1e + 0x2dU & 0xfffffff0); - TimeStamp = (time_t)(aiStack_2f4 + iVar12 + uVar11 * -2 + iVar2); - *(int_0_ **)((int)aiStack_2fc + iVar12 + uVar11 * -2 + iVar2 + 4) = - aiStack_2f4 + iVar12 + uVar11 * -2 + iVar2; - *(int_0_ **)((int)aiStack_2fc + iVar12 + uVar11 * -2 + iVar2) = - aiStack_2f4 + iVar12 + -uVar11 + iVar2; - *(int_0_ **)(&stack0xfffffd00 + iVar12 + uVar11 * -2 + iVar2) = Bids; - puVar6 = CharacterIDs; - *(ushort_0_ ***)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = &HouseIDs; - *(ulong_0_ **)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2) = puVar6; - *(TQueryManagerConnection **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - QueryManagerConnection; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80631de; - iVar7 = TQueryManagerConnection::finishAuctions - (*(TQueryManagerConnection **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(int **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2), - *(ushort **)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2), - *(ulong **)(&stack0xfffffd00 + iVar12 + uVar11 * -2 + iVar2), - *(char (**) [30])((int)aiStack_2fc + iVar12 + uVar11 * -2 + iVar2), - *(int **)((int)aiStack_2fc + iVar12 + uVar11 * -2 + iVar2 + 4)); - if (iVar7 == 0) { - *(char **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = WorldName; - *(undefined1 **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = local_8c; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x8063224; - AddSlashes(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(char **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2)); - *(undefined4 *)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = 0; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x8063230; - i = time(*(time_t **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - house = (THouse *)0x0; - if (0 < (int)HouseIDs) { - local_2ec = aiStack_2f4 + iVar12 + -uVar11 + iVar2; - do { - tVar5 = TimeStamp; - pTVar8 = house; - *(undefined4 *)((int)aiStack_2fc + iVar12 + uVar11 * -2 + iVar2) = - *(undefined4 *)(TimeStamp + (int)house * 4); - *(int_0_ **)(&stack0xfffffd00 + iVar12 + uVar11 * -2 + iVar2) = local_2ec; - uVar1 = *(ushort *)(CharacterIDs + (int)pTVar8 * 2); - *(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = "houses"; - *(undefined **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = &DAT_080f3a60; - *(uint *)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2) = (uint)uVar1; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x8063291; - Log(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(char **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2)); - pTVar8 = house; - *(undefined4 *)((int)aiStack_2fc + iVar12 + uVar11 * -2 + iVar2 + 4) = - *(undefined4 *)(tVar5 + (int)house * 4); - *(undefined4 *)((int)aiStack_2fc + iVar12 + uVar11 * -2 + iVar2) = - *(undefined4 *)(Bids + (int)pTVar8 * 4); - uVar1 = *(ushort *)(CharacterIDs + (int)pTVar8 * 2); - *(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = "houses"; - *(char **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = - "bei Reset: INSERT INTO HouseAssignments VALUES (\'%s\',%d,%d,%d);\n"; - *(uint *)(&stack0xfffffd00 + iVar12 + uVar11 * -2 + iVar2) = (uint)uVar1; - *(undefined1 **)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2) = local_8c; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80632d7; - Log(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(char **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2)); - pTVar8 = house; - *(uint *)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - (uint)*(ushort *)(CharacterIDs + (int)house * 2); - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80632ef; - PlayerData = (TPlayerData *) - GetHouse(*(ushort *)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - if (PlayerData == (TPlayerData *)0x0) { - uVar1 = *(ushort *)(CharacterIDs + (int)pTVar8 * 2); - *(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - "FinishAuctions: Haus mit Nummer %d existiert nicht.\n"; - *(uint *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = (uint)uVar1; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x8063743; - error(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - } - else if (PlayerData->Cycle[4] == 0) { - *(undefined4 *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = 0; - *(undefined4 *)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - *(undefined4 *)(Bids + (int)house * 4); - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x806344f; - local_2e8 = AssignPlayerPoolSlot - (*(ulong *)(&stack0xfffffcf4 + - iVar12 + uVar11 * -2 + iVar2), - (bool)(&stack0xfffffcf8)[iVar12 + uVar11 * -2 + iVar2]); - if (local_2e8 == (TPlayerData *)0x0) { - *(undefined **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - &DAT_080f3cc0; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x8063724; - error(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - } - else { - local_4c[0].TypeID = local_2c.ObjectID; - *(ObjectType **)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2) = local_4c - ; - pTVar4 = PlayerData; - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = - PlayerData->MagicDeltaAct[0x15]; - *(TPlayerData **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - local_2e8; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x8063488; - LoadDepot(*(TPlayerData **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) - ,*(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2), - *(Object **)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2)); - local_3c[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = local_3c; - *(ObjectType **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = local_4c - ; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x806349d; - GetFirstContainerObject - (*(Object **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - *(ObjectType **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = local_4c - ; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80634ab; - iVar7 = CountMoney(*(Object **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - if (iVar7 < pTVar4->MagicDeltaAct[0x14] + - *(int *)(TimeStamp + (int)house * 4)) { - *(undefined **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = - &DAT_080f3c80; - *(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = "houses"; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x80636d0; - Log(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(char **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2)); - piVar3 = local_2ec; - PlayerData->Cycle[4] = *(int *)(Bids + (int)house * 4); - *(int **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - PlayerData->Cycle + 5; - *(int_0_ **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = piVar3; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x8063705; - strcpy(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(char **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2)); - PlayerData->Cycle[0xe] = 0; - } - else { - *(undefined **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = - &DAT_080f3b80; - *(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = "houses"; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x80634dc; - Log(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(char **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2)); - local_9c[0] = local_2c.ObjectID; - iVar7 = PlayerData->MagicDeltaAct[0x14]; - iVar9 = *(int *)(TimeStamp + (int)house * 4); - *(ulong **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = local_9c; - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = - iVar7 + iVar9; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x8063514; - DeleteMoney(*(Object **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2)); - pTVar4 = PlayerData; - *(char **)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2) = - "Welcome!\n\nCongratulations on your choice\nfor house \"%s\".\nThe rent for the first month\nhas already been debited to your\ndepot. The next rent will be\npayable in thirty days.\nHave a good time in your new home!" - ; - *(undefined1 **)(&stack0xfffffd00 + iVar12 + uVar11 * -2 + iVar2) = - (undefined1 *)((int)&pTVar4->CharacterID + 2); - *(undefined4 *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = 500; - *(undefined1 **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - local_29c; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x806353f; - snprintf(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(size_t *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2), - *(char **)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2)); - *(undefined1 **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - local_29c; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x8063547; - uVar10 = AddDynamicString(*(char **)(&stack0xfffffcf4 + - iVar12 + uVar11 * -2 + iVar2)); - *(undefined4 *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = 0x1a; - *(ulong **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = local_2ac - ; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x806355f; - GetSpecialObject(*(SPECIALMEANING *) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - z = local_2c.ObjectID; - *(undefined4 *)(&stack0xfffffd00 + iVar12 + uVar11 * -2 + iVar2) = 0; - *(ulong **)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2) = local_2ac - ; - *(int **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = &z; - *(ulong **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = local_9c; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x8063595; - SetObject(*(Object **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(ObjectType **) - (&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2), - *(ulong *)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2)); - *(ulong *)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2) = uVar10; - *(undefined4 *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = 9; - *(ulong **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = local_9c; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x80635b2; - ChangeObject(*(Object **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(INSTANCEATTRIBUTE *) - (&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2), - *(ulong *)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2) - ); - z = local_2c.ObjectID; - *(int **)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2) = &z; - pTVar4 = PlayerData; - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = - PlayerData->MagicDeltaAct[0x15]; - *(TPlayerData **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - local_2e8; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x80635e3; - SaveDepot(*(TPlayerData **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2), - *(Object **)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2)) - ; - pTVar4->Cycle[4] = *(int *)(Bids + (int)house * 4); - *(int_0_ **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = - local_2ec; - *(int **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - PlayerData->Cycle + 5; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x8063615; - strcpy(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(char **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2)); - PlayerData->Cycle[0xd] = i; - PlayerData->Cycle[0xe] = i + 0x278d00; - } - while( true ) { - local_2ac[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = local_2ac - ; - *(int **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = &z; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x806365c; - GetFirstContainerObject - (*(Object **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) - ); - local_9c[0] = NONE.ObjectID; - local_4c[0].TypeID = NONE.ObjectID; - if (z == NONE.ObjectID) break; - local_2ac[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = local_2ac - ; - *(int **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = &z; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x8063696; - GetFirstContainerObject - (*(Object **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) - ); - *(int **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = &z; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x80636a7; - DeleteObject(*(Object **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - } - *(TPlayerData **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - local_2e8; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80636b7; - ReleasePlayerPoolSlot - (*(TPlayerData **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - } - } - else { - *(int *)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2) = PlayerData->Cycle[4] - ; - uVar1 = *(ushort *)(CharacterIDs + (int)house * 2); - *(undefined **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = &DAT_080f3b00 - ; - *(uint *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = (uint)uVar1; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x8063335; - error(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - } - house = (THouse *)((int)&house->ID + 1); - local_2ec = local_2ec + 0x1e; - } while ((int)house < (int)HouseIDs); - } - iVar7 = 0; - if (0 < Houses) { - do { - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = iVar7; - *(vector **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = &House; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x8063385; - pTVar8 = vector::operator() - (*(vector **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2)); - if (pTVar8->PaidUntil == 0) { - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = iVar7; - *(vector **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = &House; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80633b0; - pTVar8 = vector::operator() - (*(vector **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2)); - if (pTVar8->OwnerID != 0) { - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = iVar7; - *(vector **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - &House; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80633ca; - pTVar8 = vector::operator() - (*(vector **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2 - )); - *(undefined4 *)(&stack0xfffffcfc + iVar12 + uVar11 * -2 + iVar2) = 1; - *(ulong *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = - pTVar8->OwnerID; - *(TQueryManagerConnection **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = QueryManagerConnection; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80633e9; - iVar9 = TQueryManagerConnection::excludeFromAuctions - (*(TQueryManagerConnection **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(ulong *)(&stack0xfffffcf8 + - iVar12 + uVar11 * -2 + iVar2), - (bool)(&stack0xfffffcfc)[iVar12 + uVar11 * -2 + iVar2]); - if (iVar9 != 0) { - *(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - "FinishAuctions: Kann Ersteigerer nicht verbannen.\n"; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = - 0x806342d; - error(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - } - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = iVar7; - *(vector **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - &House; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80633fd; - pTVar8 = vector::operator() - (*(vector **) - (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2), - *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2 - )); - pTVar8->OwnerName[0] = '\0'; - pTVar8->OwnerID = 0; - pTVar8->Subowners = 0; - pTVar8->Guests = 0; - } - } - iVar7 = iVar7 + 1; - } while (iVar7 < Houses); - } - z = local_2c.ObjectID; - *(int **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = &z; - } - else { - *(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = - "FinishAuctions: Kann Versteigerungen nicht ermitteln.\n"; - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80631ee; - error(*(char **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - local_4c[0].TypeID = local_2c.ObjectID; - *(ObjectType **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = local_4c; - } - *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80631ff; - DeleteObject(*(Object **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2)); - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void CollectRents(void) - -{ - TPlayerData *pTVar1; - ushort uVar2; - undefined4 uVar3; - int_0_ *piVar4; - ulong_0_ *puVar5; - int iVar6; - ulong uVar7; - int iVar8; - THouse *pTVar9; - THouse *pTVar10; - uint uVar11; - char *pcVar12; - int *piVar13; - ObjectType *pOVar14; - char_0__30_ *NewOwnerNames; - int iVar15; - int iVar16; - ushort_0_ **ppuVar17; - int *piVar18; - int NumberOfGuildhouses; - int iVar19; - undefined4 local_350; - uint auStack_33c [3]; - int_0_ aiStack_330 [8]; - int_0_ *local_328; - int *local_324; - ushort *local_320; - char *local_31c; - TPlayerData *local_318; - TPlayerData *PlayerData_1; - time_t Deadline; - ulong_0_ *OwnerIDs; - int Crystal; - TPlayerData *PlayerData; - THouse *house; - int i_1; - time_t TimeStamp; - int_0_ *Prices; - ulong_0_ *NewOwnerIDs; - ushort_0_ *HouseIDs; - int local_2e8; - int NumberOfEvictions; - int local_2e0; - int local_2dc; - int NumberOfTransfers; - int x; - int y; - int z; - ulong local_2bc [4]; - ulong local_2ac [4]; - ulong local_29c [4]; - undefined1 local_28c [4]; - char Warning [500]; - undefined1 local_8c [4]; - char HelpWorld [60]; - ObjectType local_4c [4]; - ulong local_3c [4]; - Object local_2c; - Object Con; - - // try { // try from 08063799 to 08064aff has its CatchHandler @ 08064b16 - local_350 = 0x806379e; - GetStartPosition(&NumberOfTransfers,&x,&y,true); - local_350 = 0x80637b4; - GetSpecialObject((SPECIALMEANING)local_3c); - local_350 = 0x80637e0; - GetMapContainer((int)local_4c,NumberOfTransfers,x); - local_350 = 0x80637fe; - SetObject(&local_2c,local_4c,(ulong)local_3c); - iVar15 = 0; - if (0 < Houses) { - do { - local_350 = 0x8064b00; - pTVar9 = vector::operator()(&House,iVar15); - iVar16 = Houses; - iVar15 = iVar15 + 1; - pTVar9->Help = 0; - } while (iVar15 < iVar16); - } - local_350 = 0x8063823; - Log("houses",&DAT_080f3d40); - local_2dc = Houses; - iVar16 = Houses + -1; - iVar15 = -(Houses + 0x10 + iVar16 & 0xfffffff0U); - uVar11 = iVar16 * 4 + 0x13U & 0xfffffff0; - NewOwnerIDs = aiStack_330 + iVar15; - iVar16 = -(iVar16 * 0x1e + 0x2dU & 0xfffffff0); - piVar18 = (int *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c); - Prices = aiStack_330 + -uVar11 + iVar15; - TimeStamp = (time_t)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15); - *(int_0_ **)((int)auStack_33c + iVar16 + uVar11 * -2 + iVar15 + 4) = - aiStack_330 + iVar16 + uVar11 * -2 + iVar15; - *(int_0_ **)((int)auStack_33c + iVar16 + uVar11 * -2 + iVar15) = - aiStack_330 + iVar16 + -uVar11 + iVar15; - *(int_0_ **)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15) = Prices; - puVar5 = NewOwnerIDs; - *(int **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = &local_2dc; - *(ulong_0_ **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = puVar5; - *(TQueryManagerConnection **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - QueryManagerConnection; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x80638ac; - iVar6 = TQueryManagerConnection::transferHouses - (*(TQueryManagerConnection **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(ushort **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15), - *(ulong **)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15), - *(char (**) [30])((int)auStack_33c + iVar16 + uVar11 * -2 + iVar15), - *(int **)((int)auStack_33c + iVar16 + uVar11 * -2 + iVar15 + 4)); - if (iVar6 != 0) { - *(undefined **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &DAT_080f3d80; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x80638bc; - error(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - pOVar14 = local_4c; - local_4c[0].TypeID = local_2c.ObjectID; - goto LAB_080638c5; - } - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = WorldName; - *(undefined1 **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = local_8c; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x80638f2; - AddSlashes(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15)); - *(undefined4 *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = 0; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x80638fe; - i_1 = time(*(time_t **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - house = (THouse *)0x0; - if (0 < local_2dc) { - local_328 = aiStack_330 + iVar16 + -uVar11 + iVar15; - local_320 = (ushort *)NewOwnerIDs; - local_324 = (int *)Prices; - do { - *(uint *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = (uint)*local_320; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063949; - PlayerData = (TPlayerData *) - GetHouse(*(ushort *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - if (PlayerData == (TPlayerData *)0x0) { - uVar2 = *local_320; - *(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "CollectRents: Haus mit Nummer %d existiert nicht.\n"; - *(uint *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8064ae9; - error(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - } - else if ((*local_324 == 0) || (iVar6 = *(int *)(TimeStamp + (int)house * 4), iVar6 < 1)) - { -LAB_0806489a: - *(int *)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15) = PlayerData->Cycle[4]; - uVar2 = *local_320; - *(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = "houses"; - *(undefined **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = &DAT_080f4e1a; - *(uint *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x80648cb; - Log(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15)); - if (*local_324 == 0) { - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = 0; - *(TPlayerData **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - PlayerData; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8064a2b; - CleanHouse(*(THouse **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(TPlayerData **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15)); - } - PlayerData->Cycle[4] = 0; - *(undefined1 *)(PlayerData->Cycle + 5) = 0; - PlayerData->MaxCycle[0xc] = 0; - PlayerData->Count[10] = 0; - PlayerData->Count[0xb] = 1; - if (*local_324 != 0) { - *(int *)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15) = *local_324; - uVar2 = *local_320; - *(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = "houses"; - *(undefined **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - &DAT_080f4e32; - *(uint *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x806493c; - Log(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15)); - piVar4 = local_328; - PlayerData->Cycle[4] = *local_324; - PlayerData->Cycle[0xd] = i_1; - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - PlayerData->Cycle + 5; - *(int_0_ **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = piVar4; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8064976; - strcpy(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15)); - if (*local_324 != 0) { - uVar2 = *local_320; - *(undefined1 **)((int)auStack_33c + iVar16 + uVar11 * -2 + iVar15 + 4) = - local_8c; - *(uint *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -4) = (uint)uVar2; - *(undefined4 *)((int)auStack_33c + iVar16 + uVar11 * -2 + iVar15) = - *(undefined4 *)(TimeStamp + (int)house * 4); - *(int *)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15) = *local_324; - iVar6 = i_1; - *(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = "houses"; - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - "bei Reset: UPDATE HouseOwners SET Termination=%d,NewOwner=%ld,Accepted=1,Price=%d WHERE World=\'%s\' AND HouseID=%d;\n" - ; - *(int *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = iVar6; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8064a10 - ; - Log(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15)); - goto LAB_08063bd9; - } - } - uVar2 = *local_320; - *(undefined1 **)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15) = local_8c; - *(uint *)((int)auStack_33c + iVar16 + uVar11 * -2 + iVar15) = (uint)uVar2; - iVar6 = i_1; - *(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = "houses"; - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - "bei Reset: UPDATE HouseOwners SET Termination=%d,NewOwner=null,Accepted=0,Price=0 WHERE World=\'%s\' AND HouseID=%d;\n" - ; - *(int *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = iVar6; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x80649b7; - Log(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15)); - } - else { - *(int *)((int)auStack_33c + iVar16 + uVar11 * -2 + iVar15) = iVar6; - *(int *)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15) = *local_324; - uVar2 = *local_320; - *(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = "houses"; - *(undefined **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = &DAT_080f3dc0; - *(uint *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x80639af; - Log(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15)); - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = 0; - *(int *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = *local_324; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x80639c7; - Crystal = (int)AssignPlayerPoolSlot - (*(ulong *)(aiStack_330 + - iVar16 + uVar11 * -2 + iVar15 + -0x1c), - (bool)(&stack0xfffffcb8)[iVar16 + uVar11 * -2 + iVar15]); - if ((TPlayerData *)Crystal == (TPlayerData *)0x0) { - *(undefined **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &DAT_080f4420; - } - else { - local_4c[0].TypeID = local_2c.ObjectID; - *(ObjectType **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = local_4c; - *(int *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - PlayerData->MagicDeltaAct[0x15]; - *(int *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = Crystal; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063a00; - LoadDepot(*(TPlayerData **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) - ,*(int *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(Object **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15)); - local_3c[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = local_3c; - *(ObjectType **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = local_4c - ; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063a15; - GetFirstContainerObject - (*(Object **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - *(ObjectType **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = local_4c - ; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063a23; - iVar6 = CountMoney(*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - if (iVar6 < *(int *)(TimeStamp + (int)house * 4)) { - *(undefined **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - &DAT_080f3e00; - *(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = "houses"; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063a4c - ; - Log(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15)); - pTVar1 = PlayerData; - *(char **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = - "Warning!\n\nYou have not enough gold to pay\nthe price for house \"%s\".\nTherefore the transfer is cancelled." - ; - *(undefined1 **)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15) = - (undefined1 *)((int)&pTVar1->CharacterID + 2); - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = 500; - *(undefined1 **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_28c; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063a77 - ; - snprintf(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(size_t *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(char **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15)); - *(undefined1 **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_28c; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063a7f - ; - uVar7 = AddDynamicString(*(char **)(aiStack_330 + - iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = 0x1a; - *(ulong **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = local_2ac - ; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063a97 - ; - GetSpecialObject(*(SPECIALMEANING *) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - local_2bc[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = local_2ac; - *(undefined4 *)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15) = 0; - *(ulong **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = local_2bc; - *(ulong **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = local_29c - ; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063acd - ; - SetObject(*(Object **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(ObjectType **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) - ,*(ulong *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15)); - *(ulong *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = uVar7; - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = 9; - *(ulong **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = local_29c - ; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063aea - ; - ChangeObject(*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(INSTANCEATTRIBUTE *) - (&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(ulong *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15)); - local_2bc[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = local_2bc; - *(int *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - PlayerData->MagicDeltaAct[0x15]; - *(int *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = Crystal; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063b1b - ; - SaveDepot(*(TPlayerData **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(Object **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15)); - while( true ) { - local_2ac[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - local_2ac; - *(ulong **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_2bc; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063b42; - GetFirstContainerObject - (*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - local_29c[0] = NONE.ObjectID; - z = NONE.ObjectID; - if (local_2bc[0] == NONE.ObjectID) break; - local_2bc[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - local_2bc; - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063b79; - GetFirstContainerObject - (*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063b84; - DeleteObject(*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - } - *(int *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = Crystal; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063b94 - ; - ReleasePlayerPoolSlot - (*(TPlayerData **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - uVar2 = *local_320; - *(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = "houses"; - *(undefined1 **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = - local_8c; - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - "bei Reset: UPDATE HouseOwners SET Termination=null,NewOwner=null,Accepted=0,Price=null WHERE World=\'%s\' AND HouseID=%d;\n" - ; - *(uint *)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15) = (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063bbf - ; - Log(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15)); - *(uint *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - (uint)*local_320; - *(TQueryManagerConnection **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - QueryManagerConnection; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8063bd9 - ; - TQueryManagerConnection::cancelHouseTransfer - (*(TQueryManagerConnection **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(ushort *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15)); - goto LAB_08063bd9; - } - z = local_2c.ObjectID; - uVar3 = *(undefined4 *)(TimeStamp + (int)house * 4); - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = uVar3; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x806456d; - DeleteMoney(*(Object **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15)); - z = local_2c.ObjectID; - *(int **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = &z; - *(int *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - PlayerData->MagicDeltaAct[0x15]; - *(int *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = Crystal; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8064598; - SaveDepot(*(TPlayerData **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) - ,*(int *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(Object **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15)); - while( true ) { - local_2bc[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = local_2bc; - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x80645b9 - ; - GetFirstContainerObject - (*(Object **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) - ); - local_2ac[0] = NONE.ObjectID; - local_29c[0] = NONE.ObjectID; - if (z == NONE.ObjectID) break; - local_2bc[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = local_2bc; - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x80645f6 - ; - GetFirstContainerObject - (*(Object **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) - ); - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8064607 - ; - DeleteObject(*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - } - *(int *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = Crystal; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8064617; - ReleasePlayerPoolSlot - (*(TPlayerData **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = 0; - *(int *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - PlayerData->Cycle[4]; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8064633; - Crystal = (int)AssignPlayerPoolSlot - (*(ulong *)(aiStack_330 + - iVar16 + uVar11 * -2 + iVar15 + -0x1c), - (bool)(&stack0xfffffcb8) - [iVar16 + uVar11 * -2 + iVar15]); - if ((TPlayerData *)Crystal != (TPlayerData *)0x0) { - z = local_2c.ObjectID; - *(int **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = &z; - *(int *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - PlayerData->MagicDeltaAct[0x15]; - *(int *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = Crystal; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8064672 - ; - LoadDepot(*(TPlayerData **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(Object **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15)); - for (iVar6 = *(int *)(TimeStamp + (int)house * 4); 9999 < iVar6; - iVar6 = iVar6 + (int)OwnerIDs * -10000) { - NumberOfEvictions = 100; - local_2e0 = iVar6 / 10000; - piVar13 = &NumberOfEvictions; - if (iVar6 / 10000 < 0x65) { - piVar13 = &local_2e0; - } - OwnerIDs = (ulong_0_ *)*piVar13; - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = 3; - *(ulong **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_2bc; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x80646e3; - GetSpecialObject(*(SPECIALMEANING *) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)) - ; - local_2ac[0] = local_2c.ObjectID; - *(undefined4 *)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15) = 0; - *(ulong **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = - local_2bc; - *(ulong **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - local_2ac; - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064719; - SetObject(*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(ObjectType **) - (&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(ulong *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15)); - puVar5 = OwnerIDs; - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = 2; - *(ulong_0_ **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = - puVar5; - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x806473c; - ChangeObject(*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(INSTANCEATTRIBUTE *) - (&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(ulong *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15 - )); - } - if (99 < iVar6) { - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = 2; - *(ulong **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_2bc; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064a46; - GetSpecialObject(*(SPECIALMEANING *) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)) - ; - local_2ac[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - local_2ac; - *(undefined4 *)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15) = 0; - *(ulong **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = - local_2bc; - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064a7c; - SetObject(*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(ObjectType **) - (&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(ulong *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15)); - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = 2; - *(int *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = iVar6 / 100 - ; - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064aac; - ChangeObject(*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(INSTANCEATTRIBUTE *) - (&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(ulong *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15 - )); - } - if (0 < iVar6 % 100) { - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = 1; - *(ulong **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_2bc; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064797; - GetSpecialObject(*(SPECIALMEANING *) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)) - ; - local_2ac[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - local_2ac; - *(undefined4 *)(&stack0xfffffcc0 + iVar16 + uVar11 * -2 + iVar15) = 0; - *(ulong **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = - local_2bc; - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x80647cd; - SetObject(*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(ObjectType **) - (&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(ulong *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15)); - *(int *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = iVar6 % 100 - ; - *(undefined4 *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = 2; - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x80647ea; - ChangeObject(*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(INSTANCEATTRIBUTE *) - (&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(ulong *)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15 - )); - } - z = local_2c.ObjectID; - *(int **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15) = &z; - *(int *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - PlayerData->MagicDeltaAct[0x15]; - *(int *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = Crystal; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x806481b - ; - SaveDepot(*(TPlayerData **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15), - *(Object **)(&stack0xfffffcbc + iVar16 + uVar11 * -2 + iVar15)); - while( true ) { - local_2bc[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - local_2bc; - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x806483c; - GetFirstContainerObject - (*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - local_2ac[0] = NONE.ObjectID; - local_29c[0] = NONE.ObjectID; - if (z == NONE.ObjectID) break; - local_2bc[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcb8 + iVar16 + uVar11 * -2 + iVar15) = - local_2bc; - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064879; - GetFirstContainerObject - (*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - *(int **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = - 0x806488a; - DeleteObject(*(Object **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - } - *(int *)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = Crystal; - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x806489a - ; - ReleasePlayerPoolSlot - (*(TPlayerData **) - (aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - goto LAB_0806489a; - } - *(undefined **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &DAT_080f43e0; - } - *(undefined4 *)((int)&local_350 + iVar16 + uVar11 * -2 + iVar15) = 0x8064abd; - error(*(char **)(aiStack_330 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - } -LAB_08063bd9: - house = (THouse *)((int)&house->ID + 1); - local_320 = local_320 + 1; - local_324 = local_324 + 1; - local_328 = local_328 + 0x1e; - } while ((int)house < local_2dc); - } - local_2e8 = Houses; - iVar6 = -(Houses * 4 + 0xfU & 0xfffffff0); - piVar18 = (int *)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c); - Deadline = (time_t)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15); - *(int_0_ **)(&stack0xfffffcc0 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15; - puVar5 = NewOwnerIDs; - *(int **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = &local_2e8; - *(ulong_0_ **)(&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15) = puVar5; - *(TQueryManagerConnection **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - QueryManagerConnection; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x8063c4c; - iVar8 = TQueryManagerConnection::evictFreeAccounts - (*(TQueryManagerConnection **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15), - *(ushort **)(&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15), - *(ulong **)(&stack0xfffffcc0 + iVar6 + iVar16 + uVar11 * -2 + iVar15)); - if (iVar8 == 0) { - iVar8 = 0; - if (0 < local_2e8) { - do { - *(uint *)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - (uint)*(ushort *)(NewOwnerIDs + iVar8 * 2); - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x8064480 - ; - pTVar9 = GetHouse(*(ushort *) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - if (pTVar9 == (THouse *)0x0) { - uVar2 = *(ushort *)(NewOwnerIDs + iVar8 * 2); - *(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "CollectRents: Haus mit Nummer %d existiert nicht.\n"; - *(uint *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064535; - error(*(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - } - else { - uVar2 = *(ushort *)(NewOwnerIDs + iVar8 * 2); - *(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "houses"; - *(char **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - "Account von Haus %d ist nicht mehr bezahlt.\n"; - *(uint *)(&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80644ac; - Log(*(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15)); - if (*(ulong *)(Deadline + iVar8 * 4) == pTVar9->OwnerID) { - *(undefined4 *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0; - *(THouse **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - pTVar9; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80644ef; - CleanHouse(*(THouse **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(TPlayerData **) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15)); - pTVar9->OwnerName[0] = '\0'; - pTVar9->OwnerID = 0; - pTVar9->Subowners = 0; - pTVar9->Guests = 0; - pTVar9->Help = 1; - } - else { - *(undefined **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - &DAT_080f4260; - *(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "houses"; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80644d1; - Log(*(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15)); - } - } - iVar8 = iVar8 + 1; - } while (iVar8 < local_2e8); - } - local_2e8 = Houses; - *(ulong_0_ **)(&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15) = NewOwnerIDs; - *(int **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = &local_2e8; - *(TQueryManagerConnection **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - QueryManagerConnection; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x8063c8e; - iVar8 = TQueryManagerConnection::evictDeletedCharacters - (*(TQueryManagerConnection **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15), - *(ushort **)(&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15)); - if (iVar8 != 0) { - *(undefined **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &DAT_080f41e0; - goto LAB_08064464; - } - iVar8 = 0; - if (0 < local_2e8) { - do { - *(uint *)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - (uint)*(ushort *)(NewOwnerIDs + iVar8 * 2); - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x80643d1 - ; - pTVar9 = GetHouse(*(ushort *) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - if (pTVar9 == (THouse *)0x0) { - uVar2 = *(ushort *)(NewOwnerIDs + iVar8 * 2); - *(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "CollectRents: Haus mit Nummer %d existiert nicht.\n"; - *(uint *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x806445b; - error(*(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - } - else { - uVar2 = *(ushort *)(NewOwnerIDs + iVar8 * 2); - *(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "houses"; - *(undefined **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - &DAT_080f41a0; - *(uint *)(&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80643f9; - Log(*(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(undefined4 *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0; - *(THouse **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - pTVar9; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064409; - CleanHouse(*(THouse **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(TPlayerData **) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15)); - pTVar9->OwnerName[0] = '\0'; - pTVar9->OwnerID = 0; - pTVar9->Subowners = 0; - pTVar9->Guests = 0; - pTVar9->Help = 1; - } - iVar8 = iVar8 + 1; - } while (iVar8 < local_2e8); - } - iVar19 = 0; - iVar8 = 0; - if (0 < Houses) { - do { - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x806434e - ; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - if (pTVar9->GuildHouse != false) { - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064376; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - if (pTVar9->OwnerID != 0) { - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064390; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(ushort *)(NewOwnerIDs + iVar19 * 2) = pTVar9->ID; - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80643ad; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(ulong *)(Deadline + iVar19 * 4) = pTVar9->OwnerID; - iVar19 = iVar19 + 1; - } - } - iVar8 = iVar8 + 1; - } while (iVar8 < Houses); - } - if (0 < iVar19) { - *(time_t *)((int)auStack_33c + iVar6 + iVar16 + uVar11 * -2 + iVar15) = Deadline; - puVar5 = NewOwnerIDs; - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar19; - *(int **)(&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15) = &local_2e8; - *(ulong_0_ **)(&stack0xfffffcc0 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = puVar5; - *(TQueryManagerConnection **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = QueryManagerConnection; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x8063ce8; - iVar8 = TQueryManagerConnection::evictExGuildleaders - (*(TQueryManagerConnection **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15), - *(int **)(&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15), - *(ushort **) - (&stack0xfffffcc0 + iVar6 + iVar16 + uVar11 * -2 + iVar15), - *(ulong **)((int)auStack_33c + iVar6 + iVar16 + uVar11 * -2 + iVar15) - ); - if (iVar8 != 0) { - *(undefined **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &DAT_080f4160; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x8064331 - ; - error(*(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - local_2e8 = 0; - } - iVar8 = 0; - if (0 < local_2e8) { - do { - *(uint *)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - (uint)*(ushort *)(NewOwnerIDs + iVar8 * 2); - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064299; - pTVar9 = GetHouse(*(ushort *) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) - ); - if (pTVar9 == (THouse *)0x0) { - uVar2 = *(ushort *)(NewOwnerIDs + iVar8 * 2); - *(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "CollectRents: Haus mit Nummer %d existiert nicht.\n"; - *(uint *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064323; - error(*(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c - )); - } - else { - uVar2 = *(ushort *)(NewOwnerIDs + iVar8 * 2); - *(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "houses"; - *(undefined **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - &DAT_080f40e0; - *(uint *)(&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80642c1; - Log(*(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(undefined4 *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0; - *(THouse **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - pTVar9; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80642d1; - CleanHouse(*(THouse **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(TPlayerData **) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15)); - pTVar9->OwnerName[0] = '\0'; - pTVar9->OwnerID = 0; - pTVar9->Subowners = 0; - pTVar9->Guests = 0; - pTVar9->Help = 1; - } - iVar8 = iVar8 + 1; - } while (iVar8 < local_2e8); - } - } - iVar8 = 0; - if (0 < Houses) { - do { - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x8064223 - ; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - if (pTVar9->Help == 1) { - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x806424a; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(uint *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - (uint)pTVar9->ID; - *(TQueryManagerConnection **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - QueryManagerConnection; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x806425e; - iVar19 = TQueryManagerConnection::deleteHouseOwner - (*(TQueryManagerConnection **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(ushort *) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15)) - ; - if (iVar19 != 0) { - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064272; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - uVar2 = pTVar9->ID; - *(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "CollectRents: Kann Haus %d nicht aus HouseOwners austragen.\n"; - *(uint *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064285; - error(*(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c - )); - } - } - iVar8 = iVar8 + 1; - } while (iVar8 < Houses); - } - *(char **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - "Treibe Mieten ein...\n"; - *(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = "houses"; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x8063d21; - Log(*(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15)); - iVar8 = 0; - if (0 < Houses) { - do { - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x8063d3b - ; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - if (pTVar9->OwnerID != 0) { - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063d72; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - if (pTVar9->PaidUntil <= i_1) { - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063d90; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063da2; - pTVar10 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - uVar2 = pTVar10->ID; - uVar7 = pTVar9->OwnerID; - *(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "houses"; - *(undefined **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - &DAT_080f3f40; - *(ulong *)(&stack0xfffffcc0 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = uVar7 - ; - *(uint *)(&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - (uint)uVar2; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063dc7; - Log(*(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063dd7; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - HouseIDs = (ushort_0_ *)(pTVar9->PaidUntil + 0x93a80); - ppuVar17 = (ushort_0_ **)&PaymentExtension; - if (PaymentExtension <= (int)HouseIDs) { - ppuVar17 = &HouseIDs; - } - PlayerData_1 = (TPlayerData *)*ppuVar17; - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063e14; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(undefined4 *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0; - *(ulong *)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - pTVar9->OwnerID; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063e2a; - local_318 = AssignPlayerPoolSlot - (*(ulong *)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + - -0x1c), - (bool)(&stack0xfffffcb8) - [iVar6 + iVar16 + uVar11 * -2 + iVar15]); - if (local_318 == (TPlayerData *)0x0) { - *(undefined **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &DAT_080f4060; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) - = 0x806420e; - error(*(char **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - } - else { - z = local_2c.ObjectID; - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) - = 0x8063e51; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(int **)(&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15) = &z - ; - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - pTVar9->DepotNr; - *(TPlayerData **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_318; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) - = 0x8063e73; - LoadDepot(*(TPlayerData **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) - ,*(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15), - *(Object **) - (&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15)); - local_2bc[0] = local_2c.ObjectID; - *(ulong **)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - local_2bc; - *(int **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &z; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) - = 0x8063e94; - GetFirstContainerObject - (*(Object **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c - )); - *(int **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &z; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) - = 0x8063ea5; - iVar19 = CountMoney(*(Object **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) - = 0x8063eb7; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - if (iVar19 < (int)pTVar9->Rent) { - if (i_1 < (int)PlayerData_1) { - *(undefined **) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - &DAT_080f4dca; - *(char **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "houses"; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063ee9; - Log(*(char **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - pTVar1 = (TPlayerData *)((int)PlayerData_1 - i_1); - PlayerData_1 = pTVar1; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &House; - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - iVar19 = (int)(pTVar1[-1].Title + 0x18) / 0x15180 + 1; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063f29; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + - -0x1c),*(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 - + iVar15)); - local_31c = pTVar9->Name; - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &House; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063f42; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + - -0x1c),*(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 - + iVar15)); - *(int *)((int)auStack_33c + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + 4) = iVar19; - pcVar12 = ""; - if (iVar19 != 1) { - pcVar12 = "s"; - } - *(char **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -4) = pcVar12; - *(char **)((int)auStack_33c + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = local_31c; - uVar7 = pTVar9->Rent; - *(undefined1 **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_28c; - *(char **)(&stack0xfffffcbc + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = - "Warning!\n\nThe monthly rent of %ld gold\nfor your house \"%s\"\nis payable. Have it available\nwithin %d day%s, or you will\nlose this house." - ; - *(undefined4 *) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 500; - *(ulong *)(&stack0xfffffcc0 + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = uVar7; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063f8c; - snprintf(*(char **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c - ), - *(size_t *) - (&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15), - *(char **)(&stack0xfffffcbc + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(undefined1 **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_28c; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063f94; - uVar7 = AddDynamicString(*(char **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 - + iVar15 + - -0x1c)); - *(undefined4 *) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x1a; - *(ulong **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_29c; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063fac; - GetSpecialObject(*(SPECIALMEANING *) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) - ); - local_4c[0].TypeID = local_2c.ObjectID; - *(ulong **) - (&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - local_29c; - *(undefined4 *) - (&stack0xfffffcc0 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0; - *(ObjectType **) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - local_4c; - *(ulong **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_2ac; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063fdc; - SetObject(*(Object **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(ObjectType **) - (&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15), - *(ulong *)(&stack0xfffffcbc + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(ulong *)(&stack0xfffffcbc + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = uVar7; - *(undefined4 *) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 9; - *(ulong **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_2ac; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8063ff9; - ChangeObject(*(Object **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(INSTANCEATTRIBUTE *) - (&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15), - *(ulong *)(&stack0xfffffcbc + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - local_2ac[0] = local_2c.ObjectID; - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &House; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064012; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + - -0x1c),*(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 - + iVar15)); - *(ulong **) - (&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - local_2ac; - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = pTVar9->DepotNr - ; - *(TPlayerData **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_318; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064034; - SaveDepot(*(TPlayerData **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15), - *(Object **) - (&stack0xfffffcbc + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - } - else { - *(char **)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = - "Mieter wird hinausgeworfen.\n"; - *(char **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "houses"; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80640cc; - Log(*(char **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &House; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80640dc; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + - -0x1c),*(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 - + iVar15)); - *(undefined4 *) - (&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0; - *(ulong *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = - pTVar9->OwnerID; - *(TQueryManagerConnection **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - QueryManagerConnection; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80640fb; - iVar19 = TQueryManagerConnection::excludeFromAuctions - (*(TQueryManagerConnection **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + - -0x1c),*(ulong *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * - -2 + iVar15), - (bool)(&stack0xfffffcbc) - [iVar6 + iVar16 + uVar11 * -2 + iVar15]); - if (iVar19 != 0) { - *(char **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "CollectRents: Kann Mieter nicht verbannen.\n"; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064161; - error(*(char **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + - -0x1c)); - } - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &House; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x806410f; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + - -0x1c),*(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 - + iVar15)); - pTVar1 = local_318; - *(THouse **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - pTVar9; - *(TPlayerData **) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - pTVar1; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064121; - CleanHouse(*(THouse **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(TPlayerData **) - (&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &House; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064131; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + - -0x1c),*(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 - + iVar15)); - pTVar9->OwnerName[0] = '\0'; - pTVar9->OwnerID = 0; - pTVar9->Subowners = 0; - pTVar9->Guests = 0; - } - } - else { - *(undefined **) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - &DAT_080f4dff; - *(char **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = "houses"; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064177; - Log(*(char **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(char **)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &House; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064187; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - local_2ac[0] = local_2c.ObjectID; - uVar7 = pTVar9->Rent; - *(ulong **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_2ac; - *(ulong *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) - = uVar7; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80641a8; - DeleteMoney(*(Object **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - local_2ac[0] = local_2c.ObjectID; - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &House; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80641c1; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - *(ulong **) - (&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - local_2ac; - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - pTVar9->DepotNr; - *(TPlayerData **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_318; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80641e3; - SaveDepot(*(TPlayerData **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15), - *(Object **) - (&stack0xfffffcbc + iVar6 + iVar16 + uVar11 * -2 + iVar15 - )); - *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - iVar8; - *(vector **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - &House; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80641f3; - pTVar9 = vector::operator() - (*(vector **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c), - *(int *)(&stack0xfffffcb8 + - iVar6 + iVar16 + uVar11 * -2 + iVar15)); - pTVar9->PaidUntil = pTVar9->PaidUntil + 0x278d00; - } - while( true ) { - local_2bc[0] = local_2c.ObjectID; - *(ulong **) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - local_2bc; - *(int **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064055; - GetFirstContainerObject - (*(Object **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - local_2ac[0] = NONE.ObjectID; - local_29c[0] = NONE.ObjectID; - if (z == NONE.ObjectID) break; - local_2bc[0] = local_2c.ObjectID; - *(ulong **) - (&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - local_2bc; - *(int **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x8064092; - GetFirstContainerObject - (*(Object **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - *(int **)(aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &z; - *(undefined4 *) - ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = - 0x80640a3; - DeleteObject(*(Object **) - (aiStack_330 + - iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - } - *(TPlayerData **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - local_318; - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) - = 0x80640b3; - ReleasePlayerPoolSlot - (*(TPlayerData **) - (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c - )); - } - } - } - iVar8 = iVar8 + 1; - } while (iVar8 < Houses); - } - } - else { - *(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = - "CollectRents: Kann Zahlungsdaten nicht ermitteln.\n"; -LAB_08064464: - *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x8064469; - error(*(char **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c)); - } - pOVar14 = (ObjectType *)&z; - z = local_2c.ObjectID; -LAB_080638c5: - *piVar18 = (int)pOVar14; - piVar18[-1] = 0x80638cd; - DeleteObject((Object *)*piVar18); - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void StartAuctions(void) - -{ - ushort uVar1; - ulong uVar2; - int iVar3; - int iVar4; - char_0__30_ *OwnerNames; - int iVar5; - THouse *pTVar6; - THouse *pTVar7; - THouse *pTVar8; - int iVar9; - int iVar10; - THouse *house; - int i; - undefined4 *puVar11; - ushort_0_ *HouseIDs; - int_0_ *PaidUntils; - uint uVar12; - int iVar13; - uint uStack_90; - int iStack_78; - ushort auStack_74 [4]; - int local_6c; - ulong_0_ *OwnerIDs; - int local_64; - int NumberOfHouses; - int NumberOfAuctions; - char HelpWorld [60]; - - OwnerIDs = &stack0xffffff74; - uStack_90 = 0x8064b52; - Log("houses","Starte neue Versteigerungen...\n"); - iVar13 = 0; - if (0 < Houses) { - do { - iVar9 = iVar13 + 1; - uStack_90 = 0x8065101; - pTVar6 = vector::operator()(&House,iVar13); - pTVar6->Help = 0; - iVar13 = iVar9; - } while (iVar9 < Houses); - } - NumberOfHouses = Houses; - iVar9 = -(Houses * 2 + 0xfU & 0xfffffff0); - puVar11 = (undefined4 *)(&stack0xffffff74 + iVar9); - iVar13 = (int)auStack_74 + iVar9; - *(int *)(&stack0xffffff7c + iVar9) = iVar13; - *(int **)(&stack0xffffff78 + iVar9) = &NumberOfHouses; - *(TQueryManagerConnection **)(&stack0xffffff74 + iVar9) = QueryManagerConnection; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8064b87; - iVar5 = TQueryManagerConnection::getAuctions - (*(TQueryManagerConnection **)(&stack0xffffff74 + iVar9), - *(int **)(&stack0xffffff78 + iVar9),*(ushort **)(&stack0xffffff7c + iVar9)); - if (iVar5 == 0) { - iVar5 = 0; - if (0 < NumberOfHouses) { - do { - *(uint *)(&stack0xffffff74 + iVar9) = (uint)*(ushort *)(iVar13 + iVar5 * 2); - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x80650ad; - pTVar6 = GetHouse(*(ushort *)(&stack0xffffff74 + iVar9)); - if (pTVar6 == (THouse *)0x0) { - uVar1 = *(ushort *)(iVar13 + iVar5 * 2); - *(char **)(&stack0xffffff74 + iVar9) = - "StartAuctions: Haus mit Nummer %d existiert nicht (1).\n"; - *(uint *)(&stack0xffffff78 + iVar9) = (uint)uVar1; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x80650db; - error(*(char **)(&stack0xffffff74 + iVar9)); - } - else { - pTVar6->Help = 1; - } - iVar5 = iVar5 + 1; - } while (iVar5 < NumberOfHouses); - } - *(char **)(&stack0xffffff78 + iVar9) = WorldName; - iVar5 = 0; - *(int **)(&stack0xffffff74 + iVar9) = &NumberOfAuctions; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8064baf; - AddSlashes(*(char **)(&stack0xffffff74 + iVar9),*(char **)(&stack0xffffff78 + iVar9)); - if (0 < Houses) { - do { - *(int *)(&stack0xffffff78 + iVar9) = iVar5; - *(vector **)(&stack0xffffff74 + iVar9) = &House; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8064fa7; - pTVar6 = vector::operator() - (*(vector **)(&stack0xffffff74 + iVar9), - *(int *)(&stack0xffffff78 + iVar9)); - if (pTVar6->OwnerID == 0) { - *(int *)(&stack0xffffff78 + iVar9) = iVar5; - *(vector **)(&stack0xffffff74 + iVar9) = &House; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8064fd0; - pTVar6 = vector::operator() - (*(vector **)(&stack0xffffff74 + iVar9), - *(int *)(&stack0xffffff78 + iVar9)); - if (pTVar6->Help == 0) { - *(int *)(&stack0xffffff78 + iVar9) = iVar5; - *(vector **)(&stack0xffffff74 + iVar9) = &House; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8064fea; - pTVar6 = vector::operator() - (*(vector **)(&stack0xffffff74 + iVar9), - *(int *)(&stack0xffffff78 + iVar9)); - if (pTVar6->NoAuction == false) { - *(int *)(&stack0xffffff78 + iVar9) = iVar5; - *(vector **)(&stack0xffffff74 + iVar9) = &House; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8065003; - pTVar6 = vector::operator() - (*(vector **)(&stack0xffffff74 + iVar9), - *(int *)(&stack0xffffff78 + iVar9)); - uVar1 = pTVar6->ID; - *(char **)(&stack0xffffff74 + iVar9) = "houses"; - *(char **)(&stack0xffffff78 + iVar9) = - "Trage Haus %d zur Versteigerung ein.\n"; - *(uint *)(&stack0xffffff7c + iVar9) = (uint)uVar1; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x806501e; - Log(*(char **)(&stack0xffffff74 + iVar9), - *(char **)(&stack0xffffff78 + iVar9)); - *(vector **)(&stack0xffffff74 + iVar9) = &House; - *(int *)(&stack0xffffff78 + iVar9) = iVar5; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x806502e; - pTVar6 = vector::operator() - (*(vector **)(&stack0xffffff74 + iVar9), - *(int *)(&stack0xffffff78 + iVar9)); - uVar1 = pTVar6->ID; - *(char **)(&stack0xffffff74 + iVar9) = "houses"; - *(int **)(&stack0xffffff7c + iVar9) = &NumberOfAuctions; - *(char **)(&stack0xffffff78 + iVar9) = - "bei Reset: DELETE FROM Auctions WHERE World=\'%s\' AND HouseID=%d;\n" - ; - *(uint *)(&stack0xffffff80 + iVar9) = (uint)uVar1; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x806504d; - Log(*(char **)(&stack0xffffff74 + iVar9), - *(char **)(&stack0xffffff78 + iVar9)); - *(vector **)(&stack0xffffff74 + iVar9) = &House; - *(int *)(&stack0xffffff78 + iVar9) = iVar5; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x806505d; - pTVar6 = vector::operator() - (*(vector **)(&stack0xffffff74 + iVar9), - *(int *)(&stack0xffffff78 + iVar9)); - *(uint *)(&stack0xffffff78 + iVar9) = (uint)pTVar6->ID; - *(TQueryManagerConnection **)(&stack0xffffff74 + iVar9) = - QueryManagerConnection; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8065071; - iVar10 = TQueryManagerConnection::startAuction - (*(TQueryManagerConnection **) - (&stack0xffffff74 + iVar9), - *(ushort *)(&stack0xffffff78 + iVar9)); - if (iVar10 != 0) { - *(int *)(&stack0xffffff78 + iVar9) = iVar5; - *(vector **)(&stack0xffffff74 + iVar9) = &House; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8065089; - pTVar6 = vector::operator() - (*(vector **)(&stack0xffffff74 + iVar9), - *(int *)(&stack0xffffff78 + iVar9)); - uVar1 = pTVar6->ID; - *(char **)(&stack0xffffff74 + iVar9) = - "StartAuctions: Kann Haus %d nicht zur Versteigerung eintragen.\n" - ; - *(uint *)(&stack0xffffff78 + iVar9) = (uint)uVar1; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x806509c; - error(*(char **)(&stack0xffffff74 + iVar9)); - } - } - } - } - iVar5 = iVar5 + 1; - } while (iVar5 < Houses); - } - iVar5 = 0; - if (0 < Houses) { - do { - *(int *)(&stack0xffffff78 + iVar9) = iVar5; - iVar5 = iVar5 + 1; - *(vector **)(&stack0xffffff74 + iVar9) = &House; - *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8064f83; - pTVar6 = vector::operator() - (*(vector **)(&stack0xffffff74 + iVar9), - *(int *)(&stack0xffffff78 + iVar9)); - pTVar6->Help = 0; - } while (iVar5 < Houses); - } - local_64 = Houses; - uVar12 = (Houses + -1) * 4 + 0x13U & 0xfffffff0; - iVar5 = -uVar12; - iVar4 = iVar5 + iVar9 + -0x8c; - iVar10 = -((Houses + -1) * 0x1e + 0x2dU & 0xfffffff0); - local_6c = (int)auStack_74 + iVar5 + iVar9; - iVar3 = -uVar12; - puVar11 = (undefined4 *)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c); - *(int *)(&stack0xffffff84 + iVar3 + iVar10 + iVar4 + 0x8c) = - (int)auStack_74 + iVar10 + iVar5 + iVar9 + -0x8c + 0x8c; - iVar9 = (int)auStack_74 + iVar3 + iVar10 + iVar4 + 0x8c; - *(int *)(HelpWorld + iVar3 + iVar10 + iVar4 + 0x6c) = iVar9; - iVar5 = local_6c; - *(int **)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = &local_64; - *(int *)(&stack0xffffff7c + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(int *)(&stack0xffffff80 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar5; - *(TQueryManagerConnection **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - QueryManagerConnection; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064c20; - iVar5 = TQueryManagerConnection::getHouseOwners - (*(TQueryManagerConnection **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int **)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c), - *(ushort **)(&stack0xffffff7c + iVar3 + iVar10 + iVar4 + 0x8c), - *(ulong **)(&stack0xffffff80 + iVar3 + iVar10 + iVar4 + 0x8c), - *(char (**) [30])(&stack0xffffff84 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int **)(HelpWorld + iVar3 + iVar10 + iVar4 + 0x6c)); - if (iVar5 == 0) { - iVar5 = 0; - if (0 < local_64) { - do { - *(uint *)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - (uint)*(ushort *)(iVar13 + iVar5 * 2); - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064efc; - pTVar6 = GetHouse(*(ushort *)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c)) - ; - if (pTVar6 == (THouse *)0x0) { - uVar1 = *(ushort *)(iVar13 + iVar5 * 2); - *(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - "StartAuctions: Haus mit Nummer %d existiert nicht (2).\n"; - *(uint *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = (uint)uVar1; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064f5b - ; - error(*(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c)); - } - else { - pTVar6->Help = 1; - if (pTVar6->OwnerID != *(ulong *)(local_6c + iVar5 * 4)) { - pTVar6->Help = 2; - } - if (pTVar6->PaidUntil != *(int *)(iVar9 + iVar5 * 4)) { - pTVar6->Help = 2; - } - } - iVar5 = iVar5 + 1; - } while (iVar5 < local_64); - } - *(char **)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = - "Aktualisiere Liste der Mieter...\n"; - iVar13 = 0; - *(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = "houses"; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064c49; - Log(*(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(char **)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - if (Houses < 1) { - return; - } - do { - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064c70; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - if (pTVar6->OwnerID == 0) { - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064e60; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - if (pTVar6->Help != 0) { - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - &House; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064e7e - ; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + - iVar3 + iVar10 + iVar4 + 0x8c)); - uVar1 = pTVar6->ID; - *(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = "houses"; - *(char **)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = - "Trage nicht mehr vermietetes Haus %d aus.\n"; - *(uint *)(&stack0xffffff7c + iVar3 + iVar10 + iVar4 + 0x8c) = (uint)uVar1; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064e99 - ; - Log(*(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(char **)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - &House; - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064ea9 - ; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + - iVar3 + iVar10 + iVar4 + 0x8c)); - *(uint *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = - (uint)pTVar6->ID; - *(TQueryManagerConnection **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = QueryManagerConnection - ; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064ebd - ; - iVar9 = TQueryManagerConnection::deleteHouseOwner - (*(TQueryManagerConnection **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(ushort *) - (&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - if (iVar9 != 0) { - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - &House; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = - 0x8064ed5; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + - iVar3 + iVar10 + iVar4 + 0x8c)); - uVar1 = pTVar6->ID; - *(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - "StartAuctions: Kann nicht mehr vermietetes Haus %d nicht austragen.\n" - ; - *(uint *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = - (uint)uVar1; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = - 0x8064ee8; - error(*(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c)); - } - } - } - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064c8e; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - if (pTVar6->OwnerID != 0) { - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064d87; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - if (pTVar6->Help == 0) { - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - &House; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064da5 - ; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + - iVar3 + iVar10 + iVar4 + 0x8c)); - uVar1 = pTVar6->ID; - *(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = "houses"; - *(char **)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = - "Trage vermietetes Haus %d ein.\n"; - *(uint *)(&stack0xffffff7c + iVar3 + iVar10 + iVar4 + 0x8c) = (uint)uVar1; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064dc0 - ; - Log(*(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(char **)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - &House; - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064dd0 - ; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + - iVar3 + iVar10 + iVar4 + 0x8c)); - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - &House; - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064de2 - ; - pTVar7 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + - iVar3 + iVar10 + iVar4 + 0x8c)); - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - &House; - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064df4 - ; - pTVar8 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + - iVar3 + iVar10 + iVar4 + 0x8c)); - uVar1 = pTVar8->ID; - *(int *)(&stack0xffffff80 + iVar3 + iVar10 + iVar4 + 0x8c) = - pTVar6->PaidUntil; - uVar2 = pTVar7->OwnerID; - *(uint *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = (uint)uVar1; - *(ulong *)(&stack0xffffff7c + iVar3 + iVar10 + iVar4 + 0x8c) = uVar2; - *(TQueryManagerConnection **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = QueryManagerConnection - ; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064e1c - ; - iVar9 = TQueryManagerConnection::insertHouseOwner - (*(TQueryManagerConnection **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(ushort *) - (&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c), - *(ulong *)(&stack0xffffff7c + - iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff80 + iVar3 + iVar10 + iVar4 + 0x8c - )); - if (iVar9 != 0) { - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - &House; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = - 0x8064e34; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + - iVar3 + iVar10 + iVar4 + 0x8c)); - uVar1 = pTVar6->ID; - *(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - "StartAuctions: Kann vermietetes Haus %d nicht eintragen.\n"; - *(uint *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = - (uint)uVar1; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = - 0x8064e47; - error(*(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c)); - } - } - } - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064cac; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - if (pTVar6->Help == 2) { - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064cd0; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - uVar1 = pTVar6->ID; - *(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = "houses"; - *(char **)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = - "Aktualisiere vermietetes Haus %d.\n"; - *(uint *)(&stack0xffffff7c + iVar3 + iVar10 + iVar4 + 0x8c) = (uint)uVar1; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064ceb; - Log(*(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(char **)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House; - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064cfb; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House; - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064d0d; - pTVar7 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House; - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064d1f; - pTVar8 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c)); - uVar1 = pTVar8->ID; - *(int *)(&stack0xffffff80 + iVar3 + iVar10 + iVar4 + 0x8c) = pTVar6->PaidUntil; - uVar2 = pTVar7->OwnerID; - *(uint *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = (uint)uVar1; - *(ulong *)(&stack0xffffff7c + iVar3 + iVar10 + iVar4 + 0x8c) = uVar2; - *(TQueryManagerConnection **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) - = QueryManagerConnection; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064d47; - iVar9 = TQueryManagerConnection::updateHouseOwner - (*(TQueryManagerConnection **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(ushort *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) - ,*(ulong *)(&stack0xffffff7c + iVar3 + iVar10 + iVar4 + 0x8c) - ,*(int *)(&stack0xffffff80 + iVar3 + iVar10 + iVar4 + 0x8c)); - if (iVar9 != 0) { - *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13; - *(vector **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - &House; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064d5f - ; - pTVar6 = vector::operator() - (*(vector **) - (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c), - *(int *)(&stack0xffffff78 + - iVar3 + iVar10 + iVar4 + 0x8c)); - uVar1 = pTVar6->ID; - *(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = - "StartAuctions: Kann Daten des vermieteten Hauses %d nicht aktualisieren.\n" - ; - *(uint *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = (uint)uVar1; - *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064d72 - ; - error(*(char **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c)); - } - } - iVar13 = iVar13 + 1; - } while (iVar13 < Houses); - return; - } - *(undefined **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &DAT_080f46a0; - } - else { - *(char **)(&stack0xffffff74 + iVar9) = - "StartAuctions: Kann laufende Versteigerungen nicht ermitteln.\n"; - } - puVar11[-1] = 0x8064f69; - error((char *)*puVar11); - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void PrepareHouseCleanup(void) - -{ - HelpDepots = 0; - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void FinishHouseCleanup(void) - -{ - THelpDepot *pTVar1; - TPlayerData *PlayerData_00; - TPlayerData *PlayerData; - int i; - int i_00; - int iVar2; - Object local_2c [7]; - - if (0 < HelpDepots) { - i_00 = 1; - do { - pTVar1 = vector::operator()(&HelpDepot,i_00); - PlayerData_00 = AssignPlayerPoolSlot(pTVar1->CharacterID,false); - if (PlayerData_00 == (TPlayerData *)0x0) { - error(&DAT_080f4860); - return; - } - pTVar1 = vector::operator()(&HelpDepot,i_00); - local_2c[0].ObjectID = (pTVar1->Box).ObjectID; - pTVar1 = vector::operator()(&HelpDepot,i_00); - SaveDepot(PlayerData_00,pTVar1->DepotNr,local_2c); - iVar2 = i_00 + 1; - pTVar1 = vector::operator()(&HelpDepot,i_00); - local_2c[0].ObjectID = (pTVar1->Box).ObjectID; - DeleteObject(local_2c); - ReleasePlayerPoolSlot(PlayerData_00); - i_00 = iVar2; - } while (iVar2 <= HelpDepots); - } - HelpDepots = 0; - return; -} - - - -void CleanHouseField(int x,int y,int z) - -{ - bool bVar1; - ushort ID; - THouse *pTVar2; - THelpDepot *pTVar3; - TPlayerData *PlayerData_00; - ushort HouseID; - int i; - int DepotLoaded; - int iVar4; - THouse *house; - TPlayerData *PlayerData; - int sx; - int sy; - int sz; - undefined1 local_4c [16]; - Object local_3c [4]; - ulong local_2c; - - ID = GetHouseID(x,y,z); - if (ID == 0) { - bVar1 = CoordinateFlag(); - if (bVar1) { - iVar4 = y + 1; - ID = GetHouseID(x,iVar4,z); - if ((ID != 0) || (ID = GetHouseID(x + -1,iVar4,z), ID != 0)) goto LAB_0806526c; - ID = GetHouseID(x + 1,iVar4,z); - } - if (ID == 0) { - bVar1 = CoordinateFlag(); - if (bVar1) { - iVar4 = x + 1; - ID = GetHouseID(iVar4,y,z); - if ((ID != 0) || (ID = GetHouseID(iVar4,y + -1,z), ID != 0)) goto LAB_0806526c; - ID = GetHouseID(iVar4,y + 1,z); - } - if (ID == 0) { - error("CleanHouseField: Kein Haus zu Feld [%d,%d,%d] gefunden.\n",x,y,z); - return; - } - } - } -LAB_0806526c: - pTVar2 = GetHouse(ID); - if ((pTVar2 != (THouse *)0x0) && (pTVar2->OwnerID != 0)) { - i = 1; - iVar4 = -1; - if (0 < HelpDepots) { - do { - pTVar3 = vector::operator()(&HelpDepot,i); - if ((pTVar3->CharacterID == pTVar2->OwnerID) && - (pTVar3 = vector::operator()(&HelpDepot,i), - pTVar3->DepotNr == pTVar2->DepotNr)) { - iVar4 = i; - } - i = i + 1; - } while (i <= HelpDepots); - } - if (iVar4 == -1) { - PlayerData_00 = AssignPlayerPoolSlot(pTVar2->OwnerID,false); - if (PlayerData_00 == (TPlayerData *)0x0) { - error(&DAT_080f48c0); - return; - } - HelpDepots = HelpDepots + 1; - pTVar3 = vector::operator()(&HelpDepot,HelpDepots); - pTVar3->CharacterID = pTVar2->OwnerID; - pTVar3 = vector::operator()(&HelpDepot,HelpDepots); - pTVar3->DepotNr = pTVar2->DepotNr; - GetStartPosition((int *)&PlayerData,&sx,&sy,true); - pTVar3 = vector::operator()(&HelpDepot,HelpDepots); - GetSpecialObject((SPECIALMEANING)local_4c); - GetMapContainer((int)&sz,(int)PlayerData,sx); - SetObject(local_3c,(ObjectType *)&sz,(ulong)local_4c); - (pTVar3->Box).ObjectID = local_3c[0].ObjectID; - local_2c = local_3c[0].ObjectID; - pTVar3 = vector::operator()(&HelpDepot,HelpDepots); - sz = (pTVar3->Box).ObjectID; - LoadDepot(PlayerData_00,pTVar2->DepotNr,(Object *)&sz); - iVar4 = HelpDepots; - ReleasePlayerPoolSlot(PlayerData_00); - } - pTVar3 = vector::operator()(&HelpDepot,iVar4); - sz = (pTVar3->Box).ObjectID; - CleanField(); - } - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void LoadHouseAreas(void) - -{ - bool bVar1; - THouseArea *pTVar2; - int iVar3; - char *__s; - char *__oflag; - undefined1 local_4ffc [4]; - TReadScriptFile Script; - char local_101c [4]; - char FileName [4096]; - - // try { // try from 080655d1 to 0806562e has its CatchHandler @ 08065780 - Log("houses",&DAT_080f4940); - __oflag = DATAPATH; - __s = local_101c; - sprintf(__s,"%s/houseareas.dat"); - bVar1 = FileExists(__s); - if (bVar1) { - TReadScriptFile::TReadScriptFile((TReadScriptFile *)local_4ffc); - // try { // try from 08065636 to 08065747 has its CatchHandler @ 08065755 - TReadScriptFile::open((TReadScriptFile *)local_4ffc,__s,(int)__oflag); - while( true ) { - TReadScriptFile::nextToken((TReadScriptFile *)local_4ffc); - if (local_4ffc == (undefined1 [4])0x0) break; - if (local_4ffc != (undefined1 [4])0x1) { - TReadScriptFile::error((TReadScriptFile *)local_4ffc,"Identifier expected"); - } - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,'='); - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,'('); - pTVar2 = vector::operator()(&HouseArea,HouseAreas); - iVar3 = TReadScriptFile::readNumber((TReadScriptFile *)local_4ffc); - pTVar2->ID = (ushort)iVar3; - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,','); - TReadScriptFile::readString((TReadScriptFile *)local_4ffc); - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,','); - pTVar2 = vector::operator()(&HouseArea,HouseAreas); - iVar3 = TReadScriptFile::readNumber((TReadScriptFile *)local_4ffc); - pTVar2->SQMPrice = iVar3; - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,','); - pTVar2 = vector::operator()(&HouseArea,HouseAreas); - iVar3 = TReadScriptFile::readNumber((TReadScriptFile *)local_4ffc); - pTVar2->DepotNr = iVar3; - __s = (char *)0x29; - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,')'); - HouseAreas = HouseAreas + 1; - } - TReadScriptFile::close((TReadScriptFile *)local_4ffc,(int)__s); - // try { // try from 0806574b to 0806574f has its CatchHandler @ 08065780 - TReadScriptFile::~TReadScriptFile((TReadScriptFile *)local_4ffc,(int)__s); - } - else { - Log("houses",&DAT_080f4980); - } - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void LoadHouses(void) - -{ - int iVar1; - bool bVar2; - char cVar3; - THouse *pTVar4; - int iVar5; - THouse *pTVar6; - char *pcVar7; - THouseArea *pTVar8; - undefined4 *puVar9; - int *piVar10; - int i; - int iVar11; - uint uVar12; - int_0_ *piVar13; - int i_1; - int iVar14; - undefined1 uVar15; - undefined4 uStack_5080; - char *pcVar16; - int local_506c [8]; - int_0_ local_504c [4]; - int_0_ *local_5048; - bool_0_ *Guildhouses; - int_0_ *Sizes; - int_0_ *Rents; - char_0__30_ *Towns; - char___0_ *Descriptions; - char___0_ *Names; - int_0_ *PositionsZ; - int_0_ *PositionsY; - int_0_ *PositionsX; - ushort_0_ *HouseIDs; - TQueryManagerConnection *local_501c; - THouseArea *local_5018; - int local_5014; - int RentOffset; - int local_500c; - int local_5008; - int x; - int y; - int z; - TReadScriptFile Script; - char local_101c [4]; - char FileName [4096]; - - HouseIDs = &stack0xffffaf84; - // try { // try from 080657b7 to 0806582d has its CatchHandler @ 080663c1 - uStack_5080 = 0x80657bc; - Log("houses",&DAT_080f4e5f); - pcVar7 = local_101c; - MaxHouseX = 0; - Houses = 0; - MaxHouseY = 0; - pcVar16 = DATAPATH; - uStack_5080 = 0x80657f2; - sprintf(pcVar7,"%s/houses.dat"); - uStack_5080 = 0x80657fa; - bVar2 = FileExists(pcVar7); - if (bVar2) { - uStack_5080 = 0x806582e; - TReadScriptFile::TReadScriptFile((TReadScriptFile *)&z); - // try { // try from 0806583b to 08066090 has its CatchHandler @ 080663bb - uStack_5080 = 0x8065840; - TReadScriptFile::open((TReadScriptFile *)&z,pcVar7,(int)pcVar16); - while( true ) { - uStack_5080 = 0x806584e; - TReadScriptFile::nextToken((TReadScriptFile *)&z); - if (z == 0) break; - if (z != 1) { - uStack_5080 = 0x8065875; - TReadScriptFile::error((TReadScriptFile *)&z,"Identifier expected"); - } - uStack_5080 = 0x806588b; - TReadScriptFile::readSymbol((TReadScriptFile *)&z,'='); - uStack_5080 = 0x80658a0; - pTVar4 = vector::operator()(&House,Houses); - uStack_5080 = 0x80658b0; - iVar5 = TReadScriptFile::readNumber((TReadScriptFile *)&z); - pTVar4->ID = (ushort)iVar5; - uStack_5080 = 0x80658c8; - pTVar4 = vector::operator()(&House,Houses); - if (pTVar4->ID == 0) { - uStack_5080 = 0x8066056; - pTVar4 = vector::operator()(&House,Houses); - uVar12 = (uint)pTVar4->ID; - uStack_5080 = 0x8066069; - error(&DAT_080f4eb7); -LAB_08065fc4: - uStack_5080 = 0x8065fc9; - TReadScriptFile::close((TReadScriptFile *)&z,uVar12); - uStack_5080 = 0x8065fd5; - puVar9 = (undefined4 *)__cxa_allocate_exception(); - *puVar9 = "Cannot load houses"; - // WARNING: Subroutine does not return - uStack_5080 = 0x8065ff3; - __cxa_throw(); - } - if (0 < Houses) { - uStack_5080 = 0x80658eb; - pTVar4 = vector::operator()(&House,Houses); - uStack_5080 = 0x8065903; - pTVar6 = vector::operator()(&House,Houses + -1); - if (pTVar4->ID <= pTVar6->ID) { - uStack_5080 = 0x8066023; - pTVar4 = vector::operator()(&House,Houses); - uVar12 = (uint)pTVar4->ID; - uStack_5080 = 0x8066036; - error("LoadHouses: IDs nicht aufsteigend sortiert (ID=%d).\n"); - goto LAB_08065fc4; - } - } - uStack_5080 = 0x806591d; - TReadScriptFile::readIdentifier((TReadScriptFile *)&z); - uStack_5080 = 0x8065933; - TReadScriptFile::readSymbol((TReadScriptFile *)&z,'='); - uStack_5080 = 0x8065941; - pcVar7 = TReadScriptFile::readString((TReadScriptFile *)&z); - uStack_5080 = 0x8065958; - pTVar4 = vector::operator()(&House,Houses); - uStack_5080 = 0x806596d; - strcpy(pTVar4->Name,pcVar7); - uStack_5080 = 0x8065975; - TReadScriptFile::readIdentifier((TReadScriptFile *)&z); - uStack_5080 = 0x8065985; - TReadScriptFile::readSymbol((TReadScriptFile *)&z,'='); - uStack_5080 = 0x806598d; - pcVar7 = TReadScriptFile::readString((TReadScriptFile *)&z); - uStack_5080 = 0x80659a4; - pTVar4 = vector::operator()(&House,Houses); - uStack_5080 = 0x80659b3; - strcpy(pTVar4->Description,pcVar7); - uStack_5080 = 0x80659bb; - TReadScriptFile::readIdentifier((TReadScriptFile *)&z); - uStack_5080 = 0x80659cb; - TReadScriptFile::readSymbol((TReadScriptFile *)&z,'='); - uStack_5080 = 0x80659d3; - local_5014 = TReadScriptFile::readNumber((TReadScriptFile *)&z); - uStack_5080 = 0x80659e1; - TReadScriptFile::readIdentifier((TReadScriptFile *)&z); - uStack_5080 = 0x80659f1; - TReadScriptFile::readSymbol((TReadScriptFile *)&z,'='); - uStack_5080 = 0x80659f9; - iVar5 = TReadScriptFile::readNumber((TReadScriptFile *)&z); - iVar11 = 0; - if (0 < HouseAreas) { - do { - uStack_5080 = 0x8065a16; - pTVar8 = vector::operator()(&HouseArea,iVar11); - if (pTVar8->ID == (ushort)iVar5) { - uStack_5080 = 0x8066003; - local_5018 = vector::operator()(&HouseArea,iVar11); - goto LAB_08065a40; - } - iVar11 = iVar11 + 1; - } while (iVar11 < HouseAreas); - } - uStack_5080 = 0x8065a38; - error("GetHouseArea: Gebiet mit ID %d nicht gefunden.\n"); - local_5018 = (THouseArea *)0x0; -LAB_08065a40: - uVar15 = local_5018 == (THouseArea *)0x0; - if ((bool)uVar15) { - uStack_5080 = 0x8065fa8; - pTVar4 = vector::operator()(&House,Houses); - uVar12 = (uint)pTVar4->ID; - uStack_5080 = 0x8065fbb; - error(&DAT_080f4a00); - goto LAB_08065fc4; - } - uStack_5080 = 0x8065a63; - pTVar4 = vector::operator()(&House,Houses); - pTVar4->DepotNr = local_5018->DepotNr; - uStack_5080 = 0x8065a80; - TReadScriptFile::readIdentifier((TReadScriptFile *)&z); - uStack_5080 = 0x8065a90; - TReadScriptFile::readSymbol((TReadScriptFile *)&z,'='); - uStack_5080 = 0x8065aa5; - pTVar4 = vector::operator()(&House,Houses); - uStack_5080 = 0x8065aaf; - pcVar7 = TReadScriptFile::readIdentifier((TReadScriptFile *)&z); - iVar5 = 5; - pcVar16 = "true"; - do { - if (iVar5 == 0) break; - iVar5 = iVar5 + -1; - uVar15 = *pcVar7 == *pcVar16; - pcVar7 = pcVar7 + 1; - pcVar16 = pcVar16 + 1; - } while ((bool)uVar15); - pTVar4->GuildHouse = (bool)uVar15; - uStack_5080 = 0x8065adc; - pTVar4 = vector::operator()(&House,Houses); - pTVar4->NoAuction = false; - uStack_5080 = 0x8065af1; - TReadScriptFile::readIdentifier((TReadScriptFile *)&z); - uStack_5080 = 0x8065b07; - TReadScriptFile::readSymbol((TReadScriptFile *)&z,'='); - uStack_5080 = 0x8065b1c; - vector::operator()(&House,Houses); - uStack_5080 = 0x8065b37; - vector::operator()(&House,Houses); - uStack_5080 = 0x8065b52; - vector::operator()(&House,Houses); - uStack_5080 = 0x8065b71; - TReadScriptFile::readCoordinate((TReadScriptFile *)&z); - uStack_5080 = 0x8065b86; - pTVar4 = vector::operator()(&House,Houses); - if (pTVar4->ExitX == 0) { - uStack_5080 = 0x8065f7b; - vector::operator()(&House,Houses); - uStack_5080 = 0x8065f8e; - error(&DAT_080f49c0); - } - uStack_5080 = 0x8065ba2; - TReadScriptFile::readIdentifier((TReadScriptFile *)&z); - uStack_5080 = 0x8065bb2; - TReadScriptFile::readSymbol((TReadScriptFile *)&z,'='); - uStack_5080 = 0x8065bc7; - vector::operator()(&House,Houses); - uStack_5080 = 0x8065be2; - vector::operator()(&House,Houses); - uStack_5080 = 0x8065bfd; - vector::operator()(&House,Houses); - uStack_5080 = 0x8065c16; - TReadScriptFile::readCoordinate((TReadScriptFile *)&z); - uStack_5080 = 0x8065c2b; - pTVar4 = vector::operator()(&House,Houses); - if (pTVar4->CenterX == 0) { - uStack_5080 = 0x8065f4e; - vector::operator()(&House,Houses); - uStack_5080 = 0x8065f61; - error(&DAT_080f49c0); - } - uStack_5080 = 0x8065c47; - TReadScriptFile::readIdentifier((TReadScriptFile *)&z); - uStack_5080 = 0x8065c5d; - TReadScriptFile::readSymbol((TReadScriptFile *)&z,'='); - uStack_5080 = 0x8065c6d; - TReadScriptFile::readSymbol((TReadScriptFile *)&z,'{'); - uStack_5080 = 0x8065c82; - pTVar4 = vector::operator()(&House,Houses); - pTVar4->Size = 0; - while( true ) { - uStack_5080 = 0x8065c98; - TReadScriptFile::nextToken((TReadScriptFile *)&z); - if (z != 6) goto LAB_08065cd2; - uStack_5080 = 0x8065caf; - cVar3 = TReadScriptFile::getSpecial((TReadScriptFile *)&z); - if (cVar3 == '}') break; - if (z != 6) goto LAB_08065cd2; - uStack_5080 = 0x8065cce; - cVar3 = TReadScriptFile::getSpecial((TReadScriptFile *)&z); - if (cVar3 != ',') { -LAB_08065cd2: - uStack_5080 = 0x8065cfe; - TReadScriptFile::getCoordinate((TReadScriptFile *)&z); - uStack_5080 = 0x8065d13; - pTVar4 = vector::operator()(&House,Houses); - uStack_5080 = 0x8065d3c; - SetHouseID(local_5008,x,y,pTVar4->ID); - uStack_5080 = 0x8065d51; - pTVar4 = vector::operator()(&House,Houses); - pTVar4->Size = pTVar4->Size + 1; - uStack_5080 = 0x8065d6c; - pTVar4 = vector::operator()(&House,Houses); - uVar12 = local_5008 - pTVar4->CenterX; - if (0x7fffffff < uVar12) { - uVar12 = -uVar12; - } - if (MaxHouseX < (int)uVar12) { - uStack_5080 = 0x8065e12; - pTVar4 = vector::operator()(&House,Houses); - MaxHouseX = local_5008 - pTVar4->CenterX; - if (0x7fffffff < (uint)MaxHouseX) { - MaxHouseX = -MaxHouseX; - } - } - uStack_5080 = 0x8065da1; - pTVar4 = vector::operator()(&House,Houses); - uVar12 = x - pTVar4->CenterY; - if (0x7fffffff < uVar12) { - uVar12 = -uVar12; - } - if (MaxHouseY < (int)uVar12) { - uStack_5080 = 0x8065dda; - pTVar4 = vector::operator()(&House,Houses); - MaxHouseY = x - pTVar4->CenterY; - if (0x7fffffff < (uint)MaxHouseY) { - MaxHouseY = -MaxHouseY; - } - } - } - } - uStack_5080 = 0x8065e4a; - pTVar4 = vector::operator()(&House,Houses); - uStack_5080 = 0x8065e61; - pTVar6 = vector::operator()(&House,Houses); - iVar5 = Houses; - pTVar4->Rent = local_5018->SQMPrice * pTVar6->Size + local_5014; - uStack_5080 = 0x8065e96; - pTVar4 = vector::operator()(&House,iVar5); - pTVar4->OwnerID = 0; - uStack_5080 = 0x8065eb3; - pTVar4 = vector::operator()(&House,Houses); - pTVar4->OwnerName[0] = '\0'; - uStack_5080 = 0x8065ecf; - pTVar4 = vector::operator()(&House,Houses); - pTVar4->LastTransition = 0; - uStack_5080 = 0x8065eec; - pTVar4 = vector::operator()(&House,Houses); - pTVar4->PaidUntil = 0; - uStack_5080 = 0x8065f09; - pTVar4 = vector::operator()(&House,Houses); - pTVar4->Subowners = 0; - uStack_5080 = 0x8065f26; - pcVar7 = (char *)Houses; - pTVar4 = vector::operator()(&House,Houses); - pTVar4->Guests = 0; - Houses = Houses + 1; - } - uStack_5080 = 0x8066085; - TReadScriptFile::close((TReadScriptFile *)&z,(int)pcVar7); - uStack_5080 = 0x8066091; - local_501c = (TQueryManagerConnection *)operator_new(0x30); - local_500c = 0x4000; - RentOffset = Houses * 600; - piVar10 = &RentOffset; - if (Houses * 600 < 0x4001) { - piVar10 = &local_500c; - } - // try { // try from 080660d6 to 080660da has its CatchHandler @ 08066388 - uStack_5080 = 0x80660db; - TQueryManagerConnection::TQueryManagerConnection(local_501c,*piVar10); - QueryManagerConnection = local_501c; - iVar5 = Houses + -1; - iVar11 = -(Houses + 0x10 + iVar5 & 0xfffffff0U); - PositionsX = local_504c + iVar11; - uVar12 = iVar5 * 4 + 0x13U & 0xfffffff0; - PositionsY = local_504c + (iVar11 - uVar12); - PositionsZ = local_504c + uVar12 * -2 + iVar11; - Names = local_504c + uVar12 * -3 + iVar11; - Descriptions = local_504c + uVar12 * -4 + iVar11; - iVar5 = -(iVar5 * 0x1e + 0x2dU & 0xfffffff0); - Towns = local_504c + uVar12 * -5 + iVar11; - piVar13 = local_504c + iVar5 + uVar12 * -5 + iVar11; - Rents = piVar13; - Sizes = local_504c + iVar5 + uVar12 * -6 + iVar11; - iVar1 = -(Houses + 0xfU & 0xfffffff0); - local_5048 = local_504c + iVar1 + iVar5 + uVar12 * -7 + iVar11; - iVar14 = 0; - Guildhouses = local_504c + iVar5 + uVar12 * -7 + iVar11; - if (0 < Houses) { - do { - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = iVar14; - *(vector **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) - = &House; - // try { // try from 080661a4 to 0806635c has its CatchHandler @ 080663bb - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = - 0x80661a9; - pTVar4 = vector::operator() - (*(vector **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10 - ),*(int *)((int)local_506c + - iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc)); - *(ushort *)(PositionsX + iVar14 * 2) = pTVar4->ID; - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = iVar14; - *(vector **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) - = &House; - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = - 0x80661c6; - pTVar4 = vector::operator() - (*(vector **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10 - ),*(int *)((int)local_506c + - iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc)); - *(char **)(Descriptions + iVar14 * 4) = pTVar4->Name; - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = iVar14; - *(vector **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) - = &House; - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = - 0x80661e2; - pTVar4 = vector::operator() - (*(vector **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10 - ),*(int *)((int)local_506c + - iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc)); - *(ulong *)(Sizes + iVar14 * 4) = pTVar4->Rent; - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = iVar14; - *(vector **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) - = &House; - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = - 0x8066201; - pTVar4 = vector::operator() - (*(vector **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10 - ),*(int *)((int)local_506c + - iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc)); - *(char **)(Towns + iVar14 * 4) = pTVar4->Description; - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = iVar14; - *(vector **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) - = &House; - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = - 0x806621d; - pTVar4 = vector::operator() - (*(vector **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10 - ),*(int *)((int)local_506c + - iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc)); - *(int *)(Guildhouses + iVar14 * 4) = pTVar4->Size; - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = iVar14; - *(vector **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) - = &House; - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = - 0x806623c; - pTVar4 = vector::operator() - (*(vector **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10 - ),*(int *)((int)local_506c + - iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc)); - *(int *)(PositionsY + iVar14 * 4) = pTVar4->CenterX; - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = iVar14; - *(vector **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) - = &House; - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = - 0x806625b; - pTVar4 = vector::operator() - (*(vector **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10 - ),*(int *)((int)local_506c + - iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc)); - *(int *)(PositionsZ + iVar14 * 4) = pTVar4->CenterY; - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = iVar14; - *(vector **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) - = &House; - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = - 0x806627a; - pTVar4 = vector::operator() - (*(vector **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10 - ),*(int *)((int)local_506c + - iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc)); - *(int *)(Names + iVar14 * 4) = pTVar4->CenterZ; - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = iVar14; - *(vector **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) - = &House; - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = - 0x8066299; - pTVar4 = vector::operator() - (*(vector **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10 - ),*(int *)((int)local_506c + - iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc)); - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) = - pTVar4->DepotNr; - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = - 0x80662a7; - pcVar7 = GetDepotName(*(int *)((int)local_506c + - iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10)); - *(char **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = pcVar7; - *(int_0_ **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) = - piVar13; - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = - 0x80662b3; - strcpy(*(char **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10), - *(char **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc)); - *(vector **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) - = &House; - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = iVar14; - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = - 0x80662c3; - pTVar4 = vector::operator() - (*(vector **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10 - ),*(int *)((int)local_506c + - iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc)); - piVar13 = piVar13 + 0x1e; - local_5048[iVar14] = pTVar4->GuildHouse; - iVar14 = iVar14 + 1; - } while (iVar14 < Houses); - } - *(int_0_ **)(local_504c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -4) = local_5048; - *(int_0_ **)(local_504c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -8) = Rents; - *(char___0_ **)(local_504c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = Names; - *(int_0_ **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + 0x10) = PositionsZ; - *(int_0_ **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + 0xc) = PositionsY; - *(bool_0_ **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + 8) = Guildhouses; - *(char_0__30_ **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + 4) = Towns; - *(int_0_ **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11) = Sizes; - *(char___0_ **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -4) = Descriptions; - *(int_0_ **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -8) = PositionsX; - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc) = Houses; - *(TQueryManagerConnection **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) = QueryManagerConnection; - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = 0x806635d; - iVar14 = TQueryManagerConnection::insertHouses - (*(TQueryManagerConnection **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10), - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc), - *(ushort **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -8), - *(char ***)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -4) - ,*(int **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11), - *(char ***)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + 4), - *(int **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + 8), - *(int **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + 0xc), - *(int **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + 0x10) - ,*(int **)(local_504c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc), - *(char (**) [30]) - (local_504c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -8), - *(bool **)(local_504c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -4)); - if (iVar14 != 0) { - *(undefined **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) = - &DAT_080f4a80; - // try { // try from 08066381 to 08066385 has its CatchHandler @ 080663bb - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = 0x8066386; - error(*(char **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10)); - } - *(int **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10) = &z; - // try { // try from 0806636a to 0806636e has its CatchHandler @ 080663c1 - *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) = 0x806636f; - TReadScriptFile::~TReadScriptFile - (*(TReadScriptFile **) - ((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10), - *(int *)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0xc)); - } - else { - uStack_5080 = 0x8065812; - Log("houses",&DAT_080f4e82); - } - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void LoadOwners(void) - -{ - ushort uVar1; - char_0__30_ *pcVar2; - bool bVar3; - char cVar4; - bool bVar5; - int_0_ *PaidUntils; - THouse *pTVar6; - ulong uVar7; - THouseGuest *pTVar8; - undefined4 *puVar9; - int iVar10; - int iVar11; - int iVar12; - int iVar13; - int iVar14; - ulong_0_ *OwnerIDs; - uint uVar15; - int iVar16; - undefined4 *puVar17; - THouse *house; - int iVar18; - char *pcVar19; - undefined1 uVar20; - undefined4 uStack_5080; - char *pcVar21; - char *pcVar22; - int aiStack_5070 [3]; - undefined1 auStack_5064 [16]; - int local_5054; - int z; - int y; - int x; - THouse *house_2; - int i_1; - char_0__30_ *OwnerNames; - ushort_0_ *HouseIDs; - char local_5032; - char local_5031; - bool ClearBeds; - int iStack_5030; - bool ClearGuests; - int NumberOfHouses; - ulong local_501c [4]; - ulong local_500c; - Object Bed; - undefined1 local_4ffc [4]; - TReadScriptFile Script; - char local_101c [4]; - char FileName [4096]; - - HouseIDs = &stack0xffffaf84; - puVar17 = (undefined4 *)&stack0xffffaf84; - // try { // try from 080663f7 to 0806646d has its CatchHandler @ 08066c00 - uStack_5080 = 0x80663fc; - Log("houses","Lade Mieterdaten...\n"); - local_5031 = '\0'; - pcVar21 = local_101c; - PaymentExtension = 0; - local_5032 = '\0'; - pcVar22 = DATAPATH; - uStack_5080 = 0x806642f; - sprintf(pcVar21,"%s/owners.dat"); - uStack_5080 = 0x8066437; - bVar3 = FileExists(pcVar21); - if (bVar3) { - uStack_5080 = 0x806646e; - TReadScriptFile::TReadScriptFile((TReadScriptFile *)local_4ffc); - // try { // try from 0806647b to 080668c5 has its CatchHandler @ 08066bf6 - uStack_5080 = 0x8066480; - TReadScriptFile::open((TReadScriptFile *)local_4ffc,pcVar21,(int)pcVar22); - while( true ) { - uStack_5080 = 0x806648e; - TReadScriptFile::nextToken((TReadScriptFile *)local_4ffc); - if (local_4ffc == (undefined1 [4])0x0) break; - uVar20 = local_4ffc == (undefined1 [4])0x1; - if (!(bool)uVar20) { - pcVar21 = "Identifier expected"; - uStack_5080 = 0x80664af; - TReadScriptFile::error((TReadScriptFile *)local_4ffc,"Identifier expected"); - } - uStack_5080 = 0x80664bd; - pcVar22 = TReadScriptFile::getIdentifier((TReadScriptFile *)local_4ffc); - iVar11 = 10; - pcVar19 = "extension"; - do { - if (iVar11 == 0) break; - iVar11 = iVar11 + -1; - uVar20 = *pcVar22 == *pcVar19; - pcVar22 = pcVar22 + 1; - pcVar19 = pcVar19 + 1; - } while ((bool)uVar20); - if ((bool)uVar20) { - pcVar21 = (char *)0x3d; - uStack_5080 = 0x80667f9; - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,'='); - uStack_5080 = 0x8066807; - PaymentExtension = TReadScriptFile::readNumber((TReadScriptFile *)local_4ffc); - } - else { - uStack_5080 = 0x80664e2; - pcVar22 = TReadScriptFile::getIdentifier((TReadScriptFile *)local_4ffc); - iVar11 = 0xc; - pcVar19 = "clearguests"; - do { - if (iVar11 == 0) break; - iVar11 = iVar11 + -1; - uVar20 = *pcVar22 == *pcVar19; - pcVar22 = pcVar22 + 1; - pcVar19 = pcVar19 + 1; - } while ((bool)uVar20); - if ((bool)uVar20) { - local_5031 = '\x01'; - } - else { - uStack_5080 = 0x8066507; - pcVar22 = TReadScriptFile::getIdentifier((TReadScriptFile *)local_4ffc); - iVar11 = 10; - pcVar19 = "clearbeds"; - do { - if (iVar11 == 0) break; - iVar11 = iVar11 + -1; - uVar20 = *pcVar22 == *pcVar19; - pcVar22 = pcVar22 + 1; - pcVar19 = pcVar19 + 1; - } while ((bool)uVar20); - if ((bool)uVar20) { - local_5032 = '\x01'; - } - else { - uStack_5080 = 0x806652c; - pcVar21 = TReadScriptFile::getIdentifier((TReadScriptFile *)local_4ffc); - iVar11 = 3; - pcVar22 = "id"; - do { - if (iVar11 == 0) break; - iVar11 = iVar11 + -1; - uVar20 = *pcVar21 == *pcVar22; - pcVar21 = pcVar21 + 1; - pcVar22 = pcVar22 + 1; - } while ((bool)uVar20); - if (!(bool)uVar20) { - uStack_5080 = 0x80667c6; - TReadScriptFile::error - ((TReadScriptFile *)local_4ffc,"Unknown identifier"); - } - uStack_5080 = 0x8066559; - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,'='); - uStack_5080 = 0x8066567; - iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)local_4ffc); - uStack_5080 = 0x8066572; - pTVar6 = GetHouse((ushort)iVar11); - if (pTVar6 == (THouse *)0x0) { - uStack_5080 = 0x8066780; - error("LoadOwners: Haus zu ID %d existiert nicht."); - goto LAB_08066780; - } - uStack_5080 = 0x806658a; - TReadScriptFile::readIdentifier((TReadScriptFile *)local_4ffc); - uStack_5080 = 0x80665a0; - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,'='); - uStack_5080 = 0x80665ae; - uVar7 = TReadScriptFile::readNumber((TReadScriptFile *)local_4ffc); - pTVar6->OwnerID = uVar7; - uStack_5080 = 0x80665bc; - TReadScriptFile::readIdentifier((TReadScriptFile *)local_4ffc); - uStack_5080 = 0x80665cc; - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,'='); - uStack_5080 = 0x80665d4; - iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)local_4ffc); - pTVar6->LastTransition = iVar11; - uStack_5080 = 0x80665e2; - TReadScriptFile::readIdentifier((TReadScriptFile *)local_4ffc); - uStack_5080 = 0x80665f2; - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,'='); - uStack_5080 = 0x80665fa; - iVar11 = TReadScriptFile::readNumber((TReadScriptFile *)local_4ffc); - pTVar6->PaidUntil = iVar11; - uStack_5080 = 0x8066608; - TReadScriptFile::readIdentifier((TReadScriptFile *)local_4ffc); - uStack_5080 = 0x8066618; - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,'='); - uStack_5080 = 0x8066628; - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,'{'); - while( true ) { - uStack_5080 = 0x8066636; - TReadScriptFile::nextToken((TReadScriptFile *)local_4ffc); - if (local_4ffc != (undefined1 [4])0x6) goto LAB_0806666c; - uStack_5080 = 0x806664d; - cVar4 = TReadScriptFile::getSpecial((TReadScriptFile *)local_4ffc); - if (cVar4 == '}') break; - if (local_4ffc != (undefined1 [4])0x6) goto LAB_0806666c; - uStack_5080 = 0x8066668; - cVar4 = TReadScriptFile::getSpecial((TReadScriptFile *)local_4ffc); - if (cVar4 != ',') { -LAB_0806666c: - uStack_5080 = 0x806667a; - pcVar21 = TReadScriptFile::getString((TReadScriptFile *)local_4ffc); - uStack_5080 = 0x8066694; - pTVar8 = vector<>::operator()(&pTVar6->Guest,pTVar6->Guests); - uStack_5080 = 0x80666a0; - strcpy(pTVar8->Name,pcVar21); - pTVar6->Guests = pTVar6->Guests + 1; - } - } - uStack_5080 = 0x80666b6; - TReadScriptFile::readIdentifier((TReadScriptFile *)local_4ffc); - uStack_5080 = 0x80666cc; - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,'='); - pcVar21 = (char *)0x7b; - uStack_5080 = 0x80666dc; - TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,'{'); - while( true ) { - uStack_5080 = 0x80666ea; - TReadScriptFile::nextToken((TReadScriptFile *)local_4ffc); - if (local_4ffc != (undefined1 [4])0x6) goto LAB_0806671a; - uStack_5080 = 0x8066701; - cVar4 = TReadScriptFile::getSpecial((TReadScriptFile *)local_4ffc); - if (cVar4 == '}') break; - if (local_4ffc != (undefined1 [4])0x6) goto LAB_0806671a; - uStack_5080 = 0x8066716; - cVar4 = TReadScriptFile::getSpecial((TReadScriptFile *)local_4ffc); - if (cVar4 != ',') { -LAB_0806671a: - uStack_5080 = 0x8066728; - pcVar21 = TReadScriptFile::getString((TReadScriptFile *)local_4ffc); - uStack_5080 = 0x8066742; - pTVar8 = vector<>::operator()(&pTVar6->Subowner,pTVar6->Subowners); - uStack_5080 = 0x806674e; - strcpy(pTVar8->Name,pcVar21); - pTVar6->Subowners = pTVar6->Subowners + 1; - } - } - if (local_5031 != '\0') { - pTVar6->Guests = 0; - } - } - } - } - } - uStack_5080 = 0x806681f; - TReadScriptFile::close((TReadScriptFile *)local_4ffc,(int)pcVar21); - iStack_5030 = Houses; - iVar12 = Houses + -1; - iVar11 = -(Houses + 0x10 + iVar12 & 0xfffffff0U); - uVar15 = iVar12 * 4 + 0x13U & 0xfffffff0; - OwnerNames = auStack_5064 + iVar11; - iVar12 = -(iVar12 * 0x1e + 0x2dU & 0xfffffff0); - puVar17 = (undefined4 *)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18); - i_1 = (int)(auStack_5064 + iVar12 + -uVar15 + iVar11); - *(undefined1 **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -4) = - auStack_5064 + iVar12 + uVar15 * -2 + iVar11; - *(undefined1 **)((int)aiStack_5070 + iVar12 + uVar15 * -2 + iVar11 + 4) = - auStack_5064 + iVar12 + -uVar15 + iVar11; - *(undefined1 **)((int)aiStack_5070 + iVar12 + uVar15 * -2 + iVar11) = - auStack_5064 + -uVar15 + iVar11; - pcVar2 = OwnerNames; - *(int **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x14) = &stack0xffffafd0; - *(char_0__30_ **)(&stack0xffffaf8c + iVar12 + uVar15 * -2 + iVar11) = pcVar2; - *(TQueryManagerConnection **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18) = - QueryManagerConnection; - *(undefined4 *)((int)&uStack_5080 + iVar12 + uVar15 * -2 + iVar11) = 0x806689c; - iVar10 = TQueryManagerConnection::getHouseOwners - (*(TQueryManagerConnection **) - (auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18), - *(int **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x14), - *(ushort **)(&stack0xffffaf8c + iVar12 + uVar15 * -2 + iVar11), - *(ulong **)((int)aiStack_5070 + iVar12 + uVar15 * -2 + iVar11), - *(char (**) [30])((int)aiStack_5070 + iVar12 + uVar15 * -2 + iVar11 + 4) - ,*(int **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -4)); - if (iVar10 != 0) { - *(char **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18) = - "LoadOwners: Kann Namen der Mieter nicht ermitteln.\n"; - *(undefined4 *)((int)&uStack_5080 + iVar12 + uVar15 * -2 + iVar11) = 0x8066ba3; - error(*(char **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18)); -LAB_08066780: - *puVar17 = 4; - puVar17[-1] = 0x806678c; - puVar9 = (undefined4 *)__cxa_allocate_exception(); - *puVar9 = "Cannot load owners"; - puVar17[2] = 0; - puVar17[1] = char_const*::typeinfo; - *puVar17 = puVar9; - // WARNING: Subroutine does not return - puVar17[-1] = &UNK_080667aa; - __cxa_throw(); - } - iVar18 = 0; - iVar10 = i_1; - if (0 < iStack_5030) { - do { - *(uint *)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18) = - (uint)*(ushort *)(OwnerNames + iVar18 * 2); - *(undefined4 *)((int)&uStack_5080 + iVar12 + uVar15 * -2 + iVar11) = 0x80668c6; - pTVar6 = GetHouse(*(ushort *)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18)) - ; - if (pTVar6 == (THouse *)0x0) { - uVar1 = *(ushort *)(OwnerNames + iVar18 * 2); - *(char **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18) = - "LoadOwners: Haus %d existiert nicht.\n"; - *(uint *)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x14) = (uint)uVar1; - *(undefined4 *)((int)&uStack_5080 + iVar12 + uVar15 * -2 + iVar11) = 0x8066b92; - error(*(char **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18)); - } - else if (pTVar6->OwnerID != 0) { - *(int *)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x14) = iVar10; - *(char **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18) = - pTVar6->OwnerName; - *(undefined4 *)((int)&uStack_5080 + iVar12 + uVar15 * -2 + iVar11) = 0x8066b73; - strcpy(*(char **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18), - *(char **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x14)); - } - iVar18 = iVar18 + 1; - iVar10 = iVar10 + 0x1e; - } while (iVar18 < iStack_5030); - } - if (local_5032 != '\0') { - *(undefined **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x14) = &DAT_080f4f5b; - *(undefined4 *)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18) = 1; - // try { // try from 08066919 to 08066a1c has its CatchHandler @ 08066bf6 - *(undefined4 *)((int)&uStack_5080 + iVar12 + uVar15 * -2 + iVar11) = 0x806691e; - print(); - house_2 = (THouse *)0x0; - if (0 < Houses) { - do { - pTVar6 = house_2; - *(vector **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18) = - &House; - *(THouse **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x14) = pTVar6; - *(undefined4 *)((int)&uStack_5080 + iVar12 + uVar15 * -2 + iVar11) = 0x8066946; - x = (int)vector::operator() - (*(vector **) - (auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18), - *(int *)(auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x14)); - iVar10 = ((THouse *)x)->CenterX; - y = iVar10 - MaxHouseX; - if (iVar10 - MaxHouseX <= MaxHouseX + iVar10) { - iVar18 = ((THouse *)x)->CenterY; - iVar14 = MaxHouseX; - iVar16 = MaxHouseY; - do { - z = iVar18 - iVar16; - iVar13 = SectorZMax; - if (iVar18 - iVar16 <= iVar16 + iVar18) { - do { - local_5054 = SectorZMin; - if (SectorZMin <= iVar13) { - do { - *(int *)((int)aiStack_5070 + - iVar12 + uVar15 * -2 + iVar11) = local_5054; - *(int *)(&stack0xffffaf8c + - iVar12 + uVar15 * -2 + iVar11) = z; - iVar10 = y; - *(ulong **) - (auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18) - = &local_500c; - *(int *)(auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x14) = iVar10; - *(undefined4 *) - ((int)&uStack_5080 + iVar12 + uVar15 * -2 + iVar11) = - 0x80669d9; - GetFirstObject(); - while( true ) { - bVar3 = false; - local_501c[0] = NONE.ObjectID; - NumberOfHouses = NONE.ObjectID; - if (local_500c != NONE.ObjectID) { - *(int **)(auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x18) - = &NumberOfHouses; - *(ulong **) - (auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x14) = - &local_500c; - *(undefined4 *) - ((int)&uStack_5080 + - iVar12 + uVar15 * -2 + iVar11) = 0x8066b40; - Object::getObjectType - (*(Object **) - (auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + - -0x18)); - *(undefined4 *) - (auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x14) = 0x14; - *(int **)(auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x18) - = &NumberOfHouses; - *(undefined4 *) - ((int)&uStack_5080 + - iVar12 + uVar15 * -2 + iVar11) = 0x8066b53; - bVar5 = ObjectType::getFlag(*(ObjectType **) - (auStack_5064 + - iVar12 + uVar15 * - -2 + iVar11 + -0x18), - *(FLAG *)(auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x14)); - if (!bVar5) { - bVar3 = true; - } - } - if (!bVar3) break; - *(ulong **) - (auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x14) = - &local_500c; - *(ulong **) - (auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x18) = local_501c - ; - *(undefined4 *) - ((int)&uStack_5080 + iVar12 + uVar15 * -2 + iVar11) - = 0x8066a1d; - Object::getNextObject - (*(Object **) - (auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x18)); - local_500c = local_501c[0]; - } - bVar3 = false; - NumberOfHouses = NONE.ObjectID; - if (local_500c == NONE.ObjectID) { -LAB_08066a4d: - bVar3 = true; - } - else { - *(undefined4 *) - (auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x14) = 9; - *(ulong **) - (auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x18) = - &local_500c; - // try { // try from 08066b1c to 08066ba2 has its CatchHandler @ 08066bf6 - *(undefined4 *) - ((int)&uStack_5080 + iVar12 + uVar15 * -2 + iVar11) - = 0x8066b21; - uVar7 = Object::getAttribute - (*(Object **) - (auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + - -0x18),*(INSTANCEATTRIBUTE *) - (auStack_5064 + - iVar12 + uVar15 * -2 + - iVar11 + -0x14) - ); - if (uVar7 == 0) goto LAB_08066a4d; - } - if (!bVar3) { - NumberOfHouses = local_500c; - local_501c[0] = local_500c; - *(int **)(&stack0xffffaf8c + - iVar12 + uVar15 * -2 + iVar11) = - &NumberOfHouses; - *(ulong **) - (auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x14) = local_501c - ; - *(undefined4 *) - (auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x18) = 0; - // try { // try from 08066b01 to 08066b05 has its CatchHandler @ 08066ba8 - *(undefined4 *) - ((int)&uStack_5080 + iVar12 + uVar15 * -2 + iVar11) - = 0x8066b06; - UseObjects(*(ulong *)(auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + - -0x18), - *(Object **) - (auStack_5064 + - iVar12 + uVar15 * -2 + iVar11 + -0x14), - *(Object **) - (&stack0xffffaf8c + - iVar12 + uVar15 * -2 + iVar11)); - } - local_5054 = local_5054 + 1; - } while (local_5054 <= SectorZMax); - iVar18 = *(int *)(x + 0x248); - iVar13 = SectorZMax; - iVar16 = MaxHouseY; - } - z = z + 1; - } while (z <= iVar16 + iVar18); - iVar10 = *(int *)(x + 0x244); - iVar14 = MaxHouseX; - } - y = y + 1; - } while (y <= iVar14 + iVar10); - } - house_2 = (THouse *)((int)&house_2->ID + 1); - } while ((int)house_2 < Houses); - } - } - *(undefined1 **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18) = local_4ffc; - // try { // try from 080668fa to 080668fe has its CatchHandler @ 08066c00 - *(undefined4 *)((int)&uStack_5080 + iVar12 + uVar15 * -2 + iVar11) = 0x80668ff; - TReadScriptFile::~TReadScriptFile - (*(TReadScriptFile **)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x18), - *(int *)(auStack_5064 + iVar12 + uVar15 * -2 + iVar11 + -0x14)); - } - else { - uStack_5080 = 0x806644f; - Log("houses","Keine Mieterdaten gefunden.\n"); - } - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void SaveOwners(void) - -{ - time_t tVar1; - THouse *pTVar2; - THouseGuest *pTVar3; - int i; - int j; - int iVar4; - char *__s; - char *pcVar5; - undefined1 local_202c [4]; - TWriteScriptFile Script; - char local_101c [4]; - char FileName [4096]; - - // try { // try from 08066c31 to 08066c61 has its CatchHandler @ 08066f20 - Log("houses","Speichere Mieterdaten...\n"); - pcVar5 = DATAPATH; - __s = local_101c; - sprintf(__s,"%s/owners.dat"); - TWriteScriptFile::TWriteScriptFile((TWriteScriptFile *)local_202c); - // try { // try from 08066c69 to 08066c97 has its CatchHandler @ 08066f06 - TWriteScriptFile::open((TWriteScriptFile *)local_202c,__s,(int)pcVar5); - tVar1 = time((time_t *)0x0); - if (tVar1 < PaymentExtension) { - TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,"Extension = "); - __s = (char *)PaymentExtension; - TWriteScriptFile::writeNumber((TWriteScriptFile *)local_202c,PaymentExtension); - TWriteScriptFile::writeLn((TWriteScriptFile *)local_202c); - TWriteScriptFile::writeLn((TWriteScriptFile *)local_202c); - } - pcVar5 = (char *)0x0; - if (0 < Houses) { - do { - __s = pcVar5; - // try { // try from 08066cb8 to 08066f00 has its CatchHandler @ 08066f06 - pTVar2 = vector::operator()(&House,(int)pcVar5); - if (pTVar2->OwnerID != 0) { - TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,"ID = "); - pTVar2 = vector::operator()(&House,(int)pcVar5); - TWriteScriptFile::writeNumber((TWriteScriptFile *)local_202c,(uint)pTVar2->ID); - TWriteScriptFile::writeLn((TWriteScriptFile *)local_202c); - TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,"Owner = "); - pTVar2 = vector::operator()(&House,(int)pcVar5); - TWriteScriptFile::writeNumber((TWriteScriptFile *)local_202c,pTVar2->OwnerID); - TWriteScriptFile::writeLn((TWriteScriptFile *)local_202c); - TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,"LastTransition = "); - pTVar2 = vector::operator()(&House,(int)pcVar5); - TWriteScriptFile::writeNumber((TWriteScriptFile *)local_202c,pTVar2->LastTransition) - ; - TWriteScriptFile::writeLn((TWriteScriptFile *)local_202c); - TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,"PaidUntil = "); - pTVar2 = vector::operator()(&House,(int)pcVar5); - TWriteScriptFile::writeNumber((TWriteScriptFile *)local_202c,pTVar2->PaidUntil); - TWriteScriptFile::writeLn((TWriteScriptFile *)local_202c); - TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,"Guests = {"); - for (iVar4 = 0; pTVar2 = vector::operator()(&House,(int)pcVar5), - iVar4 < pTVar2->Guests; iVar4 = iVar4 + 1) { - if (0 < iVar4) { - TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,","); - } - pTVar2 = vector::operator()(&House,(int)pcVar5); - pTVar3 = vector<>::operator()(&pTVar2->Guest,iVar4); - TWriteScriptFile::writeString((TWriteScriptFile *)local_202c,pTVar3->Name); - } - TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,"}"); - TWriteScriptFile::writeLn((TWriteScriptFile *)local_202c); - TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,"Subowners = {"); - for (iVar4 = 0; pTVar2 = vector::operator()(&House,(int)pcVar5), - iVar4 < pTVar2->Subowners; iVar4 = iVar4 + 1) { - if (0 < iVar4) { - TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,","); - } - pTVar2 = vector::operator()(&House,(int)pcVar5); - pTVar3 = vector<>::operator()(&pTVar2->Subowner,iVar4); - TWriteScriptFile::writeString((TWriteScriptFile *)local_202c,pTVar3->Name); - } - __s = "}"; - TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,"}"); - TWriteScriptFile::writeLn((TWriteScriptFile *)local_202c); - TWriteScriptFile::writeLn((TWriteScriptFile *)local_202c); - } - pcVar5 = pcVar5 + 1; - } while ((int)pcVar5 < Houses); - } - TWriteScriptFile::close((TWriteScriptFile *)local_202c,(int)__s); - // try { // try from 08066c9b to 08066c9f has its CatchHandler @ 08066f20 - TWriteScriptFile::~TWriteScriptFile((TWriteScriptFile *)local_202c,(int)__s); - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void InitHouses(void) - -{ - TQueryManagerConnection *pTVar1; - RESULT r; - int in_stack_ffffffe8; - - // try { // try from 08066f43 to 08066f81 has its CatchHandler @ 08066f90 - InitLog("houses"); - LoadHouseAreas(); - LoadHouses(); - LoadOwners(); - FinishAuctions(); - CollectRents(); - StartAuctions(); - pTVar1 = QueryManagerConnection; - if (QueryManagerConnection != (TQueryManagerConnection *)0x0) { - TQueryManagerConnection::~TQueryManagerConnection(QueryManagerConnection,in_stack_ffffffe8); - operator_delete(pTVar1); - } - return; -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void ExitHouses(void) - -{ - // try { // try from 08067009 to 0806700d has its CatchHandler @ 08067015 - SaveOwners(); - return; -} - - - void __tcf_0(void *param_1) { -- cgit v1.2.3