gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > ?Library problem

#166454 - Emmanuel - Sun Feb 08, 2009 12:38 pm

Is there any easy way? Are there any good extra libs for libnds to help me?
I'm particularly interested in:
Animated Sprites and
Backgrounds

Tips?

The idea is a smash version for the ds... but with libnds, becuase PAlib is old, and lacking updates as I've heard + it seems to have an error when combined with liblobby, but I've seen libnds working projects without that error, and multiplayer ds-ds is vital IMO


Last edited by Emmanuel on Sun Feb 08, 2009 3:39 pm; edited 2 times in total

#166456 - hacker013 - Sun Feb 08, 2009 12:56 pm

libpicture from dragonminded (gif,jpeg,bmp,jpeg)
libfb from dragonminded (2d framebuffer + textfunctions)
ulib (2d grafichs with the 3d engine)
Nitro Engine (3d engine)
Yeti (gba 3d, also ported to the nds)
_________________
Website / Blog

Let the nds be with you.

#166458 - Emmanuel - Sun Feb 08, 2009 1:19 pm

hacker013 wrote:

ulib (2d grafichs with the 3d engine)


I googled around... all I could find was UlyssesLib, but, no mention to ds whatsoever...
is that it? or am I wrong?

#166462 - hacker013 - Sun Feb 08, 2009 1:58 pm

http://brunni.palib.info/new/index.php?page=ndssoft_ulib
_________________
Website / Blog

Let the nds be with you.

#166465 - Emmanuel - Sun Feb 08, 2009 3:11 pm

hacker013 wrote:
http://brunni.palib.info/new/index.php?page=ndssoft_ulib


Got this problem:
d:/devkitPro/libnds/lib\libul.a(ulDrawImage.o): In function `ulDrawImage':
C:\Users\Florian\Documents\Code\NDS\uLibrary\Source/image/ulDrawImage.c:131: undefined reference to `SIN_bin'
C:\Users\Florian\Documents\Code\NDS\uLibrary\Source/image/ulDrawImage.c:131: undefined reference to `COS_bin'

P.S. Regardless, it looks great

BTW, I NEVER used it on PAlib, and I fully erased PAlib, and my libnds installation is fine

#166467 - eKid - Sun Feb 08, 2009 5:04 pm

SIN_bin and COS_bin were replaced with functions sinFixed and cosFixed. And now they are replaced again in the latest libnds with more accurate functions (which support interpolation) sinLerp and cosLerp.

#166485 - Odorules - Sun Feb 08, 2009 8:24 pm

Emmanuel -> Are you sure that you have the lastest version of the ?Lib ?

#166488 - hacker013 - Sun Feb 08, 2009 8:28 pm

the release of ulibrary is on the site never updated
_________________
Website / Blog

Let the nds be with you.

#166492 - Emmanuel - Sun Feb 08, 2009 9:29 pm

so, I will need to get the source and update it myself? it seems the problem is just this functions... sinLerp and cosLerp

#166532 - Odorules - Mon Feb 09, 2009 1:27 pm

In the ?Lib Version 1.11 - 23.08.2008, ulDrawImage() don't use any of these trigonometric functions.

#166534 - Emmanuel - Mon Feb 09, 2009 2:12 pm

Odorules wrote:
In the ?Lib Version 1.11 - 23.08.2008, ulDrawImage() don't use any of these trigonometric functions.


Can you give me the link to it? does it work for you?

#166547 - Odorules - Mon Feb 09, 2009 5:27 pm

Link : http://brunni.palib.info/new/dl/nds/uLibrary.rar

Yes it works.
Maybe you'll have to do some modifications to get it work with libnds r24. Especially in ulInit() function.

#166550 - Emmanuel - Mon Feb 09, 2009 5:32 pm

Odorules wrote:
Link : http://brunni.palib.info/new/dl/nds/uLibrary.rar

Yes it works.
Maybe you'll have to do some modifications to get it work with libnds r24. Especially in ulInit() function.


By the way, is there some log on changes on libnds including which functions are deprecated and which are the new ones?
That would be really helpful... that way, I'll just need to replace if an error arises (downloading uLibrary)

#166553 - Odorules - Mon Feb 09, 2009 5:54 pm

That's a very temporary solution but you can include "#include <nds/registers_alt.h>" in drawing.h

And do these modifcations :
drawing.c
Code:

void ulInitGfx()
{
   //set mode 0, enable BG0 and set it to 3D
   videoSetMode(MODE_0_3D);
   vramSetBankA(VRAM_A_TEXTURE);
   
   glInit();
   
   glViewport(0,0,255,191);
   
//   glClearColor(0,0,0);
   BG_PALETTE[0] = RGB15(0, 0, 0);
   
//   GFX_CLEAR_COLOR = RGB15(31, 31, 31) | (15<<16);
   glClearDepth(0x7FFF);

   ul_autoDepth = 1;
   ul_dualScreenMode = 0;
   
   //Il faudra de toute fa?on la mettre ? jour...
//   ul_lastTexture = (UL_IMAGE*)-1;
}


ulib.c
Code:

void ulInit(UL_INIT_FLAGS flags)      {
   if (flags == UL_INIT_ALL)         {
      //powerON(POWER_ALL);
      // Setup the Main screen for 3D
      //videoSetMode(MODE_0_3D);
      //glInit();
      //irqs are nice
      //irqInit();
      //irqEnable(IRQ_VBLANK);
   }
   
   _initSinTables();
   ulTexVramInit();
   ulInitTextures();
   ulTexPalInit();
   VirtualFileInit();
}