change rom title from c char to std::string

This commit is contained in:
scawful
2024-08-10 21:42:09 -04:00
parent 443938e5ea
commit 6dc90ead13
5 changed files with 33 additions and 27 deletions

View File

@@ -15,6 +15,7 @@
#include "absl/status/statusor.h" #include "absl/status/statusor.h"
#include "absl/strings/str_format.h" #include "absl/strings/str_format.h"
#include "app/core/constants.h"
#include "imgui/imgui.h" #include "imgui/imgui.h"
namespace yaze { namespace yaze {
@@ -323,12 +324,12 @@ void ApplyBpsPatch(const std::vector<uint8_t> &source,
} }
} }
absl::StatusOr<std::string> CheckVersion(const char* version) { absl::StatusOr<std::string> CheckVersion(const char *version) {
std::string version_string = version; std::string version_string = version;
if (version_string != kYazeVersion) { if (version_string != core::kYazeVersion) {
std::string message = absl::StrFormat( std::string message =
"Yaze version mismatch: expected %s, got %s", kYazeVersion, absl::StrFormat("Yaze version mismatch: expected %s, got %s",
version_string.c_str()); core::kYazeVersion, version_string.c_str());
return absl::InvalidArgumentError(message); return absl::InvalidArgumentError(message);
} }
return version_string; return version_string;

View File

@@ -10,6 +10,7 @@
#include <stack> #include <stack>
#include <string> #include <string>
#include "absl/status/statusor.h"
#include "absl/strings/str_format.h" #include "absl/strings/str_format.h"
#include "imgui/imgui.h" #include "imgui/imgui.h"

View File

@@ -375,7 +375,7 @@ void EditorManager::DrawInfoPopup() {
if (rom_info_) OpenPopup("ROM Information"); if (rom_info_) OpenPopup("ROM Information");
if (BeginPopupModal("ROM Information", nullptr, if (BeginPopupModal("ROM Information", nullptr,
ImGuiWindowFlags_AlwaysAutoResize)) { ImGuiWindowFlags_AlwaysAutoResize)) {
Text("Title: %s", rom()->title()); Text("Title: %s", rom()->title().c_str());
Text("ROM Size: %ld", rom()->size()); Text("ROM Size: %ld", rom()->size());
if (Button("Close", gui::kDefaultModalSize) || if (Button("Close", gui::kDefaultModalSize) ||

View File

@@ -209,7 +209,9 @@ absl::Status Rom::LoadFromFile(const std::string& filename, bool z3_load) {
// Copy ROM title // Copy ROM title
constexpr uint32_t kTitleStringOffset = 0x7FC0; constexpr uint32_t kTitleStringOffset = 0x7FC0;
constexpr uint32_t kTitleStringLength = 20; constexpr uint32_t kTitleStringLength = 20;
memcpy(title_, rom_data_.data() + kTitleStringOffset, kTitleStringLength); std::copy(rom_data_.begin() + kTitleStringOffset,
rom_data_.begin() + kTitleStringOffset + kTitleStringLength,
title_.begin());
if (rom_data_[kTitleStringOffset + 0x19] == 0) { if (rom_data_[kTitleStringOffset + 0x19] == 0) {
version_ = Z3_Version::JP; version_ = Z3_Version::JP;
} else { } else {
@@ -247,7 +249,9 @@ absl::Status Rom::LoadFromPointer(uchar* data, size_t length, bool z3_load) {
// Copy ROM title // Copy ROM title
constexpr uint32_t kTitleStringOffset = 0x7FC0; constexpr uint32_t kTitleStringOffset = 0x7FC0;
constexpr uint32_t kTitleStringLength = 20; constexpr uint32_t kTitleStringLength = 20;
memcpy(title_, rom_data_.data() + kTitleStringOffset, kTitleStringLength); std::copy(rom_data_.begin() + kTitleStringOffset,
rom_data_.begin() + kTitleStringOffset + kTitleStringLength,
title_.begin());
if (rom_data_[kTitleStringOffset + 0x19] == 0) { if (rom_data_[kTitleStringOffset + 0x19] == 0) {
version_ = Z3_Version::JP; version_ = Z3_Version::JP;
} else { } else {

View File

@@ -5,35 +5,35 @@
#include <algorithm> #include <algorithm>
#include <chrono> #include <chrono>
#include <cstddef> // for size_t #include <cstddef>
#include <cstdint> // for uint32_t, uint8_t, uint16_t #include <cstdint>
#include <cstring> #include <cstring>
#include <ctime> #include <ctime>
#include <filesystem> #include <filesystem>
#include <fstream> #include <fstream>
#include <functional> // for function #include <functional>
#include <iostream> // for string, operator<<, basic_... #include <iostream>
#include <map> // for map #include <map>
#include <memory> // for shared_ptr, make_shared #include <memory>
#include <stack> // for stack #include <stack>
#include <string> // for hash, operator== #include <string>
#include <unordered_map> // for unordered_map #include <unordered_map>
#include <variant> #include <variant>
#include <vector> // for vector #include <vector>
#include "absl/container/flat_hash_map.h" // for flat_hash_map #include "absl/container/flat_hash_map.h"
#include "absl/status/status.h" // for Status #include "absl/status/status.h"
#include "absl/status/statusor.h" // for StatusOr #include "absl/status/statusor.h"
#include "absl/strings/match.h" #include "absl/strings/match.h"
#include "absl/strings/str_cat.h" #include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h" #include "absl/strings/str_format.h"
#include "absl/strings/string_view.h" // for string_view #include "absl/strings/string_view.h"
#include "app/core/common.h" #include "app/core/common.h"
#include "app/core/constants.h" // for Bytes, uchar, armorPalettes #include "app/core/constants.h"
#include "app/core/labeling.h" #include "app/core/labeling.h"
#include "app/gfx/bitmap.h" // for Bitmap, BitmapTable #include "app/gfx/bitmap.h"
#include "app/gfx/compression.h" #include "app/gfx/compression.h"
#include "app/gfx/snes_palette.h" // for PaletteGroup, SNESColor #include "app/gfx/snes_palette.h"
#include "app/gfx/snes_tile.h" #include "app/gfx/snes_tile.h"
namespace yaze { namespace yaze {
@@ -511,8 +511,8 @@ class Rom : public core::ExperimentFlags {
long size_ = 0; long size_ = 0;
bool is_loaded_ = false; bool is_loaded_ = false;
bool has_header_ = false; bool has_header_ = false;
uchar title_[21] = "ROM Not Loaded"; std::string title_ = "ROM Not Loaded";
std::string filename_; std::string filename_ = "";
// Full contiguous rom space // Full contiguous rom space
Bytes rom_data_; Bytes rom_data_;