CModelShaders: Make EExtendedShader an enum class

Prevents pollution of the urde namespace with general names like Flat,
etc.
This commit is contained in:
Lioncash 2020-03-05 23:39:09 -05:00
parent 2f9dd38bbe
commit d9664d165f
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;