apply code-conventions to unrealloader

pull/2885/head
Kim Kulling 2020-03-28 09:48:55 +01:00
parent 27e1a20efe
commit 9b83d74830
2 changed files with 178 additions and 194 deletions

View File

@ -51,17 +51,17 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "Unreal/UnrealLoader.h" #include "Unreal/UnrealLoader.h"
#include "PostProcessing/ConvertToLHProcess.h" #include "PostProcessing/ConvertToLHProcess.h"
#include <assimp/StreamReader.h>
#include <assimp/ParsingUtils.h> #include <assimp/ParsingUtils.h>
#include <assimp/StreamReader.h>
#include <assimp/fast_atof.h> #include <assimp/fast_atof.h>
#include <assimp/Importer.hpp> #include <assimp/importerdesc.h>
#include <assimp/scene.h>
#include <assimp/DefaultLogger.hpp> #include <assimp/DefaultLogger.hpp>
#include <assimp/IOSystem.hpp> #include <assimp/IOSystem.hpp>
#include <assimp/scene.h> #include <assimp/Importer.hpp>
#include <assimp/importerdesc.h>
#include <memory>
#include <stdint.h> #include <stdint.h>
#include <memory>
using namespace Assimp; using namespace Assimp;
@ -98,7 +98,7 @@ struct Triangle {
// temporary representation for a material // temporary representation for a material
struct TempMat { struct TempMat {
TempMat() : TempMat() :
type(), tex(), numFaces(0) {} type(MF_NORMAL_OS), tex(), numFaces(0) {}
explicit TempMat(const Triangle &in) : explicit TempMat(const Triangle &in) :
type((Unreal::MeshFlags)in.mType), tex(in.mTextureNum), numFaces(0) {} type((Unreal::MeshFlags)in.mType), tex(in.mTextureNum), numFaces(0) {}
@ -165,54 +165,46 @@ static const aiImporterDesc desc = {
"3d uc" "3d uc"
}; };
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
// Constructor to be privately used by Importer // Constructor to be privately used by Importer
UnrealImporter::UnrealImporter() UnrealImporter::UnrealImporter() :
: configFrameID (0) mConfigFrameID(0), mConfigHandleFlags(true) {}
, configHandleFlags (true)
{}
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
// Destructor, private as well // Destructor, private as well
UnrealImporter::~UnrealImporter() UnrealImporter::~UnrealImporter() {}
{}
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
// Returns whether the class can handle the format of the given file. // Returns whether the class can handle the format of the given file.
bool UnrealImporter::CanRead( const std::string& pFile, IOSystem* /*pIOHandler*/, bool /*checkSig*/) const bool UnrealImporter::CanRead(const std::string &pFile, IOSystem * /*pIOHandler*/, bool /*checkSig*/) const {
{
return SimpleExtensionCheck(pFile, "3d", "uc"); return SimpleExtensionCheck(pFile, "3d", "uc");
} }
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
// Build a string of all file extensions supported // Build a string of all file extensions supported
const aiImporterDesc* UnrealImporter::GetInfo () const const aiImporterDesc *UnrealImporter::GetInfo() const {
{
return &desc; return &desc;
} }
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
// Setup configuration properties for the loader // Setup configuration properties for the loader
void UnrealImporter::SetupProperties(const Importer* pImp) void UnrealImporter::SetupProperties(const Importer *pImp) {
{
// The // The
// AI_CONFIG_IMPORT_UNREAL_KEYFRAME option overrides the // AI_CONFIG_IMPORT_UNREAL_KEYFRAME option overrides the
// AI_CONFIG_IMPORT_GLOBAL_KEYFRAME option. // AI_CONFIG_IMPORT_GLOBAL_KEYFRAME option.
configFrameID = pImp->GetPropertyInteger(AI_CONFIG_IMPORT_UNREAL_KEYFRAME,-1); mConfigFrameID = pImp->GetPropertyInteger(AI_CONFIG_IMPORT_UNREAL_KEYFRAME, -1);
if(static_cast<unsigned int>(-1) == configFrameID) { if (static_cast<unsigned int>(-1) == mConfigFrameID) {
configFrameID = pImp->GetPropertyInteger(AI_CONFIG_IMPORT_GLOBAL_KEYFRAME,0); mConfigFrameID = pImp->GetPropertyInteger(AI_CONFIG_IMPORT_GLOBAL_KEYFRAME, 0);
} }
// AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS, default is true // AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS, default is true
configHandleFlags = (0 != pImp->GetPropertyInteger(AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS,1)); mConfigHandleFlags = (0 != pImp->GetPropertyInteger(AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS, 1));
} }
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
// Imports the given file into the given scene structure. // Imports the given file into the given scene structure.
void UnrealImporter::InternReadFile(const std::string &pFile, void UnrealImporter::InternReadFile(const std::string &pFile,
aiScene* pScene, IOSystem* pIOHandler) aiScene *pScene, IOSystem *pIOHandler) {
{
// For any of the 3 files being passed get the three correct paths // For any of the 3 files being passed get the three correct paths
// First of all, determine file extension // First of all, determine file extension
std::string::size_type pos = pFile.find_last_of('.'); std::string::size_type pos = pFile.find_last_of('.');
@ -227,8 +219,7 @@ void UnrealImporter::InternReadFile( const std::string& pFile,
throw DeadlyImportError("UNREAL: Unexpected naming scheme"); throw DeadlyImportError("UNREAL: Unexpected naming scheme");
} }
extension = pFile.substr(0, pos); extension = pFile.substr(0, pos);
} } else {
else {
extension = pFile.substr(0, pos); extension = pFile.substr(0, pos);
} }
@ -270,7 +261,7 @@ void UnrealImporter::InternReadFile( const std::string& pFile,
tri.mType = d_reader.GetI1(); tri.mType = d_reader.GetI1();
// handle mesh flagss? // handle mesh flagss?
if (configHandleFlags) if (mConfigHandleFlags)
tri.mType = Unreal::MF_NORMAL_OS; tri.mType = Unreal::MF_NORMAL_OS;
else { else {
// ignore MOD and MASKED for the moment, treat them as two-sided // ignore MOD and MASKED for the moment, treat them as two-sided
@ -295,7 +286,7 @@ void UnrealImporter::InternReadFile( const std::string& pFile,
// read number of frames // read number of frames
const uint32_t numFrames = a_reader.GetI2(); const uint32_t numFrames = a_reader.GetI2();
if (configFrameID >= numFrames) { if (mConfigFrameID >= numFrames) {
throw DeadlyImportError("UNREAL: The requested frame does not exist"); throw DeadlyImportError("UNREAL: The requested frame does not exist");
} }
@ -304,7 +295,7 @@ void UnrealImporter::InternReadFile( const std::string& pFile,
throw DeadlyImportError("UNREAL: Unexpected aniv file length"); throw DeadlyImportError("UNREAL: Unexpected aniv file length");
// skip to our frame // skip to our frame
a_reader.IncPtr(configFrameID *numVert*4); a_reader.IncPtr(mConfigFrameID * numVert * 4);
// collect vertices // collect vertices
std::vector<aiVector3D> vertices(numVert); std::vector<aiVector3D> vertices(numVert);
@ -345,12 +336,13 @@ void UnrealImporter::InternReadFile( const std::string& pFile,
for (; !IsLineEnd(*data); ++data) { for (; !IsLineEnd(*data); ++data) {
if (!::ASSIMP_strincmp(data, "NAME=", 5)) { if (!::ASSIMP_strincmp(data, "NAME=", 5)) {
const char *d = data += 5; const char *d = data += 5;
for (;!IsSpaceOrNewLine(*data);++data); for (; !IsSpaceOrNewLine(*data); ++data)
;
me.first = std::string(d, (size_t)(data - d)); me.first = std::string(d, (size_t)(data - d));
} } else if (!::ASSIMP_strincmp(data, "FILE=", 5)) {
else if (!::ASSIMP_strincmp(data,"FILE=",5)) {
const char *d = data += 5; const char *d = data += 5;
for (;!IsSpaceOrNewLine(*data);++data); for (; !IsSpaceOrNewLine(*data); ++data)
;
me.second = std::string(d, (size_t)(data - d)); me.second = std::string(d, (size_t)(data - d));
} }
} }
@ -372,11 +364,11 @@ void UnrealImporter::InternReadFile( const std::string& pFile,
if (!::ASSIMP_strincmp(data, "NUM=", 4)) { if (!::ASSIMP_strincmp(data, "NUM=", 4)) {
data += 4; data += 4;
me.first = strtoul10(data, &data); me.first = strtoul10(data, &data);
} } else if (!::ASSIMP_strincmp(data, "TEXTURE=", 8)) {
else if (!::ASSIMP_strincmp(data,"TEXTURE=",8)) {
data += 8; data += 8;
const char *d = data; const char *d = data;
for (;!IsSpaceOrNewLine(*data);++data); for (; !IsSpaceOrNewLine(*data); ++data)
;
me.second = std::string(d, (size_t)(data - d)); me.second = std::string(d, (size_t)(data - d));
// try to find matching path names, doesn't care if we don't find them // try to find matching path names, doesn't care if we don't find them
@ -389,17 +381,14 @@ void UnrealImporter::InternReadFile( const std::string& pFile,
} }
} }
} }
} } else if (TokenMatchI(data, "SCALE", 5)) {
else if (TokenMatchI(data,"SCALE",5)) {
for (; !IsLineEnd(*data); ++data) { for (; !IsLineEnd(*data); ++data) {
if (data[0] == 'X' && data[1] == '=') { if (data[0] == 'X' && data[1] == '=') {
data = fast_atoreal_move<float>(data + 2, (float &)nd->mTransformation.a1); data = fast_atoreal_move<float>(data + 2, (float &)nd->mTransformation.a1);
} } else if (data[0] == 'Y' && data[1] == '=') {
else if (data[0] == 'Y' && data[1] == '=') {
data = fast_atoreal_move<float>(data + 2, (float &)nd->mTransformation.b2); data = fast_atoreal_move<float>(data + 2, (float &)nd->mTransformation.b2);
} } else if (data[0] == 'Z' && data[1] == '=') {
else if (data[0] == 'Z' && data[1] == '=') {
data = fast_atoreal_move<float>(data + 2, (float &)nd->mTransformation.c3); data = fast_atoreal_move<float>(data + 2, (float &)nd->mTransformation.c3);
} }
} }
@ -407,8 +396,7 @@ void UnrealImporter::InternReadFile( const std::string& pFile,
} }
} }
} }
} } else {
else {
ASSIMP_LOG_ERROR("Unable to open .uc file"); ASSIMP_LOG_ERROR("Unable to open .uc file");
} }
@ -426,8 +414,7 @@ void UnrealImporter::InternReadFile( const std::string& pFile,
materials.push_back(mat); materials.push_back(mat);
++pScene->mNumMeshes; ++pScene->mNumMeshes;
} } else {
else {
tri.matIndex = static_cast<unsigned int>(nt - materials.begin()); tri.matIndex = static_cast<unsigned int>(nt - materials.begin());
++nt->numFaces; ++nt->numFaces;
} }
@ -469,16 +456,16 @@ void UnrealImporter::InternReadFile( const std::string& pFile,
const int twosided = 1; const int twosided = 1;
mat->AddProperty(&twosided, 1, AI_MATKEY_TWOSIDED); mat->AddProperty(&twosided, 1, AI_MATKEY_TWOSIDED);
::strcat(s.data, "ts_"); ::strcat(s.data, "ts_");
} } else
else ::strcat(s.data,"os_"); ::strcat(s.data, "os_");
// make TRANS faces 90% opaque that RemRedundantMaterials won't catch us // make TRANS faces 90% opaque that RemRedundantMaterials won't catch us
if (materials[i].type == Unreal::MF_NORMAL_TRANS_TS) { if (materials[i].type == Unreal::MF_NORMAL_TRANS_TS) {
const float opac = 0.9f; const float opac = 0.9f;
mat->AddProperty(&opac, 1, AI_MATKEY_OPACITY); mat->AddProperty(&opac, 1, AI_MATKEY_OPACITY);
::strcat(s.data, "tran_"); ::strcat(s.data, "tran_");
} } else
else ::strcat(s.data,"opaq_"); ::strcat(s.data, "opaq_");
// a special name for the weapon attachment point // a special name for the weapon attachment point
if (materials[i].type == Unreal::MF_WEAPON_PLACEHOLDER) { if (materials[i].type == Unreal::MF_WEAPON_PLACEHOLDER) {

View File

@ -66,7 +66,6 @@ public:
bool checkSig) const; bool checkSig) const;
protected: protected:
// ------------------------------------------------------------------- // -------------------------------------------------------------------
/** @brief Called by Importer::GetExtensionList() /** @brief Called by Importer::GetExtensionList()
* *
@ -74,7 +73,6 @@ protected:
*/ */
const aiImporterDesc *GetInfo() const; const aiImporterDesc *GetInfo() const;
// ------------------------------------------------------------------- // -------------------------------------------------------------------
/** @brief Setup properties for the importer /** @brief Setup properties for the importer
* *
@ -91,12 +89,11 @@ protected:
IOSystem *pIOHandler); IOSystem *pIOHandler);
private: private:
//! frame to be loaded //! frame to be loaded
uint32_t configFrameID; uint32_t mConfigFrameID;
//! process surface flags //! process surface flags
bool configHandleFlags; bool mConfigHandleFlags;
}; // !class UnrealImporter }; // !class UnrealImporter