This commit is contained in:
korenkonder
2024-02-01 03:52:24 +03:00
parent 7886123e65
commit 0dc7669ad8
7 changed files with 69 additions and 65 deletions
+8 -8
View File
@@ -16,9 +16,9 @@ static void sprite_database_file_classic_read_inner(sprite_database_file* spr_db
static void sprite_database_file_classic_write_inner(sprite_database_file* spr_db, stream& s);
static void sprite_database_file_modern_read_inner(sprite_database_file* spr_db, stream& s, uint32_t header_length);
static void sprite_database_file_modern_write_inner(sprite_database_file* spr_db, stream& s);
static int64_t sprite_database_file_strings_get_string_offset(std::vector<string_hash>& vec,
std::vector<int64_t>& vec_off, std::string& str);
static bool sprite_database_file_strings_push_back_check(std::vector<string_hash>& vec, std::string& str);
static int64_t sprite_database_file_strings_get_string_offset(const std::vector<string_hash>& vec,
const std::vector<int64_t>& vec_off, const std::string& str);
static bool sprite_database_file_strings_push_back_check(std::vector<string_hash>& vec, const std::string& str);
const spr_db_spr_set spr_db_spr_set_null;
const spr_db_spr spr_db_spr_null;
@@ -943,20 +943,20 @@ static void sprite_database_file_modern_write_inner(sprite_database_file* spr_db
st.write(s, true, spr_db->is_x);
}
inline static int64_t sprite_database_file_strings_get_string_offset(std::vector<string_hash>& vec,
std::vector<int64_t>& vec_off, std::string& str) {
inline static int64_t sprite_database_file_strings_get_string_offset(const std::vector<string_hash>& vec,
const std::vector<int64_t>& vec_off, const std::string& str) {
uint64_t hash_fnv1a64m = hash_string_fnv1a64m(str);
uint64_t hash_murmurhash = hash_string_murmurhash(str);
for (string_hash& i : vec)
for (const string_hash& i : vec)
if (hash_fnv1a64m == i.hash_fnv1a64m && hash_murmurhash == i.hash_murmurhash)
return vec_off[&i - vec.data()];
return 0;
}
inline static bool sprite_database_file_strings_push_back_check(std::vector<string_hash>& vec, std::string& str) {
inline static bool sprite_database_file_strings_push_back_check(std::vector<string_hash>& vec, const std::string& str) {
uint64_t hash_fnv1a64m = hash_string_fnv1a64m(str);
uint64_t hash_murmurhash = hash_string_murmurhash(str);
for (string_hash& i : vec)
for (const string_hash& i : vec)
if (hash_fnv1a64m == i.hash_fnv1a64m && hash_murmurhash == i.hash_murmurhash)
return false;