Commit Graph

358 Commits

Author SHA1 Message Date
Frédéric Delanoy 8ec82dfaae d3drm: Fix a leak (coverity). 2012-12-24 13:33:06 +01:00
Christian Costa f0dd310018 d3drm: Fix return error code. 2012-12-17 20:31:24 +01:00
Christian Costa 871aa9d14d d3drm: Check params in IDirect3DRMMeshBuilder2Impl_GetVertices + tests. 2012-12-17 20:31:23 +01:00
Christian Costa ec51c5f737 d3drm: Face data size is in number of DWORD. 2012-12-14 11:56:53 +01:00
Christian Costa 53e37121a4 d3drm: Handle texture load proc when loading mesh data. 2012-12-14 11:56:48 +01:00
Christian Costa 7a5b12c8ef d3drm: Handle all materials in material list and create corresponding mesh groups + tests. 2012-12-13 20:18:05 +01:00
Christian Costa 6595cdd41f d3drm: Load object only if it is top level and requested or if it is part of another object. 2012-12-12 20:18:13 +01:00
Henri Verbeet 4904156946 d3drm: Avoid LPDIRECT3DDEVICE. 2012-11-21 13:25:50 +01:00
Henri Verbeet 55ee76431c d3drm: Avoid LPDIRECT3DDEVICE2. 2012-11-21 13:25:45 +01:00
Henri Verbeet 0ac2b823b5 d3drm: Avoid LPDIRECT3DVIEWPORT. 2012-11-21 13:25:38 +01:00
Henri Verbeet 0a7e2accc4 d3drm: Avoid LPDIRECTDRAWCLIPPER. 2012-11-20 11:44:16 +01:00
Henri Verbeet 34dd6ff2e4 d3drm: Avoid LPDIRECTDRAWSURFACE. 2012-11-20 11:44:11 +01:00
Christian Costa 1b2aacc97b d3drm: Implement texture SetAppData and GetAppData. 2012-11-13 18:10:21 +01:00
Frédéric Delanoy 1ae9acb0df d3drm: Fix a leak (coverity). 2012-11-08 15:37:53 +01:00
Christian Costa de690b8dae d3drm: Move mesh builder data cleaning code into a separate function. 2012-10-31 18:13:05 +01:00
Christian Costa 43d3ba36a1 d3drm: Init vertices before creating group. 2012-10-31 18:09:19 +01:00
Christian Costa 2978dbea0b d3drm: When creating a mesh, if all faces have the same number of vertex, set vertex_per_face and don't put nb indices in face data. 2012-10-25 16:51:59 +02:00
Christian Costa cb131bf030 d3drm: Fix normals computation and add according tests. 2012-10-22 12:06:21 +02:00
Christian Costa 466c244d18 d3drm: Enum all materials even if only the first one is handled. 2012-10-22 12:05:53 +02:00
Christian Costa 5e1d854ee5 d3drm: Fix child leak. 2012-10-22 12:05:48 +02:00
Christian Costa ff0e82502f d3drm: Fix wrong condition. 2012-10-22 12:05:44 +02:00
André Hentschel 2a42410e7c d3drm: Fix memcpy arguments for matrix transformations (coverity). 2012-10-19 11:16:16 +02:00
André Hentschel c10d95b64a d3drm: Add SceneBackground handling. 2012-08-13 17:01:43 +02:00
Michael Stefaniuc 9e183990f2 d3drm: Make IDirect3DRMx_CreateFrame() more forgiving about the parent frame. 2012-07-02 10:54:49 +02:00
Michael Stefaniuc 4754a3d605 d3drm: Get rid of unsafe_impl_from_IDirect3DRMFrame2(). 2012-06-27 11:36:41 +02:00
André Hentschel 6f3c571a05 d3drm/tests: Destroy window after use. 2012-06-19 11:10:23 +02:00
André Hentschel 4dc0ee57f6 d3drm: Implement IDirect3DRMViewportX_GetClassName. 2012-06-18 11:59:40 +02:00
André Hentschel d9ec2b6dfd d3drm: Implement IDirect3DRMWinDevice_GetClassName. 2012-06-18 11:59:40 +02:00
André Hentschel 069e93f715 d3drm: Implement IDirect3DRMDeviceX_GetClassName. 2012-06-18 11:59:40 +02:00
André Hentschel e5de199289 d3drm: Implement IDirect3DRMTextureX_GetClassName. 2012-06-18 11:59:40 +02:00
André Hentschel b2de41308e d3drm: Fix initial specular value of the Material2 interface. 2012-06-18 11:59:40 +02:00
André Hentschel d71bf7fdb7 d3drm: Implement IDirect3DRMX_CreateTexture. 2012-06-18 11:59:40 +02:00
André Hentschel 029318107b d3drm: Implement IDirect3DRMMaterial2_GetClassName. 2012-06-18 11:59:40 +02:00
André Hentschel 00773feafd d3drm: Implement IDirect3DRMMesh_GetClassName. 2012-06-18 11:59:40 +02:00
André Hentschel ac5b932363 d3drm: Implement IDirect3DRMX_CreateMesh. 2012-06-18 11:59:40 +02:00
André Hentschel afe616b588 d3drm: Implement IDirect3DRMMeshBuilderX_GetClassName. 2012-06-15 10:31:53 +02:00
André Hentschel 546a3dcffc d3drm: Implement IDirect3DRMLight_GetClassName. 2012-06-15 10:31:49 +02:00
André Hentschel 9014211796 d3drm: Implement IDirect3DRMFrameX_GetClassName. 2012-06-15 10:31:33 +02:00
André Hentschel 0a0fe20988 d3drm/tests: Add GetClassName tests. 2012-06-13 21:35:42 +02:00
Francois Gouget 04f19989d0 d3drm: Make Direct3DRM{Frame,Light,Visual}Array_create() static. 2012-06-12 11:10:22 +02:00
Francois Gouget 86a2fcf614 d3drm: Move up the IDirect3DRM{Frame,Light,Visual}Array implementations to avoid forward declarations. 2012-06-12 11:10:17 +02:00
Christian Costa f1cd213931 d3drm: Implement IDirect3DRMMeshImpl_SetGroupColorRGB. 2012-06-11 11:25:18 +02:00
Christian Costa 85f4fda840 d3drm: Free all mesh resources when releasing mesh object. 2012-06-11 11:25:08 +02:00
Christian Costa a77fd778c2 d3drm: Free texture object when releasing mesh builder object. 2012-06-11 11:25:03 +02:00
Christian Costa 0023ddf117 d3drm: Handle texture associated with the material when loading a mesh. 2012-06-11 11:24:58 +02:00
Christian Costa 422d57e7d2 d3drm: Fix vertex index test and print a warning when it is out of range. 2012-06-11 11:24:40 +02:00
André Hentschel 89d43a3dd7 d3drm: Improve IDirect3DRMWinDevice_HandlePaint stub. 2012-06-07 16:07:20 +02:00
André Hentschel 95bedf4c11 d3drm: Improve IDirect3DRMDeviceX_Update stub. 2012-06-07 16:07:20 +02:00
André Hentschel 2c6f238281 d3drm: Improve IDirect3DRMViewportX_Render stub. 2012-06-07 16:07:19 +02:00
André Hentschel 8558a948a9 d3drm: Improve IDirect3DRMViewportX_Clear stub. 2012-06-07 16:07:19 +02:00
André Hentschel 7e001ae60e d3drm: Implement IDirect3DRMViewportX_[Get|Set]Projection. 2012-06-07 16:07:19 +02:00
André Hentschel 9a8b788dc5 d3drm: Implement IDirect3DRMViewportX_[Get|Set]Field. 2012-06-07 16:07:18 +02:00
André Hentschel 48b0666d7f d3drm: Implement IDirect3DRMViewportX_[Get|Set]Front. 2012-06-07 16:07:17 +02:00
André Hentschel ece2ca78ea d3drm: Implement IDirect3DRMViewportX_[Get|Set]Back. 2012-06-07 16:07:17 +02:00
André Hentschel 6e9cbf1b2e d3drm: Implement IDirect3DRMLight_[Get|Set]Penumbra. 2012-06-07 16:07:16 +02:00
André Hentschel e89d2f4d34 d3drm: Implement IDirect3DRMLight_[Get|Set]Umbra. 2012-06-07 16:07:16 +02:00
André Hentschel 5fc563b0f0 d3drm: Implement IDirect3DRMLight_[Get|Set]QuadraticAttenuation. 2012-06-07 16:07:15 +02:00
André Hentschel b04eceed45 d3drm: Implement IDirect3DRMLight_[Get|Set]LinearAttenuation. 2012-06-07 16:07:14 +02:00
André Hentschel 2f5608877d d3drm: Implement IDirect3DRMLight_[Get|Set]ConstantAttenuation. 2012-06-07 16:07:14 +02:00
Michael Stefaniuc 8e4d76bf2c d3drm/tests: Remove stray backslashes at end of lines. 2012-06-07 10:33:10 +02:00
Christian Costa 6aa77edfb3 d3drm: Implement IDirect3DRMMeshBuilderX_SetMaterial. 2012-06-06 12:44:29 +02:00
Christian Costa 8080528fc4 d3drm: Pass texture of mesh builder to newly created mesh. 2012-06-06 12:41:26 +02:00
Christian Costa db6b10e22d d3drm: Implement IDirect3DRMMesh_SetGroupTexture. 2012-06-06 12:40:42 +02:00
Christian Costa 23db9d8bed d3drm: Pass mesh builder color to newly created mesh. 2012-06-05 19:58:12 +02:00
Christian Costa b7a74b0204 d3drm: Implement IDirect3DRMMeshImpl_SetGroupColor. 2012-06-05 19:58:12 +02:00
Christian Costa ab08e5938a d3drm: Load mesh color to mesh builder. 2012-06-05 19:58:11 +02:00
Christian Costa ab8619e920 d3drm: Implement IDirect3DRMMesh_GetGroupColor. 2012-06-05 19:58:11 +02:00
Christian Costa 08cfdc1191 d3drm: Implement IDirect3DRMMeshBuilderX_SetColor and IDirect3DRMMeshBuilderX_SetColorRGB. 2012-06-05 19:58:11 +02:00
Francois Gouget 1f6d078e1b Assorted spelling fixes. 2012-06-04 12:17:54 +02:00
Christian Costa 38ba9bacd0 d3drm: Implement IDirect3DRMMeshImpl_SetGroupMaterial and forward material from mesh builder to created mesh. 2012-06-01 13:24:20 +02:00
Christian Costa 84f2e0e9ac d3drm: Handle material list in mesh. 2012-06-01 13:24:17 +02:00
Christian Costa 8d9d97be0f d3drm: Generate normals automatically when there are not present in the x file. 2012-05-30 17:17:56 +02:00
Christian Costa 3fbe4914bd d3drm: Implement IDirect3DRMMeshImpl_GetGroupMaterial. 2012-05-30 17:17:55 +02:00
Christian Costa b340501a93 d3drm: Implement IDirect3DRMMesh_GetGroupTexture. 2012-05-30 17:17:55 +02:00
Christian Costa 6e15d91927 d3drm: Implement IDirect3DRMFrameXImpl_GetLights and IDirect3DRMLightArray interface. 2012-05-30 17:17:53 +02:00
André Hentschel d04d994093 d3drm: Implement IDirect3DRMLight_[Get|Set]Range. 2012-05-29 10:55:40 +02:00
André Hentschel d2a52d1e17 d3drm: Implement IDirect3DRMLight_[Get|Set]Color and IDirect3DRMLight_SetColorRGB. 2012-05-29 10:55:34 +02:00
André Hentschel 8fa6a0b4fd d3drm: Implement IDirect3DRMLight_[Get|Set]Type. 2012-05-29 10:55:19 +02:00
André Hentschel fde35902a7 d3drm: Improve stub for IDirect3DRMWinDevice_HandleActivate. 2012-05-29 10:54:58 +02:00
André Hentschel 5ab7b75ceb d3drm: Implement width and height handling in device interfaces. 2012-05-29 10:54:47 +02:00
André Hentschel 2ab69db4c3 d3drm: Implement IDirect3DRMDeviceX_[Get|Set]RenderMode. 2012-05-29 10:54:33 +02:00
André Hentschel 66262eea55 d3drm: Implement IDirect3DRMDeviceX_[Get|Set]Quality. 2012-05-29 10:54:27 +02:00
André Hentschel 2268f8c7f1 d3drm: Implement IDirect3DRMDeviceX_[Get|Set]Dither. 2012-05-29 10:54:15 +02:00
Christian Costa a33037abd1 d3drm: Add support for D3DRMLOAD_FROMFILE in IDirect3DRMMeshBuilder3_Load. 2012-05-25 13:44:19 +02:00
Christian Costa b8a504729f d3drm: Add stub interface for IDirectTextureX. 2012-05-24 20:08:44 +02:00
Christian Costa 2d09fb800b d3drm: Add some tests for mesh default material and texture. 2012-05-24 20:08:44 +02:00
Christian Costa 8f86a0bbdd d3drm: Material object is taken into account when a mesh references it. 2012-05-23 17:49:59 +02:00
Christian Costa a442fcc9c6 d3drm: Implement IDirect3DRMXImpl_CreateMaterial. 2012-05-23 17:49:59 +02:00
Christian Costa 5b11bd8bac d3drm: Implement IDirect3DRMMaterial2 interface. 2012-05-23 17:49:57 +02:00
Christian Costa bbbe6d3e71 d3drm: Fix method name Material to CreateMaterial. 2012-05-23 17:41:19 +02:00
Christian Costa 63f39c9196 d3drm: Set vertices data of the created mesh. 2012-05-23 17:41:14 +02:00
Christian Costa 24817de04e d3drm: Implement IDirect3DRMMesh_GetVertices. 2012-05-22 18:06:13 +02:00
Christian Costa b068615ef3 d3drm: Implement IDirect3DRMMesh_SetVertices. 2012-05-22 18:06:11 +02:00
Christian Costa f0d3f207ab d3drm: Implement IDirect3DRMMesh_GetGroup. 2012-05-22 18:06:04 +02:00
Christian Costa 5a979deeb3 d3drm: Implement IDirect3DRMMesh_GetGroupCount. 2012-05-21 20:21:56 +02:00
Christian Costa 8bba7cd226 d3drm: Improve IDirect3DRMMeshBuilder3_CreateMesh and forward IDirect3DRMMeshBuilder2_CreateMesh to it. 2012-05-21 20:21:51 +02:00
Christian Costa 43fed89d04 d3drm: Implement IDirect3DRMMesh_AddGroup. 2012-05-21 20:21:46 +02:00
Christian Costa e07f824241 d3drm: Implement IDirect3DRMMeshBuilderX_Scale method. 2012-05-21 20:21:32 +02:00
Francois Gouget 2b89bc528c d3drm: Make load_data() static. 2012-05-21 11:34:36 +02:00
Christian Costa 795bea989d d3drm: IDirect3DRM3_Load implementation is correct now. 2012-05-18 18:12:54 +02:00
Christian Costa 22856e9c96 d3drm: Hande parent when creating a new frame. 2012-05-17 17:21:15 +02:00
Christian Costa 8aba0e2ec3 d3drm: Improve traces of AddRef and Release of IDirect3DRMLight. 2012-05-17 17:21:07 +02:00
Christian Costa 2dbbecbb9e d3drm: Display new ref in trace for AddRef and Release for IDirect3DRMMesh. 2012-05-17 17:20:57 +02:00
Christian Costa 9e44f89d6b d3drm: Implement IDirect3DRMFrameX_AddTransform. 2012-05-17 17:20:51 +02:00
Christian Costa 8b405d5dc9 d3drm: Load transform matrix and aply it to the current frame. 2012-05-17 17:20:43 +02:00
Christian Costa 20bf183726 d3drm: Free visual and light resources when releasing frame. 2012-05-16 20:27:28 +02:00
Christian Costa 3447f17230 d3drm: Attach mesh to the parent frame if any. 2012-05-16 20:27:27 +02:00
Christian Costa 6d47694bdf d3drm: Load all sub-objects when a frame is found. 2012-05-16 20:27:26 +02:00
Christian Costa 37c427f54a d3drm: Implement IDirect3DRMFrame2Impl_GetVisuals and IDirect3DRMVisualArray interface. 2012-05-16 20:27:25 +02:00
Christian Costa 0013fc1ca7 d3drm: Move loading code from IDirect3DRM3Impl_Load to a separate function so it can be called recursively. 2012-05-16 20:27:24 +02:00
Christian Costa c436887483 d3drm: Retrieve mesh name at loading time. Implement GetName and SetName. 2012-05-15 17:02:04 +02:00
Christian Costa 4a53e89c11 d3drm: Move some unsafe_impl_from_* call to where variables are declared. 2012-05-10 08:41:15 +02:00
Christian Costa 3e24242618 d3drm/tests: Fix error message. 2012-05-10 08:31:13 +02:00
Christian Costa 43c4c4b1c5 d3drm: Implement IDirect3DRMFrameX_GetTransform. 2012-05-09 11:55:42 +02:00
Christian Costa df36fca97f d3drm: Implement IDirect3DRMFrameX_GetChildren method and IDirect3DRMFrameArray interface. 2012-05-07 17:11:27 +02:00
Christian Costa 722efadc8d d3drm: Implement IDirect3DRMFrameX_GetParent and update tests. 2012-05-07 17:09:35 +02:00
André Hentschel 9c19ba63a8 d3drm/tests: Add tests for handling lights. 2012-05-02 20:21:04 +02:00
André Hentschel 2944d233b8 d3drm: Implement IDirect3DRMFrameX_DeleteLight. 2012-05-02 20:20:48 +02:00
André Hentschel cfa297e253 d3drm: Implement IDirect3DRMFrameX_AddLight. 2012-05-02 20:20:39 +02:00
André Hentschel 107b3d2c19 d3drm: Add IDirect3DRMLight interface. 2012-05-02 20:20:34 +02:00
André Hentschel 782c543abb d3drm/tests: Add tests for handling Visuals. 2012-05-01 14:45:15 +02:00
André Hentschel 154c1658d3 d3drm: Implement IDirect3DRMFrameX_DeleteVisual. 2012-05-01 14:45:11 +02:00
André Hentschel acfb249af6 d3drm: Implement IDirect3DRMFrameX_AddVisual. 2012-05-01 14:45:03 +02:00
Francois Gouget 118ea982f1 d3drm/tests: Make object_load_callback() static. 2012-04-20 12:00:06 +02:00
Christian Costa 4001e60e34 d3drm: Implement IDirect3DRMFrameX_DeleteChild. 2012-04-17 20:09:05 +02:00
Christian Costa 470468c72e d3drm: Implement IDirect3DRMFrameX_AddChild. 2012-04-17 20:08:25 +02:00
Christian Costa efba6cd03b d3drm: Pass the first requested interface when notifying the application. 2012-04-16 18:56:16 +02:00
Michael Stefaniuc 72d7ce28f0 d3drm: Remove leftover return statement (Smatch). 2012-04-16 11:51:20 +02:00
Christian Costa cde9a571c9 d3drm: Display filename when loading data from a file. 2012-04-11 18:15:16 +02:00
Christian Costa bd484dca06 d3drm: Implement CreateMesh method and stubbed IDirect3DRMMesh interface. 2012-04-02 18:34:48 +02:00
Christian Costa 4d53115cb9 d3drm: Add support for frame with fake data in IDirect3DRMX:Load methods + tests. 2012-04-02 18:33:43 +02:00
Christian Costa 5763eb1641 d3drm: Make IDirect3DRMMeshBuilderX stub return D3DRM_OK. 2012-04-02 18:33:35 +02:00
Christian Costa 756f29641b d3drm: Partial implementation of IDirec3DRM:Load method + tests. 2012-03-29 20:49:34 +02:00
Christian Costa db0ad52b49 d3drm: Move mesh loading code into a separate function so it can be shared. 2012-03-29 20:49:34 +02:00
Francois Gouget d2244057a6 d3drm/tests: Fix compilation on systems that don't support nameless unions. 2012-03-26 12:41:26 +02:00
Christian Costa 7a320e5ca4 d3drm: Implement SetTextureCoordinates. 2012-03-16 15:37:29 +01:00
Christian Costa b89c32b2a1 d3drm: If there is no texture coordinates in loaded mesh, generate default texture coordinates for each vertex. 2012-03-16 15:37:19 +01:00
Christian Costa ea532f633c d3drm: Add refcount info to AddRef and Release traces. 2012-03-16 15:36:58 +01:00
Christian Costa 549f8796dd d3drm: Texture callback cannot be passed directly. Texture object argument is different so disable it for now. 2012-03-16 15:36:30 +01:00
Christian Costa c6ce077f41 d3drm: Remove "partial stub" mention of forwarded methods. 2012-03-16 15:36:25 +01:00
Christian Costa 7294b417e3 d3drm: Complete Load method by adding normals indices and terminating null DWORD to faces data + tests. 2012-03-14 17:53:59 +01:00
Christian Costa 5b1cc4682b d3drm: Get data from the right objects (sub-objects). 2012-03-14 17:53:43 +01:00
Christian Costa 0233344799 d3drm: Fix some tests conditions. 2012-03-14 17:52:53 +01:00
Christian Costa fe339ba25b d3drm: Fix leakage of pData2 on error. 2012-03-13 17:44:33 +01:00
Christian Costa ccb38b2d9f d3drm: Fix leakage of This->pCoords2d when releasing object. 2012-03-13 17:44:32 +01:00
Christian Costa 28745b6f98 d3drm: Turn some FIXME into TRACE. 2012-03-13 17:44:32 +01:00
André Hentschel 748bb3e2e7 d3drm/tests: Add GetParent NULL pointer test. 2012-03-13 10:54:03 +01:00
André Hentschel f5dfa21115 d3drm/tests: Add tests for IDirect3DRMFrameArray_GetElement. 2012-03-13 10:54:03 +01:00
André Hentschel 8eae13fd4c d3drm/tests: Add more tests. 2012-01-23 16:06:53 +01:00
André Hentschel dc700123cb d3drm: Forward all IUnknown methods from IDirect3DRMFrame3. 2012-01-23 16:06:53 +01:00