diff options
Diffstat (limited to '__init__.py')
-rw-r--r-- | __init__.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..4131210 --- /dev/null +++ b/__init__.py @@ -0,0 +1,51 @@ +''' +To load stuff that assumes a Blender scene is already loaded +I need to wait for the BLEND file of the template to load and +then add the functions and stuff I want after said file loads. +The use of "bpy.app.handlers" and "persistent" help in this case +for some reason I don't undertand yet >:] (but meh, it works) + +References: +https://s-nako.work/2020/09/blender-error-attributeerror-_restrictcontext-object-has-no-attribute-view_layer/ +https://web.archive.org/web/20210925181415/https://blenderbrew.com/custom-application-templates-in-blender/ +''' + +import bpy +from bpy.app.handlers import persistent + +####################################################### +# define function that sets all the blenxy stuff: +# galaxy unit, custom collada exporter/importer +# custom CSV animation file (for BCK) exporter/importer +####################################################### + +@persistent +def set_blenxy_env(dummy): # "dummy" is a variable that is somehow + # passed to set_blenxy_env when called by + # bpy.app.handlers.load_post.append + + from . import blenxy_settings_stuff # settings blenxy has + from . import collada_bmd_bdl_export # custom exporter for DAE files + from . import collada_bmd_bdl_import # custom importer for DAE files + from . import csv_anim_bck_export # exporter for CSV files for BCK conversion + from . import csv_anim_bck_import # importer for CSV files from BCK animation + + # more scripts can be added here + + +############################# +# register/unregister stuff +# for set_blenxy_env function +############################# + +def register(): + print("\nWelcome to Blenxy!\n") + print("Setting Blenxy Environment...\n") + bpy.app.handlers.load_post.append(set_blenxy_env) + +def unregister(): + print("\nSee you later!\n") + bpy.app.handlers.load_post.remove(set_blenxy_env) + +if __name__ == "__main__": + register() |