Leaderboard attiva di default, senza configurazione

La classifica globale non dipende più da un argomento: sui build desktop il client
usa il servizio pubblico DEFAULT_API_BASE (https://enne2.net/api/zombie-fps).

- scripts/leaderboard.gd: resolve_base() statica con priorità --api=<url> (test)
  → --offline/--no-api (opt-out esplicito per le partite di prova) → origine della
  pagina sul Web → servizio pubblico. Rimosso l'avviso "Classifica disattivata".
- Le suite di test (--script) restano spente a meno di un --api= esplicito, così
  nessun test può scrivere nella classifica pubblica.
- tools/test_start_screen.gd: verifica default attivo, opt-out e override;
  tools/test_rebalance_branding.gd: suite di test senza invii.
- docs/HIGHSCORES.md: nuova regola della base URL e diagnostica aggiornata.

Verifiche: test_start_screen 18/18 PASS con display; test_rebalance_branding
14/14 PASS; test_leaderboard.sh invariato (12 PASS, 2 FAIL preesistenti su questa
macchina anche prima della modifica).
This commit is contained in:
Matteo Benedetto
2026-10-24 15:57:42 +02:00
parent 4af402f8bf
commit 323a7cdbae
4 changed files with 66 additions and 24 deletions
+4 -2
View File
@@ -1,5 +1,6 @@
extends SceneTree
## Exact damage regression + visible game identity, no public score submissions.
## Exact damage regression + visible game identity. La classifica e' attiva di default
## nelle build di gioco; qui, girando come --script, resta spenta.
const Player = preload("res://scripts/player.gd")
const Grenade = preload("res://scripts/grenade.gd")
const Boss = preload("res://scripts/alien_grunt.gd")
@@ -41,7 +42,8 @@ func run_test() -> void:
if label.text == "Work-Death Balance":
title_found = true
check(title_found, "menu mostra Work-Death Balance")
check(world.leaderboard.disabled, "build di prova non invia punteggi pubblici")
check(world.leaderboard.disabled and world.leaderboard.base_url == "",
"suite di test: nessun invio alla classifica pubblica")
var zombie = load("res://scripts/zombie.gd").new()
zombie.player = world.player
zombie.position = Vector3(0, 0.05, -3)