mirror of
https://github.com/reactos/reactos.git
synced 2025-07-28 17:01:49 +00:00
[WINED3DCFG]
Add a simple control panel applet for WineD3D runtime configuration. svn path=/trunk/; revision=55012
This commit is contained in:
parent
251c457026
commit
15aa273475
13 changed files with 390 additions and 0 deletions
|
@ -18,3 +18,4 @@ add_subdirectory(sysdm)
|
|||
add_subdirectory(telephon)
|
||||
add_subdirectory(timedate)
|
||||
add_subdirectory(usrmgr)
|
||||
add_subdirectory(wined3dcfg)
|
||||
|
|
|
@ -55,4 +55,7 @@
|
|||
<directory name="usrmgr">
|
||||
<xi:include href="usrmgr/usrmgr.rbuild" />
|
||||
</directory>
|
||||
<directory name="wined3dcfg">
|
||||
<xi:include href="wined3dcfg/wined3dcfg.rbuild" />
|
||||
</directory>
|
||||
</group>
|
22
reactos/dll/cpl/wined3dcfg/CMakeLists.txt
Normal file
22
reactos/dll/cpl/wined3dcfg/CMakeLists.txt
Normal file
|
@ -0,0 +1,22 @@
|
|||
|
||||
set_rc_compiler()
|
||||
|
||||
spec2def(wined3dcfg.cpl wined3dcfg.spec)
|
||||
|
||||
add_library(wined3dcfg SHARED
|
||||
wined3dcfg.c
|
||||
general.c
|
||||
wined3dcfg.rc
|
||||
${CMAKE_CURRENT_BINARY_DIR}/wined3dcfg.def)
|
||||
|
||||
set_module_type(wined3dcfg cpl UNICODE)
|
||||
|
||||
add_importlibs(wined3dcfg
|
||||
msvcrt
|
||||
user32
|
||||
comctl32
|
||||
advapi32
|
||||
kernel32)
|
||||
|
||||
add_pch(wined3dcfg wined3dcfg.h)
|
||||
add_cd_file(TARGET wined3dcfg DESTINATION reactos/system32 FOR all)
|
163
reactos/dll/cpl/wined3dcfg/general.c
Normal file
163
reactos/dll/cpl/wined3dcfg/general.c
Normal file
|
@ -0,0 +1,163 @@
|
|||
#include "wined3dcfg.h"
|
||||
|
||||
static LONG ReadSetting(HKEY hKey, PWCHAR szKey, PWCHAR szBuffer, DWORD dwSize)
|
||||
{
|
||||
return RegQueryValueExW(hKey, szKey, NULL, NULL, (LPBYTE)szBuffer, &dwSize);
|
||||
}
|
||||
|
||||
static VOID SaveSetting(HKEY hKey, PWCHAR szKey, PWCHAR szState)
|
||||
{
|
||||
RegSetValueExW(hKey, szKey, 0, REG_SZ, (LPBYTE)szState, (wcslen(szState) + 1) * sizeof(WCHAR));
|
||||
}
|
||||
|
||||
static VOID InitSettings(HWND hWndDlg)
|
||||
{
|
||||
HKEY hKey;
|
||||
WCHAR szBuffer[MAX_KEY_LENGTH];
|
||||
DWORD dwSize = MAX_KEY_LENGTH;
|
||||
|
||||
if (RegOpenKeyExW(HKEY_CURRENT_USER,
|
||||
KEY_WINE,
|
||||
0,
|
||||
KEY_READ,
|
||||
&hKey) != ERROR_SUCCESS)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(ReadSetting(hKey, KEY_GLSL, szBuffer, dwSize) == ERROR_SUCCESS)
|
||||
CheckDlgButton(hWndDlg, IDC_GLSL, (wcscmp(VALUE_DISABLED, szBuffer) != 0) ? BST_CHECKED : BST_UNCHECKED);
|
||||
|
||||
if(ReadSetting(hKey, KEY_MULTISAMPLING, szBuffer, dwSize) == ERROR_SUCCESS)
|
||||
CheckDlgButton(hWndDlg, IDC_MULTISAMPLING, (wcscmp(VALUE_ENABLED, szBuffer) == 0) ? BST_CHECKED : BST_UNCHECKED);
|
||||
|
||||
if(ReadSetting(hKey, KEY_PIXELSHADERS, szBuffer, dwSize) == ERROR_SUCCESS)
|
||||
CheckDlgButton(hWndDlg, IDC_PIXELSHADERS, (wcscmp(VALUE_ENABLED, szBuffer) == 0) ? BST_CHECKED : BST_UNCHECKED);
|
||||
|
||||
if(ReadSetting(hKey, KEY_STRICTDRAWORDERING, szBuffer, dwSize) == ERROR_SUCCESS)
|
||||
CheckDlgButton(hWndDlg, IDC_STRICTDRAWORDERING, (wcscmp(VALUE_ENABLED, szBuffer) == 0) ? BST_CHECKED : BST_UNCHECKED);
|
||||
|
||||
if(ReadSetting(hKey, KEY_VERTEXSHADERS, szBuffer, dwSize) == ERROR_SUCCESS)
|
||||
CheckDlgButton(hWndDlg, IDC_VERTEXSHADERS, (wcscmp(VALUE_NONE, szBuffer) != 0) ? BST_CHECKED : BST_UNCHECKED);
|
||||
|
||||
SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_ADDSTRING, 0, (LPARAM)VALUE_FBO);
|
||||
SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_ADDSTRING, 0, (LPARAM)VALUE_BACKBUFFER);
|
||||
|
||||
SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_SETITEMDATA, ITEM_FBO, (LPARAM)ITEM_FBO);
|
||||
SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_SETITEMDATA, ITEM_BACKBUFFER, (LPARAM)ITEM_BACKBUFFER);
|
||||
|
||||
if(ReadSetting(hKey, KEY_OFFSCREEN, szBuffer, dwSize) == ERROR_SUCCESS && !wcscmp(VALUE_BACKBUFFER, szBuffer))
|
||||
SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_SETCURSEL, 1, 0);
|
||||
else
|
||||
SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_SETCURSEL, 0, 0);
|
||||
|
||||
SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_ADDSTRING, 0, (LPARAM)VALUE_READTEX);
|
||||
SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_ADDSTRING, 0, (LPARAM)VALUE_READDRAW);
|
||||
SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_ADDSTRING, 0, (LPARAM)VALUE_DISABLED);
|
||||
|
||||
SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETITEMDATA, (WPARAM)ITEM_READTEX, (LPARAM)ITEM_READTEX);
|
||||
SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETITEMDATA, (WPARAM)ITEM_READDRAW, (LPARAM)ITEM_READDRAW);
|
||||
SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETITEMDATA, (WPARAM)ITEM_DISABLED, (LPARAM)ITEM_DISABLED);
|
||||
|
||||
SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETCURSEL, 0, 0);
|
||||
|
||||
if(ReadSetting(hKey, KEY_LOCKING, szBuffer, dwSize) == ERROR_SUCCESS)
|
||||
{
|
||||
if(!wcscmp(VALUE_READDRAW, szBuffer))
|
||||
SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETCURSEL, 1, 0);
|
||||
else if(!wcscmp(VALUE_DISABLED, szBuffer))
|
||||
SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETCURSEL, 2, 0);
|
||||
}
|
||||
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
|
||||
static VOID WriteSettings(HWND hWndDlg)
|
||||
{
|
||||
HKEY hKey;
|
||||
INT iCurSel;
|
||||
|
||||
if (RegOpenKeyExW(HKEY_CURRENT_USER,
|
||||
KEY_WINE,
|
||||
0,
|
||||
KEY_WRITE,
|
||||
&hKey) != ERROR_SUCCESS)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
SaveSetting(hKey, KEY_GLSL, (IsDlgButtonChecked(hWndDlg, IDC_GLSL) == BST_CHECKED) ? VALUE_ENABLED : VALUE_DISABLED);
|
||||
SaveSetting(hKey, KEY_MULTISAMPLING, (IsDlgButtonChecked(hWndDlg, IDC_MULTISAMPLING) == BST_CHECKED) ? VALUE_ENABLED : VALUE_DISABLED);
|
||||
SaveSetting(hKey, KEY_PIXELSHADERS, (IsDlgButtonChecked(hWndDlg, IDC_PIXELSHADERS) == BST_CHECKED) ? VALUE_ENABLED : VALUE_DISABLED);
|
||||
SaveSetting(hKey, KEY_STRICTDRAWORDERING, (IsDlgButtonChecked(hWndDlg, IDC_STRICTDRAWORDERING) == BST_CHECKED) ? VALUE_ENABLED : VALUE_DISABLED);
|
||||
SaveSetting(hKey, KEY_VERTEXSHADERS, (IsDlgButtonChecked(hWndDlg, IDC_VERTEXSHADERS) == BST_CHECKED) ? VALUE_ENABLED : VALUE_NONE);
|
||||
|
||||
iCurSel = (INT)SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_GETCURSEL, 0, 0);
|
||||
|
||||
if(iCurSel != CB_ERR)
|
||||
{
|
||||
iCurSel = (INT)SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_GETITEMDATA, (WPARAM)iCurSel, 0);
|
||||
|
||||
if(iCurSel == ITEM_READDRAW)
|
||||
SaveSetting(hKey, KEY_LOCKING, VALUE_READDRAW);
|
||||
else if(iCurSel == ITEM_DISABLED)
|
||||
SaveSetting(hKey, KEY_LOCKING, VALUE_DISABLED);
|
||||
else
|
||||
SaveSetting(hKey, KEY_LOCKING, VALUE_READTEX);
|
||||
}
|
||||
|
||||
iCurSel = (INT)SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_GETCURSEL, 0, 0);
|
||||
|
||||
if(iCurSel != CB_ERR)
|
||||
{
|
||||
iCurSel = (INT)SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_GETITEMDATA, (WPARAM)iCurSel, 0);
|
||||
|
||||
if(iCurSel == ITEM_BACKBUFFER)
|
||||
SaveSetting(hKey, KEY_OFFSCREEN, VALUE_BACKBUFFER);
|
||||
else
|
||||
SaveSetting(hKey, KEY_OFFSCREEN, VALUE_FBO);
|
||||
}
|
||||
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
|
||||
|
||||
INT_PTR CALLBACK GeneralPageProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
LPPSHNOTIFY lppsn;
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
InitSettings(hWndDlg);
|
||||
return TRUE;
|
||||
|
||||
case WM_COMMAND:
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDC_GLSL:
|
||||
case IDC_LOCKING:
|
||||
case IDC_MULTISAMPLING:
|
||||
case IDC_OFFSCREEN:
|
||||
case IDC_PIXELSHADERS:
|
||||
case IDC_STRICTDRAWORDERING:
|
||||
case IDC_VERTEXSHADERS:
|
||||
PropSheet_Changed(GetParent(hWndDlg), hWndDlg);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_NOTIFY:
|
||||
lppsn = (LPPSHNOTIFY)lParam;
|
||||
if (lppsn->hdr.code == PSN_APPLY)
|
||||
{
|
||||
WriteSettings(hWndDlg);
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
27
reactos/dll/cpl/wined3dcfg/lang/en-US.rc
Normal file
27
reactos/dll/cpl/wined3dcfg/lang/en-US.rc
Normal file
|
@ -0,0 +1,27 @@
|
|||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
IDD_PROPPAGEGENERAL DIALOGEX 0, 0, 246, 228
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "General"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
ICON IDI_CPLICON, IDI_CPLICON, 8, 5, 21, 20
|
||||
GROUPBOX "Shaders", -1, 5, 35, 230, 65
|
||||
AUTOCHECKBOX "Enable &GLSL", IDC_GLSL, 15, 50, 150, 10
|
||||
AUTOCHECKBOX "Enable &pixel shaders", IDC_PIXELSHADERS, 15, 65, 150, 10
|
||||
AUTOCHECKBOX "Enable &Vertex shaders", IDC_VERTEXSHADERS, 15, 80, 150, 10
|
||||
GROUPBOX "Rendering", -1, 5, 110, 230, 85
|
||||
AUTOCHECKBOX "Force &multisampling", IDC_MULTISAMPLING, 15, 125, 150, 10
|
||||
AUTOCHECKBOX "Force &strict draw ordering", IDC_STRICTDRAWORDERING, 15, 140, 150, 10
|
||||
LTEXT "Offscreen rendering:", -1, 15, 157, 80, 10
|
||||
COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
|
||||
LTEXT "Render target locking:", -1, 15, 175, 72, 10, SS_LEFT
|
||||
COMBOBOX IDC_LOCKING, 95, 173, 90, 50, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST
|
||||
END
|
||||
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CPLNAME "WineD3D"
|
||||
IDS_CPLDESCRIPTION "Configures WineD3D runtime settings."
|
||||
END
|
23
reactos/dll/cpl/wined3dcfg/resource.h
Normal file
23
reactos/dll/cpl/wined3dcfg/resource.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
#pragma once
|
||||
|
||||
/* Icons */
|
||||
#define IDI_CPLICON 1
|
||||
|
||||
/* Dialogs */
|
||||
#define IDD_PROPPAGEGENERAL 100
|
||||
|
||||
/* Controls */
|
||||
#define IDC_PIXELSHADERS 1001
|
||||
#define IDC_GLSL 1002
|
||||
#define IDC_VERTEXSHADERS 1003
|
||||
#define IDC_MULTISAMPLING 1004
|
||||
#define IDC_STRICTDRAWORDERING 1005
|
||||
#define IDC_OFFSCREEN 1006
|
||||
#define IDC_LOCKING 1007
|
||||
|
||||
|
||||
/* Strings */
|
||||
#define IDS_CPLNAME 10000
|
||||
#define IDS_CPLDESCRIPTION 10001
|
||||
|
||||
/* EOF */
|
BIN
reactos/dll/cpl/wined3dcfg/resources/wined3dcfg.ico
Normal file
BIN
reactos/dll/cpl/wined3dcfg/resources/wined3dcfg.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
6
reactos/dll/cpl/wined3dcfg/rsrc.rc
Normal file
6
reactos/dll/cpl/wined3dcfg/rsrc.rc
Normal file
|
@ -0,0 +1,6 @@
|
|||
#include <windows.h>
|
||||
#include "resource.h"
|
||||
|
||||
// UTF-8
|
||||
#pragma code_page(65001)
|
||||
#include "lang/en-US.rc"
|
77
reactos/dll/cpl/wined3dcfg/wined3dcfg.c
Normal file
77
reactos/dll/cpl/wined3dcfg/wined3dcfg.c
Normal file
|
@ -0,0 +1,77 @@
|
|||
#include "wined3dcfg.h"
|
||||
|
||||
HINSTANCE hApplet = 0;
|
||||
|
||||
LONG CALLBACK AppletInit(HWND hWnd)
|
||||
{
|
||||
PROPSHEETPAGEW psp;
|
||||
PROPSHEETHEADERW psh;
|
||||
WCHAR szCaption[1024];
|
||||
|
||||
LoadStringW(hApplet, IDS_CPLNAME, szCaption, sizeof(szCaption) / sizeof(WCHAR));
|
||||
|
||||
ZeroMemory(&psp, sizeof(PROPSHEETPAGE));
|
||||
psp.dwSize = sizeof(PROPSHEETPAGE);
|
||||
psp.dwFlags = PSP_DEFAULT;
|
||||
psp.hInstance = hApplet;
|
||||
psp.pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGEGENERAL);
|
||||
psp.pfnDlgProc = GeneralPageProc;
|
||||
|
||||
ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
|
||||
psh.dwSize = sizeof(PROPSHEETHEADER);
|
||||
psh.dwFlags = PSH_PROPSHEETPAGE;
|
||||
psh.hwndParent = hWnd;
|
||||
psh.hInstance = hApplet;
|
||||
psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_CPLICON));
|
||||
psh.pszCaption = szCaption;
|
||||
psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE);
|
||||
psh.nStartPage = 0;
|
||||
psh.ppsp = &psp;
|
||||
|
||||
return (LONG)(PropertySheet(&psh) != -1);
|
||||
}
|
||||
|
||||
LONG CALLBACK CPlApplet(HWND hWnd, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
|
||||
{
|
||||
switch (uMsg)
|
||||
{
|
||||
case CPL_INIT:
|
||||
return TRUE;
|
||||
|
||||
case CPL_GETCOUNT:
|
||||
return 1;
|
||||
|
||||
case CPL_INQUIRE:
|
||||
{
|
||||
CPLINFO *CPlInfo = (CPLINFO*)lParam2;
|
||||
CPlInfo->lData = 0;
|
||||
CPlInfo->idIcon = IDI_CPLICON;
|
||||
CPlInfo->idInfo = IDS_CPLDESCRIPTION;
|
||||
CPlInfo->idName = IDS_CPLNAME;
|
||||
}
|
||||
break;
|
||||
|
||||
case CPL_DBLCLK:
|
||||
AppletInit(hWnd);
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpvReserved)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(lpvReserved);
|
||||
|
||||
switch (dwReason)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
case DLL_THREAD_ATTACH:
|
||||
hApplet = hinstDLL;
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
37
reactos/dll/cpl/wined3dcfg/wined3dcfg.h
Normal file
37
reactos/dll/cpl/wined3dcfg/wined3dcfg.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
#include <cpl.h>
|
||||
#include <stdio.h>
|
||||
#include <initguid.h>
|
||||
#include <debug.h>
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#define MAX_KEY_LENGTH 256
|
||||
|
||||
#define ITEM_FBO 0
|
||||
#define ITEM_BACKBUFFER 1
|
||||
|
||||
#define ITEM_READTEX 0
|
||||
#define ITEM_READDRAW 1
|
||||
#define ITEM_DISABLED 2
|
||||
|
||||
#define VALUE_READTEX L"readtex"
|
||||
#define VALUE_READDRAW L"readdraw"
|
||||
#define VALUE_ENABLED L"enabled"
|
||||
#define VALUE_DISABLED L"disabled"
|
||||
#define VALUE_NONE L"none"
|
||||
#define VALUE_BACKBUFFER L"backbuffer"
|
||||
#define VALUE_FBO L"fbo"
|
||||
|
||||
#define KEY_WINE L"Software\\Wine\\Direct3D"
|
||||
|
||||
#define KEY_GLSL L"UseGLSL"
|
||||
#define KEY_VERTEXSHADERS L"VertexShaderMode"
|
||||
#define KEY_PIXELSHADERS L"PixelShaderMode"
|
||||
#define KEY_STRICTDRAWORDERING L"StrictDrawOrdering"
|
||||
#define KEY_OFFSCREEN L"OffscreenRenderingMode"
|
||||
#define KEY_MULTISAMPLING L"Multisampling"
|
||||
#define KEY_LOCKING L"RenderTargetLockMode"
|
||||
|
||||
INT_PTR CALLBACK GeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
14
reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild
Normal file
14
reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="wined3dcfg" type="win32dll" extension=".cpl" installbase="system32" installname="wined3dcfg.cpl" crt="msvcrt" unicode="yes">
|
||||
<importlibrary definition="wined3dcfg.spec" />
|
||||
<include base="wined3dcfg">.</include>
|
||||
<library>user32</library>
|
||||
<library>comctl32</library>
|
||||
<library>advapi32</library>
|
||||
<library>kernel32</library>
|
||||
<file>wined3dcfg.c</file>
|
||||
<file>general.c</file>
|
||||
<file>wined3dcfg.rc</file>
|
||||
<pch>wined3dcfg.h</pch>
|
||||
</module>
|
15
reactos/dll/cpl/wined3dcfg/wined3dcfg.rc
Normal file
15
reactos/dll/cpl/wined3dcfg/wined3dcfg.rc
Normal file
|
@ -0,0 +1,15 @@
|
|||
#include <windows.h>
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
|
||||
#define REACTOS_VERSION_DLL
|
||||
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS WineD3D Configuration Control Panel\0"
|
||||
#define REACTOS_STR_INTERNAL_NAME "WineD3Dcfg\0"
|
||||
#define REACTOS_STR_ORIGINAL_FILENAME "WineD3Dcfg.cpl\0"
|
||||
#include <reactos/version.rc>
|
||||
|
||||
/* Icons */
|
||||
IDI_CPLICON ICON "resources/wined3dcfg.ico"
|
||||
|
||||
#include "rsrc.rc"
|
2
reactos/dll/cpl/wined3dcfg/wined3dcfg.spec
Normal file
2
reactos/dll/cpl/wined3dcfg/wined3dcfg.spec
Normal file
|
@ -0,0 +1,2 @@
|
|||
@ stdcall CPlApplet(ptr long ptr ptr)
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue