| 244 | } |
| 245 | |
| 246 | static s32 parse_nodes(Mesh &m, const ufbx_node_list *nodes, CompileOptions &opts) |
| 247 | { |
| 248 | for (size_t i = 0; i < nodes->count; ++i) { |
| 249 | const ufbx_node *node = nodes->data[i]; |
| 250 | |
| 251 | Node new_node(default_allocator()); |
| 252 | |
| 253 | DynamicString node_name(default_allocator()); |
| 254 | node_name.set(node->name.data, (u32)node->name.length); |
| 255 | |
| 256 | s32 err = parse_node(new_node, node); |
| 257 | ENSURE_OR_RETURN(OBJ_RESOURCE, err == 0, opts); |
| 258 | |
| 259 | hash_map::set(m._nodes, node_name, new_node); |
| 260 | } |
| 261 | |
| 262 | return 0; |
| 263 | } |
| 264 | |
| 265 | static s32 parse_internal(Mesh &m, Buffer &buf, CompileOptions &opts, const char *filename) |
| 266 | { |
no test coverage detected