28 1.0f, 0.0f, 0.0f, 0.0f,
29 0.0f, 1.0f, 0.0f, 0.0f,
30 0.0f, 0.0f, 1.0f, 0.0f,
31 0.0f, 0.0f, 0.0f, 1.0f,
128 float sin_theta, cos_theta, vers_theta;
131 sin_theta =
sinf(theta);
132 cos_theta =
cosf(theta);
133 vers_theta = 1.0f - cos_theta;
135 matrix->_11 = vers_theta * axis->u1.
x * axis->u1.
x + cos_theta;
136 matrix->_21 = vers_theta * axis->u1.
x * axis->u2.
y - sin_theta * axis->u3.
z;
137 matrix->_31 = vers_theta * axis->u1.
x * axis->u3.
z + sin_theta * axis->u2.
y;
140 matrix->_12 = vers_theta * axis->u2.
y * axis->u1.
x + sin_theta * axis->u3.
z;
141 matrix->_22 = vers_theta * axis->u2.
y * axis->u2.
y + cos_theta;
142 matrix->_32 = vers_theta * axis->u2.
y * axis->u3.
z - sin_theta * axis->u1.
x;
145 matrix->_13 = vers_theta * axis->u3.
z * axis->u1.
x - sin_theta * axis->u2.
y;
146 matrix->_23 = vers_theta * axis->u3.
z * axis->u2.
y + sin_theta * axis->u1.
x;
147 matrix->_33 = vers_theta * axis->u3.
z * axis->u3.
z + cos_theta;
160 tmp.u1.
x =
v->u1.x *
m->_11 +
v->u2.y *
m->_21 +
v->u3.z *
m->_31 +
m->_41;
161 tmp.u2.
y =
v->u1.x *
m->_12 +
v->u2.y *
m->_22 +
v->u3.z *
m->_32 +
m->_42;
162 tmp.u3.
z =
v->u1.x *
m->_13 +
v->u2.y *
m->_23 +
v->u3.z *
m->_33 +
m->_43;
190 TRACE(
"%p increasing refcount to %u.\n", iface, refcount);
201 TRACE(
"%p decreasing refcount to %u.\n", iface, refcount);
220 TRACE(
"iface %p.\n", iface);
230 TRACE(
"iface %p, index %u, frame %p.\n", iface,
index, frame);
261 if (!(
array = heap_alloc_zero(
sizeof(*
array))))
266 array->size = frame_count;
276 for (
i = 0;
i < frame_count; ++
i)
308 TRACE(
"%p increasing refcount to %u.\n", iface, refcount);
319 TRACE(
"%p decreasing refcount to %u.\n", iface, refcount);
338 TRACE(
"iface %p.\n", iface);
348 TRACE(
"iface %p, index %u, visual %p.\n", iface,
index, visual);
379 if (!(
array = heap_alloc_zero(
sizeof(*
array))))
384 array->size = visual_count;
394 for (
i = 0;
i < visual_count; ++
i)
427 TRACE(
"%p increasing refcount to %u.\n", iface, refcount);
438 TRACE(
"%p decreasing refcount to %u.\n", iface, refcount);
457 TRACE(
"iface %p.\n", iface);
498 if (!(
array = heap_alloc_zero(
sizeof(*
array))))
503 array->size = light_count;
513 for (
i = 0;
i < light_count; ++
i)
578 TRACE(
"%p increasing refcount to %u.\n", iface, refcount);
587 TRACE(
"iface %p.\n", iface);
596 TRACE(
"iface %p.\n", iface);
607 TRACE(
"%p decreasing refcount to %u.\n", iface, refcount);
638 TRACE(
"iface %p.\n", iface);
647 TRACE(
"iface %p.\n", iface);
681 TRACE(
"iface %p, cb %p, ctx %p.\n", iface,
cb,
ctx);
691 TRACE(
"iface %p, cb %p, ctx %p.\n", iface,
cb,
ctx);
701 TRACE(
"iface %p, cb %p, ctx %p.\n", iface,
cb,
ctx);
711 TRACE(
"iface %p, cb %p, ctx %p.\n", iface,
cb,
ctx);
721 TRACE(
"iface %p, cb %p, ctx %p.\n", iface,
cb,
ctx);
731 TRACE(
"iface %p, cb %p, ctx %p.\n", iface,
cb,
ctx);
740 TRACE(
"iface %p, data %#x.\n", iface,
data);
751 TRACE(
"iface %p, data %#x.\n", iface,
data);
760 TRACE(
"iface %p, data %#x.\n", iface,
data);
769 TRACE(
"iface %p.\n", iface);
771 return frame->
obj.appdata;
778 TRACE(
"iface %p.\n", iface);
787 TRACE(
"iface %p.\n", iface);
885 IDirect3DRMFrame3*
parent = &child_obj->
parent->IDirect3DRMFrame3_iface;
905 child_obj->
parent = frame;
913 IDirect3DRMFrame3 *child3;
987 FIXME(
"iface %p, cb %p, ctx %p flags %#x stub!\n", iface,
cb,
ctx,
flags);
995 FIXME(
"iface %p, cb %p, ctx %p stub!\n", iface,
cb,
ctx);
1003 FIXME(
"iface %p, cb %p, ctx %p stub!\n", iface,
cb,
ctx);
1016 if (
m->_14 != 0.0f ||
m->_24 != 0.0f ||
m->_34 != 0.0f ||
m->_44 != 1.0f)
1066 TRACE(
"iface %p, type %#x, x %.8e, y %.8e, z %.8e.\n", iface,
type,
x,
y,
z);
1102 TRACE(
"iface %p, type %#x, x %.8e, y %.8e, z %.8e.\n", iface,
type,
x,
y,
z);
1112 TRACE(
"iface %p, type %#x, x %.8e, y %.8e, z %.8e.\n", iface,
type,
x,
y,
z);
1122 TRACE(
"iface %p, type %#x, sx %.8e, sy %.8e, sz %.8e.\n", iface,
type, sx, sy, sz);
1173 TRACE(
"iface %p, type %#x, sx %.8e, sy %.8e, sz %.8e.\n", iface,
type, sx, sy, sz);
1183 TRACE(
"iface %p, type %#x, sx %.8e, sy %.8e, sz %.8e.\n", iface,
type, sx, sy, sz);
1195 TRACE(
"iface %p, type %#x, x %.8e, y %.8e, z %.8e, theta %.8e.\n", iface,
type,
x,
y,
z, theta);
1230 TRACE(
"iface %p, type %#x, x %.8e, y %.8e, z %.8e, theta %.8e.\n", iface,
type,
x,
y,
z, theta);
1240 TRACE(
"iface %p, type %#x, x %.8e, y %.8e, z %.8e, theta %.8e.\n", iface,
type,
x,
y,
z, theta);
1250 TRACE(
"iface %p, visual %p.\n", iface, visual);
1257 if (frame->
visuals[
i] == (IDirect3DRMVisual *)visual)
1274 TRACE(
"iface %p, visual %p.\n", iface, visual);
1283 TRACE(
"iface %p, visual %p.\n", iface, visual);
1293 TRACE(
"iface %p, children %p.\n", iface, children);
1301 *children = &
array->IDirect3DRMFrameArray_iface;
1326 FIXME(
"iface %p stub!\n", iface);
1333 FIXME(
"iface %p stub!\n", iface);
1340 FIXME(
"iface %p stub!\n", iface);
1383 FIXME(
"iface %p stub!\n", iface);
1390 FIXME(
"iface %p stub!\n", iface);
1397 FIXME(
"iface %p stub!\n", iface);
1458 FIXME(
"iface %p, reference %p, position %p stub!\n", iface,
reference, position);
1466 FIXME(
"iface %p, reference %p, position %p stub!\n", iface,
reference, position);
1474 FIXME(
"iface %p, reference %p, position %p stub!\n", iface,
reference, position);
1483 FIXME(
"iface %p, reference %p, axis %p, theta %p stub!\n", iface,
reference, axis, theta);
1491 FIXME(
"iface %p, reference %p, axis %p, theta %p stub!\n", iface,
reference, axis, theta);
1499 FIXME(
"iface %p, reference %p, axis %p, theta %p stub!\n", iface,
reference, axis, theta);
1508 TRACE(
"iface %p, scene %p.\n", iface, scene);
1525 IDirect3DRMFrame3 *frame3;
1528 TRACE(
"iface %p, scene %p.\n", iface, scene);
1550 TRACE(
"iface %p, scene %p.\n", iface, scene);
1557 FIXME(
"iface %p stub!\n", iface);
1564 FIXME(
"iface %p stub!\n", iface);
1571 FIXME(
"iface %p stub!\n", iface);
1637 FIXME(
"iface %p, reference %p, velocity %p, with_rotation %#x stub!\n",
1638 iface,
reference, velocity, with_rotation);
1646 FIXME(
"iface %p, reference %p, velocity %p, with_rotation %#x stub!\n",
1647 iface,
reference, velocity, with_rotation);
1655 FIXME(
"iface %p, reference %p, velocity %p, with_rotation %#x stub!\n",
1656 iface,
reference, velocity, with_rotation);
1721 FIXME(
"iface %p, wrap_u %p, wrap_v %p stub!\n", iface, wrap_u, wrap_v);
1728 FIXME(
"iface %p, wrap_u %p, wrap_v %p stub!\n", iface, wrap_u, wrap_v);
1735 FIXME(
"iface %p, d %p, s %p stub!\n", iface,
d,
s);
1742 FIXME(
"iface %p, d %p, s %p stub!\n", iface,
d,
s);
1749 FIXME(
"iface %p, d %p, s %p stub!\n", iface,
d,
s);
1757 FIXME(
"iface %p, filename %p, name %p, flags %#x, cb %p, ctx %p stub!\n",
1766 FIXME(
"iface %p, filename %p, name %p, flags %#x, cb %p, ctx %p stub!\n",
1775 FIXME(
"iface %p, filename %p, name %p, flags %#x, cb %p, ctx %p stub!\n",
1784 FIXME(
"iface %p, target %p, reference %p, constraint %#x stub!\n", iface,
target,
reference, constraint);
1792 FIXME(
"iface %p, target %p, reference %p, constraint %#x stub!\n", iface,
target,
reference, constraint);
1800 FIXME(
"iface %p, target %p, reference %p, constraint %#x stub!\n", iface,
target,
reference, constraint);
1807 FIXME(
"iface %p, delta %.8e stub!\n", iface, delta);
1814 FIXME(
"iface %p, delta %.8e stub!\n", iface, delta);
1821 FIXME(
"iface %p, delta %.8e stub!\n", iface, delta);
1832 TRACE(
"iface %p, child %p.\n", iface,
child);
1858 IDirect3DRMFrame3 *child3;
1861 TRACE(
"iface %p, child %p.\n", iface,
child);
1877 TRACE(
"iface %p, child %p.\n", iface,
child);
1890 TRACE(
"iface %p, light %p.\n", iface,
light);
1916 TRACE(
"iface %p, light %p.\n", iface,
light);
1925 TRACE(
"iface %p, light %p.\n", iface,
light);
1933 FIXME(
"iface %p, cb %p, ctx %p stub!\n", iface,
cb,
ctx);
1941 FIXME(
"iface %p, cb %p, ctx %p stub!\n", iface,
cb,
ctx);
1949 FIXME(
"iface %p, cb %p, ctx %p stub!\n", iface,
cb,
ctx);
1959 TRACE(
"iface %p, visual %p.\n", iface, visual);
1967 if (frame->
visuals[
i] == (IDirect3DRMVisual *)visual)
1985 TRACE(
"iface %p, visual %p.\n", iface, visual);
1994 TRACE(
"iface %p, visual %p.\n", iface, visual);
2003 TRACE(
"iface %p.\n", iface);
2012 TRACE(
"iface %p.\n", iface);
2021 TRACE(
"iface %p.\n", iface);
2027 IDirectDrawSurface **surface)
2029 FIXME(
"iface %p, surface %p stub!\n", iface, surface);
2035 IDirectDrawSurface **surface)
2037 FIXME(
"iface %p, surface %p stub!\n", iface, surface);
2043 IDirectDrawSurface **surface)
2045 FIXME(
"iface %p, surface %p stub!\n", iface, surface);
2052 FIXME(
"iface %p stub!\n", iface);
2059 FIXME(
"iface %p stub!\n", iface);
2066 FIXME(
"iface %p stub!\n", iface);
2073 FIXME(
"iface %p stub!\n", iface);
2080 FIXME(
"iface %p stub!\n", iface);
2087 FIXME(
"iface %p stub!\n", iface);
2094 FIXME(
"iface %p stub!\n", iface);
2101 FIXME(
"iface %p stub!\n", iface);
2108 FIXME(
"iface %p stub!\n", iface);
2116 FIXME(
"iface %p, start %p, end %p, density %p stub!\n", iface,
start,
end, density);
2124 FIXME(
"iface %p, start %p, end %p, density %p stub!\n", iface,
start,
end, density);
2132 FIXME(
"iface %p, start %p, end %p, density %p stub!\n", iface,
start,
end, density);
2141 TRACE(
"iface %p, color 0x%08x.\n", iface,
color);
2152 TRACE(
"iface %p, color 0x%08x.\n", iface,
color);
2161 TRACE(
"iface %p, color 0x%08x.\n", iface,
color);
2199 IDirectDrawSurface *surface)
2201 FIXME(
"iface %p, surface %p stub!\n", iface, surface);
2207 IDirectDrawSurface *surface)
2209 FIXME(
"iface %p, surface %p stub!\n", iface, surface);
2215 IDirectDrawSurface *surface)
2217 FIXME(
"iface %p, surface %p stub!\n", iface, surface);
2248 FIXME(
"iface %p, enable %#x stub!\n", iface,
enable);
2255 FIXME(
"iface %p, enable %#x stub!\n", iface,
enable);
2262 FIXME(
"iface %p, enable %#x stub!\n", iface,
enable);
2269 FIXME(
"iface %p, color 0x%08x stub!\n", iface,
color);
2276 FIXME(
"iface %p, color 0x%08x stub!\n", iface,
color);
2283 FIXME(
"iface %p, color 0x%08x stub!\n", iface,
color);
2290 FIXME(
"iface %p, mode %#x stub!\n", iface,
mode);
2297 FIXME(
"iface %p, mode %#x stub!\n", iface,
mode);
2304 FIXME(
"iface %p, mode %#x stub!\n", iface,
mode);
2312 FIXME(
"iface %p, start %.8e, end %.8e, density %.8e stub!\n", iface,
start,
end, density);
2320 FIXME(
"iface %p, start %.8e, end %.8e, density %.8e stub!\n", iface,
start,
end, density);
2328 FIXME(
"iface %p, start %.8e, end %.8e, density %.8e stub!\n", iface,
start,
end, density);
2335 FIXME(
"iface %p, color 0x%08x stub!\n", iface,
color);
2342 FIXME(
"iface %p, color 0x%08x stub!\n", iface,
color);
2349 FIXME(
"iface %p, color 0x%08x stub!\n", iface,
color);
2357 FIXME(
"iface %p, red %.8e, green %.8e, blue %.8e stub!\n", iface,
red,
green,
blue);
2365 FIXME(
"iface %p, red %.8e, green %.8e, blue %.8e stub!\n", iface,
red,
green,
blue);
2373 FIXME(
"iface %p, red %.8e, green %.8e, blue %.8e stub!\n", iface,
red,
green,
blue);
2380 FIXME(
"iface %p stub!\n", iface);
2387 FIXME(
"iface %p stub!\n", iface);
2394 FIXME(
"iface %p stub!\n", iface);
2401 FIXME(
"iface %p, mode %#x stub!\n", iface,
mode);
2408 FIXME(
"iface %p, mode %#x stub!\n", iface,
mode);
2415 FIXME(
"iface %p, mode %#x stub!\n", iface,
mode);
2423 FIXME(
"iface %p, reference %p, dx %.8e, dy %.8e, dz %.8e, ux %.8e, uy %.8e, uz %.8e stub!\n",
2432 FIXME(
"iface %p, reference %p, dx %.8e, dy %.8e, dz %.8e, ux %.8e, uy %.8e, uz %.8e stub!\n",
2441 FIXME(
"iface %p, reference %p, dx %.8e, dy %.8e, dz %.8e, ux %.8e, uy %.8e, uz %.8e stub!\n",
2450 FIXME(
"iface %p, reference %p, x %.8e, y %.8e, z %.8e stub!\n", iface,
reference,
x,
y,
z);
2458 FIXME(
"iface %p, reference %p, x %.8e, y %.8e, z %.8e stub!\n", iface,
reference,
x,
y,
z);
2466 FIXME(
"iface %p, reference %p, x %.8e, y %.8e, z %.8e stub!\n", iface,
reference,
x,
y,
z);
2474 FIXME(
"iface %p, reference %p, x %.8e, y %.8e, z %.8e, theta %.8e stub!\n",
2483 FIXME(
"iface %p, reference %p, x %.8e, y %.8e, z %.8e, theta %.8e stub!\n",
2492 FIXME(
"iface %p, reference %p, x %.8e, y %.8e, z %.8e, theta %.8e stub!\n",
2500 FIXME(
"iface %p, mode %#x stub!\n", iface,
mode);
2507 FIXME(
"iface %p, mode %#x stub!\n", iface,
mode);
2514 FIXME(
"iface %p, mode %#x stub!\n", iface,
mode);
2542 FIXME(
"iface %p, wrap_u %#x, wrap_v %#x stub!\n", iface, wrap_u, wrap_v);
2549 FIXME(
"iface %p, wrap_u %#x, wrap_v %#x stub!\n", iface, wrap_u, wrap_v);
2557 FIXME(
"iface %p, reference %p, x %.8e, y %.8e, z %.8e, with_rotation %#x.\n",
2566 FIXME(
"iface %p, reference %p, x %.8e, y %.8e, z %.8e, with_rotation %#x stub!\n",
2575 FIXME(
"iface %p, reference %p, x %.8e, y %.8e, z %.8e, with_rotation %#x stub!\n",
2583 FIXME(
"iface %p, mode %#x stub!\n", iface,
mode);
2590 FIXME(
"iface %p, mode %#x stub!\n", iface,
mode);
2597 FIXME(
"iface %p, mode %#x stub!\n", iface,
mode);
2606 TRACE(
"iface %p, d %p, s %p.\n", iface,
d,
s);
2609 while ((frame = frame->
parent))
2621 TRACE(
"iface %p, d %p, s %p.\n", iface,
d,
s);
2630 TRACE(
"iface %p, d %p, s %p.\n", iface,
d,
s);
2638 FIXME(
"iface %p, cb %p, ctx %p, flags %#x stub!\n", iface,
cb,
ctx,
flags);
2645 FIXME(
"iface %p, box %p stub!\n", iface,
box);
2652 FIXME(
"iface %p, box %p stub!\n", iface,
box);
2659 FIXME(
"iface %p stub!\n", iface);
2666 FIXME(
"iface %p stub!\n", iface);
2673 FIXME(
"iface %p, dir %p, up %p stub!\n", iface,
dir,
up);
2680 FIXME(
"iface %p, dir %p, up %p stub!\n", iface,
dir,
up);
2687 FIXME(
"iface %p, material %p stub!\n", iface, material);
2694 FIXME(
"iface %p, material %p stub!\n", iface, material);
2701 FIXME(
"iface %p stub!\n", iface);
2708 FIXME(
"iface %p stub!\n", iface);
2715 FIXME(
"iface %p, box %p stub!\n", iface,
box);
2722 FIXME(
"iface %p, box %p stub!\n", iface,
box);
2729 FIXME(
"iface %p, box %p stub!\n", iface,
box);
2736 FIXME(
"iface %p, enable %#x stub!\n", iface,
enable);
2744 FIXME(
"iface %p, dx %.8e, dy %.8e, dz %.8e, ux %.8e, uy %.8e, uz %.8e stub!\n",
2745 iface,
dx,
dy, dz, ux, uy, uz);
2752 FIXME(
"iface %p, inherit %#x stub!\n", iface, inherit);
2759 FIXME(
"iface %p, material %p stub!\n", iface, material);
2775 FIXME(
"iface %p, reference %p, ray %p, flags %#x, visuals %p stub!\n",
2784 FIXME(
"iface %p, filename %s, format %#x, flags %#x stub!\n",
2813 if (
options & ~supported_options)
2837 FIXME(
"iface %p, flags %#x stub!\n", iface,
flags);
2844 FIXME(
"iface %p, fog_mode %p stub!\n", iface, fog_mode);
2852 FIXME(
"iface %p, override %p stub!\n", iface,
override);
2860 FIXME(
"iface %p, override %p stub!\n", iface,
override);
3131 static const char classname[] =
"Frame";
3135 TRACE(
"frame %p, parent_frame %p, d3drm %p.\n", frame, parent_frame,
d3drm);
3137 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
3143 object->d3drm =
d3drm;
3154 IDirect3DRMFrame3 *
p;
3213 TRACE(
"%p increasing refcount to %u.\n", iface, refcount);
3229 TRACE(
"%p decreasing refcount to %u.\n", iface, refcount);
3270 TRACE(
"iface %p, cb %p, ctx %p.\n", iface,
cb,
ctx);
3280 TRACE(
"iface %p, cb %p, ctx %p.\n", iface,
cb,
ctx);
3290 TRACE(
"iface %p, cb %p, ctx %p.\n", iface,
cb,
ctx);
3300 TRACE(
"iface %p, cb %p, ctx %p.\n", iface,
cb,
ctx);
3309 TRACE(
"iface %p, data %#x.\n", iface,
data);
3311 animation->
obj.appdata =
data;
3320 TRACE(
"iface %p, data %#x.\n", iface,
data);
3329 TRACE(
"iface %p.\n", iface);
3331 return animation->
obj.appdata;
3338 TRACE(
"iface %p.\n", iface);
3405 if (!(
options & supported_options))
3476 if (!keys->
count || time < keys->keys[0].time)
3479 if (
time >= keys->keys[keys->count - 1].time)
3490 if (!keys->
count || time_max < keys->keys[0].time
3491 || time_min > keys->
keys[keys->
count - 1].time)
3507 TRACE(
"iface %p, key %p.\n", iface,
key);
3509 if (!
key ||
key->dwSize !=
sizeof(*
key))
3512 switch (
key->dwKeyType)
3535 switch (
key->dwKeyType)
3556 TRACE(
"iface %p, time %.8e, q %p.\n", iface,
time,
q);
3558 key.dwSize =
sizeof(
key);
3562 key.u.dqRotateKey = *
q;
3571 TRACE(
"iface %p, time %.8e, q %p.\n", iface,
time,
q);
3581 TRACE(
"iface %p, time %.8e, x %.8e, y %.8e, z %.8e.\n", iface,
time,
x,
y,
z);
3583 key.dwSize =
sizeof(
key);
3587 key.u.dvPositionKey.u1.x =
x;
3588 key.u.dvPositionKey.u2.y =
y;
3589 key.u.dvPositionKey.u3.z =
z;
3599 TRACE(
"iface %p, time %.8e, x %.8e, y %.8e, z %.8e.\n", iface,
time,
x,
y,
z);
3609 TRACE(
"iface %p, time %.8e, x %.8e, y %.8e, z %.8e.\n", iface,
time,
x,
y,
z);
3611 key.dwSize =
sizeof(
key);
3615 key.u.dvScaleKey.u1.x =
x;
3616 key.u.dvScaleKey.u2.y =
y;
3617 key.u.dvScaleKey.u3.z =
z;
3627 TRACE(
"iface %p, time %.8e, x %.8e, y %.8e, z %.8e.\n", iface,
time,
x,
y,
z);
3646 TRACE(
"iface %p, time %.8e.\n", iface,
time);
3664 TRACE(
"iface %p, time %.8e.\n", iface,
time);
3674 TRACE(
"iface %p, frame %p.\n", iface,
frame);
3690 FIXME(
"iface %p, time %.8e.\n", iface,
time);
3699 TRACE(
"iface %p.\n", iface);
3708 TRACE(
"iface %p.\n", iface);
3717 TRACE(
"iface %p, frame %p.\n", iface,
frame);
3726 FIXME(
"iface %p, time %.8e.\n", iface,
time);
3735 TRACE(
"iface %p, frame %p.\n", iface,
frame);
3749 FIXME(
"iface %p, id %#x.\n", iface,
id);
3756 FIXME(
"iface %p, key %p.\n", iface,
key);
3768 TRACE(
"iface %p, time min %.8e, time max %.8e, key_count %p, keys %p.\n",
3769 iface, time_min, time_max, key_count, keys);
3782 keys[
i].
dwSize =
sizeof(*keys);
3790 *key_count +=
count;
3799 keys[
i].
dwSize =
sizeof(*keys);
3807 *key_count +=
count;
3814 for (
i = 0; keys &&
i <
count; ++
i)
3816 keys[
i].
dwSize =
sizeof(*keys);
3824 *key_count +=
count;
3883 static const char classname[] =
"Animation";
3887 TRACE(
"animation %p, d3drm %p.\n", animation,
d3drm);
3889 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
3894 object->d3drm =
d3drm;
#define D3DRMANIMATION_POSITION
static HRESULT WINAPI d3drm_frame3_SetInheritAxes(IDirect3DRMFrame3 *iface, BOOL inherit)
static HRESULT WINAPI d3drm_frame3_AddDestroyCallback(IDirect3DRMFrame3 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_frame2_SetColor(IDirect3DRMFrame2 *iface, D3DCOLOR color)
static HRESULT WINAPI d3drm_frame1_GetParent(IDirect3DRMFrame *iface, IDirect3DRMFrame **parent)
static const struct d3drm_animation_key * d3drm_animation_get_range(const struct d3drm_animation_keys *keys, D3DVALUE time_min, D3DVALUE time_max, SIZE_T *count)
static HRESULT WINAPI d3drm_frame1_SetVelocity(IDirect3DRMFrame *iface, IDirect3DRMFrame *reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation)
static D3DRMMATERIALMODE WINAPI d3drm_frame1_GetMaterialMode(IDirect3DRMFrame *iface)
void d3drm_object_cleanup(IDirect3DRMObject *iface, struct d3drm_object *object)
static HRESULT WINAPI d3drm_frame2_GetOrientation(IDirect3DRMFrame2 *iface, IDirect3DRMFrame *reference, D3DVECTOR *dir, D3DVECTOR *up)
IDirect3DRMVisual ** visuals
static HRESULT WINAPI d3drm_frame1_GetScene(IDirect3DRMFrame *iface, IDirect3DRMFrame **scene)
static HRESULT WINAPI d3drm_frame3_GetVisuals(IDirect3DRMFrame3 *iface, DWORD *count, IUnknown **visuals)
static HRESULT WINAPI d3drm_frame3_SetSceneBackgroundRGB(IDirect3DRMFrame3 *iface, D3DVALUE red, D3DVALUE green, D3DVALUE blue)
static HRESULT WINAPI d3drm_visual_array_GetElement(IDirect3DRMVisualArray *iface, DWORD index, IDirect3DRMVisual **visual)
#define memmove(s1, s2, n)
static DWORD WINAPI d3drm_frame3_GetAppData(IDirect3DRMFrame3 *iface)
HRESULT d3drm_animation_create(struct d3drm_animation **animation, IDirect3DRM *d3drm)
#define IDirect3DRMFrame_AddRef(p)
static D3DRMSORTMODE WINAPI d3drm_frame3_GetSortMode(IDirect3DRMFrame3 *iface)
static HRESULT WINAPI d3drm_frame1_SetColorRGB(IDirect3DRMFrame *iface, D3DVALUE red, D3DVALUE green, D3DVALUE blue)
#define IDirect3DRMAnimation2_AddDestroyCallback(p, a, b)
static HRESULT WINAPI d3drm_frame3_GetHierarchyBox(IDirect3DRMFrame3 *iface, D3DRMBOX *box)
static HRESULT WINAPI d3drm_animation2_SetName(IDirect3DRMAnimation2 *iface, const char *name)
static HRESULT WINAPI d3drm_frame2_Clone(IDirect3DRMFrame2 *iface, IUnknown *outer, REFIID iid, void **out)
static struct d3drm_animation * impl_from_IDirect3DRMAnimation2(IDirect3DRMAnimation2 *iface)
static HRESULT WINAPI d3drm_frame1_Load(IDirect3DRMFrame *iface, void *filename, void *name, D3DRMLOADOPTIONS flags, D3DRMLOADTEXTURECALLBACK cb, void *ctx)
static BOOL WINAPI d3drm_frame3_GetInheritAxes(IDirect3DRMFrame3 *iface)
IDirect3DRMFrame3 IDirect3DRMFrame3_iface
static HRESULT WINAPI d3drm_frame1_SetOrientation(IDirect3DRMFrame *iface, IDirect3DRMFrame *reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz)
static const struct IDirect3DRMFrameArrayVtbl d3drm_frame_array_vtbl
#define IDirect3DRMFrame3_AddChild(p, a)
static HRESULT WINAPI d3drm_animation2_AddDestroyCallback(IDirect3DRMAnimation2 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
static void d3drm_matrix_multiply_affine(struct d3drm_matrix *dst, const struct d3drm_matrix *src1, const struct d3drm_matrix *src2)
static BOOL WINAPI d3drm_frame3_GetSceneFogEnable(IDirect3DRMFrame3 *iface)
static HRESULT WINAPI d3drm_frame1_SetSceneFogEnable(IDirect3DRMFrame *iface, BOOL enable)
#define IDirect3DRMAnimation2_Release(p)
coclass MSXML2::XSLTemplate40 object
static HRESULT WINAPI d3drm_frame3_GetPosition(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *reference, D3DVECTOR *position)
static HRESULT WINAPI d3drm_frame1_AddRotation(IDirect3DRMFrame *iface, D3DRMCOMBINETYPE type, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta)
static HRESULT WINAPI d3drm_animation1_AddRotateKey(IDirect3DRMAnimation *iface, D3DVALUE time, D3DRMQUATERNION *q)
static HRESULT WINAPI d3drm_animation2_DeleteKeyByID(IDirect3DRMAnimation2 *iface, DWORD id)
static BOOL WINAPI d3drm_frame3_GetBoxEnable(IDirect3DRMFrame3 *iface)
IDirect3DRMFrame ** frames
struct d3drm_animation_key * keys
static HRESULT WINAPI d3drm_frame2_SetSceneFogColor(IDirect3DRMFrame2 *iface, D3DCOLOR color)
static HRESULT WINAPI d3drm_frame2_GetHierarchyBox(IDirect3DRMFrame2 *iface, D3DRMBOX *box)
static HRESULT WINAPI d3drm_frame1_SetSceneBackgroundDepth(IDirect3DRMFrame *iface, IDirectDrawSurface *surface)
static HRESULT WINAPI d3drm_frame2_SetOrientation(IDirect3DRMFrame2 *iface, IDirect3DRMFrame *reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz)
static D3DRMMATERIALMODE WINAPI d3drm_frame3_GetMaterialMode(IDirect3DRMFrame3 *iface)
#define IDirect3DRMFrame3_AddDestroyCallback(p, a, b)
static HRESULT WINAPI d3drm_frame3_GetTexture(IDirect3DRMFrame3 *iface, IDirect3DRMTexture3 **texture)
static HRESULT WINAPI d3drm_frame2_SetTextureTopology(IDirect3DRMFrame2 *iface, BOOL wrap_u, BOOL wrap_v)
static ULONG WINAPI d3drm_animation1_Release(IDirect3DRMAnimation *iface)
static HRESULT WINAPI d3drm_frame2_DeleteLight(IDirect3DRMFrame2 *iface, IDirect3DRMLight *light)
static HRESULT WINAPI d3drm_frame1_GetSceneBackgroundDepth(IDirect3DRMFrame *iface, IDirectDrawSurface **surface)
IDirect3DRMFrameArray IDirect3DRMFrameArray_iface
#define IDirect3DRMFrame3_QueryInterface(p, a, b)
static HRESULT WINAPI d3drm_frame2_AddDestroyCallback(IDirect3DRMFrame2 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
IDirect3DRMAnimation2 IDirect3DRMAnimation2_iface
static HRESULT WINAPI d3drm_frame3_GetOrientation(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *reference, D3DVECTOR *dir, D3DVECTOR *up)
static HRESULT WINAPI d3drm_frame1_LookAt(IDirect3DRMFrame *iface, IDirect3DRMFrame *target, IDirect3DRMFrame *reference, D3DRMFRAMECONSTRAINT constraint)
static HRESULT WINAPI d3drm_frame1_SetSceneBackgroundImage(IDirect3DRMFrame *iface, IDirect3DRMTexture *texture)
static HRESULT WINAPI d3drm_frame2_GetAxes(IDirect3DRMFrame2 *iface, D3DVECTOR *dir, D3DVECTOR *up)
static HRESULT WINAPI d3drm_frame1_DeleteDestroyCallback(IDirect3DRMFrame *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_animation2_GetClassName(IDirect3DRMAnimation2 *iface, DWORD *size, char *name)
static SIZE_T d3drm_animation_lookup_key(const struct d3drm_animation_key *keys, SIZE_T count, D3DVALUE time)
D3DVECTOR *WINAPI D3DRMVectorNormalize(D3DVECTOR *u)
static HRESULT WINAPI d3drm_frame3_SetVelocity(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation)
static HRESULT WINAPI d3drm_animation2_AddRotateKey(IDirect3DRMAnimation2 *iface, D3DVALUE time, D3DRMQUATERNION *q)
GLuint GLuint GLsizei count
static HRESULT WINAPI d3drm_frame3_GetSceneBackgroundDepth(IDirect3DRMFrame3 *iface, IDirectDrawSurface **surface)
static HRESULT WINAPI d3drm_frame2_GetVisuals(IDirect3DRMFrame2 *iface, IDirect3DRMVisualArray **visuals)
static HRESULT WINAPI d3drm_frame2_SetSceneFogParams(IDirect3DRMFrame2 *iface, D3DVALUE start, D3DVALUE end, D3DVALUE density)
static HRESULT WINAPI d3drm_animation1_DeleteKey(IDirect3DRMAnimation *iface, D3DVALUE time)
static HRESULT WINAPI d3drm_frame2_AddMoveCallback(IDirect3DRMFrame2 *iface, D3DRMFRAMEMOVECALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm_frame3_SetSceneFogMethod(IDirect3DRMFrame3 *iface, DWORD flags)
static HRESULT WINAPI d3drm_frame3_SetSceneFogEnable(IDirect3DRMFrame3 *iface, BOOL enable)
static HRESULT WINAPI d3drm_animation1_Clone(IDirect3DRMAnimation *iface, IUnknown *outer, REFIID iid, void **out)
static D3DCOLOR WINAPI d3drm_frame1_GetSceneBackground(IDirect3DRMFrame *iface)
static HRESULT WINAPI d3drm_frame1_AddTransform(IDirect3DRMFrame *iface, D3DRMCOMBINETYPE type, D3DRMMATRIX4D matrix)
static HRESULT WINAPI d3drm_frame3_DeleteMoveCallback(IDirect3DRMFrame3 *iface, D3DRMFRAME3MOVECALLBACK cb, void *ctx)
static HRESULT WINAPI d3drm