Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Personnalisation de caractères en sprites
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Personnalisation de caractères en sprites

Posté le 22/11/2014 15:24

Comme je l'avais dit ici j'ai pu modifier les caractères de l'OS, j'ouvre donc ce topic pour en discuter





Il est donc possible d'avoir des caractères personnalisés et de les utiliser comme des sprites dans les programmes en basic
Les jeux pourraient simplement avoir une version normale et une spéciale sprites.
Si on arrive à mettre en place un add-in pour gérer ça on peut même envisager des fichiers de sprites qui seraient joints aux jeux.

Mais il reste à voir plusieurs choses :
- Si cela intéresse beaucoup de monde
- Comment procéder (changer l'OS fonctionne, mais à voir avec un Add-in)
- Si c'est faisable, quels sprites intégrer (les créer et se mettre d'accord)



Quelques infos supplémentaire :

Image du 1er essais
Image du 1er essais


Manière dont sont codés les sprites :
Mode texte
Mode texte
- un caractère fait 6x8 pixels, la colonne de gauche et la ligne du bas étant vides pour la plupart des caractères.
- chaque ligne de pixels du caractère est codée sur un octet
- les deux derniers bits de cet octet sont inutilisés, donc des 0

On peut ainsi faire des sprites collables les uns aux autres (pas d'espace entre) comme la pierre sur l'image au dessus.

Mode graphique
Mode graphique
Pour les caractères les moins larges (ex : A,B,C) :
- un octet code pour 2 lignes, on a donc 4 bits par ligne
- un caractère fait 4x6 pixels (on a encore une ligne vide sur le coté et en dessous)

Pour les quelques caractères plus larges (ex: M,Q,W) :
- chaque ligne est codée sur un octet
- un caractère fait 6*6 ?
A vérifier si ça fonctionne bien comme ça pour tous les caractères larges...


Les idées proposées pour les sprites :
liste des idées
liste des idées

- 1 ou 2 personnages
- monstre(s)
- explosion
Blocs :
- brique
- mur
- toit
- herbe
- arbre/plante
+ un bloc quelconque



1, 2, 3, 4, 5 Suivante
Lephenixnoir Hors ligne Administrateur Points: 22770 Défis: 149 Message

Citer : Posté le 22/11/2014 15:25 | #


Ouah, il y a du potentiel je pense, mais ça reste *un peu* limité si on est obligé de modifier l'OS. Avec un add-in ce serait pas mal.
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 22/11/2014 15:31 | #


Ce serait génial pour des jeux basics d'avoir des beaux graphismes ! Bonne chance pour développer un add-in ou un truc du genre !
Eltoredo Hors ligne Modérateur Points: 4299 Défis: 35 Message

Citer : Posté le 22/11/2014 15:32 | #


Il n'y a qu'a regarder le jeu de Silaxe (Hungry Monster), il est vraiment magnifique !
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 22/11/2014 15:33 | #


Ouaip ce serait vraiment une solution pratique.
Comme l'a dit Nemhardy il faut voir si c'est chargé dans la ram accessible...
Tweaks : ||||| ||||
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 22/11/2014 15:33 | #


Pour les sprites, il faudrait selon moi, briques, herbe, un perso voir deux, arbre (ou tout autre plantes) et un bloc quelconque. Ce sont pour moi les essentiels
Eltoredo Hors ligne Modérateur Points: 4299 Défis: 35 Message

Citer : Posté le 22/11/2014 15:38 | #


En gros un pur Mario
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1241 Défis: 54 Message

Citer : Posté le 22/11/2014 15:39 | #


Le "mieux", si c'est faisable à partir d'un addin, ce serait la possibilité pour chaque programmeur de fournir un fichier standardisé qui sera "ouvrable" avec le potentiel addin, et qui chargerait les sprites spécifique au programme que l'on va ouvrir plus tard, je ne sais pas si c'est compréhensible comme ça, mais ça serait vraiment le top niveau souplesse, quitte à fournir des "packs standards" pour les moins inspirés ^^.

Mais bon attendons déjà de bonnes pistes de réflexion au niveau technique !
Lephenixnoir Hors ligne Administrateur Points: 22770 Défis: 149 Message

Citer : Posté le 22/11/2014 15:39 | #


Remiweb a écrit :
Ouaip ce serait vraiment une solution pratique.
Comme l'a dit Nemhardy il faut voir si c'est chargé dans la ram accessible...

Quelle adresse as-tu modifiée pour changer les caractères ?
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 22/11/2014 15:39 | #


@Nem tu as complètement raison ce serait vraiment le must
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 22/11/2014 15:41 | #


Bonne idée le système de fichier standardisé

@Lephenixnoir : J'ai changé dans l'OS directement, je ne sais pas pour la RAM...
Il va falloir tester tout ça avec des Add-ins.
Tweaks : ||||| ||||
Lephenixnoir Hors ligne Administrateur Points: 22770 Défis: 149 Message

Citer : Posté le 22/11/2014 15:44 | #


@Remiweb : Tu pourrais me dire à quelle adresse tu as trouvées les données, grossièrement ? Si j'ai cette info, je pourrai vous dire si c'est faisable.
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 22/11/2014 15:48 | #


Il faudrait que l'addin propose un éditeur de sprite spécialisé

et même une gestion de fichier dans lequels des sprites crées par le dévellopeur d'un jeu partage!
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 22/11/2014 15:51 | #


Le zéro du mode texte est en 0x001B7124, il me semble que c'est le premier (il est suivit des autres chiffres, puis des lettres et des caractères spéciaux).
Tweaks : ||||| ||||
Lephenixnoir Hors ligne Administrateur Points: 22770 Défis: 149 Message

Citer : Posté le 22/11/2014 15:55 | #


Hey, mais c'est de la mémoire virtuelle ça.
Je vais voir si je peux y lire/écrire.

Ajouté le 22/11/2014 à 15:58 :
Hey, on n'a ni les droits de lecture ni ceux d'écriture
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 22/11/2014 15:58 | #


Super >_<
T'as essayé de voir si on trouvait ça ailleurs, dans la RAM ?
Tweaks : ||||| ||||
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1241 Défis: 54 Message

Citer : Posté le 22/11/2014 16:01 | #


Heu, là on parle d'une adresse par rapport au fichier .fls de l'OS non ? Ça me paraît un peu logique qu:'on ne puisse pas y accéder comme ça ^^... Sinon, il faudrait notamment essayer de voir si on peut écrire à l'adresse renvoyée pas GetGlyph par exemple, ou autre part en RAM où on les trouverait :).
Lephenixnoir Hors ligne Administrateur Points: 22770 Défis: 149 Message

Citer : Posté le 22/11/2014 16:02 | #


Non, j'ai pas fait la recherche dans cette zone. Mais fallait s'en douter...
Grossièrement, on a accès sans restriction à la zone mémoire entre 0x88000000 et 0x88040000 / 0x88080000.
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 22/11/2014 16:13 | #


J'ai fait quelques sprites de la bonne taille normalement.
DL
Ils font tous la taille d'un caractère, sauf le shop qui en fait 4 (shop 1-2-3-4) et la maison (shop 3-4) qui elle fait 2 caractères.
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 24/11/2014 22:00 | #


Juste pourquoi on a pas le droit de diffuser son OS ?
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Totoyo Hors ligne Membre d'honneur Points: 16068 Défis: 102 Message

Citer : Posté le 24/11/2014 22:07 | #


Darkysun a écrit :
Juste pourquoi on a pas le droit de diffuser son OS ?

Propriété de Casio. De plus, la licence interdit la rétro-ingénierie.
1, 2, 3, 4, 5 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 38 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd