diff --git a/assets/characters/zio_mario.json b/assets/characters/zio_mario.json new file mode 100644 index 0000000..26a4fc7 --- /dev/null +++ b/assets/characters/zio_mario.json @@ -0,0 +1,70 @@ +{ + "image": "zio_mario.png", + "height": 120, + "frames": { + "explain": { + "x": 0, + "y": 0, + "w": 67, + "h": 120, + "ax": 33.8, + "ay": 120 + }, + "talk": { + "x": 69, + "y": 0, + "w": 79, + "h": 120, + "ax": 44.8, + "ay": 120 + }, + "blink": { + "x": 150, + "y": 0, + "w": 57, + "h": 120, + "ax": 28.1, + "ay": 120 + }, + "stand": { + "x": 209, + "y": 0, + "w": 57, + "h": 120, + "ax": 27.8, + "ay": 120 + }, + "shrug": { + "x": 268, + "y": 0, + "w": 94, + "h": 120, + "ax": 48.1, + "ay": 120 + }, + "point": { + "x": 364, + "y": 0, + "w": 87, + "h": 120, + "ax": 51.0, + "ay": 120 + }, + "think": { + "x": 453, + "y": 0, + "w": 58, + "h": 121, + "ax": 29.2, + "ay": 121 + }, + "laugh": { + "x": 513, + "y": 0, + "w": 59, + "h": 121, + "ax": 30.1, + "ay": 121 + } + } +} diff --git a/assets/characters/zio_mario.png b/assets/characters/zio_mario.png new file mode 100644 index 0000000..7af8d51 Binary files /dev/null and b/assets/characters/zio_mario.png differ diff --git a/assets/voices/andrea-759a969d58.mp3 b/assets/voices/andrea-759a969d58.mp3 new file mode 100644 index 0000000..89367f7 Binary files /dev/null and b/assets/voices/andrea-759a969d58.mp3 differ diff --git a/assets/voices/andrea-84ff10b5f4.mp3 b/assets/voices/andrea-84ff10b5f4.mp3 new file mode 100644 index 0000000..dee3dc9 Binary files /dev/null and b/assets/voices/andrea-84ff10b5f4.mp3 differ diff --git a/assets/voices/index.json b/assets/voices/index.json index 6e8085f..9c13fb6 100644 --- a/assets/voices/index.json +++ b/assets/voices/index.json @@ -1639,6 +1639,14 @@ "file": "andrea-3d15dd47bb.mp3", "sec": 4.82 }, + "andrea|Lo zio Mario. Guarda il muro, guarda la macchina, e si gratta la testa sotto il berretto.": { + "file": "andrea-759a969d58.mp3", + "sec": 6.69 + }, + "andrea|Lo lascio pensare: quando ha trovato il modo di tirarla fuori, me lo dice lui.": { + "file": "andrea-84ff10b5f4.mp3", + "sec": 4.86 + }, "andrea|Il parcheggio sotto casa. Col gesso ci si disegnava la pista delle macchinine, e si giocava finché non chiamavano per cena.": { "file": "andrea-8670e6ce99.mp3", "sec": 7.6 diff --git a/docs/IMMAGINI.md b/docs/IMMAGINI.md index 4cf4bbb..5bf6ba1 100644 --- a/docs/IMMAGINI.md +++ b/docs/IMMAGINI.md @@ -32,6 +32,7 @@ ne è un'opera derivata. Le foto scattate da Andrea non hanno problemi; quelle p | `closeups/micro-parcheggio.png`, `closeups/micro/*.png` (macchinine) | Codex, solo testo | nessuna | — | sì | | `characters/chiaru.png` | Codex | `foto/chiaru.jpg` | Andrea (29 ottobre) | sì (il Chiaru consenziente) | | `via-liguri-magelli-muro.png` | Codex, ritocco di `via-liguri-magelli.png` con la Ghiacciomobile nel muro | come `via-liguri-magelli.png` | Street View | **no**: come lo sfondo da cui viene | +| `characters/zio_mario.png` | Codex | `foto/zio-mario.png` | Andrea (29 ottobre) | sì (famiglia di Andrea) | | `cardetole.png` | Codex | `cardetole.jpg` | Andrea (EXIF) | **da decidere**: è la casa vera di Andrea, pubblicarla dice dove abita | | `pieve-interno.png` | Codex | `pieve-interno.png` | Mariano Mirannalti (mandata ad Andrea su WhatsApp) | sì, se Mariano è d'accordo; citarlo nei crediti | | `panorama-intro.png` | Codex | `altre/panorama-intro.png` | da internet (screenshot con l'icona di Google Lens) | **no**, finché non si sostituisce | diff --git a/docs/STATO.md b/docs/STATO.md index 6d33782..496a8a8 100644 --- a/docs/STATO.md +++ b/docs/STATO.md @@ -21,8 +21,9 @@ Online su 50037.manzolo.it tutto fino agli effetti ambientali di Codex. Aperto, - **La Ghiacciomobile nel muro (29 ottobre)**: non è più al circolino di Campomigliaio. In Via Liguri Magelli, prima del tramonto (`!indizio_regolo`), è schiantata dentro il muro giallo coi mattoni rotti e senza targa (`via-liguri-magelli-muro.png`, ritocco di Codex); dal tramonto il muro è rifatto e c'è la targa. Il motore ha le - varianti di sfondo per scena (`backdrops`, con `when`; `game.backdrop()`). [DA ANDREA] lo zio Mario che guarda - come tirarla fuori, e la battuta dello schianto. + varianti di sfondo per scena (`backdrops`, con `when`; `game.backdrop()`). Lo zio Mario (sprite di Codex dalla + foto di Andrea) davanti alla macchina che si gratta la testa; scala della scena rifatta (le persone erano troppo + piccole). [DA ANDREA] le battute dello zio (scherzava su tutto, anche sulla morte) e quella dello schianto. - **GP di Fortezza, guida semplice (29 ottobre)**: alla bona e Seria si tiene premuto per il gas e lasciando si frena; lo sterzo segue la strada da solo (scansa le buche, sorpassa, prende la miscela), ma oltre la velocità che la curva regge il motorino scivola fuori verso la paglia (`SIMPLE` in `gara.js`). Ginocchio in terra resta con lo diff --git a/src/story/story.js b/src/story/story.js index 4141dc5..713e56d 100644 --- a/src/story/story.js +++ b/src/story/story.js @@ -312,6 +312,8 @@ export const story = { tozzino: { name: 'Il Tozzino', color: '#c8f5b0', sprite: 'assets/characters/tozzino.json' }, // Il Chiaru (Matteo Chiarusi, consenso dato ad Andrea il 29 ottobre), alla pista col gesso di Cardetole: sprite di // Codex dalla foto di Andrea. + // Lo zio Mario di Andrea (sprite di Codex dalla foto di Andrea, 29 ottobre), alla Ghiacciomobile nel muro. + zio_mario: { name: 'Lo zio Mario', color: '#cfe3ff', sprite: 'assets/characters/zio_mario.json' }, chiaru: { name: 'Il Chiaru', color: '#ffd6a0', sprite: 'assets/characters/chiaru.json' }, barondeduke: { name: 'Il BaronDeDuke', color: '#e0c090', sprite: 'assets/characters/barondeduke.json' }, mariano: { name: 'Mariano', color: '#ffb0a3', sprite: 'assets/characters/mariano.json' }, @@ -2703,12 +2705,16 @@ export const story = { backdrops: [{ when: '!indizio_regolo', src: 'assets/scenes/via-liguri-magelli-muro.png' }], // La strada gira intorno all'Audi nera parcheggiata davanti al Trappola. walk: [[0, 360], [0, 320], [140, 262], [226, 198], [272, 198], [300, 242], [370, 246], [400, 252], [580, 318], [640, 330], [640, 360]], - depth: [[198, 0.3], [360, 1.1]], + // Le persone in proporzione con la Ghiacciomobile e l'Audi (Andrea, 29 ottobre: erano troppo piccole). + depth: [[198, 0.4], [360, 2.4]], entry: [320, 340], - speakers: { arcu: [374, 176] }, + speakers: { arcu: [374, 176], zio_mario: [440, 196] }, people: [ // L'Arcu sotto la tenda del Trappola: due minuti fa era a Campomigliaio (Andrea, 28 ottobre). - { who: 'arcu', at: [374, 248], facing: -1, size: 1.3, idle: 'stand', talk: ['talk', 'explain'], blink: 'blink', every: 4.2 }, + { who: 'arcu', at: [374, 248], facing: -1, size: 0.75, idle: 'stand', talk: ['talk', 'explain'], blink: 'blink', every: 4.2 }, + // Lo zio Mario davanti alla Ghiacciomobile nel muro, che si gratta la testa (sprite di Codex dalla sua foto, + // 29 ottobre). Solo finché la macchina è lì. [DA ANDREA: le sue battute] + { who: 'zio_mario', when: '!indizio_regolo', at: [440, 330], facing: 1, idle: 'think', talk: ['talk', 'explain', 'point'] }, ], hotspots: [ { @@ -2765,7 +2771,15 @@ export const story = { }, { // Il campo del Giannini è laggiù a destra, oltre la siepe (Andrea, 28 ottobre). - id: 'al_giannini', name: 'verso il campo del Giannini', box: [404, 150, 58, 100], at: [520, 306], exit: { scene: 'campo_giannini', at: [60, 250], face: 'right' }, + id: 'al_giannini', name: 'verso il campo del Giannini', box: [404, 150, 58, 50], at: [520, 306], exit: { scene: 'campo_giannini', at: [60, 250], face: 'right' }, + }, + // In fondo all'elenco, così sta sopra all'uscita e alla siepe. + { + id: 'zio_mario', name: 'lo zio Mario', box: [418, 206, 46, 124], at: [362, 334], face: 'right', default: 'look', when: '!indizio_regolo', + actions: { + look: [{ say: 'Lo zio Mario. Guarda il muro, guarda la macchina, e si gratta la testa sotto il berretto.' }], + talk: [{ say: 'Lo lascio pensare: quando ha trovato il modo di tirarla fuori, me lo dice lui.' }], + }, }, ], }, diff --git a/tools/voci.json b/tools/voci.json index e3c5c90..e26a2ce 100644 --- a/tools/voci.json +++ b/tools/voci.json @@ -35,6 +35,10 @@ "speaker": "Xavier Hayasaka", "filtro": "asetrate=24000*1.12,aresample=24000,atempo=0.92" }, + "zio_mario": { + "speaker": "Viktor Menelaos", + "filtro": "asetrate=24000*0.95,aresample=24000,atempo=1.04" + }, "chiaru": { "speaker": "Luis Moray" },