Something realy needed on a game engine is to design interesting environement.
making complex interesting environements is realy hard to do, espetialy if the only option you have is by manipulating numbers in your code. Therefore, we need the possibility to use a file to describe the "map".
So, I started to define the way map will be represented into Annwvyn, and the file exchange format I will use. I wanted it to folow a KISS philosophy.
Annwvyn .map files are simple plain-text files describing how to generate the map. You just need to use Ogre entites that you have loaded on the resources manager.
This will allow to create external tools to design the environement.
At the moment the functionalities of the AnnMap modules are really limitated. A .map file can :
- Load a mesh
- Position a mesh in 3D space thanks the giving 3D vector coordinates
- Orient the mes following a Quaternion (w, x, y, z)
- 3D Scalling of the object (for size correction, from a 3D vector)
- Physics handeling, Tell the physic engine what to do whith the object.
You have to load you map file via an AnnMap instance. You have to give it the address of your AnnEngine instance to make it work. Otherwise, it will terminate the programme to avoid it to segfault
I'm currently working at improving the whole thing. I hae to make some modification to the AnnEngine class and make the object deletion possible.