From e6f11af27258dfe283e6e324ea58c8f5286ba2ed Mon Sep 17 00:00:00 2001 From: Aaryaman Vasishta Date: Mon, 20 Jun 2016 00:58:07 +0530 Subject: [PATCH] d3drm: Add stubs for IDirect3DRMFrame interface. Signed-off-by: Aaryaman Vasishta Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/d3drm/frame.c | 661 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 658 insertions(+), 3 deletions(-) diff --git a/dlls/d3drm/frame.c b/dlls/d3drm/frame.c index 0265b158c9e..395b9ac828e 100644 --- a/dlls/d3drm/frame.c +++ b/dlls/d3drm/frame.c @@ -40,6 +40,7 @@ static D3DRMMATRIX4D identity = { struct d3drm_frame { + IDirect3DRMFrame IDirect3DRMFrame_iface; IDirect3DRMFrame2 IDirect3DRMFrame2_iface; IDirect3DRMFrame3 IDirect3DRMFrame3_iface; LONG ref; @@ -81,6 +82,11 @@ struct d3drm_light_array IDirect3DRMLight **lights; }; +static inline struct d3drm_frame *impl_from_IDirect3DRMFrame(IDirect3DRMFrame *iface) +{ + return CONTAINING_RECORD(iface, struct d3drm_frame, IDirect3DRMFrame_iface); +} + static inline struct d3drm_frame *impl_from_IDirect3DRMFrame2(IDirect3DRMFrame2 *iface) { return CONTAINING_RECORD(iface, struct d3drm_frame, IDirect3DRMFrame2_iface); @@ -93,6 +99,8 @@ static inline struct d3drm_frame *impl_from_IDirect3DRMFrame3(IDirect3DRMFrame3 static inline struct d3drm_frame *unsafe_impl_from_IDirect3DRMFrame3(IDirect3DRMFrame3 *iface); +static inline struct d3drm_frame *unsafe_impl_from_IDirect3DRMFrame(IDirect3DRMFrame *iface); + static inline struct d3drm_frame_array *impl_from_IDirect3DRMFrameArray(IDirect3DRMFrameArray *iface) { return CONTAINING_RECORD(iface, struct d3drm_frame_array, IDirect3DRMFrameArray_iface); @@ -470,11 +478,14 @@ static HRESULT WINAPI d3drm_frame3_QueryInterface(IDirect3DRMFrame3 *iface, REFI TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out); - if (IsEqualGUID(riid, &IID_IDirect3DRMFrame2) - || IsEqualGUID(riid, &IID_IDirect3DRMFrame) + if (IsEqualGUID(riid, &IID_IDirect3DRMFrame) || IsEqualGUID(riid, &IID_IDirect3DRMObject) || IsEqualGUID(riid, &IID_IDirect3DRMVisual) || IsEqualGUID(riid, &IID_IUnknown)) + { + *out = &frame->IDirect3DRMFrame_iface; + } + else if (IsEqualGUID(riid, &IID_IDirect3DRMFrame2)) { *out = &frame->IDirect3DRMFrame2_iface; } @@ -502,6 +513,15 @@ static HRESULT WINAPI d3drm_frame2_QueryInterface(IDirect3DRMFrame2 *iface, REFI return d3drm_frame3_QueryInterface(&frame->IDirect3DRMFrame3_iface, riid, out); } +static HRESULT WINAPI d3drm_frame1_QueryInterface(IDirect3DRMFrame *iface, REFIID riid, void **out) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out); + + return d3drm_frame3_QueryInterface(&frame->IDirect3DRMFrame3_iface, riid, out); +} + static ULONG WINAPI d3drm_frame3_AddRef(IDirect3DRMFrame3 *iface) { struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface); @@ -521,6 +541,15 @@ static ULONG WINAPI d3drm_frame2_AddRef(IDirect3DRMFrame2 *iface) return d3drm_frame3_AddRef(&frame->IDirect3DRMFrame3_iface); } +static ULONG WINAPI d3drm_frame1_AddRef(IDirect3DRMFrame *iface) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p.\n", iface); + + return d3drm_frame3_AddRef(&frame->IDirect3DRMFrame3_iface); +} + static ULONG WINAPI d3drm_frame3_Release(IDirect3DRMFrame3 *iface) { struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface); @@ -561,6 +590,15 @@ static ULONG WINAPI d3drm_frame2_Release(IDirect3DRMFrame2 *iface) return d3drm_frame3_Release(&frame->IDirect3DRMFrame3_iface); } +static ULONG WINAPI d3drm_frame1_Release(IDirect3DRMFrame *iface) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p.\n", iface); + + return d3drm_frame3_Release(&frame->IDirect3DRMFrame3_iface); +} + static HRESULT WINAPI d3drm_frame3_Clone(IDirect3DRMFrame3 *iface, IUnknown *outer, REFIID iid, void **out) { @@ -577,6 +615,14 @@ static HRESULT WINAPI d3drm_frame2_Clone(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_Clone(IDirect3DRMFrame *iface, + IUnknown *outer, REFIID iid, void **out) +{ + FIXME("iface %p, outer %p, iid %s, out %p stub!\n", iface, outer, debugstr_guid(iid), out); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_AddDestroyCallback(IDirect3DRMFrame3 *iface, D3DRMOBJECTCALLBACK cb, void *ctx) { @@ -593,6 +639,14 @@ static HRESULT WINAPI d3drm_frame2_AddDestroyCallback(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_AddDestroyCallback(IDirect3DRMFrame *iface, + D3DRMOBJECTCALLBACK cb, void *ctx) +{ + FIXME("iface %p, cb %p, ctx %p stub!\n", iface, cb, ctx); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_DeleteDestroyCallback(IDirect3DRMFrame3 *iface, D3DRMOBJECTCALLBACK cb, void *ctx) { @@ -609,6 +663,14 @@ static HRESULT WINAPI d3drm_frame2_DeleteDestroyCallback(IDirect3DRMFrame2 *ifac return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_DeleteDestroyCallback(IDirect3DRMFrame *iface, + D3DRMOBJECTCALLBACK cb, void *ctx) +{ + FIXME("iface %p, cb %p, ctx %p stub!\n", iface, cb, ctx); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetAppData(IDirect3DRMFrame3 *iface, DWORD data) { FIXME("iface %p, data %#x stub!\n", iface, data); @@ -623,6 +685,13 @@ static HRESULT WINAPI d3drm_frame2_SetAppData(IDirect3DRMFrame2 *iface, DWORD da return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetAppData(IDirect3DRMFrame *iface, DWORD data) +{ + FIXME("iface %p, data %#x stub!\n", iface, data); + + return E_NOTIMPL; +} + static DWORD WINAPI d3drm_frame3_GetAppData(IDirect3DRMFrame3 *iface) { FIXME("iface %p stub!\n", iface); @@ -637,6 +706,13 @@ static DWORD WINAPI d3drm_frame2_GetAppData(IDirect3DRMFrame2 *iface) return 0; } +static DWORD WINAPI d3drm_frame1_GetAppData(IDirect3DRMFrame *iface) +{ + FIXME("iface %p stub!\n", iface); + + return 0; +} + static HRESULT WINAPI d3drm_frame3_SetName(IDirect3DRMFrame3 *iface, const char *name) { FIXME("iface %p, name %s stub!\n", iface, debugstr_a(name)); @@ -651,6 +727,13 @@ static HRESULT WINAPI d3drm_frame2_SetName(IDirect3DRMFrame2 *iface, const char return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetName(IDirect3DRMFrame *iface, const char *name) +{ + FIXME("iface %p, name %s stub!\n", iface, debugstr_a(name)); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_GetName(IDirect3DRMFrame3 *iface, DWORD *size, char *name) { FIXME("iface %p, size %p, name %p stub!\n", iface, size, name); @@ -665,6 +748,13 @@ static HRESULT WINAPI d3drm_frame2_GetName(IDirect3DRMFrame2 *iface, DWORD *size return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_GetName(IDirect3DRMFrame *iface, DWORD *size, char *name) +{ + FIXME("iface %p, size %p, name %p stub!\n", iface, size, name); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_GetClassName(IDirect3DRMFrame3 *iface, DWORD *size, char *name) { TRACE("iface %p, size %p, name %p.\n", iface, size, name); @@ -687,6 +777,15 @@ static HRESULT WINAPI d3drm_frame2_GetClassName(IDirect3DRMFrame2 *iface, DWORD return d3drm_frame3_GetClassName(&frame->IDirect3DRMFrame3_iface, size, name); } +static HRESULT WINAPI d3drm_frame1_GetClassName(IDirect3DRMFrame *iface, DWORD *size, char *name) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, size %p, name %p.\n", iface, size, name); + + return d3drm_frame3_GetClassName(&frame->IDirect3DRMFrame3_iface, size, name); +} + static HRESULT WINAPI d3drm_frame3_AddChild(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *child) { struct d3drm_frame *This = impl_from_IDirect3DRMFrame3(iface); @@ -761,6 +860,19 @@ static HRESULT WINAPI d3drm_frame2_AddChild(IDirect3DRMFrame2 *iface, IDirect3DR return d3drm_frame3_AddChild(&frame->IDirect3DRMFrame3_iface, child3); } +static HRESULT WINAPI d3drm_frame1_AddChild(IDirect3DRMFrame *iface, IDirect3DRMFrame *child) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + struct d3drm_frame *child_frame = unsafe_impl_from_IDirect3DRMFrame(child); + + TRACE("iface %p, child %p.\n", iface, child); + + if (!child_frame) + return D3DRMERR_BADOBJECT; + + return d3drm_frame3_AddChild(&frame->IDirect3DRMFrame3_iface, &child_frame->IDirect3DRMFrame3_iface); +} + static HRESULT WINAPI d3drm_frame3_AddLight(IDirect3DRMFrame3 *iface, IDirect3DRMLight *light) { struct d3drm_frame *This = impl_from_IDirect3DRMFrame3(iface); @@ -814,6 +926,15 @@ static HRESULT WINAPI d3drm_frame2_AddLight(IDirect3DRMFrame2 *iface, IDirect3DR return d3drm_frame3_AddLight(&frame->IDirect3DRMFrame3_iface, light); } +static HRESULT WINAPI d3drm_frame1_AddLight(IDirect3DRMFrame *iface, IDirect3DRMLight *light) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, light %p.\n", iface, light); + + return d3drm_frame3_AddLight(&frame->IDirect3DRMFrame3_iface, light); +} + static HRESULT WINAPI d3drm_frame3_AddMoveCallback(IDirect3DRMFrame3 *iface, D3DRMFRAME3MOVECALLBACK cb, void *ctx, DWORD flags) { @@ -830,6 +951,14 @@ static HRESULT WINAPI d3drm_frame2_AddMoveCallback(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_AddMoveCallback(IDirect3DRMFrame *iface, + D3DRMFRAMEMOVECALLBACK cb, void *ctx) +{ + FIXME("iface %p, cb %p, ctx %p stub!\n", iface, cb, ctx); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_AddTransform(IDirect3DRMFrame3 *iface, D3DRMCOMBINETYPE type, D3DRMMATRIX4D matrix) { @@ -869,6 +998,16 @@ static HRESULT WINAPI d3drm_frame2_AddTransform(IDirect3DRMFrame2 *iface, return d3drm_frame3_AddTransform(&frame->IDirect3DRMFrame3_iface, type, matrix); } +static HRESULT WINAPI d3drm_frame1_AddTransform(IDirect3DRMFrame *iface, + D3DRMCOMBINETYPE type, D3DRMMATRIX4D matrix) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, type %#x, matrix %p.\n", iface, type, matrix); + + return d3drm_frame3_AddTransform(&frame->IDirect3DRMFrame3_iface, type, matrix); +} + static HRESULT WINAPI d3drm_frame3_AddTranslation(IDirect3DRMFrame3 *iface, D3DRMCOMBINETYPE type, D3DVALUE x, D3DVALUE y, D3DVALUE z) { @@ -885,6 +1024,14 @@ static HRESULT WINAPI d3drm_frame2_AddTranslation(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_AddTranslation(IDirect3DRMFrame *iface, + D3DRMCOMBINETYPE type, D3DVALUE x, D3DVALUE y, D3DVALUE z) +{ + FIXME("iface %p, type %#x, x %.8e, y %.8e, z %.8e stub!\n", iface, type, x, y, z); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_AddScale(IDirect3DRMFrame3 *iface, D3DRMCOMBINETYPE type, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) { @@ -901,6 +1048,14 @@ static HRESULT WINAPI d3drm_frame2_AddScale(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_AddScale(IDirect3DRMFrame *iface, + D3DRMCOMBINETYPE type, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) +{ + FIXME("iface %p, type %#x, sx %.8e, sy %.8e, sz %.8e stub!\n", iface, type, sx, sy, sz); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_AddRotation(IDirect3DRMFrame3 *iface, D3DRMCOMBINETYPE type, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) { @@ -918,6 +1073,14 @@ static HRESULT WINAPI d3drm_frame2_AddRotation(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_AddRotation(IDirect3DRMFrame *iface, + D3DRMCOMBINETYPE type, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) +{ + FIXME("iface %p, type %#x, x %.8e, y %.8e, z %.8e, theta %.8e stub!\n", iface, type, x, y, z, theta); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_AddVisual(IDirect3DRMFrame3 *iface, IUnknown *visual) { struct d3drm_frame *This = impl_from_IDirect3DRMFrame3(iface); @@ -971,6 +1134,15 @@ static HRESULT WINAPI d3drm_frame2_AddVisual(IDirect3DRMFrame2 *iface, IDirect3D return d3drm_frame3_AddVisual(&frame->IDirect3DRMFrame3_iface, (IUnknown *)visual); } +static HRESULT WINAPI d3drm_frame1_AddVisual(IDirect3DRMFrame *iface, IDirect3DRMVisual *visual) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, visual %p.\n", iface, visual); + + return d3drm_frame3_AddVisual(&frame->IDirect3DRMFrame3_iface, (IUnknown *)visual); +} + static HRESULT WINAPI d3drm_frame3_GetChildren(IDirect3DRMFrame3 *iface, IDirect3DRMFrameArray **children) { struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface); @@ -998,6 +1170,15 @@ static HRESULT WINAPI d3drm_frame2_GetChildren(IDirect3DRMFrame2 *iface, IDirect return d3drm_frame3_GetChildren(&frame->IDirect3DRMFrame3_iface, children); } +static HRESULT WINAPI d3drm_frame1_GetChildren(IDirect3DRMFrame *iface, IDirect3DRMFrameArray **children) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, children %p.\n", iface, children); + + return d3drm_frame3_GetChildren(&frame->IDirect3DRMFrame3_iface, children); +} + static D3DCOLOR WINAPI d3drm_frame3_GetColor(IDirect3DRMFrame3 *iface) { FIXME("iface %p stub!\n", iface); @@ -1012,6 +1193,13 @@ static D3DCOLOR WINAPI d3drm_frame2_GetColor(IDirect3DRMFrame2 *iface) return 0; } +static D3DCOLOR WINAPI d3drm_frame1_GetColor(IDirect3DRMFrame *iface) +{ + FIXME("iface %p stub!\n", iface); + + return 0; +} + static HRESULT WINAPI d3drm_frame3_GetLights(IDirect3DRMFrame3 *iface, IDirect3DRMLightArray **lights) { struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface); @@ -1039,6 +1227,15 @@ static HRESULT WINAPI d3drm_frame2_GetLights(IDirect3DRMFrame2 *iface, IDirect3D return d3drm_frame3_GetLights(&frame->IDirect3DRMFrame3_iface, lights); } +static HRESULT WINAPI d3drm_frame1_GetLights(IDirect3DRMFrame *iface, IDirect3DRMLightArray **lights) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, lights %p.\n", iface, lights); + + return d3drm_frame3_GetLights(&frame->IDirect3DRMFrame3_iface, lights); +} + static D3DRMMATERIALMODE WINAPI d3drm_frame3_GetMaterialMode(IDirect3DRMFrame3 *iface) { FIXME("iface %p stub!\n", iface); @@ -1053,6 +1250,13 @@ static D3DRMMATERIALMODE WINAPI d3drm_frame2_GetMaterialMode(IDirect3DRMFrame2 * return D3DRMMATERIAL_FROMPARENT; } +static D3DRMMATERIALMODE WINAPI d3drm_frame1_GetMaterialMode(IDirect3DRMFrame *iface) +{ + FIXME("iface %p stub!\n", iface); + + return D3DRMMATERIAL_FROMPARENT; +} + static HRESULT WINAPI d3drm_frame3_GetParent(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 **parent) { struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface); @@ -1086,7 +1290,7 @@ static HRESULT WINAPI d3drm_frame2_GetParent(IDirect3DRMFrame2 *iface, IDirect3D if (frame->parent) { - *parent = (IDirect3DRMFrame *)&frame->parent->IDirect3DRMFrame2_iface; + *parent = &frame->parent->IDirect3DRMFrame_iface; IDirect3DRMFrame_AddRef(*parent); } else @@ -1097,6 +1301,15 @@ static HRESULT WINAPI d3drm_frame2_GetParent(IDirect3DRMFrame2 *iface, IDirect3D return D3DRM_OK; } +static HRESULT WINAPI d3drm_frame1_GetParent(IDirect3DRMFrame *iface, IDirect3DRMFrame **parent) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, parent %p.\n", iface, parent); + + return d3drm_frame2_GetParent(&frame->IDirect3DRMFrame2_iface, parent); +} + static HRESULT WINAPI d3drm_frame3_GetPosition(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *reference, D3DVECTOR *position) { @@ -1113,6 +1326,15 @@ static HRESULT WINAPI d3drm_frame2_GetPosition(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_GetPosition(IDirect3DRMFrame *iface, + IDirect3DRMFrame *reference, D3DVECTOR *position) +{ + FIXME("iface %p, reference %p, position %p stub!\n", iface, reference, position); + + return E_NOTIMPL; +} + + static HRESULT WINAPI d3drm_frame3_GetRotation(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *reference, D3DVECTOR *axis, D3DVALUE *theta) { @@ -1129,6 +1351,14 @@ static HRESULT WINAPI d3drm_frame2_GetRotation(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_GetRotation(IDirect3DRMFrame *iface, + IDirect3DRMFrame *reference, D3DVECTOR *axis, D3DVALUE *theta) +{ + FIXME("iface %p, reference %p, axis %p, theta %p stub!\n", iface, reference, axis, theta); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_GetScene(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 **scene) { FIXME("iface %p, scene %p stub!\n", iface, scene); @@ -1143,6 +1373,13 @@ static HRESULT WINAPI d3drm_frame2_GetScene(IDirect3DRMFrame2 *iface, IDirect3DR return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_GetScene(IDirect3DRMFrame *iface, IDirect3DRMFrame **scene) +{ + FIXME("iface %p, scene %p stub!\n", iface, scene); + + return E_NOTIMPL; +} + static D3DRMSORTMODE WINAPI d3drm_frame3_GetSortMode(IDirect3DRMFrame3 *iface) { FIXME("iface %p stub!\n", iface); @@ -1157,6 +1394,13 @@ static D3DRMSORTMODE WINAPI d3drm_frame2_GetSortMode(IDirect3DRMFrame2 *iface) return D3DRMSORT_FROMPARENT; } +static D3DRMSORTMODE WINAPI d3drm_frame1_GetSortMode(IDirect3DRMFrame *iface) +{ + FIXME("iface %p stub!\n", iface); + + return D3DRMSORT_FROMPARENT; +} + static HRESULT WINAPI d3drm_frame3_GetTexture(IDirect3DRMFrame3 *iface, IDirect3DRMTexture3 **texture) { FIXME("iface %p, texture %p stub!\n", iface, texture); @@ -1171,6 +1415,13 @@ static HRESULT WINAPI d3drm_frame2_GetTexture(IDirect3DRMFrame2 *iface, IDirect3 return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_GetTexture(IDirect3DRMFrame *iface, IDirect3DRMTexture **texture) +{ + FIXME("iface %p, texture %p stub!\n", iface, texture); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_GetTransform(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *reference, D3DRMMATRIX4D matrix) { @@ -1197,6 +1448,15 @@ static HRESULT WINAPI d3drm_frame2_GetTransform(IDirect3DRMFrame2 *iface, D3DRMM return D3DRM_OK; } +static HRESULT WINAPI d3drm_frame1_GetTransform(IDirect3DRMFrame *iface, D3DRMMATRIX4D matrix) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, matrix %p.\n", iface, matrix); + + return d3drm_frame2_GetTransform(&frame->IDirect3DRMFrame2_iface, matrix); +} + static HRESULT WINAPI d3drm_frame3_GetVelocity(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *reference, D3DVECTOR *velocity, BOOL with_rotation) { @@ -1215,6 +1475,15 @@ static HRESULT WINAPI d3drm_frame2_GetVelocity(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_GetVelocity(IDirect3DRMFrame *iface, + IDirect3DRMFrame *reference, D3DVECTOR *velocity, BOOL with_rotation) +{ + FIXME("iface %p, reference %p, velocity %p, with_rotation %#x stub!\n", + iface, reference, velocity, with_rotation); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_GetOrientation(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *reference, D3DVECTOR *dir, D3DVECTOR *up) { @@ -1231,6 +1500,14 @@ static HRESULT WINAPI d3drm_frame2_GetOrientation(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_GetOrientation(IDirect3DRMFrame *iface, + IDirect3DRMFrame *reference, D3DVECTOR *dir, D3DVECTOR *up) +{ + FIXME("iface %p, reference %p, dir %p, up %p stub!\n", iface, reference, dir, up); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_GetVisuals(IDirect3DRMFrame3 *iface, DWORD *count, IUnknown **visuals) { FIXME("iface %p, count %p, visuals %p stub!\n", iface, count, visuals); @@ -1256,6 +1533,15 @@ static HRESULT WINAPI d3drm_frame2_GetVisuals(IDirect3DRMFrame2 *iface, IDirect3 return D3DRM_OK; } +static HRESULT WINAPI d3drm_frame1_GetVisuals(IDirect3DRMFrame *iface, IDirect3DRMVisualArray **visuals) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, visuals %p.\n", iface, visuals); + + return d3drm_frame2_GetVisuals(&frame->IDirect3DRMFrame2_iface, visuals); +} + static HRESULT WINAPI d3drm_frame2_GetTextureTopology(IDirect3DRMFrame2 *iface, BOOL *wrap_u, BOOL *wrap_v) { FIXME("iface %p, wrap_u %p, wrap_v %p stub!\n", iface, wrap_u, wrap_v); @@ -1263,6 +1549,13 @@ static HRESULT WINAPI d3drm_frame2_GetTextureTopology(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_GetTextureTopology(IDirect3DRMFrame *iface, BOOL *wrap_u, BOOL *wrap_v) +{ + FIXME("iface %p, wrap_u %p, wrap_v %p stub!\n", iface, wrap_u, wrap_v); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_InverseTransform(IDirect3DRMFrame3 *iface, D3DVECTOR *d, D3DVECTOR *s) { FIXME("iface %p, d %p, s %p stub!\n", iface, d, s); @@ -1277,6 +1570,13 @@ static HRESULT WINAPI d3drm_frame2_InverseTransform(IDirect3DRMFrame2 *iface, D3 return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_InverseTransform(IDirect3DRMFrame *iface, D3DVECTOR *d, D3DVECTOR *s) +{ + FIXME("iface %p, d %p, s %p stub!\n", iface, d, s); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_Load(IDirect3DRMFrame3 *iface, void *filename, void *name, D3DRMLOADOPTIONS flags, D3DRMLOADTEXTURE3CALLBACK cb, void *ctx) { @@ -1295,6 +1595,15 @@ static HRESULT WINAPI d3drm_frame2_Load(IDirect3DRMFrame2 *iface, void *filename return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_Load(IDirect3DRMFrame *iface, void *filename, + void *name, D3DRMLOADOPTIONS flags, D3DRMLOADTEXTURECALLBACK cb, void *ctx) +{ + FIXME("iface %p, filename %p, name %p, flags %#x, cb %p, ctx %p stub!\n", + iface, filename, name, flags, cb, ctx); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_LookAt(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *target, IDirect3DRMFrame3 *reference, D3DRMFRAMECONSTRAINT constraint) { @@ -1311,6 +1620,14 @@ static HRESULT WINAPI d3drm_frame2_LookAt(IDirect3DRMFrame2 *iface, IDirect3DRMF return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_LookAt(IDirect3DRMFrame *iface, IDirect3DRMFrame *target, + IDirect3DRMFrame *reference, D3DRMFRAMECONSTRAINT constraint) +{ + FIXME("iface %p, target %p, reference %p, constraint %#x stub!\n", iface, target, reference, constraint); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_Move(IDirect3DRMFrame3 *iface, D3DVALUE delta) { FIXME("iface %p, delta %.8e stub!\n", iface, delta); @@ -1325,6 +1642,13 @@ static HRESULT WINAPI d3drm_frame2_Move(IDirect3DRMFrame2 *iface, D3DVALUE delta return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_Move(IDirect3DRMFrame *iface, D3DVALUE delta) +{ + FIXME("iface %p, delta %.8e stub!\n", iface, delta); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_DeleteChild(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *child) { struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface); @@ -1371,6 +1695,19 @@ static HRESULT WINAPI d3drm_frame2_DeleteChild(IDirect3DRMFrame2 *iface, IDirect return d3drm_frame3_DeleteChild(&frame->IDirect3DRMFrame3_iface, child3); } +static HRESULT WINAPI d3drm_frame1_DeleteChild(IDirect3DRMFrame *iface, IDirect3DRMFrame *child) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + struct d3drm_frame *child_frame = unsafe_impl_from_IDirect3DRMFrame(child); + + TRACE("iface %p, child %p.\n", iface, child); + + if (!child_frame) + return D3DRMERR_BADOBJECT; + + return d3drm_frame3_DeleteChild(&frame->IDirect3DRMFrame3_iface, &child_frame->IDirect3DRMFrame3_iface); +} + static HRESULT WINAPI d3drm_frame3_DeleteLight(IDirect3DRMFrame3 *iface, IDirect3DRMLight *light) { struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface); @@ -1407,6 +1744,15 @@ static HRESULT WINAPI d3drm_frame2_DeleteLight(IDirect3DRMFrame2 *iface, IDirect return d3drm_frame3_DeleteLight(&frame->IDirect3DRMFrame3_iface, light); } +static HRESULT WINAPI d3drm_frame1_DeleteLight(IDirect3DRMFrame *iface, IDirect3DRMLight *light) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, light %p.\n", iface, light); + + return d3drm_frame3_DeleteLight(&frame->IDirect3DRMFrame3_iface, light); +} + static HRESULT WINAPI d3drm_frame3_DeleteMoveCallback(IDirect3DRMFrame3 *iface, D3DRMFRAME3MOVECALLBACK cb, void *ctx) { @@ -1423,6 +1769,14 @@ static HRESULT WINAPI d3drm_frame2_DeleteMoveCallback(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_DeleteMoveCallback(IDirect3DRMFrame *iface, + D3DRMFRAMEMOVECALLBACK cb, void *ctx) +{ + FIXME("iface %p, cb %p, ctx %p stub!\n", iface, cb, ctx); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_DeleteVisual(IDirect3DRMFrame3 *iface, IUnknown *visual) { struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface); @@ -1459,6 +1813,15 @@ static HRESULT WINAPI d3drm_frame2_DeleteVisual(IDirect3DRMFrame2 *iface, IDirec return d3drm_frame3_DeleteVisual(&frame->IDirect3DRMFrame3_iface, (IUnknown *)visual); } +static HRESULT WINAPI d3drm_frame1_DeleteVisual(IDirect3DRMFrame *iface, IDirect3DRMVisual *visual) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, visual %p.\n", iface, visual); + + return d3drm_frame3_DeleteVisual(&frame->IDirect3DRMFrame3_iface, (IUnknown *)visual); +} + static D3DCOLOR WINAPI d3drm_frame3_GetSceneBackground(IDirect3DRMFrame3 *iface) { struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface); @@ -1477,6 +1840,15 @@ static D3DCOLOR WINAPI d3drm_frame2_GetSceneBackground(IDirect3DRMFrame2 *iface) return d3drm_frame3_GetSceneBackground(&frame->IDirect3DRMFrame3_iface); } +static D3DCOLOR WINAPI d3drm_frame1_GetSceneBackground(IDirect3DRMFrame *iface) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p.\n", iface); + + return d3drm_frame3_GetSceneBackground(&frame->IDirect3DRMFrame3_iface); +} + static HRESULT WINAPI d3drm_frame3_GetSceneBackgroundDepth(IDirect3DRMFrame3 *iface, IDirectDrawSurface **surface) { @@ -1493,6 +1865,14 @@ static HRESULT WINAPI d3drm_frame2_GetSceneBackgroundDepth(IDirect3DRMFrame2 *if return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_GetSceneBackgroundDepth(IDirect3DRMFrame *iface, + IDirectDrawSurface **surface) +{ + FIXME("iface %p, surface %p stub!\n", iface, surface); + + return E_NOTIMPL; +} + static D3DCOLOR WINAPI d3drm_frame3_GetSceneFogColor(IDirect3DRMFrame3 *iface) { FIXME("iface %p stub!\n", iface); @@ -1507,6 +1887,13 @@ static D3DCOLOR WINAPI d3drm_frame2_GetSceneFogColor(IDirect3DRMFrame2 *iface) return 0; } +static D3DCOLOR WINAPI d3drm_frame1_GetSceneFogColor(IDirect3DRMFrame *iface) +{ + FIXME("iface %p stub!\n", iface); + + return 0; +} + static BOOL WINAPI d3drm_frame3_GetSceneFogEnable(IDirect3DRMFrame3 *iface) { FIXME("iface %p stub!\n", iface); @@ -1521,6 +1908,13 @@ static BOOL WINAPI d3drm_frame2_GetSceneFogEnable(IDirect3DRMFrame2 *iface) return FALSE; } +static BOOL WINAPI d3drm_frame1_GetSceneFogEnable(IDirect3DRMFrame *iface) +{ + FIXME("iface %p stub!\n", iface); + + return FALSE; +} + static D3DRMFOGMODE WINAPI d3drm_frame3_GetSceneFogMode(IDirect3DRMFrame3 *iface) { FIXME("iface %p stub!\n", iface); @@ -1535,6 +1929,13 @@ static D3DRMFOGMODE WINAPI d3drm_frame2_GetSceneFogMode(IDirect3DRMFrame2 *iface return D3DRMFOG_LINEAR; } +static D3DRMFOGMODE WINAPI d3drm_frame1_GetSceneFogMode(IDirect3DRMFrame *iface) +{ + FIXME("iface %p stub!\n", iface); + + return D3DRMFOG_LINEAR; +} + static HRESULT WINAPI d3drm_frame3_GetSceneFogParams(IDirect3DRMFrame3 *iface, D3DVALUE *start, D3DVALUE *end, D3DVALUE *density) { @@ -1551,6 +1952,14 @@ static HRESULT WINAPI d3drm_frame2_GetSceneFogParams(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_GetSceneFogParams(IDirect3DRMFrame *iface, + D3DVALUE *start, D3DVALUE *end, D3DVALUE *density) +{ + FIXME("iface %p, start %p, end %p, density %p stub!\n", iface, start, end, density); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetSceneBackground(IDirect3DRMFrame3 *iface, D3DCOLOR color) { struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface); @@ -1571,6 +1980,15 @@ static HRESULT WINAPI d3drm_frame2_SetSceneBackground(IDirect3DRMFrame2 *iface, return d3drm_frame3_SetSceneBackground(&frame->IDirect3DRMFrame3_iface, color); } +static HRESULT WINAPI d3drm_frame1_SetSceneBackground(IDirect3DRMFrame *iface, D3DCOLOR color) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, color 0x%08x.\n", iface, color); + + return d3drm_frame3_SetSceneBackground(&frame->IDirect3DRMFrame3_iface, color); +} + static HRESULT WINAPI d3drm_frame3_SetSceneBackgroundRGB(IDirect3DRMFrame3 *iface, D3DVALUE red, D3DVALUE green, D3DVALUE blue) { @@ -1594,6 +2012,16 @@ static HRESULT WINAPI d3drm_frame2_SetSceneBackgroundRGB(IDirect3DRMFrame2 *ifac return d3drm_frame3_SetSceneBackgroundRGB(&frame->IDirect3DRMFrame3_iface, red, green, blue); } +static HRESULT WINAPI d3drm_frame1_SetSceneBackgroundRGB(IDirect3DRMFrame *iface, + D3DVALUE red, D3DVALUE green, D3DVALUE blue) +{ + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); + + TRACE("iface %p, red %.8e, green %.8e, blue %.8e.\n", iface, red, green, blue); + + return d3drm_frame3_SetSceneBackgroundRGB(&frame->IDirect3DRMFrame3_iface, red, green, blue); +} + static HRESULT WINAPI d3drm_frame3_SetSceneBackgroundDepth(IDirect3DRMFrame3 *iface, IDirectDrawSurface *surface) { @@ -1610,6 +2038,14 @@ static HRESULT WINAPI d3drm_frame2_SetSceneBackgroundDepth(IDirect3DRMFrame2 *if return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetSceneBackgroundDepth(IDirect3DRMFrame *iface, + IDirectDrawSurface *surface) +{ + FIXME("iface %p, surface %p stub!\n", iface, surface); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetSceneBackgroundImage(IDirect3DRMFrame3 *iface, IDirect3DRMTexture3 *texture) { @@ -1626,6 +2062,14 @@ static HRESULT WINAPI d3drm_frame2_SetSceneBackgroundImage(IDirect3DRMFrame2 *if return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetSceneBackgroundImage(IDirect3DRMFrame *iface, + IDirect3DRMTexture *texture) +{ + FIXME("iface %p, texture %p stub!\n", iface, texture); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetSceneFogEnable(IDirect3DRMFrame3 *iface, BOOL enable) { FIXME("iface %p, enable %#x stub!\n", iface, enable); @@ -1640,6 +2084,13 @@ static HRESULT WINAPI d3drm_frame2_SetSceneFogEnable(IDirect3DRMFrame2 *iface, B return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetSceneFogEnable(IDirect3DRMFrame *iface, BOOL enable) +{ + FIXME("iface %p, enable %#x stub!\n", iface, enable); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetSceneFogColor(IDirect3DRMFrame3 *iface, D3DCOLOR color) { FIXME("iface %p, color 0x%08x stub!\n", iface, color); @@ -1654,6 +2105,13 @@ static HRESULT WINAPI d3drm_frame2_SetSceneFogColor(IDirect3DRMFrame2 *iface, D3 return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetSceneFogColor(IDirect3DRMFrame *iface, D3DCOLOR color) +{ + FIXME("iface %p, color 0x%08x stub!\n", iface, color); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetSceneFogMode(IDirect3DRMFrame3 *iface, D3DRMFOGMODE mode) { FIXME("iface %p, mode %#x stub!\n", iface, mode); @@ -1668,6 +2126,13 @@ static HRESULT WINAPI d3drm_frame2_SetSceneFogMode(IDirect3DRMFrame2 *iface, D3D return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetSceneFogMode(IDirect3DRMFrame *iface, D3DRMFOGMODE mode) +{ + FIXME("iface %p, mode %#x stub!\n", iface, mode); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetSceneFogParams(IDirect3DRMFrame3 *iface, D3DVALUE start, D3DVALUE end, D3DVALUE density) { @@ -1684,6 +2149,14 @@ static HRESULT WINAPI d3drm_frame2_SetSceneFogParams(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetSceneFogParams(IDirect3DRMFrame *iface, + D3DVALUE start, D3DVALUE end, D3DVALUE density) +{ + FIXME("iface %p, start %.8e, end %.8e, density %.8e stub!\n", iface, start, end, density); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetColor(IDirect3DRMFrame3 *iface, D3DCOLOR color) { FIXME("iface %p, color 0x%08x stub!\n", iface, color); @@ -1698,6 +2171,13 @@ static HRESULT WINAPI d3drm_frame2_SetColor(IDirect3DRMFrame2 *iface, D3DCOLOR c return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetColor(IDirect3DRMFrame *iface, D3DCOLOR color) +{ + FIXME("iface %p, color 0x%08x stub!\n", iface, color); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetColorRGB(IDirect3DRMFrame3 *iface, D3DVALUE red, D3DVALUE green, D3DVALUE blue) { @@ -1714,6 +2194,14 @@ static HRESULT WINAPI d3drm_frame2_SetColorRGB(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetColorRGB(IDirect3DRMFrame *iface, + D3DVALUE red, D3DVALUE green, D3DVALUE blue) +{ + FIXME("iface %p, red %.8e, green %.8e, blue %.8e stub!\n", iface, red, green, blue); + + return E_NOTIMPL; +} + static D3DRMZBUFFERMODE WINAPI d3drm_frame3_GetZbufferMode(IDirect3DRMFrame3 *iface) { FIXME("iface %p stub!\n", iface); @@ -1728,6 +2216,13 @@ static D3DRMZBUFFERMODE WINAPI d3drm_frame2_GetZbufferMode(IDirect3DRMFrame2 *if return D3DRMZBUFFER_FROMPARENT; } +static D3DRMZBUFFERMODE WINAPI d3drm_frame1_GetZbufferMode(IDirect3DRMFrame *iface) +{ + FIXME("iface %p stub!\n", iface); + + return D3DRMZBUFFER_FROMPARENT; +} + static HRESULT WINAPI d3drm_frame3_SetMaterialMode(IDirect3DRMFrame3 *iface, D3DRMMATERIALMODE mode) { FIXME("iface %p, mode %#x stub!\n", iface, mode); @@ -1742,6 +2237,13 @@ static HRESULT WINAPI d3drm_frame2_SetMaterialMode(IDirect3DRMFrame2 *iface, D3D return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetMaterialMode(IDirect3DRMFrame *iface, D3DRMMATERIALMODE mode) +{ + FIXME("iface %p, mode %#x stub!\n", iface, mode); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetOrientation(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *reference, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) { @@ -1760,6 +2262,15 @@ static HRESULT WINAPI d3drm_frame2_SetOrientation(IDirect3DRMFrame2 *iface, IDir return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetOrientation(IDirect3DRMFrame *iface, IDirect3DRMFrame *reference, + D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz) +{ + FIXME("iface %p, reference %p, dx %.8e, dy %.8e, dz %.8e, ux %.8e, uy %.8e, uz %.8e stub!\n", + iface, reference, dx, dy, dz, ux, uy, uz); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetPosition(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) { @@ -1776,6 +2287,14 @@ static HRESULT WINAPI d3drm_frame2_SetPosition(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetPosition(IDirect3DRMFrame *iface, + IDirect3DRMFrame *reference, D3DVALUE x, D3DVALUE y, D3DVALUE z) +{ + FIXME("iface %p, reference %p, x %.8e, y %.8e, z %.8e stub!\n", iface, reference, x, y, z); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetRotation(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) { @@ -1794,6 +2313,15 @@ static HRESULT WINAPI d3drm_frame2_SetRotation(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetRotation(IDirect3DRMFrame *iface, + IDirect3DRMFrame *reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) +{ + FIXME("iface %p, reference %p, x %.8e, y %.8e, z %.8e, theta %.8e stub!\n", + iface, reference, x, y, z, theta); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetSortMode(IDirect3DRMFrame3 *iface, D3DRMSORTMODE mode) { FIXME("iface %p, mode %#x stub!\n", iface, mode); @@ -1808,6 +2336,13 @@ static HRESULT WINAPI d3drm_frame2_SetSortMode(IDirect3DRMFrame2 *iface, D3DRMSO return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetSortMode(IDirect3DRMFrame *iface, D3DRMSORTMODE mode) +{ + FIXME("iface %p, mode %#x stub!\n", iface, mode); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetTexture(IDirect3DRMFrame3 *iface, IDirect3DRMTexture3 *texture) { FIXME("iface %p, texture %p stub!\n", iface, texture); @@ -1822,6 +2357,13 @@ static HRESULT WINAPI d3drm_frame2_SetTexture(IDirect3DRMFrame2 *iface, IDirect3 return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetTexture(IDirect3DRMFrame *iface, IDirect3DRMTexture *texture) +{ + FIXME("iface %p, texture %p stub!\n", iface, texture); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame2_SetTextureTopology(IDirect3DRMFrame2 *iface, BOOL wrap_u, BOOL wrap_v) { FIXME("iface %p, wrap_u %#x, wrap_v %#x stub!\n", iface, wrap_u, wrap_v); @@ -1829,6 +2371,13 @@ static HRESULT WINAPI d3drm_frame2_SetTextureTopology(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetTextureTopology(IDirect3DRMFrame *iface, BOOL wrap_u, BOOL wrap_v) +{ + FIXME("iface %p, wrap_u %#x, wrap_v %#x stub!\n", iface, wrap_u, wrap_v); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetVelocity(IDirect3DRMFrame3 *iface, IDirect3DRMFrame3 *reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) { @@ -1847,6 +2396,15 @@ static HRESULT WINAPI d3drm_frame2_SetVelocity(IDirect3DRMFrame2 *iface, return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetVelocity(IDirect3DRMFrame *iface, + IDirect3DRMFrame *reference, D3DVALUE x, D3DVALUE y, D3DVALUE z, BOOL with_rotation) +{ + FIXME("iface %p, reference %p, x %.8e, y %.8e, z %.8e, with_rotation %#x stub!\n", + iface, reference, x, y, z, with_rotation); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_SetZbufferMode(IDirect3DRMFrame3 *iface, D3DRMZBUFFERMODE mode) { FIXME("iface %p, mode %#x stub!\n", iface, mode); @@ -1861,6 +2419,13 @@ static HRESULT WINAPI d3drm_frame2_SetZbufferMode(IDirect3DRMFrame2 *iface, D3DR return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_SetZbufferMode(IDirect3DRMFrame *iface, D3DRMZBUFFERMODE mode) +{ + FIXME("iface %p, mode %#x stub!\n", iface, mode); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame3_Transform(IDirect3DRMFrame3 *iface, D3DVECTOR *d, D3DVECTOR *s) { FIXME("iface %p, d %p, s %p stub!\n", iface, d, s); @@ -1875,6 +2440,13 @@ static HRESULT WINAPI d3drm_frame2_Transform(IDirect3DRMFrame2 *iface, D3DVECTOR return E_NOTIMPL; } +static HRESULT WINAPI d3drm_frame1_Transform(IDirect3DRMFrame *iface, D3DVECTOR *d, D3DVECTOR *s) +{ + FIXME("iface %p, d %p, s %p stub!\n", iface, d, s); + + return E_NOTIMPL; +} + static HRESULT WINAPI d3drm_frame2_AddMoveCallback2(IDirect3DRMFrame2 *iface, D3DRMFRAMEMOVECALLBACK cb, void *ctx, DWORD flags) { @@ -2263,6 +2835,79 @@ static const struct IDirect3DRMFrame2Vtbl d3drm_frame2_vtbl = d3drm_frame2_GetHierarchyBox, }; +static const struct IDirect3DRMFrameVtbl d3drm_frame1_vtbl = +{ + d3drm_frame1_QueryInterface, + d3drm_frame1_AddRef, + d3drm_frame1_Release, + d3drm_frame1_Clone, + d3drm_frame1_AddDestroyCallback, + d3drm_frame1_DeleteDestroyCallback, + d3drm_frame1_SetAppData, + d3drm_frame1_GetAppData, + d3drm_frame1_SetName, + d3drm_frame1_GetName, + d3drm_frame1_GetClassName, + d3drm_frame1_AddChild, + d3drm_frame1_AddLight, + d3drm_frame1_AddMoveCallback, + d3drm_frame1_AddTransform, + d3drm_frame1_AddTranslation, + d3drm_frame1_AddScale, + d3drm_frame1_AddRotation, + d3drm_frame1_AddVisual, + d3drm_frame1_GetChildren, + d3drm_frame1_GetColor, + d3drm_frame1_GetLights, + d3drm_frame1_GetMaterialMode, + d3drm_frame1_GetParent, + d3drm_frame1_GetPosition, + d3drm_frame1_GetRotation, + d3drm_frame1_GetScene, + d3drm_frame1_GetSortMode, + d3drm_frame1_GetTexture, + d3drm_frame1_GetTransform, + d3drm_frame1_GetVelocity, + d3drm_frame1_GetOrientation, + d3drm_frame1_GetVisuals, + d3drm_frame1_GetTextureTopology, + d3drm_frame1_InverseTransform, + d3drm_frame1_Load, + d3drm_frame1_LookAt, + d3drm_frame1_Move, + d3drm_frame1_DeleteChild, + d3drm_frame1_DeleteLight, + d3drm_frame1_DeleteMoveCallback, + d3drm_frame1_DeleteVisual, + d3drm_frame1_GetSceneBackground, + d3drm_frame1_GetSceneBackgroundDepth, + d3drm_frame1_GetSceneFogColor, + d3drm_frame1_GetSceneFogEnable, + d3drm_frame1_GetSceneFogMode, + d3drm_frame1_GetSceneFogParams, + d3drm_frame1_SetSceneBackground, + d3drm_frame1_SetSceneBackgroundRGB, + d3drm_frame1_SetSceneBackgroundDepth, + d3drm_frame1_SetSceneBackgroundImage, + d3drm_frame1_SetSceneFogEnable, + d3drm_frame1_SetSceneFogColor, + d3drm_frame1_SetSceneFogMode, + d3drm_frame1_SetSceneFogParams, + d3drm_frame1_SetColor, + d3drm_frame1_SetColorRGB, + d3drm_frame1_GetZbufferMode, + d3drm_frame1_SetMaterialMode, + d3drm_frame1_SetOrientation, + d3drm_frame1_SetPosition, + d3drm_frame1_SetRotation, + d3drm_frame1_SetSortMode, + d3drm_frame1_SetTexture, + d3drm_frame1_SetTextureTopology, + d3drm_frame1_SetVelocity, + d3drm_frame1_SetZbufferMode, + d3drm_frame1_Transform, +}; + static inline struct d3drm_frame *unsafe_impl_from_IDirect3DRMFrame3(IDirect3DRMFrame3 *iface) { if (!iface) @@ -2272,6 +2917,15 @@ static inline struct d3drm_frame *unsafe_impl_from_IDirect3DRMFrame3(IDirect3DRM return impl_from_IDirect3DRMFrame3(iface); } +static inline struct d3drm_frame *unsafe_impl_from_IDirect3DRMFrame(IDirect3DRMFrame *iface) +{ + if (!iface) + return NULL; + assert(iface->lpVtbl == &d3drm_frame1_vtbl); + + return impl_from_IDirect3DRMFrame(iface); +} + HRESULT Direct3DRMFrame_create(REFIID riid, IUnknown *parent, IUnknown **out) { struct d3drm_frame *object; @@ -2282,6 +2936,7 @@ HRESULT Direct3DRMFrame_create(REFIID riid, IUnknown *parent, IUnknown **out) if (!(object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object)))) return E_OUTOFMEMORY; + object->IDirect3DRMFrame_iface.lpVtbl = &d3drm_frame1_vtbl; object->IDirect3DRMFrame2_iface.lpVtbl = &d3drm_frame2_vtbl; object->IDirect3DRMFrame3_iface.lpVtbl = &d3drm_frame3_vtbl; object->ref = 1;