#169467 - vuurrobin - Tue Jul 14, 2009 12:08 am
hello everybody,
I am creating a library for the nds. it is object orientated, and easy to use while still allowing a lot of control if you want it. I have already done some stuff on it, but it still needs a lot of work. and therefore I have some questions:
1. [s]it currently has no name. I'm currently thinking about something like libDSOOP, but somewhere it sounds really stupid. does anybody have some ideas?[/s] and I'l probably need an icon sooner or later. (I chose the name DSOL (DS OOP Layer))
2. does the library seem good to use? (not to hard and not to limiting) there are still alot of things I need to do, but I want to know if I'm on the correct path here.
3. is the code well organised and commented? (apart from the fact that I'm including everything, I will fix this later)
4. are there any features that I should include or exclude?
5. I use vram A-D for sprites and backgrounds, and F-I for extended palettes. currently E is unused, any ideas on where I can use it for?
6. currently, the oam (and soon other stuff) is updated in a vblank function that the user has to call every time. another way to do this is by letting that function be called by an interupt. is there 1 way better than the other, or doesn't it matter that much. if its done by an interupt, then everything will stay upto date, but maybe it would get in the way of other stuff the user is doing or updating thing even if the user doesn't want it.
7. [s]there is a SimpleVector class in the library that is a smaller version of the std::Vector. however, it currently doesn't preserve the order of the items stored in it. is this okay, or should I change the class to preserve the order of the items. [/s] (SimpleVector has been renamed to LiteVector, and it preserves the order now)
8. currently, either the user or the sprite class needs to reserve a SpriteAffineMatrix index. originally this was to allow the user some control about which index he/she uses. but would it matter if the class reserves its own index without letting the user set it manually? you will still be able to get the index and use 1 matrix with multiple sprites, so I don't see a problem in this.
whew, that were the questions, and hopefully I can get some anwsers :)
anyway, here is an example on how you can put a sprite easely on the screen:
and here is a page with downloads, documentation and installing instructions:
http://vuurrobin.100webcustomers.com/?page_id=2
and a direct link to the doxygen documentation:
http://vuurrobin.100webcustomers.com/DSOL/docs/
so, what do you guys/girls think.
Last edited by vuurrobin on Thu Sep 10, 2009 7:20 pm; edited 1 time in total
I am creating a library for the nds. it is object orientated, and easy to use while still allowing a lot of control if you want it. I have already done some stuff on it, but it still needs a lot of work. and therefore I have some questions:
1. [s]it currently has no name. I'm currently thinking about something like libDSOOP, but somewhere it sounds really stupid. does anybody have some ideas?[/s] and I'l probably need an icon sooner or later. (I chose the name DSOL (DS OOP Layer))
2. does the library seem good to use? (not to hard and not to limiting) there are still alot of things I need to do, but I want to know if I'm on the correct path here.
3. is the code well organised and commented? (apart from the fact that I'm including everything, I will fix this later)
4. are there any features that I should include or exclude?
5. I use vram A-D for sprites and backgrounds, and F-I for extended palettes. currently E is unused, any ideas on where I can use it for?
6. currently, the oam (and soon other stuff) is updated in a vblank function that the user has to call every time. another way to do this is by letting that function be called by an interupt. is there 1 way better than the other, or doesn't it matter that much. if its done by an interupt, then everything will stay upto date, but maybe it would get in the way of other stuff the user is doing or updating thing even if the user doesn't want it.
7. [s]there is a SimpleVector class in the library that is a smaller version of the std::Vector. however, it currently doesn't preserve the order of the items stored in it. is this okay, or should I change the class to preserve the order of the items. [/s] (SimpleVector has been renamed to LiteVector, and it preserves the order now)
8. currently, either the user or the sprite class needs to reserve a SpriteAffineMatrix index. originally this was to allow the user some control about which index he/she uses. but would it matter if the class reserves its own index without letting the user set it manually? you will still be able to get the index and use 1 matrix with multiple sprites, so I don't see a problem in this.
whew, that were the questions, and hopefully I can get some anwsers :)
anyway, here is an example on how you can put a sprite easely on the screen:
Code: |
#include <DSOL.hpp>
//generated with grit #include "pacman.h" const uint pacmanOAMIndex = 0; const SpriteSize pacmanSize = SpriteSize_8x8; const SpriteColorFormat pacmanColorFormat = SpriteColorFormat_16Color; int main() { using namespace DSOL; init2d(); Sprites::Sprite pacman(pacmanOAMIndex, pacmanTiles, pacmanTilesLen, pacmanPal, pacmanPalLen, //generated with grit pacmanSize, pacmanColorFormat, true, //main oam (defaults to top screen) false); //no rotation, scaling ect pacman.setPosition(10, 10); pacman.setVerticalFlip(true); pacman.setFrame(1);//frames start with 0, so this is the 2nd frame pacman.update(); sleepForever();//updates the oam and then runs an endless loop. return 0; } |
and here is a page with downloads, documentation and installing instructions:
http://vuurrobin.100webcustomers.com/?page_id=2
and a direct link to the doxygen documentation:
http://vuurrobin.100webcustomers.com/DSOL/docs/
so, what do you guys/girls think.
Last edited by vuurrobin on Thu Sep 10, 2009 7:20 pm; edited 1 time in total