From 1ea81f593eda16e9ae93731041a9b7c7f77f8d8b Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Tue, 7 Oct 2025 18:24:54 -0400 Subject: Fix minimap colors when using a texture pack --- apworld/client/minimap.gd | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'apworld/client/minimap.gd') diff --git a/apworld/client/minimap.gd b/apworld/client/minimap.gd index 5640716..bf70114 100644 --- a/apworld/client/minimap.gd +++ b/apworld/client/minimap.gd @@ -126,6 +126,7 @@ func _process(_delta): func _renderMap(gridmap): + var ap = global.get_node("Archipelago") var heights = {} var rendered = Image.create_empty(cell_width, cell_height, false, Image.FORMAT_RGBA8) @@ -133,7 +134,7 @@ func _renderMap(gridmap): var meshes_node = get_tree().get_root().get_node("scene/Meshes") if meshes_node != null: - _renderMeshNode(gridmap, meshes_node, rendered) + _renderMeshNode(ap, gridmap, meshes_node, rendered) for pos in gridmap.get_used_cells(): var in_plane = Vector2i(pos.x, pos.z) @@ -146,20 +147,22 @@ func _renderMap(gridmap): var cell_item = gridmap.get_cell_item(pos) var mesh = gridmap.mesh_library.get_item_mesh(cell_item) var material = mesh.surface_get_material(0) - var color = material.albedo_color + var color = ap.color_by_material_path.get(material.resource_path, Color.TRANSPARENT) rendered.set_pixel(pos.x - cell_left, pos.z - cell_top, color) return rendered -func _renderMeshNode(gridmap, mesh, rendered): +func _renderMeshNode(ap, gridmap, mesh, rendered): if mesh is MeshInstance3D: var local_tl = gridmap.map_to_local(Vector3i(cell_left, 0, cell_top)) var global_tl = gridmap.to_global(local_tl) var mesh_material = mesh.get_surface_override_material(0) if mesh_material != null: - var mesh_color = mesh_material.albedo_color + var mesh_color = ap.color_by_material_path.get( + mesh_material.resource_path, Color.TRANSPARENT + ) for y in range( max(mesh.position.z - mesh.scale.z / 2 - global_tl.z, 0), @@ -172,4 +175,4 @@ func _renderMeshNode(gridmap, mesh, rendered): rendered.set_pixel(x, y, mesh_color) for child in mesh.get_children(): - _renderMeshNode(gridmap, child, rendered) + _renderMeshNode(ap, gridmap, child, rendered) -- cgit 1.4.1