Skip to content

Commit

Permalink
voxseparate: fix uninitialized members causing segfaults
Browse files Browse the repository at this point in the history
- also we now use ogt_vox_transform_get_identity() instead of explicitly defining it.
  • Loading branch information
jpaver committed Jul 25, 2023
1 parent 343f48e commit 8b46b0e
Showing 1 changed file with 7 additions and 13 deletions.
20 changes: 7 additions & 13 deletions apps/voxseparate.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -110,21 +110,15 @@ int32_t main(int32_t argc, char** argv) {
return 3;
}

ogt_vox_transform identity_transform;
identity_transform.m00 = 1.0f; identity_transform.m01 = 0.0f; identity_transform.m02 = 0.0f; identity_transform.m03 = 0.0f;
identity_transform.m10 = 0.0f; identity_transform.m11 = 1.0f; identity_transform.m12 = 0.0f; identity_transform.m13 = 0.0f;
identity_transform.m20 = 0.0f; identity_transform.m21 = 0.0f; identity_transform.m22 = 1.0f; identity_transform.m23 = 0.0f;
identity_transform.m30 = 0.0f; identity_transform.m31 = 0.0f; identity_transform.m32 = 0.0f; identity_transform.m33 = 1.0f;

ogt_vox_layer default_layer;
ogt_vox_layer default_layer = {};
default_layer.hidden = false;
default_layer.name = "default";

ogt_vox_group default_group;
ogt_vox_group default_group = {};
default_group.hidden = false;
default_group.layer_index = 0;
default_group.parent_group_index = k_invalid_group_index;
default_group.transform = identity_transform;
default_group.transform = ogt_vox_transform_get_identity();

// process all input files specified
for (int32_t input_index = 1; input_index < argc; input_index++) {
Expand Down Expand Up @@ -161,23 +155,23 @@ int32_t main(int32_t argc, char** argv) {
}

// if there is no model name, we either skip the export of this model (if --named-models-only was specified ) or give it an autogenerated name
char tmp_model_name[64];
char tmp_model_name[64] = {};
if (!model_name) {
// otherwise, autogenerate a name for the model based on its index in the vox file.
model_name = tmp_model_name;
sprintf_s(tmp_model_name, "model%i", model_index);
}

// construct the scene with a single instance referencing this model
ogt_vox_instance instance;
ogt_vox_instance instance = {};
instance.group_index = 0; // default_group
instance.hidden = false;
instance.layer_index = 0; // default_layer
instance.model_index = 0;
instance.name = NULL;
instance.transform = identity_transform;
instance.transform = ogt_vox_transform_get_identity();

ogt_vox_scene output_scene;
ogt_vox_scene output_scene = {};
output_scene.groups = &default_group;
output_scene.num_groups = 1;
output_scene.instances = &instance;
Expand Down

0 comments on commit 8b46b0e

Please sign in to comment.