[Bug 22918] Ship Simulator 2008 demo crashes on startup (needs D3DXCreateSphere, D3DXCreateCylinder, and D3DXCreateTeapot)

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Jul 24 16:45:00 CDT 2010


http://bugs.winehq.org/show_bug.cgi?id=22918





--- Comment #36 from Misha Koshelev <misha680 at gmail.com>  2010-07-24 16:44:59 ---
Wow you're right that does look pretty completely... I'm impressed.

I know Henri wanted me to keep at least the D3DXCreate... functions in mesh.c
http://osdir.com/ml/wine-devel/2010-06/msg00611.html

I noticed you had a separate basemesh.c file... not sure how he would feel
about the ID3DXBaseMesh functions.

As far as implementing ID3DXBaseMesh, this is what he had told me at one point
when I was still getting my feet wet.
---
> Sorry for bugging. I am now about to start implementing the ID3DXMesh
> interface and noticed that it inherits from the ID3DXBaseMesh interface. I
> am not using the ID3DXBaseMesh interface per se - specifically I will not be
> implementing any functions that return objects of this actual type.
>
> I also upon a quick skim of Wine code did not see similar inheritance
> patterns for COM objects in the source tree.
>
> Thus I am thinking of implementing the ID3DXMesh interface directly, without
> first implementing ID3DXBaseMesh. If this is INCORRECT, please let me know.
> Further, if I do need to implement this inheritance, any pointers to similar
> features in Wine code much appreciated.
>
There are no functions that directly return an ID3DXBaseMesh
interface, it's just a base interface for ID3DXMesh. There should be
plenty of similar constructions inside Wine, for an example look at
IDirect3DTexture9 / IDirect3DBaseTexture9 in dlls/d3d9/texture.c. You
do need to add stubs for the ID3DXBaseMesh methods in ID3DXMesh of
course.
---

In any case, I'm not on IRC very much (actually I don't use it but downloaded
xchat-gnome after I saw your message. Usually find it distracting.

I did not see you on but my nick is misha680.

Feel free to email me too at misha680 at gmail.com.

I hope you don't mind, just in case I emailed Owen Rudge with a link to your
texture.c in your merge branch:
http://repo.or.cz/w/wine/d3dx9TW.git/blob/e4dfdb7c2cc4264bbe89ef938c939a3965f654ca:/dlls/d3dx9_36/texture.c

although I'm sure he's quite aware. I do not see either of the functions 
http://bugs.winehq.org/show_bug.cgi?id=23706
D3DXSaveSurfaceToFileInMemory

http://bugs.winehq.org/show_bug.cgi?id=22555
D3DXCreateCubeTexture

implemented but please correct me if I am incorrect.

Also just to double check:
---
Anyway, I don't work on getting those patches merged anymore (due to various
reasons), so feel free to pick up stuff from the patches and just add my
copyright to the headers.
---
do you mean that I can send patches that use your code using my email address
(not yours), and add a copyright notice at the top, and send them to the main
Wine list?

I just wanted to double check - as I don't want to step on any toes. It
definitely looks useful.

For now, I'm still waiting to hear about my D3DXCreateSphereTest patch, and was
going to add some more tests, but D3DXCreateMesh is definitely in the ballpark.

As for your comments re declarator use internally, that was my ultimate intent,
but I wanted to start with FVFs as that seemed like it would fix this bug in a
more speedy fashion.

I am not sure how Henri/AJ will feel about this (I believe Henri has given some
scrutiny to my patches, but I know he is quite busy).

In any case thank you, and I appreciate our further interactions.

Misha

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list