diff --git a/data/banner.bin b/data/banner.bin new file mode 100755 index 0000000..d8baca0 Binary files /dev/null and b/data/banner.bin differ diff --git a/source/console.c b/source/console.c index 34870d3..bd7c461 100644 --- a/source/console.c +++ b/source/console.c @@ -18,6 +18,7 @@ #include "sans_14_render_bin.h" #include "sans_16_kerning_bin.h" #include "sans_16_render_bin.h" +#include "banner_bin.h" /* TODO: add support for non-ASCII characters */ @@ -666,6 +667,34 @@ draw_text(gfxScreen_t screen, } } +/* Function to draw sprite, from smea/3ds_hb_menu */ +void gfxDrawSprite(gfxScreen_t screen, gfx3dSide_t side, u8* spriteData, u16 width, u16 height, s16 x, s16 y) +{ + if(!spriteData)return; + + u16 fbWidth, fbHeight; + u8* fbAdr=gfxGetFramebuffer(screen, side, &fbWidth, &fbHeight); + + if(x+width<0 || x>=fbWidth)return; + if(y+height<0 || y>=fbHeight)return; + + u16 xOffset=0, yOffset=0; + u16 widthDrawn=width, heightDrawn=height; + + if(x<0)xOffset=-x; + if(y<0)yOffset=-y; + if(x+width>=fbWidth)widthDrawn=fbWidth-x; + if(y+height>=fbHeight)heightDrawn=fbHeight-y; + widthDrawn-=xOffset; + heightDrawn-=yOffset; + + int j; + for(j=yOffset; j