Modding Help [Solved]Linux Beta xnb extracting

Discussion in 'Mods' started by MysticTempest, Jul 30, 2016.

  1. MysticTempest

    MysticTempest Spaceman Spiff

    Hey, I was hoping someone could test something out for me.

    I've been testing the Linux beta, and it's pretty nice now.
    I've been looking at the content folder, and it seemed to have updated files. But, I can't seem to extract any of the .xnb files from the Linux beta.

    Prior to this I had been using Wine on Linux to run the Windows version of Stardew Valley, and xnb_node as well. Both worked perfectly.

    So, can someone on Windows try extracting the new furniture file, and confirm whether the issue is 'xnb_node' & the new .xnb files; or just Wine not being able to handle the update?
    I don't need it back, just curious if it extracts for anyone else.
     

      Attached Files:

    • foghorn

      foghorn Pangalactic Porcupine

      @MysticTempest I can't extract the PNG in Windows either, but a Monogame-built XNB file (Linux & Mac SDV) isn't the same as an XNA-built XNB file (Windows SDV).
       
        MysticTempest likes this.
      • MysticTempest

        MysticTempest Spaceman Spiff

        Thanks Foghorn! I wasn't aware they built the XNB files differently; that's good to know. I figured they just made a Monogame wrapper for the binary, and left the Content files generally the same.

        I did do a quick test, and the Windows XNB mods seem to run fine with the Linux port. So, I can continue using my mods. I'll just have to keep a copy of the Windows Content folder on the side if I want to make any personal adjustments.
        But yea, thanks again! :DD
         
        • ShneekeyTheLost

          ShneekeyTheLost Master Astronaut

          Yea, I had an XNB file which was replacing worms with a bouncing chest, dragged n dropped into my linux version folder, worked just fine.
           
          • Swiftpaw22

            Swiftpaw22 Subatomic Cosmonaut

            The only thing you have to be careful of is if a modder doesn't capitalize filenames properly.

            Is anyone aware of a XNB extractor for Linux?
             
            • MysticTempest

              MysticTempest Spaceman Spiff

              @Swiftpaw22
              As Foghorn mentioned, the Linux/Mac XNBs are built with Monogame. So the current XNB extractors will need to include support for them in the future. I did some research since then, and it appears to be because Monogame uses LZ4 compression instead of the older LZX used by XNA.

              But, until the modding tools are updated; my current workaround is to use the Windows version of the game files, & XNBNode in Wine. These modded XNBs will work fine in Linux. I tested it a while back when I was working on my furniture mod, and a few other personal things.
               
                foghorn likes this.
              • Swiftpaw22

                Swiftpaw22 Subatomic Cosmonaut

                Thanks Mystic, that's too bad to hear and possibly why it's erroring out for me. Too bad it's not a better standardized and stable file format but oh well, I'll leave modding this game to someone else then at least until things improve. :/
                 
                • MysticTempest

                  MysticTempest Spaceman Spiff

                  @Swiftpaw22
                  So, I've been trying out the recent Beta for v1.1(which started a couple days after my last comment). And, if they don't change anything going forward; then I have some good news.

                  The XNB files seem to be built using XNA again. It looks like they're moving the game to how I originally hoped it'd be. The porters handle minor updates to the Monogame layer; while ConcernedApe handles the Windows updates(which become cross-platform thanks to the Monogame layer). And, moving the game to one repo because of the aforementioned reason.

                  I was able to extract the whole Content folder, and update my furniture mod(not releasing until v1.1 is officially launched, but I tested that it works) using the Linux game files.
                  So going forward you'll only need Wine for XNBnode.
                   
                  • Dr. Glove

                    Dr. Glove Master Chief

                    Hey guys, first time posting.
                    I went through and ported XNBNode to run under OSX and I believe also Linux (I have not tested Linux yet.)
                    All I really did was replace the compression routines to go to use the LZ4 module instead of calling the XMemCompress API. Your post @MysticTempest helped a lot, as I thought it was still just using XMemCompress somehow.

                    The fork is here: https://github.com/drglove/XNBNode
                    There is a release in there that should work on OSX that includes the node binaries + my dependencies.
                     
                      foghorn and MysticTempest like this.
                    • foghorn

                      foghorn Pangalactic Porcupine

                      Can I suggest a formal release post in the Modding Tools section of the forums or somewhere else a bit more visible? Mac and Linux modders will certainly appreciate this news. Thank you for your work (and ty, node-lz4 contributors)!

                      A bit off-topic: I hope the OP of the pinned Modding Guide is updated soon (or a new topic is pinned) :(
                       
                      • Dr. Glove

                        Dr. Glove Master Chief

                        Gah, the 1.1 update busted this. The headers of all the XNBs now look like they're back to LZX compression, but I would bet it's not LZX D at least. This seems to be what the MonoGame source indicates anyway.
                        There is no LZX module for node, so I'll have to take a crack at implementing (the very length) LZX algorithm myself. It's too bad that the build stopped using LZ4, everything was so nice and simple.

                        Anyways, it is currently not going to work properly. I sent ConcernedApe a message to see if he had any thoughts on the issue.
                         
                        • Swiftpaw22

                          Swiftpaw22 Subatomic Cosmonaut

                          Surely there are other tools to read/write to that format? I assume the answer, and the reason XNBNode exists, is because the normal tools are overly big/bloated/etc. Sad that modding took a blow with v1.1.
                           

                          Share This Page