Commit Graph

4992 Commits

Author SHA1 Message Date
Lionel Ulmer 1213c17489 - rewrote a little bit the state magagement to remove the RenderState
stucture and use only the state_block code
 - factorize some code between interface revisions
 - fix some smalls bugs
2003-01-07 23:08:31 +00:00
Francois Gouget ede0e8ae64 In OSS_RawOpenDevice, always retrieve the device format and store it
in the OSS_DEVICE structure.
Modify our internal functions so that they can be told to still open
the device even if the device format is not an exact match.
In wodOpen return the actual device format if the WAVE_DIRECTSOUND
flag is set.
Fixes DirectSound on i810 soundcards (i.e. cards supporting only
48000x16x2).
2003-01-07 23:08:05 +00:00
Dimitrie O. Paun 297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Francois Gouget 112cf22a12 Always open the device in the default 22050x8x2 format, and let it
report the actual device format to us.
2003-01-07 19:43:18 +00:00
Francois Gouget 772cabeba9 Fix the BlockSize check. 2003-01-07 19:43:02 +00:00
Dimitrie O. Paun f53ddb2618 Stubs for DllGetClassObject, Ole[GS]etClipboard in ole2. 2003-01-07 19:42:43 +00:00
Christoph Frick 7f4cb0621b Implementation of (Get|Set)ClipPlane for d3d7. 2003-01-07 19:42:26 +00:00
Francois Gouget 44eb8bf59f Many oleaut32 APIs are missing on Win95/IE3. Load them dynamically.
Uncomment some 'NULL' tests as they pass on Windows and on Wine.
Comment out those that crash on Win95 and indicate why they are
commented out.
Remove two redundant tests in vartest.c (VarI1FromBool and
VarUI2FromI2, last diff hunk).
2003-01-07 19:40:40 +00:00
Alexandre Julliard 52395b0eb9 Fixed some issues caused by the new oaidl.h. 2003-01-05 20:32:30 +00:00
Lionel Ulmer 76beb5b7ec Factorize the 'ortho' code (will be needed later on). 2003-01-05 20:28:35 +00:00
Lionel Ulmer 2d7c07c7c3 Ignore the LPSURFACE bit if ALLOCONLOAD is set. 2003-01-05 20:28:17 +00:00
Ove Kaaven 40b94e5347 Avoid direct ICOM_CALL usage. 2003-01-05 01:06:04 +00:00
Lionel Ulmer 07f1269302 - fix in the GetHandle method
- factorize some code between D3D1/2/3 and D3D7
- fix reference counting for palettes
2003-01-05 01:04:55 +00:00
Marcus Meissner 274e72672b ole2nls.c is a 16bit only.
No need to define ICOM macros for 16bit iface IMalloc16.
Define and implement HGLOBAL_LockBytes16.
Started on StgOpenStorageOnILockBytes.
2003-01-05 01:04:34 +00:00
Francois Gouget 065e928a7b The vt field should be a VARTYPE not a VARENUM. 2003-01-05 01:03:12 +00:00
Francois Gouget ecf2c570d2 Fix signed/unsigned compilation warnings. 2003-01-05 01:02:57 +00:00
Rok Mandeljc 1b3ce0d571 - 3d buffers produce sounds
- some other small fixes
2003-01-04 01:24:59 +00:00
Rok Mandeljc 5b918db643 - cleaned *Set* functions
- added initial code for 3d buffer recalculating
- added some auxiliary functions
2003-01-04 01:22:51 +00:00
Dimitrie O. Paun 8b36681bad Rename __WINE__ to __WINESRC__. 2003-01-04 00:52:18 +00:00
Alexandre Julliard b4a4c05aed Removed a few more #ifdef __WINE__. 2003-01-04 00:19:17 +00:00
Gerald Pfeifer 3af9641e6f #include <stdlib.h> instead of the non-standard <malloc.h>. 2003-01-03 22:32:47 +00:00
Lionel Ulmer 330a1b5f2d Enable Z buffer by default. 2003-01-03 22:32:30 +00:00
Jason Edmeades 850a9429db Added basic support for mipmaping, verified using sample from
codesampler.com.
2003-01-03 21:28:05 +00:00
Jason Edmeades 3d1b725900 - Use faster vertex arrays (rather than processing vertexes one by
one), whenever possible.
- Less trace in the slower form by default.
2003-01-03 21:25:42 +00:00
Lionel Ulmer f89ea6499d - some fixes / optimisations in the color keying code
- minimize at the maximum texture uploads
2003-01-03 21:17:47 +00:00
Lionel Ulmer cec93d0abd - re-activate the color-keying code
- fix yet again texture enumeration to please all games :-/
2003-01-03 21:16:03 +00:00
Christian Costa b110a96226 Reenable device's default render states initialization. 2003-01-03 21:10:11 +00:00
Lionel Ulmer e51b007088 Fix order of texture enumeration to fix yet another set of dumb games. 2003-01-03 21:09:25 +00:00
Christian Costa 4fc7a8495a Beginning of state block.
Initialize the device with the right D3D default values.
Implements GetRenderState, GetTextureStageState and GetLightState.
2003-01-03 21:08:50 +00:00
Lionel Ulmer c064dcf50c - hack for one case of the ProcessVertices case
- some changes in the execute buffer to reuse the new Matrix code
- always reinitialize the enumeration structures in case some games
  modify them
- added support for the (unused) Reserved1 field in the FVF formats
- fix 32 bit texturing and added more checks
- remove some useless and annoying fixme
2003-01-03 21:07:22 +00:00
Lionel Ulmer 0114945b6d - create a function to set the various transformation matrices to
factorize the code between the various code path
- fixed some logging stuff
2003-01-03 21:05:38 +00:00
Lionel Ulmer 74c95ec008 - more thunking in the D3DVertexBuffer COM object
- added 'support' for GetInfo
2003-01-03 21:04:12 +00:00
Lionel Ulmer d0f1569218 - light improvements
- misc. fixes
2003-01-03 21:03:15 +00:00
Dimitrie O. Paun cef5961d2b Eliminate lots of __WINE__ conditionals from the headers. 2003-01-03 19:12:55 +00:00
Lionel Ulmer 5f87d778aa - some additionnal flags logged
- fixes in the vertex buffer thunking + optimized flag support
2003-01-03 19:10:48 +00:00
Francois Gouget f947a58006 Win9x does not support {Get,Set}WindowLongW. Use the Ansi version
instead since it won't impact _these_ tests anyway.
2003-01-03 19:09:23 +00:00
Alexandre Julliard 78ff6763ed Added wine_dbg_sprintf function that allocates a temporary buffer in
the per-thread strings area.
Added inline functions to format POINT, SIZE and RECT structures.
2003-01-03 03:12:58 +00:00
Dimitrie O. Paun dfa6b127c2 SHGetMalloc() returns a HRESULT, not a DWORD. 2003-01-03 03:07:21 +00:00
Lionel Ulmer 5e36ae56b2 Check the value of the pfnCallback in addition to the callback bit. 2003-01-03 03:06:42 +00:00
Stefan Leichter facaee4fd0 Moved implementation of GetPrinterDriverDirectory from ascii to unicode. 2003-01-03 03:04:46 +00:00
Chris Morgan fa93b446d0 Listview should scroll by at least one column, fixes bug where item
being wider than listview prevents any scrolling from occuring.  Added
printing of the scroll code text during tracing of scroll functions.
2003-01-03 03:04:22 +00:00
Dan Kegel adf55c25db ShellExecute(NULL, "wordpad.exe",) now correctly finds wordpad.exe in
App Paths.
2003-01-03 03:03:36 +00:00
Dominik Strasser ab8247ae5f Implement VerSetConditionMask by forwarding to ntdll. 2003-01-03 03:03:07 +00:00
Francois Gouget e0af6d0218 Call lstrcmpW rather than wcscmp. 2003-01-03 03:02:15 +00:00
Marcus Meissner 8ff278d25e Implemented SafeArray{SetIID,GetIID,SetRecordInfo,GetRecordInfo}.
Added support for FADF_HAVEIID, FADF_RECORD, FADF_HAVEVARTYPE.
Implemented SafeArrayAllocDescriptorEx and SafeArrayGetVarType
correctly.
Fixed second argument of SafeArrayCopyData (it is just SAFEARRAY*).
Changed allocation to include 16 bytes before the SAFEARRAY (to store
IID/VARTYPE/IRecordInfo*).
VARTYPE -> size array was not indexed correctly.
Added lots of testcases for most functionality.
Added IRecordInfo interface definition.
2003-01-02 23:13:56 +00:00
Marcus Meissner 48e583db52 Handle VT_ERROR->VT_I4/VT_R4 coercion.
VariantCopy does not need to check the return of VariantClear.
VariantCopyInd now copies VT_UNKNOWN and VT_DISPATCH too.
VarCmp handles VT_BOOL.
VarFormat handles VT_BSTR.
coerce_array fixed for VT_ARRAY|VT_UI1 -> VT_BSTR and VT_ARRAY|x ->
VT_SAFEARRAY cases.
VarCat tries to coerce types into VT_BSTR to do cat.
2003-01-02 23:11:56 +00:00
Marcus Meissner 4beaa06e9d Process TKIND_ALIAS in SLTG typelibs, 0x14 in the tail is the
tdescAlias.vt entry.
Added a small handler for TKIND_DISPATCH in SLTG.
ITypeLib_Release can have a NULL pointer as ITypeInfo*.
Split out _copy_arg function for both DispCall and ITypeInfo_fnInvoke,
added some more functionality.
ITypeInfo_fnInvoke can handle VT_USERDEFINED variants.
2003-01-02 23:11:19 +00:00
Francois Gouget 3b761a6b39 Add the ability of playing a test tone when in interactive mode.
Test both primary and secondary buffers.
2003-01-02 23:08:57 +00:00
Alberto Massari 4ab2eac2cd - Implemented InternetCrackUrlW and re-implemented InternetCrackUrlA
by using the Unicode version.
- InternetCrackUrlW now parses URL having the "about" and "res"
  schemes.
2003-01-02 23:08:22 +00:00
Lionel Ulmer 442b235e63 Fix for stupid applications reading some bytes after the end of the
surface memory.
2003-01-02 20:14:24 +00:00
Lionel Ulmer 00a3d5f3f8 - added enumeration of the Reference device (some games seems to need
it to work and they want it enumerated first..)
- some comments about potential problems with Z masking
2003-01-02 20:13:47 +00:00
Lionel Ulmer 4dac4a5580 Added support for per-vertex material properties. 2003-01-02 20:12:16 +00:00
Christian Costa bc2cf94d2f Reimplemented SwapTextureHandles. 2003-01-02 20:07:05 +00:00
Lionel Ulmer ae10e9c5aa - removed some useless WARNs
- fixed backface culling and material settings
2003-01-02 20:05:48 +00:00
Christian Costa f78cf542dc Fix IDirect3DVertexBuffer interface.
Implements GetVertexBufferDesc.
Remove some useless FIXME.
2003-01-02 20:02:49 +00:00
Lionel Ulmer d70a2c0322 - beginning of Material and Light support for D3D7
- new rendering states supported
2003-01-02 20:01:54 +00:00
Lionel Ulmer 825ad05656 Fixed texturing. 2003-01-02 20:00:25 +00:00
Lionel Ulmer b07df8a198 - allow application to load palette-less textures
- handle palette change of loaded textures
- some changes in the ExecuteBuffer
2003-01-02 19:59:49 +00:00
Lionel Ulmer bb9837d2a4 - added some tracing in the fake ZBuffer methods
- added support for the DEPTH_FILL BLT
- set by defaut perspective correction to nicest.
- decrease the limit where 'w' is ignored
2003-01-02 19:58:21 +00:00
Lionel Ulmer f0541aa544 Added some blend states. 2003-01-02 19:56:52 +00:00
Christian Costa eb620386dd Handle more blend states. 2003-01-02 19:56:08 +00:00
Lionel Ulmer 07bcdf40d1 Prevent memory leak in freeing of the VertexBuffer. 2003-01-02 19:54:09 +00:00
Lionel Ulmer eb6e830727 Implement GetTransform and rework a bit the matrices storage. 2003-01-02 19:53:43 +00:00
Lionel Ulmer 7a025001d3 - implemented GetTexture
- semi-stubbed ValidateTexture
- fixed some errors in logging
2003-01-02 19:52:22 +00:00
Lionel Ulmer 6fb7ed8fa7 Added 'blt' and 'bltfast' override functions. 2003-01-02 19:51:25 +00:00
Lionel Ulmer ce3d96889f Added 'emulated' VertexBuffer support. 2003-01-02 19:46:46 +00:00
Lionel Ulmer c3d89f5566 - do not use the alpha coordinates when ALPHABLEND is disabled
- disable fogging in the XYZRHW case
- various other small fixes
2003-01-02 19:45:23 +00:00
Lionel Ulmer 62d4f41ee8 Factorize some code in the texture uploading function. 2003-01-02 19:44:14 +00:00
Lionel Ulmer da66dad0cc Handle texture addressing the D3D7 way. 2003-01-02 19:43:08 +00:00
Lionel Ulmer ffc8344ef2 Prevent lock-up in paletted texture with no palette case. 2003-01-02 19:41:25 +00:00
Lionel Ulmer 8cd2609587 Enable the application to create first textures and then the D3D
device.
2003-01-02 19:39:57 +00:00
Dmitry Timoshkov 5a23a0012f Added ctl3d, ctl3dv2 and ctl3d32 API implementations. 2003-01-02 19:34:14 +00:00
Patrik Stridvall 46304a7361 Fixed some issues found by winapi_check. 2003-01-02 19:28:09 +00:00
Alberto Massari ca70e84f7f Moved implementation of strpbrkW from filedlg95.c to wine/unicode.h. 2003-01-02 19:25:44 +00:00
Alberto Massari c019f53568 Add stub implementation for ReplaceFile. 2003-01-02 19:24:42 +00:00
Eric Pouech 0fcada9fa7 Removed unused #include of module.h. 2003-01-02 17:59:47 +00:00
Raphael Junqueira 559b10699f - integration with DrawPrimitive
- remove non-esthetic c++ comments into c comments block ;)
- more more debug
- indent, cleanups
- trying to use DIFFUSE and SPECULAR for vertex shader
- many fixes
- integration with Jason's texture patch
2003-01-02 17:59:01 +00:00
Lionel Ulmer 1d97f52fa1 Some clean-ups after the DrawPrimitive rewrite. 2003-01-02 17:57:58 +00:00
Lionel Ulmer 3429c3cffe Fix crash in GetAvailableVidMem function when TRACE is activated. 2003-01-02 17:57:39 +00:00
Eric Pouech 1d854a10b0 When unmapping a (wave|midi)-header unprepare message, make sure the
unpreparation was successful.
2003-01-02 17:56:41 +00:00
Eric Pouech a2251e285a Fixed some nasty bugs in drawdib creation/deletion. 2003-01-02 17:56:07 +00:00
Dominik Strasser 2e27f8c930 Some stubs for dll setup needed by IE6 setup. 2003-01-02 17:55:45 +00:00
Marcus Meissner 1c421d779d Support DllGetClassObject of CLSID_StdPicture.
PICTYPE_NONE has width/height 0.
2003-01-02 17:54:57 +00:00
Rein Klazes 0e162e4643 Let ANIMATE_OpenA return FALSE (= failure) upon a request to close a
previously opened AVI clip when there isn't one.
2003-01-02 17:54:23 +00:00
Gerald Pfeifer e9ba70c364 Fix off_t cast that breaks FreeBSD. 2003-01-02 17:52:53 +00:00
Francois Gouget 88a5cb569b Add support for WINETEST_INTERACTIVE. If set then tests can perform
additional explicitly interactive tests.
Modify the winmm test to use WINETEST_INTERACTIVE.
2003-01-02 17:52:05 +00:00
Alberto Massari bb7e49a4e2 IBindCtx::RegisterObjectParam is supposed to replace the old value if
the key is already registered.
2003-01-02 17:51:34 +00:00
Duane Clark 521aa7412d Validate imagelists with christmas magic. 2003-01-02 17:51:13 +00:00
Francois Gouget dadbce9a44 Fix mapping of STATUS_DEVICE_NOT_CONNECTED to match XP.
Fixed the prototype of statustodoserror to make the test work on NT4.
Added alternate return values to make the test work on Win98.
Check whether RtlNtStatusToDosError ismissing to make the test work on
Win95.
Added a strict option to cause the test to only accept the standard
mapping.
2003-01-02 17:50:48 +00:00
Francois Gouget 236ae4d2c9 Remove unnecessary sprintf calls. 2003-01-02 17:49:51 +00:00
Chris Morgan 761dc0d626 Use the locale id we created instead of the system or user default,
otherwise some tests are broken on systems where things aren't
english/us.
2003-01-02 17:47:22 +00:00
Francois Gouget 3b640ca405 Fix signed/unsigned warnings. 2003-01-02 17:47:01 +00:00
Alexandre Julliard 6ed40bb2af Pass the correct instance when installing the mouse hook (spotted by
Lionel Ulmer).
2002-12-24 01:18:21 +00:00
Lionel Ulmer 74c3eab255 - actually use the background color when Clear-ing
- replace glOrtho by a hand-built matrix
- fix applications doing SetTransform + using XYZRHW vertices
2002-12-24 01:07:21 +00:00
Lionel Ulmer 608da067ac - factorize Clear method between Viewport and Device
- some more rendering states handled
2002-12-24 01:03:04 +00:00
Lionel Ulmer 5f78568b53 Support viewports the D3D7 way. 2002-12-24 01:00:45 +00:00
Lionel Ulmer c40b756021 Added some stencil / D3DDevice7 capabilities. 2002-12-24 00:58:27 +00:00
Lionel Ulmer 90bf1f2ea8 Combine texturing for D3D3 and 7 by thunking 3 to 7. 2002-12-24 00:53:50 +00:00
Francois Gouget 49e119f95f Move the test strings into their own array and convert them to unicode
using a for loop. This lets us later print the offending string when a
test fails.
Fix the MSVC compilation error (XXXe183) and warnings (put suffixes as
in 0L & 1.0F, signed/unsigned warnings, s/-2147483648/0x80000000L/).
Uncomment the DateFromStr tests and fill in the todo fields where
appropriate.
Define an NB_OLE_STRINGS macro and use it to make sure all the arrays
have the right number of fields.
In the *FromStr loops, fill the return field with a dummy value (42)
before calling the conversion function. This way a test no longer
depends on whether the previous test failed or not!
If a test is expected to fail, then retval is meaningless -> omit it
from the result arrays.
If a test actually fails or was expected to fail, then there is no
point in checking retval.
Improve error reporting.
Pass the printf-style format directly to ok, remove the unnecessary
sprintfs.
2002-12-24 00:49:27 +00:00
Lionel Ulmer 800cb96bd7 Dump new D3D7 rendering states. 2002-12-24 00:48:21 +00:00