diff --git a/.gitignore b/.gitignore index d056825..271061a 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ Thumbs.db # Godot UID files (regenerated from path) *.uid +assets/build_info.json diff --git a/scripts/game.gd b/scripts/game.gd index 5a6974b..a4696aa 100644 --- a/scripts/game.gd +++ b/scripts/game.gd @@ -33,11 +33,22 @@ func _ready() -> void: _setup_networked() + +static func _build_label() -> String: + var f := FileAccess.open("res://assets/build_info.json", FileAccess.READ) + if f == null: + return "dev" + var d = JSON.parse_string(f.get_as_text()) + if d is Dictionary: + return "%s %s" % [d.get("checkpoint", "?"), d.get("commit", "?")] + return "dev" + + func _show_build_stamp() -> void: var layer := CanvasLayer.new() add_child(layer) var lbl := Label.new() - lbl.text = "build %s" % ProjectSettings.get_setting("application/config/version", "dev") + lbl.text = "build %s" % _build_label() lbl.add_theme_color_override("font_color", Color(1, 1, 1, 0.5)) lbl.add_theme_font_size_override("font_size", 13) lbl.set_anchors_and_offsets_preset(Control.PRESET_BOTTOM_LEFT) diff --git a/scripts/main_menu.gd b/scripts/main_menu.gd index df8edcb..0fe689a 100644 --- a/scripts/main_menu.gd +++ b/scripts/main_menu.gd @@ -49,9 +49,20 @@ var _is_authenticating: bool = false # ─── Lifecycle ──────────────────────────────────────────────────────────────── + +static func _build_label() -> String: + var f := FileAccess.open("res://assets/build_info.json", FileAccess.READ) + if f == null: + return "dev" + var d = JSON.parse_string(f.get_as_text()) + if d is Dictionary: + return "%s %s" % [d.get("checkpoint", "?"), d.get("commit", "?")] + return "dev" + + func _ready() -> void: var v := Label.new() - v.text = "build %s" % ProjectSettings.get_setting("application/config/version", "dev") + v.text = "build %s" % _build_label() v.add_theme_color_override("font_color", Color(1, 1, 1, 0.4)) v.add_theme_font_size_override("font_size", 12) v.set_anchors_and_offsets_preset(Control.PRESET_BOTTOM_RIGHT)