Figure out how data/ files work for materials #197

Open
opened 2024-09-19 10:39:27 +02:00 by lucas · 1 comment
Owner

Some, maybe all material files point to data/ files with no content in the bundle. Properly extract those by reading the data file, and have the bundle list command properly show the data size.

Some, maybe all material files point to `data/` files with no content in the bundle. Properly extract those by reading the data file, and have the `bundle list` command properly show the data size.
lucas added the
crate/sdk
part/filetype
kind
enhancement
crate/dtmt
status/good first issue
labels 2024-09-19 10:39:27 +02:00
Author
Owner

Current investigation:

Across all files in the game:

  • if properties::DATA is set, then is_data_file == 1
  • if is_data_file == 1, then size == 30 / 0 (i.e. size == 30, len_data_file_name == 0)
  • if len_data_file_name == 31, then properties::DATA is not set
  • len_data_file_name is always either 0 or 31

So there seem to be three distinct cases:

  • is_data_file == 1 -> full content in data/ file
  • is_data_file == 0 && len_data_file_name == 0 -> full content in bundle file
  • len_data_file_name == 31 -> content is split across bundle and data/
Current investigation: Across all files in the game: - if `properties::DATA` is set, then `is_data_file == 1` - if `is_data_file == 1`, then `size == 30 / 0` (i.e. `size == 30`, `len_data_file_name == 0`) - if `len_data_file_name == 31`, then `properties::DATA` is not set - `len_data_file_name` is always either `0` or `31` So there seem to be three distinct cases: - `is_data_file == 1` -> full content in `data/` file - `is_data_file == 0 && len_data_file_name == 0` -> full content in bundle file - `len_data_file_name == 31` -> content is split across bundle and `data/`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: bitsquid_dt/dtmt#197
No description provided.