Working on lights

This commit is contained in:
Vladislav Khorev committed 2026-06-04 15:14:18 +03:00
1 parent 442d3a7945
commit e3542b59f7
6 files changed
+237 -36

No files matched your search

+5
View File
@@ -22,9 +22,12 @@ namespace ZL
struct PointLight
{
std::string id;
Eigen::Vector3f position; // world space
Eigen::Vector3f direction; // world space, unit vector the cone points toward
Eigen::Vector3f color; // RGB, values > 1.0 increase intensity
bool autoLight = false; // if true, only activates when nearest light to player
float autoLightDistance = -1.0f; // max distance for autoLight activation; <=0 means unlimited
};
struct TriggerZone
@@ -47,6 +50,7 @@ namespace ZL
std::string scriptPath;
std::string teleportsJsonPath;
std::string triggerZonesJsonPath;
std::string lightsJsonPath;
Eigen::Vector3f playerPosition = Eigen::Vector3f::Zero();
};
@@ -159,6 +163,7 @@ namespace ZL
void updateDynamicReplans(int64_t deltaMs);
void loadTeleportZones(const std::string& jsonPath, const char* zipFile);
void loadTriggerZones(const std::string& jsonPath, const char* zipFile);
void loadPointLights(const std::string& jsonPath, const char* zipFile);
void updateTriggerZones(const Eigen::Vector3f& playerPos);
void nudgeCharacterAside(Character* standing, const Eigen::Vector3f& awayFrom);
int findNpcIndex(const Character* npc) const;