changed deltaTime to double
This commit is contained in:
parent
868ec3eb56
commit
b11a99b0d4
21 changed files with 86 additions and 23 deletions
36
.vscode/launch.json
vendored
Normal file
36
.vscode/launch.json
vendored
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "(Windows) Launch",
|
||||||
|
"type": "cppvsdbg",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceFolder}/out/build/x64-debug/YuppleMayham/YuppleMayham.exe",
|
||||||
|
"args": [],
|
||||||
|
"stopAtEntry": false,
|
||||||
|
"cwd": "${workspaceFolder}/out/build/x64-debug/YuppleMayham/",
|
||||||
|
"environment": [],
|
||||||
|
"console": "externalTerminal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "(gdb) Attach",
|
||||||
|
"type": "cppdbg",
|
||||||
|
"request": "attach",
|
||||||
|
"program": "${workspaceFolder}/YuppleMayham.exe",
|
||||||
|
"MIMode": "gdb",
|
||||||
|
"miDebuggerPath": "gdb",
|
||||||
|
"setupCommands": [
|
||||||
|
{
|
||||||
|
"description": "Enable pretty-printing for gdb",
|
||||||
|
"text": "-enable-pretty-printing",
|
||||||
|
"ignoreFailures": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Set Disassembly Flavor to Intel",
|
||||||
|
"text": "-gdb-set disassembly-flavor intel",
|
||||||
|
"ignoreFailures": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
28
.vscode/tasks.json
vendored
Normal file
28
.vscode/tasks.json
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"type": "cppbuild",
|
||||||
|
"label": "C/C++: cl.exe build active file",
|
||||||
|
"command": "cl.exe",
|
||||||
|
"args": [
|
||||||
|
"/Zi",
|
||||||
|
"/EHsc",
|
||||||
|
"/nologo",
|
||||||
|
"/Fe${fileDirname}\\${fileBasenameNoExtension}.exe",
|
||||||
|
"${file}"
|
||||||
|
],
|
||||||
|
"options": {
|
||||||
|
"cwd": "${fileDirname}"
|
||||||
|
},
|
||||||
|
"problemMatcher": [
|
||||||
|
"$msCompile"
|
||||||
|
],
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": true
|
||||||
|
},
|
||||||
|
"detail": "Task generated by Debugger."
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": "2.0.0"
|
||||||
|
}
|
||||||
|
|
@ -47,7 +47,7 @@ public:
|
||||||
const std::shared_ptr<Shader> getShader() const { return shader; }
|
const std::shared_ptr<Shader> getShader() const { return shader; }
|
||||||
|
|
||||||
// TODO: right now there is no default behavior, but eventually the Entity class will be expanded to handle physics
|
// TODO: right now there is no default behavior, but eventually the Entity class will be expanded to handle physics
|
||||||
virtual void update(float deltaTime) = 0;
|
virtual void update(double deltaTime) = 0;
|
||||||
virtual void render(const std::shared_ptr<Camera>& camera) = 0;
|
virtual void render(const std::shared_ptr<Camera>& camera) = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public:
|
||||||
|
|
||||||
void handleInput(SDL_Event& e);
|
void handleInput(SDL_Event& e);
|
||||||
|
|
||||||
void update(float deltaTime);
|
void update(double deltaTime);
|
||||||
void render();
|
void render();
|
||||||
|
|
||||||
const unsigned getGameState() const { return game_state; }
|
const unsigned getGameState() const { return game_state; }
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ public:
|
||||||
void addComponent(std::shared_ptr<Component> component);
|
void addComponent(std::shared_ptr<Component> component);
|
||||||
void pickupWeapon(std::shared_ptr<Weapon> weapon);
|
void pickupWeapon(std::shared_ptr<Weapon> weapon);
|
||||||
void hookEventManager(std::shared_ptr<EventManager> eventManager);
|
void hookEventManager(std::shared_ptr<EventManager> eventManager);
|
||||||
void update(float deltaTime) override;
|
void update(double deltaTime) override;
|
||||||
void render(const std::shared_ptr<Camera>& camera) override;
|
void render(const std::shared_ptr<Camera>& camera) override;
|
||||||
|
|
||||||
const std::optional<std::shared_ptr<Weapon>> getHeldWeapon() const;
|
const std::optional<std::shared_ptr<Weapon>> getHeldWeapon() const;
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ class Scene
|
||||||
public:
|
public:
|
||||||
Scene(SceneType type, std::shared_ptr<ResourceManager> resources);
|
Scene(SceneType type, std::shared_ptr<ResourceManager> resources);
|
||||||
|
|
||||||
void update(float deltaTime);
|
void update(double deltaTime);
|
||||||
void render();
|
void render();
|
||||||
|
|
||||||
std::shared_ptr<GameActor> getPlayer() const;
|
std::shared_ptr<GameActor> getPlayer() const;
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ public:
|
||||||
|
|
||||||
void addComponent(std::shared_ptr<Component> component);
|
void addComponent(std::shared_ptr<Component> component);
|
||||||
|
|
||||||
void update(float deltaTime) override;
|
void update(double deltaTime) override;
|
||||||
void render(const std::shared_ptr<Camera>& camera) override;
|
void render(const std::shared_ptr<Camera>& camera) override;
|
||||||
|
|
||||||
float getBulletDrop() const { return bulletDrop; }
|
float getBulletDrop() const { return bulletDrop; }
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ public:
|
||||||
const std::shared_ptr<Shader>& shader,
|
const std::shared_ptr<Shader>& shader,
|
||||||
const std::shared_ptr<Component>& sprite);
|
const std::shared_ptr<Component>& sprite);
|
||||||
|
|
||||||
void update(float deltaTime);
|
void update(double deltaTime);
|
||||||
void render(const std::shared_ptr<Camera>& camera);
|
void render(const std::shared_ptr<Camera>& camera);
|
||||||
|
|
||||||
void hookEventManager(const std::shared_ptr<EventManager>& eventManager);
|
void hookEventManager(const std::shared_ptr<EventManager>& eventManager);
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public:
|
||||||
void hookEventManager(const std::shared_ptr<EventManager>& eventManager);
|
void hookEventManager(const std::shared_ptr<EventManager>& eventManager);
|
||||||
void shoot();
|
void shoot();
|
||||||
void reload();
|
void reload();
|
||||||
void update(float deltaTime);
|
void update(double deltaTime);
|
||||||
void render(const std::shared_ptr<Camera>& camera);
|
void render(const std::shared_ptr<Camera>& camera);
|
||||||
|
|
||||||
struct BulletData {
|
struct BulletData {
|
||||||
|
|
|
||||||
|
|
@ -23,11 +23,6 @@ private:
|
||||||
return result.valid();
|
return result.valid();
|
||||||
}
|
}
|
||||||
void registerGlobalUserTypes();
|
void registerGlobalUserTypes();
|
||||||
|
|
||||||
void performIncrementalGC();
|
|
||||||
std::chrono::high_resolution_clock::time_point lastGCTime = std::chrono::high_resolution_clock::now();
|
|
||||||
std::chrono::milliseconds gcInterval = std::chrono::milliseconds(16);
|
|
||||||
const int gcStepSize = 500;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class AIScript : public Script {
|
class AIScript : public Script {
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,6 @@ void AI::attachBehaviourScript(const std::shared_ptr<AIScript>& behaviour)
|
||||||
patrolFunc = this->behaviour->lua["patrol"];
|
patrolFunc = this->behaviour->lua["patrol"];
|
||||||
if (this->behaviour->lua["alert"].valid())
|
if (this->behaviour->lua["alert"].valid())
|
||||||
alertFunc = this->behaviour->lua["alert"];
|
alertFunc = this->behaviour->lua["alert"];
|
||||||
this->behaviour->lua.set("actor", actor);
|
|
||||||
this->behaviour->lua.set("target", target);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AI::update()
|
void AI::update()
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ void Entity::addPhysicsComponent(const std::shared_ptr<PhysicsComponent>& physic
|
||||||
this->physics = physics;
|
this->physics = physics;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Entity::update(float deltaTime)
|
void Entity::update(double deltaTime)
|
||||||
{
|
{
|
||||||
if (physics && physics->rigidBody.velocity != glm::vec3(0.0f))
|
if (physics && physics->rigidBody.velocity != glm::vec3(0.0f))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ void Game::handleInput(SDL_Event& e)
|
||||||
inputHandler->handleInput();
|
inputHandler->handleInput();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Game::update(float deltaTime)
|
void Game::update(double deltaTime)
|
||||||
{
|
{
|
||||||
if (currentScene)
|
if (currentScene)
|
||||||
currentScene->update(deltaTime);
|
currentScene->update(deltaTime);
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ void GameActor::setRotation(const float& rotation)
|
||||||
updateModelMatrix();
|
updateModelMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameActor::update(float deltaTime)
|
void GameActor::update(double deltaTime)
|
||||||
{
|
{
|
||||||
Entity::update(deltaTime);
|
Entity::update(deltaTime);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@ std::shared_ptr<GameActor> Scene::getPlayer() const
|
||||||
return (!player) ? nullptr : player;
|
return (!player) ? nullptr : player;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scene::update(float deltaTime)
|
void Scene::update(double deltaTime)
|
||||||
{
|
{
|
||||||
for (const auto& [id, e] : entities)
|
for (const auto& [id, e] : entities)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ void Bullet::addComponent(std::shared_ptr<Component> component)
|
||||||
components.push_back(component);
|
components.push_back(component);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Bullet::update(float deltaTime)
|
void Bullet::update(double deltaTime)
|
||||||
{
|
{
|
||||||
Entity::update(deltaTime);
|
Entity::update(deltaTime);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ void BulletManager::addBullet(const unsigned int owner, const glm::vec3& fireFro
|
||||||
bullets.emplace_back(bullet);
|
bullets.emplace_back(bullet);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BulletManager::update(float deltaTime)
|
void BulletManager::update(double deltaTime)
|
||||||
{
|
{
|
||||||
for (auto& bullet : bullets)
|
for (auto& bullet : bullets)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -148,7 +148,7 @@ void Weapon::onHitCallback(std::shared_ptr<GameActor> target, std::shared_ptr<Ph
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Weapon::update(float deltaTime)
|
void Weapon::update(double deltaTime)
|
||||||
{
|
{
|
||||||
Entity::update(deltaTime);
|
Entity::update(deltaTime);
|
||||||
if (wielded)
|
if (wielded)
|
||||||
|
|
|
||||||
|
|
@ -43,8 +43,8 @@ int main(int argc, char* args[])
|
||||||
while (game->getGameState() & GAME_RUNNING)
|
while (game->getGameState() & GAME_RUNNING)
|
||||||
{
|
{
|
||||||
Uint64 curCounter = SDL_GetPerformanceCounter();
|
Uint64 curCounter = SDL_GetPerformanceCounter();
|
||||||
float deltaTime = ((curCounter - lastCounter) / freq);
|
double deltaTime = ((curCounter - lastCounter) / freq);
|
||||||
deltaTime = (deltaTime < 1.f) ? deltaTime : 1.f;
|
deltaTime = (deltaTime < 1.0) ? deltaTime : 1.0;
|
||||||
SDL_PollEvent(&e);
|
SDL_PollEvent(&e);
|
||||||
if (e.type == SDL_QUIT)
|
if (e.type == SDL_QUIT)
|
||||||
game->quit();
|
game->quit();
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#include "utility/ftfont.h"
|
#include "utility/ftfont.h"
|
||||||
|
#include "utility/logger.h"
|
||||||
|
|
||||||
#include <glad/glad.h>
|
#include <glad/glad.h>
|
||||||
#include <glm/gtc/type_ptr.hpp>
|
#include <glm/gtc/type_ptr.hpp>
|
||||||
|
|
@ -97,6 +98,9 @@ bool Text::loadFonts(const std::string& font_folder)
|
||||||
}
|
}
|
||||||
// load every font in the fonts folder then create corresponding textures for each character of each font.
|
// load every font in the fonts folder then create corresponding textures for each character of each font.
|
||||||
std::filesystem::path folder(font_folder);
|
std::filesystem::path folder(font_folder);
|
||||||
|
if (!std::filesystem::exists(folder) || !std::filesystem::is_directory(font_folder))
|
||||||
|
ERROR_LOG("{} folder does not exist!", font_folder);
|
||||||
|
|
||||||
for (auto& file : std::filesystem::directory_iterator(folder))
|
for (auto& file : std::filesystem::directory_iterator(folder))
|
||||||
{
|
{
|
||||||
if (!file.path().has_extension() || !file.path().has_filename() || !file.exists() || file.is_directory())
|
if (!file.path().has_extension() || !file.path().has_filename() || !file.exists() || file.is_directory())
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@
|
||||||
bool XMLLoader::loadScenes(const char* sceneFolder)
|
bool XMLLoader::loadScenes(const char* sceneFolder)
|
||||||
{
|
{
|
||||||
std::filesystem::path folder(sceneFolder);
|
std::filesystem::path folder(sceneFolder);
|
||||||
|
if (!std::filesystem::exists(folder) || !std::filesystem::is_directory(folder))
|
||||||
|
ERROR_LOG("'{}' folder not found!", sceneFolder);
|
||||||
for (auto& file : std::filesystem::directory_iterator(folder))
|
for (auto& file : std::filesystem::directory_iterator(folder))
|
||||||
{
|
{
|
||||||
if (!file.path().has_extension() || !file.path().has_filename() || !file.exists() || file.is_directory())
|
if (!file.path().has_extension() || !file.path().has_filename() || !file.exists() || file.is_directory())
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue