Batch #18338 by ragnarok-clanker: no function's compiled code changes; checked with 433 compiled unit(s), including every includer of Source/Client/Application/ApplicationWindow.h, Source/Client/Mode/CGameMode.h, Source/Client/Session/Session.h, Source/Contents/Configuration/ServiceOptions.h, Source/Contents/Map/MapSkyMgr.h, Source/Contents/Messenger/ClientMessenger.h, Source/Contents/SignBoard/SignBoard.h, Source/Contents/Skills/ClientSkills.h, Source/Contents/Sound/SoundConfiguration.h, Source/Render/DX7/RenderSystemDX7.h, Source/Render/Device/DisplayMode.h, Source/Resource/Json/JsonCppLoader.h, Source/Security/NProtectGameGuardMgr.h, Source/UI/Cooldowns/CooldownOwner.h, Source/UI/Enchant/EnchantUI.h, Source/UI/Exchange/UIExchangeUI.h, Source/UI/GameSettings/GameSettingsUI.h, Source/UI/ProbabilityTable/UIProbabilityTable.h, Source/UI/Quest/UIOngoingQuestInfo.h, Source/UI/RuneSystem/UIRuneSystemWnd.h, Source/UI/SelectPackageItemBox/SelectPackageItemBox.h, Source/UI/SkillDelayInfo/SkillDelayInfo.h, Source/UI/Text/TextWrapping.h, Source/Contents/Actors/Resources/BodyResources.h, Source/Resource/Json/JsonCppLoaderExternal.h, Source/Resource/Json/JsonCppLoaderParsing.h, Source/Security/NProtectGameMon.h.
74 lines
1.6 KiB
C++
74 lines
1.6 KiB
C++
#ifndef RAGNAROK_SOURCE_CONTENTS_MAP_MAPSKYMGR_H
|
|
#define RAGNAROK_SOURCE_CONTENTS_MAP_MAPSKYMGR_H
|
|
|
|
#include "Script/LuaScript.h"
|
|
#include "Utility/Math/Vector3d.h"
|
|
|
|
#include <string>
|
|
#include <utility>
|
|
#include <vector>
|
|
|
|
struct CRagEffect;
|
|
|
|
class CWeatherEffect {
|
|
public:
|
|
CWeatherEffect();
|
|
|
|
void AddMapWeather(std::string mapName, std::string weather);
|
|
vector3d GetWindDirection() const;
|
|
void Play(char kind);
|
|
void StartDarken();
|
|
void StopDarken();
|
|
void Fireworks();
|
|
void Snow();
|
|
void StartLightning();
|
|
void StopLightning();
|
|
void Process();
|
|
void ResetEffect();
|
|
void ApplyMapWeather(std::string mapName);
|
|
void ExtendEffect();
|
|
void Unused();
|
|
|
|
/* 0000 */ unsigned char darken;
|
|
/* 0001 */ unsigned char enabled;
|
|
/* 0002 */ unsigned char lightning;
|
|
/* 0004 */ std::vector<std::pair<std::string, std::string>> mapWeathers;
|
|
/* 0010 */ void* actor;
|
|
/* 0014 */ float color[3];
|
|
/* 0020 */ float targetColor[3];
|
|
/* 002C */ float fog[3];
|
|
/* 0038 */ float lightColor[3];
|
|
/* 0044 */ CRagEffect* effect;
|
|
/* 0048 */ unsigned char padding_0048[0x10];
|
|
/* 0058 */ int counter;
|
|
};
|
|
|
|
class CMapSkyMgr {
|
|
public:
|
|
__declspec(noinline) CMapSkyMgr();
|
|
// INLINED
|
|
virtual ~CMapSkyMgr() {
|
|
if (this->m_script) {
|
|
this->m_script->Close();
|
|
delete this->m_script;
|
|
this->m_script = nullptr;
|
|
}
|
|
}
|
|
|
|
bool LoadData();
|
|
void Unused();
|
|
void CreateClouds(const std::string& mapName);
|
|
void Apply(const std::string& mapName);
|
|
|
|
private:
|
|
/* 0004 */ LuaScript* m_script;
|
|
};
|
|
|
|
extern CWeatherEffect g_weatherEffect;
|
|
extern float g_depthAverageHalf;
|
|
extern CMapSkyMgr* g_mapSkyMgr;
|
|
|
|
CMapSkyMgr* GetMapSkyMgr();
|
|
void IgnoreNull();
|
|
|
|
#endif
|