diff --git a/assets/closeups/cartelli-smarronata.png b/assets/closeups/cartelli-smarronata.png new file mode 100644 index 0000000..12cd643 Binary files /dev/null and b/assets/closeups/cartelli-smarronata.png differ diff --git a/assets/voices/andrea-2c7369689a.mp3 b/assets/voices/andrea-2c7369689a.mp3 new file mode 100644 index 0000000..d5b7a64 Binary files /dev/null and b/assets/voices/andrea-2c7369689a.mp3 differ diff --git a/assets/voices/andrea-4266372068.mp3 b/assets/voices/andrea-4266372068.mp3 deleted file mode 100644 index 98f7e02..0000000 Binary files a/assets/voices/andrea-4266372068.mp3 and /dev/null differ diff --git a/assets/voices/andrea-c8d1fc18a8.mp3 b/assets/voices/andrea-c8d1fc18a8.mp3 new file mode 100644 index 0000000..1340460 Binary files /dev/null and b/assets/voices/andrea-c8d1fc18a8.mp3 differ diff --git a/assets/voices/andrea-d83f353975.mp3 b/assets/voices/andrea-d83f353975.mp3 new file mode 100644 index 0000000..2e071b7 Binary files /dev/null and b/assets/voices/andrea-d83f353975.mp3 differ diff --git a/assets/voices/index.json b/assets/voices/index.json index f22617b..a1a62fe 100644 --- a/assets/voices/index.json +++ b/assets/voices/index.json @@ -971,10 +971,6 @@ "file": "andrea-111de2600b.mp3", "sec": 4.01 }, - "andrea|Lo lascio dov'è: dopo tutti questi anni, ormai fa parte del lampione.": { - "file": "andrea-4289b64bed.mp3", - "sec": 4.32 - }, "andrea|La macchina del tempo, ferma sulla strada del ponte. Sul cruscotto c'è già ottobre 1993.": { "file": "andrea-0bbc838103.mp3", "sec": 7.34 @@ -1003,6 +999,10 @@ "file": "andrea-5bf82d4aaa.mp3", "sec": 6.78 }, + "andrea|Lo lascio dov'è: dopo tutti questi anni, ormai fa parte del lampione.": { + "file": "andrea-4289b64bed.mp3", + "sec": 4.32 + }, "andrea|Il campo secondario della polisportiva. Qui si allenano i piccoli, e i grandi fanno finta di non guardare.": { "file": "andrea-86efb05e99.mp3", "sec": 7.18 @@ -2003,6 +2003,10 @@ "file": "andrea-2a97a4b77d.mp3", "sec": 4.23 }, + "andrea|Sono degli alpini. E gli alpini, i loro cartelli, se li riportano a casa.": { + "file": "andrea-d83f353975.mp3", + "sec": 5.3 + }, "andrea|In fondo il bancone, coi piatti in pila e il vino. Da lì escono i vassoi.": { "file": "andrea-6bf926ffc1.mp3", "sec": 5.62 @@ -3596,8 +3600,8 @@ "sec": 5.94 }, "andrea|La Smarronata del 1993! Gli alpini, sotto il ponte: le bruciate, la polenta, il vino, la fanfara...": { - "file": "andrea-4266372068.mp3", - "sec": 10.39 + "file": "andrea-2c7369689a.mp3", + "sec": 10.99 }, "andrea|La macchina del tempo è sempre lì che aspetta.": { "file": "andrea-81cad76b69.mp3", @@ -3623,6 +3627,10 @@ "file": "andrea-b4b5507b6e.mp3", "sec": 2.78 }, + "andrea|Polenta e vino gratis. Gli alpini sapevano come far venire la gente.": { + "file": "andrea-c8d1fc18a8.mp3", + "sec": 4.63 + }, "andrea|Mahhh... è l'INGORGOOOO!!!": { "file": "andrea-5694cd3779.mp3", "sec": 3.74 diff --git a/src/story/story.js b/src/story/story.js index 29cc624..c430e54 100644 --- a/src/story/story.js +++ b/src/story/story.js @@ -439,6 +439,13 @@ export const story = { ] }, ], }, + // I cartelli dipinti della Smarronata, polenta e vino gratis (Codex dai fotogrammi del video del 1993). [DA ANDREA] + cartelli_smarronata: { + type: 'poster', + picture: 'assets/closeups/cartelli-smarronata.png', + hint: 'Tocca per tornare', + tap: [{ say: 'Polenta e vino gratis. Gli alpini sapevano come far venire la gente.' }], + }, // L'incantesimo dell'Ingorgo Sonoro, dal manifesto in piazza: luci, cassa, lampo, ed è la notte della festa. ingorgo: { type: 'incanto', @@ -3770,6 +3777,18 @@ export const story = { use: [{ say: 'Mi siedo un attimo ad aspettare la polenta.' }, { say: '...Macché: sono le dieci e mezzo, la polenta arriva a mezzogiorno.' }], }, }, + { + // I cartelli dipinti della polenta e del vino gratis, appesi alla tela in fondo (Andrea, 31 ottobre: «erano + // carini»): si aprono ingranditi. Ultimi dell'elenco nella loro zona, così non li copre la tavolata. + id: 'cartelli_tendone', name: 'i cartelli della polenta e del vino', box: [174, 98, 60, 32], at: [190, 240], face: 'up', + art: [{ rect: [178, 108, 28, 17], fill: '#f4efe0' }, { rect: [179, 109, 26, 1], fill: '#2f6b32' }, { rect: [181, 112, 22, 4], fill: '#e0a92a' }, + { rect: [186, 118, 12, 4], fill: '#e8b83a' }, { rect: [212, 102, 17, 25], fill: '#f4efe0' }, { rect: [214, 105, 13, 4], fill: '#8a2a1e' }, + { rect: [217, 111, 7, 9], fill: '#c98a2e' }, { rect: [218, 113, 5, 5], fill: '#7a1e22' }, { rect: [214, 122, 13, 2], fill: '#8a2a1e' }], + actions: { + look: [{ closeup: 'cartelli_smarronata' }], + take: [{ say: 'Sono degli alpini. E gli alpini, i loro cartelli, se li riportano a casa.' }], + }, + }, { id: 'bancone_tendone', name: 'il bancone', box: [330, 132, 170, 34], at: [300, 270], face: 'up', actions: { look: [{ say: 'In fondo il bancone, coi piatti in pila e il vino. Da lì escono i vassoi.' }] }, diff --git a/tests/smarronata.browser.mjs b/tests/smarronata.browser.mjs index d6cf0ee..21bdd3e 100644 --- a/tests/smarronata.browser.mjs +++ b/tests/smarronata.browser.mjs @@ -48,6 +48,12 @@ try { assert.equal(await page.evaluate(() => game.state.scene), 'smarronata_tendone'); await page.waitForTimeout(1200); await page.screenshot({ path: `${out}/4-tendone.png` }); + // I cartelli della polenta e del vino gratis, ingranditi. + await page.evaluate(() => game.act('look', 'cartelli_tendone')); + await page.waitForFunction(() => game.closeup?.id === 'cartelli_smarronata' && game.closeup.t > 0.6, null, { timeout: 15000 }); + await page.screenshot({ path: `${out}/5-cartelli.png` }); + await page.evaluate(() => game.closeupTap()); + await run(); await page.evaluate(() => game.goBack()); await run(); assert.equal(await page.evaluate(() => game.state.scene), 'ponte_sieve'); diff --git a/tests/story.test.mjs b/tests/story.test.mjs index 4fab2a2..70c2bd9 100644 --- a/tests/story.test.mjs +++ b/tests/story.test.mjs @@ -714,6 +714,12 @@ test('la Smarronata del 1993: lo spiazzo sotto il ponte fa comparire la macchina assert.ok(!g.travel('piazza'), 'dal 1993 la mappa non porta via: si torna con la macchina'); g.act('walk', 'tendone'); settle(g); assert.equal(g.state.scene, 'smarronata_tendone'); + // I cartelli dipinti della polenta e del vino gratis, sulla tela in fondo: si aprono ingranditi. + const [cx, cy, cw, ch] = g.hotspot('cartelli_tendone').box; + assert.equal(g.hotspotAt([cx + cw / 2, cy + ch / 2])?.id, 'cartelli_tendone'); + g.act('look', 'cartelli_tendone'); settle(g); + assert.equal(g.closeup?.id, 'cartelli_smarronata'); + g.update(POSTER_READY); assert.ok(g.closeupTap()); settle(g); g.act('walk', 'fuori_tendone'); settle(g); assert.equal(g.state.scene, 'smarronata_1993'); assert.ok(g.goBack()); for (let i = 0; i < 4000 && (g.closeup || g.queue.length || g.speech); i++) { g.skip(); g.update(0.05); } diff --git a/tools/pronuncia.json b/tools/pronuncia.json index 6243e53..8e45eab 100644 --- a/tools/pronuncia.json +++ b/tools/pronuncia.json @@ -21,5 +21,6 @@ "Libici": "Lìbici", "mancano": "màncano", "console": "consòl", - "Mahhh... è l'INGORGOOOO!!!": "Maaaa, è l'Ingorgo! L'Ingorgooo!" + "Mahhh... è l'INGORGOOOO!!!": "Maaaa, è l'Ingorgo! L'Ingorgooo!", + "fanfara": "fanfàra" }