From 81a5d53bc566fe2c678577cb3f3e5cadd0711753 Mon Sep 17 00:00:00 2001 From: fusion32 Date: Tue, 10 Jun 2025 19:19:09 -0300 Subject: finish `info.cc` --- reference/game.c | 800 ------------------------------------------------------- 1 file changed, 800 deletions(-) (limited to 'reference/game.c') diff --git a/reference/game.c b/reference/game.c index bb0c72f..c00ab3e 100644 --- a/reference/game.c +++ b/reference/game.c @@ -12327,806 +12327,6 @@ void __static_initialization_and_destruction_0(int __initialize_p,int __priority // WARNING: Unknown calling convention -- yet parameter storage is locked -bool SearchFlightField(void) - -{ - TCreature *pTVar1; - TCreature *pTVar2; - int iVar3; - TCreature *Pursuer; - int dy; - int dx; - int iVar4; - TCreature *Fugitive; - ulong in_stack_00000004; - ulong in_stack_00000008; - int *in_stack_0000000c; - int *in_stack_00000010; - int *in_stack_00000014; - char *Text; - int local_4c; - int Try [9]; - - pTVar1 = GetCreature(in_stack_00000004); - if (pTVar1 == (TCreature *)0x0) { - Text = &DAT_080f75c0; - } - else { - pTVar2 = GetCreature(in_stack_00000008); - if (pTVar2 == (TCreature *)0x0) { - Text = "SearchFlightField: Verfolger existiert nicht.\n"; - } - else { - if (pTVar1->posz == pTVar2->posz) { - iVar3 = 0; - do { - Try[iVar3 + -1] = 0; - iVar3 = iVar3 + 1; - } while (iVar3 < 9); - iVar3 = pTVar1->posy - pTVar2->posy; - iVar4 = pTVar1->posx - pTVar2->posx; - if (-1 < iVar4) { - Try[0] = 1; - } - if (iVar3 < 1) { - Try[1] = 3; - } - if (iVar4 < 1) { - Try[2] = 5; - } - if (-1 < iVar3) { - Try[3] = 7; - } - RandomShuffle(Try,4); - if (iVar3 <= iVar4) { - Try[4] = 2; - } - if (iVar4 <= -iVar3) { - Try[5] = 4; - } - if (iVar4 <= iVar3) { - Try[6] = 6; - } - if (SBORROW4(iVar4,-iVar3) == iVar4 + iVar3 < 0) { - Try[7] = 8; - } - RandomShuffle(Try + 4,4); - *in_stack_00000014 = pTVar1->posz; - iVar3 = 0; - do { - iVar4 = Try[iVar3 + -1]; - if (iVar4 == 0) goto LAB_08071259; - switch(iVar4) { - case 1: - iVar4 = pTVar1->posx + 1; - goto LAB_08071212; - case 2: - iVar4 = pTVar1->posx + 1; - break; - case 3: - iVar4 = pTVar1->posx; - break; - case 4: - iVar4 = pTVar1->posx + -1; - break; - case 5: - iVar4 = pTVar1->posx + -1; -LAB_08071212: - *in_stack_0000000c = iVar4; - iVar4 = pTVar1->posy; - goto LAB_0807121d; - case 6: - iVar4 = pTVar1->posx + -1; - goto LAB_080712bc; - case 7: - iVar4 = pTVar1->posx; - goto LAB_080712bc; - case 8: - iVar4 = pTVar1->posx + 1; -LAB_080712bc: - *in_stack_0000000c = iVar4; - iVar4 = pTVar1->posy + 1; - goto LAB_0807121d; - default: - error(&DAT_080f7540,iVar4); - return false; - } - *in_stack_0000000c = iVar4; - iVar4 = pTVar1->posy + -1; -LAB_0807121d: - *in_stack_00000010 = iVar4; - iVar4 = (*pTVar1->_vptr_TCreature[3]) - (pTVar1,*in_stack_0000000c,*in_stack_00000010, - *in_stack_00000014,0,0); - if ((char)iVar4 != '\0') { - return true; - } -LAB_08071259: - iVar3 = iVar3 + 1; - if (8 < iVar3) { - return false; - } - } while( true ); - } - Text = &DAT_080f74e0; - } - } - error(Text); - return false; -} - - - -// WARNING: Variable defined which should be unmapped: TieBreaker - -bool SearchSummonField(int *x,int *y,int *z,int Distance) - -{ - bool bVar1; - bool bVar2; - long lVar3; - int dy; - int iVar4; - int NewTieBreaker; - int dx; - int BestY; - int BestX; - int TieBreaker; - - dx = 0; - BestX = -1; - BestY = 0; - NewTieBreaker = -Distance; - if (-Distance == Distance || NewTieBreaker < Distance) { - do { - iVar4 = -Distance; - if (-Distance == Distance || iVar4 < Distance) { - do { - lVar3 = random(); - if (BestX < lVar3) { - bVar2 = false; - bVar1 = CoordinateFlag(); - if (bVar1) { - bVar2 = CoordinateFlag(); - bVar2 = !bVar2; - } - if ((((bVar2) && (bVar2 = CoordinateFlag(), !bVar2)) && - (bVar2 = IsProtectionZone(), !bVar2)) && - ((bVar2 = IsHouse(NewTieBreaker + *x,*y + iVar4,*z), !bVar2 && - (bVar2 = ThrowPossible(*x,*y,*z,NewTieBreaker + *x,*y + iVar4,*z,0), - bVar2)))) { - BestY = NewTieBreaker + *x; - dx = *y + iVar4; - BestX = lVar3; - } - } - iVar4 = iVar4 + 1; - } while (iVar4 <= Distance); - } - NewTieBreaker = NewTieBreaker + 1; - } while (NewTieBreaker <= Distance); - } - if (BestX != -1) { - *x = BestY; - *y = dx; - } - return BestX != -1; -} - - - -bool ThrowPossible(int sx,int sy,int sz,int zx,int zy,int zz,int Power) - -{ - uint uVar1; - bool bVar2; - bool bVar3; - int iVar4; - int newz; - int z; - int iVar5; - int iVar6; - int *piVar7; - int iVar8; - int zmin; - int iVar9; - int newy; - int iVar10; - uint local_68; - int i; - int local_5c; - int z_1; - int local_54; - int local_50; - Object local_4c; - Object Obj_1; - Object local_2c; - Object Obj; - - iVar5 = sz + -1; - local_5c = sz - Power; - if (local_5c < 0) { - local_5c = 0; - } - do { - if (iVar5 < local_5c) { -LAB_08071587: - if (local_5c <= zz) { - iVar4 = zx - sx; - iVar6 = zy - sy; - iVar5 = zz; - while( true ) { - piVar7 = &zz; - if (sz <= iVar5) { - piVar7 = &sz; - } - if (*piVar7 < local_5c) break; - if ((zx != sx) || (iVar9 = zx, iVar10 = zy, zy != sy)) { - local_68 = 1; - local_50 = -iVar4; - if (-1 < iVar4) { - local_50 = iVar4; - } - local_54 = -iVar6; - if (-1 < iVar6) { - local_54 = iVar6; - } - piVar7 = &local_54; - if (local_54 <= local_50) { - piVar7 = &local_50; - } - iVar10 = *piVar7; - bVar2 = CoordinateFlag(); - if (bVar2) { - local_68 = (uint)(sx <= zx); - } - bVar2 = CoordinateFlag(); - uVar1 = local_68; - if ((bVar2) && (uVar1 = 0, sy <= zy)) { - uVar1 = local_68; - } - while (((int)uVar1 <= iVar10 && (bVar2 = CoordinateFlag(), !bVar2))) { - uVar1 = uVar1 + 1; - } - iVar8 = (iVar10 - uVar1) + 1; - iVar5 = zz; - iVar9 = (int)(zx * (uVar1 - 1) + sx * iVar8) / iVar10; - iVar10 = (int)((uVar1 - 1) * zy + sy * iVar8) / iVar10; - } - iVar8 = local_5c; - if ((local_5c < 0xf) && (local_5c < iVar5)) { - do { - GetFirstObject(); - bVar2 = false; - local_2c.ObjectID = NONE.ObjectID; - if (local_4c.ObjectID != NONE.ObjectID) { - Object::getObjectType(&local_2c); - bVar3 = ObjectType::getFlag((ObjectType *)&local_2c,BANK); - if (bVar3) { - bVar2 = true; - } - } - iVar5 = zz; - } while ((!bVar2) && (iVar8 = iVar8 + 1, iVar8 < zz)); - } - if ((iVar9 == zx) && ((iVar10 == zy && (iVar8 == iVar5)))) { - return true; - } - local_5c = local_5c + 1; - } - } - return false; - } - GetFirstObject(); - bVar2 = false; - local_4c.ObjectID = NONE.ObjectID; - if (local_2c.ObjectID != NONE.ObjectID) { - Object::getObjectType(&local_4c); - bVar3 = ObjectType::getFlag((ObjectType *)&local_4c,BANK); - if (bVar3) { - bVar2 = true; - } - } - if (bVar2) { - local_5c = iVar5 + 1; - goto LAB_08071587; - } - iVar5 = iVar5 + -1; - } while( true ); -} - - - -void GetCreatureLight(ulong CreatureID,int *Brightness,int *Color) - -{ - TSkill *pTVar1; - bool bVar2; - bool bVar3; - TPlayer *pl; - TCreature *pTVar4; - ulong uVar5; - TPlayer *pTVar6; - int *piVar7; - byte bVar8; - TCreature *cr; - int i; - int iVar9; - int local_6c; - int b; - int Blue; - int g; - int Green; - int r; - int Red; - int B; - Object local_4c [4]; - ulong local_3c; - ulong local_2c; - Object Obj; - - pTVar4 = GetCreature(CreatureID); - if (pTVar4 == (TCreature *)0x0) { - error("GetCreatureLight: Kreatur existiert nicht.\n"); - *Brightness = 0; - *Color = 0; - } - else { - *Brightness = 0; - pTVar1 = (pTVar4->super_TSkillBase).Skills[0xf]; - if (pTVar1 != (TSkill *)0x0) { - iVar9 = (*pTVar1->_vptr_TSkill[0xd])(pTVar1); - *Brightness = iVar9; - } - if (pTVar4->Type == PLAYER) { - pTVar6 = GetPlayer(CreatureID); - if (pTVar6 == (TPlayer *)0x0) { - error("CheckRight: Spieler existiert nicht; Right=%d.\n",0x48); - bVar8 = 0; - } - else { - bVar8 = pTVar6->Rights[9] & 1; - } - if (bVar8 != 0) { - B = 7; - piVar7 = &B; - if (6 < *Brightness) { - piVar7 = Brightness; - } - *Brightness = *piVar7; - } - } - iVar9 = 1; - r = *Brightness * 5; - g = *Brightness * 5; - b = *Brightness * 5; - do { - bVar2 = false; - GetBodyObject((ulong)&local_2c,CreatureID); - local_3c = NONE.ObjectID; - local_4c[0].ObjectID = NONE.ObjectID; - if (local_2c != NONE.ObjectID) { - Object::getObjectType(local_4c); - bVar3 = ObjectType::getFlag((ObjectType *)local_4c,LIGHT); - if (bVar3) { - bVar2 = true; - } - } - if (bVar2) { - Object::getObjectType(local_4c); - Red = ObjectType::getAttribute((ObjectType *)local_4c,BRIGHTNESS); - Object::getObjectType(local_4c); - uVar5 = ObjectType::getAttribute((ObjectType *)local_4c,LIGHTCOLOR); - Green = ((int)uVar5 / 0x24) * Red; - Blue = ((int)uVar5 / 6 + ((int)uVar5 / 0x24) * -6) * Red; - local_6c = ((int)uVar5 % 6) * Red; - piVar7 = &Red; - if (Red <= *Brightness) { - piVar7 = Brightness; - } - *Brightness = *piVar7; - piVar7 = &Green; - if (Green <= r) { - piVar7 = &r; - } - r = *piVar7; - piVar7 = &Blue; - if (Blue <= g) { - piVar7 = &g; - } - g = *piVar7; - piVar7 = &local_6c; - if (local_6c <= b) { - piVar7 = &b; - } - b = *piVar7; - } - iVar9 = iVar9 + 1; - } while (iVar9 < 0xb); - iVar9 = *Brightness; - if (iVar9 == 0) { - *Color = 0; - } - else { - *Color = b / iVar9 + (g / iVar9) * 6 + (r / iVar9) * 0x24; - } - } - return; -} - - - -int GetInventoryWeight(ulong CreatureID) - -{ - TCreature *cr; - TCreature *pTVar1; - int iVar2; - Object local_1c [5]; - - pTVar1 = GetCreature(CreatureID); - if (pTVar1 == (TCreature *)0x0) { - error("GetInventoryWeight: Kreatur %d existiert nicht.\n",CreatureID); - iVar2 = 0; - } - else { - GetFirstContainerObject(local_1c); - iVar2 = GetRowWeight(local_1c); - } - return iVar2; -} - - - -bool CheckRight(ulong CharacterID,RIGHT Right) - -{ - TPlayer *pTVar1; - int iVar2; - TPlayer *pl; - char *Text; - RIGHT RVar3; - - pTVar1 = GetPlayer(CharacterID); - if (pTVar1 == (TPlayer *)0x0) { - Text = "CheckRight: Spieler existiert nicht; Right=%d.\n"; - } - else { - if (-1 < (int)Right) { - RVar3 = Right + KICK; - if (-1 < (int)Right) { - RVar3 = Right; - } - iVar2 = (int)RVar3 >> 3; - if (iVar2 < 0xc) { - return (bool)((byte)((int)(uint)pTVar1->Rights[iVar2] >> - ((char)Right - (char)(iVar2 << 3) & 0x1fU)) & 1); - } - } - Text = &DAT_080f76c0; - } - error(Text,Right); - return false; -} - - - -bool CheckBanishmentRight(ulong CharacterID,int Reason,int Action) - -{ - uint uVar1; - bool bVar2; - byte bVar3; - TPlayer *pl; - TPlayer *pTVar4; - TPlayer *pl_1; - int iVar5; - bool bVar7; - char *pcVar8; - undefined4 uVar9; - uint uVar6; - - pTVar4 = GetPlayer(CharacterID); - if (pTVar4 == (TPlayer *)0x0) { - error("CheckBanishmentRight: Spieler existiert nicht.\n"); - return false; - } - bVar7 = false; - if ((-1 < Reason) && (Reason < 0x20)) { - bVar7 = true; - } - if (!bVar7) { - pcVar8 = &DAT_080f7740; - Action = Reason; -LAB_08071c14: - error(pcVar8,Action,CharacterID); - return false; - } - bVar7 = false; - if ((-1 < Action) && (Action < 7)) { - bVar7 = true; - } - if (!bVar7) { - pcVar8 = &DAT_080f7700; - goto LAB_08071c14; - } - uVar1 = Reason + 0x12; - pTVar4 = GetPlayer(CharacterID); - if (pTVar4 == (TPlayer *)0x0) { - pcVar8 = "CheckRight: Spieler existiert nicht; Right=%d.\n"; -LAB_08071c63: - error(pcVar8,uVar1); - bVar3 = 0; - } - else { - if ((int)uVar1 < 0) { -LAB_08071c58: - pcVar8 = &DAT_080f76c0; - goto LAB_08071c63; - } - uVar6 = uVar1; - if (0x7fffffff < uVar1) { - uVar6 = Reason + 0x19; - } - iVar5 = (int)uVar6 >> 3; - if (0xb < iVar5) goto LAB_08071c58; - bVar3 = (byte)((int)(uint)pTVar4->Rights[iVar5] >> - ((char)uVar1 - (char)(iVar5 << 3) & 0x1fU)) & 1; - } - if (bVar3 == 0) { - return false; - } - bVar7 = false; - switch(Action) { - case 0: - pTVar4 = GetPlayer(CharacterID); - if (pTVar4 == (TPlayer *)0x0) { - error("CheckRight: Spieler existiert nicht; Right=%d.\n",1); - bVar7 = false; - } - else { - bVar7 = (bool)((byte)((int)(uint)pTVar4->Rights[0] >> 1) & 1); - } - break; - case 1: - bVar7 = false; - if ((0x11 < (int)uVar1) && (bVar7 = true, 0x1a < (int)uVar1)) { - bVar7 = false; - } - if (!bVar7) { - return false; - } - pTVar4 = GetPlayer(CharacterID); - if (pTVar4 != (TPlayer *)0x0) { - bVar3 = (byte)((int)(uint)pTVar4->Rights[0] >> 2); - goto LAB_08071cf8; - } - uVar9 = 2; - goto LAB_08071d12; - case 2: - bVar7 = false; - if ((0x11 < (int)uVar1) && (bVar7 = true, 0x1a < (int)uVar1)) { - bVar7 = false; - } - if (bVar7) { - return false; - } - goto LAB_08071d3a; - case 3: - bVar7 = false; - if ((0x11 < (int)uVar1) && (bVar7 = true, 0x1a < (int)uVar1)) { - bVar7 = false; - } - if (!bVar7) { - return false; - } - pTVar4 = GetPlayer(CharacterID); - if (pTVar4 == (TPlayer *)0x0) { - error("CheckRight: Spieler existiert nicht; Right=%d.\n",2); - bVar3 = 0; - } - else { - bVar3 = (byte)((int)(uint)pTVar4->Rights[0] >> 2) & 1; - } - if (bVar3 == 0) { - return false; - } -LAB_08071d3a: - pTVar4 = GetPlayer(CharacterID); - if (pTVar4 == (TPlayer *)0x0) { - uVar9 = 4; -LAB_08071d12: - error("CheckRight: Spieler existiert nicht; Right=%d.\n",uVar9); - bVar3 = 0; - } - else { - bVar3 = (byte)((int)(uint)pTVar4->Rights[0] >> 4); -LAB_08071cf8: - bVar3 = bVar3 & 1; - } - bVar7 = bVar3 != 0; - break; - case 4: - bVar7 = false; - if ((0x11 < (int)uVar1) && (bVar7 = true, 0x1a < (int)uVar1)) { - bVar7 = false; - } - if (bVar7) { - return false; - } - goto LAB_08071ddc; - case 5: - bVar7 = false; - if ((0x11 < (int)uVar1) && (bVar7 = true, 0x1a < (int)uVar1)) { - bVar7 = false; - } - if (!bVar7) { - return false; - } - pTVar4 = GetPlayer(CharacterID); - if (pTVar4 == (TPlayer *)0x0) { - error("CheckRight: Spieler existiert nicht; Right=%d.\n",2); - bVar3 = 0; - } - else { - bVar3 = (byte)((int)(uint)pTVar4->Rights[0] >> 2) & 1; - } - if (bVar3 == 0) { - return false; - } -LAB_08071ddc: - pTVar4 = GetPlayer(CharacterID); - if (pTVar4 == (TPlayer *)0x0) { - error("CheckRight: Spieler existiert nicht; Right=%d.\n",4); - bVar3 = 0; - } - else { - bVar3 = (byte)((int)(uint)pTVar4->Rights[0] >> 4) & 1; - } - if (bVar3 == 0) { - return false; - } - pTVar4 = GetPlayer(CharacterID); - if (pTVar4 != (TPlayer *)0x0) { - bVar3 = (byte)((int)(uint)pTVar4->Rights[0] >> 5); - goto LAB_08071cf8; - } - uVar9 = 5; - goto LAB_08071d12; - case 6: - bVar7 = false; - bVar2 = false; - if ((0x1a < (int)uVar1) && (bVar2 = true, 0x2d < (int)uVar1)) { - bVar2 = false; - } - if ((bVar2) || (Reason == 0x1d)) { - pTVar4 = GetPlayer(CharacterID); - if (pTVar4 == (TPlayer *)0x0) { - error("CheckRight: Spieler existiert nicht; Right=%d.\n",3); - bVar3 = 0; - } - else { - bVar3 = (byte)((int)(uint)pTVar4->Rights[0] >> 3) & 1; - } - bVar7 = bVar3 != 0; - } - } - return bVar7; -} - - - -char * GetBanishmentReason(int Reason) - -{ - char *pcVar1; - - switch(Reason) { - case 0: - pcVar1 = "NAME_INSULTING"; - break; - case 1: - pcVar1 = "NAME_SENTENCE"; - break; - case 2: - pcVar1 = "NAME_NONSENSICAL_LETTERS"; - break; - case 3: - pcVar1 = "NAME_BADLY_FORMATTED"; - break; - case 4: - pcVar1 = "NAME_NO_PERSON"; - break; - case 5: - pcVar1 = "NAME_CELEBRITY"; - break; - case 6: - pcVar1 = "NAME_COUNTRY"; - break; - case 7: - pcVar1 = "NAME_FAKE_IDENTITY"; - break; - case 8: - pcVar1 = "NAME_FAKE_POSITION"; - break; - case 9: - pcVar1 = "STATEMENT_INSULTING"; - break; - case 10: - pcVar1 = "STATEMENT_SPAMMING"; - break; - case 0xb: - pcVar1 = "STATEMENT_ADVERT_OFFTOPIC"; - break; - case 0xc: - pcVar1 = "STATEMENT_ADVERT_MONEY"; - break; - case 0xd: - pcVar1 = "STATEMENT_NON_ENGLISH"; - break; - case 0xe: - pcVar1 = "STATEMENT_CHANNEL_OFFTOPIC"; - break; - case 0xf: - pcVar1 = "STATEMENT_VIOLATION_INCITING"; - break; - case 0x10: - pcVar1 = "CHEATING_BUG_ABUSE"; - break; - case 0x11: - pcVar1 = "CHEATING_GAME_WEAKNESS"; - break; - case 0x12: - pcVar1 = "CHEATING_MACRO_USE"; - break; - case 0x13: - pcVar1 = "CHEATING_MODIFIED_CLIENT"; - break; - case 0x14: - pcVar1 = "CHEATING_HACKING"; - break; - case 0x15: - pcVar1 = "CHEATING_MULTI_CLIENT"; - break; - case 0x16: - pcVar1 = "CHEATING_ACCOUNT_TRADING"; - break; - case 0x17: - pcVar1 = "CHEATING_ACCOUNT_SHARING"; - break; - case 0x18: - pcVar1 = "GAMEMASTER_THREATENING"; - break; - case 0x19: - pcVar1 = "GAMEMASTER_PRETENDING"; - break; - case 0x1a: - pcVar1 = "GAMEMASTER_INFLUENCE"; - break; - case 0x1b: - pcVar1 = "GAMEMASTER_FALSE_REPORTS"; - break; - case 0x1c: - pcVar1 = "KILLING_EXCESSIVE_UNJUSTIFIED"; - break; - case 0x1d: - pcVar1 = "DESTRUCTIVE_BEHAVIOUR"; - break; - case 0x1e: - pcVar1 = "SPOILING_AUCTION"; - break; - case 0x1f: - pcVar1 = "INVALID_PAYMENT"; - break; - default: - error(&DAT_080f77c0,Reason); - pcVar1 = ""; - } - return pcVar1; -} - -// WARNING: Unknown calling convention -- yet parameter storage is locked - void _GLOBAL__I__Z7GetName6Object(void) { -- cgit v1.2.3