Skip to content

gbe v0.1.6

Choose a tag to compare

@ldechoux ldechoux released this 04 Oct 08:22
· 70 commits to main since this release
6e6b7bc

Cette version apporte des filtres d'affichage pour jouer sur grand écran, du Full HD à la 4K, et fait vibrer la manette avec les cartouches à moteur.

Nouveautés

Filtres d'affichage pour grands écrans

Jusqu'ici, l'image était agrandie d'un facteur entier, ce qui laissait une partie de l'écran vide : en Full HD, elle n'occupait que 1008 lignes sur 1080. La nouvelle entrée Filtre du menu propose six façons d'agrandir l'image de 160×144 pixels :

Filtre Rendu
Pixels entiers (par défaut) Le rendu habituel : pixels carrés, agrandis d'un facteur entier
Net Remplit l'écran avec des pixels nets. Seuls leurs bords sont adoucis, sur un pixel de l'écran, pour éviter des pixels de tailles inégales
LCD La grille de l'écran d'origine : points séparés d'un fin interstice, avec des bandes rouge, verte et bleue discrètes sur Game Boy Color. Il prend tout son sens en 4K, où chaque pixel de la console occupe 15 pixels de l'écran
Scale2x, Scale3x Arrondissent les diagonales en gardant l'aspect pixel art, sans ajouter de couleurs
MMPX Algorithme récent (McGuire et Gagiu, 2021) conçu pour le pixel art : il lisse les pentes en préservant le texte, les contours et le tramage
  • Sur la carte graphique : les filtres tournent en shaders, et le calcul de l'image par la console ne change pas. Les algorithmes agrandissent l'image d'un facteur fixe à chaque nouvelle image, puis le filtre Net l'étend à l'écran. Leur coût ne dépend donc pas de la résolution de l'écran : en 4K, sur un Mac M1 Max, une image est dessinée en moins de 5 ms, loin des 16,7 ms disponibles à 60 images par seconde.
  • Option -filter : choisit le filtre au lancement (nearest, sharp, lcd, scale2x, scale3x ou mmpx).
  • Plein écran mémorisé : F11 est retenu, et le jeu se relance en plein écran.
  • Captures d'écran : elles reprennent le filtre choisi, comme à l'écran, sans le menu ni les notifications.

Rémanence (expérimental)

L'écran LCD de la console était lent à réagir, et chaque image restait visible pendant la suivante. Certains jeux s'en servaient pour rendre des sprites transparents en les faisant clignoter. La nouvelle entrée Rémanence du menu imite cet effet en mélangeant chaque image à la précédente, avec tous les filtres. Le rendu est encore imparfait, avec un léger halo sur les éléments en mouvement, et sera amélioré.

Vibrations

  • Cartouches à moteur : Pokémon Pinball, Perfect Dark, Top Gear Rally… font maintenant vibrer la manette. L'intensité suit celle du moteur de la cartouche, que les jeux règlent en l'allumant plus ou moins longtemps.
  • Arrêt automatique : les vibrations s'arrêtent dans le menu, pendant le rembobinage et à la fermeture.
  • Menu : l'onglet Manette de la page Contrôles gagne une entrée Vibration (activée par défaut) et un Test de vibration d'une demi-seconde.
  • Manettes compatibles : sous Windows, seules les manettes XInput, comme celles de Xbox, peuvent vibrer, et les entrées sont grisées pour les autres. Sous macOS et Linux, le test permet de vérifier si la manette vibre.

Mise à jour

Remplace simplement le binaire. Tes réglages, les sauvegardes (.sav) et les save states (.state) des versions précédentes sont conservés.

Le format des save states ne change pas : ceux créés avec la v0.1.6 se chargent aussi dans la v0.1.5.

Changements complets : v0.1.5...v0.1.6