feat: T5 weapon dumping & loading (#792)

* Update docs.

* Add weapon constants.

* Register asset dumper.

* Add fields and strings for weapon parsing.

* Add gdt and raw weapon loader.

* Add weapon dumper.

* Clang format.

* Update T5 strings.

* Fix forgotten rename.

* Clang format.

* fix: add missing t5 weapon fields

* chore: properly sort,format and check size of t5 weapon enum strings

* chore: remove unused functions

* chore: add t5 weapon checks and defaults

* format enum strings

* chore: make FlameTable struct use pascal case name

* feat: dump and load flametable

* fix: make loaded weapons match vanilla data

---------

Co-authored-by: njohnson <gitea.nicholasjohnson.info>
Co-authored-by: Jan Laupetin <[email protected]>
This commit is contained in:
Paging Red
2026-06-20 13:03:36 +02:00
committed by GitHub
co-authored by njohnson <gitea.nicholasjohnson.info> Jan Laupetin
parent e5683c3bbd
commit 5b11848f4d
30 changed files with 2382 additions and 39 deletions
+12
View File
@@ -91,12 +91,24 @@ namespace utils
}
}
void MakeStringLowerCase(char* str)
{
for (auto* c = str; *c; c++)
*c = static_cast<char>(tolower(static_cast<unsigned char>(*c)));
}
void MakeStringLowerCase(std::string& str)
{
for (auto& c : str)
c = static_cast<char>(tolower(static_cast<unsigned char>(c)));
}
void MakeStringUpperCase(char* str)
{
for (auto* c = str; *c; c++)
*c = static_cast<char>(toupper(static_cast<unsigned char>(*c)));
}
void MakeStringUpperCase(std::string& str)
{
for (auto& c : str)
+2
View File
@@ -13,7 +13,9 @@ namespace utils
std::string UnescapeStringFromQuotationMarks(const std::string_view& str);
void UnescapeStringFromQuotationMarks(std::ostream& stream, const std::string_view& str);
void MakeStringLowerCase(char* str);
void MakeStringLowerCase(std::string& str);
void MakeStringUpperCase(char* str);
void MakeStringUpperCase(std::string& str);
void StringTrimL(std::string& str);