thunderbrew/src/world/CWorld.hpp
2025-08-02 01:41:58 +04:00

61 lines
1.7 KiB
C++

#ifndef WORLD_C_WORLD_HPP
#define WORLD_C_WORLD_HPP
#include <cstdint>
#include <tempest/Vector.hpp>
class CWorld {
public:
enum Enables {
Enable_1 = 0x1,
Enable_2 = 0x2,
Enable_Lod = 0x4,
Enable_8 = 0x8,
Enable_10 = 0x10,
Enable_Culling = 0x20,
Enable_Shadow = 0x40,
Enable_80 = 0x80,
Enable_100 = 0x100,
Enable_200 = 0x200,
Enable_400 = 0x400,
Enable_800 = 0x800,
Enable_1000 = 0x1000,
Enable_4000 = 0x4000,
Enable_8000 = 0x8000,
Enable_10000 = 0x10000,
Enable_20000 = 0x20000,
Enable_40000 = 0x40000,
Enable_80000 = 0x80000,
Enable_DetailDoodads = 0x100000,
Enable_200000 = 0x200000,
Enable_400000 = 0x400000,
Enable_800000 = 0x800000,
Enable_1000000 = 0x1000000,
Enable_Particulates = 0x2000000,
Enable_LowDetail = 0x4000000,
Enable_8000000 = 0x8000000,
Enable_PixelShader = 0x10000000
};
enum Enables2 {
Enable_VertexShader = 0x1,
Enable_HwPcf = 0x2
};
// Static variables
static uint32_t s_enables;
static uint32_t s_enables2;
static float s_farClip;
static float s_nearClip;
static float prevFarClip;
// Static functions
static void Initialize();
static void LoadMap(const char* mapName, const C3Vector& position, int32_t zoneID);
static void Render(const C3Vector& cameraPos, float time);
static uint32_t GetEnables();
};
#endif