- Mesaj
- 153
- Çözümler
- 2
- Beğeni
- 36
- Puan
- 474
- Ticaret Puanı
- 0
Merhaba metin2 official sunucuda msenv doslarında fog yapısını değiştirdi. NearDistance FarDistance değerlerini almak yerine direkt olarak fog level a göre bir işlem yapmaya başladı. Ben de MapUtil.cpp üzerinde gerekli kod bloğunda değişiklik sağladım ama foglevel değerine göre en mantıklı hesaplamayı nasıl yaparım bulamadım. Bir yandan hayalet orman haritasına girdim kendi değerlerim ile official sunucudaki değerleri karşılaştırmak için görünürde benziyorlar mı diye baya alakasız oldular.
bu değerleri en iyi nasıl hesaplarım bir fikri olan var mı ?

Eski Yapı:
Group Fog
{
Enable 1
NearDistance 5000.000000
FarDistance 20000.000000
Color 0.690196 0.741176 0.839216 1.000000
}
Yeni Yapı:
Group Fog
{
foglevel 6
Color 0.690196 0.741176 0.839216 1.000000
}
MapUtil.cpp:
if (textLoader.SetChildNode("fog"))
{
float fFogLevel = 0.0f;
if (textLoader.GetTokenFloat("foglevel", &fFogLevel))
{
envData.bFogEnable = true;
envData.bDensityFog = false;
envData.m_fFogNearDistance = 100.0f * fFogLevel;
envData.m_fFogFarDistance = 4000.0f * fFogLevel;
}
else
{
textLoader.GetTokenBoolean("enable", &envData.bFogEnable);
textLoader.GetTokenBoolean("isdensity", &envData.bDensityFog);
textLoader.GetTokenFloat("neardistance", &envData.m_fFogNearDistance);
textLoader.GetTokenFloat("fardistance", &envData.m_fFogFarDistance);
}
textLoader.GetTokenColor("color", &envData.FogColor);
textLoader.SetParentNode();
}
C++:
envData.m_fFogNearDistance = 100.0f * fFogLevel;
envData.m_fFogFarDistance = 4000.0f * fFogLevel;