MCPcopy Create free account
hub / github.com/crownengine/crown / write

Function write

src/resource/mesh_animation_resource.cpp:27–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25namespace mesh_animation_resource_internal
26{
27 static s32 write(MeshAnimation &ma, CompileOptions &opts)
28 {
29 MeshAnimationResource mar;
30 mar.version = RESOURCE_VERSION_MESH_ANIMATION;
31 mar.num_tracks = hash_map::size(ma.track_ids);
32 mar.total_time = ma.total_time;
33 mar.num_keys = array::size(ma.sorted_keys);
34 mar.keys_offset = sizeof(mar);
35 mar._pad0 = 0u;
36 mar.target_skeleton = ma.target_skeleton;
37 mar.num_bones = array::size(ma.bone_ids);
38 mar.bone_ids_offset = mar.keys_offset + mar.num_keys * sizeof(AnimationKey);
39
40 opts.write(mar.version);
41 opts.write(mar.num_tracks);
42 opts.write(mar.total_time);
43 opts.write(mar.num_keys);
44 opts.write(mar.keys_offset);
45 opts.write(mar._pad0);
46 opts.write(mar.target_skeleton);
47 opts.write(mar.num_bones);
48 opts.write(mar.bone_ids_offset);
49
50 for (u32 i = 0; i < array::size(ma.sorted_keys); ++i)
51 opts.write(ma.sorted_keys[i]);
52
53 for (u32 i = 0; i < array::size(ma.bone_ids); ++i)
54 opts.write(ma.bone_ids[i]);
55
56 return 0;
57 }
58
59 s32 compile(CompileOptions &opts)
60 {

Callers 1

compileFunction · 0.70

Calls 2

sizeFunction · 0.50
writeMethod · 0.45

Tested by

no test coverage detected