Releases: Pebloop/Arcade-Toulouse
Version 3
DU COUP, on a parlé de pas mal de trucs et je vais essayer de faire un compte rendu ici, hésitez pas si il y a un truc que vous comprenez pas c'est mieux si on peut y répondre en public et vite (Pcq dans quelque jours ce sera la sauce ultime)
"getType()" sur les composants
Au lieu d'une enum (ComponentType) décrivant les différents types de composants on passera maintenant par un dynamic_cast.
(Références: https://en.cppreference.com/w/cpp/language/dynamic_cast https://stackoverflow.com/questions/2253168/dynamic-cast-and-static-cast-in-c )
Simplification des callbacks pour les événements
Exemple:
virtual void onKeyDown(const Key& key) = 0
virtual void onKeyPressed(const Key& key) = 0;
Devient maintenant "onKeyEvent(const event::KeyboardEvent& key)", les propriétés de l’événement se trouvant maintenant dans l'objet KeyboardEvent.
Création d'entités
La création d'une entité se fait maintenant grâce à la méthode newEntity() qui retourne une référence vers une nouvelle entité.
(Les méthodes de gestion d'entités par index ont été retirées pcq dégueulasse)
Optimisation mémoire sur les composants
Les composants "Sprite", "Sound" et "AsciiSprite" utilisent maintenant des shared_ptr pour contenir les données. Cela permet d'éviter des copies inutiles de grosses données (Ex, les pixels de l'image)
(Référence: https://en.cppreference.com/w/cpp/memory/shared_ptr)
Ajout d'un composant "Sound"
Pour ceux qui veulent, complètement facultatif.
Ajout d'un composant "Transform"
Ce composant remplace les méthodes "getPosition" et "setPosition" (certaines entités n'en ayant pas besoin).
Il pourra contenir en bonus, la rotation et l'échelle.
Version 2
Version 1
Changelog
Sommaire
- Ajout de namespace précision
- précision de
library_get_data() - ajout de
ILibrary
Détails
- [~] api.h
- [+] struct library_info (library_info_t)
- [~] char *library_get_data() -> library_info_t library_get_data()
- [+] ILibrary.hpp
- [+] void init(Scene &scene)
- [+] void update(Scene &scene, float dt)
- [+] void end(Scene &scene)
- [~] IGame.hpp
- [+] héritage : ILibrary
- [-] void init(Scene &scene)
- [-] void update(Scene &scene, float dt)
- [-] void end(Scene &scene)
- [~] IGraphic.hpp
- [+] héritage : ILibrary
- [-] void init(Scene &scene)
- [-] void update(Scene &scene, float dt)
- [-] void end(Scene &scene)
Version 0
Changelog
Sommaire
Créations des fichiers de base, réalisé pendant le follow-up du Vendredi 19 mars 2021 à 17h30.
Détails
- [+] api.h
- [+] void *library_create()
- [+] void library_delete(void *library)
- [+] char *library_get_data()
- [+] IGame.hpp
- [+] void init(Scene &scene)
- [+] void update(Scene &scene, float dt)
- [+] void end(Scene &scene)
- [+] IGraphic.hpp
- [+] void init(Scene &scene)
- [+] void update(Scene &scene, float dt)
- [+] void end(Scene &scene)
- [+] Scene.hpp