diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index 37548e3fe3418b097af137c5be75d02251ad2394..98a0e902ecc3c456cb0a2f571e6e13aeeb0dc7ee 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -1115,19 +1115,16 @@ bool LLModel::loadModel(std::istream& is) } mSubmodelID = header.has("submodel_id") ? header["submodel_id"].asInteger() : false; - - static const std::string lod_name[] = - { - "lowest_lod", - "low_lod", - "medium_lod", - "high_lod", - "physics_mesh", - }; - - const S32 MODEL_LODS = 5; - - S32 lod = llclamp((S32) mDetail, 0, MODEL_LODS); + + static const std::array<std::string, 5> lod_name = {{ + "lowest_lod", + "low_lod", + "medium_lod", + "high_lod", + "physics_mesh", + }}; + + S32 lod = llclamp(static_cast<S32>(mDetail), 0, static_cast<S32>(lod_name.size()) - 1); if (header[lod_name[lod]]["offset"].asInteger() == -1 || header[lod_name[lod]]["size"].asInteger() == 0 )