mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-11-05 19:37:15 +00:00
feat(dashboard): metal and glow looks in the UGC and zone 3D views
NifFile::ShaderLookFor knows Polished Metal (98), Brushed Steel (99) and LEGO-Emissive (53). The UGC mesh route sends each mesh's look (from its multishader tag), and the UGC 3D view draws metal as reflective and glow unlit. The zone views draw LEGO-Emissive objects going to their vertex color by its alpha, as the shader does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include <cstdint>
|
||||
#include <optional>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
struct HTTPReply;
|
||||
struct HTTPContext;
|
||||
@@ -11,6 +12,10 @@ namespace WorldScene {
|
||||
struct Object;
|
||||
}
|
||||
|
||||
namespace NifFile {
|
||||
struct Model;
|
||||
}
|
||||
|
||||
/**
|
||||
* A zone's scenery for the 3D views, drawn from the game client's files the way the client draws it: every object in
|
||||
* the zone's scene files (.lvl) with the model of its render component (RenderComponent.render_asset, a .nif or a
|
||||
@@ -46,6 +51,13 @@ namespace Scenery {
|
||||
// Whether ZoneJson is built (so answering it is quick)
|
||||
bool ZoneReady(uint32_t zoneId);
|
||||
|
||||
/**
|
||||
* The eShaderLook bits (NifFile::ShaderLookFor) of each mesh of a multishader model (a player model: RenderComponent
|
||||
* shader Multishader), from its parts' tags (mapShaders ids, read by Preload); for NifFile::Encode's `looks`.
|
||||
* Any thread.
|
||||
*/
|
||||
std::vector<uint16_t> MultishaderLooks(const NifFile::Model& model);
|
||||
|
||||
/**
|
||||
* The zone's flairs (the grass, flowers and small rocks its terrain file strews over it, models from FlairTable) as a
|
||||
* manifest in ZoneJson's form, whose models the same mesh and texture routes serve, plus: distance (how far from the
|
||||
|
||||
Reference in New Issue
Block a user