From 91d7adad320c34ff0cb25aa21b16d59b67387c43 Mon Sep 17 00:00:00 2001 From: fusion32 Date: Tue, 20 May 2025 19:29:18 -0300 Subject: implement `config.cc` --- reference/enums.hh | 10 - reference/game.c | 649 ----------------------------------------------------- 2 files changed, 659 deletions(-) (limited to 'reference') diff --git a/reference/enums.hh b/reference/enums.hh index 254781e..abbed3d 100644 --- a/reference/enums.hh +++ b/reference/enums.hh @@ -200,16 +200,6 @@ enum TReaderThreadReplyType: int { REPLY_CHARACTERDATA=1 }; -enum TOKEN: int { - ENDOFFILE=0, - IDENTIFIER=1, - NUMBER=2, - STRING=3, - BYTES=4, - COORDINATE=5, - SPECIAL=6 -}; - enum SITUATION: int { DEFAULT=0, ADDRESS=1, diff --git a/reference/game.c b/reference/game.c index 07e6991..dc91196 100644 --- a/reference/game.c +++ b/reference/game.c @@ -7127,655 +7127,6 @@ listnode<> * __thiscall list<>::append(list<> *this) return this->lastNode; } - - -void DisguisePassword(char *Password,char *Key) - -{ - int a; - size_t sVar1; - size_t sVar2; - undefined4 *puVar3; - int b; - int iVar4; - int i; - int iVar5; - - if (Password == (char *)0x0) { - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = "password is null"; - } - else if (Key == (char *)0x0) { - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = "key for disguising password is null"; - } - else { - sVar1 = strlen(Key); - sVar2 = strlen(Password); - if (sVar2 <= sVar1) { - iVar5 = 0; - while( true ) { - sVar1 = strlen(Password); - if ((int)sVar1 <= iVar5) break; - iVar4 = ((int)Key[iVar5] - (int)Password[iVar5]) + 0x5e; - Password[iVar5] = (char)iVar4 + (char)(iVar4 / 0x5e) * -0x5e + '!'; - iVar5 = iVar5 + 1; - } - return; - } - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = "key for disguising password is too short"; - } - // WARNING: Subroutine does not return - // try { // try from 08052cbf to 08052cc3 has its CatchHandler @ 08052cec - __cxa_throw(puVar3,char_const*::typeinfo,0); -} - - - -// WARNING: Unknown calling convention -- yet parameter storage is locked - -void ReadConfig(void) - -{ - TReadScriptFile *pTVar1; - bool bVar2; - char cVar3; - char *pcVar4; - char *pcVar5; - int iVar6; - undefined4 *puVar7; - int iVar8; - char *pcVar9; - undefined1 uVar10; - char *in_stack_ffffafdc; - char local_501c [4]; - char Ident [30]; - char FileName [4096]; - TReadScriptFile Script; - - PrivateWorld = false; - builtin_strncpy(GameAddress,"0.0.0.0",8); - SHMKey = 0; - QueryManagerPort = 0; - builtin_strncpy(QueryManagerAddress,"0.0.0.0",8); - AdminPort = 0; - GamePort = 0; - builtin_strncpy(AdminAddress,"0.0.0.0",8); - MaxPlayers = 0; - DebugLevel = 1; - WorldType = NORMAL; - BINPATH[0] = '\0'; - DATAPATH[0] = '\0'; - LOGPATH[0] = '\0'; - MAPPATH[0] = '\0'; - MONSTERPATH[0] = '\0'; - NPCPATH[0] = '\0'; - ORIGMAPPATH[0] = '\0'; - SAVEPATH[0] = '\0'; - USERPATH[0] = '\0'; - QueryManagerAdminPW[0] = '\0'; - QueryManagerGamePW[0] = '\0'; - QueryManagerWebPW[0] = '\0'; - MaxNewbies = 0; - PremiumPlayerBuffer = 0; - PremiumNewbieBuffer = 0; - NumberOfQueryManagers = 0; - Beat = 200; - RebootTime = 0x21c; - ADMIN_DATABASE.Database[0] = '\0'; - VOLATILE_DATABASE.Database[0] = '\0'; - WEB_DATABASE.Database[0] = '\0'; - FORUM_DATABASE.Database[0] = '\0'; - MANAGER_DATABASE.Database[0] = '\0'; - // try { // try from 08052e40 to 08052e44 has its CatchHandler @ 08053bf0 - TReadScriptFile::TReadScriptFile((TReadScriptFile *)(FileName + 0xffc)); - pcVar5 = Ident + 0x1c; - sprintf(pcVar5,".tibia"); - pcVar4 = getenv("HOME"); - if (pcVar4 != (char *)0x0) { - in_stack_ffffafdc = getenv("HOME"); - sprintf(pcVar5,"%s/.tibia"); - } - pcVar4 = getenv("home"); - if (pcVar4 != (char *)0x0) { - in_stack_ffffafdc = getenv("home"); - sprintf(pcVar5,"%s/.tibia"); - } - // try { // try from 08052e86 to 08053b32 has its CatchHandler @ 08053bd0 - bVar2 = FileExists(pcVar5); - if (!bVar2) { - puVar7 = (undefined4 *)__cxa_allocate_exception(4); - *puVar7 = "cannot find config-file"; - // WARNING: Subroutine does not return - // try { // try from 08053b75 to 08053b79 has its CatchHandler @ 08053bd0 - __cxa_throw(puVar7,char_const*::typeinfo,0); - } - TReadScriptFile::open((TReadScriptFile *)(FileName + 0xffc),pcVar5,(int)in_stack_ffffafdc); - do { - TReadScriptFile::nextToken((TReadScriptFile *)(FileName + 0xffc)); - if (FileName._4092_4_ == 0) { - TReadScriptFile::close((TReadScriptFile *)(FileName + 0xffc),(int)pcVar5); - // try { // try from 08053b3c to 08053b40 has its CatchHandler @ 08053bf0 - TReadScriptFile::~TReadScriptFile((TReadScriptFile *)(FileName + 0xffc),(int)pcVar5); - return; - } - uVar10 = FileName._4092_4_ == 1; - if (!(bool)uVar10) { - TReadScriptFile::error((TReadScriptFile *)(FileName + 0xffc),"Identifier expected"); - } - pcVar5 = TReadScriptFile::getIdentifier((TReadScriptFile *)(FileName + 0xffc)); - strcpy(local_501c,pcVar5); - pcVar5 = (char *)0x3d; - TReadScriptFile::readSymbol((TReadScriptFile *)(FileName + 0xffc),'='); - iVar8 = 8; - pcVar4 = local_501c; - pcVar9 = "binpath"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(BINPATH,pcVar5); - } - iVar8 = 8; - pcVar4 = local_501c; - pcVar9 = "mappath"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(MAPPATH,pcVar5); - } - iVar8 = 0xc; - pcVar4 = local_501c; - pcVar9 = "origmappath"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(ORIGMAPPATH,pcVar5); - } - iVar8 = 9; - pcVar4 = local_501c; - pcVar9 = "datapath"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(DATAPATH,pcVar5); - } - iVar8 = 0xc; - pcVar4 = local_501c; - pcVar9 = "monsterpath"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(MONSTERPATH,pcVar5); - } - iVar8 = 8; - pcVar4 = local_501c; - pcVar9 = "npcpath"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(NPCPATH,pcVar5); - } - iVar8 = 9; - pcVar4 = local_501c; - pcVar9 = "userpath"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(USERPATH,pcVar5); - } - iVar8 = 8; - pcVar4 = local_501c; - pcVar9 = "logpath"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(LOGPATH,pcVar5); - } - iVar8 = 9; - pcVar4 = local_501c; - pcVar9 = "savepath"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(SAVEPATH,pcVar5); - } - iVar8 = 4; - pcVar4 = local_501c; - pcVar9 = "shm"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - SHMKey = TReadScriptFile::readNumber((TReadScriptFile *)(FileName + 0xffc)); - } - iVar8 = 10; - pcVar4 = local_501c; - pcVar9 = "adminport"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - AdminPort = TReadScriptFile::readNumber((TReadScriptFile *)(FileName + 0xffc)); - } - iVar8 = 0xd; - pcVar4 = local_501c; - pcVar9 = "adminaddress"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(AdminAddress,pcVar5); - } - iVar8 = 0x11; - pcVar4 = local_501c; - pcVar9 = "querymanagerport"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - QueryManagerPort = TReadScriptFile::readNumber((TReadScriptFile *)(FileName + 0xffc)); - } - iVar8 = 0x14; - pcVar4 = local_501c; - pcVar9 = "querymanageraddress"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(QueryManagerAddress,pcVar5); - } - iVar8 = 0x14; - pcVar4 = local_501c; - pcVar9 = "querymanageradminpw"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(QueryManagerAdminPW,pcVar5); - } - iVar8 = 0x13; - pcVar4 = local_501c; - pcVar9 = "querymanagergamepw"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(QueryManagerGamePW,pcVar5); - } - iVar8 = 0x12; - pcVar4 = local_501c; - pcVar9 = "querymanagerwebpw"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(QueryManagerWebPW,pcVar5); - } - iVar8 = 0xb; - pcVar4 = local_501c; - pcVar9 = "debuglevel"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - DebugLevel = TReadScriptFile::readNumber((TReadScriptFile *)(FileName + 0xffc)); - } - iVar8 = 6; - pcVar4 = local_501c; - pcVar9 = "state"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar4 = TReadScriptFile::readIdentifier((TReadScriptFile *)(FileName + 0xffc)); - iVar8 = 8; - pcVar9 = "private"; - do { - PrivateWorld = (bool)uVar10; - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - PrivateWorld = (bool)uVar10; - } while ((bool)uVar10); - } - iVar8 = 6; - pcVar4 = local_501c; - pcVar9 = "world"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - pcVar5 = TReadScriptFile::readString((TReadScriptFile *)(FileName + 0xffc)); - strcpy(WorldName,pcVar5); - } - iVar8 = 5; - pcVar4 = local_501c; - pcVar9 = "beat"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - Beat = TReadScriptFile::readNumber((TReadScriptFile *)(FileName + 0xffc)); - } - iVar8 = 0xe; - pcVar4 = local_501c; - pcVar9 = "admindatabase"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - TReadScriptFile::readSymbol((TReadScriptFile *)(FileName + 0xffc),'('); - pTVar1 = (TReadScriptFile *)(FileName + 0xffc); - pcVar5 = TReadScriptFile::readIdentifier(pTVar1); - strcpy(ADMIN_DATABASE.Product,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(ADMIN_DATABASE.Database,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(ADMIN_DATABASE.Login,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(ADMIN_DATABASE.Password,pcVar5); - DisguisePassword(ADMIN_DATABASE.Password,"Pm-,o%yD"); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(ADMIN_DATABASE.Host,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(ADMIN_DATABASE.Port,pcVar5); - pcVar5 = (char *)0x29; - TReadScriptFile::readSymbol(pTVar1,')'); - } - iVar8 = 0x11; - pcVar4 = local_501c; - pcVar9 = "volatiledatabase"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - TReadScriptFile::readSymbol((TReadScriptFile *)(FileName + 0xffc),'('); - pTVar1 = (TReadScriptFile *)(FileName + 0xffc); - pcVar5 = TReadScriptFile::readIdentifier(pTVar1); - strcpy(VOLATILE_DATABASE.Product,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(VOLATILE_DATABASE.Database,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(VOLATILE_DATABASE.Login,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(VOLATILE_DATABASE.Password,pcVar5); - DisguisePassword(VOLATILE_DATABASE.Password,"Pm-,o%yD"); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(VOLATILE_DATABASE.Host,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(VOLATILE_DATABASE.Port,pcVar5); - pcVar5 = (char *)0x29; - TReadScriptFile::readSymbol(pTVar1,')'); - } - iVar8 = 0xc; - pcVar4 = local_501c; - pcVar9 = "webdatabase"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - TReadScriptFile::readSymbol((TReadScriptFile *)(FileName + 0xffc),'('); - pTVar1 = (TReadScriptFile *)(FileName + 0xffc); - pcVar5 = TReadScriptFile::readIdentifier(pTVar1); - strcpy(WEB_DATABASE.Product,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(WEB_DATABASE.Database,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(WEB_DATABASE.Login,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(WEB_DATABASE.Password,pcVar5); - DisguisePassword(WEB_DATABASE.Password,"Pm-,o%yD"); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(WEB_DATABASE.Host,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(WEB_DATABASE.Port,pcVar5); - pcVar5 = (char *)0x29; - TReadScriptFile::readSymbol(pTVar1,')'); - } - iVar8 = 0xe; - pcVar4 = local_501c; - pcVar9 = "forumdatabase"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - TReadScriptFile::readSymbol((TReadScriptFile *)(FileName + 0xffc),'('); - pTVar1 = (TReadScriptFile *)(FileName + 0xffc); - pcVar5 = TReadScriptFile::readIdentifier(pTVar1); - strcpy(FORUM_DATABASE.Product,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(FORUM_DATABASE.Database,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(FORUM_DATABASE.Login,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(FORUM_DATABASE.Password,pcVar5); - DisguisePassword(FORUM_DATABASE.Password,"Pm-,o%yD"); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(FORUM_DATABASE.Host,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(FORUM_DATABASE.Port,pcVar5); - pcVar5 = (char *)0x29; - TReadScriptFile::readSymbol(pTVar1,')'); - } - iVar8 = 0x10; - pcVar4 = local_501c; - pcVar9 = "managerdatabase"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - TReadScriptFile::readSymbol((TReadScriptFile *)(FileName + 0xffc),'('); - pTVar1 = (TReadScriptFile *)(FileName + 0xffc); - pcVar5 = TReadScriptFile::readIdentifier(pTVar1); - strcpy(MANAGER_DATABASE.Product,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(MANAGER_DATABASE.Database,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(MANAGER_DATABASE.Login,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(MANAGER_DATABASE.Password,pcVar5); - DisguisePassword(MANAGER_DATABASE.Password,"Pm-,o%yD"); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(MANAGER_DATABASE.Host,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(MANAGER_DATABASE.Port,pcVar5); - pcVar5 = (char *)0x29; - TReadScriptFile::readSymbol(pTVar1,')'); - } - iVar8 = 0xd; - pcVar4 = local_501c; - pcVar9 = "querymanager"; - do { - if (iVar8 == 0) break; - iVar8 = iVar8 + -1; - uVar10 = *pcVar4 == *pcVar9; - pcVar4 = pcVar4 + 1; - pcVar9 = pcVar9 + 1; - } while ((bool)uVar10); - if ((bool)uVar10) { - TReadScriptFile::readSymbol((TReadScriptFile *)(FileName + 0xffc),'{'); - do { - if (9 < NumberOfQueryManagers) { - TReadScriptFile::error - ((TReadScriptFile *)(FileName + 0xffc), - "Cannot handle more query managers"); - } - TReadScriptFile::readSymbol((TReadScriptFile *)(FileName + 0xffc),'('); - pTVar1 = (TReadScriptFile *)(FileName + 0xffc); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(QUERY_MANAGER[NumberOfQueryManagers].Host,pcVar5); - TReadScriptFile::readSymbol(pTVar1,','); - iVar8 = NumberOfQueryManagers; - iVar6 = TReadScriptFile::readNumber(pTVar1); - QUERY_MANAGER[iVar8].Port = iVar6; - TReadScriptFile::readSymbol(pTVar1,','); - pcVar5 = TReadScriptFile::readString(pTVar1); - strcpy(QUERY_MANAGER[NumberOfQueryManagers].Password,pcVar5); - DisguisePassword(QUERY_MANAGER[NumberOfQueryManagers].Password,"Pm-,o%yD"); - pcVar5 = (char *)0x29; - TReadScriptFile::readSymbol(pTVar1,')'); - NumberOfQueryManagers = NumberOfQueryManagers + 1; - cVar3 = TReadScriptFile::readSpecial(pTVar1); - } while (cVar3 != '}'); - } - } while( true ); -} - void __static_initialization_and_destruction_0(int __initialize_p,int __priority) { -- cgit v1.2.3