Skip to content

Commit

Permalink
Changes for Dragorn
Browse files Browse the repository at this point in the history
  • Loading branch information
sauraen committed Jan 31, 2024
1 parent 3201db0 commit f192c84
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 14 deletions.
19 changes: 9 additions & 10 deletions fast64_internal/f3d/f3d_material.py
Original file line number Diff line number Diff line change
Expand Up @@ -189,11 +189,9 @@ def rendermode_preset_to_advanced(material: bpy.types.Material):
return

def get_with_default(preset, default):
# Use the default either if we are not setting rendermode, or if the
# preset is not in the GBI. We do want to set the advanced settings
# even if not setting rendermode, because they are read for nodes preview.
if not settings.set_rendermode:
return default
# Use the material's settings even if we are not setting rendermode.
# This allows the user to enable setting rendermode, set it up as they
# want, then disable it, and have it still previewed that way.
return getattr(f3d, preset, default)

is_two_cycle = settings.g_mdsft_cycletype == "G_CYC_2CYCLE"
Expand Down Expand Up @@ -273,7 +271,7 @@ def is_blender_lerp(
)


def is_blender_doing_fog(settings: "RDPSettings") -> bool:
def is_blender_doing_fog(settings: "RDPSettings", default_for_no_rendermode: bool) -> bool:
return is_blender_lerp(
settings,
# If 2 cycle, fog must be in first cycle.
Expand All @@ -285,9 +283,7 @@ def is_blender_doing_fog(settings: "RDPSettings") -> bool:
# is color in and 1-A.
"G_BL_CLR_IN",
"G_BL_1MA",
# if NOT setting rendermode, it is more likely that the user is setting
# rendermodes in code, so to be safe we'll enable fog
True,
default_for_no_rendermode,
)


Expand Down Expand Up @@ -1557,9 +1553,12 @@ def update_fog_nodes(material: Material, context: Context):
nodes["Shade Color"].inputs["Fog"].default_value = int(shade_alpha_is_fog)

fogBlender: ShaderNodeGroup = nodes["FogBlender"]
# if NOT setting rendermode, it is more likely that the user is setting
# rendermodes in code, so to be safe we'll enable fog. Plus we are checking
# that fog is enabled in the geometry mode, so if so that's probably the intent.
fogBlender.node_tree = bpy.data.node_groups[
"FogBlender_On"
if shade_alpha_is_fog and is_blender_doing_fog(material.f3d_mat.rdp_settings)
if shade_alpha_is_fog and is_blender_doing_fog(material.f3d_mat.rdp_settings, True)
else "FogBlender_Off"
]

Expand Down
8 changes: 4 additions & 4 deletions fast64_internal/f3d/f3d_material_presets.py
Original file line number Diff line number Diff line change
Expand Up @@ -3888,7 +3888,7 @@
f3d_mat.rdp_settings.clip_ratio = 1
f3d_mat.rdp_settings.set_rendermode = True
f3d_mat.rdp_settings.rendermode_advanced_enabled = False
f3d_mat.rdp_settings.rendermode_preset_cycle_1 = 'G_RM_OPA_SURF'
f3d_mat.rdp_settings.rendermode_preset_cycle_1 = 'G_RM_PASS'
f3d_mat.rdp_settings.rendermode_preset_cycle_2 = 'G_RM_AA_ZB_XLU_SURF2'
f3d_mat.rdp_settings.aa_en = False
f3d_mat.rdp_settings.z_cmp = False
Expand Down Expand Up @@ -4020,7 +4020,7 @@
f3d_mat.rdp_settings.clip_ratio = 1
f3d_mat.rdp_settings.set_rendermode = True
f3d_mat.rdp_settings.rendermode_advanced_enabled = False
f3d_mat.rdp_settings.rendermode_preset_cycle_1 = 'G_RM_OPA_SURF'
f3d_mat.rdp_settings.rendermode_preset_cycle_1 = 'G_RM_PASS'
f3d_mat.rdp_settings.rendermode_preset_cycle_2 = 'G_RM_AA_ZB_XLU_SURF2'
f3d_mat.rdp_settings.aa_en = False
f3d_mat.rdp_settings.z_cmp = False
Expand Down Expand Up @@ -6228,7 +6228,7 @@
f3d_mat.rdp_settings.clip_ratio = 1
f3d_mat.rdp_settings.set_rendermode = True
f3d_mat.rdp_settings.rendermode_advanced_enabled = False
f3d_mat.rdp_settings.rendermode_preset_cycle_1 = 'G_RM_OPA_SURF'
f3d_mat.rdp_settings.rendermode_preset_cycle_1 = 'G_RM_PASS'
f3d_mat.rdp_settings.rendermode_preset_cycle_2 = 'G_RM_AA_ZB_XLU_SURF2'
f3d_mat.rdp_settings.aa_en = False
f3d_mat.rdp_settings.z_cmp = False
Expand Down Expand Up @@ -6978,7 +6978,7 @@
f3d_mat.rdp_settings.clip_ratio = 1
f3d_mat.rdp_settings.set_rendermode = True
f3d_mat.rdp_settings.rendermode_advanced_enabled = False
f3d_mat.rdp_settings.rendermode_preset_cycle_1 = 'G_RM_OPA_SURF'
f3d_mat.rdp_settings.rendermode_preset_cycle_1 = 'G_RM_PASS'
f3d_mat.rdp_settings.rendermode_preset_cycle_2 = 'G_RM_AA_ZB_XLU_SURF2'
f3d_mat.rdp_settings.aa_en = False
f3d_mat.rdp_settings.z_cmp = False
Expand Down

0 comments on commit f192c84

Please sign in to comment.