Re: [PATCH 03/14] mciwave: Do not lie about state when winmm fails in Pause or Resume.
Patch is missing -- Christian Gmeiner, MSc
Re: RFC: registry keys of serial ports
2009/9/11 Stefan Leichter : > Am Friday 11 September 2009 12:30:01 schrieb Christian Gmeiner: >> Hi Stefan, >> >> I like the idea of adding more registry keys for hardware components. >> I want some registry keys for usb devices >> so I had a look at your patch. I don't like the mess with the added >> goto serial. If in future there will be support >> for usb and the whole source will be quite hard to follow. The usb >> registry keys are needed e.g. for this [1]. >> So i like to propose my idea how it could look like. >> >> In function new_device( LibHalContext *ctx, const char *udi ) we could >> readout the info.subsystem setting of the newly added device and add a >> if for info.subsystem strings like >> block - block devices >> tty - serial >> usb_devices/usb - usb >> >> could look like >> >> /* HAL callback for new device */ >> static void new_device( LibHalContext *ctx, const char *udi ) >> { >> DBusError error; >> char *subsystem = NULL; >> >> p_dbus_error_init( &error ); >> >> if (!(subsystem = p_libhal_device_get_property_string( ctx, udi, >> "info.subsystem", &error ))) >> goto done; >> >> if (strcmp(subsystem == "block") == 0) >> block_device( ctx, udi, &error ); >> else if (strcmp(subsystem == "usb_device") == 0) >> usb_device( ctx, udi, &error ); >> else if (strcmp(subsystem == "tty") == 0) >> serial_device( ctx, udi, &error ); >> >> p_dbus_error_free( &error ); >> } >> > > Hi Christian, > > i like your idea, but a short test shows that "info.subsystem" is not > available for drives. But "info.category" can be used. with drives you mean CD and DVD drives? lshal gives me this: udi = '/org/freedesktop/Hal/devices/pci_10de_37f_1_scsi_host_scsi_device_lun0' info.linux.driver = 'sr' (string) info.parent = '/org/freedesktop/Hal/devices/pci_10de_37f_1_scsi_host' (string) info.product = 'SCSI Device' (string) info.subsystem = 'scsi' (string) info.udi = '/org/freedesktop/Hal/devices/pci_10de_37f_1_scsi_host_scsi_device_lun0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'scsi' (string) linux.sysfs_path = '/sys/devices/pci:00/:00:0d.2/host4/target4:0:0/4:0:0:0' (string) scsi.bus = 0 (0x0) (int) scsi.host = 4 (0x4) (int) scsi.lun = 0 (0x0) (int) scsi.model = 'CD/DVDW SH-S183L' (string) scsi.target = 0 (0x0) (int) scsi.type = 'cdrom' (string) scsi.vendor = 'TSSTcorp' (string) udi = '/org/freedesktop/Hal/devices/storage_model_CD_DVDW_SH_S183L' block.device = '/dev/sr0' (string) block.is_volume = false (bool) block.major = 11 (0xb) (int) block.minor = 0 (0x0) (int) block.storage_device = '/org/freedesktop/Hal/devices/storage_model_CD_DVDW_SH_S183L' (string) info.addons = {'hald-addon-storage'} (string list) info.capabilities = {'storage', 'block', 'storage.cdrom'} (string list) info.category = 'storage' (string) info.interfaces = {'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage.Removable'} (string list) info.parent = '/org/freedesktop/Hal/devices/pci_10de_37f_1_scsi_host_scsi_device_lun0' (string) info.product = 'CD/DVDW SH-S183L' (string) info.udi = '/org/freedesktop/Hal/devices/storage_model_CD_DVDW_SH_S183L' (string) info.vendor = 'TSSTcorp' (string) linux.hotplug_type = 3 (0x3) (int) linux.sysfs_path = '/sys/devices/pci:00/:00:0d.2/host4/target4:0:0/4:0:0:0/block/sr0' (string) org.freedesktop.Hal.Device.Storage.method_argnames = {'extra_options', 'extra_options'} (string list) org.freedesktop.Hal.Device.Storage.method_execpaths = {'hal-storage-eject', 'hal-storage-closetray'} (string list) org.freedesktop.Hal.Device.Storage.method_names = {'Eject', 'CloseTray'} (string list) org.freedesktop.Hal.Device.Storage.method_signatures = {'as', 'as'} (string list) storage.automount_enabled_hint = true (bool) storage.bus = 'pci' (string) storage.cdrom.bd = false (bool) storage.cdrom.bdr = false (bool) storage.cdrom.bdre = false (bool) storage.cdrom.cdr = true (bool) storage.cdrom.cdrw = true (bool) storage.cdrom.dvd = true (bool) storage.cdrom.dvdplusr = true (bool) storage.cdrom.dvdplusrdl = true (bool) storage.cdrom.
Re: RFC: registry keys of serial ports
Hi Stefan, I like the idea of adding more registry keys for hardware components. I want some registry keys for usb devices so I had a look at your patch. I don't like the mess with the added goto serial. If in future there will be support for usb and the whole source will be quite hard to follow. The usb registry keys are needed e.g. for this [1]. So i like to propose my idea how it could look like. In function new_device( LibHalContext *ctx, const char *udi ) we could readout the info.subsystem setting of the newly added device and add a if for info.subsystem strings like block - block devices tty - serial usb_devices/usb - usb could look like /* HAL callback for new device */ static void new_device( LibHalContext *ctx, const char *udi ) { DBusError error; char *subsystem = NULL; p_dbus_error_init( &error ); if (!(subsystem = p_libhal_device_get_property_string( ctx, udi, "info.subsystem", &error ))) goto done; if (strcmp(subsystem == "block") == 0) block_device( ctx, udi, &error ); else if (strcmp(subsystem == "usb_device") == 0) usb_device( ctx, udi, &error ); else if (strcmp(subsystem == "tty") == 0) serial_device( ctx, udi, &error ); p_dbus_error_free( &error ); } Now we have a ability to handle each device type with an own function, like static void block_device( LibHalContext *ctx, const char *udi, DBusError *error ) { char *device = NULL; char *mount_point = NULL; char *parent = NULL; char *uuid_str = NULL; char *type = NULL; GUID guid, *guid_ptr = NULL; enum device_type drive_type; if (!(device = p_libhal_device_get_property_string( ctx, udi, "block.device", error ))) goto done; if (!(mount_point = p_libhal_device_get_property_string( ctx, udi, "volume.mount_point", error ))) goto done; if (!(parent = p_libhal_device_get_property_string( ctx, udi, "info.parent", error ))) goto done; if (!(uuid_str = p_libhal_device_get_property_string( ctx, udi, "volume.uuid", error ))) p_dbus_error_free( &error ); /* ignore error */ else guid_ptr = parse_uuid( &guid, uuid_str ); if (!(type = p_libhal_device_get_property_string( ctx, parent, "storage.drive_type", error ))) p_dbus_error_free( &error ); /* ignore error */ if (type && !strcmp( type, "cdrom" )) drive_type = DEVICE_CDROM; else if (type && !strcmp( type, "floppy" )) drive_type = DEVICE_FLOPPY; else drive_type = DEVICE_UNKNOWN; if (p_libhal_device_get_property_bool( ctx, parent, "storage.removable", error )) { add_dos_device( -1, udi, device, mount_point, drive_type, guid_ptr ); /* add property watch for mount point */ p_libhal_device_add_property_watch( ctx, udi, error ); } else if (guid_ptr) add_volume( udi, device, mount_point, DEVICE_HARDDISK_VOL, guid_ptr ); done: if (type) p_libhal_free_string( type ); if (parent) p_libhal_free_string( parent ); if (device) p_libhal_free_string( device ); if (uuid_str) p_libhal_free_string( uuid_str ); if (mount_point) p_libhal_free_string( mount_point ); } Keep in mind that i am not sure if this source samples compile - was a quick copy & paste action. What do you think about it? [1] http://wiki.winehq.org/USB -- Christian Gmeiner, B.Sc. 2009/9/11 Stefan Leichter : > Hi, > > i like to know what modifikations the attached patch needs to go into git. > > More things need to be done in this area. I know of: > - more registry keys [1] > - remove the registry keys when a serial port disappears (USB) > - the links in the dosdevice directory needs to be created > > Patches for the items above will be created, when the current patch went into > git > > References: > 1 http://www.winehq.org/pipermail/wine-patches/2009-April/071999.html > - http://www.winehq.org/pipermail/wine-devel/2009-April/074476.html > > -- > Stefan > > > >
Adding devices to registry with the help of hal
Hi all, I want you to present my current proof-of-conecpt. It shows how we can use hal.c of explorer to create registry keys for devices. Keep in mind that it only creates one registry key for each usb device at the moment. Before I investigate more time in this, I want to get some feedback about my method. If you are happy with it, I will finish this suftt :) Greets, Christian devices_to_registry_preview.diff Description: Binary data
Adding devices to registry with the help of hal
Hi all, I want you to present my current proof-of-conecpt. It shows how we can use hal.c of explorer to create registry keys for devices. Keep in mind that it only creates one registry key for each usb device at the moment. Before I investigate more time in this, I want to get some feedback about my method. If you are happy with it, I will finish this suftt :) Greets, Christian devices_to_registry_preview.diff Description: Binary data
Re: autorun perhaps dangerous (Was: Wine release 0.9.53)
2008/1/11, Marcus Meissner <[EMAIL PROTECTED]>: > > On Fri, Jan 11, 2008 at 05:36:04PM +0100, Alexandre Julliard wrote: > > This is release 0.9.53 of Wine, a free implementation of Windows on > Unix. > > > > What's new in this release: > > - RunOnce and Run entries now executed on startup. > > This will probably give some fallout ;) > > I wanted to write earlier, but did forget about it over the last > days. > > For my grown Wine installation this now starts: > > - 2 instances of a Windows Worm > - Google Talk (not working) > - Skype (crashing) > - pccam.exe from some digital camera disk > - the annoying Steam.exe auto-update and ask-for-subscription dialog > - perhaps more > > and this even on "make check" :( > > We probably need some tool to edit Run and RunOnce entries now. wine regedit Maybe it would be a good idea to have an option to make us of this new feature... greets, Christian
Re: [SETUPAPI] SetupDiCreateDeviceInfo
Hi Paul, thanks for this info.. will fix it and send in a new version of this patch, also i will use debugstr_w to fix two warnings. Greets, Christian > > This patch implements SetupDiCreateDeviceInfoA and > > SetupDiCreateDeviceInfoW as > > stub. > > > > If something should be wrong with this patch, please let me know it :) > > > > Greets, > > Christian > > > > -- > > Christian Gmeiner - student of computer science > > > > http://dxr3plugin.sf.net > > Wanna listen to good music? - http://www.purevolume.com/sinceyouaredead > > Hi Christian, > > I haven't checked if the logic is corret. But this certainly isn't: > >+if (DeviceDescription) > >+{ > >+DeviceDescriptionW = MultiByteToUnicode(DeviceDescription, > > CP_ACP); +if (DeviceNameW == NULL) return FALSE; > > Shouldn't that be DeviceDescriptionW? > > >+if (DeviceNameW) > >+MyFree(DeviceDescriptionW); > >+if (DeviceNameW) > >+MyFree(DeviceDescriptionW); > > Some typos here as well. > > Cheers, > > Paul -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net Wanna listen to good music? - http://www.purevolume.com/sinceyouaredead
Re: [SETUPAPI] SetupDiCreateDeviceInfoA stub
On Thursday 22 June 2006 17:50, Detlef Riekenberg wrote: > Hi Christian Gmeiner: > > It seems that there > > is no SetupDiCreateDeviceInfoW exporteded by setupapi.dll on windows > > SetupDiCreateDeviceInfoW is exported: > http://support.microsoft.com/dllhelp/?dlltype=file&l=55&S=1&alpha=setupapi. >dll > > > Example Version: > http://support.microsoft.com/dllhelp/?fid=91484&l=55&det=1 > > > $ winedump dump -j export setupapi* | grep SetupDiCreate > 00023DFE 299 SetupDiCreateDevRegKeyA > 1C0F 300 SetupDiCreateDevRegKeyW > 000173E8 301 SetupDiCreateDeviceInfoA > 15A7 302 SetupDiCreateDeviceInfoList > 000170D1 303 SetupDiCreateDeviceInfoListExA > 48E5 304 SetupDiCreateDeviceInfoListExW > 0001746F 305 SetupDiCreateDeviceInfoW > 00018A9F 306 SetupDiCreateDeviceInterfaceA > 0002471C 307 SetupDiCreateDeviceInterfaceRegKeyA > 1CCE 308 SetupDiCreateDeviceInterfaceRegKeyW > 00018B03 309 SetupDiCreateDeviceInterfaceW Okay,,, will add it in a second patch... Greets, Christian -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net Wanna listen to good music? - http://www.purevolume.com/sinceyouaredead
Re: [Setuapi] implement SetupDiCreateDeviceInfoListExW - try 3
On Wednesday 14 June 2006 17:52, Juan Lang wrote: > Hi Christian, Hi Juan, > > > I want to make a generic setupapi.dll and I will remove old serial > > device list, but as too big patches wont get accepted, I will do this in > > one of my next patches. > > I put that hacky serial device list in there. I don't actually use the > app that fixed under Wine, as 1) Wine's serial code never worked for the > app, and 2) I no longer have the device it used. So, I don't know if > that'll convince AJ or not, but I'm fine with you axing it. Leaving > half-working code in there is more likely to get rejected than a big > patch, IMO, so I'd suggest you remove it. ah thats nice to hear... so i will make a try 4, which includes better test and removes all serial code stuff :) Christian PS: got my first crosscompile running... > > --Juan > > __ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net Wanna listen to good music? - http://www.purevolume.com/sinceyouaredead
Re: [Setuapi] implement SetupDiCreateDeviceInfoListExW - try 3
On Wednesday 14 June 2006 01:45, Detlef Riekenberg wrote: Hi Detlef > Hi Christian Gmeiner: > > Sorry for the new version, but i got rid of the whitspace stuff and also > > added a check if Reserved != NULL. > > > > I hope that this patch is ready to commit now. > > +if (MachineName != NULL) > +{ > +FIXME("remote support is not implemented"); > +goto cleanup; > +} > > A failure should always set an error. > You should add a test for this in the testsuite. > (winspool as example uses an empty servername the same way as NULL). > > For external Servers, ERROR_ACCESS_DENIED is a very common Result. For this case I will run a some tests on windows to see what it retuns. > > +if (Reserved != NULL) > +{ > +SetLastError(ERROR_INVALID_PARAMETER); > +goto cleanup; > +} > Same here. This is simple to test in the testsuite. > > > -SerialPortList *list = (SerialPortList *)devinfo; > +struct DeviceInfoSet *list = (struct DeviceInfoSet *)devinfo; > > -if (list->magic == SETUP_SERIAL_PORT_MAGIC) > +if (list->magic == SETUP_DEVICE_INFO_SET_MAGIC) > { > > This is wrong. > Read: static HDEVINFO SETUP_CreateSerialDeviceList(void) (line 904) Sure... I want to make a generic setupapi.dll and I will remove old serial device list, but as too big patches wont get accepted, I will do this in one of my next patches. If the basic setupapi stuff is done, I will implement hal handling into explorer so that the regestry is filled in a correct way. And this regestry values are used in setupapi.dll. This is why I want to a generic setupapi.dll. > > --- > In your test: > > +// create empty DeviceInfoList > > C++ comments are not allow (not supported by some compiler) ok.. will fix it... > > +devlist = SetupDiCreateDeviceInfoListExW(NULL, NULL, NULL, NULL); > + > +ok(devlist && devlist != INVALID_HANDLE_VALUE, > "SetupDiCreateDeviceInfoListExW failed : %p %ld\n", devlist, > GetLastError()); > > - You missed the "SetLastError(0xdeadbeef);" before the tested function. > - The first Part of your "ok()" - message > ("SetupDiCreateDeviceInfoListExW failed :") has no additional infos. > When a test fails, you will already get: > "__FILE__:__LINE__: Test failed:" > You know the dll, file and line of the failing "ok()" - statement. > Example: > info.c:932: Test failed: returned 0 with 1801 (expected '!=0' or '0' > with ERROR_INVALID_PARAMETER) > > > You may want to look at my recent Tests / Implementations for > GetPrintProcessorDirectory or AddMonitor/DeleteMonitor (winspool.drv), > but do not use the macro "MAGIC_DEAD" in the tests > (it works, but 0xdeadbeef has more advantages). > > > As an Example, that we really need tests for every API-Function: > The second Parameter of "DeleteMonitor" is ignored in all tested > Windows-Versions. Ah.. i will extend my patch, run tests on windows and hope it will get it into cvs. Greets, Christian -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net Wanna listen to good music? - http://www.purevolume.com/sinceyouaredead
Hal and functions in setupapi
Hi all... at the momemt i am reading into functions to get some informations about e.g. cdrom drives. At the moment i am loking into SetupDiGetClassDevsW to support GUID_DEVINTERFACE_CDROM and later USB devices. My overall goal is it to get Line 6 software for my guitart effect board (USB) working with wine. Now i thought about a way to get all informations about a singe cdrom device. And i thought that I could use HAL perfectly for this. I thought about this way of doing it: Add hal.c file to setupapi dll, which contains function to get infromations about all needed hardware. This should work very nicly for this case. But as I want to programm RegisterDeviceNotification also we need a central way to handle hal stuff. So how should I go on? Use some own hal.c in setupapi or add an global wine way to interact with hal? Thanks, Christian
Re: [SOC] ASIO
Hi all. Okay i think this project can be done by one student, because we can use the SDK for our work. We can take all API prototypes and build our own SDK based on the original SDK. We are only not allowed to share the original source files, but we are allowed to make them by our own by looking at orginal SDK. So if we dont do copy&paste, all should be okay. OF: An other question: How will the projects gets assigned to a student? -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net http://itb04.ath.cx http://javamill.ath.cx
[SOC] ASIO
What is ASIO? ASIO is a driver interface for pro-audio apps developed by Steinberg. It's somewhat similar to our beloved Jack sound server, but not as advanced. I thought about implementing ASIO for wine so we are one step neaer to a running Cubase. I have also some advanced audio hardware - hercules 16/12 fw (need to check if there are some dirvers). At the moment I am a student of Computer Sciences in the 4 term and have done programming with c, c++ and java. Bugs, which get fixed: http://bugs.winehq.com/show_bug.cgi?id=2161 What do you think about this idea? Thanks, Christian
[mlang.dll] DllCanUnloadNow
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 This patch + implements LockServer + implements DllCanUnloadNow + add some needed calls to LockModule() & UnlockModule() If it didn't get into cvs i want a mail with the cause. - -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net http://itb04.ath.cx http://javamill.ath.cx -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFECFi9Dwe2AbwGBA8RApDQAJ4nCMpbbOeWBTi/x1xV36MrBaKoNgCfRTG8 54cyjapBkvdO9DUkNP41k3k= =HK0l -END PGP SIGNATURE- Index: dlls/mlang/mlang.c === RCS file: /home/wine/wine/dlls/mlang/mlang.c,v retrieving revision 1.25 diff -u -r1.25 mlang.c --- dlls/mlang/mlang.c 6 Dec 2005 10:39:43 - 1.25 +++ dlls/mlang/mlang.c 3 Mar 2006 08:47:38 - @@ -453,6 +453,21 @@ static void fill_cp_info(const struct mlang_data *ml_data, UINT index, MIMECPINFO *mime_cp_info); +static LONG dll_count; + +/* + * Dll lifetime tracking declaration + */ +static void LockModule(void) +{ +InterlockedIncrement(&dll_count); +} + +static void UnlockModule(void) +{ +InterlockedDecrement(&dll_count); +} + BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv) { switch(fdwReason) { @@ -709,6 +724,7 @@ { TRACE("Destroying %p\n", This); HeapFree(GetProcessHeap(), 0, This); +UnlockModule(); } return ref; @@ -735,8 +751,11 @@ static HRESULT WINAPI MLANGCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) { -IClassFactoryImpl *This = (IClassFactoryImpl *)iface; -FIXME("(%p)->(%d),stub!\n",This,dolock); +if (dolock) +LockModule(); +else +UnlockModule(); + return S_OK; } @@ -2281,6 +2300,9 @@ mlang->ref = 1; *ppObj = (LPVOID) mlang; TRACE("returning %p\n", mlang); + +LockModule(); + return S_OK; } @@ -2288,8 +2310,7 @@ HRESULT WINAPI DllCanUnloadNow(void) { -FIXME("\n"); -return S_FALSE; +return dll_count == 0 ? S_OK : S_FALSE; } HRESULT WINAPI GetGlobalFontLinkObject(void)
cvs build fails
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 make[2]: Entering directory `/home/austriancoder/development/wine/dlls/wined3d' ../../tools/winegcc/winegcc -B../../tools/winebuild -shared ./wined3d.specbasetexture.o cubetexture.o device.o directx.o drawprim.o indexbuffer.o pixelshader.o query.o resource.o stateblock.o surface.o swapchain.o texture.o utils.o vertexbuffer.o vertexdeclaration.o vertexshader.o volume.o volumetexture.o wined3d_main.o -o wined3d.dll.so -L../../dlls -L../../dlls/user32 - -L../../dlls/gdi32 -L../../dlls/advapi32 -L../../dlls/kernel32 -luser32 - -lgdi32 -ladvapi32 -lkernel32 -L../../libs/wine -lwine -luuid -lSM - -lICE -lXxf86dga -lXxf86vm -lXext -lX11 -lGL -lGLU -L../../libs/port - -lwine_port device.o: In function `IWineD3DDeviceImpl_SetRenderState': /home/austriancoder/development/wine/dlls/wined3d/device.c:3770: undefined reference to `glStencilOpSeparate' /home/austriancoder/development/wine/dlls/wined3d/device.c:3799: undefined reference to `glStencilFuncSeparate' collect2: ld gab 1 als Ende-Status zurück - -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net http://itb04.ath.cx http://javamill.ath.cx -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFEBGGdDwe2AbwGBA8RAik/AJ9KYo38XkVojj6klecVd7NzMsAUuACeIm7z 3gkx7axC0uKtlFbZm1wstVw= =Z3Kf -END PGP SIGNATURE-
Hotkey
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi all. I want to fix the hotkey stuff in user.dll. Now i have asked at xorg mail list and thy told me that i should use acpid to do hotkey stuff. Now i think we should to hotkey stuff internal in wine: Have a hash list to save hotkeys and check every time a user presses a button, if there are some pressed other too. If this is also true, look if it is a hotkey and send to the correct window the correct message. What do you think about this? Thanks, Christian - -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net http://itb04.ath.cx http://javamill.ath.cx -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFD/mWCDwe2AbwGBA8RArAOAJ9mfjNBHsdyafLp2exPmY5idH/iFwCfQUjV 4volZ4aoTZNXNxQUtLQCszw= =W3ub -END PGP SIGNATURE-
Re: Directx 8 and wined3d
Hi, the game is called "Tom Claney's Splinter Cell". When do you think, are you ready with your patches? Greets, Christian > Hi, > > I'm working on moving d3d8 over to wined3d. During that transition the bug > will be fixed I hope. What game is it? > > Regards, > Roderick > > On Thursday 09 February 2006 11:56, Christian Gmeiner wrote: > >> Hi all. >> >> I have here a directx 8 game - first splinter cell - and i get this fixme: >> fixme:d3d_surface:IDirect3DSurface8Impl_UnlockRect Unsupported Format 22 >> in locking func >> >> So i looked at wine source and found out that format 22 >> (WINED3DFMT_X8R8G8B8) is supported >> in wined3d. >> Will directx8 converted to use wined3d or is it a good idea to write a >> patch for it? >> >> Thanks, >> Chiristian >> -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net http://itb04.ath.cx
Directx 8 and wined3d
Hi all. I have here a directx 8 game - first splinter cell - and i get this fixme: fixme:d3d_surface:IDirect3DSurface8Impl_UnlockRect Unsupported Format 22 in locking func So i looked at wine source and found out that format 22 (WINED3DFMT_X8R8G8B8) is supported in wined3d. Will directx8 converted to use wined3d or is it a good idea to write a patch for it? Thanks, Chiristian -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net http://itb04.ath.cx
dxiag question
4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bBeta", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bDebug", 0x7fbab4a8) fixme:dxdiag:DXDiag_AddFileDescContainer (0x7fd6d608,L"dmstyle.dll") fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szPath", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szName", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bExists", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szVersion", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szAttributes", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szLanguageEnglish", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"dwFileTimeHigh", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"dwFileTimeLow", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bBeta", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bDebug", 0x7fbab4a8) fixme:dxdiag:DXDiag_AddFileDescContainer (0x7fd6d608,L"dmsynth.dll") fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szPath", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szName", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bExists", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szVersion", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szAttributes", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szLanguageEnglish", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"dwFileTimeHigh", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"dwFileTimeLow", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bBeta", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bDebug", 0x7fbab4a8) fixme:dxdiag:DXDiag_AddFileDescContainer (0x7fd6d608,L"dmusic.dll") fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szPath", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szName", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bExists", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szVersion", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szAttributes", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szLanguageEnglish", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"dwFileTimeHigh", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"dwFileTimeLow", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bBeta", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bDebug", 0x7fbab4a8) fixme:dxdiag:DXDiag_AddFileDescContainer (0x7fd6d608,L"devenum.dll") fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szPath", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szName", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bExists", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szVersion", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szAttributes", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szLanguageEnglish", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"dwFileTimeHigh", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"dwFileTimeLow", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bBeta", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bDebug", 0x7fbab4a8) fixme:dxdiag:DXDiag_AddFileDescContainer (0x7fd6d608,L"quartz.dll") fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szPath", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szName", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bExists", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szVersion", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szAttributes", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"szLanguageEnglish", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"dwFileTimeHigh", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"dwFileTimeLow", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bBeta", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddProp (0x7fd6d608, L"bDebug", 0x7fbab4a8) fixme:dxdiag:IDxDiagContainerImpl_AddChildContainer (0x7fd665d0, L"DxDiag_DirectXFiles", 0x7fd6d608) fixme:dxdiag:IDxDiagContainerImpl_AddChildContainer (0x7fd665d0, L"DxDiag_DisplayDevices", 0x7fd719c0) fixme:dxdiag:IDxDiagContainerImpl_AddChildContainer (0x7fd71a30, L"DxDiag_SoundDevices", 0x7fd71a50) fixme:dxdiag:IDxDiagContainerImpl_AddChildContainer (0x7fd71a30, L"DxDiag_SoundCaptureDevices", 0x7fd71ab8) fixme:dxdiag:IDxDiagContainerImpl_AddChildContainer (0x7fd665d0, L"DxDiag_DirectSound", 0x7fd71a30) fixme:dxdiag:IDxDiagContainerImpl_AddChildContainer (0x7fd665d0, L"DxDiag_DirectMusic", 0x7fd71b78) fixme:dxdiag:IDxDiagContainerImpl_AddChildContainer (0x7fd665d0, L"DxDiag_DirectInput", 0x7fd71be0) fixme:dxdiag:IDxDiagContainerImpl_AddChildContainer (0x7fd665d0, L"DxDiag_DirectPlay", 0x7fd72118) So.. i think it is very important to fix this and then the setup could say that directx is installed. Now my question: is anybody working on this? Thanks, Christian -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net http://itb04.ath.cx
winecfg: add options to switch between "installed" directx versions
Hi all. I wanted to install "Need for Speed - Most wanted" under wine and the setup told me, that directx is not installed. So i think we need a way to set installed/used directx version in winecfg. Do you think its worth to start developing a patch in this direction? Thanks -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net http://itb04.ath.cx
Re: [MSI] DllCanUnloadNow try2
Dmitry Timoshkov wrote: "Christian Gmeiner" <[EMAIL PROTECTED]> wrote: +/** + * Dll lifetime tracking declaration + */ +void LockModule(void) +{ +InterlockedIncrement(&dll_count); +} + +void UnlockModule(void) +{ +InterlockedDecrement(&dll_count); +} Since these 2 are used from inside single source file they can (and should) be made static. Thanks for your hint. Try 3 of my patch should be ok now - i hope. Greets, Christian -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net http://itb04.ath.cx
DllCanUnloadNow for dlls/msi
Hi all. I want to start coding for wine and therefore i have wirtten my first patch to add DllCanUnloadNow to msi. Now i need to test my patch. I have got the hint that i must create a COM object that msi.dll provides. Then the following must happen: try calling DllCanUnloadNow, and it should fail then ->Release() the object, and DllCanUnloadNow should succeed Can somebody give me some links or maybe a litte source to make such a test? Thanks, Christian -- Christian Gmeiner - student of computer science http://dxr3plugin.sf.net http://itb04.ath.cx
directx 7/8/9
Hi all.. can somebody give me a light on the directx stuff in wine? Maybe i am wrong, but isn't it true that in each version are very similar renderstates.. I want to fix some err: now... err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_LINEPATTERN (000a) value : ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_MONOENABLE (000b) value : ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_ROP2 (000c) value : 000d ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_PLANEMASK (000d) value : ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_LASTPIXEL (0010) value : 0001 ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_ZVISIBLE (001e) value : ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_EDGEANTIALIAS (0028) value : ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_RANGEFOGENABLE (0030) value : ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_EXTENTS (008a) value : ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_VERTEXBLEND (0097) value : ! Is somebody working on this? Greets, Christian -- Christian Gmeiner Developer for Rockbox (http://www.rockbox.org) Maintainer of the DXR3-Plugin for VDR: http://sourceforge.net/projects/dxr3plugin/ Maintainer of VDR-Ebuilds at Gentoo.de
Debuging Splinter Cell 1 - found bug in kernel32?
Hi. I have read this "tutorial" http://wiki.winehq.org/Debugging_'Wild_Metal_Country' and tought that i can maybe find the problem, why splinter cell 1 wont start. Here is the importat part (i think): 000b:Call kernel32.RaiseException(c08f,0001,0002,7fbef5e4) ret=66024d53 000b:Call ntdll.RtlRaiseException(7fbef4c4) ret=7fc48163 fs=003b eax=7fc319ad ebx=7fcb088c ecx= edx=0008 esi=7fbef5ec edi=7fbef4e0 ebp=7fbef520 esp=7fbef4c4 ds=007b es=007b gs=0033 flags=00200202 000b:trace:seh:__regs_RtlRaiseException code=c08f flags=1 addr=0x7fc480d0 000b:trace:seh:__regs_RtlRaiseException info[0]=deadcafe 000b:trace:seh:__regs_RtlRaiseException info[1]=deadcafe 000b:trace:seh:__regs_RtlRaiseException eax=7fc319ad ebx=7fcb088c ecx= edx=0008 esi=7fbef5ec edi=7fbef4e0 000b:trace:seh:__regs_RtlRaiseException ebp=7fbef520 esp=7fbef4c4 cs=0073 ds=007b es=007b fs=003b gs=0033 flags=00200202 000b:trace:seh:EXC_CallHandler calling handler at 0x402586 code=c08f flags=1 000b:Call kernel32.IsBadReadPtr(004012b0,0004) ret=66024da1 000b:Ret kernel32.IsBadReadPtr() retval= ret=66024da1 000b:Call kernel32.TlsGetValue(0003) ret=66024eda 000b:Ret kernel32.TlsGetValue() retval=7fd5af10 ret=66024eda 000b:Call ntdll.RtlUnwind(7fbef69c,661001ad,,) ret=661001ad fs=003b eax=0001 ebx=7fcbbbac ecx=7fbef69c edx=0003 esi=004012b0 edi=7fbef69c ebp=7fbeef50 esp=7fbeef44 ds=007b es=007b gs=0033 flags=00200206 The full log can be found here: http://x-factor.dyndns.org/~austriancoder/splinter_cell1.log.bz2 (1,5 M) Maybe somebody can confirm that it is a kernel32 bug and may can fix it, or give me a hint were i can fix it. Thanks, Christian -- Christian Gmeiner Developer for Rockbox (http://www.rockbox.org) Maintainer of the DXR3-Plugin for VDR: http://sourceforge.net/projects/dxr3plugin/ Maintainer of VDR-Ebuilds at Gentoo.de
arts broken
Hi all. I am quite new to wine and i love it very much, but there are some things to improve. For instance i want to use arts as soundoutput, but when it is enabled, wine crash at startup. Is anybody working on it to fix it? If not, i would like to try to do the job. Greets, Christian -- Christian Gmeiner Developer for Rockbox (http://www.rockbox.org) Maintainer of the DXR3-Plugin for VDR: http://sourceforge.net/projects/dxr3plugin/ Maintainer of VDR-Ebuilds at Gentoo.de