More actions
MLlib | |
---|---|
General | |
Author | Minishlink |
Type | Developments |
Version | 1.3 |
License | Mixed |
Last Updated | 2011/01/19 |
Links | |
Download | |
Website | |
Source | |
The MLlib (or Minishlink's Library) is a simple library to develop on Nintendo Wii.
It is essentially a wrapper of libogc and others librairies. With MLib you can code with easy functions. It uses GX for drawing, libpng for handling PNG, FreeTypeGX for TTF fonts and libs of libogc.
Mliib was presented in the Nintendomax Wii Competition 2009 (Apps, 1st place).
Features
- Proper code so that it's nice to see.
- Easy for all.
- Friendly functions.
- Handles drawing.
- Sprite system.
- Handles PNG images.
- Special effects.
- Write graphically text.
- MP3 system.
- MOD system.
- Input (Wiimote, Nunchuk, and extensions...) system.
- And much more.
User guide
Homebrews made with MLlib:
Changelog
1.3 2011/01/19
- Compatible with DevkitPPc r22, libogc 1.8.6 and libfat 1.0.8.
- FreeTypeGX updated (0.3.1).
- Metaphrasis updated (0.1.2).
- uthash updated (1.9.1).
- Fixed: ML_AnimateSpriteEx & ML_AnimateSpriteEx2.
- Added: ML_EnableTextureAntiAliasing() (AA is disabled by default)
- Added: ML_DisableTextureAntiAliasing()
- Modified: ML_DrawRect() now can be filled or not (and bug with color fixed).
- Added: ML_DrawCircle(x, y, radius, rgba, filled).
- Fixed: Issue #1 (finally!)
- Fixed: possible buffer overflow with sprite texts.
- Fixed: sprite texts were not at the right y coordinate.
- Fixed: no more skipped characters with sprite texts when auto jumping lines. (and textBox).
- Improved: TTF text speed-up.
- Fixed: Underline and strike now applying well when jumping lines with TTF fonts.
- Fixed: Jumping lines correctly with TTF fonts.
- Fixed: anti-aliasing with modified textures.
- Added: u32 ML_ElapsedTime()
- Added: ML_Wait(ms)
- Fixed: possible code dump with ML_DrawRect() (forgot GX_End, lol).
- Fixed: ML_ElapsedTime() now returns the true elapsed time since the app launch (not since Wii launch).
- Modified: ML_DrawText -> You can now use arguments.
- Modified: ML_DrawText -> Use \n and \t instead of %n and %t, also use #cX instead of %cX.
- Updated: template Makefile, now type "make emu" and if you have Dolphin Emulator installed, the dol will load immediately.
- Fixed: Code dump when using ML_DrawText(), you have to use #n and #t instead of \n and \t, sorry.
- Fixed: possible weird things happening on the screen.
- Added strucutre ML_TextInfo to store infos about a text to be drawn (width, height, numbers of characters that will be printed) returned by ML_GetTextInfo().
- Documentation update.
- Optimizations.
1.2 2009/12/24
- Compatible with DevkitPPC r19 and libogc 1.8.1. Go update them. TTF Font support, at last. Collisions detection functions.
- Added: float ML_Distance(x1, y1, x2, y2)
- Added: float ML_TrueDistance(x1, y1, x2, y2)
- Added: bool ML_IsCollisionSpriteRect(sprite, x, y, width, height)
- Added: bool ML_IsCollisionSpriteCircle(sprite, centerX, centerY, radius)
- Added: bool ML_IsCollisionRectRect(x1, y1, width1, height1, x2, y2, width2, height2)
- Added: bool ML_IsCollisionCircleCircle(centerX1, centerY1, radius1, centerX2, centerY2, radius2)
- Added: bool ML_IsCollisionRectCircle(x, y, width, height, centerX, centerY, radius)
- Added: ML_Font structure
- Added: ML_InitFont()
- Added: ML_QuitFont()
- Added: ML_DeleteFont(ML_Font *font)
- Added: ML_LoadFontFromBuffer(ML_Font font, const uint8_t filename, FT_Long bufferSize, FT_UInt pointSize) - Added: ML_LoadFontFromFile(ML_Font font, const char filename, FT_UInt pointSize)
- Added: ML_DrawText(ML_Font font, int x, int y, char text, ...) (arguments are not currently working though)
- Fixed: relative paths now working
- Fixed: ML_ShutdownWii() now freeing like ML_Exit()
- Fixed: ML_ReturnToWii() now freeing like ML_Exit()
1.1.5b 2009/10/14
- Now compatible with DevkitPPC r18 and libogc 1.8.0. Go update them!
- Added: ML_GetFPS()
- Added: ML_AnimateSpriteEx2(ML_Sprite *sprite, bool enabled, u8 waitForXRefreshBetweenFrames, u8 from, u8 to, u8 timesLooped)
- Fixed: bug when you had more than one Wiimote
- Fixed: bug when using ML_Cursor with animated or tiled sprite
- Fixed: ML_AnimateSpriteEx wasn't doing his job properly, skipping one frame.
1.1.5 2009/09/05
- Added: ML_InitRand()
- Added: ML_Rand(min, max)
- Added: Wiimote[x].IR.Angle
- Added: New sprite flipping system (ML_FlipSpriteX, ML_FlipSpriteY, ML_FlipSpriteXY)
- Added: ML_EnableClipping(), ML_DisableClipping
- Added: ML_IsWiimoteInSpriteEx()
- Modified: ML_SplashScreen(), there's a fadeIn and a fadeOut now.
- Fixed: ML_FadeIn() and ML_FadeOut().
- Fixed: ML_IsWiimoteInSprite, it's now working well. Don't use ML_IsCollision and ML_IsCollisionEx for collision between sprite cursor and another sprite. Use ML_IsWiimoteInSprite instead - and that's logical.
- Fixed: ML_IsCollision and ML_IsCollisionEx, there was a bug with tiled or animated sprites.
- Removed: ML_FlipImageX, ML_FlipImageY
1.1 2009/06/20
- New method of programming. It uses seriously very less memory now. ML_Image, ML_Sprite, ML_Background.
- Added: ML_Screenshot(filename)
- Added: ML_IsSpriteVisible(sprite)
- Added: ML_AnimateSpriteEx(sprite, enabled, waitForXRefreshBetweenFrames, from, to)
- Added: ML_TextBox(ML_Sprite sprite, x, y, x2, y2, const char text, ...)
- Added: ML_DrawRect(int x, int y, u16 width, u16 height, u32 rgba)
- Added: ML_Debug(text)
- Added: ML_CloneImage(image1, image2)
- Added: ML_DrawSpriteTextLimit(sprite, x, y, text, limit)
- Added: ML_FlipImageX(image)
- Added: ML_FlipImageY(image)
- Added: ML_InvertImageColors(image)
- Added: ML_ApplyGrayscaleToImage(image)
- Added: ML_FlushImage(image)
- Modified: Input is now finished
- Modified: ML_GetPixelColor
- Modified: ML_SetPixelColor
- Modified: ML_SplashScreen
- Modified: ML_Cursor, so that it draws your cursor/sprite with the center of the image, and then modifies the sprite.x and sprite.y so that if you point to the left-up edge of the screen it gives you 0, 0.
- Fixes and optimizations.
1.0 2009/05/31
- First public release.
Credits
Authors:
- Minishlink
Special Thanks :
- Chaosteil
- Cid2Mizard
- Crayon
- Dhewg
- Dykam
- EvilSpoon
- Feesh
- Mollusk
- Morukutsu
- NoNameNo
- Svpe
- T4ils
- WntrMute
- Zeblackos and these communities :
- www.dev-fr.org + IRC Channel #dev-fr
- www.nintendomax.com
- www.wiibrew.org + IRC Channel #wiidev
- www.wiigen.fr
External links
- Author's website - http://louislagrange.free.fr/welcome.php
- GitHub - https://github.com/Minishlink/MLlib
- WiiBrew - https://wiibrew.org/wiki/MLlib
- Documentation - http://louislagrange.free.fr/MLlib/