Quote:
Originally Posted by Jopsi332
yannik du hast kapiert was es tut wow. willste nun nen keks?
das tages nacht system von offi verändert nur den himmel
somit wäre das hier ein addon.
|
Ich hab jede Stunde geschaut (bis 4uhr) ob du schon geantwortet hast. Jetzt ist es soweit du hast so geantwortet wie ich es erwartet habe.
Flyff hat ein Tag/Nacht System und NEIN es macht nicht nur den "himmel" "auf Grafik ebene hä? o.O" Hell!!
So jetzt wird gebumst!!
Ganz am anfang in der SetLight() //Die das Licht in der Welt setzt// findet man diese abfrage:
if( m_bIsIndoor )
Dieser TRUE teil (wenn er im haus ist oder sonstwo) interessiert uns nicht also gehen wir in den Else abschnitt.
Code:
int nHour = 8, nMin = 0;
#ifdef __CLIENT
// Ŭ¶óÀÌ¾ðÆ®´Â ½Ã°£À» g_GameTimer¿¡¼* °¡Á®¿Â´Ù.
nHour = g_GameTimer.m_nHour;
nMin = g_GameTimer.m_nMin ;
#else
// ºñ½ºÆ®´Â ½Ã°£À» m_nLightHour¿¡¼* °¡Á®¿Â´Ù.
if( m_nLightType == 1 )
nHour = m_nLightHour;
#endif
nHour--;
if( nHour < 0 ) nHour = 0;
if( nHour > 23 ) nHour = 23;
Komisch wieso nimmt er da die Game Zeiten und arbeitet mit ihnen ? o.O
Schauen wir mal weiter:
Code:
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
Jetzt holt er sich plötzlich mittels der Uhrzeit ingame werte von m_k24Light? o.O Komisch wieso macht er das? Der Himmel ändert sich doch nur du dödel? (Zu der m_k24Light kommen wir am ende).
Code:
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
// À½¿µ º¯È*
pLight->Diffuse.r = lightColorPrv.r1;
pLight->Diffuse.g = lightColorPrv.g1;
pLight->Diffuse.b = lightColorPrv.b1;
// º¯È* ¾øÀ½
pLight->Specular.r = 1.0f;
pLight->Specular.g = 1.0f;
pLight->Specular.b = 1.0f;
// Àüü º¯È*
pLight->Ambient.r = lightColorPrv.r2;
pLight->Ambient.g = lightColorPrv.g2;
pLight->Ambient.b = lightColorPrv.b2;
Waas ??? Wieso ändert er jetzt mit den werten die er anhand der Gamezeiten gekriegt hat die Diffusen und Ambienten werte? Was hat der Client vor? Will er etwa da ein Tag/nacht System machen? o.O
Komisch er hat das Diffuse und Ambiente licht in der welt geändert genauso wie deni Crap Code?
Er hat die Werte dazu aus der m_k24Light bezogen schauen wir mal was das genau ist.
memcpy( m_k24Light, gs_kLight, sizeof( LIGHTCOLOR ) * 24 );
Hmmm hier packt er die Werte der Structur von gs_kLight in m_k24Light, seltsam :s.
Schauen wir uns mal die gs_kLight genauer an:
Code:
static const LIGHTCOLOR gs_kLight[24] = // diffuse, ambient
{
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f, // 0 12
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f, // 1
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f, // 2
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f, // 3
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f, // 4
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f, // 5
0.5f, 0.5f, 0.6f, 0.4f, 0.4f, 0.4f, // 6
0.7f, 0.7f, 0.7f, 0.5f, 0.5f, 0.5f, // 7
0.8f, 0.8f, 0.8f, 0.5f, 0.5f, 0.5f, // 8
0.9f, 0.9f, 0.9f, 0.5f, 0.5f, 0.5f, // 9
1.0f, 1.0f, 1.0f, 0.5f, 0.5f, 0.5f, // 10
1.0f, 1.0f, 1.0f, 0.6f, 0.6f, 0.6f, // 11
1.0f, 1.0f, 1.0f, 0.6f, 0.6f, 0.6f, // 12
1.0f, 1.0f, 1.0f, 0.6f, 0.6f, 0.6f, // 13 1
1.0f, 1.0f, 1.0f, 0.6f, 0.6f, 0.6f, // 14 2
1.0f, 1.0f, 1.0f, 0.5f, 0.5f, 0.5f, // 15 3
0.9f, 0.9f, 0.9f, 0.5f, 0.5f, 0.5f, // 16 5
0.9f, 0.6f, 0.2f, 0.5f, 0.5f, 0.4f, // 17 6
0.6f, 0.6f, 0.4f, 0.4f, 0.4f, 0.4f, // 18 7
0.5f, 0.5f, 0.4f, 0.4f, 0.4f, 0.4f, // 19 8
0.45f, 0.45f, 0.4f, 0.35f, 0.35f, 0.35f, // 20 8
0.43f, 0.43f, 0.5f, 0.33f, 0.33f, 0.3f, // 21 9
0.41f, 0.41f, 0.5f, 0.31f, 0.31f, 0.3f, // 22 10
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f // 23 11
Waaaaaaas??? Lool?? Kann das sein? Jopsi du hattest glaub unrecht das ist doch unmöglich!!!
So wie ich das sehe definiert er in der gs_kLight die später in m_k24Light und dann in pLight (für die welt helligkeit) landet für JEDE STUNDE einen anderen Diffusen / Specularen / Ambienten Wert?
Wie kann das möglich sein.. meine Augen füllen sich mit Tränen wenn ich nur an die möglichkeit denke das es doch ein Tag/Nachtsystem in Flyff gibt und Jopsi der Supercoder unrecht hatte. :'(
//Für alle die das Offi System gleich nutzen wollen und nicht noch was extra dazu gecodetes scheisdreck benutzen wollen:
Ihr müsst die Werte die ich zuletzt aufgelistet habe etwas stärker abändern (offi hat es so gemacht das man kein extremen unterschied bemerkt.