diff options
Diffstat (limited to 'reference/game.c')
| -rw-r--r-- | reference/game.c | 5432 |
1 files changed, 0 insertions, 5432 deletions
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<THouseArea>::operator()(&HouseArea,i_00);
- if (pTVar1->ID == ID) {
- pTVar1 = vector<THouseArea>::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<THouse>::operator()(&House,i);
- if (pTVar1->ID == ID) {
- pTVar1 = vector<THouse>::operator()(&House,i);
- return pTVar1;
- }
- pTVar1 = vector<THouse>::operator()(&House,i);
- iVar2 = i + 1;
- if (ID <= pTVar1->ID) {
- iVar2 = local_14;
- }
- pTVar1 = vector<THouse>::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<THouse> **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = &House;
- *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x8063385;
- pTVar8 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2),
- *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2));
- if (pTVar8->PaidUntil == 0) {
- *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = iVar7;
- *(vector<THouse> **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) = &House;
- *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80633b0;
- pTVar8 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2),
- *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2));
- if (pTVar8->OwnerID != 0) {
- *(int *)(&stack0xfffffcf8 + iVar12 + uVar11 * -2 + iVar2) = iVar7;
- *(vector<THouse> **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) =
- &House;
- *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80633ca;
- pTVar8 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&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<THouse> **)(&stack0xfffffcf4 + iVar12 + uVar11 * -2 + iVar2) =
- &House;
- *(undefined4 *)((int)&local_310 + iVar12 + uVar11 * -2 + iVar2) = 0x80633fd;
- pTVar8 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&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<THouse>::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<THouse> **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) =
- &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x806434e
- ;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x8064376;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x8064390;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x80643ad;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) =
- &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x8064223
- ;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x806424a;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x8064272;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)(aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) =
- &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = 0x8063d3b
- ;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x8063d72;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x8063d90;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (aiStack_330 +
- iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c),
- *(int *)(&stack0xfffffcb8 +
- iVar6 + iVar16 + uVar11 * -2 + iVar15));
- *(int *)(&stack0xfffffcb8 + iVar6 + iVar16 + uVar11 * -2 + iVar15) = iVar8;
- *(vector<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x8063da2;
- pTVar10 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x8063dd7;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x8063e14;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15)
- = 0x8063e51;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) = &House;
- *(undefined4 *)((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15)
- = 0x8063eb7;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (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<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) =
- &House;
- *(undefined4 *)
- ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x8063f42;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) =
- &House;
- *(undefined4 *)
- ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x8064012;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) =
- &House;
- *(undefined4 *)
- ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x80640dc;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) =
- &House;
- *(undefined4 *)
- ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x806410f;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) =
- &House;
- *(undefined4 *)
- ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x8064131;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) =
- &House;
- *(undefined4 *)
- ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x8064187;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) =
- &House;
- *(undefined4 *)
- ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x80641c1;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse> **)
- (aiStack_330 + iVar6 + iVar16 + uVar11 * -2 + iVar15 + -0x1c) =
- &House;
- *(undefined4 *)
- ((int)&local_350 + iVar6 + iVar16 + uVar11 * -2 + iVar15) =
- 0x80641f3;
- pTVar9 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse>::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<THouse> **)(&stack0xffffff74 + iVar9) = &House;
- *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8064fa7;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)(&stack0xffffff74 + iVar9),
- *(int *)(&stack0xffffff78 + iVar9));
- if (pTVar6->OwnerID == 0) {
- *(int *)(&stack0xffffff78 + iVar9) = iVar5;
- *(vector<THouse> **)(&stack0xffffff74 + iVar9) = &House;
- *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8064fd0;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)(&stack0xffffff74 + iVar9),
- *(int *)(&stack0xffffff78 + iVar9));
- if (pTVar6->Help == 0) {
- *(int *)(&stack0xffffff78 + iVar9) = iVar5;
- *(vector<THouse> **)(&stack0xffffff74 + iVar9) = &House;
- *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8064fea;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)(&stack0xffffff74 + iVar9),
- *(int *)(&stack0xffffff78 + iVar9));
- if (pTVar6->NoAuction == false) {
- *(int *)(&stack0xffffff78 + iVar9) = iVar5;
- *(vector<THouse> **)(&stack0xffffff74 + iVar9) = &House;
- *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8065003;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)(&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<THouse> **)(&stack0xffffff74 + iVar9) = &House;
- *(int *)(&stack0xffffff78 + iVar9) = iVar5;
- *(undefined4 *)((int)&uStack_90 + iVar9) = 0x806502e;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)(&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<THouse> **)(&stack0xffffff74 + iVar9) = &House;
- *(int *)(&stack0xffffff78 + iVar9) = iVar5;
- *(undefined4 *)((int)&uStack_90 + iVar9) = 0x806505d;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)(&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<THouse> **)(&stack0xffffff74 + iVar9) = &House;
- *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8065089;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)(&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<THouse> **)(&stack0xffffff74 + iVar9) = &House;
- *(undefined4 *)((int)&uStack_90 + iVar9) = 0x8064f83;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)(&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<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064c70;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c),
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c));
- if (pTVar6->OwnerID == 0) {
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13;
- *(vector<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064e60;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c),
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c));
- if (pTVar6->Help != 0) {
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13;
- *(vector<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) =
- &House;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064e7e
- ;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&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<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) =
- &House;
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064ea9
- ;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&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<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) =
- &House;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) =
- 0x8064ed5;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&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<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064c8e;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c),
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c));
- if (pTVar6->OwnerID != 0) {
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13;
- *(vector<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064d87;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c),
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c));
- if (pTVar6->Help == 0) {
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13;
- *(vector<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) =
- &House;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064da5
- ;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&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<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) =
- &House;
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064dd0
- ;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c),
- *(int *)(&stack0xffffff78 +
- iVar3 + iVar10 + iVar4 + 0x8c));
- *(vector<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) =
- &House;
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064de2
- ;
- pTVar7 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c),
- *(int *)(&stack0xffffff78 +
- iVar3 + iVar10 + iVar4 + 0x8c));
- *(vector<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) =
- &House;
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064df4
- ;
- pTVar8 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&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<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) =
- &House;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) =
- 0x8064e34;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&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<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064cac;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c),
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c));
- if (pTVar6->Help == 2) {
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13;
- *(vector<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064cd0;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&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<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House;
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064cfb;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c),
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c));
- *(vector<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House;
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064d0d;
- pTVar7 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c),
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c));
- *(vector<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) = &House;
- *(int *)(&stack0xffffff78 + iVar3 + iVar10 + iVar4 + 0x8c) = iVar13;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064d1f;
- pTVar8 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&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<THouse> **)(&stack0xffffff74 + iVar3 + iVar10 + iVar4 + 0x8c) =
- &House;
- *(undefined4 *)((int)&uStack_90 + iVar3 + iVar10 + iVar4 + 0x8c) = 0x8064d5f
- ;
- pTVar6 = vector<THouse>::operator()
- (*(vector<THouse> **)
- (&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<THelpDepot>::operator()(&HelpDepot,i_00);
- PlayerData_00 = AssignPlayerPoolSlot(pTVar1->CharacterID,false);
- if (PlayerData_00 == (TPlayerData *)0x0) {
- error(&DAT_080f4860);
- return;
- }
- pTVar1 = vector<THelpDepot>::operator()(&HelpDepot,i_00);
- local_2c[0].ObjectID = (pTVar1->Box).ObjectID;
- pTVar1 = vector<THelpDepot>::operator()(&HelpDepot,i_00);
- SaveDepot(PlayerData_00,pTVar1->DepotNr,local_2c);
- iVar2 = i_00 + 1;
- pTVar1 = vector<THelpDepot>::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<THelpDepot>::operator()(&HelpDepot,i);
- if ((pTVar3->CharacterID == pTVar2->OwnerID) &&
- (pTVar3 = vector<THelpDepot>::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<THelpDepot>::operator()(&HelpDepot,HelpDepots);
- pTVar3->CharacterID = pTVar2->OwnerID;
- pTVar3 = vector<THelpDepot>::operator()(&HelpDepot,HelpDepots);
- pTVar3->DepotNr = pTVar2->DepotNr;
- GetStartPosition((int *)&PlayerData,&sx,&sy,true);
- pTVar3 = vector<THelpDepot>::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<THelpDepot>::operator()(&HelpDepot,HelpDepots);
- sz = (pTVar3->Box).ObjectID;
- LoadDepot(PlayerData_00,pTVar2->DepotNr,(Object *)&sz);
- iVar4 = HelpDepots;
- ReleasePlayerPoolSlot(PlayerData_00);
- }
- pTVar3 = vector<THelpDepot>::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<THouseArea>::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<THouseArea>::operator()(&HouseArea,HouseAreas);
- iVar3 = TReadScriptFile::readNumber((TReadScriptFile *)local_4ffc);
- pTVar2->SQMPrice = iVar3;
- TReadScriptFile::readSymbol((TReadScriptFile *)local_4ffc,',');
- pTVar2 = vector<THouseArea>::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<THouse>::operator()(&House,Houses);
- uStack_5080 = 0x80658b0;
- iVar5 = TReadScriptFile::readNumber((TReadScriptFile *)&z);
- pTVar4->ID = (ushort)iVar5;
- uStack_5080 = 0x80658c8;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- if (pTVar4->ID == 0) {
- uStack_5080 = 0x8066056;
- pTVar4 = vector<THouse>::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<THouse>::operator()(&House,Houses);
- uStack_5080 = 0x8065903;
- pTVar6 = vector<THouse>::operator()(&House,Houses + -1);
- if (pTVar4->ID <= pTVar6->ID) {
- uStack_5080 = 0x8066023;
- pTVar4 = vector<THouse>::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<THouse>::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<THouse>::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<THouseArea>::operator()(&HouseArea,iVar11);
- if (pTVar8->ID == (ushort)iVar5) {
- uStack_5080 = 0x8066003;
- local_5018 = vector<THouseArea>::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<THouse>::operator()(&House,Houses);
- uVar12 = (uint)pTVar4->ID;
- uStack_5080 = 0x8065fbb;
- error(&DAT_080f4a00);
- goto LAB_08065fc4;
- }
- uStack_5080 = 0x8065a63;
- pTVar4 = vector<THouse>::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<THouse>::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<THouse>::operator()(&House,Houses);
- pTVar4->NoAuction = false;
- uStack_5080 = 0x8065af1;
- TReadScriptFile::readIdentifier((TReadScriptFile *)&z);
- uStack_5080 = 0x8065b07;
- TReadScriptFile::readSymbol((TReadScriptFile *)&z,'=');
- uStack_5080 = 0x8065b1c;
- vector<THouse>::operator()(&House,Houses);
- uStack_5080 = 0x8065b37;
- vector<THouse>::operator()(&House,Houses);
- uStack_5080 = 0x8065b52;
- vector<THouse>::operator()(&House,Houses);
- uStack_5080 = 0x8065b71;
- TReadScriptFile::readCoordinate((TReadScriptFile *)&z);
- uStack_5080 = 0x8065b86;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- if (pTVar4->ExitX == 0) {
- uStack_5080 = 0x8065f7b;
- vector<THouse>::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<THouse>::operator()(&House,Houses);
- uStack_5080 = 0x8065be2;
- vector<THouse>::operator()(&House,Houses);
- uStack_5080 = 0x8065bfd;
- vector<THouse>::operator()(&House,Houses);
- uStack_5080 = 0x8065c16;
- TReadScriptFile::readCoordinate((TReadScriptFile *)&z);
- uStack_5080 = 0x8065c2b;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- if (pTVar4->CenterX == 0) {
- uStack_5080 = 0x8065f4e;
- vector<THouse>::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<THouse>::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<THouse>::operator()(&House,Houses);
- uStack_5080 = 0x8065d3c;
- SetHouseID(local_5008,x,y,pTVar4->ID);
- uStack_5080 = 0x8065d51;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- pTVar4->Size = pTVar4->Size + 1;
- uStack_5080 = 0x8065d6c;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- uVar12 = local_5008 - pTVar4->CenterX;
- if (0x7fffffff < uVar12) {
- uVar12 = -uVar12;
- }
- if (MaxHouseX < (int)uVar12) {
- uStack_5080 = 0x8065e12;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- MaxHouseX = local_5008 - pTVar4->CenterX;
- if (0x7fffffff < (uint)MaxHouseX) {
- MaxHouseX = -MaxHouseX;
- }
- }
- uStack_5080 = 0x8065da1;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- uVar12 = x - pTVar4->CenterY;
- if (0x7fffffff < uVar12) {
- uVar12 = -uVar12;
- }
- if (MaxHouseY < (int)uVar12) {
- uStack_5080 = 0x8065dda;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- MaxHouseY = x - pTVar4->CenterY;
- if (0x7fffffff < (uint)MaxHouseY) {
- MaxHouseY = -MaxHouseY;
- }
- }
- }
- }
- uStack_5080 = 0x8065e4a;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- uStack_5080 = 0x8065e61;
- pTVar6 = vector<THouse>::operator()(&House,Houses);
- iVar5 = Houses;
- pTVar4->Rent = local_5018->SQMPrice * pTVar6->Size + local_5014;
- uStack_5080 = 0x8065e96;
- pTVar4 = vector<THouse>::operator()(&House,iVar5);
- pTVar4->OwnerID = 0;
- uStack_5080 = 0x8065eb3;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- pTVar4->OwnerName[0] = '\0';
- uStack_5080 = 0x8065ecf;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- pTVar4->LastTransition = 0;
- uStack_5080 = 0x8065eec;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- pTVar4->PaidUntil = 0;
- uStack_5080 = 0x8065f09;
- pTVar4 = vector<THouse>::operator()(&House,Houses);
- pTVar4->Subowners = 0;
- uStack_5080 = 0x8065f26;
- pcVar7 = (char *)Houses;
- pTVar4 = vector<THouse>::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<THouse> **)((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<THouse>::operator()
- (*(vector<THouse> **)
- ((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<THouse> **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10)
- = &House;
- *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) =
- 0x80661c6;
- pTVar4 = vector<THouse>::operator()
- (*(vector<THouse> **)
- ((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<THouse> **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10)
- = &House;
- *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) =
- 0x80661e2;
- pTVar4 = vector<THouse>::operator()
- (*(vector<THouse> **)
- ((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<THouse> **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10)
- = &House;
- *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) =
- 0x8066201;
- pTVar4 = vector<THouse>::operator()
- (*(vector<THouse> **)
- ((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<THouse> **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10)
- = &House;
- *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) =
- 0x806621d;
- pTVar4 = vector<THouse>::operator()
- (*(vector<THouse> **)
- ((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<THouse> **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10)
- = &House;
- *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) =
- 0x806623c;
- pTVar4 = vector<THouse>::operator()
- (*(vector<THouse> **)
- ((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<THouse> **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10)
- = &House;
- *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) =
- 0x806625b;
- pTVar4 = vector<THouse>::operator()
- (*(vector<THouse> **)
- ((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<THouse> **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10)
- = &House;
- *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) =
- 0x806627a;
- pTVar4 = vector<THouse>::operator()
- (*(vector<THouse> **)
- ((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<THouse> **)((int)local_506c + iVar1 + iVar5 + uVar12 * -7 + iVar11 + -0x10)
- = &House;
- *(undefined4 *)((int)&uStack_5080 + iVar1 + iVar5 + uVar12 * -7 + iVar11) =
- 0x8066299;
- pTVar4 = vector<THouse>::operator()
- (*(vector<THouse> **)
- ((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<THouse> **)((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<THouse>::operator()
- (*(vector<THouse> **)
- ((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<THouse> **)(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<THouse>::operator()
- (*(vector<THouse> **)
- (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<THouse>::operator()(&House,(int)pcVar5);
- if (pTVar2->OwnerID != 0) {
- TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,"ID = ");
- pTVar2 = vector<THouse>::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<THouse>::operator()(&House,(int)pcVar5);
- TWriteScriptFile::writeNumber((TWriteScriptFile *)local_202c,pTVar2->OwnerID);
- TWriteScriptFile::writeLn((TWriteScriptFile *)local_202c);
- TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,"LastTransition = ");
- pTVar2 = vector<THouse>::operator()(&House,(int)pcVar5);
- TWriteScriptFile::writeNumber((TWriteScriptFile *)local_202c,pTVar2->LastTransition)
- ;
- TWriteScriptFile::writeLn((TWriteScriptFile *)local_202c);
- TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,"PaidUntil = ");
- pTVar2 = vector<THouse>::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<THouse>::operator()(&House,(int)pcVar5),
- iVar4 < pTVar2->Guests; iVar4 = iVar4 + 1) {
- if (0 < iVar4) {
- TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,",");
- }
- pTVar2 = vector<THouse>::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<THouse>::operator()(&House,(int)pcVar5),
- iVar4 < pTVar2->Subowners; iVar4 = iVar4 + 1) {
- if (0 < iVar4) {
- TWriteScriptFile::writeText((TWriteScriptFile *)local_202c,",");
- }
- pTVar2 = vector<THouse>::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)
{
|
