diff --git a/CppGame/CppGame.vcxproj b/CppGame/CppGame.vcxproj
index 1902758..354638b 100644
--- a/CppGame/CppGame.vcxproj
+++ b/CppGame/CppGame.vcxproj
@@ -118,7 +118,7 @@
Console
true
- libs\lib\x64;%(AdditionalLibraryDirectories)
+ lds\lib64;%(AdditionalLibraryDirectories)
SDL3.lib;%(AdditionalDependencies)
@@ -145,11 +145,13 @@
+
+
diff --git a/CppGame/CppGame.vcxproj.filters b/CppGame/CppGame.vcxproj.filters
index 61864fd..da8821d 100644
--- a/CppGame/CppGame.vcxproj.filters
+++ b/CppGame/CppGame.vcxproj.filters
@@ -21,5 +21,22 @@
Header Files
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
\ No newline at end of file
diff --git a/CppGame/Renderer.cpp b/CppGame/Renderer.cpp
index 91768e8..17de220 100644
--- a/CppGame/Renderer.cpp
+++ b/CppGame/Renderer.cpp
@@ -1,8 +1,9 @@
#include "Renderer.h"
#include "Variant.h"
+#include
void Rena3D_Renderer::InitTree() {
-
+ std::cout << "tree inited!" << std::endl;
}
void Rena3D_Renderer::RenderFrame(r3d_Variant::RenderTime timeSignature) {
diff --git a/CppGame/Variant.h b/CppGame/Variant.h
index b9a6847..e4252f1 100644
--- a/CppGame/Variant.h
+++ b/CppGame/Variant.h
@@ -1,6 +1,8 @@
#pragma once
+#include
struct r3d_Variant {
using RenderTime = double;
using NotificationSignal = unsigned int;
+ using String = std::string;
};
\ No newline at end of file
diff --git a/CppGame/transl.cpp b/CppGame/transl.cpp
new file mode 100644
index 0000000..4582944
--- /dev/null
+++ b/CppGame/transl.cpp
@@ -0,0 +1,7 @@
+#include "transl.h"
+#include "Variant.h"
+
+void Translator::RegisterNewLanguage(r3d_Variant::String name) {
+ std::unordered_map newLanguage;
+ languages.insert({ name, newLanguage });
+}
\ No newline at end of file
diff --git a/CppGame/transl.h b/CppGame/transl.h
new file mode 100644
index 0000000..6e2230f
--- /dev/null
+++ b/CppGame/transl.h
@@ -0,0 +1,16 @@
+#pragma once
+#define PREPROC_TRANSLATOR_ENABLE
+#define PREPROC_TRANSLATOR_LANG "EN_US"
+#include "Variant.h"
+#include
+#include
+
+
+class Translator {
+public:
+ std::unordered_map> languages;
+ r3d_Variant::String GetTransString(r3d_Variant::String key);
+ void RegisterTranslatableObject(r3d_Variant::String key, r3d_Variant::String language, r3d_Variant::String value);
+ void RegisterNewLanguage(r3d_Variant::String name);
+};
+
diff --git a/CppGame/type.h b/CppGame/type.h
index 8b7aff8..9609f1a 100644
--- a/CppGame/type.h
+++ b/CppGame/type.h
@@ -16,5 +16,6 @@ struct Types {
using uint_32 = unsigned int;
using vec2 = _v2;
using BOOLEAN = bool;
+
};
diff --git a/CppGame/window.cpp b/CppGame/window.cpp
index beced89..194ba20 100644
--- a/CppGame/window.cpp
+++ b/CppGame/window.cpp
@@ -4,9 +4,12 @@
#include
static SDL_Window* window = NULL;
static SDL_Renderer* renderer = NULL;
-static Types::vec2 windowDimensions(1366, 768);
+static Types::vec2 windowDimensions(800, 600);
static Rena3D_Renderer r3dgpu;
+Uint64 lastTime = SDL_GetPerformanceCounter();
+r3d_Variant::RenderTime deltaTime = 0.0;
+
int main(Types::uint_32 argc, char* argv) {
if (!SDL_Init(SDL_INIT_VIDEO)) {
std::cerr << "cannot init sdl window: " << SDL_GetError() << std::endl;
@@ -45,10 +48,20 @@ int main(Types::uint_32 argc, char* argv) {
}
}
+ Uint64 curTime = SDL_GetPerformanceCounter();
+
+ deltaTime = (r3d_Variant::RenderTime)(curTime - lastTime) / (r3d_Variant::RenderTime)SDL_GetPerformanceFrequency();
+
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
SDL_RenderClear(renderer);
- r3dgpu.RenderFrame(0);
+ lastTime = curTime;
+
+ if (deltaTime > 0.1) {
+ deltaTime = 0.1;
+ }
+
+ r3dgpu.RenderFrame(deltaTime);
SDL_RenderPresent(renderer);
}