PAlib 0.998d

[Sound] Fixed :S

[PAGfx] Updated to add 'const' where it was missing... (thanks Jandujar !)

[PAGfx] Removed the #ifndef from all_gfx.h, you can now include it correclty in multiple files

[PAGfx] Shorter lines on error messages

[PAGfx] 2 bug corrections preventing from working if a file wasn't found

[PAGC Frontend] Corrected error when first moving from sprites to backgrounds view

[Sprite Ext Prio] Fixed order when 2 sprites had the same priority level

[Text] Fixed the '-' not showing for values from 0 to -1

[Text] Fixed the decimal values with negative numbers (thanks to Jandujar !)



PAlib 0.998c

[Examples] Fixed the keyboard example, had SimpleText instead of Text function, so the line break didn't work :S

[Examples] Added Sprite/Priorities2, which shows how the priority system could be used to create a card game, or an isometric 3D system...

[Screen Lights] Rewrote the code, shouldn't break the sound anymore

[Arm7] Switched to libnds's IRQ system, now works better on MK2/3

[PA3D] Compiles again, sorry !

[Backgrounds] Optimised the Background memory error messages

[Palettes] Added PA_SetSpritePalCol

[C++] Fixed the Pad/Stylus problem (replacing bool by u8, I don't like that...)



PAlib 0.998b

[Sprites] Fixed sprites on hardware :/

[Vham IDE] Updated to remove the ofile bug when adding files :) Thanks to Kleevah !


PAlib 0.998a

[PAGfx] Updated 16colors sprites not working

[PAGfx] Updated broken 512x512 TiledBg, now works correctly

[16bit Sprite] Added a Create16bitSpriteFromGfx function

[SpriteAnims] Added PA_SetSpriteNCycles(bool screen, u8 sprite, s16 NCycles) and PA_GetSpriteNCycles(bool screen, u8 sprite)

[Doc] Updated some missing function infos

[Palettes] PA_CreatePalBright added, to create new palette with different brightness level. ChecK Sprite/PalBrightness to see how to use it (can be used on backgrounds too)

[Sprite Priorities] Added advanced sprite priorities, with 256 possible levels ! Check the Sprite/Priorities example to see how it works (requires an init). Beware, this is much slower than the normal priority system, as it requires sorting the sprites...

[LargeMaps] Fixed scrolling bug when background was larger than 256 pixels, but smaller than 512 (thanks Mtom !), and a nice speed increase (up to twice as fast) on large maps (>512)

[Sprite Animations] Fixed a little bug in the frame number when using UPDOWN, thanks to Costello

[FAT DRiver] Included Chishm's FAT Driver, with M3, SC, and MK2/3 support ! I take NO credit whatsoever for this. ALL the credit goes to Chishm and the people who helped him make this driver better... If you have any questions/bugs, please report them on palib.com, and do not bug Chishm... The driver takes around 25k, and can be removed by editing PA_Config.h. Please take the time to read the gba_nds_fat.txt file included with the driver...  I haven't played with it too much yet, just tested listing the files on my MK3... (FAT/FAT example). I also update the Vham Init to take into account the FAT_ functions.

[DeSmuME] Updated

[Makefile] Updated with jandujar's bin2o fix. Does this make the sound work better for anyone ??


PAlib 0.997a

[Doc] Updated

[DeSmuME] Updated, perfect backgrounds and nice sprites !! Forget about dualis ;)

[PAGfx] Sprite optimisation and 16bit fixes

[SpecialFx] Fixed a rare compilation error

[Vham IDE] Removed Dualis support... I tested the latest version and it still doesn't work with my Bg+Sprite tester it seems...

[Linux] NDS/nds fixes... again... thanks Gooler... /me hangs himself

[Linux] Added Gooler's compilation script

[Supercard] Added Akuma's makefile to compile a .sc.nds for supercard users, thanks !

[DualSprites] Added all the animation functions

[SpriteTouched] Speed optimisation

[SpriteTouchedPix] New function, similar to SpriteTouched, but with pixel precision ! Require InitSpriteDraw prior to usage, and is MUCH slower than the normal SpriteTouched function (as you could guess)

[MoveSpritePix] New MoveSprite function, which requires InitSpriteDraw (like TouchedPix), but has pixel-perfect detection, and does not center the sprite on the stylus

[Stylus] Slightly better coordinates (I hope, tried to remove eronous values), and added Stylus.Vx and Stylus.Vy !



PAlib 0.996a

[Backgrounds] Added PA_ClearBg(screen, bg) and extern inline void PA_ClearTextBg(screen) to clear a given background map

[ResetBgSys] Now resets the video mode, fixes some rare issues

[Mode7] Added PA_DeInitMode7, when your finished using it, lol

[Examples] Updated the Mode7 examples to upgrade to PAGfx functions

[LargeMap] Fixed bug when loading not-so-large maps, lol

[SpriteTouched] Added the Stylus.Held check in it because everyone seems to want it, lol

[Linux] Some compilation errors fixed, thanks to Gooler... I hope it works now !

[Animations] Extended the sprite animation system, check out SpriteAnim3 and the wiki !



PAlib 0.995b

[C++] Fixed a compilation error

[RotBg] Fixed the rotating backgrounds not showing, was a palette bug (they don't use extended palettes like the others...)

[Reco] Added infos to the shape reco : 	PA_RecoInfo;.Length, minX, minY, maxX, maxY, startX, startY, endX, endY, Angle and an example to go with it. Updated the wiki...


PAlib 0.995a

[Shape Recognition] Beta testing a shape recognition system ! Added 2 examples in the input folder and updated the wiki...

[Random] New Random Init function, should give better results

[PAGfx] Corrected the Green color bug

[Doc] Added text and recognition stuff


PAlib 0.99b

[MoveSprite] Vx and Vy values fixed on DS (worked on emulator but not on DS for some reason)

[LargeMap] Fixed a palette bug on background 1

[SpriteAnim] Fixed a nasty bug in the sprite gfx updating if you had too many sprites, it would update the wrong one

[DeleteSprite] Fixed a bug in DeleteSprite, should work better now

[SpriteDraw] Completely rewrote the draw routines and init. You can init all onscreen sprites with PA_InitAllSpriteDraw(), and you can draw with PA_SetSpritePixel(bool screen, u8 sprite, u8 x, u8 y, u8 color). Only supports 256 colors for now. Check the example given for more details

[Emus] Added DeSmuME, by Yopyop :p

[Vham IDE] Added Launch (+/- Build) in Dualis or DeSmuME (which will soon work better than Dualis... :p)

[Jialing Sound] Updated to work with PAFS

[Libnds] Updated stylus code, please update libnds to the latest version to avoid false values


PAlib 0.99a

[Vham] New IDE included, still in beta test ! Now using Vham ! I take NO credit for this, all the credit goes to Peter from http://console-dev.de/ for doing this nive IDE

[Sound] New sound system, by JiaLing !

[Linux] Forgot one of the changes, corrected thanks to Morian

[C++] Corrected the compilation errors

[PAGfx] Updated to correct errors in PAGfx and the frontend

[Gif] Gif repaired, not sure why it didn't work though :/

[TextColors] Added a black color (number 9)

[TextBox] Fixed the "\n " bug and and colors, everything works now

[TextBox] New simplified textbox functions with borders and all ! Check out the 2 new examples

[Text] Added a custom font loading example

[8bit] Fixed an 8bit pixel plotting bug, not sure when it actually got there

[Video] Corrected C++ compilation errors


PAlib 0.78b

[Video] Works again...


PAlib 0.78a

[Gif] Fixed a few bugs with 8bit gifs

[Bug] Fixed a few stuff for linux compatibility, not sure I got everything though

[Examples] Added a simple gif example, as well as a 2048x2048 map in the largemap example

[Examples] Added a Sin and Cos Trajectory example

[Text Colors] Added %cn as text color trigger in functions OutputText and BoxText... n is the color number (0-7)... Check out the textcolors example to see how to use it... (I just updated it)

[MoveSprite] Optimized PA_MoveSprite code (1 function instead of 2 ! :p) and now works even if isprite is partly out of screen

[Sound] Corrected sound (player too fast depending on the function used to play it !)

[Demos] Added tons of new demos (and removed the original Frisbee one, replaced by a new one) with their comments on the wiki (day 12 and day 13). These demos show how to use the stylus at best, and treat about collisions...

[PAFS] Corrected the bug when the filename wasn't PAFS.ds.gba and you still wanted to use the /silence command... Added the possibility to put /silent instead

[PAGfx] Kleevah updated PAGfx and the Frontend, to solve some issues, add an icon, and have a better about box...

[Doc] Updated


PAlib 0.77a : Christmas Release

[Bugfix] MAJOR bugfix for the text, appeared screwed up on the top screen sometimes on DS (not on emulator), now fixed

[PA_Config] Added a 3Ddefinition to PA_COnfig.h, saves 60k when you remove it ! I might turn the 3d off by default for now on...

[PA_Config] Added a keyboard definition to PA_COnfig.h, saves 20k when you remove it, but it will stay on by default in PAlib

[Bugfix] A stylus bug had slipped in when getting at the bottom of the screen ! now fixed thanks to Morian (DS only bug)

[PAFS] Major Bugfix, now should work both in Ram AND Rom... (it used to work only depending on the number of files for some reason)

[PAFS] Removed the press key to exit if you add a '/silence' after the path, puts a log instead, and replaced the old buggy PAFS.exe in all examples but the ram one, had forgotten those !

[PAGfx] Corrected the frontend, which had TiledBg instead of TileBg... minor bugfixes to both the converter and the frontend

[Text] Added #define TEXT_ALLCHARACTERS  to the config file : Replaces the normal default text by a similar one which has pretty much all the special characters... thanks to Morian for that one ! But it takes twice as much memory in video ram, so you can choose which one to include... Will be on by default in PAlib updates... Also updated the small font with a few more characters (like € and others)

[Palettes] Added PA_SetBgPalNCol(bool screen, u8 bg_number, u8 pal_number, u8 color_number, u16 color); (usefull for the 8bit backgrounds... haven't updated the examples yet though)

[Malloc] Added PA_Malloc(void **pointeur, u32 size) for safe malloc... (checks if exists, and if it does, frees before doing the malloc. Thanks Brunni !


PAlib 0.76a :

[PAFS Feature] Started to test some PAFS in ram... this should make it work in emulators and WMB, but is still a work in progress... it works well on one example, but seems to fail on another one, not sure why... Check out the PAFS_Ram example to see how to use it...

[Text Feature] PA_SetTextTileCol(screen, color) is out ! What is it ? It changes the color of the next texts to come... this means you can start writing in white, tell that the rest will be in blue, and have both colors on the screen !!! For now, there are only predefined colors, and color is a number form 0 to 6... Check the TextColors example...

[Minor Fix] Fixed a C++ compilation warning


PAlib 0.75a :

[Bugfix] Text colors now work (emulator+DS)

[Feature fix] Added PA_InitCustomText(screen, bg_select, text) to replace the custom text functions... Text must be converted using PAGfx as TileBg... (the loading function works like LoadTiledBg)

[Feature] Much Lighter roms (lost like 100k) by removing the neoflash and palib splash screens... Moreover, they were added by default (they shouldn't have been). I'll replace them later on with jpegs, which will be way lighter...

[PAFS] Updated PAFS to add 32bit padding to files, should solve some problems. Added mod and sound playing functions and the corresponding example... Will use all that to do the filesystem tutorial on the wiki...

[Examples] Added the gravity example



PAlib 0.74d :

[Bugfix] Fixed the background rotations ! 

[Feature] Updated the rotating backgrounds to work easily with PAGfx -> PA_LoadPAGfxRotBg(screen, background number, bg name, wraparound (0-1))


PAlib 0.74c :

[Animations] Added PA_SetSpriteAnimFrame(screen, sprite, frame) and Added PA_SetSpriteAnimSpeed(screen, sprite, speed)

[Bugfix] Fixed the stylus position error...

[MODIFICATION] Changed PA_PlaySimpleSound(channel, sound), doesn't require '(void*)' and the size anymore ! Changed the example to reflect this...


PAlib 0.74b :

[libnds] Updated to work on the latest libnds update

[Bugfix] Better Sprite Animation code when rapidly changing animation sets

[Examples] Added a nice SpriteAnim2 (using animations, sprite movement, and sprite flipping), and an AlphaBlending example for 1 sprite...

[Doc] Updated the doc


PAlib 0.74a :

[Feature] Added the new sprite animation code ! Check out the example to see how to use 
PA_StartSpriteAnim(bool screen, u8 sprite, s16 firstframe, s16 lastframe, s16 speed (in fps)), PA_StopSpriteAnim(bool screen, u8 sprite), PA_GetSpriteAnimFrame(bool screen, u8 sprite), PA_SpriteAnimPause(bool screen, u8 sprite, bool pause)

[Bugfix] The Text was still broken on hardware, in fact !!! Now it works better... andThis is a temporary fix, which removes custom fonts

[Bugfix] Added the semicolon to PA_Save16bit (yes !)

[Examples] Reworte part of some examples to remove french text and organize them better, added a few examples to go with the wiki...


PAlib 0.73b :

[Bugfix] I think I broke the text functions in .73a, with the extended palettes... this is now fixed


PAlib 0.73a :

[Change] Extended Palettes now used by default for backgrounds (load them with PA_LoadBgPal(screen, bg_number, pal)). The old PA_LoadPal is left for backwards compatibility but should not be used anymore

[PAGfx Update] Integrates better with PAlib Background functions

[Feature] MAJOR update for the background system, has been greatly simplified with PAGfx ! I recommend everyone to go check the simple LoadBgs example to see how it now works. In order to have correct palette names, please do not input palette names for the backgrounds...  PA_LoadTiledBg and PA_LoadPAGfxLargeBg(screen, bg_number, bg_name)...

[Feature] Added 2 random functions (PA_RandMax and PA_RandMinMax), thanks to SuperStar



PAlib 0.72a :

[Feature] Delfare updated the 3d code with some call list functions ! Check the examples :)

[Bugfix] Compilation errors for linux users... again... And added a install.sh for them, too

[Change] Now sets the extended sprites on by default, as it's just better... adapted PA_LoadPal to work with that, and renamed PA_LoadSpriteExtPal to PA_LoadSpritePal (left the ExtPal function for compatibility issues). Updated the sprite examples to take that into account...



PAlib 0.71a :

[PAlibTools] Updated PAGfxConverter to version 0.5. This is a MAJOR update, as it supports backgrounds, sprites, and has Kleevah's nice frontend :)

[Examples] Updated all the examples to use PAGfxConverter instead of gfx2gba

[BugFix] Fixed the PA FS Search function, thanks to Seddy :)

[BugFix] Made the changes suggested by Gooler for compiling under linux, sorry for those !

[Bugfix] Corrected the CPPInstall.bat, should work again, sorry !

[Sourceforge] Removed the PAlib minimal and PAlib examples, please use only the complete packages now...


PAlib 0.70a : 

[Feature] Here comes the first version of PASpriteConverter !!! Beware, it needs the .Net FrameWork to work... 
What so great about it ? Nothing much yet, but great things to come... 
How does it work ? Check out the SpriteConverter example, it's really simple. 
Why do I think it's better to use it rather than gfx2gba ? 
	- Because it handles all image formats (jpeg, bmp, png, etc...), and you don't necessarily need to convert your sprite to a 256 paletted sprite... Though if you have too many colors, it'll fail...
	- You can easily set which color you want as background (Black, White, Green, or Fuschia)

[Feature] PA File System now available !!! What's so great about it ? It's easier to use than GBFS, and takes much less space in Ram (actually, 0, everything goes in the Rom :p), and it supports directories structures !! Currently, only made the PAFS plain example, I'll add the folder example soon, and then convert all the GBFS functions to it. The search functions are already available... PAFS requires the .Net framework in order to work correctly. If you don't have it, either install it, or use GBFS...
I ended up adding the folder example today, to test if it worked, and saw I had a stupid bug, now everything's perfect :p Haven't converted all the functions yet, though. I'm sort of tired of working on this, so I'll continue next week, and tweak it to have the possibility to add the file system in RAM instead of ROM, for all those WMB users :-)

[Feature] Got extended palettes for backgrounds working !! You can all thank Benny for this, he's the one who got me motivated to do it :p  It took like 5-10 minutes to change the old code I had and make it work, should have done it ages ago !!! Anyways, expect PAlib to have Extended palettes for backgrounds and sprites by default very soon, just the time for me to change the basic palette loading functions...

[Minor Feature] Added PA_SetBgColor(bool screen, u16 color), to set the background color... (thanks to SuperStar again :p), and PA_DualSetBgColor(u16 color), to set it to both screens

[Minor Fix] Corrected the unerased character on some stylus examples, thanks to SuperStar


PAlib 0.67a :

[Feature] Now works for C++ projects !!!! Added a CPPInstall.bat, which compiles PAlib to work with C++ projects... This hasn't been fully tested yet, but seems to work :-)  By default, the lib compiles to C, so if you use C++, you'll have to recompile after install...

[Feature] Added PA_SetScreenLight(screen, light), to set on/off one of the screens lights, and the example to go with it...

[Feature] PA_GetGifHeight and PA_GetGifWidth added, pretty self-explanatory...

[Feature] Mode7 comes in !! Not much yet, you can check the example, but more will come soon... I'll just have to... well... rewrite tons of that code :p  So it'll take more time than I thought, but you can already play with this code a little...

[Bugfix]  Fixed the Rotations Background, I hadn't seen I had messed them up by putting 32bit registers instead of 16...

[Update] Updated the 8bit Draw function, should be less buggy. The 8bit and 16 bit Draw functions should be even faster now, when used with big drawsizes



PAlib 0.66a : 

[Feature] Added tons of Dual Sprite functions, but they are completely untested... (too many functions to test, sorry), and for palettes

[Feature] Added PA_SetScreenSpace(space) to set the desired pixel space between the screens, for the dual functions. On emulator, 0 looks the best, but on DS I like to put 48 (which is the default value).

[Update] Updated the keyboard with a modified version of Headspin's keyboard ! It looks pretty good like that :p If you want to modify the keyboard layout, or add some keys (I left some spaces empty), you can edit the keyboard.bmp file in PAlib/lib/arm9/PA, and post it on the forum, and I'll change it if I feel it's better...   I also updated the keyboard code a little... 

[Feature] Added PA_SetKeyboardColor(color1, color2), which changes the keyboard's color. 0 for blue, 1 for red, 2 for green... Basically, color1 is for the unpressed keys, color2 for the pressed keys. Blue and red by default. Updated the keyboard example to take that into account, you can change the keyboard colors with A, B, X, and Y

[Bugfix] Delfare corrected the installer, it now creates the correct environnement variable for everyone. By the way, uninstall is not available simply because it deletes the whole devkitPro folder... which is not quite what we want ! I'll change that to uninstall just the PAlib folder some time



PAlib 0.65a : 

- Great new installer ! You can chose which components to install (examples, documentation...), and it creates an environnement variable (currently only for c:\devkitPro\PAlib, because NSIS doesn't do it just like I would like, so you'll have to modify the path if you install to another directory...) It uses solid LZMA compression, providing much smaller files than the zip files...
- Added a set of Dual functions -> easy Double screen support ! It's a WIP, so don't expect too much, but I started off with the backgrounds functions... So now, you can load, scroll, and do pretty much anything to a background directly on both screens, just like if there was just one big screen... I'll add support for custom space between the screen, bug corrections, and sprites in the next version. Doing a wrapper for each function just takes too much time right now !
- Updated the version of gfx2gba used in the examples, shouldn't return a warning about extern thingy anymore...


PAlib 0.64e : 

- Delfare's update, with his installer
- Delfare's new text functions !!


PAlib 0.64d : 

- Fixed the compilation errors with the new libnds...


PAlib 0.64c : 

- Pathfinding Fixes



PAlib 0.64b : 

- Fixed the compilation errors on cpp files...


PAlib 0.64a : 

- The documentation is back !!
- Fixed the compilation error some seemed to had (well, should be fixed, I hope...)
- Faster gif decompression
- Support for animated gifs on 16bit backgrounds
- Updated the example makefiles, and added the logos for multiboot and wifime
- Added PA_LoadGBFSImage, for easy loading of Gif, Jpeg, and Bmp from GBFS
- Added support for exporting Bmp's into buffers
- Fixed the problem with PA_SetSpriteAnim not working on sprite initialized with PA_CreateSpriteFromGfx... (untested, but should work)
- Switched the stylus code to the new libnds one... hope it's better for you !


PAlib 0.63a : 

- Fixed the Draw functions to work with different drawing sizes
- Added a Line function with different sizes
- Added a Rectangle function
- Some screens were switched on G6 ! (don't ask me why)... This is fixed (basicly, double-checks the screen on init, and switches if it was wrong)
- Added support for BMP files ! See the GBFS example (but can be used without GBFS). Currently, only supports 16, 24, and 32 bit bmps, on a 16bit background, but paletted bitmaps are coming...
- Added support for GIF files ! Thanks Birslip, and thanks to Libungif... Currently, only did the example to load on a 16bit background, but the functions will be updated soon to work on 8 bit backgrounds (with auto-detection of 8/16bit). This might have made the PAlib size go up some more, but some of the files will be removed later on, and optimisations are still to be done speedwise (I have some ideas I haven't had time to put in place...)
- Changed the makefile a bit :
	-> To easy change author/game name/website, just open the makefile and you'll see where to change...
	-> To add support for gif/bmp files in the data folder
- Lots of bug fixes/enhancements


PAlib 0.62a :

- Added a search for *.extension in PA GBFS system
- Changed the WaitForVBL again, it's even better now, and speeds up the demos on emulator
- Changed all the convert.bat files (gfx2gba...) to have the -align command in them, should fix some sprite problems
- Added 16 bit sprites ! With the example to go with it... Only thing : I discovered that 16 bit sprites need to be 128 pixels large... this means that any sprite size takes up a lot more memory than it takes in 256 or 16 color modes... example : an 8x8 pixel will take as much memory as a 128x8 one ! so 16 times more... 
- Adding 16 bit sprites made me change a line or 2 in the sprite gfx system, apparently it works perfectly, but if you get anything weird, could be my fault... (half-sprites, or double-sprites)
