Jump to content


TuMaGoNx

Recommended Posts


TuMaGoNx, 

You can improve your D3D9Ex implementation by enabling CSMT by default. I usually use Wine-Patched build with csmt. It allows to run Mortal Kombat Komplete Edition and other games also it dramatically improves performance.

Edited by Svyatpro
Link to comment
Share on other sites

I don't test it with game but do you mean:
wined3d_main.c
...
#if defined(STAGING_CSMT)
TRUE, /* Multithreaded CS by default. */
FALSE, /* Do not ignore render target maps. */
#endif /* STAGING_CSMT */
...
it was like that by default, or you talk about other thing?

Link to comment
Share on other sites

Since Dibya asked me about C compiler via PM I will offer it here anyway

shameless promotion mode: on
I use GCC and TCC (by creator of FFMPEG)
I customized gcc where it has flags like -vcr90, -vcr100 and so on which mean exe will linked with newer msvcrXXX.dll rather than system msvcrt.dll
people familiar with gcc will ask what the difference with adding LDFLAGS+=-lmsvcrXXX?
gcc is designed with msvcrt.dll in mind LDFLAGS above will only works on simple project, in most cases your exe will end up using two MSVCRTs risking a clash
I customized mingw-rt so that it will use *only* newer MSVCRT. With restriction: you must enable both 64bit off_t and time_t

As we know since msvcr80.dll (and Vista msvcrt.dll) it feature secure API, by using using newer vcrt we could preserve XP life, or better yet you could even "pad" libkernel32.a implib with static function that implemented in XomPie (although not all function can be treated this way). That is if you prefer re-compile than patching...

I have use it more than three years for maintaining official PyGObject for Windows (https://wiki.gnome.org/Projects/PyGObject)
shameless promotion mode: off

@Dibya:
you could use only .def file like this:
gcc -shared table.def -o dummy.dll

example of def file

; normal export
abc
; export with ordinal specified
abc @55
; export without name
abc NONAME
; renaming dummy.dll abc into dummy.dll cba
abc=cba

PS: note you can't do above without c source, but you co do below:

; a forwarder, dummy.dll abc forward to kernel32.dll abc as is
abc=kernel32.abc
; a forwarder with ordinal specified (AFAIK if not specified ordinal assigned by order alphabetically)
abc=kernel32.abc @55
; a nameless forwarder with ordinal specified
abc=kernel32.abc @55 NONAME
; a nameless forwarder with ordinal specified to nameless function at specified ordinal
; this not supported by gcc.. or rather ld dont accept "#" char, see https://github.com/tumagonx/XomPie/blob/master/shellxp.def (need to be proved)
abc=kernel32.#122 @55 NONAME

Link to comment
Share on other sites

Errr.. of course I use wined3d-csmt.dll (I'm no noob at compiling)

EDIT: see my blog for what I've been done: opensourcepack.blogspot.com
hint: right-click wined3d.dll see "details tab" > original filename:

Edited by TuMaGoNx
Link to comment
Share on other sites

; this not supported by gcc.. or rather ld dont accept "#" char, see https://github.com/tumagonx/XomPie/blob/master/shellxp.def (need to be proved)
abc=kernel32.#122 @55 NONAME

abc=kernel32.@122 @55 NONAME

Edited by jumper
Link to comment
Share on other sites

I took Samuka's and XomPie wrappers and picked most neccessary and reliable functions from both wrappers and put into my native kernel32.dll and shell32.dll and managed to run Photoshop CC 2015.  But it still has many bugs, but it runs. I hadn't to modify Photoshot binaries (they are a lot), I just modified native kernel32.dll and shell32.dll forwarding nt6 functions to wrapper dlls.

I think the best thing we can get is a solid wrapper (without msvcp* sh*t) that allows us to forward functions from native kernel to a wrapper dll.

901cb1fb98d45ef039a939379b50ea91.jpg

Edited by Svyatpro
Link to comment
Share on other sites

2 hours ago, Svyatpro said:

I think the best thing we can get is a solid wrapper (without msvcp* sh*t) that allows us to forward functions from native kernel to a wrapper dll.

That's my opinion, too. And now I can see it's begining to become a reality. XomPie is a good step forward. But a solid wrapper sure is the way to go.

Link to comment
Share on other sites

I can't manage how to fix Menu bar in Photoshop CC 2015. Here is my binaries, but they are only for Windows Server 2003 SP2. 

http://rgho.st/6hzbJ96pH

You can directly put all these files into your System32 but I don't give any warranty it will work on your configuration!! So backup your original kernel32.dll;advapi32.dll;shell32.dll;user32.dll;psapi.dll;version.dll;ws2_32.dll;msvcrt.dll

I get this when I click on menu bar:

1e1e7e0ca62d84e5ebe5fd0eff1655a1.jpg

Edited by Svyatpro
Link to comment
Share on other sites

@Jumper: which gcc you use? it reject def the way you use
and you can delete the attachment you made like dencorso said. I *missed* the bin icon previously, since I always turned off the JS and images (only turn JS on to upload)

@svyatPro: I already answer that in PM. You do it your way, you have to find your way then (it silly when you report the issue to me when you don't use it the way XomPie are made), no need to re-explain here...

msi installer for xompie:

I know most of you know how to hackaround msi file, but it shouldn't hurt to have a little helper
I patched wine msi.dll so it will report versionNT as 601 (Win7) instead of 501.
I'm aware that this is not the only way to check OS version e.g. CustomAction (CA dll). 
Also it may useless against bootstrapped msi. But hey its better than nothing.

To install copy dll and exe into somewhere within %PATH% lookup, optionally install the cmd helper to your SendTo (just in case.. xomuninstall is included)

as always NO system files modified NO registry modified, keep it PNP (PatchNPray)

EDIT:
Additionaly msi.dll's DllRegister entry is removed to prevent unintentional self-registering, this way Wine's msi kept out from system.
FYI the patch is at dlls\msi\package.c:
verval = OSVersion.dwMinorVersion + OSVersion.dwMajorVersion * 100;
into
verval = OSVersion.dwMinorVersion + 6.0 * 100;

winemsi.7z

Edited by TuMaGoNx
Link to comment
Share on other sites

Well duh... turned out there lot need to patch the msi. Will make a diff for it, but lets roll another binary
I rename it to msiexec7.exe and make it single executable to avoid dll mess and now it's just 230KB!
the following are set:
VersionNT=601
WindowsBuild=7601
ServicePackLevel=1
IsSupportedSIMD=1 (what's this sse or sse2? guess the later.. goodbye PIII)

Previously I include xomuninstall because the uninstallation is a bit messy, the regular msiexec wont uninstall properly, so now I use registry WindowsInstaller=0 and set msiexec7 as the uninstaller. But this come with other consequence: double entries in add/remove (because it has HKLM\classes\Installer\Products but pretend not to be msi), you need to choose the first entry (the dupe will gone after uninstall).
I think xomuninstall no longer needed

https://github.com/tumagonx/XomPie/blob/master/msiexec7.exe?raw=true
https://github.com/tumagonx/XomPie/blob/master/xominstall.cmd?raw=true

Link to comment
Share on other sites

19 hours ago, Svyatpro said:

I can't manage how to fix Menu bar in Photoshop CC 2015. Here is my binaries, but they are only for Windows Server 2003 SP2. 

http://rgho.st/6hzbJ96pH

You can directly put all these files into your System32 but I don't give any warranty it will work on your configuration!! So backup your original kernel32.dll;advapi32.dll;shell32.dll;user32.dll;psapi.dll;version.dll;ws2_32.dll;msvcrt.dll

I get this when I click on menu bar:

1e1e7e0ca62d84e5ebe5fd0eff1655a1.jpg

does newer crome is working?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...