From 7b30c0eddf6be65820d372c0ffa1fa868a1117cb Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Mon, 10 Nov 2025 22:18:13 +0100 Subject: [PATCH] fix scene export --- fast64_internal/z64/f3d/operators.py | 12 +++++++++++- fast64_internal/z64/model_classes.py | 6 +----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/fast64_internal/z64/f3d/operators.py b/fast64_internal/z64/f3d/operators.py index 69195ccc5..82393ba9c 100644 --- a/fast64_internal/z64/f3d/operators.py +++ b/fast64_internal/z64/f3d/operators.py @@ -7,6 +7,7 @@ from bpy.path import abspath from bpy.utils import register_class, unregister_class from mathutils import Matrix +from typing import Optional from ...utility import CData, PluginError, raisePluginError, writeCData, toAlnum from ...f3d.f3d_parser import importMeshC, getImportData @@ -29,6 +30,15 @@ ) +class OOTF3DGfxFormatter(OOTGfxFormatter): + def __init__(self, scrollMethod): + OOTGfxFormatter.__init__(self, scrollMethod) + + # override the function to give a custom name to the DL array + def drawToC(self, f3d, gfxList, layer: Optional[str] = None): + return gfxList.to_c(f3d, name_override=f"{gfxList.name}_{layer.lower()}_dl") + + def ootConvertMeshToC( originalObj: bpy.types.Object, finalTransform: mathutils.Matrix, @@ -80,7 +90,7 @@ def ootConvertMeshToC( path = ootGetPath(exportPath, isCustomExport, "assets/objects/", folderName, False, True) includeDir = settings.customAssetIncludeDir if settings.isCustom else f"assets/objects/{folderName}" exportData = fModel.to_c( - TextureExportSettings(False, saveTextures, includeDir, path), OOTGfxFormatter(ScrollMethod.Vertex) + TextureExportSettings(False, saveTextures, includeDir, path), OOTF3DGfxFormatter(ScrollMethod.Vertex) ) data.append(exportData.all()) diff --git a/fast64_internal/z64/model_classes.py b/fast64_internal/z64/model_classes.py index c97c4bd93..457ee3413 100644 --- a/fast64_internal/z64/model_classes.py +++ b/fast64_internal/z64/model_classes.py @@ -1,5 +1,5 @@ import bpy, os, re, mathutils -from typing import Union, Optional +from typing import Union from ..f3d.f3d_parser import F3DContext, F3DTextureReference, getImportData from ..f3d.f3d_material import TextureProperty, createF3DMat, texFormatOf, texBitSizeF3D @@ -305,10 +305,6 @@ class OOTGfxFormatter(GfxFormatter): def __init__(self, scrollMethod): GfxFormatter.__init__(self, scrollMethod, 64, None) - # override the function to give a custom name to the DL array - def drawToC(self, f3d, gfxList, layer: Optional[str] = None): - return gfxList.to_c(f3d, name_override=f"{gfxList.name}_{layer.lower()}_dl") - class OOTTriangleConverterInfo(TriangleConverterInfo): def __init__(self, obj, armature, f3d, transformMatrix, infoDict):