Hey Leute,
Previews:
Bitte melden Sie sich an, um dieses Bild zu sehen.
Bitte melden Sie sich an, um dieses Bild zu sehen.
Wenns das Tutorial schon gibt, ignoriert diesen Beitrag einfach und bei Fehlern wie immer: Schreibt's mir, ich korrigiers.
folgendes kennt man ja vom WorldEditor, wenn man eine spezielle Wassertextur setzt:
Diese zwei Variablen werden standartmäßig von YMIR professionell ignoriert. Hier das Tutorial dazu, um ingame spezielle Wassertexturen zu erlauben:
GameLib/MapOutdoor.h:
Suchen:
Darunter einfügen:
GameLib/MapOutdoor.cpp:
Suchen:
Darunter einfügen:
GameLib/MapOutdoorLoad.cpp:
Suchen:
Darunter einfügen:
Code
- if (stTokenVectorMap.end() != stTokenVectorMap.find("specialwaterpath"))
- {
- m_SpecialWaterPath = stTokenVectorMap["specialwaterpath"][0];
- }
- else
- {
- m_SpecialWaterPath = "d:/ymir work/special/water";
- }
- if (stTokenVectorMap.end() != stTokenVectorMap.find("specialwatercount"))
- {
- m_SpecialWaterCount = atoi(stTokenVectorMap["specialwatercount"][0].c_str());
- }
- else
- {
- m_SpecialWaterCount = 30;
- }
GameLib/MapOutdoorLoad.cpp:
Suchen:
Code
- void CMapOutdoor::LoadWaterTexture()
- {
- UnloadWaterTexture();
- char buf[256];
- for (int i = 0; i < 30; ++i)
- {
- sprintf(buf, "d:/ymir Work/special/water/%02d.dds", i + 1);
- m_WaterInstances[i].SetImagePointer((CGraphicImage *)CResourceManager::Instance().GetResourcePointer(buf));
- }
- }
- void CMapOutdoor::UnloadWaterTexture()
- {
- for (int i = 0; i < 30; ++i)
- m_WaterInstances[i].Destroy();
- }
Ersetzen mit:
Code
- void CMapOutdoor::LoadWaterTexture()
- {
- UnloadWaterTexture();
- char buf[256];
- for (int i = 0; i < m_SpecialWaterCount; ++i)
- {
- sprintf(buf, "%s/%02d.dds", m_SpecialWaterPath.c_str(), i + 1);
- m_WaterInstances[i].SetImagePointer((CGraphicImage *)CResourceManager::Instance().GetResourcePointer(buf));
- }
- }
- void CMapOutdoor::UnloadWaterTexture()
- {
- for (int i = 0; i < m_SpecialWaterCount; ++i)
- m_WaterInstances[i].Destroy();
- }
Et voilá.