rodecomp/Source/Contents/Map/MapSkyMgr.h
ragnarok-clanker 89a874690f Maintenance: Move mid-file forward declarations out of .cpp files into owning headers: CUIListBoxEx explicit-specialization declarati
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.
2026-11-12 13:39:07 +00:00

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