Merci gbdivers. Je prends note de tout ce que vous me dites (et ma liste s'allonge de beaucoup ces derniers jours).
Aujourd'hui, j'ai fait en sorte que le moteur puisse charger des PNG ou BMP sans modification dans le code.
Il en est ressorti que j'ai crée une classe Bank pour les ressources (là, des Sprites) (la classe est template).
Maintenant le SpriteLoader contient une banque, mais aussi une liste de ISpriteLoader. ISpriteLoader est une classe abstraite qui permet de charger des fichiers. Du coup, les réimplémentations de la SDL (SDL_SpriteLoader et SDL_SpriteLoaderSDLI) héritent de cette nouvelle interface.
Ces interfaces sont enregistrées dans le SpriteLoader, qui lui parcourera la liste pour charger les images. S'il n'arrive pas à charger les images, il envoie une erreur.
Et si l'image est chargée, elle est mise en Bank.
Partager