From 878adf5dbb5d0321efe626575b76fdf705e2183b Mon Sep 17 00:00:00 2001 From: Guido Diego Quispe Robles Date: Sat, 4 Nov 2023 22:35:13 -0300 Subject: [PATCH 1/4] Fix writeLogsToFile Deleted logFile smart pointer and getLogFile function. logfile created inside of the statics functions. Debug.cpp can be deleted. --- engine/inc/debug/debug.hpp | 39 +++++++++++++++++++++++--------------- engine/src/debug/debug.cpp | 24 +++++++++++------------ 2 files changed, 36 insertions(+), 27 deletions(-) diff --git a/engine/inc/debug/debug.hpp b/engine/inc/debug/debug.hpp index d919b0e..d1e04ea 100644 --- a/engine/inc/debug/debug.hpp +++ b/engine/inc/debug/debug.hpp @@ -48,9 +48,12 @@ class TyraDebug { (void)expander{0, (void(ss << std::forward(args)), 0)...}; if (Tyra::Info::writeLogsToFile) { - auto* logFile = getLogFile(); - *logFile << ss.str(); - logFile->flush(); + std::ofstream logFile; + logFile.open(Tyra::FileUtils::fromCwd("log.txt"), + std::ofstream::out | std::ofstream::app); + logFile << ss.str(); + logFile.flush(); + // logFile.close(); } else { printf("%s", ss.str().c_str()); } @@ -65,9 +68,12 @@ class TyraDebug { ss1 << "|\n"; if (Tyra::Info::writeLogsToFile) { - auto* logFile = getLogFile(); - *logFile << ss1.str(); - logFile->flush(); + std::ofstream logFile; + logFile.open(Tyra::FileUtils::fromCwd("log.txt"), + std::ofstream::out | std::ofstream::app); + logFile << ss1.str(); + logFile.flush(); + // logFile.close(); } else { printf("%s", ss1.str().c_str()); } @@ -80,9 +86,12 @@ class TyraDebug { ss2 << "====================================\n\n"; if (Tyra::Info::writeLogsToFile) { - auto* logFile = getLogFile(); - *logFile << ss2.str(); - logFile->flush(); + std::ofstream logFile; + logFile.open(Tyra::FileUtils::fromCwd("log.txt"), + std::ofstream::out | std::ofstream::app); + logFile << ss2.str(); + logFile.flush(); + // logFile.close(); } else { printf("%s", ss2.str().c_str()); } @@ -92,9 +101,6 @@ class TyraDebug { } private: - static std::unique_ptr logFile; - static std::ofstream* getLogFile(); - template static void writeAssertLines(Arg&& arg, Args&&... args) { std::stringstream ss; @@ -105,9 +111,12 @@ class TyraDebug { 0, (void(ss << "| " << std::forward(args) << "\n"), 0)...}; if (Tyra::Info::writeLogsToFile) { - auto* logfile = getLogFile(); - *logfile << ss.str(); - logFile->flush(); + std::ofstream logFile; + logFile.open(Tyra::FileUtils::fromCwd("log.txt"), + std::ofstream::out | std::ofstream::app); + logFile << ss.str(); + logFile.flush(); + // logFile.close(); } else { printf("%s", ss.str().c_str()); } diff --git a/engine/src/debug/debug.cpp b/engine/src/debug/debug.cpp index 292a10a..1ab67c7 100644 --- a/engine/src/debug/debug.cpp +++ b/engine/src/debug/debug.cpp @@ -8,18 +8,18 @@ # Wellington Carvalho */ -#include "debug/debug.hpp" +// #include "debug/debug.hpp" -std::unique_ptr TyraDebug::logFile; +// std::unique_ptr TyraDebug::logFile; -std::ofstream* TyraDebug::getLogFile() { - if (logFile) { - return logFile.get(); - } else { - logFile = std::make_unique(); - logFile->open(Tyra::FileUtils::fromCwd("log.txt"), - std::ofstream::out | std::ofstream::app); - return logFile.get(); - } +// std::ofstream* TyraDebug::getLogFile() { +// if (logFile) { +// return logFile.get(); +// } else { +// logFile = std::make_unique(); +// logFile->open(Tyra::FileUtils::fromCwd("log.txt"), +// std::ofstream::out | std::ofstream::app); +// return logFile.get(); +// } -} // namespace Tyra +// } // namespace Tyra From 7736f00d7193a2ba5886f0bcf37cf131aec436d8 Mon Sep 17 00:00:00 2001 From: Guido Diego Quispe Robles Date: Sat, 4 Nov 2023 22:40:13 -0300 Subject: [PATCH 2/4] Update debug.hpp formatted with clang --- engine/inc/debug/debug.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/engine/inc/debug/debug.hpp b/engine/inc/debug/debug.hpp index d1e04ea..1be20b2 100644 --- a/engine/inc/debug/debug.hpp +++ b/engine/inc/debug/debug.hpp @@ -50,9 +50,9 @@ class TyraDebug { if (Tyra::Info::writeLogsToFile) { std::ofstream logFile; logFile.open(Tyra::FileUtils::fromCwd("log.txt"), - std::ofstream::out | std::ofstream::app); + std::ofstream::out | std::ofstream::app); logFile << ss.str(); - logFile.flush(); + logFile.flush(); // logFile.close(); } else { printf("%s", ss.str().c_str()); @@ -70,7 +70,7 @@ class TyraDebug { if (Tyra::Info::writeLogsToFile) { std::ofstream logFile; logFile.open(Tyra::FileUtils::fromCwd("log.txt"), - std::ofstream::out | std::ofstream::app); + std::ofstream::out | std::ofstream::app); logFile << ss1.str(); logFile.flush(); // logFile.close(); @@ -88,7 +88,7 @@ class TyraDebug { if (Tyra::Info::writeLogsToFile) { std::ofstream logFile; logFile.open(Tyra::FileUtils::fromCwd("log.txt"), - std::ofstream::out | std::ofstream::app); + std::ofstream::out | std::ofstream::app); logFile << ss2.str(); logFile.flush(); // logFile.close(); @@ -113,7 +113,7 @@ class TyraDebug { if (Tyra::Info::writeLogsToFile) { std::ofstream logFile; logFile.open(Tyra::FileUtils::fromCwd("log.txt"), - std::ofstream::out | std::ofstream::app); + std::ofstream::out | std::ofstream::app); logFile << ss.str(); logFile.flush(); // logFile.close(); From ce4e2f663fe70dd298c7e51dfda1f4a67683f61a Mon Sep 17 00:00:00 2001 From: Guido Diego Quispe Robles Date: Sat, 4 Nov 2023 23:27:16 -0300 Subject: [PATCH 3/4] optimization code created writeInLogFile function tested in real PS2 and emulator --- engine/inc/debug/debug.hpp | 30 ++++++------------------------ engine/src/debug/debug.cpp | 23 +++++++++-------------- 2 files changed, 15 insertions(+), 38 deletions(-) diff --git a/engine/inc/debug/debug.hpp b/engine/inc/debug/debug.hpp index 1be20b2..1f4069b 100644 --- a/engine/inc/debug/debug.hpp +++ b/engine/inc/debug/debug.hpp @@ -48,12 +48,7 @@ class TyraDebug { (void)expander{0, (void(ss << std::forward(args)), 0)...}; if (Tyra::Info::writeLogsToFile) { - std::ofstream logFile; - logFile.open(Tyra::FileUtils::fromCwd("log.txt"), - std::ofstream::out | std::ofstream::app); - logFile << ss.str(); - logFile.flush(); - // logFile.close(); + writeInLogFile(&ss); } else { printf("%s", ss.str().c_str()); } @@ -68,12 +63,7 @@ class TyraDebug { ss1 << "|\n"; if (Tyra::Info::writeLogsToFile) { - std::ofstream logFile; - logFile.open(Tyra::FileUtils::fromCwd("log.txt"), - std::ofstream::out | std::ofstream::app); - logFile << ss1.str(); - logFile.flush(); - // logFile.close(); + writeInLogFile(&ss1); } else { printf("%s", ss1.str().c_str()); } @@ -86,12 +76,7 @@ class TyraDebug { ss2 << "====================================\n\n"; if (Tyra::Info::writeLogsToFile) { - std::ofstream logFile; - logFile.open(Tyra::FileUtils::fromCwd("log.txt"), - std::ofstream::out | std::ofstream::app); - logFile << ss2.str(); - logFile.flush(); - // logFile.close(); + writeInLogFile(&ss2); } else { printf("%s", ss2.str().c_str()); } @@ -101,6 +86,8 @@ class TyraDebug { } private: + static void writeInLogFile(std::stringstream* ss); + template static void writeAssertLines(Arg&& arg, Args&&... args) { std::stringstream ss; @@ -111,12 +98,7 @@ class TyraDebug { 0, (void(ss << "| " << std::forward(args) << "\n"), 0)...}; if (Tyra::Info::writeLogsToFile) { - std::ofstream logFile; - logFile.open(Tyra::FileUtils::fromCwd("log.txt"), - std::ofstream::out | std::ofstream::app); - logFile << ss.str(); - logFile.flush(); - // logFile.close(); + writeInLogFile(&ss); } else { printf("%s", ss.str().c_str()); } diff --git a/engine/src/debug/debug.cpp b/engine/src/debug/debug.cpp index 1ab67c7..aff2466 100644 --- a/engine/src/debug/debug.cpp +++ b/engine/src/debug/debug.cpp @@ -8,18 +8,13 @@ # Wellington Carvalho */ -// #include "debug/debug.hpp" +#include "debug/debug.hpp" -// std::unique_ptr TyraDebug::logFile; - -// std::ofstream* TyraDebug::getLogFile() { -// if (logFile) { -// return logFile.get(); -// } else { -// logFile = std::make_unique(); -// logFile->open(Tyra::FileUtils::fromCwd("log.txt"), -// std::ofstream::out | std::ofstream::app); -// return logFile.get(); -// } - -// } // namespace Tyra +void TyraDebug::writeInLogFile(std::stringstream* ss) { + std::ofstream logFile; + logFile.open(Tyra::FileUtils::fromCwd("log.txt"), + std::ofstream::out | std::ofstream::app); + logFile << ss->str(); + logFile.flush(); + // logFile.close(); +} From f4f527b877889403f56c5d7b184b44e570616da2 Mon Sep 17 00:00:00 2001 From: Guido Diego Quispe Robles Date: Sat, 4 Nov 2023 23:28:09 -0300 Subject: [PATCH 4/4] Update debug.hpp clang format --- engine/inc/debug/debug.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/inc/debug/debug.hpp b/engine/inc/debug/debug.hpp index 1f4069b..159bc51 100644 --- a/engine/inc/debug/debug.hpp +++ b/engine/inc/debug/debug.hpp @@ -87,7 +87,7 @@ class TyraDebug { private: static void writeInLogFile(std::stringstream* ss); - + template static void writeAssertLines(Arg&& arg, Args&&... args) { std::stringstream ss;