You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-12-15 08:03:15 -08:00
Compare commits
176 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0229597809 | ||
|
|
3392f477c5 | ||
|
|
e97aabbb86 | ||
|
|
ed8a24d79b | ||
|
|
2bf94fc85b | ||
|
|
3950dc0efe | ||
|
|
635849c3ed | ||
|
|
4ee9edf610 | ||
|
|
514e3884c5 | ||
|
|
ece1fa8409 | ||
|
|
e61b45155f | ||
|
|
66e568f047 | ||
|
|
ef9ef7bf9d | ||
|
|
2d58cc0eb9 | ||
|
|
23267ac0b6 | ||
|
|
c8c2492b13 | ||
|
|
6e5b36c9ee | ||
|
|
bbcdf55b0a | ||
|
|
314769efdc | ||
|
|
fa2f323344 | ||
|
|
0ce7cd10bf | ||
|
|
f12010f53d | ||
|
|
194b2de8dc | ||
|
|
3a65c61aab | ||
|
|
f686957b39 | ||
|
|
d472acd179 | ||
|
|
c9ec1b4c08 | ||
|
|
588afb2427 | ||
|
|
efcf9f948e | ||
|
|
31b114a4e3 | ||
|
|
866ca1e24a | ||
|
|
79283b4b8e | ||
|
|
7c674a599b | ||
|
|
ec458fc7ae | ||
|
|
6f356eb1f5 | ||
|
|
672a2bae70 | ||
|
|
52f1f289f0 | ||
|
|
265554a9da | ||
|
|
38d4b8ca78 | ||
|
|
9c06e8eab3 | ||
|
|
78a888cd3d | ||
|
|
1f7871a75c | ||
|
|
815194acd6 | ||
|
|
7e9e516c71 | ||
|
|
ea30d81923 | ||
|
|
a8cce16566 | ||
|
|
20ba4773d6 | ||
|
|
64988e15df | ||
|
|
1a739efaa4 | ||
|
|
27156e4a6e | ||
|
|
112b476921 | ||
|
|
2465e06751 | ||
|
|
0e9c421030 | ||
|
|
04570cc4c7 | ||
|
|
c062a34be3 | ||
|
|
42ab95dc1f | ||
|
|
e1dea6b9ac | ||
|
|
74477d5d72 | ||
|
|
978b387c1c | ||
|
|
01d377c9ef | ||
|
|
317665ee20 | ||
|
|
3d1b6a4bc0 | ||
|
|
e33772ec34 | ||
|
|
342cfbc5de | ||
|
|
91b4afcd38 | ||
|
|
5f55fc20dc | ||
|
|
3714d05e91 | ||
|
|
39778538c2 | ||
|
|
0c15cda214 | ||
|
|
858b0697d2 | ||
|
|
0394bb10be | ||
|
|
e004127f41 | ||
|
|
5cba568c93 | ||
|
|
e2610f8a45 | ||
|
|
e250393ba4 | ||
|
|
ce66dea197 | ||
|
|
7cd95e9f79 | ||
|
|
c605cf204a | ||
|
|
a8f798fc3c | ||
|
|
a8a6d7b0ed | ||
|
|
f09ef9a3ca | ||
|
|
a877872a9a | ||
|
|
e2390e2637 | ||
|
|
999c6a11d6 | ||
|
|
dde6218e4e | ||
|
|
6336965159 | ||
|
|
18084e82a7 | ||
|
|
89d2f58ebd | ||
|
|
1db546cd7e | ||
|
|
5e73b4fe8b | ||
|
|
54295e8aaa | ||
|
|
b09545bc48 | ||
|
|
8c98aa0c22 | ||
|
|
31cab243e7 | ||
|
|
caa47e6c73 | ||
|
|
d102a32693 | ||
|
|
784382204b | ||
|
|
3e94d12465 | ||
|
|
f102154244 | ||
|
|
26c1f46d89 | ||
|
|
8dd91084bf | ||
|
|
e232cccc6a | ||
|
|
2ed03c4ed0 | ||
|
|
5054f7359b | ||
|
|
7db26cf727 | ||
|
|
1d80a4ba4e | ||
|
|
5cc4d90333 | ||
|
|
a044166651 | ||
|
|
c37f9f5091 | ||
|
|
b3f1bf0856 | ||
|
|
4de57fff29 | ||
|
|
52ba925f90 | ||
|
|
cc517dd949 | ||
|
|
a9be5cf2b0 | ||
|
|
df97d6c328 | ||
|
|
b4006fc038 | ||
|
|
d1cc8d0fa5 | ||
|
|
ef72380f02 | ||
|
|
1b2e959b75 | ||
|
|
31a37e3f3c | ||
|
|
a3738434e0 | ||
|
|
554a64f6b3 | ||
|
|
7f2c4b8613 | ||
|
|
47f77594ab | ||
|
|
4adf613941 | ||
|
|
b3fc3b367a | ||
|
|
0b9581fa6a | ||
|
|
06a7d6349e | ||
|
|
86a7c93cdd | ||
|
|
abf4b4db07 | ||
|
|
b4d8b2f64f | ||
|
|
092b56c39c | ||
|
|
2cd8221624 | ||
|
|
e855d43a60 | ||
|
|
f95009bb3e | ||
|
|
edfe4935ff | ||
|
|
b8110be095 | ||
|
|
42a307df67 | ||
|
|
c89fe8069e | ||
|
|
eff3de6ad2 | ||
|
|
9f89b77e8f | ||
|
|
74dd8bdd2a | ||
|
|
f01e66252c | ||
|
|
353a868136 | ||
|
|
ee5092247c | ||
|
|
e54c70a009 | ||
|
|
1b8ab6cb68 | ||
|
|
81425de332 | ||
|
|
c2d96a3c91 | ||
|
|
292830fa82 | ||
|
|
6912feaf65 | ||
|
|
aa0c8391eb | ||
|
|
36020b4a0e | ||
|
|
4fa7fcd631 | ||
|
|
ebf36e4717 | ||
|
|
835c92a298 | ||
|
|
708eb528c0 | ||
|
|
77a24c72b8 | ||
|
|
8924ee42d8 | ||
|
|
e1b2c45272 | ||
|
|
9b43d37fd1 | ||
|
|
5b64f435e9 | ||
|
|
441fd5f422 | ||
|
|
c103bbb0b6 | ||
|
|
d88d44f1d9 | ||
|
|
5e84688c5f | ||
|
|
c110178b0d | ||
|
|
796c6b3a44 | ||
|
|
2ae11f25b0 | ||
|
|
30f69aa45a | ||
|
|
bb826f2185 | ||
|
|
c5767aad30 | ||
|
|
fa0cd8ead0 | ||
|
|
f247cd5d6b | ||
|
|
b17a3d6c54 | ||
|
|
c0e113dd3a |
@@ -1,15 +1,15 @@
|
||||
From 601da0ae0c6b22f37d20e6e0f10558093277eca9 Mon Sep 17 00:00:00 2001
|
||||
From efd5485d5026fceb01c7a25bb47a780505adea68 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 2 Oct 2014 19:44:31 +0200
|
||||
Subject: [PATCH] ntdll: Print a warning message specifying the wine-staging
|
||||
branch name and version.
|
||||
|
||||
---
|
||||
dlls/ntdll/loader.c | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
dlls/ntdll/loader.c | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 5f84ca7e23b..fabf394fbe5 100644
|
||||
index c20d6a5d87b..717f321bc6e 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -43,6 +43,7 @@ WINE_DECLARE_DEBUG_CHANNEL(relay);
|
||||
@@ -20,7 +20,7 @@ index 5f84ca7e23b..fabf394fbe5 100644
|
||||
|
||||
#ifdef _WIN64
|
||||
#define DEFAULT_SECURITY_COOKIE_64 (((ULONGLONG)0x00002b99 << 32) | 0x2ddfa232)
|
||||
@@ -3828,6 +3829,7 @@ void WINAPI LdrShutdownProcess(void)
|
||||
@@ -3879,6 +3880,7 @@ void WINAPI LdrShutdownProcess(void)
|
||||
process_detach();
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ index 5f84ca7e23b..fabf394fbe5 100644
|
||||
|
||||
/******************************************************************
|
||||
* RtlExitUserProcess (NTDLL.@)
|
||||
@@ -4322,6 +4324,9 @@ static void release_address_space(void)
|
||||
@@ -4388,6 +4390,9 @@ static void release_address_space(void)
|
||||
*/
|
||||
void loader_init( CONTEXT *context, void **entry )
|
||||
{
|
||||
@@ -38,13 +38,13 @@ index 5f84ca7e23b..fabf394fbe5 100644
|
||||
static int attach_done;
|
||||
NTSTATUS status;
|
||||
ULONG_PTR cookie, port = 0;
|
||||
@@ -4407,7 +4412,18 @@ void loader_init( CONTEXT *context, void **entry )
|
||||
arm64ec_thread_init();
|
||||
#endif
|
||||
@@ -4485,6 +4490,20 @@ void loader_init( CONTEXT *context, void **entry )
|
||||
}
|
||||
|
||||
wm = get_modref( NtCurrentTeb()->Peb->ImageBaseAddress );
|
||||
+ /* This hunk occasionally applies in the wrong place;
|
||||
+ * add a comment here to try to prevent that. */
|
||||
}
|
||||
+ }
|
||||
+ RtlInitUnicodeString( &staging_event_string, L"\\__wine_staging_warn_event" );
|
||||
+ InitializeObjectAttributes( &staging_event_attr, &staging_event_string, OBJ_OPENIF, NULL, NULL );
|
||||
+ if (NtCreateEvent( &staging_event, EVENT_ALL_ACCESS, &staging_event_attr, NotificationEvent, FALSE ) == STATUS_SUCCESS)
|
||||
@@ -53,10 +53,12 @@ index 5f84ca7e23b..fabf394fbe5 100644
|
||||
+ FIXME_(winediag)("Please mention your exact version when filing bug reports on winehq.org.\n");
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ WARN_(winediag)("wine-staging %s is a testing version containing experimental patches.\n", wine_get_version());
|
||||
+ NtClose( staging_event );
|
||||
}
|
||||
|
||||
NtCurrentTeb()->FlsSlots = fls_alloc_data();
|
||||
|
||||
--
|
||||
2.45.2
|
||||
2.51.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 8aa6fb73e3142d86ba354c204313b8a74a5fa43d Mon Sep 17 00:00:00 2001
|
||||
From fb422ad56e3549e81d3b60afc77b0a0c6a56f672 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 2 Oct 2014 19:53:46 +0200
|
||||
Subject: [PATCH] winelib: Append '(Staging)' at the end of the version string.
|
||||
@@ -8,10 +8,10 @@ Subject: [PATCH] winelib: Append '(Staging)' at the end of the version string.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f86a5decb07..3d7f9cc96e6 100644
|
||||
index b4ede761391..ea6bd2fae3c 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3910,7 +3910,7 @@ dnl Rules for generated source files
|
||||
@@ -3728,7 +3728,7 @@ dnl Rules for generated source files
|
||||
|
||||
WINE_APPEND_RULE(
|
||||
[dlls/ntdll/unix/version.c: dummy
|
||||
@@ -19,7 +19,7 @@ index f86a5decb07..3d7f9cc96e6 100644
|
||||
+ @version=\`(GIT_DIR=${wine_srcdir}.git git describe HEAD 2>/dev/null || echo \"wine-\$(PACKAGE_VERSION)\") | sed -n -e '\$\$s/\(.*\)/const char wine_build[[]] = \"\\1 (Staging)\";/p'\` && (echo \$\$version | cmp -s - \$[@]) || echo \$\$version >\$[@] || (rm -f \$[@] && exit 1)
|
||||
programs/winetest/build.rc: dummy
|
||||
@build=\"STRINGTABLE { 1 \\\"\`GIT_DIR=${wine_srcdir}.git git rev-parse HEAD 2>/dev/null\`\\\" }\" && (echo \$\$build | cmp -s - \$[@]) || echo \$\$build >\$[@] || (rm -f \$[@] && exit 1)
|
||||
programs/winetest/build.nfo:
|
||||
dlls/wineandroid.drv/wine-debug.apk: dlls/wineandroid.drv/build.gradle ${wine_srcdir}dlls/wineandroid.drv/AndroidManifest.xml ${wine_srcdir}dlls/wineandroid.drv/WineActivity.java ${wine_srcdir}dlls/wineandroid.drv/wine.svg
|
||||
--
|
||||
2.33.0
|
||||
2.47.2
|
||||
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
From f9f5002e4ce6417dd196d53b50c51a3b224015d3 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Tue, 12 Nov 2019 18:13:20 +0800
|
||||
Subject: [PATCH] comctl32: Bump version to 6.0.
|
||||
|
||||
An application that I have here checks comctl32.dll version information
|
||||
and refuses to run, changing DLL version to 6.0 makes it run.
|
||||
|
||||
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
---
|
||||
dlls/comctl32/comctl32.h | 2 +-
|
||||
dlls/comctl32/comctl32.rc | 2 +-
|
||||
include/commctrl.h | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/comctl32/comctl32.h b/dlls/comctl32/comctl32.h
|
||||
index 51f4337add2..3fe8905abea 100644
|
||||
--- a/dlls/comctl32/comctl32.h
|
||||
+++ b/dlls/comctl32/comctl32.h
|
||||
@@ -194,7 +194,7 @@ BOOL Str_SetPtrAtoW(LPWSTR *lppDest, LPCSTR lpSrc);
|
||||
BOOL Str_SetPtrWtoA(LPSTR *lppDest, LPCWSTR lpSrc);
|
||||
BOOL imagelist_has_alpha(HIMAGELIST, UINT);
|
||||
|
||||
-#define COMCTL32_VERSION_MINOR 81
|
||||
+#define COMCTL32_VERSION_MINOR 0
|
||||
|
||||
/* Our internal stack structure of the window procedures to subclass */
|
||||
typedef struct _SUBCLASSPROCS {
|
||||
diff --git a/dlls/comctl32/comctl32.rc b/dlls/comctl32/comctl32.rc
|
||||
index c9aa1ba6253..be6e2425193 100644
|
||||
--- a/dlls/comctl32/comctl32.rc
|
||||
+++ b/dlls/comctl32/comctl32.rc
|
||||
@@ -114,7 +114,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
#define WINE_FILEDESCRIPTION_STR "Wine Common Controls"
|
||||
#define WINE_FILENAME_STR "comctl32.dll"
|
||||
#define WINE_FILEVERSION COMCTL32_VERSION, COMCTL32_VERSION_MINOR, 4704, 1100
|
||||
-#define WINE_FILEVERSION_STR "5.81"
|
||||
+#define WINE_FILEVERSION_STR "6.00.4704.1100"
|
||||
#define WINE_PRODUCTVERSION WINE_FILEVERSION
|
||||
#define WINE_PRODUCTVERSION_STR WINE_FILEVERSION_STR
|
||||
|
||||
diff --git a/include/commctrl.h b/include/commctrl.h
|
||||
index a54de13d8b2..e0b0e22d4dc 100644
|
||||
--- a/include/commctrl.h
|
||||
+++ b/include/commctrl.h
|
||||
@@ -59,7 +59,7 @@ enum _LI_METRIC
|
||||
WINCOMMCTRLAPI HRESULT WINAPI LoadIconWithScaleDown(HINSTANCE, const WCHAR *, int, int, HICON *);
|
||||
WINCOMMCTRLAPI HRESULT WINAPI LoadIconMetric(HINSTANCE, const WCHAR *, int, HICON *);
|
||||
|
||||
-#define COMCTL32_VERSION 5 /* dll version */
|
||||
+#define COMCTL32_VERSION 6 /* dll version */
|
||||
|
||||
#define ICC_LISTVIEW_CLASSES 0x00000001 /* listview, header */
|
||||
#define ICC_TREEVIEW_CLASSES 0x00000002 /* treeview, tooltips */
|
||||
--
|
||||
2.40.1
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From 8a9c55d23750ca2650eba518e46549d8b5d94b43 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 11 Jul 2025 14:11:36 +1000
|
||||
Subject: [PATCH] comctl32: Animate support AVI msvc codex
|
||||
|
||||
---
|
||||
dlls/comctl32/animate.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/dlls/comctl32/animate.c b/dlls/comctl32/animate.c
|
||||
index 46e1e37b72d..717422c784f 100644
|
||||
--- a/dlls/comctl32/animate.c
|
||||
+++ b/dlls/comctl32/animate.c
|
||||
@@ -644,6 +644,7 @@ static BOOL ANIMATE_GetAviCodec(ANIMATE_INFO *infoPtr)
|
||||
/* check uncompressed AVI */
|
||||
if ((infoPtr->ash.fccHandler == mmioFOURCC('D', 'I', 'B', ' ')) ||
|
||||
(infoPtr->ash.fccHandler == mmioFOURCC('R', 'L', 'E', ' ')) ||
|
||||
+ (infoPtr->ash.fccHandler == mmioFOURCC('m', 's', 'v', 'c')) ||
|
||||
(infoPtr->ash.fccHandler == mmioFOURCC(0, 0, 0, 0)))
|
||||
{
|
||||
infoPtr->hic = 0;
|
||||
--
|
||||
2.47.2
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From b8cce6663a956f8fb8f07700672e378b44b1af1c Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 11 Jul 2025 15:21:07 +1000
|
||||
Subject: [PATCH] comctl32: Animate to support RLE8 codex
|
||||
|
||||
---
|
||||
dlls/comctl32/animate.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/dlls/comctl32/animate.c b/dlls/comctl32/animate.c
|
||||
index 717422c784f..ca4fae85a11 100644
|
||||
--- a/dlls/comctl32/animate.c
|
||||
+++ b/dlls/comctl32/animate.c
|
||||
@@ -645,6 +645,7 @@ static BOOL ANIMATE_GetAviCodec(ANIMATE_INFO *infoPtr)
|
||||
if ((infoPtr->ash.fccHandler == mmioFOURCC('D', 'I', 'B', ' ')) ||
|
||||
(infoPtr->ash.fccHandler == mmioFOURCC('R', 'L', 'E', ' ')) ||
|
||||
(infoPtr->ash.fccHandler == mmioFOURCC('m', 's', 'v', 'c')) ||
|
||||
+ (infoPtr->ash.fccHandler == mmioFOURCC('m', 'r', 'l', 'e')) ||
|
||||
(infoPtr->ash.fccHandler == mmioFOURCC(0, 0, 0, 0)))
|
||||
{
|
||||
infoPtr->hic = 0;
|
||||
--
|
||||
2.47.2
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
From 2ef9715ae9fffa0a6d7cdf0dc04e8de7eb245ce4 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 11 Jul 2025 18:07:39 +1000
|
||||
Subject: [PATCH] comctl32: Animate control doesn't support compressed AVI
|
||||
|
||||
The Animate control only supporst uncompress AVI with the excpetion of RLE8.
|
||||
---
|
||||
dlls/comctl32/animate.c | 64 ++---------------------------------------
|
||||
1 file changed, 3 insertions(+), 61 deletions(-)
|
||||
|
||||
diff --git a/dlls/comctl32/animate.c b/dlls/comctl32/animate.c
|
||||
index ca4fae85a11..74516db81f5 100644
|
||||
--- a/dlls/comctl32/animate.c
|
||||
+++ b/dlls/comctl32/animate.c
|
||||
@@ -39,14 +39,6 @@
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(animate);
|
||||
|
||||
-static struct {
|
||||
- HMODULE hModule;
|
||||
- HIC (WINAPI *fnICOpen)(DWORD, DWORD, UINT);
|
||||
- LRESULT (WINAPI *fnICClose)(HIC);
|
||||
- LRESULT (WINAPI *fnICSendMessage)(HIC, UINT, DWORD_PTR, DWORD_PTR);
|
||||
- DWORD (WINAPIV *fnICDecompress)(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID);
|
||||
-} fnIC;
|
||||
-
|
||||
typedef struct
|
||||
{
|
||||
/* reference to input stream (file or resource) */
|
||||
@@ -189,11 +181,6 @@ static void ANIMATE_Free(ANIMATE_INFO *infoPtr)
|
||||
}
|
||||
Free (infoPtr->lpIndex);
|
||||
infoPtr->lpIndex = NULL;
|
||||
- if (infoPtr->hic)
|
||||
- {
|
||||
- fnIC.fnICClose(infoPtr->hic);
|
||||
- infoPtr->hic = 0;
|
||||
- }
|
||||
Free (infoPtr->inbih);
|
||||
infoPtr->inbih = NULL;
|
||||
Free (infoPtr->outbih);
|
||||
@@ -342,13 +329,6 @@ static BOOL ANIMATE_DrawFrame(ANIMATE_INFO *infoPtr, HDC hDC)
|
||||
mmioSeek(infoPtr->hMMio, infoPtr->lpIndex[infoPtr->currFrame], SEEK_SET);
|
||||
mmioRead(infoPtr->hMMio, infoPtr->indata, infoPtr->ash.dwSuggestedBufferSize);
|
||||
|
||||
- if (infoPtr->hic &&
|
||||
- fnIC.fnICDecompress(infoPtr->hic, 0, infoPtr->inbih, infoPtr->indata,
|
||||
- infoPtr->outbih, infoPtr->outdata) != ICERR_OK) {
|
||||
- WARN("Decompression error\n");
|
||||
- return FALSE;
|
||||
- }
|
||||
-
|
||||
ANIMATE_PaintFrame(infoPtr, hDC);
|
||||
|
||||
if (infoPtr->currFrame++ >= infoPtr->nToFrame) {
|
||||
@@ -649,39 +629,12 @@ static BOOL ANIMATE_GetAviCodec(ANIMATE_INFO *infoPtr)
|
||||
(infoPtr->ash.fccHandler == mmioFOURCC(0, 0, 0, 0)))
|
||||
{
|
||||
infoPtr->hic = 0;
|
||||
- return TRUE;
|
||||
- }
|
||||
-
|
||||
- /* try to get a decompressor for that type */
|
||||
- infoPtr->hic = fnIC.fnICOpen(ICTYPE_VIDEO, infoPtr->ash.fccHandler, ICMODE_DECOMPRESS);
|
||||
- if (!infoPtr->hic) {
|
||||
- WARN("Can't load codec for the file\n");
|
||||
- return FALSE;
|
||||
- }
|
||||
-
|
||||
- outSize = fnIC.fnICSendMessage(infoPtr->hic, ICM_DECOMPRESS_GET_FORMAT,
|
||||
- (DWORD_PTR)infoPtr->inbih, 0L);
|
||||
-
|
||||
- if (!(infoPtr->outbih = Alloc(outSize)))
|
||||
- return FALSE;
|
||||
-
|
||||
- if (fnIC.fnICSendMessage(infoPtr->hic, ICM_DECOMPRESS_GET_FORMAT,
|
||||
- (DWORD_PTR)infoPtr->inbih, (DWORD_PTR)infoPtr->outbih) != ICERR_OK)
|
||||
- {
|
||||
- WARN("Can't get output BIH\n");
|
||||
- return FALSE;
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
- if (!(infoPtr->outdata = Alloc(infoPtr->outbih->biSizeImage)))
|
||||
- return FALSE;
|
||||
+ FIXME("Unsupported %s\n", debugstr_fourcc(infoPtr->ash.fccHandler));
|
||||
|
||||
- if (fnIC.fnICSendMessage(infoPtr->hic, ICM_DECOMPRESS_BEGIN,
|
||||
- (DWORD_PTR)infoPtr->inbih, (DWORD_PTR)infoPtr->outbih) != ICERR_OK) {
|
||||
- WARN("Can't begin decompression\n");
|
||||
- return FALSE;
|
||||
- }
|
||||
-
|
||||
- return TRUE;
|
||||
+ return FALSE;
|
||||
}
|
||||
|
||||
|
||||
@@ -790,17 +743,6 @@ static BOOL ANIMATE_Create(HWND hWnd, const CREATESTRUCTW *lpcs)
|
||||
{
|
||||
ANIMATE_INFO *infoPtr;
|
||||
|
||||
- if (!fnIC.hModule)
|
||||
- {
|
||||
- fnIC.hModule = LoadLibraryW(L"msvfw32.dll");
|
||||
- if (!fnIC.hModule) return FALSE;
|
||||
-
|
||||
- fnIC.fnICOpen = (void*)GetProcAddress(fnIC.hModule, "ICOpen");
|
||||
- fnIC.fnICClose = (void*)GetProcAddress(fnIC.hModule, "ICClose");
|
||||
- fnIC.fnICSendMessage = (void*)GetProcAddress(fnIC.hModule, "ICSendMessage");
|
||||
- fnIC.fnICDecompress = (void*)GetProcAddress(fnIC.hModule, "ICDecompress");
|
||||
- }
|
||||
-
|
||||
/* allocate memory for info structure */
|
||||
infoPtr = Alloc(sizeof(*infoPtr));
|
||||
if (!infoPtr) return FALSE;
|
||||
--
|
||||
2.47.2
|
||||
|
||||
2
patches/comctl32_animate_avi/definition
Normal file
2
patches/comctl32_animate_avi/definition
Normal file
@@ -0,0 +1,2 @@
|
||||
Fixes: [52278] comctl32: Animate support AVI msvc codex.
|
||||
|
||||
@@ -1,231 +0,0 @@
|
||||
From e6c1c1fe3fe2f4fe7d3e421b94d925c40063af22 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Fri, 5 Jul 2019 13:20:23 +0800
|
||||
Subject: [PATCH] cryptext: Implement CryptExtOpenCER.
|
||||
|
||||
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
---
|
||||
configure | 1 +
|
||||
configure.ac | 1 +
|
||||
dlls/cryptext/Makefile.in | 3 +-
|
||||
dlls/cryptext/cryptext.spec | 4 +--
|
||||
dlls/cryptext/cryptext_main.c | 64 +++++++++++++++++++++++++++++++++
|
||||
dlls/cryptext/tests/Makefile.in | 4 +++
|
||||
dlls/cryptext/tests/cryptext.c | 61 +++++++++++++++++++++++++++++++
|
||||
7 files changed, 135 insertions(+), 3 deletions(-)
|
||||
create mode 100644 dlls/cryptext/tests/Makefile.in
|
||||
create mode 100644 dlls/cryptext/tests/cryptext.c
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index ca6e87d4740..7033499399f 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -21660,6 +21660,7 @@ wine_fn_config_makefile dlls/crypt32/tests enable_tests
|
||||
wine_fn_config_makefile dlls/cryptdlg enable_cryptdlg
|
||||
wine_fn_config_makefile dlls/cryptdll enable_cryptdll
|
||||
wine_fn_config_makefile dlls/cryptext enable_cryptext
|
||||
+wine_fn_config_makefile dlls/cryptext/tests enable_tests
|
||||
wine_fn_config_makefile dlls/cryptnet enable_cryptnet
|
||||
wine_fn_config_makefile dlls/cryptnet/tests enable_tests
|
||||
wine_fn_config_makefile dlls/cryptowinrt enable_cryptowinrt
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index cba55126869..57064a05fe5 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2477,6 +2477,7 @@ WINE_CONFIG_MAKEFILE(dlls/crypt32/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/cryptdlg)
|
||||
WINE_CONFIG_MAKEFILE(dlls/cryptdll)
|
||||
WINE_CONFIG_MAKEFILE(dlls/cryptext)
|
||||
+WINE_CONFIG_MAKEFILE(dlls/cryptext/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/cryptnet)
|
||||
WINE_CONFIG_MAKEFILE(dlls/cryptnet/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/cryptowinrt)
|
||||
diff --git a/dlls/cryptext/Makefile.in b/dlls/cryptext/Makefile.in
|
||||
index 5598bfb78e0..acda4e4ac6d 100644
|
||||
--- a/dlls/cryptext/Makefile.in
|
||||
+++ b/dlls/cryptext/Makefile.in
|
||||
@@ -1,4 +1,5 @@
|
||||
-MODULE = cryptext.dll
|
||||
+MODULE = cryptext.dll
|
||||
+IMPORTS = crypt32 cryptui user32
|
||||
|
||||
EXTRADLLFLAGS = -Wb,--prefer-native
|
||||
|
||||
diff --git a/dlls/cryptext/cryptext.spec b/dlls/cryptext/cryptext.spec
|
||||
index ee3e155f457..24b4794c198 100644
|
||||
--- a/dlls/cryptext/cryptext.spec
|
||||
+++ b/dlls/cryptext/cryptext.spec
|
||||
@@ -12,8 +12,8 @@
|
||||
@ stub CryptExtAddSPCW
|
||||
@ stub CryptExtOpenCAT
|
||||
@ stub CryptExtOpenCATW
|
||||
-@ stub CryptExtOpenCER
|
||||
-@ stub CryptExtOpenCERW
|
||||
+@ stdcall CryptExtOpenCER(long ptr str long)
|
||||
+@ stdcall CryptExtOpenCERW(long ptr wstr long)
|
||||
@ stub CryptExtOpenCRL
|
||||
@ stub CryptExtOpenCRLW
|
||||
@ stub CryptExtOpenCTL
|
||||
diff --git a/dlls/cryptext/cryptext_main.c b/dlls/cryptext/cryptext_main.c
|
||||
index 537ba66cd3b..a4314518eac 100644
|
||||
--- a/dlls/cryptext/cryptext_main.c
|
||||
+++ b/dlls/cryptext/cryptext_main.c
|
||||
@@ -22,10 +22,29 @@
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
+#include "winnls.h"
|
||||
+#include "wincrypt.h"
|
||||
+#include "winuser.h"
|
||||
+#include "cryptuiapi.h"
|
||||
+
|
||||
+#include "wine/heap.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(cryptext);
|
||||
|
||||
+static WCHAR *heap_strdupAtoW(const char *str)
|
||||
+{
|
||||
+ WCHAR *ret;
|
||||
+ INT len;
|
||||
+
|
||||
+ if (!str) return NULL;
|
||||
+ len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
|
||||
+ ret = heap_alloc(len * sizeof(WCHAR));
|
||||
+ if (ret)
|
||||
+ MultiByteToWideChar(CP_ACP, 0, str, -1, ret, len);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
/***********************************************************************
|
||||
* CryptExtAddPFX (CRYPTEXT.@)
|
||||
*/
|
||||
@@ -43,3 +62,48 @@ HRESULT WINAPI CryptExtAddPFXW(LPCWSTR filename)
|
||||
FIXME("stub: %s\n", debugstr_w(filename));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
+
|
||||
+/***********************************************************************
|
||||
+ * CryptExtOpenCERW (CRYPTEXT.@)
|
||||
+ */
|
||||
+HRESULT WINAPI CryptExtOpenCERW(HWND hwnd, HINSTANCE hinst, LPCWSTR filename, DWORD showcmd)
|
||||
+{
|
||||
+ PCCERT_CONTEXT ctx;
|
||||
+ CRYPTUI_VIEWCERTIFICATE_STRUCTW info;
|
||||
+
|
||||
+ TRACE("(%p, %p, %s, %lu)\n", hwnd, hinst, debugstr_w(filename), showcmd);
|
||||
+
|
||||
+ if (!CryptQueryObject(CERT_QUERY_OBJECT_FILE, filename, CERT_QUERY_CONTENT_FLAG_CERT,
|
||||
+ CERT_QUERY_FORMAT_FLAG_ALL, 0, NULL, NULL, NULL, NULL, NULL,
|
||||
+ (const void **)&ctx))
|
||||
+ {
|
||||
+ /* FIXME: move to the resources */
|
||||
+ static const WCHAR msg[] = {'T','h','i','s',' ','i','s',' ','n','o','t',' ','a',' ','v','a','l','i','d',' ','c','e','r','t','i','f','i','c','a','t','e',0};
|
||||
+ MessageBoxW(NULL, msg, filename, MB_OK | MB_ICONERROR);
|
||||
+ return S_OK; /* according to the tests */
|
||||
+ }
|
||||
+
|
||||
+ memset(&info, 0, sizeof(info));
|
||||
+ info.dwSize = sizeof(info);
|
||||
+ info.pCertContext = ctx;
|
||||
+ CryptUIDlgViewCertificateW(&info, NULL);
|
||||
+ CertFreeCertificateContext(ctx);
|
||||
+
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
+/***********************************************************************
|
||||
+ * CryptExtOpenCER (CRYPTEXT.@)
|
||||
+ */
|
||||
+HRESULT WINAPI CryptExtOpenCER(HWND hwnd, HINSTANCE hinst, LPCSTR filename, DWORD showcmd)
|
||||
+{
|
||||
+ HRESULT hr;
|
||||
+ LPWSTR filenameW;
|
||||
+
|
||||
+ TRACE("(%p, %p, %s, %lu)\n", hwnd, hinst, debugstr_a(filename), showcmd);
|
||||
+
|
||||
+ filenameW = heap_strdupAtoW(filename);
|
||||
+ hr = CryptExtOpenCERW(hwnd, hinst, filenameW, showcmd);
|
||||
+ heap_free(filenameW);
|
||||
+ return hr;
|
||||
+}
|
||||
diff --git a/dlls/cryptext/tests/Makefile.in b/dlls/cryptext/tests/Makefile.in
|
||||
new file mode 100644
|
||||
index 00000000000..c3f4551fc00
|
||||
--- /dev/null
|
||||
+++ b/dlls/cryptext/tests/Makefile.in
|
||||
@@ -0,0 +1,4 @@
|
||||
+TESTDLL = cryptext.dll
|
||||
+
|
||||
+SOURCES = \
|
||||
+ cryptext.c
|
||||
diff --git a/dlls/cryptext/tests/cryptext.c b/dlls/cryptext/tests/cryptext.c
|
||||
new file mode 100644
|
||||
index 00000000000..ab1007dbd82
|
||||
--- /dev/null
|
||||
+++ b/dlls/cryptext/tests/cryptext.c
|
||||
@@ -0,0 +1,61 @@
|
||||
+/*
|
||||
+ * Copyright 2019 Dmitry Timoshkov
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
+ */
|
||||
+
|
||||
+#include <stdarg.h>
|
||||
+#include <assert.h>
|
||||
+#include <windef.h>
|
||||
+#include <winbase.h>
|
||||
+#include <winuser.h>
|
||||
+#include <winerror.h>
|
||||
+
|
||||
+#include "wine/test.h"
|
||||
+
|
||||
+static HRESULT (WINAPI *pCryptExtOpenCER)(HWND,HINSTANCE,LPCSTR,DWORD);
|
||||
+
|
||||
+static void test_CryptExtOpenCER(void)
|
||||
+{
|
||||
+ HRESULT hr;
|
||||
+
|
||||
+ if (!pCryptExtOpenCER)
|
||||
+ {
|
||||
+ win_skip("CryptExtOpenCER is not available on this platform\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (!winetest_interactive)
|
||||
+ {
|
||||
+ skip("CryptExtOpenCER test needs user interaction\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ SetLastError(0xdeadbeef);
|
||||
+ hr = pCryptExtOpenCER(0, 0, "dead.beef", SW_HIDE);
|
||||
+ ok(hr == S_OK, "got %#lx\n", hr);
|
||||
+
|
||||
+ hr = pCryptExtOpenCER(0, 0, "VeriSign Class 3 Public Primary Certification Authority - G4.txt", SW_SHOW);
|
||||
+ ok(hr == S_OK, "got %#lx\n", hr);
|
||||
+}
|
||||
+
|
||||
+START_TEST(cryptext)
|
||||
+{
|
||||
+ HMODULE hmod = LoadLibraryA("cryptext.dll");
|
||||
+
|
||||
+ pCryptExtOpenCER = (void *)GetProcAddress(hmod, "CryptExtOpenCER");
|
||||
+
|
||||
+ test_CryptExtOpenCER();
|
||||
+}
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# Taken from the mailing list - July 2019.
|
||||
Fixes: cryptext: Implement CryptExtOpenCER.
|
||||
@@ -0,0 +1,109 @@
|
||||
From 4abe3ab87631c7bb6144437ff2e1473030d033cb Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 13 May 2022 12:13:11 +1000
|
||||
Subject: [PATCH] d3drm: IDirect3DRMMeshBuilder2 Clone stub
|
||||
|
||||
---
|
||||
dlls/d3drm/meshbuilder.c | 85 +++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 83 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c
|
||||
index 27e76c1cf25..0c765d77281 100644
|
||||
--- a/dlls/d3drm/meshbuilder.c
|
||||
+++ b/dlls/d3drm/meshbuilder.c
|
||||
@@ -402,9 +402,90 @@ static ULONG WINAPI d3drm_mesh_builder2_Release(IDirect3DRMMeshBuilder2 *iface)
|
||||
static HRESULT WINAPI d3drm_mesh_builder2_Clone(IDirect3DRMMeshBuilder2 *iface,
|
||||
IUnknown *outer, REFIID iid, void **out)
|
||||
{
|
||||
- FIXME("iface %p, outer %p, iid %s, out %p stub!\n", iface, outer, debugstr_guid(iid), out);
|
||||
+ struct d3drm_mesh_builder *mesh_builder = impl_from_IDirect3DRMMeshBuilder2(iface);
|
||||
+ struct d3drm_mesh_builder *mesh2;
|
||||
+ HRESULT hr;
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ FIXME("iface %p, outer %p, iid %s, out %p Semi-stub\n", iface, outer, debugstr_guid(iid), out);
|
||||
+
|
||||
+ if (outer)
|
||||
+ FIXME("outer currently ignored\n");
|
||||
+
|
||||
+ *out = NULL;
|
||||
+
|
||||
+ hr = d3drm_mesh_builder_create(&mesh2, mesh_builder->d3drm);
|
||||
+ if(SUCCEEDED(hr))
|
||||
+ {
|
||||
+ mesh2->nb_vertices = mesh_builder->nb_vertices;
|
||||
+ mesh2->vertices_size = mesh_builder->vertices_size;
|
||||
+ if (mesh_builder->vertices && mesh_builder->nb_vertices)
|
||||
+ {
|
||||
+ if (!d3drm_array_reserve((void **)&mesh2->vertices, &mesh_builder->vertices_size, mesh_builder->nb_vertices,
|
||||
+ sizeof(*mesh_builder->vertices)))
|
||||
+ {
|
||||
+ IDirect3DRMMeshBuilder2_Release(&mesh2->IDirect3DRMMeshBuilder2_iface);
|
||||
+ return E_OUTOFMEMORY;
|
||||
+ }
|
||||
+ memcpy(mesh2->vertices, mesh_builder->vertices, mesh_builder->nb_vertices * sizeof(*mesh_builder->vertices));
|
||||
+ }
|
||||
+
|
||||
+ mesh2->nb_normals = mesh_builder->nb_normals;
|
||||
+ mesh2->normals_size = mesh_builder->normals_size;
|
||||
+ if (mesh_builder->normals && mesh_builder->nb_normals)
|
||||
+ {
|
||||
+ if (!d3drm_array_reserve((void **)&mesh2->normals, &mesh_builder->normals_size,
|
||||
+ mesh_builder->nb_vertices, sizeof(*mesh_builder->normals)))
|
||||
+ {
|
||||
+ IDirect3DRMMeshBuilder2_Release(&mesh2->IDirect3DRMMeshBuilder2_iface);
|
||||
+ return E_OUTOFMEMORY;
|
||||
+ }
|
||||
+ memcpy(mesh2->normals, mesh_builder->normals, mesh_builder->nb_normals * sizeof(*mesh_builder->normals));
|
||||
+ }
|
||||
+
|
||||
+ mesh2->nb_faces = mesh_builder->nb_faces;
|
||||
+ mesh2->face_data_size = mesh_builder->face_data_size;
|
||||
+ if (mesh_builder->pFaceData && mesh_builder->face_data_size)
|
||||
+ {
|
||||
+ mesh2->pFaceData = malloc(mesh_builder->face_data_size * 2);
|
||||
+ if(!mesh2->pFaceData)
|
||||
+ {
|
||||
+ IDirect3DRMMeshBuilder2_Release(&mesh2->IDirect3DRMMeshBuilder2_iface);
|
||||
+ return E_OUTOFMEMORY;
|
||||
+ }
|
||||
+ memcpy(mesh2->pFaceData, mesh_builder->pFaceData, mesh_builder->face_data_size * 2);
|
||||
+ }
|
||||
+
|
||||
+ mesh2->nb_coords2d = mesh_builder->nb_coords2d;
|
||||
+ if (mesh_builder->pCoords2d && mesh_builder->nb_coords2d)
|
||||
+ {
|
||||
+ mesh2->pCoords2d = calloc(mesh_builder->nb_coords2d, sizeof(*mesh_builder->pCoords2d));
|
||||
+ if (!mesh2->pCoords2d)
|
||||
+ {
|
||||
+ IDirect3DRMMeshBuilder2_Release(&mesh2->IDirect3DRMMeshBuilder2_iface);
|
||||
+ return E_OUTOFMEMORY;
|
||||
+ }
|
||||
+ memcpy(mesh2->pCoords2d, mesh_builder->pCoords2d, mesh_builder->nb_coords2d * sizeof(*mesh_builder->pCoords2d));
|
||||
+ }
|
||||
+
|
||||
+ mesh2->color = mesh_builder->color;
|
||||
+ mesh2->material = mesh_builder->material;
|
||||
+ if (mesh2->material)
|
||||
+ IDirect3DRMTexture2_AddRef(mesh2->material);
|
||||
+ mesh2->texture = mesh_builder->texture;
|
||||
+ if (mesh2->texture)
|
||||
+ IDirect3DRMTexture2_AddRef(mesh2->texture);
|
||||
+ mesh2->nb_materials = mesh_builder->nb_materials;
|
||||
+ if (mesh2->nb_materials > 0)
|
||||
+ FIXME("materials NOT copied yet\n");
|
||||
+ //struct mesh_material *materials;
|
||||
+ //DWORD *material_indices;
|
||||
+ mesh2->quality = mesh_builder->quality;
|
||||
+
|
||||
+ hr = IDirect3DRMMeshBuilder2_QueryInterface(&mesh2->IDirect3DRMMeshBuilder2_iface, iid, out);
|
||||
+ IDirect3DRMMeshBuilder2_Release(&mesh2->IDirect3DRMMeshBuilder3_iface);
|
||||
+ }
|
||||
+
|
||||
+ return hr;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_mesh_builder2_AddDestroyCallback(IDirect3DRMMeshBuilder2 *iface,
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From 689dad471ce391ed9cfcbc91a4b6c2a00c21b7d8 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 13 May 2022 12:31:55 +1000
|
||||
Subject: [PATCH] d3drm: IDirect3DRMMeshBuilder2 AddFaces stub
|
||||
|
||||
---
|
||||
dlls/d3drm/meshbuilder.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c
|
||||
index 0c765d77281..abad81c51ae 100644
|
||||
--- a/dlls/d3drm/meshbuilder.c
|
||||
+++ b/dlls/d3drm/meshbuilder.c
|
||||
@@ -679,7 +679,9 @@ static HRESULT WINAPI d3drm_mesh_builder2_AddFaces(IDirect3DRMMeshBuilder2 *ifac
|
||||
FIXME("iface %p, vertex_count %lu, vertices %p, normal_count %lu, normals %p, face_data %p, array %p stub!\n",
|
||||
iface, vertex_count, vertices, normal_count, normals, face_data, array);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ if (array)
|
||||
+ *array = NULL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_mesh_builder2_ReserveSpace(IDirect3DRMMeshBuilder2 *iface,
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
From d1beb46198beef65617571b6d4cebf7cf8618188 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 13 May 2022 12:56:26 +1000
|
||||
Subject: [PATCH] d3drm: IDirect3DRMMesh GetBox stubs
|
||||
|
||||
---
|
||||
dlls/d3drm/meshbuilder.c | 4 ++--
|
||||
dlls/d3drm/tests/d3drm.c | 8 ++++++++
|
||||
2 files changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c
|
||||
index abad81c51ae..2f0fe1df7ba 100644
|
||||
--- a/dlls/d3drm/meshbuilder.c
|
||||
+++ b/dlls/d3drm/meshbuilder.c
|
||||
@@ -626,7 +626,7 @@ static HRESULT WINAPI d3drm_mesh_builder2_GetBox(IDirect3DRMMeshBuilder2 *iface,
|
||||
{
|
||||
FIXME("iface %p, box %p stub!\n", iface, box);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_mesh_builder2_GenerateNormals(IDirect3DRMMeshBuilder2 *iface)
|
||||
@@ -2594,7 +2594,7 @@ static HRESULT WINAPI d3drm_mesh_GetBox(IDirect3DRMMesh *iface, D3DRMBOX *box)
|
||||
{
|
||||
FIXME("iface %p, box %p stub!\n", iface, box);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return D3DRMERR_BOXNOTSET;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_mesh_AddGroup(IDirect3DRMMesh *iface, unsigned vertex_count,
|
||||
diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c
|
||||
index 5d478f24b1a..72e07dde7a8 100644
|
||||
--- a/dlls/d3drm/tests/d3drm.c
|
||||
+++ b/dlls/d3drm/tests/d3drm.c
|
||||
@@ -449,6 +449,7 @@ static void test_MeshBuilder(void)
|
||||
DWORD size;
|
||||
D3DCOLOR color;
|
||||
IUnknown *unk;
|
||||
+ D3DRMBOX box;
|
||||
|
||||
hr = Direct3DRMCreate(&d3drm);
|
||||
ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface, hr %#lx\n", hr);
|
||||
@@ -694,6 +695,13 @@ static void test_MeshBuilder(void)
|
||||
IDirect3DRMMesh_Release(mesh);
|
||||
}
|
||||
|
||||
+ memset(&box, 0, sizeof(box));
|
||||
+ hr = IDirect3DRMMeshBuilder_GetBox(pMeshBuilder, &box);
|
||||
+ ok(hr == D3DRM_OK, "got hr %#lx.\n", hr);
|
||||
+
|
||||
+ expect_vector(&box.min, 1.0, 2.0f, 3.0f, 1);
|
||||
+ expect_vector(&box.max, 6.9f, 8.0f, 8.9f, 1);
|
||||
+
|
||||
hr = IDirect3DRMMeshBuilder_Scale(pMeshBuilder, 2, 3 ,4);
|
||||
ok(hr == D3DRM_OK, "Scale failed returning hr %#lx.\n", hr);
|
||||
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From cfe0cdc509a8a69d151034aa0f709bdf556983c3 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 13 May 2022 13:01:03 +1000
|
||||
Subject: [PATCH] d3drm: IDirect3DRMMeshBuilder2 Translate
|
||||
|
||||
---
|
||||
dlls/d3drm/meshbuilder.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c
|
||||
index 2f0fe1df7ba..8f9a3cb71a7 100644
|
||||
--- a/dlls/d3drm/meshbuilder.c
|
||||
+++ b/dlls/d3drm/meshbuilder.c
|
||||
@@ -612,7 +612,7 @@ static HRESULT WINAPI d3drm_mesh_builder2_Translate(IDirect3DRMMeshBuilder2 *ifa
|
||||
{
|
||||
FIXME("iface %p, tx %.8e, ty %.8e, tz %.8e stub!\n", iface, tx, ty, tz);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_mesh_builder2_SetColorSource(IDirect3DRMMeshBuilder2 *iface, D3DRMCOLORSOURCE source)
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
From c210f81d3e30136dd970e9c99e6d42225743f35e Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 13 May 2022 14:19:14 +1000
|
||||
Subject: [PATCH] d3drm: IDirect3DRMFrame2 SetPosition
|
||||
|
||||
---
|
||||
dlls/d3drm/frame.c | 31 ++++++++++++++++++++-----------
|
||||
1 file changed, 20 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3drm/frame.c b/dlls/d3drm/frame.c
|
||||
index 7a5bd18cd33..80d47ce7896 100644
|
||||
--- a/dlls/d3drm/frame.c
|
||||
+++ b/dlls/d3drm/frame.c
|
||||
@@ -1452,28 +1452,37 @@ static HRESULT WINAPI d3drm_frame1_GetParent(IDirect3DRMFrame *iface, IDirect3DR
|
||||
return d3drm_frame2_GetParent(&frame->IDirect3DRMFrame2_iface, parent);
|
||||
}
|
||||
|
||||
+static HRESULT frame_get_position(struct d3drm_frame *frame, struct d3drm_frame *reference, D3DVECTOR *position)
|
||||
+{
|
||||
+ // TODO
|
||||
+ return S_OK;
|
||||
+}
|
||||
+
|
||||
static HRESULT WINAPI d3drm_frame3_GetPosition(IDirect3DRMFrame3 *iface,
|
||||
IDirect3DRMFrame3 *reference, D3DVECTOR *position)
|
||||
{
|
||||
- FIXME("iface %p, reference %p, position %p stub!\n", iface, reference, position);
|
||||
-
|
||||
- return E_NOTIMPL;
|
||||
+ struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface);
|
||||
+ struct d3drm_frame *ref = impl_from_IDirect3DRMFrame3(reference);
|
||||
+ TRACE("iface %p, reference %p, position %p\n", iface, ref, position);
|
||||
+ return frame_get_position(frame, NULL, position);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_frame2_GetPosition(IDirect3DRMFrame2 *iface,
|
||||
IDirect3DRMFrame *reference, D3DVECTOR *position)
|
||||
{
|
||||
- FIXME("iface %p, reference %p, position %p stub!\n", iface, reference, position);
|
||||
-
|
||||
- return E_NOTIMPL;
|
||||
+ struct d3drm_frame *frame = impl_from_IDirect3DRMFrame2(iface);
|
||||
+ struct d3drm_frame *ref = impl_from_IDirect3DRMFrame(reference);
|
||||
+ TRACE("iface %p, reference %p, position %p\n", iface, ref, position);
|
||||
+ return frame_get_position(frame, NULL, position);
|
||||
}
|
||||
|
||||
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;
|
||||
+ struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface);
|
||||
+ struct d3drm_frame *ref = impl_from_IDirect3DRMFrame(reference);
|
||||
+ TRACE("iface %p, reference %p, position %p\n", iface, reference, position);
|
||||
+ return frame_get_position(frame, ref, position);
|
||||
}
|
||||
|
||||
|
||||
@@ -2449,7 +2458,7 @@ static HRESULT WINAPI d3drm_frame3_SetPosition(IDirect3DRMFrame3 *iface,
|
||||
{
|
||||
FIXME("iface %p, reference %p, x %.8e, y %.8e, z %.8e stub!\n", iface, reference, x, y, z);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_frame2_SetPosition(IDirect3DRMFrame2 *iface,
|
||||
@@ -2457,7 +2466,7 @@ static HRESULT WINAPI d3drm_frame2_SetPosition(IDirect3DRMFrame2 *iface,
|
||||
{
|
||||
FIXME("iface %p, reference %p, x %.8e, y %.8e, z %.8e stub!\n", iface, reference, x, y, z);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_frame1_SetPosition(IDirect3DRMFrame *iface,
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 15f7fb029e62d7027ab6f0d5546a40bef4630daa Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 13 May 2022 14:24:46 +1000
|
||||
Subject: [PATCH] d3drm: IDirect3DRMFrame2 LookAt
|
||||
|
||||
---
|
||||
dlls/d3drm/frame.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/d3drm/frame.c b/dlls/d3drm/frame.c
|
||||
index 80d47ce7896..f908ea8dfdf 100644
|
||||
--- a/dlls/d3drm/frame.c
|
||||
+++ b/dlls/d3drm/frame.c
|
||||
@@ -1800,7 +1800,7 @@ static HRESULT WINAPI d3drm_frame2_LookAt(IDirect3DRMFrame2 *iface, IDirect3DRMF
|
||||
{
|
||||
FIXME("iface %p, target %p, reference %p, constraint %#x stub!\n", iface, target, reference, constraint);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_frame1_LookAt(IDirect3DRMFrame *iface, IDirect3DRMFrame *target,
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 92465f0808020ded4857ff303476a4d65ad90d0a Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 13 May 2022 14:56:56 +1000
|
||||
Subject: [PATCH] d3drm: IDirect3DRMFrame2 GetOrientation
|
||||
|
||||
---
|
||||
dlls/d3drm/frame.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/d3drm/frame.c b/dlls/d3drm/frame.c
|
||||
index f908ea8dfdf..2044ba8a2cb 100644
|
||||
--- a/dlls/d3drm/frame.c
|
||||
+++ b/dlls/d3drm/frame.c
|
||||
@@ -1680,7 +1680,7 @@ static HRESULT WINAPI d3drm_frame2_GetOrientation(IDirect3DRMFrame2 *iface,
|
||||
{
|
||||
FIXME("iface %p, reference %p, dir %p, up %p stub!\n", iface, reference, dir, up);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_frame1_GetOrientation(IDirect3DRMFrame *iface,
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From fd8a5b167eee739e678b7d306bc70ccab1e33e33 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 13 May 2022 15:21:26 +1000
|
||||
Subject: [PATCH] d3drm: IDirect3DRMFrame2 Move
|
||||
|
||||
---
|
||||
dlls/d3drm/frame.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3drm/frame.c b/dlls/d3drm/frame.c
|
||||
index 2044ba8a2cb..375413af1d7 100644
|
||||
--- a/dlls/d3drm/frame.c
|
||||
+++ b/dlls/d3drm/frame.c
|
||||
@@ -1815,14 +1815,14 @@ static HRESULT WINAPI d3drm_frame3_Move(IDirect3DRMFrame3 *iface, D3DVALUE delta
|
||||
{
|
||||
FIXME("iface %p, delta %.8e stub!\n", iface, delta);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_frame2_Move(IDirect3DRMFrame2 *iface, D3DVALUE delta)
|
||||
{
|
||||
FIXME("iface %p, delta %.8e stub!\n", iface, delta);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_frame1_Move(IDirect3DRMFrame *iface, D3DVALUE delta)
|
||||
@@ -2483,7 +2483,7 @@ static HRESULT WINAPI d3drm_frame3_SetRotation(IDirect3DRMFrame3 *iface,
|
||||
FIXME("iface %p, reference %p, x %.8e, y %.8e, z %.8e, theta %.8e stub!\n",
|
||||
iface, reference, x, y, z, theta);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_frame2_SetRotation(IDirect3DRMFrame2 *iface,
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From eed9eef5f7dda1c86dd59aa284f158ba33008480 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Sat, 4 Jun 2022 14:48:54 +1000
|
||||
Subject: [PATCH] d3drm: SetBufferCount Fake success
|
||||
|
||||
Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=43180
|
||||
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
---
|
||||
dlls/d3drm/device.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/d3drm/device.c b/dlls/d3drm/device.c
|
||||
index 1a433746224..fe85784ee63 100644
|
||||
--- a/dlls/d3drm/device.c
|
||||
+++ b/dlls/d3drm/device.c
|
||||
@@ -783,7 +783,7 @@ static HRESULT WINAPI d3drm_device3_SetBufferCount(IDirect3DRMDevice3 *iface, DW
|
||||
{
|
||||
FIXME("iface %p, count %lu stub!\n", iface, count);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_device2_SetBufferCount(IDirect3DRMDevice2 *iface, DWORD count)
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
From 5da19416de998bfc236534d0e333c2c0454fdace Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 13 Jun 2022 17:21:45 +1000
|
||||
Subject: [PATCH] d3drm: AddVertext creates a Coordinates list
|
||||
|
||||
---
|
||||
dlls/d3drm/d3drm_private.h | 2 +-
|
||||
dlls/d3drm/meshbuilder.c | 6 ++++-
|
||||
dlls/d3drm/tests/d3drm.c | 48 ++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 54 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3drm/d3drm_private.h b/dlls/d3drm/d3drm_private.h
|
||||
index e07efa1c799..53d2d76d18a 100644
|
||||
--- a/dlls/d3drm/d3drm_private.h
|
||||
+++ b/dlls/d3drm/d3drm_private.h
|
||||
@@ -161,7 +161,7 @@ struct d3drm_mesh_builder
|
||||
DWORD nb_faces;
|
||||
DWORD face_data_size;
|
||||
void *pFaceData;
|
||||
- DWORD nb_coords2d;
|
||||
+ SIZE_T nb_coords2d;
|
||||
struct coords_2d *pCoords2d;
|
||||
D3DCOLOR color;
|
||||
IDirect3DRMMaterial2 *material;
|
||||
diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c
|
||||
index 8f9a3cb71a7..70ab332359c 100644
|
||||
--- a/dlls/d3drm/meshbuilder.c
|
||||
+++ b/dlls/d3drm/meshbuilder.c
|
||||
@@ -1232,7 +1232,7 @@ HRESULT load_mesh_data(IDirect3DRMMeshBuilder3 *iface, IDirectXFileData *pData,
|
||||
|
||||
mesh_builder->nb_coords2d = *(DWORD*)ptr;
|
||||
|
||||
- TRACE("MeshTextureCoords: nb_coords2d = %ld\n", mesh_builder->nb_coords2d);
|
||||
+ TRACE("MeshTextureCoords: nb_coords2d = %Iu\n", mesh_builder->nb_coords2d);
|
||||
|
||||
mesh_builder->pCoords2d = calloc(mesh_builder->nb_coords2d, sizeof(*mesh_builder->pCoords2d));
|
||||
memcpy(mesh_builder->pCoords2d, ptr + sizeof(DWORD), mesh_builder->nb_coords2d * sizeof(*mesh_builder->pCoords2d));
|
||||
@@ -1949,6 +1949,10 @@ static int WINAPI d3drm_mesh_builder3_AddVertex(IDirect3DRMMeshBuilder3 *iface,
|
||||
mesh_builder->vertices[mesh_builder->nb_vertices].y = y;
|
||||
mesh_builder->vertices[mesh_builder->nb_vertices].z = z;
|
||||
|
||||
+ if (!d3drm_array_reserve((void **)&mesh_builder->pCoords2d, &mesh_builder->nb_coords2d,
|
||||
+ mesh_builder->nb_coords2d + 1, sizeof(*mesh_builder->pCoords2d)))
|
||||
+ return 0;
|
||||
+
|
||||
return mesh_builder->nb_vertices++;
|
||||
}
|
||||
|
||||
diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c
|
||||
index 72e07dde7a8..778ab2546db 100644
|
||||
--- a/dlls/d3drm/tests/d3drm.c
|
||||
+++ b/dlls/d3drm/tests/d3drm.c
|
||||
@@ -851,6 +851,53 @@ static void test_Mesh(void)
|
||||
IDirect3DRM_Release(d3drm);
|
||||
}
|
||||
|
||||
+static void test_Mesh_Vertices(void)
|
||||
+{
|
||||
+ HRESULT hr;
|
||||
+ IDirect3DRM *d3drm;
|
||||
+ IDirect3DRM2 *d3drm2;
|
||||
+ IDirect3DRMMesh *mesh;
|
||||
+ IDirect3DRMMeshBuilder2 *builder;
|
||||
+ D3DVALUE u, v;
|
||||
+ int idx;
|
||||
+
|
||||
+ hr = Direct3DRMCreate(&d3drm);
|
||||
+ ok(hr == D3DRM_OK, "Cannot get IDirect3DRM interface, hr %#lx\n", hr);
|
||||
+
|
||||
+ if (FAILED(hr = IDirect3DRM_QueryInterface(d3drm, &IID_IDirect3DRM2, (void **)&d3drm2)))
|
||||
+ {
|
||||
+ win_skip("Cannot get IDirect3DRM2 interface, hr %#lx, skipping tests\n", hr);
|
||||
+ IDirect3DRM_Release(d3drm);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ hr = IDirect3DRM_CreateMesh(d3drm, &mesh);
|
||||
+ ok(hr == D3DRM_OK, "Cannot get IDirect3DRMMesh interface, hr %#lx\n", hr);
|
||||
+
|
||||
+ hr = IDirect3DRM2_CreateMeshBuilder(d3drm2, &builder);
|
||||
+ ok(hr == S_OK, "got hr %#lx\n", hr);
|
||||
+
|
||||
+ idx = IDirect3DRMMeshBuilder_AddVertex(builder, -2.95f, 0.0f, 2.95f);
|
||||
+ ok(idx == 0, "got hr %d\n", idx);
|
||||
+
|
||||
+ hr = IDirect3DRMMeshBuilder_SetTextureCoordinates(builder, 0, 0.0f, 0.0f);
|
||||
+ ok(hr == S_OK, "got hr %#lx\n", hr);
|
||||
+
|
||||
+ idx = IDirect3DRMMeshBuilder_AddVertex(builder, -2.95f, 0.0f, 2.95f);
|
||||
+ ok(idx == 1, "got hr %d\n", idx);
|
||||
+
|
||||
+ hr = IDirect3DRMMeshBuilder_GetTextureCoordinates(builder, idx, &u, &v);
|
||||
+ ok(hr == S_OK, "got hr %#lx\n", hr);
|
||||
+ ok(u == 0.0f, "got hr %.8e\n", u);
|
||||
+ ok(v == 0.0f, "got hr %.8e\n", v);
|
||||
+
|
||||
+ IDirect3DRMMeshBuilder_Release(builder);
|
||||
+ IDirect3DRMMesh_Release(mesh);
|
||||
+
|
||||
+ IDirect3DRM2_Release(d3drm2);
|
||||
+ IDirect3DRM_Release(d3drm);
|
||||
+}
|
||||
+
|
||||
static void test_Face(void)
|
||||
{
|
||||
HRESULT hr;
|
||||
@@ -8243,6 +8290,7 @@ START_TEST(d3drm)
|
||||
test_MeshBuilder();
|
||||
test_MeshBuilder3();
|
||||
test_Mesh();
|
||||
+ test_Mesh_Vertices();
|
||||
test_Face();
|
||||
test_Frame();
|
||||
test_Device();
|
||||
--
|
||||
2.45.2
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From ca13260b9498991535cb5544cd75716055ef3c8d Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 13 Jun 2022 17:53:37 +1000
|
||||
Subject: [PATCH] d3drm: IDirect3DRMFace2 AddVertexAndNormalIndexed
|
||||
|
||||
---
|
||||
dlls/d3drm/face.c | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3drm/face.c b/dlls/d3drm/face.c
|
||||
index 34810894e13..ce75c68bb59 100644
|
||||
--- a/dlls/d3drm/face.c
|
||||
+++ b/dlls/d3drm/face.c
|
||||
@@ -206,9 +206,11 @@ static HRESULT WINAPI d3drm_face1_AddVertex(IDirect3DRMFace *iface, D3DVALUE x,
|
||||
static HRESULT WINAPI d3drm_face1_AddVertexAndNormalIndexed(IDirect3DRMFace *iface,
|
||||
DWORD vertex, DWORD normal)
|
||||
{
|
||||
- FIXME("iface %p, vertex %lu, normal %lu stub!\n", iface, vertex, normal);
|
||||
+ struct d3drm_face *face = impl_from_IDirect3DRMFace(iface);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ TRACE("iface %p, vertex %lu, normal %lu stub!\n", iface, vertex, normal);
|
||||
+
|
||||
+ return IDirect3DRMFace2_AddVertexAndNormalIndexed(&face->IDirect3DRMFace2_iface, vertex, normal);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_face2_SetColorRGB(IDirect3DRMFace2 *iface, D3DVALUE red, D3DVALUE green, D3DVALUE blue)
|
||||
@@ -477,7 +479,7 @@ static HRESULT WINAPI d3drm_face2_AddVertexAndNormalIndexed(IDirect3DRMFace2 *if
|
||||
{
|
||||
FIXME("iface %p, vertex %lu, normal %lu stub!\n", iface, vertex, normal);
|
||||
|
||||
- return E_NOTIMPL;
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI d3drm_face2_SetTexture(IDirect3DRMFace2 *iface, IDirect3DRMTexture3 *texture)
|
||||
--
|
||||
2.45.2
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user