cleanup common
This commit is contained in:
@@ -48,10 +48,27 @@ uint64_t decode(const std::vector<uint8_t> &input, size_t &offset) {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t crc32(const std::vector<uint8_t> &data) {
|
||||||
|
uint32_t crc = ::crc32(0L, Z_NULL, 0);
|
||||||
|
return ::crc32(crc, data.data(), data.size());
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
std::shared_ptr<ExperimentFlags::Flags> ExperimentFlags::flags_;
|
std::shared_ptr<ExperimentFlags::Flags> ExperimentFlags::flags_;
|
||||||
|
|
||||||
|
// Initialize the static member
|
||||||
|
std::stack<ImGuiID> ImGuiIdIssuer::idStack;
|
||||||
|
|
||||||
|
uint32_t Get24LocalFromPC(uint8_t *data, int addr, bool pc) {
|
||||||
|
uint32_t ret =
|
||||||
|
(PcToSnes(addr) & 0xFF0000) | (data[addr + 1] << 8) | data[addr];
|
||||||
|
if (pc) {
|
||||||
|
return SnesToPc(ret);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
// hextodec has been imported from SNESDisasm to parse hex numbers
|
// hextodec has been imported from SNESDisasm to parse hex numbers
|
||||||
int HexToDec(char *input, int length) {
|
int HexToDec(char *input, int length) {
|
||||||
int result = 0;
|
int result = 0;
|
||||||
@@ -107,8 +124,7 @@ void stle16b(uint8_t *const p_arr, uint16_t const p_val) {
|
|||||||
stle0(p_arr, p_val);
|
stle0(p_arr, p_val);
|
||||||
stle1(p_arr, p_val);
|
stle1(p_arr, p_val);
|
||||||
}
|
}
|
||||||
// "Store little endian 16-bit value using a byte pointer, offset by an
|
|
||||||
// index before dereferencing"
|
|
||||||
void stle16b_i(uint8_t *const p_arr, size_t const p_index,
|
void stle16b_i(uint8_t *const p_arr, size_t const p_index,
|
||||||
uint16_t const p_val) {
|
uint16_t const p_val) {
|
||||||
stle16b(p_arr + (p_index * 2), p_val);
|
stle16b(p_arr + (p_index * 2), p_val);
|
||||||
@@ -134,7 +150,7 @@ uint32_t ldle2(uint8_t const *const p_arr) { return ldle(p_arr, 2); }
|
|||||||
|
|
||||||
// Helper function to get the third byte in a little endian number
|
// Helper function to get the third byte in a little endian number
|
||||||
uint32_t ldle3(uint8_t const *const p_arr) { return ldle(p_arr, 3); }
|
uint32_t ldle3(uint8_t const *const p_arr) { return ldle(p_arr, 3); }
|
||||||
// Load little endian halfword (16-bit) dereferenced from
|
|
||||||
uint16_t ldle16b(uint8_t const *const p_arr) {
|
uint16_t ldle16b(uint8_t const *const p_arr) {
|
||||||
uint16_t v = 0;
|
uint16_t v = 0;
|
||||||
|
|
||||||
@@ -142,30 +158,11 @@ uint16_t ldle16b(uint8_t const *const p_arr) {
|
|||||||
|
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
// Load little endian halfword (16-bit) dereferenced from an arrays of bytes.
|
|
||||||
// This version provides an index that will be multiplied by 2 and added to the
|
|
||||||
// base address.
|
|
||||||
uint16_t ldle16b_i(uint8_t const *const p_arr, size_t const p_index) {
|
uint16_t ldle16b_i(uint8_t const *const p_arr, size_t const p_index) {
|
||||||
return ldle16b(p_arr + (2 * p_index));
|
return ldle16b(p_arr + (2 * p_index));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize the static member
|
|
||||||
std::stack<ImGuiID> ImGuiIdIssuer::idStack;
|
|
||||||
|
|
||||||
uint32_t Get24LocalFromPC(uint8_t *data, int addr, bool pc) {
|
|
||||||
uint32_t ret =
|
|
||||||
(PcToSnes(addr) & 0xFF0000) | (data[addr + 1] << 8) | data[addr];
|
|
||||||
if (pc) {
|
|
||||||
return SnesToPc(ret);
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t crc32(const std::vector<uint8_t> &data) {
|
|
||||||
uint32_t crc = ::crc32(0L, Z_NULL, 0);
|
|
||||||
return ::crc32(crc, data.data(), data.size());
|
|
||||||
}
|
|
||||||
|
|
||||||
void CreateBpsPatch(const std::vector<uint8_t> &source,
|
void CreateBpsPatch(const std::vector<uint8_t> &source,
|
||||||
const std::vector<uint8_t> &target,
|
const std::vector<uint8_t> &target,
|
||||||
std::vector<uint8_t> &patch) {
|
std::vector<uint8_t> &patch) {
|
||||||
|
|||||||
@@ -227,12 +227,21 @@ inline uint32_t MapBankToWordAddress(uint8_t bank, uint16_t addr) noexcept {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t Get24LocalFromPC(uint8_t *data, int addr, bool pc = true);
|
||||||
|
|
||||||
int HexToDec(char *input, int length);
|
int HexToDec(char *input, int length);
|
||||||
|
|
||||||
|
// "Store little endian 16-bit value using a byte pointer, offset by an
|
||||||
|
// index before dereferencing"
|
||||||
void stle16b_i(uint8_t *const p_arr, size_t const p_index,
|
void stle16b_i(uint8_t *const p_arr, size_t const p_index,
|
||||||
uint16_t const p_val);
|
uint16_t const p_val);
|
||||||
|
|
||||||
|
// Load little endian halfword (16-bit) dereferenced from an arrays of bytes.
|
||||||
|
// This version provides an index that will be multiplied by 2 and added to the
|
||||||
|
// base address.
|
||||||
uint16_t ldle16b_i(uint8_t const *const p_arr, size_t const p_index);
|
uint16_t ldle16b_i(uint8_t const *const p_arr, size_t const p_index);
|
||||||
|
|
||||||
|
// Load little endian halfword (16-bit) dereferenced from
|
||||||
uint16_t ldle16b(uint8_t const *const p_arr);
|
uint16_t ldle16b(uint8_t const *const p_arr);
|
||||||
|
|
||||||
void stle16b(uint8_t *const p_arr, uint16_t const p_val);
|
void stle16b(uint8_t *const p_arr, uint16_t const p_val);
|
||||||
@@ -245,10 +254,6 @@ struct FolderItem {
|
|||||||
|
|
||||||
typedef struct FolderItem FolderItem;
|
typedef struct FolderItem FolderItem;
|
||||||
|
|
||||||
uint32_t Get24LocalFromPC(uint8_t *data, int addr, bool pc = true);
|
|
||||||
|
|
||||||
uint32_t crc32(const std::vector<uint8_t> &data);
|
|
||||||
|
|
||||||
void CreateBpsPatch(const std::vector<uint8_t> &source,
|
void CreateBpsPatch(const std::vector<uint8_t> &source,
|
||||||
const std::vector<uint8_t> &target,
|
const std::vector<uint8_t> &target,
|
||||||
std::vector<uint8_t> &patch);
|
std::vector<uint8_t> &patch);
|
||||||
|
|||||||
Reference in New Issue
Block a user