Loading…
purple_t
Translation changed |
|
purple_t
Translation added |
The end of the year is almost upon us, along with a new release of ScummVM. So here's a quick update for one of the more ambitious sub-projects that has been percolating along in the background: Macromedia Director support! For those who aren't aware, Macromedia Director was a popular framework used for thousands of games, educational titles, catalogues, art pieces, and other multimedia works.
## New Games For Testing First off, the upcoming 2.8.0 release will have some new supported games, and we need your help testing them! * _Alice: An Interactive Museum_ * _Ape Odyssey_ * _Classical Cats_ * _Gadget: Invention, Travel and Adventure_ * _The Cute Machine_ * _The Dark Eye_ * _Wrath of the Gods_ You will need the data files from the games' original install media, and a [daily build](https://www.scummvm.org/downloads/#daily) of ScummVM. For Macintosh editions, you will need to run the disc images through [Dumper Companion](https://www.scummvm.org/dumper-companion) in order to extract a complete copy of the files. In the case of The Dark Eye, you will also need the files created by the installer. As always, if you run into issues, please let us know on the [issue tracker](https://bugs.scummvm.org/). If your favorite isn't in the supported list, don't despair! ScummVM can open Director titles from 1995 and earlier, so grab the latest [daily build](https://www.scummvm.org/downloads/#daily) and give it a try. Titles released after 1995 tend to use Director versions that aren't supported yet. If you get stuck, reach out on the [issue tracker](https://bugs.scummvm.org/) and we can try and help. If you've encountered a Director title that isn't recognized by ScummVM, that's great! Please let us know on the [issue tracker](https://bugs.scummvm.org/) so the title can be added to the detection list. ## Engine versions As of the time of writing, ScummVM can detect **1595** different titles based on Director, with the following counts by Director version: | 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 will be the first release to include preliminary support for the D5 version of Director! A lot of work has gone into overhauling the codebase to support multiple cast libraries, however there is still plenty of work to be done adding Lingo functions and Xtras. Adding support for a new Director version is a tricky process. First we need to check for any changes to the movie file format, then add in any new engine and Lingo features, and finally start working through issues in a bunch of candidate games. Because of the difficulty of keeping track of facts vs. assumptions, we only enable features for an engine version once they have been confirmed with testing. This is why D6 and higher games will not open at all, even if the code we have would somewhat work. Support for the D2, D3 and D4 versions of Director has steadily improved. We are building up a suite of unit tests, both for Lingo and for the various drawing modes in the renderer. Most of the remaining bugs are related to undefined or incidental behavior: consider how two types in Lingo are compared, or the precise order that events are processed in, or how functions respond when you pass them nonsense data? All of these things are relied upon by thousands of Director products! And ScummVM must support all of them as closely as possible. ## XLibs Macromedia provided a C API with Director, which proved to be very popular for adding new engine features. There are hundreds of XObject and Xtra libraries in circulation, and each has to be reverse engineered and added as code to ScummVM. As of the time of writing, we have added support for **63** of these libraries. A common use case is video; Director includes the ability to play back QuickTime videos as a sprite, but computers of the day would struggle with the added overhead of Director's renderer if the video resolution was larger than a postage stamp. To work around this, several XLibs exist to play back video as an accelerated overlay. Quite a few D3 and D4 titles are missing video playback due to this type of XLib, and we plan on creating a common method of supporting these. The good news is that most uncommon XLibs did only one or two things, and are pretty easy to add initial support for. Part of the XLib format is a list of docstrings explaining each of the functions; there is a script in `/devtools` which can turn these docstrings into stubbed C++ code, saving a lot of hassle. --- That's about it! We have some very dedicated volunteers scouring every corner of the globe for obscure Director titles and testing them; if that sounds like your bag, you can visit them in the #engine-director channel of the [ScummVM Discord](https://discord.gg/4cDsMNtcpG). Until next time!
La fin de l'année approche, ainsi qu'une nouvelle version de ScummVM. Voici donc une mise à jour rapide de l'un des sous-projets les plus ambitieux qui s'est développé en coulisse : Le support de Macromedia Director ! Pour ceux qui ne le savent pas, Macromedia Director était un framework populaire utilisé pour des milliers de jeux, de titres éducatifs, de catalogues, d'œuvres d'art et d'autres travaux multimédias.
## Nouveaux jeux à tester Tout d'abord, la prochaine version 2.8.0 comportera de nouveaux jeux pris en charge, et nous avons besoin de votre aide pour les tester ! * _Alice: An Interactive Museum_ * _Ape Odyssey_ * _Classical Cats_ * _Gadget: Invention, Travel and Adventure_ * _The Cute Machine_ * _The Dark Eye_ * _Wrath of the Gods_ Vous aurez besoin des fichiers de données provenant des supports d'installation originaux des jeux et d'une [compilation quotidienne](https://www.scummvm.org/downloads/#daily) de ScummVM. Pour les éditions Macintosh, vous devrez exécuter les images des disques via [Dumper Companion](https://www.scummvm.org/dumper-companion) afin d'extraire une copie complète des fichiers. Dans le cas de The Dark Eye, vous aurez également besoin des fichiers créés par le programme d'installation. Comme toujours, si vous rencontrez des problèmes, n'hésitez pas à nous en faire part dans notre [gestionnaire de problèmes](https://bugs.scummvm.org/). Si votre jeu préféré n'est pas dans la liste des jeux pris en charge, ne désespérez pas ! ScummVM peut ouvrir les titres Director de 1995 et antérieurs, alors prenez la dernière [compilation quotidienne](https://www.scummvm.org/downloads/#daily) et faites un essai. Les titres sortis après 1995 ont tendance à utiliser des versions de Director qui ne sont pas encore prises en charge. Si vous êtes bloqué, vous pouvez nous contacter via le [gestionnaire de problèmes](https://bugs.scummvm.org/) et nous essaierons alors de vous aider. Si vous avez rencontré un titre Director qui n'est pas reconnu par ScummVM, c'est génial ! Merci de nous le faire savoir sur le [gestionnaire de problèmes](https://bugs.scummvm.org/) afin que le titre puisse être ajouté à la liste de détection. ## Versions du moteur Au moment où nous écrivons ces lignes, ScummVM peut détecter **1595** titres différents basés sur Director, avec les chiffres suivants par version de Director : | 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 sera la première version à inclure la prise en charge préliminaire de la version D5 de Director ! Beaucoup de travail a été fait pour réviser la base de code afin de supporter plusieurs bibliothèques de contenu, mais il y a encore beaucoup de travail à fournir pour ajouter les fonctions Lingo et les Xtras. L'ajout de la prise en charge d'une nouvelle version de Director est un processus délicat. Nous devons d'abord vérifier si le format de fichier vidéo a été modifié, puis ajouter les nouvelles fonctions du moteur et de Lingo, et enfin commencer à travailler sur les problèmes d'un certain nombre de jeux candidats. En raison de la difficulté de distinguer les faits des hypothèses, nous n'activons les fonctionnalités d'une version du moteur qu'une fois qu'elles ont été confirmées par des tests. C'est pourquoi les jeux D6 et supérieurs ne s'ouvriront pas du tout, même si le code dont nous disposons fonctionnerait plus ou moins bien. La prise en charge des versions D2, D3 et D4 de Director s'est constamment améliorée. Nous construisons une suite de tests unitaires, à la fois pour Lingo et pour les différents modes de dessin dans le moteur de rendu. La plupart des bogues restants sont liés à des comportements indéfinis ou occasionnels : pensez à la façon dont deux types sont comparés dans Lingo, ou à l'ordre précis dans lequel les événements sont traités, ou encore à la façon dont les fonctions réagissent lorsque vous leur passez des données absurdes. Toutes ces choses sont utilisées par des milliers de produits Director ! Et ScummVM doit les prendre en charge le plus fidèlement possible. ## XLibs Macromedia fournissait une API C avec Director, qui s'est avérée très populaire pour ajouter de nouvelles fonctionnalités au moteur. Il existe des centaines de bibliothèques XObject et Xtra en circulation, et chacune d'entre elles doit faire l'objet d'une rétro-ingénierie et être ajoutée en tant que code à ScummVM. Au moment où nous écrivons ces lignes, nous avons ajouté le support pour **63** de ces bibliothèques. Un cas d'utilisation courant est la vidéo ; Director inclut la possibilité de lire des vidéos QuickTime en tant que sprite, mais les ordinateurs de l'époque avaient du mal à supporter la surcharge du moteur de rendu de Director si la résolution de la vidéo était supérieure à celle d'un timbre-poste. Pour contourner ce problème, il existe plusieurs XLibs qui permettent de lire des vidéos sous forme de superposition accélérée. Plusieurs titres D3 et D4 n'ont pas de lecture vidéo à cause de ce type de XLib, et nous prévoyons de créer une méthode commune pour les prendre en charge. La bonne nouvelle, c'est que la plupart des XLibs peu communes ne font qu'une ou deux choses, et sont assez faciles à prendre en charge. Une partie du format XLib est une liste de docstrings expliquant chacune des fonctions ; il y a un script dans `/devtools` qui peut transformer ces docstrings en code C++, ce qui évite beaucoup de tracas. --- C'est à peu près tout ! Nous avons quelques volontaires très dévoués qui parcourent les quatre coins du monde pour trouver d'obscurs titres de Director et les tester ; si cela vous tente, vous pouvez leur rendre visite sur le canal #engine-director du [Discord ScummVM](https://discord.gg/4cDsMNtcpG). À la prochaine ! |
Things to check
Key
20231214.contentFlags
ignore-ellipsis, ignore-same
## New Games For Testing
First off, the upcoming 2.8.0 release will have some new supported games, and we need your help testing them!
* _Alice: An Interactive Museum_
* _Ape Odyssey_
* _Classical Cats_
* _Gadget: Invention, Travel and Adventure_
* _The Cute Machine_
* _The Dark Eye_
* _Wrath of the Gods_
You will need the data files from the games' original install media, and a [daily build](https://www.scummvm.org/downloads/#daily) of ScummVM. For Macintosh editions, you will need to run the disc images through [Dumper Companion](https://www.scummvm.org/dumper-companion) in order to extract a complete copy of the files. In the case of The Dark Eye, you will also need the files created by the installer. As always, if you run into issues, please let us know on the [issue tracker](https://bugs.scummvm.org/).
If your favorite isn't in the supported list, don't despair! ScummVM can open Director titles from 1995 and earlier, so grab the latest [daily build](https://www.scummvm.org/downloads/#daily) and give it a try. Titles released after 1995 tend to use Director versions that aren't supported yet. If you get stuck, reach out on the [issue tracker](https://bugs.scummvm.org/) and we can try and help.
If you've encountered a Director title that isn't recognized by ScummVM, that's great! Please let us know on the [issue tracker](https://bugs.scummvm.org/) so the title can be added to the detection list.
## Engine versions
As of the time of writing, ScummVM can detect **1595** different titles based on Director, with the following counts by Director version:
| 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 will be the first release to include preliminary support for the D5 version of Director! A lot of work has gone into overhauling the codebase to support multiple cast libraries, however there is still plenty of work to be done adding Lingo functions and Xtras.
Adding support for a new Director version is a tricky process. First we need to check for any changes to the movie file format, then add in any new engine and Lingo features, and finally start working through issues in a bunch of candidate games. Because of the difficulty of keeping track of facts vs. assumptions, we only enable features for an engine version once they have been confirmed with testing. This is why D6 and higher games will not open at all, even if the code we have would somewhat work.
Support for the D2, D3 and D4 versions of Director has steadily improved. We are building up a suite of unit tests, both for Lingo and for the various drawing modes in the renderer. Most of the remaining bugs are related to undefined or incidental behavior: consider how two types in Lingo are compared, or the precise order that events are processed in, or how functions respond when you pass them nonsense data? All of these things are relied upon by thousands of Director products! And ScummVM must support all of them as closely as possible.
## XLibs
Macromedia provided a C API with Director, which proved to be very popular for adding new engine features. There are hundreds of XObject and Xtra libraries in circulation, and each has to be reverse engineered and added as code to ScummVM. As of the time of writing, we have added support for **63** of these libraries.
A common use case is video; Director includes the ability to play back QuickTime videos as a sprite, but computers of the day would struggle with the added overhead of Director's renderer if the video resolution was larger than a postage stamp. To work around this, several XLibs exist to play back video as an accelerated overlay. Quite a few D3 and D4 titles are missing video playback due to this type of XLib, and we plan on creating a common method of supporting these.
The good news is that most uncommon XLibs did only one or two things, and are pretty easy to add initial support for. Part of the XLib format is a list of docstrings explaining each of the functions; there is a script in `/devtools` which can turn these docstrings into stubbed C++ code, saving a lot of hassle.
---
That's about it! We have some very dedicated volunteers scouring every corner of the globe for obscure Director titles and testing them; if that sounds like your bag, you can visit them in the #engine-director channel of the [ScummVM Discord](https://discord.gg/4cDsMNtcpG). Until next time!
## Nouveaux jeux à tester
Tout d'abord, la prochaine version 2.8.0 comportera de nouveaux jeux pris en charge, et nous avons besoin de votre aide pour les tester !
* _Alice: An Interactive Museum_
* _Ape Odyssey_
* _Classical Cats_
* _Gadget: Invention, Travel and Adventure_
* _The Cute Machine_
* _The Dark Eye_
* _Wrath of the Gods_
Vous aurez besoin des fichiers de données provenant des supports d'installation originaux des jeux et d'une [compilation quotidienne](https://www.scummvm.org/downloads/#daily) de ScummVM. Pour les éditions Macintosh, vous devrez exécuter les images des disques via [Dumper Companion](https://www.scummvm.org/dumper-companion) afin d'extraire une copie complète des fichiers. Dans le cas de The Dark Eye, vous aurez également besoin des fichiers créés par le programme d'installation. Comme toujours, si vous rencontrez des problèmes, n'hésitez pas à nous en faire part dans notre [gestionnaire de problèmes](https://bugs.scummvm.org/).
Si votre jeu préféré n'est pas dans la liste des jeux pris en charge, ne désespérez pas ! ScummVM peut ouvrir les titres Director de 1995 et antérieurs, alors prenez la dernière [compilation quotidienne](https://www.scummvm.org/downloads/#daily) et faites un essai. Les titres sortis après 1995 ont tendance à utiliser des versions de Director qui ne sont pas encore prises en charge. Si vous êtes bloqué, vous pouvez nous contacter via le [gestionnaire de problèmes](https://bugs.scummvm.org/) et nous essaierons alors de vous aider.
Si vous avez rencontré un titre Director qui n'est pas reconnu par ScummVM, c'est génial ! Merci de nous le faire savoir sur le [gestionnaire de problèmes](https://bugs.scummvm.org/) afin que le titre puisse être ajouté à la liste de détection.
## Versions du moteur
Au moment où nous écrivons ces lignes, ScummVM peut détecter **1595** titres différents basés sur Director, avec les chiffres suivants par version de Director :
| 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 sera la première version à inclure la prise en charge préliminaire de la version D5 de Director ! Beaucoup de travail a été fait pour réviser la base de code afin de supporter plusieurs bibliothèques de contenu, mais il y a encore beaucoup de travail à fournir pour ajouter les fonctions Lingo et les Xtras.
L'ajout de la prise en charge d'une nouvelle version de Director est un processus délicat. Nous devons d'abord vérifier si le format de fichier vidéo a été modifié, puis ajouter les nouvelles fonctions du moteur et de Lingo, et enfin commencer à travailler sur les problèmes d'un certain nombre de jeux candidats. En raison de la difficulté de distinguer les faits des hypothèses, nous n'activons les fonctionnalités d'une version du moteur qu'une fois qu'elles ont été confirmées par des tests. C'est pourquoi les jeux D6 et supérieurs ne s'ouvriront pas du tout, même si le code dont nous disposons fonctionnerait plus ou moins bien.
La prise en charge des versions D2, D3 et D4 de Director s'est constamment améliorée. Nous construisons une suite de tests unitaires, à la fois pour Lingo et pour les différents modes de dessin dans le moteur de rendu. La plupart des bogues restants sont liés à des comportements indéfinis ou occasionnels : pensez à la façon dont deux types sont comparés dans Lingo, ou à l'ordre précis dans lequel les événements sont traités, ou encore à la façon dont les fonctions réagissent lorsque vous leur passez des données absurdes. Toutes ces choses sont utilisées par des milliers de produits Director ! Et ScummVM doit les prendre en charge le plus fidèlement possible.
## XLibs
Macromedia fournissait une API C avec Director, qui s'est avérée très populaire pour ajouter de nouvelles fonctionnalités au moteur. Il existe des centaines de bibliothèques XObject et Xtra en circulation, et chacune d'entre elles doit faire l'objet d'une rétro-ingénierie et être ajoutée en tant que code à ScummVM. Au moment où nous écrivons ces lignes, nous avons ajouté le support pour **63** de ces bibliothèques.
Un cas d'utilisation courant est la vidéo ; Director inclut la possibilité de lire des vidéos QuickTime en tant que sprite, mais les ordinateurs de l'époque avaient du mal à supporter la surcharge du moteur de rendu de Director si la résolution de la vidéo était supérieure à celle d'un timbre-poste. Pour contourner ce problème, il existe plusieurs XLibs qui permettent de lire des vidéos sous forme de superposition accélérée. Plusieurs titres D3 et D4 n'ont pas de lecture vidéo à cause de ce type de XLib, et nous prévoyons de créer une méthode commune pour les prendre en charge.
La bonne nouvelle, c'est que la plupart des XLibs peu communes ne font qu'une ou deux choses, et sont assez faciles à prendre en charge. Une partie du format XLib est une liste de docstrings expliquant chacune des fonctions ; il y a un script dans `/devtools` qui peut transformer ces docstrings en code C++, ce qui évite beaucoup de tracas.
---
C'est à peu près tout ! Nous avons quelques volontaires très dévoués qui parcourent les quatre coins du monde pour trouver d'obscurs titres
deDirector et les tester ; si cela vous tente, vous pouvez leur rendre visite sur le canal #engine-director du [Discord ScummVM](https://discord.gg/4cDsMNtcpG). À la prochaine !