From 0e67413d557f78e0f129037c78e462d925938824 Mon Sep 17 00:00:00 2001 From: scawful Date: Tue, 31 Dec 2024 16:54:44 -0500 Subject: [PATCH] Refactor logging to use logf function and update log file name --- src/app/core/common.h | 32 ++------------------- src/app/rom.h | 19 ++++--------- src/app/zelda3/overworld/overworld.cc | 40 +++++++++++++-------------- 3 files changed, 28 insertions(+), 63 deletions(-) diff --git a/src/app/core/common.h b/src/app/core/common.h index 7bd5a482..50e524a3 100644 --- a/src/app/core/common.h +++ b/src/app/core/common.h @@ -196,7 +196,7 @@ class NotifyValue { }; static bool log_to_console = false; -static std::string log_file_out = "log.txt"; +constexpr std::string kLogFileOut = "yaze_log.txt"; template static void logf(const absl::FormatSpec &format, const Args &...args) { @@ -204,38 +204,10 @@ static void logf(const absl::FormatSpec &format, const Args &...args) { if (log_to_console) { std::cout << message << std::endl; } - static std::ofstream fout(log_file_out, std::ios::out | std::ios::app); + static std::ofstream fout(kLogFileOut, std::ios::out | std::ios::app); fout << message << std::endl; } -struct StructuredLog { - std::string raw_message; - std::string category; -}; - -static absl::flat_hash_map> - log_categories; - -template -static void logm(const std::string &category, - const absl::FormatSpec &format, const Args &...args) { - std::string message = absl::StrFormat(format, args...); - std::cout << category << ": " << message << std::endl; - if (log_categories.contains(category)) { - log_categories[category].push_back(message); - } else { - log_categories[category] = {message}; - } -} - -class Logger { - public: - static void log(std::string message) { - static std::ofstream fout(log_file_out, std::ios::out | std::ios::app); - fout << message << std::endl; - } -}; - constexpr uint32_t kFastRomRegion = 0x808000; inline uint32_t SnesToPc(uint32_t addr) noexcept { diff --git a/src/app/rom.h b/src/app/rom.h index 8c361a74..20d63a22 100644 --- a/src/app/rom.h +++ b/src/app/rom.h @@ -328,9 +328,7 @@ class Rom : public core::ExperimentFlags { value, addr)); } rom_data_[addr] = value; - std::string log_str = absl::StrFormat("WriteByte: %#06X: %s", addr, - core::HexByte(value).data()); - core::Logger::log(log_str); + core::logf("WriteByte: %#06X: %s", addr, core::HexByte(value).data()); return absl::OkStatus(); } @@ -343,8 +341,7 @@ class Rom : public core::ExperimentFlags { } rom_data_[addr] = (uint8_t)(value & 0xFF); rom_data_[addr + 1] = (uint8_t)((value >> 8) & 0xFF); - core::Logger::log(absl::StrFormat("WriteWord: %#06X: %s", addr, - core::HexWord(value))); + core::logf("WriteWord: %#06X: %s", addr, core::HexWord(value).data()); return absl::OkStatus(); } @@ -357,8 +354,7 @@ class Rom : public core::ExperimentFlags { } rom_data_[addr] = (uint8_t)(value & 0xFF); rom_data_[addr + 1] = (uint8_t)((value >> 8) & 0xFF); - core::Logger::log(absl::StrFormat("WriteShort: %#06X: %s", addr, - core::HexWord(value))); + core::logf("WriteShort: %#06X: %s", addr, core::HexWord(value).data()); return absl::OkStatus(); } @@ -372,8 +368,7 @@ class Rom : public core::ExperimentFlags { rom_data_[addr] = (uint8_t)(value & 0xFF); rom_data_[addr + 1] = (uint8_t)((value >> 8) & 0xFF); rom_data_[addr + 2] = (uint8_t)((value >> 16) & 0xFF); - core::Logger::log(absl::StrFormat("WriteLong: %#06X: %s", addr, - core::HexLong(value))); + core::logf("WriteLong: %#06X: %s", addr, core::HexLong(value).data()); return absl::OkStatus(); } @@ -387,8 +382,7 @@ class Rom : public core::ExperimentFlags { for (int i = 0; i < static_cast(data.size()); i++) { rom_data_[addr + i] = data[i]; } - core::Logger::log(absl::StrFormat("WriteVector: %#06X: %s", addr, - core::HexByte(data[0]))); + core::logf("WriteVector: %#06X: %s", addr, core::HexByte(data[0]).data()); return absl::OkStatus(); } @@ -397,8 +391,7 @@ class Rom : public core::ExperimentFlags { ((color.snes() & 0x1F) << 10) | (color.snes() & 0x7C00); // Write the 16-bit color value to the ROM at the specified address - core::Logger::log(absl::StrFormat("WriteColor: %#06X: %s", address, - core::HexWord(bgr))); + core::logf("WriteColor: %#06X: %s", address, core::HexWord(bgr).data()); return WriteShort(address, bgr); } diff --git a/src/app/zelda3/overworld/overworld.cc b/src/app/zelda3/overworld/overworld.cc index 5831a8d5..cc643ae0 100644 --- a/src/app/zelda3/overworld/overworld.cc +++ b/src/app/zelda3/overworld/overworld.cc @@ -520,7 +520,7 @@ absl::Status Overworld::Save(Rom &rom) { } absl::Status Overworld::SaveOverworldMaps() { - core::Logger::log("Saving Overworld Maps"); + core::logf("Saving Overworld Maps"); // Initialize map pointers std::fill(map_pointers1_id.begin(), map_pointers1_id.end(), -1); @@ -571,8 +571,8 @@ absl::Status Overworld::SaveOverworldMaps() { } if ((pos + size_a) >= 0x6411F && (pos + size_a) <= 0x70000) { - core::Logger::log("Pos set to overflow region for map " + - std::to_string(i) + " at " + core::HexLong(pos)); + core::logf("Pos set to overflow region for map %s at %s", + std::to_string(i), core::HexLong(pos)); pos = OverworldMapDataOverflow; // 0x0F8780; } @@ -608,8 +608,8 @@ absl::Status Overworld::SaveOverworldMaps() { std::copy(a.begin(), a.end(), map_data_p1[i].begin()); int snes_pos = core::PcToSnes(pos); map_pointers1[i] = snes_pos; - core::Logger::log("Saving map pointers1 and compressed data for map " + - core::HexByte(i) + " at " + core::HexLong(snes_pos)); + core::logf("Saving map pointers1 and compressed data for map %s at %s", + core::HexByte(i), core::HexLong(snes_pos)); RETURN_IF_ERROR(rom()->WriteLong( rom()->version_constants().kCompressedAllMap32PointersLow + (3 * i), snes_pos)); @@ -618,8 +618,8 @@ absl::Status Overworld::SaveOverworldMaps() { } else { // Save pointer for map1 int snes_pos = map_pointers1[map_pointers1_id[i]]; - core::Logger::log("Saving map pointers1 for map " + core::HexByte(i) + - " at " + core::HexLong(snes_pos)); + core::logf("Saving map pointers1 for map %s at %s", core::HexByte(i), + core::HexLong(snes_pos)); RETURN_IF_ERROR(rom()->WriteLong( rom()->version_constants().kCompressedAllMap32PointersLow + (3 * i), snes_pos)); @@ -630,8 +630,8 @@ absl::Status Overworld::SaveOverworldMaps() { } if ((pos + b.size()) >= 0x6411F && (pos + b.size()) <= 0x70000) { - core::Logger::log("Pos set to overflow region for map " + - core::HexByte(i) + " at " + core::HexLong(pos)); + core::logf("Pos set to overflow region for map %s at %s", + core::HexByte(i), core::HexLong(pos)); pos = OverworldMapDataOverflow; } @@ -640,8 +640,8 @@ absl::Status Overworld::SaveOverworldMaps() { std::copy(b.begin(), b.end(), map_data_p2[i].begin()); int snes_pos = core::PcToSnes(pos); map_pointers2[i] = snes_pos; - core::Logger::log("Saving map pointers2 and compressed data for map " + - core::HexByte(i) + " at " + core::HexLong(snes_pos)); + core::logf("Saving map pointers2 and compressed data for map %s at %s", + core::HexByte(i), core::HexLong(snes_pos)); RETURN_IF_ERROR(rom()->WriteLong( rom()->version_constants().kCompressedAllMap32PointersHigh + (3 * i), snes_pos)); @@ -650,8 +650,8 @@ absl::Status Overworld::SaveOverworldMaps() { } else { // Save pointer for map2 int snes_pos = map_pointers2[map_pointers2_id[i]]; - core::Logger::log("Saving map pointers2 for map " + core::HexByte(i) + - " at " + core::HexLong(snes_pos)); + core::logf("Saving map pointers2 for map %s at %s", core::HexByte(i), + core::HexLong(snes_pos)); RETURN_IF_ERROR(rom()->WriteLong( rom()->version_constants().kCompressedAllMap32PointersHigh + (3 * i), snes_pos)); @@ -660,7 +660,7 @@ absl::Status Overworld::SaveOverworldMaps() { // Check if too many maps data if (pos > 0x137FFF) { - std::cerr << "Too many maps data " << std::hex << pos << std::endl; + core::logf("Too many maps data %s", core::HexLong(pos)); return absl::AbortedError("Too many maps data " + std::to_string(pos)); } @@ -671,7 +671,7 @@ absl::Status Overworld::SaveOverworldMaps() { } absl::Status Overworld::SaveLargeMaps() { - core::Logger::log("Saving Large Maps"); + core::logf("Saving Large Maps"); std::vector checked_map; for (int i = 0; i < 0x40; i++) { @@ -1141,7 +1141,7 @@ absl::Status Overworld::SaveMap32Expanded() { } absl::Status Overworld::SaveMap32Tiles() { - core::Logger::log("Saving Map32 Tiles"); + core::logf("Saving Map32 Tiles"); constexpr int kMaxUniqueTiles = 0x4540; constexpr int kTilesPer32x32Tile = 6; @@ -1348,7 +1348,7 @@ absl::Status Overworld::SaveMap16Expanded() { } absl::Status Overworld::SaveMap16Tiles() { - core::Logger::log("Saving Map16 Tiles"); + core::logf("Saving Map16 Tiles"); int tpos = kMap16Tiles; // 3760 for (int i = 0; i < NumberOfMap16; i += 1) { @@ -1369,7 +1369,7 @@ absl::Status Overworld::SaveMap16Tiles() { } absl::Status Overworld::SaveEntrances() { - core::Logger::log("Saving Entrances"); + core::logf("Saving Entrances"); for (int i = 0; i < 129; i++) { RETURN_IF_ERROR( rom()->WriteShort(OWEntranceMap + (i * 2), all_entrances_[i].map_id_)) @@ -1392,7 +1392,7 @@ absl::Status Overworld::SaveEntrances() { } absl::Status Overworld::SaveExits() { - core::Logger::log("Saving Exits"); + core::logf("Saving Exits"); for (int i = 0; i < 0x4F; i++) { RETURN_IF_ERROR( rom()->WriteShort(OWExitRoomId + (i * 2), all_exits_[i].room_id_)); @@ -1537,7 +1537,7 @@ absl::Status Overworld::SaveItems() { } absl::Status Overworld::SaveMapProperties() { - core::Logger::log("Saving Map Properties"); + core::logf("Saving Map Properties"); for (int i = 0; i < 64; i++) { RETURN_IF_ERROR(rom()->WriteByte(kAreaGfxIdPtr + i, overworld_maps_[i].area_graphics()));