Je vais poster ici l'avancement de mon projet, nRGBlib.
News correspondantes:
- v0.1 : http://tiplanet.org/forum/viewtopic.php?t=8591
- v0.2 : http://tiplanet.org/forum/viewtopic.php?t=8672
- v0.3 : http://tiplanet.org/forum/viewtopic.php?p=123024
Feuille de route :
nRGBlib 0.1 : Ancienne version stable - accessible sur demande
- Dessin de pixel en couleurs.
- Effacage de l'écran en couleurs.
- Dessin de ligne quelconque (à n'importe quelle inclinaison) en couleurs.
- Dessin de rectangle / carré (et aussi lignes verticales et horizontales) en couleurs.
- Dessin de cercle en couleurs.
- Dessin de disque en couleurs.
- Dessin de triangle (uniquement les contours) en couleurs.
- Dessin de tile (définition à lire car très bon tuto) de 8 pixels de côté avec redimensionnement (les tiles de n'importe quelle taille sont prévus pour nRGBlib v0.2) en mode unicolore et multicolore.
- Dessin de lettre, avec possibilité de redimensionner (uniquement x2, x4,... pour la version 0.1) en couleurs.
- Dessin de texte, possibilité de redimensionner et de retourner à la ligne en couleurs.
nRGBlib 0.2 : Ancienne version stable - publique
- Compiler en statique pour pouvoir l'utiliser comme libndls.
- Organiser la biblio pour permettre une expansion propre dans la continuité.
[*Compatibilité avec Nspire classiques et CX. - Réduire le nombre d'arguments des fonctions, afin d'accélérer l'exécution -> uniquement les couleurs pour cette version.
- Ajout de la licence MPL 2.0.
- Version prête pour la sortie Ndless 3.
nRGBlib 0.3 : Dernière version stable - publique
- Support des images. Le format des images est un format perso. Cependant, un exporter est fourni et est capable d'exporter les formats les formats les plus utilisés (bmp, dds, jpg, png, tga, psd (merci la SFML ) ).
La taille de ces images est plus petite que le BMP, mais plus grosse que le PNG : image de 320x240 => BMP = 225Ko, PNG = 6.19Ko et PERSO = 151Ko.
Les images sont externes au programme, contrairement aux tiles.
Actuellement, les 4bpp ne peuvent pas afficher des images à largeur impaire, ainsi 240x245 est mauvais → 240x244. - Support des sous-images, c'est-à-dire l'affichage d'une partie d'une image.
- Gestion du buffering. Possibilité d'utiliser plusieurs écrans ou de faire une capture d'écran (mais pas de l'enregistrer).
- Boost de la fonction drawBox(), elle-même utilisée par plusieurs autres. L'ancienne version, plus lente, est encore disponible : drawBoxSl().
------------------------------------------------------------------------------------------
Fonctionnalités :
La nRGBlib est organisée en plusieurs modules. En plus de la compilation statique, cela permet de n'utiliser que les modules utiles au projet à développer, et de ne pas alourdir inutilement l'exécutable. Pour le moment, nRGBlib s'organise ainsi :
- nCOMMON:
- Couleur, conversion RGB <-> BW, couleurs prédéfinies.
- Buffer écran, création, affichage, capture d'écran, vidage.
- setPixel(), clearScreen().
- nGEO:
- Formes: Disque, Cercle, Ligne, Rectangle, Carré, Triangle.
- Fonctions d'affichage de ces formes.
- nTILE:
- Tile 8x8 en une couleurs ou plusieurs couleurs.
- Fonctions d'affichage des tiles.
- → Les tiles sont compilées AVEC le programme.
- nIMAGE:
- Image, création, chargement, affichage, getPixel().
- Sous-image, création, chargement, affichage, getPixel().
- → Les images sont enregistrées EN-DEHORS du programme.
- nGUI:
- Structures : Lettre, Texte.
- Fonctions d'affichage de ces structures.
- nMATHS:
- Fonctions rand() + randMinMax().
Légende :
Vert = Fait
Violet = A débugger / A revoir
Orange = En cours
Rouge = A faire
------------------------------------------------------------------------------------------
Médias :
GeometriCX v0.1
nRGBlib v0.1 avec CXSnake et GeometriCX
nRGBlib v0.2dev avec HelloRGB, CXSnake et GeometriCX (Merci à Goplat pour son émulateur)
nRGBlib v0.3 indev : éditeur de map + RPG
L'affichage sur 4bpp a été beaucoup accéléré dans la version 0.3, mais la vidéo a été prise avant l'optimisation.
------------------------------------------------------------------------------------------
Téléchargements :
Lien vers le dépôt BitBucket qui sera toujours à jour.
https://bitbucket.org/totorigolo/nrgblib/downloads
- Tags → v0.* → zip pour obtenir la source.
- "samples-v0.*.zip" pour obtenir uniquement les exécutables des exemples.
------------------------------------------------------------------------------------------
Si vous avez des questions ou des suggestions par rapport à cette bibliothèque, n'hésitez pas.