Commit Graph

474 Commits

Author SHA1 Message Date
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
André Hentschel 0c0b6a1096 d3drm: Forward all IUnknown methods to IDirect3DRM. 2012-01-20 14:22:35 +01:00
André Hentschel dfd7c70d37 d3drm: Reorder d3drm creation function to avoid forward declarations. 2012-01-20 14:22:30 +01:00
André Hentschel 9defecb013 d3drm: Forward all IUnknown methods from IDirect3DRMMeshBuilder3. 2012-01-20 14:22:24 +01:00
André Hentschel 2e3e62b6aa d3drm: Reorder meshbuilder creation function to avoid forward declarations. 2012-01-20 14:22:21 +01:00
André Hentschel c5cf5f8ea8 d3drm: Reorder frame creation function to avoid forward declarations. 2012-01-20 14:19:49 +01:00
André Hentschel 3935124d44 d3drm: Add IDirect3DRMViewport2 interface. 2012-01-18 16:22:40 +01:00
André Hentschel c6bd442446 d3drm: Reorder viewport creation function to avoid forward declarations. 2012-01-18 16:22:17 +01:00
André Hentschel d05f3e06c8 d3drm: Forward all IUnknown methods from IDirect3DRMDevice3. 2012-01-18 16:22:12 +01:00
André Hentschel e1c00d32ed d3drm: Add IDirect3DRMWinDevice interface. 2012-01-18 16:22:07 +01:00
André Hentschel 2e963df911 d3drm: Reorder device creation function to avoid forward declarations. 2012-01-18 16:21:57 +01:00
André Hentschel a6b209d801 d3drm: Add IDirect3DRMDevice3 interface. 2012-01-16 12:45:38 +01:00
André Hentschel 467bbc4497 d3drm: Fix invocation of GetTextureCoordinates. 2012-01-16 12:45:38 +01:00
André Hentschel 33c7a865cb d3drm: Implement GetVertices for IDirect3DRMMeshBuilder3. 2012-01-13 18:17:31 +01:00
André Hentschel 1b3c8aaf06 d3drm/tests: Add refcount testing. 2012-01-13 18:17:30 +01:00
André Hentschel 5aa43a2bfb d3drm: Move GetTextureCoordinates from IDirect3DRMMeshBuilder2 to IDirect3DRMMeshBuilder3. 2012-01-13 18:17:30 +01:00
André Hentschel e27d3c0ea5 d3drm: Add more partial stubs for device creation. 2012-01-13 18:17:29 +01:00
André Hentschel 7a96cb4e67 d3drm: Add IDirect3DRMViewport interface. 2012-01-13 18:17:29 +01:00
André Hentschel f018a86137 d3drm: Add IDirect3DRMDevice2 interface. 2012-01-13 18:17:28 +01:00
André Hentschel 3931338eca d3drm: Move Load implementation to IDirect3DRMMeshBuilder3. 2012-01-13 18:17:27 +01:00
André Hentschel d16806e3fb d3drm: Add more Frame tests. 2012-01-13 18:17:27 +01:00
André Hentschel 455edb1870 d3drm: Add more MeshBuilder tests. 2012-01-13 18:17:26 +01:00
André Hentschel 59186dd4a0 d3drm: Fix QueryInterface forwarding. 2012-01-13 18:17:26 +01:00
André Hentschel b5ba054ce8 Assorted header comment cleanup. 2012-01-04 19:35:13 +01:00
André Hentschel 9aaa01ecc5 d3drm: Add IDirect3DRMFrame3 interface. 2012-01-04 19:30:35 +01:00
André Hentschel 8f0ac41d3f d3drm: Add IDirect3DRMFrame2 interface. 2012-01-03 19:27:05 +01:00
André Hentschel 723ae056b9 d3drm: Add IDirect3DRM3 interface. 2011-12-29 16:19:05 +01:00
André Hentschel 7164806b56 d3drm: Add IDirect3DRMMeshBuilder3 interface. 2011-12-29 16:19:04 +01:00
André Hentschel 7fd38368b4 d3drm: Add IDirect3DRM2 interface. 2011-12-28 18:59:11 +01:00
André Hentschel f8766bdc72 d3drm: Add IDirect3DRMMeshBuilder2 interface. 2011-12-28 18:57:07 +01:00
André Hentschel a1a1cbcff0 d3drm: Fix the order of the IDirect3DRM methods. 2011-12-27 16:55:07 +01:00
Francois Gouget 9fbd18cc34 d3drm/tests: Remove an unneeded assert.h include. 2011-09-27 10:59:02 +02:00
Frédéric Delanoy 760faf01a9 tests: Assorted spelling fixes. 2011-08-04 18:27:37 +02:00
Marcus Meissner 75e7167a0f d3drm: Mark internal symbols as hidden. 2011-05-16 16:35:33 +02:00
Michael Stefaniuc 278b7a0445 d3drm: Use an iface instead of a vtbl pointer in IDirect3DRMMeshBuilderImpl. 2010-11-29 13:28:22 +01:00
Michael Stefaniuc 93fc13522c d3drm: Use an iface instead of a vtbl pointer in IDirect3DRMImpl. 2010-11-29 13:28:21 +01:00
Alexandre Julliard 730f01801f tests: Make some variables static. 2010-10-01 13:41:42 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Alexandre Julliard afa57da929 d3drm: Use float instead of long in the spec file for 32-bit floating point values. 2010-08-31 14:23:48 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
David Adam 668ddfba33 d3drm: Remove a useless comment. 2010-05-24 14:45:48 +02:00
David Adam c042f935b1 d3drm: Do not redefine already defined guids. 2010-05-24 14:45:44 +02:00
David Adam 6448987253 d3drm: Remove a useless include. 2010-05-24 14:45:40 +02:00
Gerald Pfeifer 40b1b8fa7e d3drm: Remove two variables which are not really used from IDirect3DRMMeshBuilderImpl_Load. 2010-04-26 07:01:13 -05:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Christian Costa edb9fad0a8 d3drm: Use proper macro for AddRef. 2010-03-01 12:05:53 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Christian Costa e0756602a4 d3drm: Make IDirect3DRMMeshBuilderImpl_Load handle normals and texture coordinates.
Implement IDirect3DRMMeshBuilderImpl_GetTextureCoordinates.
2010-02-15 12:20:02 +01:00
Christian Costa 739c1177d9 d3drm: Remove wrong description. 2010-02-15 12:20:02 +01:00
Christian Costa a4b622d81a d3drm: Beginning of Mesh info retrieval. 2010-02-08 17:14:44 +01:00
Christian Costa edd9e8cc5b d3drm: Improve IDirect3DRMMeshBuilderImpl_Load and corresponding test. 2010-02-04 13:39:28 +01:00
Christian Costa 3d361e6412 d3drm/tests: Use better name for test function and make it static (spotted by Stefan Dosinger). 2010-02-03 11:07:34 +01:00
Christian Costa 4296852b88 d3drm: Implement partially IDirect3DRMMeshBuilderImpl_Load. 2010-02-01 12:49:29 +01:00
Christian Costa aaf2ef418e d3drm: Add some tests. 2010-02-01 12:49:14 +01:00
Christian Costa 5b6eada53f d3drm: Add stubbed implementation of IDirect3DRMMeshBuilder. 2010-01-29 14:59:53 +01:00
Christian Costa 3ad04c18c0 d3drm: Simplify declaration of VTable members (spotted by Dmitry Timoshkov). 2010-01-14 09:09:06 -06:00
David Adam 7822494499 d3drm: The input quaternions are not changed when calling D3DRMQuaternionSlerp. 2010-01-11 11:29:59 -06:00
Christian Costa a59922ab55 d3drm: Implement stubbed IDirect3DRM interface. 2010-01-08 10:12:56 +01:00
Christian Costa e54b46021d d3drm: Add stub for Direct3DRMCreate. 2009-12-31 12:12:18 +01:00
Francois Gouget 1fab15a72f d3drm/tests: Fix compilation on systems that don't support nameless unions. 2009-08-31 12:41:22 +02:00
David Adam 32064cb553 d3drm: D3DRMQuaternionSlerp should be tested against returned Windows values. 2009-02-17 12:46:50 +01:00
David Adam 687ce93882 d3drm: Simplify some functions. 2009-02-16 15:35:15 +01:00
David Adam f877cb9a89 d3drm: Allow output pointer to be equal to input pointer. 2009-02-16 15:35:15 +01:00
David Adam 44e74969e3 d3drm: Implement the spherical interpolation part of D3DRMQuaternionSlerp. 2009-02-16 15:35:15 +01:00
David Adam a737dcf03d d3drm: Remove unneeded includes. 2009-02-16 15:35:15 +01:00
Andrew Talbot 0fb481e0fd d3drm: Remove unused Wine debug channel. 2008-12-17 13:52:40 +01:00
Alexandre Julliard 79c64acc7b tests: Don't depend on the static uuid libraries in the tests.
This avoids trouble with the broken MingW libraries when
cross-compiling the tests.
2008-07-08 17:51:45 +02:00
Alexandre Julliard dad21bbcbf makefiles: List the static libraries as normal imports instead of extra libs. 2008-04-30 14:23:55 +02:00
Rob Shearman 48000893f9 makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
Only specify the root to keep platform-specifics out of the individual 
DLL makefiles.
2008-03-04 20:55:01 +01:00
Francois Gouget 29ef0b90ee Assorted spelling, punctuation and case fixes. 2008-03-03 12:04:48 +01:00
Francois Gouget cacf37f0eb d3drm/tests: Fix the Visual C++ double to float conversion warnings. 2007-05-31 14:18:39 +02:00
David Adam 7eaf1fe2f5 d3drm: Implement D3DRMCreateColorRGB. 2007-05-21 15:58:51 +02:00
David Adam 21b7413dee d3drm: Implement D3DRMCreateColorRGBA. 2007-05-21 15:58:35 +02:00
David Adam d3e8c930e3 d3drm: Implement D3DRMColorGetAlpha. 2007-05-21 15:57:09 +02:00
David Adam d400728521 d3drm: Implement D3DRMColorGetBlue. 2007-05-21 15:56:53 +02:00
David Adam fba5b11bea d3drm: Implement D3DRMColorGetGreen. 2007-05-21 15:56:32 +02:00
David Adam e1d3e65381 d3drm: Implement D3DRMColorGetRed. 2007-05-21 15:56:14 +02:00
Paul Vriens 59eb871459 d3drm/tests: d3drm is removed from Windows Vista. 2007-05-11 14:02:27 +02:00
Francois Gouget 0e1a34d2a2 d3drm: Fix compilation on systems that don't support nameless unions. 2007-04-30 12:34:54 +02:00
Francois Gouget 75e5fb933a d3drm/tests: Add missing '\n' to ok() calls. 2007-04-30 12:34:44 +02:00
David Adam d53d7c9ea2 d3drm: Implement D3DRMQuaternionSlerp. 2007-04-23 20:45:47 +02:00
David Adam 909b502360 d3drm: Implement D3DRMQuaternionFromRotation. 2007-04-23 20:42:51 +02:00
David Adam f13c45f4dc d3drm: Implement D3DRMMatrixFromQuaternion. 2007-04-23 20:41:03 +02:00
David Adam 9fa78fd4d7 d3drm: Implement D3DRMVectorRotate. 2007-04-23 20:32:07 +02:00
David Adam f289cf3129 d3drm: Implement D3DRMQuaternionMultiply. 2007-04-23 20:31:31 +02:00
David Adam 7fccb04201 d3drm: Implement D3DRMVectorReflect. 2007-04-23 20:27:39 +02:00
David Adam f9e6f42b86 d3drm: Implement D3DRMVectorRandom. 2007-04-23 20:26:37 +02:00
David Adam 819362d0f7 d3drm: Implement D3DRMVectorNormalize. 2007-04-23 20:25:18 +02:00
David Adam 5524923c07 d3drm: Implement D3DRMVectorscale. 2007-04-23 20:23:54 +02:00
David Adam d882ee2746 d3drm: Implement D3DRMVectorModulus. 2007-04-23 20:23:23 +02:00
David Adam de77d8e9fc d3drm: Implement D3DRMVectorDotProduct. 2007-04-23 20:22:19 +02:00
David Adam d152211e21 d3drm: Implement D3DRMVectorCrossProduct. 2007-04-23 20:21:56 +02:00
David Adam 70a1cef5e4 d3drm: Implement D3DVectorSubtract. 2007-04-23 20:21:40 +02:00
David Adam f50800b25d d3drm: Implement D3DRMVectorAdd. 2007-04-23 20:21:13 +02:00
Alexandre Julliard 32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Alexandre Julliard 77dc0d9be5 .gitignore: Added wildcards to ignore generated resource files. 2006-07-10 21:39:00 +02:00
Alexandre Julliard 5258e061dc make_dlls: Ignore generated import libraries from the top-level .gitignore. 2006-07-10 20:55:58 +02:00
Alexandre Julliard cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard c39a5f0dba Added DLL_WINE_PREATTACH handling in a number of stub-only dlls. 2006-03-21 16:19:07 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Alexandre Julliard b6b180a16d Moved the implementation of spec file stubs to the winecrt0 library. 2005-08-25 15:27:44 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Peter Berg Larsen f8e559f7f4 Added a simple d3drm.h header.
Corrected a copy/paste typo from d3dim.
2005-01-24 11:33:47 +00:00
Tom Wickline 5c38e1b561 Version resources cleanup. 2004-11-23 13:59:34 +00:00
Ivan Leo Puoti 3e42f6953e Changed my name, so update copyright info. 2004-05-27 02:25:13 +00:00
Ivan Leo Murray-Smith 8f14eb0eb6 Added empty (stubs in spec only) d3drm. 2004-05-18 00:54:12 +00:00