Menu

Rainbow Six doesn't use DxWnd's winmm

2021-03-30
2021-04-03
<< < 1 2 3 > >> (Page 2 of 3)
  • gho

    gho - 2021-04-01

    There cold be two cases: either the pathnames are not correct (but this can't be the case since Dippy's tracklen.nfo successfully points to these files) or the file open operation failed for some different error. The attached release tries to throw some light on the mystery by printing the error code whenever the file is there but can't be opened.
    I would bet it's a permission problem, though the file operation is performed in read-only mode, so there's no reason why it should fail here and succeed when the player plays them.
    Please, repeat the experiment (delete tracklen.nfo, update dxwplay.dll, run the game, send dxwplay.log)

     
  • huh

    huh - 2021-04-01

    I just thought, do you both have the same version of the game? Here I see patch 1.04 (which indicates that there could have been older versions).
    https://www.patches-scrolls.com/rainbow_six.php
    Although I don't know how it would affect the creation of tracklen.nfo. Anyway, there is a suspicious file in the Saptadeep Nath log LoadLibraryA: file=C:\Windows\system32\MVoice.vxp
    but by name it will probably not be related to music.

     

    Last edit: huh 2021-04-01
  • BEEN_Nath_58

    BEEN_Nath_58 - 2021-04-02

    I tried installing the games at multiple different locations and there are some specific folders where the music isn't detected in C:\which are: Program Files (x86), Program Files, ProgramFiles(x86), ProgramFiles.

    Any other location where I install the game, the music gets detected.

     

    Last edit: BEEN_Nath_58 2021-04-02
    • huh

      huh - 2021-04-02

      This looks like a permission issue. Is it Win10? Maybe an error with permissions on this system. I assume you tried running DxWnd as an administrator.

      P.S.
      I don't think it's a good idea to install the game in the "Program Files" folder, on a 64bit system this folder is reserved for 64bit programs.

       

      Last edit: huh 2021-04-02
      • BEEN_Nath_58

        BEEN_Nath_58 - 2021-04-02

        The game also doesn't load on folders having a long filename.

         
  • gho

    gho - 2021-04-02

    It seems some of the crazy policies in MS that try to judge the events by the folder name. I think I saw sometimes some warning message telling that I should not copy files to these folders, but honestly it is crazy that DxWnd can have write permission (it does create the tracklen.nfo file) but doesn't have read permissions (apparently, it can't detect / read the sound files).
    I have all my test games on C:\games, it seems that this avoided me some troubles.

     
    • BEEN_Nath_58

      BEEN_Nath_58 - 2021-04-02

      The final thing is the game shouldn't be installed on any Program Files (x86), Program Files, ProgramFiles(x86), ProgramFiles or any spacing variations of these folders or any folders with long file names.

      You could add this in the notes section, and also enable VCDA by default as the game doesn't repeat music without it .

       

      Last edit: BEEN_Nath_58 2021-04-02
      • huh

        huh - 2021-04-02

        The mention of the long name is interesting. Maybe the game requires an abbreviated DOS name? E.g. C:\games\RAINBO~1
        However, for a Windows game from 1998, this should not be necessary.

         
        • BEEN_Nath_58

          BEEN_Nath_58 - 2021-04-02

          Not necessary this way, I tested the problem on a folder named "A folder for old Games"
          It still works fine on folder names longer than 6 characters.

           

          Last edit: BEEN_Nath_58 2021-04-02
  • dippy dipper

    dippy dipper - 2021-04-02

    Installing games in "Program Files" or "Program Files (x86)" is well known No-No from at least Windows Vista days. I did not mention it because I thought everyone and their dog already knew this. :-)

    Those folders are system protected and assume that the software in question places all run time generated files into the "User" folder. You can see this with all modern software that installs by default in the Program Files directories that they generate and seek all their configuration files in the "C:\Users\User Name\AppData\Roaming (or Local) folder. It is the standard Microsoft rule for all programs that install in the Program Files folder on modern Windows operating systems.

     
  • dippy dipper

    dippy dipper - 2021-04-02

    But by all means there should be a warning about this in the help docs for Dxwnd. Maybe in the tutorial section something like this:

    NOTE: Do not install old games under "Program Files" or "Program Files (x86) folders. Doing so will result in the cdaudio emulation failing because the tracklen.nfo file can not be properly generated in these system protected folders.

     
    • huh

      huh - 2021-04-02

      OK, but it should be verified by multiple users or worded as "in some cases may failing...."

       
      • dippy dipper

        dippy dipper - 2021-04-02

        Just replace "will" with "may" if there is doubt. ;-) It's been so long since I installed anything in Program Files folders that I may be biased.

         
        • BEEN_Nath_58

          BEEN_Nath_58 - 2021-04-02

          Also long folder names should be prevented, they cause the same problem. With long folder names the cache generation was cancelled as seen in dxwplay. log

           
          • dippy dipper

            dippy dipper - 2021-04-02

            Well the theoretical limit is 260 characters but that includes the full path of all folder names including the executable name. In addition it might be that the Dxwnd buffer for the path can not hold that many characters. But as a general rule you should try to avoid writing novels with your folder names.

             
            • BEEN_Nath_58

              BEEN_Nath_58 - 2021-04-02

              I think the problem lies in the DxWnd path buffer. "C:\Prog (x86)\Red Storm Entertainment\Tom Clancy's Rainbow Six\RainbowSix.exe" was the longest path that could play music excluding the inverted commas. The number of characters in the path is 77.

               
  • BEEN_Nath_58

    BEEN_Nath_58 - 2021-04-02

    The mouse trails problem still exist for me:

     
    • dippy dipper

      dippy dipper - 2021-04-02

      I dont know what's going wrong there. The DirectX tab option "Compensate Flip emulation" should have taken care of that issue.

       
      • BEEN_Nath_58

        BEEN_Nath_58 - 2021-04-02

        it does in Direct3D but not in software rendering

         
  • dippy dipper

    dippy dipper - 2021-04-02

    Regarding the character limit for successful tracklen.nfo generation I found this in "player.cpp"
    _snprintf_s(path, sizeof path, 80, "%s\\Music%s\\Track%02d.%s", sRootPath, folderSuffix, i, ext);

    80 seems a bit low considering MAX_PATH is 260.

     
    • BEEN_Nath_58

      BEEN_Nath_58 - 2021-04-02

      I think 2 characters are for the location inverted commas if the program needs that. However if possible it's better if he can increase it

       
    • gho

      gho - 2021-04-02

      Good catch! This seems absolutely plausible. Let me fix it ....

       
      • gho

        gho - 2021-04-02

        here it is:
        Does it fix the problem?

         

        Last edit: gho 2021-04-02
        • dippy dipper

          dippy dipper - 2021-04-02

          Yes, it seems to fix it in my testing. And I bet it was also the reason for the problems with the Program Files directory.

           
          • gho

            gho - 2021-04-02

            Yes, this sounds reasonable. The "Program files" folders may be subject of some check by installers that should suggest where to install things, but there's no reason why files in there could be writable but not readable!!!
            Evidently, when I wrote that 80 I was thinking to the size of the line buffer (where 80 is far more than enough) instead of the size of the path buffer (where MAX_PATH = 260 is the bare minimum on nowadays configurations).
            I should add a note to the help (where nobody ever reads anything, sic!) stating clearly that DxWnd doesn't use extended path lengths so that 260 is the maximum size that the program can manage.
            Thank you again, Dippy!

             
<< < 1 2 3 > >> (Page 2 of 3)

Log in to post a comment.