This commit is contained in:
Nicholas Butzke
2026-08-09 01:31:44 -04:00
parent 922983429e
commit 9358746582
43 changed files with 4324 additions and 481 deletions
+8 -8
View File
@@ -1,6 +1,6 @@
extends SceneTree
## Photograph every character in the picker, one shot each.
## Photograph every character in the loadout selector, one shot each.
##
## The picker builds a real SkinnedPlayerModel per character, so this is the
## cheapest full-roster visual check there is: it catches a rig whose idle pose
@@ -56,7 +56,7 @@ func _process(_delta: float) -> bool:
quit(1)
return true
_menu.visible = true
_menu._show_character()
_menu._show_loadouts()
_next()
return false
if (_frames - 150) % SETTLE == 0:
@@ -67,11 +67,11 @@ func _process(_delta: float) -> bool:
func _next() -> void:
_index += 1
while _index < _menu.character_list.item_count:
var id: String = _menu.character_list.get_item_metadata(_index)
while _index < _menu.skin_opt.item_count:
var id: String = _menu.skin_opt.get_item_metadata(_index)
# Colour-tint skins have no model; there is nothing to photograph.
_menu.character_list.select(_index)
_menu._on_character_selected(_index)
_menu.skin_opt.select(_index)
_menu._on_skin_option_selected(_index)
if _menu._preview_model != null:
_posing = id
return
@@ -88,8 +88,8 @@ func _shoot() -> void:
# Crop to the preview panel — the rest of the frame is the level behind it.
var w := img.get_width()
var h := img.get_height()
img = img.get_region(Rect2i(int(w * 0.44), int(h * 0.15),
int(w * 0.32), int(h * 0.68)))
img = img.get_region(Rect2i(int(w * 0.735), int(h * 0.145),
int(w * 0.245), int(h * 0.82)))
var path := "%s/roster_%s.png" % [_out_dir, id]
var save_error := img.save_png(path)
if save_error == OK: