2026.10.05.7: 16 avatar illustrati nuovi

Drago, unicorno, squalo, polpo, coniglio, tigre, lupo, zombie, pirata, mago,
gamer con le cuffie, hacker, maschera oni, disco volante, slime e cyborg:
32 personaggi in tutto. Il selettore mostra i personaggi su quattro righe e i
colori su una; il server accetta gli indici fino a 47.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Cristian LaportaandClaude Opus 5.5 committed 2026-10-06 01:53:09 +02:00
1 parent c07aeb6bda
commit 0fd9a60071
37 files changed
+3910 -3719

No files matched your search

+8
View File
@@ -1,5 +1,13 @@
# Changelog
## 2026.10.05.7
- **16 new illustrated avatars** (32 in total): dragon, unicorn, shark,
octopus, bunny, tiger, wolf, zombie, pirate, wizard, gamer with headset,
hacker, oni mask, flying saucer, slime and cyborg. The avatar picker now shows
the 32 characters in four rows and the 16 colours in a single row. Avatar
indices go up to 47; older clients show the new ones as a coloured initial.
## 2026.10.05.6
- **Community on the Home**: a Community tile sits before the games, so the
+92 -87
View File
@@ -594,7 +594,7 @@
"Accetta": {
"where": [
"omega-ui-src/source/panels.c:499",
"omega-ui-src/source/panels.c:940"
"omega-ui-src/source/panels.c:956"
],
"kind": [
"menu"
@@ -678,7 +678,7 @@
"where": [
"omega-ui-src/source/community.c:639",
"omega-ui-src/source/community.c:706",
"omega-ui-src/source/panels.c:940"
"omega-ui-src/source/panels.c:956"
],
"kind": [
"pill"
@@ -700,7 +700,7 @@
"omega-ui-src/source/community.c:323",
"omega-ui-src/source/community.c:324",
"omega-ui-src/source/panels.c:237",
"omega-ui-src/source/panels.c:916"
"omega-ui-src/source/panels.c:932"
]
},
"Aggiungi amici al gruppo": {
@@ -866,7 +866,7 @@
},
"Amici: %d · online: %d · giochi: %d": {
"where": [
"omega-ui-src/source/panels.c:1024"
"omega-ui-src/source/panels.c:1040"
],
"hint": "printf format: keep exactly these specifiers in this order: d d d"
},
@@ -882,7 +882,7 @@
"Amico": {
"where": [
"omega-ui-src/source/panels.c:654",
"omega-ui-src/source/panels.c:904"
"omega-ui-src/source/panels.c:920"
]
},
"Amico aggiunto": {
@@ -949,7 +949,7 @@
"where": [
"omega-ui-src/source/community.c:706",
"omega-ui-src/source/panels.c:124",
"omega-ui-src/source/panels.c:940",
"omega-ui-src/source/panels.c:956",
"omega-ui-src/source/store.c:1278"
]
},
@@ -1012,7 +1012,7 @@
},
"Apri nel browser": {
"where": [
"omega-ui-src/source/panels.c:1138"
"omega-ui-src/source/panels.c:1154"
],
"kind": [
"hint"
@@ -1130,8 +1130,8 @@
},
"Audio": {
"where": [
"omega-ui-src/source/panels.c:981",
"omega-ui-src/source/panels.c:1027"
"omega-ui-src/source/panels.c:997",
"omega-ui-src/source/panels.c:1043"
],
"kind": [
"menu"
@@ -1151,7 +1151,7 @@
},
"Automatica (console)": {
"where": [
"omega-ui-src/source/panels.c:1002"
"omega-ui-src/source/panels.c:1018"
]
},
"Avatar": {
@@ -1182,6 +1182,11 @@
],
"hint": "one-line message at the bottom of the screen"
},
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": {
"where": [
"omega-ui-src/source/whatsnew.c:14"
]
},
"Avvia": {
"where": [
"omega-ui-src/source/store.c:882",
@@ -1406,12 +1411,12 @@
},
"Cambia avatar": {
"where": [
"omega-ui-src/source/panels.c:1027"
"omega-ui-src/source/panels.c:1043"
]
},
"Cambia foto o video personale": {
"where": [
"omega-ui-src/source/panels.c:795"
"omega-ui-src/source/panels.c:803"
]
},
"Cancella": {
@@ -1555,7 +1560,7 @@
},
"Cerca ID online": {
"where": [
"omega-ui-src/source/panels.c:959"
"omega-ui-src/source/panels.c:975"
],
"kind": [
"keyboard-title"
@@ -1585,7 +1590,7 @@
"Cerca per ID online": {
"where": [
"omega-ui-src/source/community.c:625",
"omega-ui-src/source/panels.c:921"
"omega-ui-src/source/panels.c:937"
]
},
"Cerca sul web o scrivi un indirizzo": {
@@ -1624,7 +1629,7 @@
},
"Chat del party · %d membri": {
"where": [
"omega-ui-src/source/panels.c:823"
"omega-ui-src/source/panels.c:839"
],
"hint": "printf format: keep exactly these specifiers in this order: d"
},
@@ -1645,7 +1650,7 @@
},
"Chi spegne la console ora risulta offline dopo pochi minuti, e i giochi mostrano il nome e l'icona veri anche a chi non li ha.": {
"where": [
"omega-ui-src/source/whatsnew.c:19"
"omega-ui-src/source/whatsnew.c:20"
]
},
"Chi sta usando questo controller?": {
@@ -1702,7 +1707,7 @@
},
"Chiudere Omega e tornare alla home di sistema?": {
"where": [
"omega-ui-src/source/panels.c:1082"
"omega-ui-src/source/panels.c:1098"
],
"kind": [
"confirm"
@@ -1715,9 +1720,9 @@
"omega-ui-src/source/community.c:711",
"omega-ui-src/source/music.c:850",
"omega-ui-src/source/panels.c:189",
"omega-ui-src/source/panels.c:1082",
"omega-ui-src/source/panels.c:1138",
"omega-ui-src/source/panels.c:1139",
"omega-ui-src/source/panels.c:1098",
"omega-ui-src/source/panels.c:1154",
"omega-ui-src/source/panels.c:1155",
"omega-ui-src/source/records.c:292",
"omega-ui-src/source/records.c:472",
"omega-ui-src/source/store.c:404"
@@ -1732,7 +1737,7 @@
"Chiudi Omega": {
"where": [
"omega-ui-src/source/panels.c:210",
"omega-ui-src/source/panels.c:1028"
"omega-ui-src/source/panels.c:1044"
],
"kind": [
"menu",
@@ -1819,7 +1824,7 @@
},
"Colori": {
"where": [
"omega-ui-src/source/panels.c:778"
"omega-ui-src/source/panels.c:782"
]
},
"Com'era all'inizio.": {
@@ -2420,12 +2425,12 @@
},
"Effetti sonori: attivi": {
"where": [
"omega-ui-src/source/panels.c:979"
"omega-ui-src/source/panels.c:995"
]
},
"Effetti sonori: spenti": {
"where": [
"omega-ui-src/source/panels.c:979"
"omega-ui-src/source/panels.c:995"
]
},
"Elenco dei trofei non ancora disponibile": {
@@ -2606,7 +2611,7 @@
},
"Esci": {
"where": [
"omega-ui-src/source/panels.c:1081"
"omega-ui-src/source/panels.c:1097"
],
"kind": [
"confirm"
@@ -2631,7 +2636,7 @@
"Esci dall'account": {
"where": [
"omega-ui-src/source/panels.c:210",
"omega-ui-src/source/panels.c:1028"
"omega-ui-src/source/panels.c:1044"
],
"kind": [
"menu",
@@ -2966,7 +2971,7 @@
},
"Ho capito": {
"where": [
"omega-ui-src/source/whatsnew.c:62"
"omega-ui-src/source/whatsnew.c:63"
],
"kind": [
"hint"
@@ -3171,7 +3176,7 @@
},
"Il codice sorgente è su %s/source": {
"where": [
"omega-ui-src/source/panels.c:1106"
"omega-ui-src/source/panels.c:1122"
],
"hint": "printf format: keep exactly these specifiers in this order: s"
},
@@ -3230,7 +3235,7 @@
},
"Il mio profilo": {
"where": [
"omega-ui-src/source/panels.c:1027"
"omega-ui-src/source/panels.c:1043"
]
},
"Il mio stato: %s": {
@@ -3435,7 +3440,7 @@
"Impostazioni": {
"where": [
"omega-ui-src/source/panels.c:159",
"omega-ui-src/source/panels.c:1018"
"omega-ui-src/source/panels.c:1034"
],
"kind": [
"tile"
@@ -3454,7 +3459,7 @@
},
"Impostazioni › Privacy raccoglie tutte le scelte: chi ti scrive, cosa vedono gli altri, record, trofei, utenti bloccati e i tuoi dati.": {
"where": [
"omega-ui-src/source/whatsnew.c:18"
"omega-ui-src/source/whatsnew.c:19"
]
},
"In alto a destra": {
@@ -3558,10 +3563,10 @@
"omega-ui-src/source/music.c:850",
"omega-ui-src/source/panels.c:416",
"omega-ui-src/source/panels.c:584",
"omega-ui-src/source/panels.c:881",
"omega-ui-src/source/panels.c:947",
"omega-ui-src/source/panels.c:1054",
"omega-ui-src/source/panels.c:1111",
"omega-ui-src/source/panels.c:897",
"omega-ui-src/source/panels.c:963",
"omega-ui-src/source/panels.c:1070",
"omega-ui-src/source/panels.c:1127",
"omega-ui-src/source/records.c:292",
"omega-ui-src/source/records.c:472",
"omega-ui-src/source/remote.c:123",
@@ -3656,7 +3661,7 @@
},
"Informazioni su Omega": {
"where": [
"omega-ui-src/source/panels.c:1028"
"omega-ui-src/source/panels.c:1044"
]
},
"Inquadra il codice con la fotocamera, oppure apri l'indirizzo qui a sinistra nel browser.": {
@@ -3964,7 +3969,7 @@
},
"La Community ora è in home, prima dei giochi: bacheca, gruppi, persone e tempo di gioco a un tasto di distanza.": {
"where": [
"omega-ui-src/source/whatsnew.c:14"
"omega-ui-src/source/whatsnew.c:15"
]
},
"La bacheca è vuota": {
@@ -4043,7 +4048,7 @@
"La tua bio": {
"where": [
"omega-ui-src/source/panels.c:754",
"omega-ui-src/source/panels.c:1067"
"omega-ui-src/source/panels.c:1083"
],
"kind": [
"keyboard-title"
@@ -4127,7 +4132,7 @@
},
"Leggi l'articolo completo su:": {
"where": [
"omega-ui-src/source/panels.c:1135"
"omega-ui-src/source/panels.c:1151"
]
},
"Leggi prima di accettare": {
@@ -4183,8 +4188,8 @@
},
"Lingua": {
"where": [
"omega-ui-src/source/panels.c:1008",
"omega-ui-src/source/panels.c:1027"
"omega-ui-src/source/panels.c:1024",
"omega-ui-src/source/panels.c:1043"
],
"kind": [
"menu"
@@ -4393,8 +4398,8 @@
"Messaggio": {
"where": [
"omega-ui-src/source/panels.c:622",
"omega-ui-src/source/panels.c:891",
"omega-ui-src/source/panels.c:940"
"omega-ui-src/source/panels.c:907",
"omega-ui-src/source/panels.c:956"
],
"kind": [
"pill",
@@ -4405,7 +4410,7 @@
},
"Messaggio al party": {
"where": [
"omega-ui-src/source/panels.c:891"
"omega-ui-src/source/panels.c:907"
],
"kind": [
"keyboard-title"
@@ -4496,7 +4501,7 @@
"Modifica bio": {
"where": [
"omega-ui-src/source/panels.c:620",
"omega-ui-src/source/panels.c:1027"
"omega-ui-src/source/panels.c:1043"
],
"kind": [
"pill"
@@ -4574,7 +4579,7 @@
},
"Musica %s · Effetti %s": {
"where": [
"omega-ui-src/source/panels.c:1044"
"omega-ui-src/source/panels.c:1060"
],
"hint": "printf format: keep exactly these specifiers in this order: s s"
},
@@ -4585,12 +4590,12 @@
},
"Musica di sottofondo: attiva": {
"where": [
"omega-ui-src/source/panels.c:978"
"omega-ui-src/source/panels.c:994"
]
},
"Musica di sottofondo: spenta": {
"where": [
"omega-ui-src/source/panels.c:978"
"omega-ui-src/source/panels.c:994"
]
},
"Musica e telecomando usano già la nuova versione": {
@@ -4628,7 +4633,7 @@
},
"Nei profili ora si vedono i trofei: i tuoi dal tasto Trofei, quelli degli altri se scelgono di mostrarli.": {
"where": [
"omega-ui-src/source/whatsnew.c:17"
"omega-ui-src/source/whatsnew.c:18"
]
},
"Nel JSON non ci sono giochi: servono almeno titolo e link": {
@@ -4756,7 +4761,7 @@
},
"Nessun messaggio: scrivi il primo!": {
"where": [
"omega-ui-src/source/panels.c:844"
"omega-ui-src/source/panels.c:860"
]
},
"Nessun messaggio: scrivi tu per primo con X": {
@@ -4785,7 +4790,7 @@
},
"Nessun suggerimento": {
"where": [
"omega-ui-src/source/panels.c:929"
"omega-ui-src/source/panels.c:945"
]
},
"Nessun suggerimento per ora: aggiungi qualche amico": {
@@ -4810,7 +4815,7 @@
},
"Nessun utente trovato": {
"where": [
"omega-ui-src/source/panels.c:929"
"omega-ui-src/source/panels.c:945"
]
},
"Nessuna": {
@@ -5157,7 +5162,7 @@
},
"Novità": {
"where": [
"omega-ui-src/source/whatsnew.c:52"
"omega-ui-src/source/whatsnew.c:53"
]
},
"Nuova cartella": {
@@ -5206,12 +5211,12 @@
},
"Nuovo: Record. Il tempo di gioco di tutti gli iscritti: giocatori, giochi più giocati e maratone, della settimana o di sempre.": {
"where": [
"omega-ui-src/source/whatsnew.c:15"
"omega-ui-src/source/whatsnew.c:16"
]
},
"Nuovo: Trofei. Omega legge i trofei ottenuti nei giochi di questa console e li mette nel tuo profilo e nella classifica pubblica.": {
"where": [
"omega-ui-src/source/whatsnew.c:16"
"omega-ui-src/source/whatsnew.c:17"
]
},
"OK": {
@@ -5224,7 +5229,7 @@
"omega-ui-src/source/home.c:874",
"omega-ui-src/source/panels.c:43",
"omega-ui-src/source/panels.c:651",
"omega-ui-src/source/panels.c:830"
"omega-ui-src/source/panels.c:846"
]
},
"Offline · visto %s": {
@@ -5267,7 +5272,7 @@
},
"Omega come Home": {
"where": [
"omega-ui-src/source/panels.c:1027"
"omega-ui-src/source/panels.c:1043"
]
},
"Omega come Home?": {
@@ -5367,7 +5372,7 @@
},
"Omega è un progetto indipendente: non è affiliato a Sony Interactive Entertainment e non usa i suoi account né i suoi server.": {
"where": [
"omega-ui-src/source/panels.c:1108"
"omega-ui-src/source/panels.c:1124"
]
},
"Omega: %s è in La mia libreria, pronto da installare": {
@@ -5698,13 +5703,13 @@
},
"Personaggi": {
"where": [
"omega-ui-src/source/panels.c:777"
"omega-ui-src/source/panels.c:781"
]
},
"Personalizza": {
"where": [
"omega-ui-src/source/custom.c:50",
"omega-ui-src/source/panels.c:1027"
"omega-ui-src/source/panels.c:1043"
]
},
"Persone": {
@@ -5851,7 +5856,7 @@
"Privacy": {
"where": [
"omega-ui-src/source/account.c:248",
"omega-ui-src/source/panels.c:1028"
"omega-ui-src/source/panels.c:1044"
],
"kind": [
"menu"
@@ -5878,7 +5883,7 @@
"Profilo": {
"where": [
"omega-ui-src/source/panels.c:159",
"omega-ui-src/source/panels.c:947",
"omega-ui-src/source/panels.c:963",
"omega-ui-src/source/records.c:289"
],
"kind": [
@@ -6249,7 +6254,7 @@
"where": [
"omega-ui-src/source/community.c:639",
"omega-ui-src/source/panels.c:654",
"omega-ui-src/source/panels.c:905"
"omega-ui-src/source/panels.c:921"
],
"kind": [
"pill"
@@ -6450,7 +6455,7 @@
},
"Risultati": {
"where": [
"omega-ui-src/source/panels.c:923"
"omega-ui-src/source/panels.c:939"
]
},
"Rosa": {
@@ -6554,7 +6559,7 @@
"Scegli il tuo avatar": {
"where": [
"omega-ui-src/source/gallery.c:176",
"omega-ui-src/source/panels.c:776"
"omega-ui-src/source/panels.c:780"
]
},
"Scegli la copertina": {
@@ -6651,7 +6656,7 @@
"Scrivi": {
"where": [
"omega-ui-src/source/community.c:705",
"omega-ui-src/source/panels.c:881"
"omega-ui-src/source/panels.c:897"
],
"kind": [
"hint"
@@ -6710,7 +6715,7 @@
},
"Scrivi un messaggio...": {
"where": [
"omega-ui-src/source/panels.c:877"
"omega-ui-src/source/panels.c:893"
]
},
"Se preferisci di no, Omega resta un'app come le altre: la apri tu da websrv quando ti serve. Musica, notifiche durante i giochi e telecomando funzionano in tutti e due i casi.": {
@@ -6834,8 +6839,8 @@
"omega-ui-src/source/login.c:182",
"omega-ui-src/source/login.c:268",
"omega-ui-src/source/panels.c:416",
"omega-ui-src/source/panels.c:947",
"omega-ui-src/source/panels.c:1054",
"omega-ui-src/source/panels.c:963",
"omega-ui-src/source/panels.c:1070",
"omega-ui-src/source/store.c:1268",
"omega-ui-src/source/system.c:560"
],
@@ -6901,7 +6906,7 @@
"Server": {
"where": [
"omega-ui-src/source/account.c:373",
"omega-ui-src/source/panels.c:1027"
"omega-ui-src/source/panels.c:1043"
],
"kind": [
"menu"
@@ -7074,7 +7079,7 @@
},
"Sistema e strumenti": {
"where": [
"omega-ui-src/source/panels.c:1027"
"omega-ui-src/source/panels.c:1043"
]
},
"Smeraldo": {
@@ -7090,7 +7095,7 @@
},
"Software libero — GPL-3.0-or-later": {
"where": [
"omega-ui-src/source/panels.c:1105"
"omega-ui-src/source/panels.c:1121"
]
},
"Soglia della ventola": {
@@ -7340,7 +7345,7 @@
},
"Suggeriti": {
"where": [
"omega-ui-src/source/panels.c:923"
"omega-ui-src/source/panels.c:939"
]
},
"Suona": {
@@ -7365,7 +7370,7 @@
},
"Sviluppato da TheCriicom": {
"where": [
"omega-ui-src/source/panels.c:1103"
"omega-ui-src/source/panels.c:1119"
]
},
"Sì": {
@@ -7397,8 +7402,8 @@
},
"Tema": {
"where": [
"omega-ui-src/source/panels.c:1027",
"omega-ui-src/source/panels.c:1071",
"omega-ui-src/source/panels.c:1043",
"omega-ui-src/source/panels.c:1087",
"omega-ui-src/source/prefs.c:21",
"omega-ui-src/source/store.c:682"
],
@@ -7414,7 +7419,7 @@
},
"Tema: %s": {
"where": [
"omega-ui-src/source/panels.c:990"
"omega-ui-src/source/panels.c:1006"
],
"kind": [
"message"
@@ -7458,7 +7463,7 @@
},
"Ti ha chiesto l'amicizia": {
"where": [
"omega-ui-src/source/panels.c:906"
"omega-ui-src/source/panels.c:922"
]
},
"Ti ha inviato una richiesta": {
@@ -7822,7 +7827,7 @@
},
"Usa una tua foto o un video": {
"where": [
"omega-ui-src/source/panels.c:795"
"omega-ui-src/source/panels.c:803"
]
},
"Uscire dal gruppo? Non riceverai più i suoi messaggi.": {
@@ -7949,8 +7954,8 @@
},
"Versione %s": {
"where": [
"omega-ui-src/source/panels.c:1100",
"omega-ui-src/source/whatsnew.c:53"
"omega-ui-src/source/panels.c:1116",
"omega-ui-src/source/whatsnew.c:54"
],
"hint": "printf format: keep exactly these specifiers in this order: s"
},
@@ -8021,7 +8026,7 @@
},
"Volume musica: %d%%": {
"where": [
"omega-ui-src/source/panels.c:980"
"omega-ui-src/source/panels.c:996"
],
"hint": "printf format: keep exactly these specifiers in this order: d %%"
},
@@ -8054,7 +8059,7 @@
},
"Vuoi uscire dal tuo account Omega?": {
"where": [
"omega-ui-src/source/panels.c:1081"
"omega-ui-src/source/panels.c:1097"
],
"kind": [
"confirm"
@@ -8377,8 +8382,8 @@
},
"no": {
"where": [
"omega-ui-src/source/panels.c:1044",
"omega-ui-src/source/panels.c:1050"
"omega-ui-src/source/panels.c:1060",
"omega-ui-src/source/panels.c:1066"
]
},
"non disturbare": {
@@ -8492,8 +8497,8 @@
},
"sì": {
"where": [
"omega-ui-src/source/panels.c:1044",
"omega-ui-src/source/panels.c:1050"
"omega-ui-src/source/panels.c:1060",
"omega-ui-src/source/panels.c:1066"
]
},
"tema": {
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar aktualizován",
"Avatar personalizzato rimosso": "Vlastní avatar odstraněn",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatary: 16 nových postav, od draka po kyborga. Najdete je v Nastavení › Změnit avatar.",
"Avvia": "Spustit",
"Avvia Omega o riavvia la console": "Spusťte Omega nebo restartujte konzoli",
"Avvia party": "Založit party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar opdateret",
"Avatar personalizzato rimosso": "Egen avatar fjernet",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatarer: 16 nye figurer, fra drage til cyborg. Find dem under Indstillinger › Skift avatar.",
"Avvia": "Start",
"Avvia Omega o riavvia la console": "Start Omega eller genstart konsollen",
"Avvia party": "Start party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar aktualisiert",
"Avatar personalizzato rimosso": "Eigener Avatar entfernt",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatare: 16 neue Figuren, vom Drachen bis zum Cyborg. Zu finden unter Einstellungen › Avatar ändern.",
"Avvia": "Starten",
"Avvia Omega o riavvia la console": "Starte Omega oder starte die Konsole neu",
"Avvia party": "Party starten",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Το avatar ενημερώθηκε",
"Avatar personalizzato rimosso": "Το προσαρμοσμένο avatar αφαιρέθηκε",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Άβαταρ: 16 νέοι χαρακτήρες, από δράκο μέχρι σάιμποργκ. Θα τους βρείτε στις Ρυθμίσεις › Αλλαγή άβαταρ.",
"Avvia": "Έναρξη",
"Avvia Omega o riavvia la console": "Ανοίξτε το Omega ή επανεκκινήστε την κονσόλα",
"Avvia party": "Έναρξη party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar updated",
"Avatar personalizzato rimosso": "Custom avatar removed",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatars: 16 new characters, from a dragon to a cyborg. Find them in Settings › Change avatar.",
"Avvia": "Start",
"Avvia Omega o riavvia la console": "Start Omega or restart the console",
"Avvia party": "Start party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar actualizado",
"Avatar personalizzato rimosso": "Avatar personalizado eliminado",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatares: 16 personajes nuevos, del dragón al cíborg. Están en Ajustes › Cambiar avatar.",
"Avvia": "Iniciar",
"Avvia Omega o riavvia la console": "Inicia Omega o reinicia la consola",
"Avvia party": "Iniciar party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar päivitetty",
"Avatar personalizzato rimosso": "Mukautettu avatar poistettu",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatarit: 16 uutta hahmoa lohikäärmeestä kyborgiin. Löydät ne kohdasta Asetukset › Vaihda avatar.",
"Avvia": "Käynnistä",
"Avvia Omega o riavvia la console": "Käynnistä Omega tai käynnistä konsoli uudelleen",
"Avvia party": "Aloita party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar mis à jour",
"Avatar personalizzato rimosso": "Avatar personnalisé supprimé",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatars : 16 nouveaux personnages, du dragon au cyborg. Ils sont dans Paramètres › Changer d'avatar.",
"Avvia": "Lancer",
"Avvia Omega o riavvia la console": "Lancez Omega ou redémarrez la console",
"Avvia party": "Créer une party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar frissítve",
"Avatar personalizzato rimosso": "Egyéni avatar eltávolítva",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatarok: 16 új figura, a sárkánytól a kiborgig. A Beállítások › Avatar módosítása alatt találod őket.",
"Avvia": "Indítás",
"Avvia Omega o riavvia la console": "Indítsd el az Omegát, vagy indítsd újra a konzolt",
"Avvia party": "Party indítása",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar diperbarui",
"Avatar personalizzato rimosso": "Avatar kustom dihapus",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatar: 16 karakter baru, dari naga sampai cyborg. Ada di Pengaturan › Ganti avatar.",
"Avvia": "Mulai",
"Avvia Omega o riavvia la console": "Buka Omega atau mulai ulang konsol",
"Avvia party": "Mulai party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar aggiornato",
"Avatar personalizzato rimosso": "Avatar personalizzato rimosso",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.",
"Avvia": "Avvia",
"Avvia Omega o riavvia la console": "Avvia Omega o riavvia la console",
"Avvia party": "Avvia party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "アバター",
"Avatar aggiornato": "アバターを更新しました",
"Avatar personalizzato rimosso": "カスタムアバターを削除しました",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "アバター:ドラゴンからサイボーグまで新キャラクター16体。設定 › アバターを変更 から選べます。",
"Avvia": "開始",
"Avvia Omega o riavvia la console": "Omegaを起動するか、本体を再起動してください",
"Avvia party": "パーティー開始",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "아바타",
"Avatar aggiornato": "아바타가 업데이트되었습니다",
"Avatar personalizzato rimosso": "사용자 지정 아바타가 삭제되었습니다",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "아바타: 드래곤부터 사이보그까지 새 캐릭터 16종. 설정 › 아바타 변경에서 찾을 수 있어요.",
"Avvia": "시작",
"Avvia Omega o riavvia la console": "Omega를 실행하거나 본체를 재시작하세요",
"Avvia party": "파티 시작",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar oppdatert",
"Avatar personalizzato rimosso": "Egen avatar fjernet",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatarer: 16 nye figurer, fra drage til kyborg. Du finner dem i Innstillinger › Bytt avatar.",
"Avvia": "Start",
"Avvia Omega o riavvia la console": "Start Omega eller start konsollen på nytt",
"Avvia party": "Start party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar bijgewerkt",
"Avatar personalizzato rimosso": "Eigen avatar verwijderd",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatars: 16 nieuwe personages, van draak tot cyborg. Te vinden in Instellingen › Avatar wijzigen.",
"Avvia": "Starten",
"Avvia Omega o riavvia la console": "Start Omega of herstart de console",
"Avvia party": "Party starten",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Awatar",
"Avatar aggiornato": "Zaktualizowano awatar",
"Avatar personalizzato rimosso": "Usunięto własny awatar",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Awatary: 16 nowych postaci, od smoka po cyborga. Znajdziesz je w Ustawienia › Zmień awatar.",
"Avvia": "Uruchom",
"Avvia Omega o riavvia la console": "Uruchom Omega lub zrestartuj konsolę",
"Avvia party": "Załóż party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar atualizado",
"Avatar personalizzato rimosso": "Avatar personalizado removido",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatares: 16 personagens novos, do dragão ao ciborgue. Estão em Configurações › Mudar avatar.",
"Avvia": "Iniciar",
"Avvia Omega o riavvia la console": "Abra o Omega ou reinicie o console",
"Avvia party": "Iniciar party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar atualizado",
"Avatar personalizzato rimosso": "Avatar personalizado removido",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatares: 16 personagens novas, do dragão ao ciborgue. Estão em Definições › Mudar avatar.",
"Avvia": "Iniciar",
"Avvia Omega o riavvia la console": "Abre o Omega ou reinicia a consola",
"Avvia party": "Iniciar party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar actualizat",
"Avatar personalizzato rimosso": "Avatar personalizat eliminat",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatare: 16 personaje noi, de la dragon la cyborg. Le găsești în Setări › Schimbă avatarul.",
"Avvia": "Pornește",
"Avvia Omega o riavvia la console": "Pornește Omega sau repornește consola",
"Avvia party": "Pornește party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Аватар",
"Avatar aggiornato": "Аватар обновлён",
"Avatar personalizzato rimosso": "Свой аватар удалён",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Аватары: 16 новых персонажей — от дракона до киборга. Ищите их в Настройки › Сменить аватар.",
"Avvia": "Запустить",
"Avvia Omega o riavvia la console": "Запустите Omega или перезагрузите консоль",
"Avvia party": "Начать пати",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avataren har uppdaterats",
"Avatar personalizzato rimosso": "Egen avatar borttagen",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatarer: 16 nya figurer, från drake till cyborg. Du hittar dem i Inställningar › Byt avatar.",
"Avvia": "Starta",
"Avvia Omega o riavvia la console": "Starta Omega eller starta om konsolen",
"Avvia party": "Starta party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "อวตาร",
"Avatar aggiornato": "อัปเดตอวตารแล้ว",
"Avatar personalizzato rimosso": "ลบอวตารที่กำหนดเองแล้ว",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "อวาตาร์: ตัวละครใหม่ 16 ตัว ตั้งแต่มังกรจนถึงไซบอร์ก ดูได้ที่ การตั้งค่า › เปลี่ยนอวาตาร์",
"Avvia": "เริ่ม",
"Avvia Omega o riavvia la console": "เปิด Omega หรือรีสตาร์ทเครื่อง",
"Avvia party": "เริ่มปาร์ตี้",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Avatar güncellendi",
"Avatar personalizzato rimosso": "Özel avatar kaldırıldı",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Avatarlar: Ejderhadan siborga 16 yeni karakter. Ayarlar › Avatarı değiştir bölümünde.",
"Avvia": "Başlat",
"Avvia Omega o riavvia la console": "Omega'yı başlat veya konsolu yeniden başlat",
"Avvia party": "Parti başlat",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Аватар",
"Avatar aggiornato": "Аватар оновлено",
"Avatar personalizzato rimosso": "Власний аватар видалено",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Аватари: 16 нових персонажів — від дракона до кіборга. Шукайте їх у Налаштування › Змінити аватар.",
"Avvia": "Запустити",
"Avvia Omega o riavvia la console": "Запустіть Omega або перезавантажте консоль",
"Avvia party": "Почати Party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "Avatar",
"Avatar aggiornato": "Đã cập nhật ảnh đại diện",
"Avatar personalizzato rimosso": "Đã xóa ảnh đại diện tùy chỉnh",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "Ảnh đại diện: 16 nhân vật mới, từ rồng đến người máy. Có trong Cài đặt › Đổi ảnh đại diện.",
"Avvia": "Khởi chạy",
"Avvia Omega o riavvia la console": "Mở Omega hoặc khởi động lại máy",
"Avvia party": "Bắt đầu party",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "头像",
"Avatar aggiornato": "头像已更新",
"Avatar personalizzato rimosso": "已移除自定义头像",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "头像:新增 16 个角色,从巨龙到赛博格。在 设置 › 更换头像 中选择。",
"Avvia": "启动",
"Avvia Omega o riavvia la console": "请启动 Omega 或重启主机",
"Avvia party": "发起派对",
+1
View File
@@ -174,6 +174,7 @@
"Avatar": "頭像",
"Avatar aggiornato": "頭像已更新",
"Avatar personalizzato rimosso": "已移除自訂頭像",
"Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni › Cambia avatar.": "頭像:新增 16 個角色,從巨龍到生化人。在 設定 › 更換頭像 中選擇。",
"Avvia": "開始",
"Avvia Omega o riavvia la console": "請啟動 Omega 或重新啟動主機",
"Avvia party": "開始派對",
+1 -1
View File
@@ -127,7 +127,7 @@ float sd_tri(float px, float py, float x0, float y0, float x1, float y1, float x
// Avatar: foto/video caricati, personaggi illustrati (avatar.c) o colore + iniziale (gfx.c).
#define AV_ART_FIRST 16
#define AV_ART_COUNT 16
#define AV_ART_COUNT 32
void draw_avatar(const char *oid, int avatar, int cx, int cy, int size, int alpha);
void draw_avatar_color(const char *oid, int avatar, int cx, int cy, int size, int alpha);
void media_note(const char *oid, const char *media, int frames); // avatar personalizzato di un utente
+103 -1
View File
@@ -1,7 +1,7 @@
// Omega UI — avatar:
// · personalizzati: foto o breve video caricati dall'utente (fotogrammi JPEG
// dal server), animati quando l'avatar è grande;
// · illustrati: 16 personaggi vettoriali (SDF a colori) rasterizzati una
// · illustrati: 32 personaggi vettoriali (SDF a colori) rasterizzati una
// volta a 256 px;
// · colore e iniziale (gfx.c) come ripiego.
#include "app.h"
@@ -171,6 +171,108 @@ static const AvatarArt ART[AV_ART_COUNT] = {
{ C(3a0d0d), C(b3261e), { TRI(0.5f, 0.1f, 0.24f, 0.7f, 0.76f, 0.7f, ff6b1a), DISC(0.5f, 0.66f, 0.26f, ff6b1a), TRI(0.34f, 0.28f, 0.26f, 0.62f, 0.46f, 0.6f, ff8c2a),
TRI(0.68f, 0.3f, 0.56f, 0.6f, 0.76f, 0.62f, ff8c2a), TRI(0.5f, 0.32f, 0.34f, 0.76f, 0.66f, 0.76f, ffc21a), DISC(0.5f, 0.74f, 0.15f, ffc21a),
DISC(0.5f, 0.78f, 0.08f, fff3b0), DISC(0.44f, 0.62f, 0.022f, 3a0d0d), DISC(0.56f, 0.62f, 0.022f, 3a0d0d), AEND } },
// 16 drago
{ C(1d0b3a), C(6c2bd9), { TRI(0.33f, 0.31f, 0.25f, 0.1f, 0.42f, 0.26f, f1e3c2), TRI(0.67f, 0.31f, 0.75f, 0.1f, 0.58f, 0.26f, f1e3c2),
BOX(0.31f, 0.7f, 0.38f, 0.4f, 0.14f, 1e8449), TRI(0.43f, 0.29f, 0.5f, 0.15f, 0.57f, 0.29f, f39c12), ELL(0.5f, 0.47f, 0.24f, 0.21f, 27ae60),
ELL(0.5f, 0.62f, 0.17f, 0.11f, 58d68d), DISC(0.45f, 0.6f, 0.017f, 145a32), DISC(0.55f, 0.6f, 0.017f, 145a32),
ELL(0.4f, 0.43f, 0.055f, 0.06f, fff3a0), ELL(0.6f, 0.43f, 0.055f, 0.06f, fff3a0), ELL(0.4f, 0.43f, 0.014f, 0.045f, 1a1a1a), ELL(0.6f, 0.43f, 0.014f, 0.045f, 1a1a1a),
SEG(0.43f, 0.8f, 0.57f, 0.8f, 0.012f, f7dc6f), SEG(0.44f, 0.88f, 0.56f, 0.88f, 0.012f, f7dc6f), SEG(0.44f, 0.68f, 0.56f, 0.68f, 0.008f, 145a32), AEND } },
// 17 unicorno
{ C(8e7dff), C(ff9ff3), { DISC(0.34f, 0.4f, 0.11f, ff6b9d), DISC(0.3f, 0.55f, 0.1f, feca57), DISC(0.33f, 0.7f, 0.09f, 48dbfb), DISC(0.4f, 0.82f, 0.08f, a29bfe),
BOX(0.38f, 0.6f, 0.28f, 0.5f, 0.12f, ffffff), TRI(0.43f, 0.37f, 0.46f, 0.21f, 0.52f, 0.34f, ffffff), ELL(0.55f, 0.48f, 0.2f, 0.17f, ffffff),
TRI(0.5f, 0.33f, 0.6f, 0.31f, 0.63f, 0.07f, ffd700), SEG(0.53f, 0.27f, 0.6f, 0.24f, 0.006f, e1a800), SEG(0.55f, 0.19f, 0.61f, 0.17f, 0.006f, e1a800),
ELL(0.66f, 0.56f, 0.11f, 0.09f, ffe4f2), DISC(0.7f, 0.55f, 0.012f, d98cb3), ELL(0.53f, 0.45f, 0.03f, 0.04f, 2d1b4e), DISC(0.54f, 0.435f, 0.011f, ffffff),
ELL(0.58f, 0.54f, 0.032f, 0.018f, ffb3d9), AEND } },
// 18 squalo
{ C(0a3d62), C(3c9ad6), { TRI(0.5f, 0.06f, 0.37f, 0.33f, 0.63f, 0.31f, 5d7b93), ELL(0.5f, 0.56f, 0.33f, 0.28f, 7f98ab), ELL(0.5f, 0.7f, 0.25f, 0.15f, eef4f7),
BOX(0.33f, 0.63f, 0.34f, 0.09f, 0.045f, 3b0f17), TRI(0.36f, 0.63f, 0.41f, 0.63f, 0.385f, 0.68f, ffffff), TRI(0.43f, 0.63f, 0.48f, 0.63f, 0.455f, 0.68f, ffffff),
TRI(0.52f, 0.63f, 0.57f, 0.63f, 0.545f, 0.68f, ffffff), TRI(0.59f, 0.63f, 0.64f, 0.63f, 0.615f, 0.68f, ffffff),
DISC(0.37f, 0.47f, 0.038f, 101820), DISC(0.63f, 0.47f, 0.038f, 101820), DISC(0.38f, 0.46f, 0.011f, ffffff), DISC(0.64f, 0.46f, 0.011f, ffffff),
SEG(0.23f, 0.5f, 0.25f, 0.6f, 0.008f, 4e6a80), SEG(0.77f, 0.5f, 0.75f, 0.6f, 0.008f, 4e6a80), DISC(0.78f, 0.24f, 0.025f, a9d8f5), DISC(0.84f, 0.32f, 0.016f, a9d8f5), AEND } },
// 19 polpo
{ C(0f6e6e), C(48c9b0), { ELL(0.29f, 0.78f, 0.06f, 0.15f, e84393), ELL(0.41f, 0.83f, 0.06f, 0.15f, e84393), ELL(0.59f, 0.83f, 0.06f, 0.15f, e84393),
ELL(0.71f, 0.78f, 0.06f, 0.15f, e84393), ELL(0.5f, 0.44f, 0.27f, 0.28f, fd79a8), DISC(0.38f, 0.28f, 0.03f, e84393), DISC(0.6f, 0.25f, 0.024f, e84393),
DISC(0.68f, 0.37f, 0.02f, e84393), DISC(0.41f, 0.5f, 0.065f, ffffff), DISC(0.59f, 0.5f, 0.065f, ffffff), DISC(0.42f, 0.51f, 0.032f, 2d3436),
DISC(0.6f, 0.51f, 0.032f, 2d3436), DISC(0.43f, 0.495f, 0.01f, ffffff), DISC(0.61f, 0.495f, 0.01f, ffffff), ELL(0.5f, 0.63f, 0.045f, 0.025f, 8e2a5b),
ELL(0.31f, 0.58f, 0.04f, 0.022f, ffb3d1), ELL(0.69f, 0.58f, 0.04f, 0.022f, ffb3d1), AEND } },
// 20 coniglio
{ C(fab1a0), C(ffeaa7), { ELL(0.4f, 0.22f, 0.065f, 0.18f, f5f6fa), ELL(0.6f, 0.22f, 0.065f, 0.18f, f5f6fa), ELL(0.4f, 0.23f, 0.032f, 0.13f, ffb8c6),
ELL(0.6f, 0.23f, 0.032f, 0.13f, ffb8c6), BOX(0.3f, 0.76f, 0.4f, 0.34f, 0.16f, e8e8f0), DISC(0.5f, 0.53f, 0.23f, ffffff),
DISC(0.42f, 0.5f, 0.03f, 2d3436), DISC(0.58f, 0.5f, 0.03f, 2d3436), DISC(0.43f, 0.49f, 0.01f, ffffff), DISC(0.59f, 0.49f, 0.01f, ffffff),
TRI(0.475f, 0.58f, 0.525f, 0.58f, 0.5f, 0.615f, ff7aa2), SEG(0.5f, 0.61f, 0.5f, 0.65f, 0.006f, b07a8a), SEG(0.5f, 0.65f, 0.46f, 0.67f, 0.006f, b07a8a),
SEG(0.5f, 0.65f, 0.54f, 0.67f, 0.006f, b07a8a), ELL(0.36f, 0.59f, 0.04f, 0.022f, ffc6d3), ELL(0.64f, 0.59f, 0.04f, 0.022f, ffc6d3),
DISC(0.66f, 0.84f, 0.06f, ff9f43), TRI(0.63f, 0.8f, 0.66f, 0.72f, 0.69f, 0.8f, 2ecc71), AEND } },
// 21 tigre
{ C(0b6623), C(6ab04c), { DISC(0.29f, 0.3f, 0.085f, e67e22), DISC(0.71f, 0.3f, 0.085f, e67e22), DISC(0.29f, 0.3f, 0.042f, fdebd0), DISC(0.71f, 0.3f, 0.042f, fdebd0),
DISC(0.5f, 0.53f, 0.27f, f39c12), ELL(0.5f, 0.65f, 0.15f, 0.11f, fdf2e9), SEG(0.5f, 0.27f, 0.5f, 0.37f, 0.015f, 1e1e1e), SEG(0.43f, 0.29f, 0.45f, 0.36f, 0.01f, 1e1e1e),
SEG(0.57f, 0.29f, 0.55f, 0.36f, 0.01f, 1e1e1e), SEG(0.24f, 0.5f, 0.33f, 0.52f, 0.011f, 1e1e1e), SEG(0.25f, 0.58f, 0.33f, 0.57f, 0.011f, 1e1e1e),
SEG(0.76f, 0.5f, 0.67f, 0.52f, 0.011f, 1e1e1e), SEG(0.75f, 0.58f, 0.67f, 0.57f, 0.011f, 1e1e1e), ELL(0.4f, 0.46f, 0.048f, 0.035f, f9e79f),
ELL(0.6f, 0.46f, 0.048f, 0.035f, f9e79f), ELL(0.4f, 0.46f, 0.012f, 0.03f, 111111), ELL(0.6f, 0.46f, 0.012f, 0.03f, 111111),
TRI(0.46f, 0.59f, 0.54f, 0.59f, 0.5f, 0.64f, e17055), SEG(0.5f, 0.64f, 0.5f, 0.68f, 0.008f, 5d4037), AEND } },
// 22 lupo
{ C(0c2461), C(4a69bd), { DISC(0.76f, 0.24f, 0.08f, fdfde0), TRI(0.28f, 0.38f, 0.31f, 0.11f, 0.45f, 0.3f, 7f8c8d), TRI(0.72f, 0.38f, 0.69f, 0.11f, 0.55f, 0.3f, 7f8c8d),
TRI(0.31f, 0.33f, 0.32f, 0.18f, 0.41f, 0.3f, 3d3d3d), TRI(0.69f, 0.33f, 0.68f, 0.18f, 0.59f, 0.3f, 3d3d3d), BOX(0.3f, 0.74f, 0.4f, 0.36f, 0.14f, 6c7a89),
ELL(0.5f, 0.52f, 0.25f, 0.24f, 95a5a6), TRI(0.45f, 0.33f, 0.55f, 0.33f, 0.5f, 0.47f, 6c7a89), TRI(0.36f, 0.53f, 0.64f, 0.53f, 0.5f, 0.79f, ecf0f1),
DISC(0.5f, 0.72f, 0.036f, 2d3436), ELL(0.41f, 0.47f, 0.042f, 0.026f, f6e58d), ELL(0.59f, 0.47f, 0.042f, 0.026f, f6e58d),
DISC(0.41f, 0.47f, 0.013f, 111111), DISC(0.59f, 0.47f, 0.013f, 111111), AEND } },
// 23 zombie
{ C(2c003e), C(4b6584), { BOX(0.3f, 0.78f, 0.4f, 0.32f, 0.1f, 6c5ce7), TRI(0.4f, 0.78f, 0.46f, 0.78f, 0.43f, 0.85f, 4b6584), BOX(0.28f, 0.23f, 0.44f, 0.52f, 0.14f, 8bc34a),
BOX(0.28f, 0.21f, 0.44f, 0.1f, 0.06f, 3e2c1c), TRI(0.3f, 0.3f, 0.37f, 0.3f, 0.32f, 0.39f, 3e2c1c), TRI(0.58f, 0.3f, 0.66f, 0.3f, 0.63f, 0.37f, 3e2c1c),
DISC(0.4f, 0.47f, 0.065f, fdfefe), DISC(0.41f, 0.48f, 0.02f, c0392b), SEG(0.55f, 0.43f, 0.65f, 0.51f, 0.013f, 1b2a10), SEG(0.65f, 0.43f, 0.55f, 0.51f, 0.013f, 1b2a10),
BOX(0.4f, 0.6f, 0.21f, 0.08f, 0.02f, 3b1f1f), BOX(0.44f, 0.6f, 0.04f, 0.03f, 0.005f, f5f5dc), BOX(0.53f, 0.6f, 0.04f, 0.03f, 0.005f, f5f5dc),
SEG(0.31f, 0.37f, 0.4f, 0.33f, 0.006f, 2c3e2c), SEG(0.34f, 0.32f, 0.35f, 0.38f, 0.005f, 2c3e2c), SEG(0.37f, 0.31f, 0.38f, 0.37f, 0.005f, 2c3e2c),
ELL(0.6f, 0.68f, 0.03f, 0.02f, 6e9a3a), AEND } },
// 24 pirata
{ C(1b4f72), C(2e86c1), { BOX(0.3f, 0.78f, 0.4f, 0.32f, 0.12f, fdfefe), SEG(0.34f, 0.84f, 0.66f, 0.84f, 0.014f, c0392b), SEG(0.34f, 0.93f, 0.66f, 0.93f, 0.014f, c0392b),
DISC(0.5f, 0.54f, 0.22f, f0c08a), ELL(0.5f, 0.7f, 0.18f, 0.1f, 6d3b1e), SEG(0.45f, 0.65f, 0.55f, 0.65f, 0.009f, 3b1d0e),
BOX(0.28f, 0.29f, 0.44f, 0.16f, 0.08f, c0392b), TRI(0.69f, 0.36f, 0.83f, 0.29f, 0.8f, 0.45f, a93226), DISC(0.38f, 0.35f, 0.016f, ffffff),
DISC(0.5f, 0.33f, 0.016f, ffffff), DISC(0.62f, 0.35f, 0.016f, ffffff), SEG(0.3f, 0.41f, 0.68f, 0.53f, 0.009f, 1b1b1b), DISC(0.6f, 0.5f, 0.058f, 1b1b1b),
DISC(0.42f, 0.5f, 0.026f, 1b1b1b), DISC(0.29f, 0.62f, 0.022f, f1c40f), ELL(0.5f, 0.57f, 0.03f, 0.025f, e0a878), AEND } },
// 25 mago
{ C(1b1464), C(5f27cd), { TRI(0.5f, 0.03f, 0.28f, 0.38f, 0.72f, 0.38f, 3c40c6), DISC(0.46f, 0.22f, 0.022f, ffd32a), DISC(0.57f, 0.3f, 0.016f, ffd32a),
DISC(0.52f, 0.13f, 0.012f, ffd32a), DISC(0.5f, 0.53f, 0.17f, f6d5b3), TRI(0.32f, 0.57f, 0.68f, 0.57f, 0.5f, 0.96f, ecf0f1), ELL(0.5f, 0.62f, 0.18f, 0.08f, ecf0f1),
ELL(0.45f, 0.59f, 0.065f, 0.026f, ffffff), ELL(0.55f, 0.59f, 0.065f, 0.026f, ffffff), ELL(0.5f, 0.54f, 0.026f, 0.032f, eab38f),
DISC(0.44f, 0.49f, 0.019f, 2d3436), DISC(0.56f, 0.49f, 0.019f, 2d3436), SEG(0.4f, 0.45f, 0.47f, 0.44f, 0.009f, ffffff), SEG(0.53f, 0.44f, 0.6f, 0.45f, 0.009f, ffffff),
ELL(0.5f, 0.38f, 0.29f, 0.05f, 30336b), AEND } },
// 26 gamer con le cuffie
{ C(3c40c6), C(ff3f34), { BOX(0.3f, 0.78f, 0.4f, 0.32f, 0.12f, 0be881), DISC(0.5f, 0.52f, 0.21f, ffd3a5), ELL(0.5f, 0.35f, 0.2f, 0.09f, 6f3a1f),
TRI(0.32f, 0.38f, 0.42f, 0.3f, 0.36f, 0.45f, 6f3a1f), SEG(0.27f, 0.5f, 0.3f, 0.27f, 0.024f, 2d3436), SEG(0.3f, 0.27f, 0.5f, 0.17f, 0.024f, 2d3436),
SEG(0.5f, 0.17f, 0.7f, 0.27f, 0.024f, 2d3436), SEG(0.7f, 0.27f, 0.73f, 0.5f, 0.024f, 2d3436), BOX(0.2f, 0.43f, 0.11f, 0.19f, 0.045f, ff3f34),
BOX(0.69f, 0.43f, 0.11f, 0.19f, 0.045f, ff3f34), SEG(0.27f, 0.6f, 0.4f, 0.7f, 0.01f, 2d3436), DISC(0.41f, 0.7f, 0.024f, 2d3436),
ELL(0.43f, 0.5f, 0.022f, 0.03f, 2d3436), ELL(0.57f, 0.5f, 0.022f, 0.03f, 2d3436), SEG(0.47f, 0.61f, 0.55f, 0.6f, 0.01f, a0522d),
SEG(0.38f, 0.86f, 0.62f, 0.86f, 0.01f, 05c46b), AEND } },
// 27 hacker
{ C(000000), C(0b3d0b), { SEG(0.18f, 0.2f, 0.18f, 0.27f, 0.008f, 0a7a3a), SEG(0.82f, 0.62f, 0.82f, 0.7f, 0.008f, 0a7a3a), DISC(0.84f, 0.3f, 0.01f, 0a7a3a),
DISC(0.17f, 0.66f, 0.01f, 0a7a3a), BOX(0.22f, 0.22f, 0.56f, 0.82f, 0.24f, 1e272e), ELL(0.5f, 0.52f, 0.17f, 0.2f, 0a0a0a),
BOX(0.36f, 0.45f, 0.12f, 0.065f, 0.02f, 00ff88), BOX(0.52f, 0.45f, 0.12f, 0.065f, 0.02f, 00ff88), SEG(0.48f, 0.48f, 0.52f, 0.48f, 0.008f, 00ff88),
SEG(0.46f, 0.62f, 0.54f, 0.62f, 0.006f, 00aa55), SEG(0.44f, 0.74f, 0.44f, 0.87f, 0.006f, bdc3c7), SEG(0.56f, 0.74f, 0.56f, 0.87f, 0.006f, bdc3c7),
DISC(0.44f, 0.88f, 0.012f, bdc3c7), DISC(0.56f, 0.88f, 0.012f, bdc3c7), AEND } },
// 28 maschera oni
{ C(1a0000), C(c0392b), { TRI(0.31f, 0.31f, 0.23f, 0.08f, 0.39f, 0.26f, f5f5dc), TRI(0.69f, 0.31f, 0.77f, 0.08f, 0.61f, 0.26f, f5f5dc),
ELL(0.5f, 0.53f, 0.27f, 0.29f, e74c3c), TRI(0.32f, 0.37f, 0.47f, 0.42f, 0.33f, 0.44f, 1a0000), TRI(0.68f, 0.37f, 0.53f, 0.42f, 0.67f, 0.44f, 1a0000),
ELL(0.4f, 0.48f, 0.052f, 0.032f, ffd32a), ELL(0.6f, 0.48f, 0.052f, 0.032f, ffd32a), DISC(0.4f, 0.48f, 0.016f, 1a0000), DISC(0.6f, 0.48f, 0.016f, 1a0000),
ELL(0.5f, 0.57f, 0.045f, 0.03f, b03a2e), BOX(0.35f, 0.63f, 0.3f, 0.11f, 0.045f, 1a0000), TRI(0.37f, 0.63f, 0.43f, 0.63f, 0.4f, 0.71f, ffffff),
TRI(0.57f, 0.63f, 0.63f, 0.63f, 0.6f, 0.71f, ffffff), TRI(0.44f, 0.74f, 0.5f, 0.74f, 0.47f, 0.69f, ffffff), TRI(0.5f, 0.74f, 0.56f, 0.74f, 0.53f, 0.69f, ffffff),
SEG(0.27f, 0.6f, 0.31f, 0.7f, 0.008f, a93226), SEG(0.73f, 0.6f, 0.69f, 0.7f, 0.008f, a93226), AEND } },
// 29 disco volante
{ C(0c0032), C(3d1a78), { DISC(0.24f, 0.26f, 0.011f, ffffff), DISC(0.76f, 0.2f, 0.009f, ffffff), DISC(0.82f, 0.62f, 0.011f, ffffff), DISC(0.18f, 0.66f, 0.009f, ffffff),
DISC(0.66f, 0.12f, 0.007f, ffffff), TRI(0.5f, 0.55f, 0.29f, 0.94f, 0.71f, 0.94f, 5e8f72), TRI(0.5f, 0.58f, 0.37f, 0.94f, 0.63f, 0.94f, 8fd9a8),
DISC(0.5f, 0.44f, 0.14f, a5f3fc), DISC(0.5f, 0.47f, 0.06f, 7bed7b), ELL(0.48f, 0.46f, 0.012f, 0.018f, 101010), ELL(0.52f, 0.46f, 0.012f, 0.018f, 101010),
SEG(0.48f, 0.41f, 0.46f, 0.36f, 0.006f, 7bed7b), SEG(0.52f, 0.41f, 0.54f, 0.36f, 0.006f, 7bed7b), ELL(0.5f, 0.55f, 0.31f, 0.085f, 7f8c8d),
ELL(0.5f, 0.52f, 0.27f, 0.055f, bdc3c7), DISC(0.31f, 0.57f, 0.021f, ffd32a), DISC(0.43f, 0.6f, 0.021f, ff4757), DISC(0.57f, 0.6f, 0.021f, ffd32a),
DISC(0.69f, 0.57f, 0.021f, ff4757), DISC(0.42f, 0.4f, 0.025f, e0fbff), AEND } },
// 30 slime
{ C(6c5ce7), C(a29bfe), { ELL(0.5f, 0.86f, 0.27f, 0.035f, 4834a6), ELL(0.5f, 0.67f, 0.31f, 0.21f, 3ddc97), DISC(0.5f, 0.5f, 0.22f, 3ddc97),
TRI(0.46f, 0.3f, 0.54f, 0.3f, 0.53f, 0.2f, 3ddc97), ELL(0.27f, 0.82f, 0.045f, 0.06f, 3ddc97), ELL(0.73f, 0.84f, 0.035f, 0.05f, 3ddc97),
ELL(0.39f, 0.42f, 0.055f, 0.03f, c8fff0), DISC(0.3f, 0.6f, 0.014f, c8fff0), ELL(0.42f, 0.57f, 0.036f, 0.052f, 1e272e), ELL(0.58f, 0.57f, 0.036f, 0.052f, 1e272e),
DISC(0.43f, 0.555f, 0.013f, ffffff), DISC(0.59f, 0.555f, 0.013f, ffffff), ELL(0.5f, 0.68f, 0.055f, 0.035f, 1e272e), ELL(0.5f, 0.7f, 0.03f, 0.015f, ff7675),
ELL(0.34f, 0.64f, 0.03f, 0.016f, 7ef0c0), ELL(0.66f, 0.64f, 0.03f, 0.016f, 7ef0c0), AEND } },
// 31 cyborg
{ C(2f3542), C(57606f), { BOX(0.26f, 0.82f, 0.48f, 0.28f, 0.1f, 1e2530), BOX(0.4f, 0.72f, 0.2f, 0.14f, 0.02f, 747d8c), DISC(0.5f, 0.5f, 0.25f, a4b0be),
ELL(0.42f, 0.5f, 0.17f, 0.25f, f0c8a0), ELL(0.42f, 0.29f, 0.17f, 0.06f, 2d1e14), SEG(0.59f, 0.3f, 0.59f, 0.72f, 0.007f, 57606f),
DISC(0.62f, 0.46f, 0.05f, 2f3542), DISC(0.62f, 0.46f, 0.028f, ff4757), DISC(0.615f, 0.455f, 0.009f, ffd0d5), DISC(0.4f, 0.46f, 0.026f, 2d3436),
DISC(0.41f, 0.45f, 0.009f, ffffff), DISC(0.7f, 0.35f, 0.012f, 57606f), DISC(0.72f, 0.6f, 0.012f, 57606f), SEG(0.42f, 0.62f, 0.56f, 0.62f, 0.008f, 8b4a3a),
SEG(0.62f, 0.66f, 0.7f, 0.66f, 0.006f, 57606f), SEG(0.34f, 0.88f, 0.66f, 0.88f, 0.008f, 00d2d3), AEND } },
};
static SDL_Texture *art_tex[AV_ART_COUNT];
+3636 -3605
View File
File diff suppressed because it is too large. Load diff
+2 -1
View File
@@ -454,7 +454,7 @@ static void foreground_tick(void) {
// --------------------------------------------------------- comandi di debug --
// File OMEGA_CMD, una riga per comando: "key x|o|tri|sq|opt|up|down|left|right|l1|r1",
// "text <testo>" (prossima tastiera), "shot [file]", "wait <ms>", "micprobe", "system", "files", "store", "quit".
// "text <testo>" (prossima tastiera), "shot [file]", "wait <ms>", "micprobe", "system", "files", "store", "avatar", "quit".
// Il file si cancella appena letto.
static char cmdq[64][160]; static int ncmd, cmd_i; static Uint32 cmd_next, cmd_check;
static int want_shot; static char shot_path[256];
@@ -488,6 +488,7 @@ static void cmd_poll(void) {
else if (!strcmp(c, "system")) system_open();
else if (!strcmp(c, "files")) files_open(NULL);
else if (!strcmp(c, "store")) store_open();
else if (!strcmp(c, "avatar")) ov_push(OV_AVATAR);
}
static void save_shot(void) {
+1 -1
View File
@@ -12,7 +12,7 @@
#endif
// versione dell'app: la usano gli aggiornamenti, va alzata a ogni rilascio.
#ifndef OMEGA_VERSION
#define OMEGA_VERSION "2026.10.05.6"
#define OMEGA_VERSION "2026.10.05.7"
#endif
// Dati dell'app. Il demone omega_redirect legge session.json e ui-active da
+38 -22
View File
@@ -763,32 +763,40 @@ void profile_input(int b) {
}
// ------------------------------------------------------------ scelta avatar --
// Righe 0-1: personaggi illustrati · righe 2-3: colori · riga 4: foto o video.
// Quattro righe da 8 personaggi illustrati (0-31), una riga da 16 colori
// (32-47), poi il tasto per una foto o un video personale (48).
#define AV_CHARS AV_ART_COUNT
#define AV_COLORS 16
#define AV_CUSTOM (AV_CHARS + AV_COLORS)
static int av_sel = -1;
static int av_index(int sel) { return sel < 16 ? AV_ART_FIRST + sel : sel - 16; }
static int av_index(int sel) { return sel < AV_CHARS ? AV_ART_FIRST + sel : sel - AV_CHARS; }
void avatar_draw(float t) {
backdrop(t, 140);
if (av_sel < 0) { av_sel = 32; for (int i = 0; i < 32; i++) if (av_index(i) == S.my_avatar) av_sel = i; }
if (av_sel < 0) { av_sel = AV_CUSTOM; for (int i = 0; i < AV_CUSTOM; i++) if (av_index(i) == S.my_avatar) av_sel = i; }
int w = 1320, h = 940, x = SCREEN_W / 2 - w / 2, y = SCREEN_H / 2 - h / 2 + (int)((1 - ease_out(t)) * 40);
int a = (int)(255 * t);
shadow_rrect(x, y, w, h, 30, 40, a * 70 / 100);
fill_rrect(x, y, w, h, 30, C_PANEL, a);
draw_text(font(W_LIGHT, 44), _("Scegli il tuo avatar"), x + 60, y + 36, C_WHITE, a, AL_L);
draw_text(font(W_MED, 24), _("Personaggi"), x + 64, y + 108, C_DIM, a, AL_L);
draw_text(font(W_MED, 24), _("Colori"), x + 64, y + 482, C_DIM, a, AL_L);
draw_text(font(W_MED, 24), _("Personaggi"), x + 64, y + 104, C_DIM, a, AL_L);
draw_text(font(W_MED, 24), _("Colori"), x + 64, y + 640, C_DIM, a, AL_L);
float pulse = 0.5f + 0.5f * sinf((float)g_time * 4);
int custom_frames = 0; int has_custom = media_of(S.me, &custom_frames) != NULL;
for (int i = 0; i < 32; i++) {
int row = i / 8, col = i % 8;
int cx = x + 130 + col * 152, cy = y + 210 + row * 150 + (row >= 2 ? 50 : 0);
int foc = av_sel == i, idx = av_index(i);
if (foc) ring(cx, cy, 70, 4, C_WHITE, (int)(a * (0.7f + 0.3f * pulse)));
int has_custom = media_of(S.me, NULL) != NULL;
for (int i = 0; i < AV_CUSTOM; i++) {
int chr = i < AV_CHARS, foc = av_sel == i, idx = av_index(i);
int cx = chr ? x + 135 + (i % 8) * 150 : x + 90 + (i - AV_CHARS) * 76;
int cy = chr ? y + 196 + (i / 8) * 122 : y + 718;
int sz = chr ? (foc ? 112 : 98) : (foc ? 64 : 54);
if (foc) ring(cx, cy, sz / 2 + 8, 4, C_WHITE, (int)(a * (0.7f + 0.3f * pulse)));
// oid vuoto: draw_avatar altrimenti mostrerebbe la foto personalizzata
if (idx >= AV_ART_FIRST) { char none[2] = ""; draw_avatar(none, idx, cx, cy, foc ? 124 : 108, a); }
else draw_avatar_color(S.me, idx, cx, cy, foc ? 124 : 108, a);
if (idx == S.my_avatar && !has_custom) { fill_circle(cx + 42, cy + 42, 17, C_OK, a); draw_icon(IC_CHECK, cx + 42, cy + 42, 22, C_WHITE, a); }
if (chr) { char none[2] = ""; draw_avatar(none, idx, cx, cy, sz, a); }
else draw_avatar_color(S.me, idx, cx, cy, sz, a);
if (idx == S.my_avatar && !has_custom) {
int o = chr ? 38 : 20, r = chr ? 16 : 11;
fill_circle(cx + o, cy + o, r, C_OK, a); draw_icon(IC_CHECK, cx + o, cy + o, r * 13 / 10, C_WHITE, a);
}
}
int by = y + h - 120, bw = 560, bx = x + w / 2 - bw / 2, foc = av_sel == 32;
int by = y + h - 120, bw = 560, bx = x + w / 2 - bw / 2, foc = av_sel == AV_CUSTOM;
if (foc) shadow_rrect(bx, by, bw, 80, 40, 16, a / 2);
fill_rrect(bx, by, bw, 80, 40, foc ? C_WHITE : RGB(48, 54, 72), a);
draw_icon(IC_PLAY, bx + 60, by + 40, 30, foc ? RGB(12, 14, 22) : C_TXT, a);
@@ -796,16 +804,24 @@ void avatar_draw(float t) {
}
void avatar_input(int b) {
if (b == B_O) { av_sel = -1; ov_pop(); return; }
if (av_sel == 32) {
if (b == B_UP) av_sel = 28;
if (av_sel == AV_CUSTOM) {
if (b == B_UP) av_sel = AV_CHARS + AV_COLORS / 2;
else if (b == B_X) { av_sel = -1; ov_pop(); gallery_open(0); }
return;
}
if (b == B_LEFT && av_sel % 8 > 0) av_sel--;
else if (b == B_RIGHT && av_sel % 8 < 7) av_sel++;
else if (b == B_UP && av_sel >= 8) av_sel -= 8;
else if (b == B_DOWN) av_sel = av_sel + 8 < 32 ? av_sel + 8 : 32;
else if (b == B_X) {
if (av_sel >= AV_CHARS) { // riga dei colori
int c = av_sel - AV_CHARS;
if (b == B_LEFT && c > 0) av_sel--;
else if (b == B_RIGHT && c < AV_COLORS - 1) av_sel++;
else if (b == B_UP) av_sel = AV_CHARS - 8 + c / 2;
else if (b == B_DOWN) av_sel = AV_CUSTOM;
} else { // personaggi, 8 per riga
if (b == B_LEFT && av_sel % 8 > 0) av_sel--;
else if (b == B_RIGHT && av_sel % 8 < 7) av_sel++;
else if (b == B_UP && av_sel >= 8) av_sel -= 8;
else if (b == B_DOWN) av_sel = av_sel + 8 < AV_CHARS ? av_sel + 8 : AV_CHARS + (av_sel % 8) * 2;
}
if (b == B_X) {
int idx = av_index(av_sel);
// scegliere un avatar Omega toglie la foto o il video personale
if (media_of(S.me, NULL)) { net_req(HTTP_POST, OMEGA_API "/media/clear?kind=avatar", "{}", NULL, NULL); media_note(S.me, "", 0); }
+1
View File
@@ -11,6 +11,7 @@
// Novità di questa versione: testi in italiano esatto dentro N_(), tradotti
// quando si disegnano (i18n/*.json).
static const char *const ITEMS[] = {
N_("Avatar: 16 personaggi nuovi, dal drago al cyborg. Li trovi in Impostazioni \xE2\x80\xBA Cambia avatar."),
N_("La Community ora \xC3\xA8 in home, prima dei giochi: bacheca, gruppi, persone e tempo di gioco a un tasto di distanza."),
N_("Nuovo: Record. Il tempo di gioco di tutti gli iscritti: giocatori, giochi pi\xC3\xB9 giocati e maratone, della settimana o di sempre."),
N_("Nuovo: Trofei. Omega legge i trofei ottenuti nei giochi di questa console e li mette nel tuo profilo e nella classifica pubblica."),
+1 -1
View File
@@ -304,7 +304,7 @@ async function profileUpdate({ req, auth }) {
await db.query('UPDATE lab_account SET about_me=$2 WHERE account_id=$1', [auth.accountId, about || null]);
}
if (body.avatar !== undefined) {
const av = Math.max(0, Math.min(31, Number.parseInt(body.avatar, 10) || 0));
const av = Math.max(0, Math.min(47, Number.parseInt(body.avatar, 10) || 0));
await db.query('UPDATE lab_account SET avatar=$2 WHERE account_id=$1', [auth.accountId, av]);
}
return { status: 200, body: { result: 'ok' } };