Announcement

Collapse
No announcement yet.

Wine-Staging 4.20 Adds Undocumented D3D9 Internal Function For The Sims 2

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wine-Staging 4.20 Adds Undocumented D3D9 Internal Function For The Sims 2

    Phoronix: Wine-Staging 4.20 Adds Undocumented D3D9 Internal Function For The Sims 2

    Wine 4.20 came out last night while out today is Wine-Staging 4.20 as this experimental blend of Wine with more than eight-hundred extra patches on top...

    http://www.phoronix.com/scan.php?pag...-4.20-Released

  • #2
    The funny thing about this function is that many games crash when using it.
    Last edited by birdie; 11-16-2019, 11:00 AM.

    Comment


    • #3
      Originally posted by birdie View Post
      The funny thing about this function is that many games crash when using it.
      so much for the fabled API stability of Windows

      Comment


      • #4
        Originally posted by starshipeleven View Post
        so much for the fabled API stability of Windows
        Don't use undocumented crap then.

        Comment


        • #5
          Originally posted by birdie View Post
          The funny thing about this function is that many games crash when using it.
          This makes me super curious what this function does.

          Comment


          • #6
            Originally posted by Weasel View Post
            Don't use undocumented crap then.
            Agreed. Undocumented functions in the Windows sphere are usually undocumented because they're not meant to be used by anyone outside of Microsoft. Subject to change without notice, or even removal.

            Antivirus software providers are finding this out in spades lately.

            Comment


            • #7
              that undocumented function was suppose to be internal. does this mean it can be called by dx at some point regardless of your programing?

              Comment


              • #8
                Originally posted by Weasel View Post
                Don't use undocumented crap then.
                That's easier said than done. If you find yourself limited by the public API or by a bug, and want to get the job done then sometimes the only way forward is to utilize undocumented APIs. There is a time and place for that, and yes it could break in the future and that is expected, but sometimes that's better than nothing. It's up the the developer to decide when such a solution is suitable or not. Microsoft have to take responsibility and listen to developers feedback, otherwise poor API and software breakage will only affect their platform negatively in the long run if competition prove that they do a better job.

                I'm not bashing on Microsoft, the same principle applies to any platform or API, Cocoa, Qt and GTK included.

                Originally posted by loganj View Post
                that undocumented function was suppose to be internal. does this mean it can be called by dx at some point regardless of your programing?
                According to the documentation the function takes no parameters and returns no object. These details are either hidden, either that or the function is dependent on some kind of global state. Function call order or frequency may affect how it behaves, and assumedly Microsoft devs know better how to use their black boxes properly.

                EDIT: The function returns something in the Wine-patch implementation. I was mislead by Microsoft's documentation saying "This function does not return a value".
                Last edited by board; 11-16-2019, 02:12 PM.

                Comment


                • #9
                  Originally posted by Weasel View Post
                  Don't use undocumented crap then.
                  You should have it around pull out your backup copy of the Windows XP dx9 SDK unpack it and find hello documented Direct3DShaderValidatorCreate9 and not marked internal only. Yes in that old version has the void * form.

                  Microsoft does at time pull the rug out from under you. Old programs from the Windows XP time frame if the developers were using Direct3DShaderValidatorCreate9 was valid by the documentation back then.

                  Originally posted by loganj View Post
                  that undocumented function was suppose to be internal. does this mean it can be called by dx at some point regardless of your programing?
                  Same as Weasel here. The problem is Microsoft has in fact pulled the rug out from under developers. The internal usage only flag to the function was added latter and the documentation on the Microsoft site is now incorrect and the define of function in Microsoft current header files is also incorrect.

                  So I would not say that this function is in fact undocumented. I would say this function is intentionally/unintentionally incorrectly documented. And worse incorrectly defined in Microsoft provided header files meaning anyone rebuilding old programs is going to have some issues.

                  I do know by 2006 Microsoft was telling you that you should not be calling the function directly that gives 2002-2006 when it was legal to call the function for a performance optimisation. Yes a performance optimisation in the example code in the first direct 9 sdk.

                  This is not use undocumented crap. This is how Microsoft sometimes kicks you were it hurts by changing the rules over what is internal only and what is a performance tweak.

                  So even using all currently documented stuff today to write a program in 5 to 10 years time your program might not work on Windows any more because Microsoft moved the API/ABI goalposts on you.

                  PS by the way Sim 2 was originally released in 2004 when it was in fact valid to use Direct3DShaderValidatorCreate9() directly by Microsoft documentation. So the programs developer back then did nothing wrong and was at the time using documented stuff.
                  Last edited by oiaohm; 11-16-2019, 06:32 PM.

                  Comment


                  • #10
                    Originally posted by Weasel View Post
                    Don't use undocumented crap then.
                    Just don't use windows

                    Comment

                    Working...
                    X