# Stage 1.7
- Added File to Memory and FastHashMomory - Add Protection that only one app can exist - Add a Trace exist Variable as GetTraceRef automatically creates a trace - Outsource the LI::Rect to its own header - Add a CurrentScreen func - Use Rect for uv (to manually set all corners) - Rect still supports to use vec4 for uv - Add tex3ds Spritesheet support - Add T3X Loader to Texture (if single tex) - Integrate an autounload into Texture as in case of spritesheet the Tex needs to be unloaded manually - Safe some performance in texture loading by combining the Loops (best thing ive ever found) - Use the Momory Hash to only render one error icon into the TTF Texture - Also Try loading the whole 16-Bit range - Use GPU_A8 format for TTF rendering to save 24Bits per pixel and use the same Rendermode as System Font - Simplify Quad Command by using modern vec api - Integrate Text aligning - Fix FPS displayed twice in Performance overlay - UI7 DrawList now has its own AST system - TODO: do the same layering for the objects as Text uses - Map Drawcommands with a bool that declares either bottom or top screen was active - Add first basic Manu functions - Fix Typos in Theme - Add a basic UI7 Context Handler ## Extra - Added JetBrainsMono font in Test app ## Bugs: - Performance Overlay Freezes 3ds hardware and crashes Citra with Vulkan when System Font is used - UI7 Menu scrolling is as scruffed as back in RenderD7 0.9.5
This commit is contained in:
@ -32,9 +32,14 @@ SOFTWARE.
|
||||
|
||||
namespace PD {
|
||||
/// @brief Template Class for User Application
|
||||
class App : public SmartCtor<App> {
|
||||
class App {
|
||||
public:
|
||||
App() = default;
|
||||
App() {
|
||||
if (too) {
|
||||
Error("Only one App can be created at the same time!");
|
||||
}
|
||||
too++;
|
||||
}
|
||||
~App() = default;
|
||||
|
||||
/// @brief Templete function where the user can Init his stuff
|
||||
@ -50,8 +55,8 @@ class App : public SmartCtor<App> {
|
||||
|
||||
/// @brief Function to run the App
|
||||
/// (int main() {
|
||||
/// auto app = PD::New<UserApp>();
|
||||
/// app->Run();
|
||||
/// UserApp app;
|
||||
/// app.Run();
|
||||
/// return 0;
|
||||
/// })
|
||||
void Run();
|
||||
@ -71,5 +76,8 @@ class App : public SmartCtor<App> {
|
||||
u64 last_time;
|
||||
float app_time;
|
||||
float fps;
|
||||
|
||||
/// The Only One
|
||||
static int too;
|
||||
};
|
||||
} // namespace PD
|
10
include/pd/common/io.hpp
Normal file
10
include/pd/common/io.hpp
Normal file
@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include <pd/common/common.hpp>
|
||||
|
||||
namespace PD {
|
||||
namespace IO {
|
||||
std::vector<u8> LoadFile2Mem(const std::string& path);
|
||||
u32 HashMemory(const std::vector<u8>& data);
|
||||
} // namespace IO
|
||||
} // namespace PD
|
@ -32,6 +32,7 @@ using TraceMap = std::map<std::string, TT::Res::Ref>;
|
||||
u64 GetTime();
|
||||
u64 GetNanoTime();
|
||||
TT::Res::Ref& GetTraceRef(const std::string& id);
|
||||
bool TraceExist(const std::string& id);
|
||||
TraceMap& GetTraceMap();
|
||||
} // namespace Sys
|
||||
} // namespace PD
|
||||
|
Reference in New Issue
Block a user