diff --git a/engine/Engine.cpp b/engine/Engine.cpp index 84cd606..bd4d655 100644 --- a/engine/Engine.cpp +++ b/engine/Engine.cpp @@ -73,7 +73,7 @@ void Engine::create(int screenWidth, int screenHeight, const std::string &name, } if (Consts::SHOW_FPS_COUNTER) { - screen->drawText(std::to_string(Time::fps()) + " fps", Vec2D(screen->width() - 100, 10), 25, + screen->drawText(std::to_string(Time::fps()) + " fps", Vec2D(static_cast(screen->width()) - 100.0, 10.0), 25, sf::Color(100, 100, 100)); } @@ -95,7 +95,7 @@ void Engine::exit() { Time::free(); Log::log("Engine::exit(): exit engine (" + std::to_string(screen->width()) + "x" + - std::to_string(screen->height()) + ") with title '" + screen->title() + "'."); + std::to_string(screen->height()) + ") with title '" + screen->title() + "'."); } void Engine::printDebugText() const { @@ -111,7 +111,7 @@ void Engine::printDebugText() const { if (_useOpenGL) { text += "\n Using OpenGL acceleration"; } else { - text += "\n" + std::to_string((int) _triPerSec) + " tris/s"; + text += "\n" + std::to_string( _triPerSec) + " tris/s"; } sf::Text t; @@ -120,7 +120,7 @@ void Engine::printDebugText() const { t.setString(text); t.setCharacterSize(30); t.setFillColor(sf::Color::Black); - t.setPosition(screen->width() - 400, 10); + t.setPosition(static_cast(screen->width()) - 400.0f, 10.0f); screen->drawText(t); } diff --git a/engine/Engine.h b/engine/Engine.h index eb20a84..5107fce 100644 --- a/engine/Engine.h +++ b/engine/Engine.h @@ -16,7 +16,7 @@ class Engine { private: std::string _name; - double _triPerSec = 0; + int _triPerSec = 0; bool _updateWorld = true; bool _debugText = Consts::SHOW_DEBUG_INFO; bool _useOpenGL = Consts::USE_OPEN_GL; diff --git a/engine/Object.cpp b/engine/Object.cpp index 0c6f525..67a8542 100644 --- a/engine/Object.cpp +++ b/engine/Object.cpp @@ -2,6 +2,8 @@ // Created by Иван Ильин on 15.03.2021. // +#include + #include "Object.h" #include "Matrix4x4.h" @@ -135,25 +137,25 @@ void Object::unattach(const ObjectNameTag &tag) { GLfloat *Object::glView() const { auto *v = (GLfloat *) malloc(4 * 4 * sizeof(GLfloat)); - v[0] = -(GLfloat) left().x(); - v[4] = -(GLfloat) left().y(); - v[8] = -(GLfloat) left().z(); - v[12] = (GLfloat) position().dot(left()); + v[0] = -static_cast(left().x()); + v[4] = -static_cast(left().y()); + v[8] = -static_cast(left().z()); + v[12] = static_cast(position().dot(left())); - v[1] = (GLfloat) up().x(); - v[5] = (GLfloat) up().y(); - v[9] = (GLfloat) up().z(); - v[13] = -(GLfloat) position().dot(up()); + v[1] = static_cast(up().x()); + v[5] = static_cast(up().y()); + v[9] = static_cast(up().z()); + v[13] = -static_cast(position().dot(up())); - v[2] = -(GLfloat) lookAt().x(); - v[6] = -(GLfloat) lookAt().y(); - v[10] = -(GLfloat) lookAt().z(); - v[14] = (GLfloat) position().dot(lookAt()); + v[2] = -static_cast(lookAt().x()); + v[6] = -static_cast(lookAt().y()); + v[10] = -static_cast(lookAt().z()); + v[14] = static_cast(position().dot(lookAt())); - v[3] = (GLfloat) 0.0f; - v[7] = (GLfloat) 0.0f; - v[11] = (GLfloat) 0.0f; - v[15] = (GLfloat) 1.0f; + v[3] = static_cast(0.0f); + v[7] = static_cast(0.0f); + v[11] = static_cast(0.0f); + v[15] = static_cast(1.0f); return v; } @@ -161,25 +163,25 @@ GLfloat *Object::glView() const { GLfloat *Object::glModel() const { auto *m = (GLfloat *) malloc(4 * 4 * sizeof(GLfloat)); - m[0] = (GLfloat) left().x(); - m[4] = (GLfloat) up().x(); - m[8] = (GLfloat) lookAt().x(); - m[12] = (GLfloat) position().x(); + m[0] = static_cast(left().x()); + m[4] = static_cast(up().x()); + m[8] = static_cast(lookAt().x()); + m[12] = static_cast(position().x()); - m[1] = (GLfloat) left().y(); - m[5] = (GLfloat) up().y(); - m[9] = (GLfloat) lookAt().y(); - m[13] = (GLfloat) position().y(); + m[1] = static_cast(left().y()); + m[5] = static_cast(up().y()); + m[9] = static_cast(lookAt().y()); + m[13] = static_cast(position().y()); - m[2] = (GLfloat) left().z(); - m[6] = (GLfloat) up().z(); - m[10] = (GLfloat) lookAt().z(); - m[14] = (GLfloat) position().z(); + m[2] = static_cast(left().z()); + m[6] = static_cast(up().z()); + m[10] = static_cast(lookAt().z()); + m[14] = static_cast(position().z()); - m[3] = (GLfloat) 0.0f; - m[7] = (GLfloat) 0.0f; - m[11] = (GLfloat) 0.0f; - m[15] = (GLfloat) 1.0f; + m[3] = static_cast(0.0f); + m[7] = static_cast(0.0f); + m[11] = static_cast(0.0f); + m[15] = static_cast(1.0f); return m; } diff --git a/engine/Screen.cpp b/engine/Screen.cpp index 2d94da4..2f70419 100644 --- a/engine/Screen.cpp +++ b/engine/Screen.cpp @@ -183,7 +183,7 @@ GLfloat *Screen::glMeshToGLfloatArray(std::shared_ptr mesh, const Vec3D &c auto *geometry = (GLfloat *) malloc(7 * 3 * triangles.size() * sizeof(GLfloat)); - for (int i = 0; i < triangles.size(); i++) { + for (size_t i = 0; i < triangles.size(); i++) { int stride = 21 * i; diff --git a/engine/physics/RigidBody.cpp b/engine/physics/RigidBody.cpp index 206b4dd..ac008bc 100644 --- a/engine/physics/RigidBody.cpp +++ b/engine/physics/RigidBody.cpp @@ -162,7 +162,7 @@ std::pair RigidBody::checkGJKCollision(std::shared_ptr // New direction is towards the origin Vec3D direction = -support; - int iters = 0; + size_t iters = 0; while (iters++ < size() + obj->size()) { support = _support(obj, direction); @@ -210,7 +210,7 @@ CollisionPoint RigidBody::EPA(const Simplex &simplex, std::shared_ptr Vec3D minNormal = normals[minFace].normal; double minDistance = std::numeric_limits::max(); - int iters = 0; + size_t iters = 0; while (minDistance == std::numeric_limits::max() && iters++ < size() + obj->size()) { minNormal = normals[minFace].normal; minDistance = normals[minFace].distance; diff --git a/shooter.sln b/shooter.sln index fb948f8..acdfe98 100644 --- a/shooter.sln +++ b/shooter.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.31727.386 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shooter", "shooter.vcxproj", "{FA50F969-4847-4EB0-8C67-16E6AC7F5B68}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{106AB912-5FE1-4FF5-98D4-23060692E5C0}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 diff --git a/shooter.vcxproj b/shooter.vcxproj index 8ca08da..f4de0b2 100644 --- a/shooter.vcxproj +++ b/shooter.vcxproj @@ -159,8 +159,6 @@ - - @@ -180,7 +178,6 @@ - @@ -189,11 +186,14 @@ + - + + + @@ -202,8 +202,6 @@ - - @@ -233,7 +231,6 @@ - @@ -242,12 +239,15 @@ + - + + + diff --git a/shooter.vcxproj.filters b/shooter.vcxproj.filters index bf525e9..c1686a2 100644 --- a/shooter.vcxproj.filters +++ b/shooter.vcxproj.filters @@ -13,288 +13,330 @@ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + {0882d5d0-3c6b-4bf1-b638-d29f836996c3} + + + {9b426b47-01cf-4bcc-a8a0-a99cd596d3f1} + + + {a0867a68-434b-4f6e-a462-e10ae78f3457} + + + {e376bcc3-fc30-45c5-977a-dac4e8805010} + + + {d83e2569-574f-494b-ae1e-cfb8da446856} + + + {ccd70959-35a5-4270-8c85-ee409828e9f6} + + + {10343b27-7f9f-4012-8b2e-5ce1218920bb} + + + {3f063cbe-7c3d-4778-aec3-5f4686184f07} + + + {d42a1e65-36fc-4d95-aabd-84437c19fd8b} + + + {cf1bc24c-2974-4a9c-9572-009cd13d2050} + + + {740c71ba-cd6a-4c49-8b29-635c32f22d3c} + + + {9fc460cd-0c99-4366-9b43-adc8c1fa0a6d} + + + {305a3198-17bc-4126-aeff-a600a39cb168} + + + {2ec2e90f-ff40-460e-b316-975089ed4eb1} + Исходные файлы - - Исходные файлы - - - Исходные файлы - Исходные файлы Исходные файлы - - Исходные файлы - Исходные файлы - + Исходные файлы - + Исходные файлы - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - - Исходные файлы - - + Исходные файлы - Исходные файлы + Исходные файлы\weapon - Исходные файлы + Исходные файлы\weapon - Исходные файлы + Исходные файлы\weapon - Исходные файлы + Исходные файлы\weapon - Исходные файлы + Исходные файлы\weapon + + + Исходные файлы\engine\animation + + + Исходные файлы\engine\animation + + + Исходные файлы\engine\gui + + + Исходные файлы\engine + + + Исходные файлы\engine\network + + + Исходные файлы\engine + + + Исходные файлы\engine + + + Исходные файлы\engine\utils - Исходные файлы + Исходные файлы\engine - - Исходные файлы + + Исходные файлы\engine + + + Исходные файлы\engine + + + Исходные файлы\engine\network + + + Исходные файлы\engine + + + Исходные файлы\engine + + + Исходные файлы\engine\network + + + Исходные файлы\engine + + + Исходные файлы\engine\physics + + + Исходные файлы\engine + + + Исходные файлы\engine\network - Исходные файлы + Исходные файлы\engine + + + Исходные файлы\engine\utils + + + Исходные файлы\engine + + + Исходные файлы\engine\network + + + Исходные файлы\engine\network - Исходные файлы + Исходные файлы\engine - Исходные файлы + Исходные файлы\engine + + + Исходные файлы\engine + + + Исходные файлы\engine\gui + + + Исходные файлы\engine - - Файлы заголовков - - - Файлы заголовков - Файлы заголовков Файлы заголовков - - Файлы заголовков - Файлы заголовков - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - - - Файлы заголовков - Файлы заголовков - + Файлы заголовков + + Файлы заголовков + + + Файлы заголовков + + + Файлы заголовков\engine\animation + + + Файлы заголовков\engine\animation + + + Файлы заголовков\engine\animation + + + Файлы заголовков\engine\animation + + + Файлы заголовков\engine\animation + + + Файлы заголовков\engine\animation + + + Файлы заголовков\engine\animation + + + Файлы заголовков\engine\animation + + + Файлы заголовков\weapon + + + Файлы заголовков\weapon + + + Файлы заголовков\weapon + + + Файлы заголовков\weapon + + + Файлы заголовков\weapon + + + Файлы заголовков\engine\gui + + + Файлы заголовков\engine\gui + + + Файлы заголовков\engine\animation + + + Файлы заголовков\engine\network + + + Файлы заголовков\engine\network + + + Файлы заголовков\engine\network + + + Файлы заголовков\engine\network + + + Файлы заголовков\engine\network + + + Файлы заголовков\engine\network + + + Файлы заголовков\weapon + + + Файлы заголовков\engine + + + Файлы заголовков\engine + + + Файлы заголовков\engine + + + Файлы заголовков\engine + - Файлы заголовков + Файлы заголовков\engine - - Файлы заголовков + + Файлы заголовков\engine + + + Файлы заголовков\engine + + + Файлы заголовков\engine + + + Файлы заголовков\engine + + + Файлы заголовков\engine + + + Файлы заголовков\engine - Файлы заголовков + Файлы заголовков\engine + + + Файлы заголовков\engine - Файлы заголовков + Файлы заголовков\engine - Файлы заголовков + Файлы заголовков\engine + + + Файлы заголовков\engine + + + Файлы заголовков\engine\utils + + + Файлы заголовков\engine\utils + + + Файлы заголовков\engine\physics + + + Файлы заголовков\engine\physics + + + Файлы заголовков\engine\animation + + + Файлы заголовков\engine \ No newline at end of file diff --git a/shooter.vcxproj.user b/shooter.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/shooter.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file