From: outfrost Date: Sat, 2 May 2020 19:52:19 +0000 (+0200) Subject: Get rid of assimp_types.h X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=189b90e77b3e3c019475b7938b866a87acda4a29;p=shadowclad.git Get rid of assimp_types.h --- diff --git a/src/engine/asset.c b/src/engine/asset.c index 6be7e27..a93524c 100644 --- a/src/engine/asset.c +++ b/src/engine/asset.c @@ -1,20 +1,20 @@ #include #include #include +#include #include "asset.h" -#include "assimp_types.h" #include "logger.h" #include "tga.h" -static const AiScene* importScene(const char* path); -static Vector3D convertAiVector3D(AiVector3D vect); -static const char* replaceFileExtension(const AiString path, const char* ext); +static const struct aiScene* importScene(const char* path); +static Vector3D convertAiVector3D(struct aiVector3D vect); +static const char* replaceFileExtension(const struct aiString path, const char* ext); const Solid* importSolid(const char* path) { - const AiScene* scene = importScene(path); + const struct aiScene* scene = importScene(path); if (scene == NULL) { logError("Failed to import solid from %s", path); return NULL; @@ -32,7 +32,7 @@ const Solid* importSolid(const char* path) { solid->materials = malloc(numMaterials * sizeof(Material)); for (unsigned int meshIndex = 0; meshIndex < numMeshes; ++meshIndex) { - const AiMesh* aiMesh = scene->mMeshes[meshIndex]; + const struct aiMesh* aiMesh = scene->mMeshes[meshIndex]; const unsigned int numVertices = aiMesh->mNumVertices; const unsigned int numFaces = aiMesh->mNumFaces; @@ -64,7 +64,7 @@ const Solid* importSolid(const char* path) { } for (unsigned int faceIndex = 0; faceIndex < numFaces; ++faceIndex) { - const AiFace aiFace = aiMesh->mFaces[faceIndex]; + const struct aiFace aiFace = aiMesh->mFaces[faceIndex]; const unsigned int numIndices = aiFace.mNumIndices; Face face = { .numIndices = numIndices, @@ -89,7 +89,7 @@ const Solid* importSolid(const char* path) { glBindTexture(GL_TEXTURE_2D, material.textureId); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - AiString originalTexturePath; + struct aiString originalTexturePath; if (aiGetMaterialTexture(scene->mMaterials[matIndex], aiTextureType_DIFFUSE, 0, @@ -128,8 +128,8 @@ const Solid* importSolid(const char* path) { return solid; } -static const AiScene* importScene(const char* path) { - const AiScene* scene = aiImportFile(path, aiProcess_PreTransformVertices); +static const struct aiScene* importScene(const char* path) { + const struct aiScene* scene = aiImportFile(path, aiProcess_PreTransformVertices); if (scene != NULL && scene->mFlags & AI_SCENE_FLAGS_INCOMPLETE) { logError("Incomplete scene imported from %s", path); aiReleaseImport(scene); @@ -138,7 +138,7 @@ static const AiScene* importScene(const char* path) { return scene; } -static Vector3D convertAiVector3D(AiVector3D vect) { +static Vector3D convertAiVector3D(struct aiVector3D vect) { return (Vector3D) { .x = vect.x, .y = vect.y, .z = vect.z }; @@ -149,7 +149,7 @@ static Vector3D convertAiVector3D(AiVector3D vect) { * The following function will not work properly with texture * file names (excluding directory part) beginning with '.' */ -static const char* replaceFileExtension(const AiString path, const char* ext) { +static const char* replaceFileExtension(const struct aiString path, const char* ext) { size_t lengthToCopy = path.length; char* lastDotSubstr = strrchr(path.data, '.'); diff --git a/src/engine/assimp_types.h b/src/engine/assimp_types.h deleted file mode 100644 index 5e58279..0000000 --- a/src/engine/assimp_types.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef ASSIMP_TYPES_H_ -#define ASSIMP_TYPES_H_ - -#include - -#ifdef ASSIMP_DOUBLE_PRECISION - #error "ASSIMP_DOUBLE_PRECISION is defined" - #error "shadowclad relies on ai_real defined as a single precision float" -#endif - -typedef struct aiScene AiScene; -typedef struct aiNode AiNode; -typedef struct aiMesh AiMesh; -typedef struct aiFace AiFace; -typedef struct aiVector3D AiVector3D; -typedef struct aiString AiString; - -#endif