Merge pull request #188 from lioncash/class

CModelShaders: Make EExtendedShader an enum class
This commit is contained in:
Phillip Stephens 2020-03-06 16:13:54 -08:00 committed by GitHub
commit f8e40e600f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View File

@ -359,7 +359,7 @@ CBooModel::ModelInstance* CBooModel::PushNewModelInstance(int sharedLayoutBuf) {
std::vector<boo::ObjToken<boo::IShaderDataBinding>>& extendeds = newInst.m_shaderDataBindings.back();
extendeds.reserve(pipelines->size());
int idx = 0;
EExtendedShader idx{};
for (const auto& pipeline : *pipelines) {
if (idx == EExtendedShader::Thermal) {
texs[8] = g_Renderer->x220_sphereRamp.get();
@ -387,7 +387,7 @@ CBooModel::ModelInstance* CBooModel::PushNewModelInstance(int sharedLayoutBuf) {
extendeds.push_back(ctx.newShaderDataBinding(pipeline, newInst.GetBooVBO(*this, ctx), nullptr,
m_staticIbo.get(), 4, bufs, stages, thisOffs, thisSizes, 12, texs,
nullptr, nullptr));
++idx;
idx = EExtendedShader(size_t(idx) + 1);
}
}
return true;

View File

@ -21,7 +21,7 @@ class ShaderTag;
namespace urde {
class CLight;
enum EExtendedShader : uint8_t {
enum class EExtendedShader : uint8_t {
Flat,
Lighting,
Thermal,
@ -96,7 +96,7 @@ public:
static void Initialize();
static void Shutdown();
using ShaderPipelinesData = std::array<boo::ObjToken<boo::IShaderPipeline>, EExtendedShader::MAX>;
using ShaderPipelinesData = std::array<boo::ObjToken<boo::IShaderPipeline>, size_t(EExtendedShader::MAX)>;
using ShaderPipelines = std::shared_ptr<ShaderPipelinesData>;
using Material = DataSpec::DNAMP1::HMDLMaterialSet::Material;