Trying to do true 16:9 mode in homebrew September 19, 2014 01:14PM | Registered: 15 years ago Posts: 55 |
if (CONF_GetAspectRatio() == CONF_ASPECT_16_9) { // do widescreen specific stuff } else { // CONF_ASPECT_4_3 or error/unknown value // do non-widescreen stuff }Exact attempt was like this:
if (CONF_GetAspectRatio() == CONF_ASPECT_16_9) { // do widescreen specific stuff ML_DrawBackground(&boardBGw); ML_SetBackgroundSize(&boardBGw, 850, 480); } else // CONF_ASPECT_4_3 or error/unknown value { // do non-widescreen stuff ML_DrawBackground(&boardBGs); ML_SetBackgroundSize(&boardBGs, 640, 480); }I have tried using MLLib because it was very simple and swift to use so far but I'm willing to use any other libraries/frameworks/other-stuff for this, it doesn't have to be MLLib.
Re: Trying to do true 16:9 mode in homebrew September 20, 2014 06:38PM | Registered: 14 years ago Posts: 363 |
// 16:9 and 4:3 Screen Adjustment if (CONF_GetAspectRatio() == CONF_ASPECT_16_9) { engine_widescreen=true; }
float engine_xscale(){ if(engine_widescreen){ return 0.85f; } else return 1; }
GRRLIB_DrawImg( screen_center_x, screen_center_y, spritesheet_get_pointer(S_TITLE), 0, engine_xscale(), 1, background_col );
Re: Trying to do true 16:9 mode in homebrew September 21, 2014 02:07AM | Registered: 15 years ago Posts: 55 |
Re: Trying to do true 16:9 mode in homebrew September 21, 2014 02:26AM | Registered: 14 years ago Posts: 363 |
Re: Trying to do true 16:9 mode in homebrew September 21, 2014 11:23AM | Moderator Registered: 15 years ago Posts: 686 |
Re: Trying to do true 16:9 mode in homebrew September 22, 2014 04:56PM | Registered: 15 years ago Posts: 55 |
Re: Trying to do true 16:9 mode in homebrew September 22, 2014 05:09PM | Registered: 14 years ago Posts: 363 |
Re: Trying to do true 16:9 mode in homebrew September 24, 2014 12:58PM | Registered: 15 years ago Posts: 55 |
float engine_xscale();Inside while(1) loop:
if (CONF_GetAspectRatio() == CONF_ASPECT_16_9) { // widescreen either 848x480 or 850x480, trial and error // do widescreen specific stuff engine_widescreen=true; { if(engine_widescreen) { return 0.85f; } else return 1; } GRRLIB_DrawImg( 0, 0, &boardBGs_png, 0, engine_xscale(), 1, 000000 ); }The errors given are:
main.c:149:4: warning: passing argument 3 of 'GRRLIB_DrawImg' from incompatible pointer type GRRLIB__lib.h:108:7: note: expected 'const struct GRRLIB_texImg *' but argument is of type 'const u8 (*)[]'
GRRLIB_texImg *tex_boardBGs = GRRLIB_LoadTexture(boardBGs_png); GRRLIB_texImg *tex_boardBGw = GRRLIB_LoadTexture(boardBGw_png);And then...
GRRLIB_DrawImg( 0, 0, tex_boardBGs, 0, 1, 1, 0xFFFFFFFF );or
GRRLIB_DrawImg( 0, 0, tex_boardBGs, 0, 1, 1, 000000 );The code compiled so time to try this...