1414from ...f3d .f3d_parser import importMeshC , getImportData
1515from ...f3d .f3d_gbi import DLFormat , TextureExportSettings , ScrollMethod , get_F3D_GBI
1616from ...f3d .f3d_writer import TriangleConverterInfo , removeDL , saveStaticModel , getInfoDict
17- from ..utility import ootGetObjectPath , ootGetObjectHeaderPath , getOOTScale
17+ from ..utility import ootGetObjectPath , ootGetObjectHeaderPath , getOOTScale , checkEmptyName
1818from ..model_classes import OOTF3DContext , ootGetIncludedAssetData
1919from ..texture_array import ootReadTextureArrays
2020from ..model_classes import OOTModel , OOTGfxFormatter
@@ -72,11 +72,22 @@ def resolve_custom_export_base(settings: "OOTDLExportSettings") -> str:
7272 return base_path
7373
7474
75- def resolve_custom_export_folder (base_path : str , folder_name : str ) -> str :
76- folder_path = os .path .join (base_path , folder_name )
77- if not os .path .exists (folder_path ):
78- os .makedirs (folder_path , exist_ok = True )
79- return folder_path
75+ def resolve_custom_export_folder (base_path : str , folder_name : str ) -> str :
76+ folder_path = os .path .join (base_path , folder_name )
77+ if not os .path .exists (folder_path ):
78+ os .makedirs (folder_path , exist_ok = True )
79+ return folder_path
80+
81+
82+ def resolve_dl_export_name (originalObj : bpy .types .Object , settings : "OOTDLExportSettings" ) -> str :
83+ if settings .useCustomDLName :
84+ custom_name = (settings .customDLName or "" ).strip ()
85+ checkEmptyName (custom_name )
86+ name = toAlnum (custom_name )
87+ checkEmptyName (name )
88+ return name
89+
90+ return toAlnum (originalObj .name )
8091
8192
8293class OOTF3DGfxFormatter (OOTGfxFormatter ):
@@ -99,7 +110,7 @@ def ootConvertMeshToC(
99110 exportPath = resolve_custom_export_base (settings )
100111 isCustomExport = settings .isCustom
101112 removeVanillaData = settings .removeVanillaData
102- name = toAlnum (originalObj . name )
113+ name = resolve_dl_export_name (originalObj , settings )
103114 overlayName = settings .actorOverlayName
104115 flipbookUses2DArray = settings .flipbookUses2DArray
105116 flipbookArrayIndex2D = settings .flipbookArrayIndex2D if flipbookUses2DArray else None
@@ -170,7 +181,7 @@ def ootConvertMeshToXML(
170181 folderName = settings .folder
171182 exportPath = resolve_custom_export_base (settings )
172183 isCustomExport = settings .isCustom
173- name = toAlnum (originalObj . name )
184+ name = resolve_dl_export_name (originalObj , settings )
174185 overlayName = settings .actorOverlayName
175186 flipbookUses2DArray = settings .flipbookUses2DArray
176187 flipbookArrayIndex2D = settings .flipbookArrayIndex2D if flipbookUses2DArray else None
0 commit comments