Request List

Please post in the appropriate section the bugs you found or features you would like to see in later versions of PAlib...

Bugs

If possible, it would help to have a maximum of information on a given bug :

  • How you fell on it, with some code if possible
  • A rom demonstrating the bug in action
  • At best, a complete compilable template with the bug in it, that way I can test it and try to correct it...

If you do not want to post your code/rom here, please send them in rar format (zip won’t work) to Mollusk...

Each bug should have a seperate section, so just copy/paste the sample bug and change it to your needs, it’ll give me a list of bugs in the tables of contents...

Sample Bug

I got bug blablabla when doing blablabla in function blablabla :

while(thing != stuff) PA_GoesWrong();

...


Mistake in DAY 13

I think I just found a mistake, most likely a typo: it’s in day 13 where the GetTile mehtod is descibed the first time:

That’s about it for this function, nothing much, as I had said. But now, all the remaining functions are new, I’ll detail them almost 1 by 1...

u8 GetTile(s16 x, s16 y){
	if (x < 0 || x > 256) return 1; //Say it was a collision if the sprite tries 
                                        //to move out of the map horizontal boundaries
	return mario_world_Map[((y>>3)*32) + (x>>3)];
}

This is a very simple function which returns the tile number when given the position in pixels... Why did I put that in a function all by itself ? Because when we’ll add scrolling, we’ll just have to change this function, and everything will be updated... Isn’t that easier ? How does it find the correct tile ?

  • First, it checks that x is a correct value (>0 or <256), and if not will return 0 (no tile).

...........

There you explain that it checks if the x value ist correct, and if that’s not the case it’ll return 0, but in the code it says “return 1” when x is outside [0;256].

please tell me when the code and text is correct and it’s just me not understanding it :-)

else if(i’m right) glad to help;

greetings, simon (and sorry for the bad english)

Feature Requests

Please post you feature requests here... Nothing fancy ! Check that it hasn’t already been asked before posting, thanks !

Try to organize it in a similar way as the bugs, and I’ll put a note on new requests to tell you if it’s a WIP, major need, or will eventually come some time but not soon...

Linux PAFS injector and Linux viDeoconverterS

It would be nice to be able to work with PAFS video with out having to use VMplayer.

-TeenDev Homepage

Fixed point math defines

Fixed point math defines. Typical fixed point math defines which could be used for various purposes. Negate a fixed point number, multiply 2 numbers, divide, define a number giving the whole and the fraction, etc...

→ I think it’s already in libnds, but I might do some eventually :-)Mollusk 03/02/2006 14:39

OggVorbis playback on the ARM7 with Tremor

Playing .ogg on the DS for the background music would be a really interesting feature, while preserving ROM space and (DMA-based ?) I/O. Hopefully a 32-bit tight code on the ARM7 could do the trick, if no too high bitrates were used. The Tremor decoder provides an integer-only reference implementation of the Vorbis decoder for embedded devices, see http://xiph.org/vorbis/. Works for ARM CPU. Would be neat !!! (posted by sye).

Simple 3D functions

Adding functions for initialising 3D on selected screens (and, if you fancy, both), rendering simply-shaded (and, if you fancy, textured) polygons and sprites with Z-axis would be useful, especially for special modes of normal games and Doom-like shoot’em ups. (by stan423321)

Smart resource caches

The various resources (including sprite and background tiles) could be automatically pre-fetched and kept on memory banks as long as there are room for them. The idea is to behave like a cache, so that the banks are always filled up, allowing for animations to reuse possibly already loaded frames that were not deallocated in the mean time, instead of loading them each time (posted by sye).

OpenGL ES-like wrapping

The idea would be to use a specific OpenGL API for embedded systems with no FPU. See http://www.khronos.org/opengles/ (posted by sye).

Special effects library

It would provide some more classical (demo-like) graphical tricks (beyond mosaïc, transparency, fade in/out, parallax scrollings, Starwars-like intro, etc.) to be widely used by 2D games. Examples : little particle engine (ex : for explosions), plasmas, etc. (posted by sye). By the way, congratulations for PAlib, features such as the virtual keyboard and shape recognition are simply amazing !

Stick with latest code

It would be convenient if PAlib always stick to latest devkitARM and libnds versions, as one might want to use for example newer libnds services in addition to PAlib ones (posted by sye).

State license clearly

One can find Mollusk statement in forums : “PAlib is free for any use”, but a more obvious message could help a lot. See also : libnds license (in libnds_license.txt in their source tree) (posted by sye).

Better toolchain switches

At least the PAlib examples are not built with the best switches apparently (no -mcpu=arm7tdmi -mtune=arm7tdmi/-march=armv5te -mtune=arm946e-s).

Free Graphics & Free Sounds Resource Links

Most of the DS developers aren’t graphics or sound makers. It will be usefull to have a Section with Free Resource Links. jandujar

SSL Support with PA_Wifi

I would really like to have SSL support with PA_Wifi. Lots of servers nowdays require an SSL Connection and it really limits your flexibility not to have this feature when you programme using PA_Wifi.

PaGfx for Mac

You know, it would be handy, although it does seem like a big request.

Playing MIDI files (like RAW and MOD already)

I would like to play some MIDI files. I’ve found a sourceforge’s project that can play MIDI without extern instruments. (DblK)

See after TiMidity++

One Card Multiplayer

I hope anyday we will be able to host games, so that any ds can join by the function DS-DownloadGame

I realy please you to add this funcion! It would help and make PAlib many times better (for me).

Tutorial Requests

Same thing, but for tutorials...

Full 8bit text tutorial

I would love someone to put up a better 8bit and 16bit text output tutorial. -NOT DONE!!!

ESF_lib Tutorial

Can not find a full tutorial on this... would be nice if someone would link to one or post one. -NOT DONE!!!

Optimized coding in slow hardwares

Tips and tricks for optimized coding. It would be cool even if it just mentions some techniques, so that we could go to google and ask about them. (like the original fixed point theory, when it was uncomplete)

→ I’ll do as much as possible for that, as that’s why I started the dev-related math stuff too...Mollusk 03/02/2006 14:40

Use of the Interrupts

Typical uses of interrupts, and a way to set a milliseconds based timer using the interrupts. Explanation of what an interrupt is, and so on. :)

Making a map out of a tileset/chipset

A good way to build up a large map out of a tileset. It would be nice for games involving more complicated LargeMap. Maybe continuing the plaform game tutorial? Or begining a RPG one.

→ There are lots of map editor out there that could be used. Personnally, I like using Paint Shop Pro and copy/pasting my tiles, then converting with PAGfx (or gfx2gba, or whatever). So this might be done some day, but no idea when :S

Using libnds for the 3D and PAlib for the sprites system

I am searching to init the 3D of libnds and the PAlib to using sprites, but my 3D cube goes on bottom screen and erase my inventory (need sprites on touchscreen). I need some help to init correctly the DS. The sprite system of PAlib is very useful and complete but I need more features for 3D than the PAlib have got. I am asking me if i can load textures with PAlib and use them with the libnds. (Sorry for my poor english).

⇒ I have made some progresse, I can draw my 3D scene on the top screen and have my inventory on the touch screen, but i loose the input stylus control. We need to use lcdSwap(); after the PA_Init3D to swap both screen (the touch screen became number 1). If I init the Text module the inventory doesn’t display but I have the stylus control (I play a sound when I pick up an object with the stylus). Notice that I can move in the 3D scenes with the pad (I use the PAlib imput Methode).

PS : I couldn’t use the PA_Init3D() function, g++ coudn’t find her. There is something special to do when we are installing the PAlib?

⇒ Now resolved, I have rebuild the the PAlib after some modification in the conf file (Devkitpro\PAlib\PA_Config.h)

I am trying to increase the resolution of texture but I am limited to 256×256 and I use only one texture for my cube, I am searching to use one texture per faces with a greater resolution than 256×256. But If I find a methode to have one texture per faces the resolution will be increase by 6.

I can change the only one texture that I am using but, I need to use the glResetTextures(); function else I cant load a new texture, but both screen became black for one or two frame. It’s not very beautiful.

If I progress more I’ll do a tutorial on this subject.

Touch Area Detection

I hope this is in the correct place, but i would like to request a tutorial on how to manually set an area of the touch screen between two points (x and y) and then have text on the top screen show your selection. Ive been searching for this a while now and tried many examples and cant get them to work.

‘Screen’ Changing Also, one more thing. I think another good tutorial would be setting up your code and managing it. So that first time users learn how to create a menu screen that can input a seletion and take them to a platforming level and learn how to go from one screen to another, unloading everything as nessecary. It would be nice

generic pointer arithmetic bug (gcc 4.3.2)

/bkr/devkitpro/PAlib/include/nds/arm9/PA_Draw.h: In function 'void PA_LoadFSImage(u8, s16)':
/bkr/devkitpro/PAlib/include/nds/arm9/PA_Draw.h:639: warning: deprecated conversion from string constant to 'char*'
/bkr/devkitpro/PAlib/include/nds/arm9/PA_Draw.h:642: warning: deprecated conversion from string constant to 'char*'
/bkr/devkitpro/PAlib/include/nds/arm9/PA_Draw.h:645: warning: deprecated conversion from string constant to 'char*'
/bkr/devkitpro/PAlib/include/nds/arm9/PA_Draw.h: In function 'void PA_LoadGBFSImageToBuffer(void*, s16, s16)':
/bkr/devkitpro/PAlib/include/nds/arm9/PA_Draw.h:667: warning: deprecated conversion from string constant to 'char*'
/bkr/devkitpro/PAlib/include/nds/arm9/PA_Draw.h:673: warning: deprecated conversion from string constant to 'char*'
/bkr/devkitpro/PAlib/include/nds/arm9/PA_Draw.h: In function 'u16 PA_GetBmpWidth(void*)':
/bkr/devkitpro/PAlib/include/nds/arm9/PA_Draw.h:689: error: pointer of type 'void *' used in arithmetic
/bkr/devkitpro/PAlib/include/nds/arm9/PA_Draw.h: In function 'u16 PA_GetBmpHeight(void*)':
/bkr/devkitpro/PAlib/include/nds/arm9/PA_Draw.h:704: error: pointer of type 'void *' used in arithmetic
make[1]: *** [Ball.o] Error 1
make: *** [build] Error 2

i’m guessing `bmpdata’ needs to be cast to `MP_Headers*’

 
requests.txt · Last modified: 20/08/2009 23:42 by 83.5.204.86
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki