unsigned int DisplayMessage::GetSpeakerColor(String& name, const Scriptable *&speaker) const { unsigned int speaker_color; name = L""; if(!speaker) { return 0; } String* string = NULL; switch (speaker->Type) { case ST_ACTOR: string = StringFromCString(speaker->GetName(-1)); core->GetPalette( ((Actor *) speaker)->GetStat(IE_MAJOR_COLOR) & 0xFF, PALSIZE, ActorColor ); speaker_color = (ActorColor[4].r<<16) | (ActorColor[4].g<<8) | ActorColor[4].b; break; case ST_TRIGGER: case ST_PROXIMITY: case ST_TRAVEL: string = core->GetString( speaker->DialogName ); speaker_color = 0xc0c0c0; break; default: speaker_color = 0x800000; break; } if (string) { name = *string; delete string; } return speaker_color; }
void CViewCfg::LoadSettings( CIniConfig& ini ) { m_bLockView = ini.ReadBool( INI_MAILVIEW, "LockView", false ); m_bUseLastSignature = ini.ReadBool( INI_MAILVIEW, "UseLastSignature", false ); m_State = ini.ReadInt( INI_MAILVIEW, "State", 0 ); char * Tmp = create char[ 0x8000 ]; ini.ReadString(INI_MAILVIEW, "StyleCodePunct", DEFAULT_STYLECODEPUNCT, Tmp, 0x8000); m_StyleCodePunct = StringFromCString(Tmp); ini.ReadString(INI_MAILVIEW, "StyleCodeStops", DEFAULT_STYLECODESTOPS, Tmp, 0x8000); m_StyleCodeStops = StringFromCString(Tmp); ini.ReadString(INI_MAILVIEW, "DateFormat", STR_DateFmt, Tmp, 0x8000); m_DateFormat = Tmp; ini.ReadString(INI_MAILVIEW, "TimeFormat", STR_TimeFmt, Tmp, 0x8000); m_TimeFormat = Tmp; delete [] Tmp; m_Templates.LoadSettings( ini ); m_Colors.LoadSettings( ini ); m_HTMLFilter.LoadSettings( ini ); }