* feat: templated vehicle loading and dumping for IW4 and IW5
* chore: restructure vehicle tests into separate files
---------
Co-authored-by: Jan Laupetin <[email protected]>
* feat: font loading and dumping
* chore: make font properties unsigned if possible
* chore: use merge_patch to dump json font
* chore: font material is required
* chore: move static methods from font loader and dumper to anonymous namespace
* chore: make sure loaded fonts have their glyphs sorted
* chore: add macros for json NLOHMANN_TO_JSON_METHOD and NLOHMANN_FROM_JSON_METHOD
* feat: encode printable letters as string in json
Co-authored-by: hindercanrun <[email protected]>
* chore: omit redundant glyph count from jsons
---------
Co-authored-by: Jan Laupetin <[email protected]>
Co-authored-by: hindercanrun <[email protected]>
Co-authored-by: MrIkso <[email protected]>
* refactor: use generic loader for iw3 xanims
* refactor: use generic dumper for iw3 xanims
* chore: use templating on XAnimDumper
* chore: use templating on XAnimLoader
* feat: dump xanims for T5
* feat: load binary t5 xanims
* feat: load and dump t6 xanims
* feat: load and dump iw4,iw5 xanims
* chore: make sure iw3 and t5 notify about unsupported delta3D
* chore: also use CommonVec3U8 and CommonVec3U16 for non delta trans track