started adding a translator
This commit is contained in:
@@ -118,7 +118,7 @@
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>libs\lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>lds\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>SDL3.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<Manifest>
|
||||
@@ -145,11 +145,13 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Renderer.cpp" />
|
||||
<ClCompile Include="transl.cpp" />
|
||||
<ClCompile Include="window.cpp" />
|
||||
<ClCompile Include="type.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Renderer.h" />
|
||||
<ClInclude Include="transl.h" />
|
||||
<ClInclude Include="Variant.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
|
||||
@@ -21,5 +21,22 @@
|
||||
<ClCompile Include="type.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Renderer.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="transl.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Renderer.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Variant.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="transl.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,8 +1,9 @@
|
||||
#include "Renderer.h"
|
||||
#include "Variant.h"
|
||||
#include <iostream>
|
||||
|
||||
void Rena3D_Renderer::InitTree() {
|
||||
|
||||
std::cout << "tree inited!" << std::endl;
|
||||
}
|
||||
|
||||
void Rena3D_Renderer::RenderFrame(r3d_Variant::RenderTime timeSignature) {
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#pragma once
|
||||
#include <iostream>
|
||||
|
||||
struct r3d_Variant {
|
||||
using RenderTime = double;
|
||||
using NotificationSignal = unsigned int;
|
||||
using String = std::string;
|
||||
};
|
||||
@@ -0,0 +1,7 @@
|
||||
#include "transl.h"
|
||||
#include "Variant.h"
|
||||
|
||||
void Translator::RegisterNewLanguage(r3d_Variant::String name) {
|
||||
std::unordered_map<r3d_Variant::String, r3d_Variant::String> newLanguage;
|
||||
languages.insert({ name, newLanguage });
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
#define PREPROC_TRANSLATOR_ENABLE
|
||||
#define PREPROC_TRANSLATOR_LANG "EN_US"
|
||||
#include "Variant.h"
|
||||
#include <iostream>
|
||||
#include <unordered_map>
|
||||
|
||||
|
||||
class Translator {
|
||||
public:
|
||||
std::unordered_map<r3d_Variant::String, std::unordered_map<r3d_Variant::String, r3d_Variant::String>> 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);
|
||||
};
|
||||
|
||||
@@ -16,5 +16,6 @@ struct Types {
|
||||
using uint_32 = unsigned int;
|
||||
using vec2 = _v2;
|
||||
using BOOLEAN = bool;
|
||||
|
||||
};
|
||||
|
||||
|
||||
+15
-2
@@ -4,9 +4,12 @@
|
||||
#include <iostream>
|
||||
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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user