Refactor logging to use logf function and update log file name
This commit is contained in:
@@ -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 <typename... Args>
|
||||
static void logf(const absl::FormatSpec<Args...> &format, const Args &...args) {
|
||||
@@ -204,38 +204,10 @@ static void logf(const absl::FormatSpec<Args...> &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<std::string, std::vector<std::string>>
|
||||
log_categories;
|
||||
|
||||
template <typename... Args>
|
||||
static void logm(const std::string &category,
|
||||
const absl::FormatSpec<Args...> &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 {
|
||||
|
||||
@@ -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<int>(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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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<uint8_t> 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()));
|
||||
|
||||
Reference in New Issue
Block a user