コード例 #1
0
ファイル: NWNXMessages.cpp プロジェクト: TerrahKitsune/NWNX
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;
}
コード例 #2
0
ファイル: system.cpp プロジェクト: ValyriaTear/ValyriaTear
bool SystemEngine::SingletonInitialize()
{
    LoadLanguages();
    return true;
}
コード例 #3
0
ファイル: nuiTranslator.cpp プロジェクト: YetToCome/nui3
nuiTranslator::nuiTranslator(const nglPath& rLanguagesFilesFolder)
{
  mLearning = false;
  LoadLanguages(rLanguagesFilesFolder);
}