@@ -851,6 +851,9 @@ def ui_scale(self, material, layout):
851851 return inputGroup
852852
853853 def ui_dynamic_cosmetic_entry (self , f3dMat , layout , enabledProp , nameProp , categoryProp ):
854+ if not is_hm64_feature_set ():
855+ return
856+
854857 layout .prop (f3dMat , enabledProp , text = "Dynamic Cosmetic Entry" )
855858 if getattr (f3dMat , enabledProp ):
856859 dynamicEntry = layout .column ()
@@ -3262,10 +3265,11 @@ def to_dict(self):
32623265 }
32633266 if self .use_tex_reference :
32643267 data ["reference" ] = self .reference_to_dict ()
3265- if self .custom_palette_name :
3266- data ["customTLUTName" ] = self .custom_palette_name
3267- data ["paletteColorCount" ] = self .palette_color_count
3268- data ["isVanillaTexture" ] = self .is_vanilla_texture
3268+ if is_hm64_feature_set ():
3269+ if self .custom_palette_name :
3270+ data ["customTLUTName" ] = self .custom_palette_name
3271+ data ["paletteColorCount" ] = self .palette_color_count
3272+ data ["isVanillaTexture" ] = self .is_vanilla_texture
32693273 if self .texture_internal_path :
32703274 data ["internalPath" ] = self .texture_internal_path
32713275 return data
@@ -3285,9 +3289,10 @@ def from_dict(self, data: dict):
32853289 self .use_tex_reference = "reference" in data
32863290 if self .use_tex_reference :
32873291 self .reference_from_dict (data ["reference" ])
3288- self .custom_palette_name = data .get ("customTLUTName" , self .custom_palette_name )
3289- self .palette_color_count = data .get ("paletteColorCount" , self .palette_color_count )
3290- self .is_vanilla_texture = data .get ("isVanillaTexture" , self .is_vanilla_texture )
3292+ if is_hm64_feature_set ():
3293+ self .custom_palette_name = data .get ("customTLUTName" , self .custom_palette_name )
3294+ self .palette_color_count = data .get ("paletteColorCount" , self .palette_color_count )
3295+ self .is_vanilla_texture = data .get ("isVanillaTexture" , self .is_vanilla_texture )
32913296 self .texture_internal_path = data .get ("internalPath" , self .texture_internal_path )
32923297
32933298 def key (self ):
@@ -3371,14 +3376,15 @@ def ui_image(
33713376 if tex is not None :
33723377 prop_input .label (text = "Size: " + str (tex .size [0 ]) + " x " + str (tex .size [1 ]))
33733378
3374- if not textureProp .use_tex_reference and textureProp .tex_format [:2 ] == "CI" :
3379+ if is_hm64_feature_set () and not textureProp .use_tex_reference and textureProp .tex_format [:2 ] == "CI" :
33753380 row = prop_input .row (align = True )
33763381 row .prop (textureProp , "custom_palette_name" , text = "TLUT Name" )
33773382 row = prop_input .row (align = True )
33783383 row .prop (textureProp , "palette_color_count" , text = "Color Count" )
33793384 if not textureProp .use_tex_reference :
3380- row = prop_input .row (align = True )
3381- row .prop (textureProp , "is_vanilla_texture" , text = "Is Vanilla Texture?" )
3385+ if is_hm64_feature_set ():
3386+ row = prop_input .row (align = True )
3387+ row .prop (textureProp , "is_vanilla_texture" , text = "Is Vanilla Texture?" )
33823388 row = prop_input .row (align = True )
33833389 row .prop (textureProp , "texture_internal_path" , text = "Internal Path" )
33843390
@@ -5185,23 +5191,35 @@ def f3d_colors_from_dict(self, data: dict):
51855191 def n64_colors_to_dict (self , use_dict : dict [str ]):
51865192 data = {}
51875193 if use_dict ["Environment" ]:
5188- data [ " environment" ] = {
5194+ environment = {
51895195 "set" : self .set_env ,
51905196 "color" : get_clean_color (self .env_color , include_alpha = True ),
5191- "dynamicEntry" : self .env_dynamic_entry ,
5192- "dynamicEntryName" : self .env_dynamic_entry_name ,
5193- "dynamicEntryCategory" : self .env_dynamic_entry_category ,
51945197 }
5198+ if is_hm64_feature_set ():
5199+ environment .update (
5200+ {
5201+ "dynamicEntry" : self .env_dynamic_entry ,
5202+ "dynamicEntryName" : self .env_dynamic_entry_name ,
5203+ "dynamicEntryCategory" : self .env_dynamic_entry_category ,
5204+ }
5205+ )
5206+ data ["environment" ] = environment
51955207 if use_dict ["Primitive" ]:
5196- data [ " primitive" ] = {
5208+ primitive = {
51975209 "set" : self .set_prim ,
51985210 "color" : get_clean_color (self .prim_color , include_alpha = True ),
51995211 "minLoDRatio" : self .prim_lod_min ,
52005212 "loDFraction" : self .prim_lod_frac ,
5201- "dynamicEntry" : self .prim_dynamic_entry ,
5202- "dynamicEntryName" : self .prim_dynamic_entry_name ,
5203- "dynamicEntryCategory" : self .prim_dynamic_entry_category ,
52045213 }
5214+ if is_hm64_feature_set ():
5215+ primitive .update (
5216+ {
5217+ "dynamicEntry" : self .prim_dynamic_entry ,
5218+ "dynamicEntryName" : self .prim_dynamic_entry_name ,
5219+ "dynamicEntryCategory" : self .prim_dynamic_entry_category ,
5220+ }
5221+ )
5222+ data ["primitive" ] = primitive
52055223 if use_dict ["Key" ]:
52065224 data ["chromaKey" ] = {
52075225 "set" : self .set_key ,
@@ -5233,9 +5251,10 @@ def n64_colors_from_dict(self, data: dict):
52335251 self .set_env = enviroment .get ("set" , self .set_env )
52345252 if "color" in enviroment :
52355253 self .env_color = enviroment .get ("color" )
5236- self .env_dynamic_entry = enviroment .get ("dynamicEntry" , self .env_dynamic_entry )
5237- self .env_dynamic_entry_name = enviroment .get ("dynamicEntryName" , self .env_dynamic_entry_name )
5238- self .env_dynamic_entry_category = enviroment .get ("dynamicEntryCategory" , self .env_dynamic_entry_category )
5254+ if is_hm64_feature_set ():
5255+ self .env_dynamic_entry = enviroment .get ("dynamicEntry" , self .env_dynamic_entry )
5256+ self .env_dynamic_entry_name = enviroment .get ("dynamicEntryName" , self .env_dynamic_entry_name )
5257+ self .env_dynamic_entry_category = enviroment .get ("dynamicEntryCategory" , self .env_dynamic_entry_category )
52395258 primitive = data .get ("primitive" , {})
52405259 self .set_prim = primitive .get ("set" , self .set_prim )
52415260 if "color" in primitive :
@@ -5244,9 +5263,12 @@ def n64_colors_from_dict(self, data: dict):
52445263 primitive .get ("minLoDRatio" , self .prim_lod_min ),
52455264 primitive .get ("loDFraction" , self .prim_lod_frac ),
52465265 )
5247- self .prim_dynamic_entry = primitive .get ("dynamicEntry" , self .prim_dynamic_entry )
5248- self .prim_dynamic_entry_name = primitive .get ("dynamicEntryName" , self .prim_dynamic_entry_name )
5249- self .prim_dynamic_entry_category = primitive .get ("dynamicEntryCategory" , self .prim_dynamic_entry_category )
5266+ if is_hm64_feature_set ():
5267+ self .prim_dynamic_entry = primitive .get ("dynamicEntry" , self .prim_dynamic_entry )
5268+ self .prim_dynamic_entry_name = primitive .get ("dynamicEntryName" , self .prim_dynamic_entry_name )
5269+ self .prim_dynamic_entry_category = primitive .get (
5270+ "dynamicEntryCategory" , self .prim_dynamic_entry_category
5271+ )
52505272 key = data .get ("chromaKey" , {})
52515273 self .set_key = key .get ("set" , self .set_key )
52525274 if "center" in key :
@@ -5635,4 +5657,3 @@ def mat_unregister():
56355657 "Vertex Colored Texture (No Vertex Alpha)" ,
56365658 ),
56375659]
5638-
0 commit comments