BOOL CNWNXMessages::OnCreate(const char* LogDir){ char log[MAX_PATH]; char logrotate[MAX_PATH]; sprintf( log, "%s\\nwnx_messages.txt", LogDir); sprintf( logrotate, "%s\\1\\nwnx_messages.txt", LogDir); MoveFile( log, logrotate ); // call the base class function if( !CNWNXBase::OnCreate( log ) ) return false; WriteLogHeader( ); CIniFile ini( "NWNX.ini" ); SS=NULL; SSLen=0; char lpath[MAX_PATH]; ini.ReadString( "MESSAGES", "Languages", lpath, MAX_PATH-25, "%" ); if( lpath[0] != '%' ){ int loaded = LoadLanguages( lpath ); if( loaded <= 0 ){ SS = new ScrambleSet[1]; SSLen=1; } else Log( "Loaded: %i languages\n\n", loaded-1 ); } else{ SS = new ScrambleSet[1]; SSLen=1; Log( "No languages where loaded!\n\n" ); } char buffer[128]; char number[12]; CNWNXMemory mem; TLK = (CExoString *)mem.nwnx_malloc(sizeof(CExoString)); LASTSTR=(CExoString *)mem.nwnx_malloc(sizeof(CExoString)); TLK->text=NULL; LASTSTR->text=NULL; LOGLEVEL=ini.ReadInteger( "MESSAGES", "log", 0 ); ini.ReadString( "MESSAGES", "TLK", buffer, 128, "" ); int n=0; if( buffer[0]=='\0' ){ Log( "No TLK file was registered in nwnx.ini! Sending Haklist disabled!\n" ); } else{ TLK->CExoStringCpy( buffer ); Log( "TLK: %s\n", TLK->CStr() ); ini.ReadString( "MESSAGES", _itoa( ++n, number, 10 ), buffer, 128, "" ); HAKLen=0; void * temp; HAK=NULL; while( buffer[0]!='\0' ){ temp = mem.nwnx_malloc( sizeof(CExoString)*(HAKLen+1) ); if( HAK ){ memcpy( temp, HAK, sizeof(CExoString)*HAKLen ); mem.nwnx_free( HAK ); } HAK = (CExoString*)temp; HAK[HAKLen].text=NULL; HAK[HAKLen].CExoStringCpy( buffer ); Log( "HAK %i: %s\n", HAKLen+1, HAK[HAKLen].CStr() ); HAKLen++; ini.ReadString( "MESSAGES", _itoa( ++n, number, 10 ), buffer, 128, "" ); } Log( "\n" ); if( HookCode( (PVOID)0x0043a810, CNWSMessage__SendServerToPlayerCharList, (PVOID*)&CNWSMessage__SendServerToPlayerCharListNext ) ) Log( "o Hooked SendServerToPlayerCharList!\n" ); else Log( "! Failed to hook SendServerToPlayerCharList!\n" ); Log( "\n" ); } return true; }
bool SystemEngine::SingletonInitialize() { LoadLanguages(); return true; }
nuiTranslator::nuiTranslator(const nglPath& rLanguagesFilesFolder) { mLearning = false; LoadLanguages(rLanguagesFilesFolder); }