Giter Site home page Giter Site logo

Comments (18)

ExtCan avatar ExtCan commented on September 16, 2024

I have the exact same problem, except for me it looks for 3.4's library while I use 4.0. Very bizarre.

from fast64.

Dragorn421 avatar Dragorn421 commented on September 16, 2024

This is a mistake we'll fix in main

You can use the latest release, it is fine

EDIT: technical details copied from Discord

I think this is because fast64's blend file with the material nodes, that fast64 loads, was modified and saved with blender 4.0 (my bad)

Blender 4.0 changed the blend file format in a non backward compatible way, these files will just crash on <3.6
3.6 will load 4.0+ blends fine, and save blends that are backwards compatible with <3.6

Essentially this makes fast64/main (latest revision) 3.6+ only, but it's a mistake we ought to fix

For anyone curious the breaking change is moving to attributes
https://youtu.be/pabcq2obH1s

from fast64.

Dragorn421 avatar Dragorn421 commented on September 16, 2024

I have no idea why fast64 is looking at the library from a different version though 🤔

from fast64.

MelonSpeedruns avatar MelonSpeedruns commented on September 16, 2024
    dir = ""
    for mod in addon_utils.modules():
        if mod.bl_info.get("name") == "Fast64":
            dir = os.path.join(os.path.dirname(mod.__file__), "fast64_internal", "f3d", "f3d_material_library.blend")
            break
            
    if dir == "":
        return

Replacing the beginning of the link_f3d_material_library function with this piece of code seems to resolve the wrong path, but it still crashes.

from fast64.

Dragorn421 avatar Dragorn421 commented on September 16, 2024

Are you using the latest release? (aka https://github.com/Fast-64/fast64/releases/tag/v2.2.0 , not the latest revision)

from fast64.

jesusyoshi54 avatar jesusyoshi54 commented on September 16, 2024

Please check if #312 does anything to resolve this

from fast64.

MelonSpeedruns avatar MelonSpeedruns commented on September 16, 2024

Are you using the latest release? (aka https://github.com/Fast-64/fast64/releases/tag/v2.2.0 , not the latest revision)

I'm on the latest revision, so I can try on 2.2.0 on Blender 4.0

from fast64.

MelonSpeedruns avatar MelonSpeedruns commented on September 16, 2024

Please check if #312 does anything to resolve this

I'm going to check with Blender 4.0 as that's the main version I use.

from fast64.

Dragorn421 avatar Dragorn421 commented on September 16, 2024

I'm not following, you had blender 4.0 crash ???

from fast64.

MelonSpeedruns avatar MelonSpeedruns commented on September 16, 2024

oh yep, any blender version will crash on me if I open a .blend file with fast64 materials, including 4.0

from fast64.

Dragorn421 avatar Dragorn421 commented on September 16, 2024

I can't reproduce blender 4.0 crashing (I am on Linux Kubuntu 23.10)

as for fast64 loading the f3d_material_library.blend from another version I can only assume there is a symlink/hardlink at play sharing the fast64 addon folder between two versions of blender. No idea how you got that set up if you didn't do it manually

from fast64.

MelonSpeedruns avatar MelonSpeedruns commented on September 16, 2024

I'm on a clean windows 11 install here with a clean blender 4.0 and it happens.

from fast64.

Dragorn421 avatar Dragorn421 commented on September 16, 2024

to be clear can you provide exact steps to reproduce

from fast64.

MelonSpeedruns avatar MelonSpeedruns commented on September 16, 2024
  1. Open Blender 4.0
  2. set the game to OoT
  3. select the cube, go to the Materials tab
  4. create a new fast3d material
  5. delete the original material
  6. save as .blend, close blender
  7. double click on the .blend file
  8. Blender will crash

from fast64.

Dragorn421 avatar Dragorn421 commented on September 16, 2024

Thanks

I cannot reproduce this on Linux Kubuntu + Blender 4.0.2 using the slightly altered following steps:

  1. x Open Blender 4.0.2 in factory settings (blender --factory-startup)
  2. x Go to preferences, enable Fast64 2.2.0
  3. set the game to OoT
  4. select the cube, go to the Materials tab
  5. create a new fast3d material
  6. delete the original material
  7. save as .blend, close blender
  8. x Open Blender 4.0.2 in factory settings (blender --factory-startup)
  9. x Go to preferences, enable Fast64 2.2.0
  10. x open previously saved blend (Open Recent > thefile.blend)
  11. x Blender does not crash

from fast64.

Dragorn421 avatar Dragorn421 commented on September 16, 2024

With #312 merged, using fast64 in Blender <3.6 should now work again without crashing Blender

As for the two other issues you are having:

  1. fast64 using a different version's library blend: I have no idea how this can be possible unless using symlinks or similar
  2. Blender 4.0 crashing: I can't reproduce on Linux, I asked for windows testing ( https://discord.com/channels/874816709855440926/874816710639767585/1212761585416675388 ) and someone else couldn't reproduce on Windows either

from fast64.

MelonSpeedruns avatar MelonSpeedruns commented on September 16, 2024

Found a fix for my issue!

Removing:

            addon_dir = os.path.dirname(os.path.abspath(__file__))
            new_lib_path = os.path.join(addon_dir, "f3d_material_library.blend")

            if lib_path != new_lib_path:
                logger.info("Reloading the library: %s : %s => %s" % (lib.name, lib_path, new_lib_path))

                lib.filepath = new_lib_path
                lib.reload()

from f3d_material.py fixed the crashes completely.

Seems like reloading the library at boot is causing issues on certain installs of Windows.
However doing this breaks the material presets after re-opening the file from what I tested.

from fast64.

MelonSpeedruns avatar MelonSpeedruns commented on September 16, 2024

Update on this: it seems it was caused by another addon adding a library to the .blend file as well. Disabling that other addon fixed the crashed.

from fast64.

Related Issues (20)

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.