Skip to content

gbe v0.1.15

Choose a tag to compare

@ldechoux ldechoux released this 11 Oct 15:11
7e5b97b

Cette version émule la Game Boy Camera : la cartouche photo de la Game Boy se lance, et sa caméra voit ta webcam ou l'image de ton choix.

Nouveautés

La Game Boy Camera

Jusqu'ici, gbe refusait la cartouche Game Boy Camera (Pocket Camera au Japon) avec le message « Cartouche non supportee (type 0xFC) ». Elle se lance maintenant, avec tout ce qu'elle fait sur la console :

  • Son capteur : la ROM règle elle-même l'exposition, la luminosité et le contraste, et trame l'image en 4 teintes, comme sur la vraie cartouche.
  • Ses 30 photos sont gardées dans le fichier .sav, comme les sauvegardes des autres jeux.

Ce que voit la caméra

Pendant une partie de Game Boy Camera, le menu Pause a une entrée de plus, « Camera... ». Sa page choisit ce que voit la caméra :

  • « Source < webcam > » : une webcam du système, choisie dans l'entrée « Webcam », par exemple celle d'un écran ou un iPhone en Continuity Camera sur Mac. « par defaut » prend celle du système. La webcam ne s'allume que pendant la partie, et s'éteint dès que tu changes de source ou de jeu.
  • « Source < image > » : une photo ou un dessin en PNG, JPEG, GIF ou WebP, choisi avec « Choisir une image... » ou simplement déposé sur la fenêtre pendant la partie. « Oublier l'image » la retire.
  • Sans webcam ni image, la caméra voit du bruit, comme un vrai capteur dans le noir.
  • « Miroir » retourne l'image de gauche à droite, pour les selfies.

gbe garde le milieu de l'image, au format du capteur (128×112 pixels), en niveaux de gris. Le bas de la page indique l'état de la webcam (« en marche », « ouverture... » ou « indisponible ») ou le nom de l'image.

La première fois, le système peut demander l'autorisation d'utiliser la caméra :

  • macOS : accepte la demande de macOS. Si tu l'as refusée, autorise gbe dans Réglages Système > Confidentialité et sécurité > Caméra.
  • Linux : il faut faire partie du groupe video, ce qui est en général déjà le cas.
  • Windows : le réglage « Autoriser les applications de bureau à accéder à votre caméra » doit être activé.

Sans autorisation, une notification l'indique, par exemple « Acces a la camera refuse (reglages du systeme) ».

Sous Linux et Windows, la webcam est encore expérimentale : elle n'a pas encore été essayée avec une vraie caméra sur ces systèmes, et la page Camera le rappelle. Les images fonctionnent partout.

Corrections

  • Écran d'accueil dans la plus petite fenêtre : en ×1 sur un écran sans HiDPI (160×144 pixels), le nom du jeu récent sélectionné et l'aide débordaient de la fenêtre. Les noms sont maintenant coupés à la largeur de la fenêtre, ou défilent quand ils sont sélectionnés, et l'aide passe à la ligne entre les mots.
  • Ligne de commande : une erreur, comme un filtre inconnu ou une ROM absente, s'affiche maintenant sous la forme gbe: …, sans la date et l'heure devant.

Site du projet

https://ldechoux.github.io/gbe/ a une section Game Boy Camera. On y voit l'image donnée à la caméra, la mascotte de gbe (un poussin au casque), à côté du viseur de la Game Boy Camera qui la regarde. Le menu du haut passe de 8 à 4 entrées : les sections Palettes, Game Boy Color, Grand écran et Game Boy Camera sont accessibles depuis un sommaire sous « Fonctionnalités », et les Crédits depuis le bas de la page.

Fiabilité

  • Tests de rendu : les menus, l'écran d'accueil et les filtres d'affichage sont dessinés par le vrai moteur graphique de gbe et comparés à des images de référence, sur Mac comme en CI sous Linux. Ils ont trouvé le débordement de l'écran d'accueil corrigé ci-dessus.
  • Couverture des tests : de 78,6 % à 88,8 % du code, avec un minimum par partie du programme, vérifié à chaque modification.
  • Webcam : en CI, gbe lit une caméra virtuelle sous Linux et liste les caméras sous Windows.

Mise à jour

Sur macOS, installe l'application depuis l'image disque ; sous Windows et Linux, remplace gbe.exe ou l'AppImage. Tes réglages, tes jeux récents, 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.14 se chargent aussi dans la v0.1.15.

Changements complets : v0.1.14...v0.1.15