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/strings/str_format.h"
#include "app/core/constants.h"
#include "imgui/imgui.h"
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;
if (version_string != kYazeVersion) {
std::string message = absl::StrFormat(
"Yaze version mismatch: expected %s, got %s", kYazeVersion,
version_string.c_str());
if (version_string != core::kYazeVersion) {
std::string message =
absl::StrFormat("Yaze version mismatch: expected %s, got %s",
core::kYazeVersion, version_string.c_str());
return absl::InvalidArgumentError(message);
}
return version_string;

View File

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

View File

@@ -375,7 +375,7 @@ void EditorManager::DrawInfoPopup() {
if (rom_info_) OpenPopup("ROM Information");
if (BeginPopupModal("ROM Information", nullptr,
ImGuiWindowFlags_AlwaysAutoResize)) {
Text("Title: %s", rom()->title());
Text("Title: %s", rom()->title().c_str());
Text("ROM Size: %ld", rom()->size());
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
constexpr uint32_t kTitleStringOffset = 0x7FC0;
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) {
version_ = Z3_Version::JP;
} else {
@@ -247,7 +249,9 @@ absl::Status Rom::LoadFromPointer(uchar* data, size_t length, bool z3_load) {
// Copy ROM title
constexpr uint32_t kTitleStringOffset = 0x7FC0;
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) {
version_ = Z3_Version::JP;
} else {

View File

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