Viimeisimmät kehitysaskeleet
14.12.2023: Loppuvuoden Director-yhteenveto
Tämän lähetti moralrecordings

Vuosi on lähes lopuillaan yhdessä uuden ScummVM-julkaisun kera. Tässä siis nopea päivitys yhdelle niistä kunnianhimoisemman osaston osahankkeista joita taustalla työstetään: Macromedia Director -tuki! Jotka eivät muista- tai tiedä mistä on kysymys; Macromedia Director oli suosittu ohjelmakehys jota käytettiin tuhansiin peleihin, opetusohjelmiin, luettelointiin, taideteoksiin ynnä muihin multimediateoksiin.

Uusia pelejä testattavaksi

Ensinnäkin tulevassa 2.8.0-julkaisussa on läjä uusia tuettuja pelejä ja tarvitsemme apuasi niiden testaamisessa!

  • Alice: An Interactive Museum
  • Ape Odyssey
  • Classical Cats
  • Gadget: Invention, Travel and Adventure
  • The Cute Machine
  • The Dark Eye
  • Wrath of the Gods

Tarvitset datatiedostot pelien alkuperäisestä asennusmediasta ja ScummVM:n päivittäiskokooman. Macintosh-versioissa levykuvat tulee ajaa Dumper Companion:in kautta jotta täydelliset kopiot pelien tiedostoista saadaan. The Dark Eye -pelin tapauksessa tarvitset myös asennusohjelman luomat tiedostot. Kuten aina, kohdatessasi ongelmia, ilmoitathan niistä meille [ongelmanseurantaan] (https://bugs.scummvm.org/fi/).

Jos suosikkisi ei ole vielä tuettujen pelien luettelossa, älä masennu! ScummVM voi silti avata Director-nimikkeitä vuodesta 1995 ja aikaisemmistakin, joten nappaa vain uusin päivittäiskokooma ja kokeile. Vuoden 1995 jälkeen julkaistuissa nimikkeissä käytetään yleensä Director-versioita joita ei vielä tueta. Jumittuessasi johonkin, ota yhteyttä siinäkin ongelmanseurantaamme ja yritämme auttaa.

Havaitessasi Director-nimikkeen jota ScummVM ei tunnista; se on itseasiassa hienoa! Kerro siitä meille alati tuonne [ongelmanseurantaan] (https://bugs.scummvm.org/) jotta kyseinen nimike voidaan lisätä tunnistusluetteloon.

Moottoriversiot

Kirjoitushetkellä ScummVM tunnistaa 1595 eri Director-perusteista nimikettä, ja sen versioissa mukaan luetaan seuraavat:

D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11
12 1 14 288 602 262 194 97 138 31 36 4

ScummVM 2.8.0 on ensimmäinen julkaisu joka sisältää alustavan tuen Directorin D5-versiolle! Paljon on työtä tehty koodikannan uudistamisen eteen monikirjastotuen saavuttamiseksi, mutta varsinkin Lingo- ja Xtra-toimintojen lisäämisessä on jäljellä vielä paljon työtä.

Tuen lisääminen uudelle Director-versiolle on suhteellisen hankalaa. Ensin meidän täytyy tarkistaa josko elokuvaosuuksien tiedostomuodoissa ilmenee muutoksia, sitten voimme katsoa pitääkö lisätä uusia moottoreita- tai Lingo-ominaisuuksia. Lopulta voimme aloittaa ehdokaspelien varsinaisen työstön. Koska kirjanpito tosiasioiden vs. olettamusten välillä on haastavaa, otamme moottoriversion ominaisuudet käyttöön vasta kun ne on testaamisen kautta vahvistettu. Tästä syystä D6-ja sitä uudemmat pelit eivät vielä avaudu ohjelmassa lainkaan, vaikka käytössämme oleva koodi toimisi jo jonkin verran.

Directorin D2 -, D3-ja D4-versioiden tuki on parantunut tasaisesti. Toteutamme yksikkötestejä sekä Lingolle että hahmontajan eri piirtotiloille. Useimmat jäljellä olevat virheet liittyyvät ohjelman määrittelemättömään tai satunnaiseen käytökseen: voinet kelata, miten kummassa kahta Lingo-tyyppiä verrataan, tarkasti määriteltyä tapahtumien järjestystä käsitellään, tai miten toiminnot vastailevat, kun niille välitetäänkin hölynpöly-dataa? Kaikkiin näihin moniaisiin asianhaaroihin nojaavat tuhannet Director-tuotteet! ScummVM:n on kuitenkin tuettava niitä kaikkia omassa monimutkaisuudessaan mahdollisimman tarkasti.

XLibs

Macromediahan tarjosi Directorille C-rajapinnan, joka osoittautui erittäin suosituksi uusien moottoriominaisuuksien lisäämisessä. Liikkeellä on satoja xobject-ja Xtra-kirjastoja joista jokainen on muunnostettava ja lisättävä koodina ScummVM:ään. Kirjoitushetkellä olemme lisänneet tuen 63:een näistä kirjastoista.

Yleinen käyttökohta on video; Director voi toistaa vanhaa QuickTime-videota sprite-muodossa, mutta nykytietokoneilla olisi ongelmia hahmontajan lisätaakan takia, jos videon tarkkuus olisi suurempi kuin postimerkin koko. Tämän ongelman kiertämiseksi on olemassa useita Xlib-tiedostoja videon toistamiseksi päällisenä joka on kiihdytetty. Suht. monista D3 - ja D4-nimikkeistä puuttuu videotoisto tämän tyyppisen XLib:n vuoksi, mutta aiomme luoda yhtenäistävän menetelmän näiden tukemiseksi.

Hyvä uutinen lienee se, että useimmat harvinaiset XLib-tiedostot toimittivat lähinnä yhtä- tai kahta asiaa, joten alustavan tuen lisääminen niille on jokseenkin helppoa. Osa tuota XLib-muotoa on luettelo ns. selkoatekevistä tietolangoista, jotka selittävät jokaista toimintoa; /devtoolsissa on syöte, joka voi muuttaa nämä tietolangat typistetyksi C++ - koodiksi, mikä säästääkin paljon vaivaa.


Siinäpä kaikki tältä erää! Riveissämme on monia omistautuneita vapaaehtoisia jotka luotaavat maailman joka kolkasta oudompia Director-nimikkeitä, ja vielä testaavat niitä päälle. Mikäli tämä kuulostaa sinunkin jutultasi, piipahda toki heidän pakeillaan [ScummVM:n Discordissa] #engine-director -kanavalla(https://discord.gg/4cDsMNtcpG). Ensi kertaan!