Giter Club home page Giter Club logo

Comments (16)

Guekka avatar Guekka commented on June 8, 2024

I'm not sure it is enough, but on my small sample, the fix was to change BitsPerPixel. Dividing it by 4 fixed the issue

from bsa.

Guekka avatar Guekka commented on June 8, 2024

I've also noticed bsarch does not have Flags and BitsPerPixel. Instead, it has cubemaps:

https://github.com/TES5Edit/TES5Edit/blob/dev/Tools/BSArchive/wbBSArchive.pas#L278

from bsa.

Guekka avatar Guekka commented on June 8, 2024

Dividing BitsPerPixel per 4 is not a good solution. But I am still pretty confident the bug comes from this part

from bsa.

Guekka avatar Guekka commented on June 8, 2024

The problem might be more important than expected. rsm-bsa does not produce the same header as archive2 with the linked file

bsarch gets it right, so looking at the code might be helpful

test.zip

from bsa.

Ryan-rsm-McKenzie avatar Ryan-rsm-McKenzie commented on June 8, 2024

What are the permissions on this file?

from bsa.

Ryan-rsm-McKenzie avatar Ryan-rsm-McKenzie commented on June 8, 2024

I see what the issue is, beth does a bunch of stupid stuff to calculate chunk size and bits per pixel

from bsa.

Ryan-rsm-McKenzie avatar Ryan-rsm-McKenzie commented on June 8, 2024

Fixed by 84c18fc, but it still needs tests to guard against regressions, such as textures with cubemaps. The texture provided here is also a good sample, since it found a bug in how textures were chunked, but it depends on the licensing.

from bsa.

Guekka avatar Guekka commented on June 8, 2024

The licensing does not allow it, but the author is active. I've asked for permission and will keep you informed

from bsa.

Guekka avatar Guekka commented on June 8, 2024

Can confirm the fix appears to be working. The archive produced by rsm-bsa are still different, but I suppose it's only the file order that changes

from bsa.

Guekka avatar Guekka commented on June 8, 2024

Already 2 months? Time flies
So, I've found another mod to reproduce the bug, and it has open permissions. https://www.nexusmods.com/skyrim/mods/95466?
I tried with the whole mod, but mushroom01_e is marked as "XBOXDDS"

from bsa.

Ryan-rsm-McKenzie avatar Ryan-rsm-McKenzie commented on June 8, 2024

These files don't manage to add test coverage for the newly discovered chunking strategy for dds files, but they did manage to uncover a new bug. I believe cubemaps are excluded from chunking, which is what the flag in the archive file header is for.

from bsa.

Ryan-rsm-McKenzie avatar Ryan-rsm-McKenzie commented on June 8, 2024

Added more coverage and another fix in e96e4ab

from bsa.

Guekka avatar Guekka commented on June 8, 2024

So, do you know the consequences of this bug? I didn't get any report, so I assume it doesn't cause CTD?

from bsa.

Guekka avatar Guekka commented on June 8, 2024

texture.zip

So, here's the texture that originally found the issue. I manually blacked it out. Pretty sure we can't get permission issue after that

from bsa.

Ryan-rsm-McKenzie avatar Ryan-rsm-McKenzie commented on June 8, 2024

Added coverage for chunking in 63c01e2

from bsa.

Ryan-rsm-McKenzie avatar Ryan-rsm-McKenzie commented on June 8, 2024

I don't know if there's actually an issue with chunking archives incorrectly, but it's best to conform to whatever Archive2.exe produces.

from bsa.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.