Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Émulation de CLI rétro. (basique)  (Lu 4764 fois)

0 Membres et 1 Invité sur ce sujet

Hypnéos

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
Émulation de CLI rétro. (basique)
« le: Août 21, 2013, 10:46:32 pm »
Je suis en train de développer une CLI rétro.

J'ai fait ce topic pour deux raisons:
  • D'abord, vérifier si le projet n'a pas de problèmes majeurs.
    Je vous invite à le tester sur votre ordinateur ( linux seulement, malheureusement ).
  • Ensuite, pour discuter de point de design qui m'ont l'air important:

Note : Le but de ce prototype est de reproduire une console, si possible en lui donnant l'air "rétro" ( env. 1980 ).

En codant ce projet, je me suis heurté à un problème, l'alignement.
Les ordinateur de l'époque n'utilisaient pas de polices à proprement parler; mais des bitmaps codant l'apparence graphique de chaque caractère, qui étaient copiées sur la sortie pixel-par-pixel, similaire à un tileset.
Le prototype ci-joint utilise des sf::Text, dont le comportement est dicté par la police, ce qui offre l'avantage de ne pas avoir  à ce soucier de l'alignement, ainsi que de gérer l'Utf automatiquement.
Par contre, cette solution requiert une police monospace ce qui assez difficile à trouver si on veut l'apparence correcte.La coloration du texte est aussi un possible problème.
L'utilisation d'un "tileset" permet un plus grand contrôle sur l'apparence du texte, mais a un fonctionnement plus complexe, demande une conversion entre les entrées (Utf-32) et la sortie (index de texture) et une moins grande flexibilité.

J'aimerai avoir vos avis sur cette question, vos expériences, ou des corrections si je me suis trompé.
Merci d'avoir lu jusqu'ici.  :)


EDIT : devrais-je poster ceci sur le forum anglophone aussi ?

Police : "F25 Bank Printer" par Volker Busse - F25 Digital Typeface Design sur Dafont
« Modifié: Août 25, 2013, 09:42:07 am par Hypnéos »

cobra.one

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : Émulation de CLI rétro. (basique)
« Réponse #1 le: Août 23, 2013, 08:02:51 pm »
Et il dépend de quoi ton projet ?
Parce qu'en lançant ton exécutable j'obtiens symbol lookup error: ./Console: undefined symbol: _ZN2sf6Window6createENS_9VideoModeERKSsjRKNS_15ContextSettingsE...

Hypnéos

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
Re : Émulation de CLI rétro. (basique)
« Réponse #2 le: Août 23, 2013, 08:27:16 pm »

SFML 2.0 et C++11

Tu as plus d'informations sur l'erreur ?
Peut-tu m'envoyer le message d'erreur complet ?

cobra.one

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : Émulation de CLI rétro. (basique)
« Réponse #3 le: Août 24, 2013, 04:30:48 pm »
C'est le message complet que j'ai sur ma console.
Si je l'exécute à travers gdb, voici ce que j'obtiens :

Starting program: /home/alex/Console/Console
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
/home/alex/Console/Console: symbol lookup error: /home/alex/Console/Console: undefined symbol: _ZN2sf6Window6createENS_9VideoModeERKSsjRKNS_15ContextSettingsE
[Inferior 1 (process 514) exited with code 0177]

Hypnéos

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
Re : Émulation de CLI rétro. (basique)
« Réponse #4 le: Août 24, 2013, 05:18:17 pm »
Je n'ai aucune idée de ce qui ce passe  :-\

Quel est ton OS ?
Est-tu as jour ?
Où est situé SFML sur ton disque?

Essaie :
./Console 2> out

Edit : la commande capture la sortie d'erreur et l'enregistre dans le fichier "out"
« Modifié: Août 24, 2013, 05:21:30 pm par Hypnéos »

cobra.one

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : Émulation de CLI rétro. (basique)
« Réponse #5 le: Août 24, 2013, 09:12:57 pm »
La sortie d'erreur m'indique la même chose que le message que je t'ai envoyé.
Et sinon, m'envoyer les sources, que je les compile pour voir si ça fonctionne ne serait-il pas plus simple ?

Mon système :
ArchLinux x86_64
SFML 2.1 des dépots officiels

Hypnéos

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
Re : Émulation de CLI rétro. (basique)
« Réponse #6 le: Août 24, 2013, 09:33:12 pm »
Oui, mais le problème sera toujours présent >_<

La première partie du message de gdb n'a rien à voir avec moi, je crois.

L'autre ressemble à un problème de lib IMHO.
Je vais recompiler avec SFML 2.1 .


EDIT :

C'est un problème de symbole non reconnu entre les deux version de SFML.
J'ai changé le fichier dans l'intro.
« Modifié: Août 25, 2013, 09:43:44 am par Hypnéos »

cobra.one

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : Émulation de CLI rétro. (basique)
« Réponse #7 le: Août 25, 2013, 04:33:11 pm »
Un petit retour rapide :
- il est possible d'effacer l'invite ">" avec la touche Backspace
- dans le cas où l'invite a été effacé, tout saisie et validation d'un nombre crash le programme
- crash du programme si validation de tout autre chaîne de caractères qu'un nombre (y compris une chaîne vide)

Hypnéos

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
Re : Émulation de CLI rétro. (basique)
« Réponse #8 le: Août 25, 2013, 05:55:06 pm »
Premièrement, ça a l'air de marcher. cool  :)

Ensuite, le "jeu" est juste présent pour aire un peu d'interaction.
le ">" est automatiquement ajouté au début de chaque entrée.
aucune vérification n'est faite avant de passer l'entrée à std::stoi

Le point principal du projet est la console.

Merci du retour :-)