2026-01-11 16:08:46 -05:00
|
|
|
type sndcurve ui("Sound Curve")
|
2026-01-07 16:36:40 -05:00
|
|
|
{
|
2026-01-11 12:09:57 -05:00
|
|
|
const PTR_INLINE = -1;
|
2026-01-07 16:36:40 -05:00
|
|
|
|
2026-01-11 16:08:46 -05:00
|
|
|
i32 name_ptr ui("Name Ptr");
|
|
|
|
|
u16 knot_count ui("Knot Count");
|
2026-01-11 12:09:57 -05:00
|
|
|
|
|
|
|
|
skip 2;
|
|
|
|
|
|
2026-01-11 16:08:46 -05:00
|
|
|
i32 knots_ptr ui("Knots Ptr");
|
2026-01-11 12:09:57 -05:00
|
|
|
|
|
|
|
|
// Inline data
|
2026-01-11 16:08:46 -05:00
|
|
|
if (name_ptr == PTR_INLINE) {
|
|
|
|
|
name = cstring() ui("Name");
|
|
|
|
|
set_name(name);
|
|
|
|
|
}
|
2026-01-07 16:36:40 -05:00
|
|
|
|
|
|
|
|
// Parse inline knots (each knot is 2 floats = 8 bytes)
|
2026-01-11 12:09:57 -05:00
|
|
|
if (knots_ptr == PTR_INLINE && knot_count > 0) {
|
2026-01-11 16:08:46 -05:00
|
|
|
knots = read(knot_count * 8) ui("Knots");
|
2026-01-07 16:36:40 -05:00
|
|
|
}
|
|
|
|
|
}
|