mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
The string-column auto-detector in both tools had two gaps that caused small integer fields (RaceID=1, SexID=0/1, BaseSection, ColorIndex) to be falsely classified as string columns, corrupting the generated CSVs: 1. No boundary check: a value of N was accepted as a valid string offset even when N landed inside a longer string (e.g. offset 3 inside "Character\..."). Fix: precompute valid string-start boundaries (offset 0 plus every position immediately after a null byte); reject offsets that are not boundaries. 2. No diversity check: a column whose only non-zero value is 1 would pass the boundary test because offset 1 is always a valid boundary (it follows the mandatory null at offset 0). Fix: require at least 2 distinct non-empty string values before marking a column as a string column. Columns like SexID (all values are 0 or 1, resolving to "" and the same path fragment) are integer fields, not string fields. Both dbc_to_csv and asset_extract now produce correct column metadata, e.g. CharSections.dbc yields "strings=6,7,8" instead of "strings=0,1,...,9". |
||
|---|---|---|
| .. | ||
| asset_extract | ||
| auth_login_probe | ||
| auth_probe | ||
| blp_convert | ||
| dbc_to_csv | ||
| asset_pipeline_gui.py | ||
| backup_assets.sh | ||
| gen_opcode_registry.py | ||
| generate_ffx_sdk_vk_permutations.sh | ||
| m2_viewer.py | ||
| validate_opcode_maps.py | ||