mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 13:04:56 +00:00
Implement CActorLights::BuildAreaLightList
This commit is contained in:
@@ -306,6 +306,7 @@ std::vector<uint8_t> VISIBuilder::build(const zeus::CAABox& fullAabb,
|
||||
size_t modelCount,
|
||||
const std::vector<VISIRenderer::Entity>& entities,
|
||||
const std::vector<VISIRenderer::Light>& lights,
|
||||
size_t layer2LightCount,
|
||||
FPercent updatePercent)
|
||||
{
|
||||
Log.report(logvisor::Info, "Started!");
|
||||
@@ -338,7 +339,7 @@ std::vector<uint8_t> VISIBuilder::build(const zeus::CAABox& fullAabb,
|
||||
w.writeBool(true);
|
||||
w.writeUint32Big(featureCount);
|
||||
w.writeUint32Big(lights.size());
|
||||
w.writeUint32Big(0);
|
||||
w.writeUint32Big(layer2LightCount);
|
||||
w.writeUint32Big(entities.size());
|
||||
w.writeUint32Big(leafBytesCount);
|
||||
w.writeUint32Big(lights.size());
|
||||
|
||||
@@ -122,6 +122,7 @@ struct VISIBuilder
|
||||
size_t modelCount,
|
||||
const std::vector<VISIRenderer::Entity>& entities,
|
||||
const std::vector<VISIRenderer::Light>& lights,
|
||||
size_t layer2LightCount,
|
||||
FPercent updatePercent);
|
||||
|
||||
VISIBuilder(VISIRenderer& renderer) : renderCache(renderer) {}
|
||||
|
||||
@@ -488,6 +488,7 @@ void VISIRenderer::Run(FPercent updatePercent)
|
||||
return;
|
||||
}
|
||||
|
||||
uint32_t layer2LightCount = 0;
|
||||
{
|
||||
athena::io::FileReader r(m_argv[1]);
|
||||
if (r.hasError())
|
||||
@@ -545,6 +546,7 @@ void VISIRenderer::Run(FPercent updatePercent)
|
||||
}
|
||||
|
||||
uint32_t lightCount = r.readUint32Big();
|
||||
layer2LightCount = r.readUint32Big();
|
||||
m_lights.resize(lightCount);
|
||||
for (uint32_t i=0 ; i<lightCount ; ++i)
|
||||
{
|
||||
@@ -561,7 +563,8 @@ void VISIRenderer::Run(FPercent updatePercent)
|
||||
|
||||
VISIBuilder builder(*this);
|
||||
std::vector<uint8_t> dataOut = builder.build(m_totalAABB, m_models.size(),
|
||||
m_entities, m_lights, m_updatePercent);
|
||||
m_entities, m_lights, layer2LightCount,
|
||||
m_updatePercent);
|
||||
if (dataOut.empty())
|
||||
{
|
||||
m_return = 1;
|
||||
|
||||
Reference in New Issue
Block a user