20 std::vector<uint32_t> tileIDs;
23 std::stringstream ss(arg_vec[2].data());
24 for (std::string tileID; std::getline(ss, tileID,
',');) {
30 }
else if (tileID.find(
'-') != std::string::npos) {
32 std::stringstream rangeSS(tileID);
35 std::getline(rangeSS, start,
'-');
36 std::getline(rangeSS, end);
37 uint32_t startID = std::stoi(start,
nullptr, 16);
38 uint32_t endID = std::stoi(end,
nullptr, 16);
39 for (uint32_t i = startID; i <= endID; ++i) {
44 uint32_t tileID_int = std::stoi(tileID,
nullptr, 16);
45 tileIDs.push_back(tileID_int);
49 for (
const auto& tile16_id_int : tileIDs) {
55 if (source_tile16_data != dest_tile16_data) {
57 std::cout <<
"Difference detected in tile16 ID " << tile16_id_int
58 <<
". Do you want to transfer it to dest rom? (y/n): ";
60 std::cin >> userChoice;
63 if (userChoice ==
'y' || userChoice ==
'Y') {
65 dest_rom.
WriteTile16(tile16_id_int, source_tile16_data));
66 std::cout <<
"Transferred tile16 ID " << tile16_id_int
67 <<
" to dest rom." << std::endl;
69 std::cout <<
"Skipped transferring tile16 ID " << tile16_id_int <<
"."
78 std::cout <<
"Successfully transferred tile16" << std::endl;
80 return absl::OkStatus();