mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-11-18 09:19:17 +01:00
Changed the game grid just a little bit. Press up/down to change the number of rows. if you have less that 42 or 16 games it wont let you use 3 or 2 rows respectively. ( at least that was the plan. it may not work that way.)
also made functions to skew buttons and images used for this.
This commit is contained in:
parent
ad2eb5c182
commit
ad05aa93c1
@ -101,6 +101,9 @@ extern const u32 settings_background_png_size;
|
||||
extern const u8 nocover_png[];
|
||||
extern const u32 nocover_png_size;
|
||||
|
||||
extern const u8 nocoverFlat_png[];
|
||||
extern const u32 nocoverFlat_png_size;
|
||||
|
||||
extern const u8 nodisc_png[];
|
||||
extern const u32 nodisc_png_size;
|
||||
|
||||
|
@ -716,7 +716,6 @@ debugTxt = new GuiText(linebuf, 18, (GXColor){0,0,0, 255});
|
||||
|
||||
if ((backBtn.GetState()==STATE_CLICKED)||(backBtn.GetState()==STATE_HELD)){
|
||||
choice=1;
|
||||
eatADick();
|
||||
synopsisTxt = NULL;
|
||||
break;}
|
||||
|
||||
@ -757,6 +756,7 @@ debugTxt = new GuiText(linebuf, 18, (GXColor){0,0,0, 255});
|
||||
HaltGui();
|
||||
mainWindow->Remove(&gameinfoWindow);
|
||||
mainWindow->SetState(STATE_DEFAULT);
|
||||
eatADick();
|
||||
ResumeGui();}
|
||||
else {
|
||||
gameinfoWindow2.SetEffect(EFFECT_SLIDE_LEFT | EFFECT_SLIDE_OUT, 50);
|
||||
|
BIN
source/images/nocoverFlat.png
Normal file
BIN
source/images/nocoverFlat.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
@ -635,6 +635,24 @@ class GuiImage : public GuiElement
|
||||
//!\param s Alpha amount to draw over the image
|
||||
void SetStripe(int s);
|
||||
s32 z;
|
||||
void SetSkew(int XX1, int YY1,int XX2, int YY2,int XX3, int YY3,int XX4, int YY4);
|
||||
|
||||
int xx1;
|
||||
int yy1;
|
||||
int xx2;
|
||||
int yy2;
|
||||
int xx3;
|
||||
int yy3;
|
||||
int xx4;
|
||||
int yy4;
|
||||
int rxx1;
|
||||
int ryy1;
|
||||
int rxx2;
|
||||
int ryy2;
|
||||
int rxx3;
|
||||
int ryy3;
|
||||
int rxx4;
|
||||
int ryy4;
|
||||
protected:
|
||||
int imgType; //!< Type of image data (IMAGE_TEXTURE, IMAGE_COLOR, IMAGE_DATA)
|
||||
u8 * image; //!< Poiner to image data. May be shared with GuiImageData data
|
||||
@ -843,6 +861,7 @@ class GuiButton : public GuiElement
|
||||
void Update(GuiTrigger * t);
|
||||
//!Deactivate/Activate pointing on Games while B scrolling
|
||||
void ScrollIsOn(int f);
|
||||
void SetSkew(int XX1, int YY1,int XX2, int YY2,int XX3, int YY3,int XX4, int YY4);
|
||||
protected:
|
||||
GuiImage * image; //!< Button image (default)
|
||||
GuiImage * imageOver; //!< Button image for STATE_SELECTED
|
||||
|
@ -255,6 +255,20 @@ void GuiButton::RemoveSoundClick()
|
||||
LOCK(this);
|
||||
soundClick = NULL;
|
||||
}
|
||||
void GuiButton::SetSkew(int XX1, int YY1,int XX2, int YY2,int XX3, int YY3,int XX4, int YY4)
|
||||
{
|
||||
|
||||
image->xx1 = XX1;
|
||||
image->yy1 = YY1;
|
||||
image->xx2 = XX2;
|
||||
image->yy2 = YY2;
|
||||
image->xx3 = XX3;
|
||||
image->yy3 = YY3;
|
||||
image->xx4 = XX4;
|
||||
image->yy4 = YY4;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Draw the button on screen
|
||||
*/
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -18,25 +18,34 @@ class GuiGameGrid : public GuiElement
|
||||
void Update(GuiTrigger * t);
|
||||
int GetOffset();
|
||||
void Reload(struct discHdr * l, int count);
|
||||
//GuiText * optionVal[PAGESIZE];
|
||||
void ChangeRows(int n);
|
||||
protected:
|
||||
int selectedItem;
|
||||
int listOffset;
|
||||
int scrollbaron;
|
||||
int pagesize;
|
||||
int changed;
|
||||
int firstPic;
|
||||
int speed;
|
||||
int clickedItem;
|
||||
int rows;
|
||||
|
||||
struct discHdr * gameList;
|
||||
int gameCnt;
|
||||
|
||||
int * gameIndex;
|
||||
int * bob;
|
||||
|
||||
GuiButton ** game;
|
||||
|
||||
GuiImage ** coverImg;
|
||||
GuiImageData ** cover;
|
||||
|
||||
|
||||
GuiText * debugTxt;
|
||||
|
||||
GuiButton * btnRight;
|
||||
GuiButton * btnLeft;
|
||||
GuiButton * btnRowUp;
|
||||
GuiButton * btnRowDown;
|
||||
|
||||
GuiImage * btnLeftImg;
|
||||
GuiImage * btnRightImg;
|
||||
@ -46,12 +55,12 @@ class GuiGameGrid : public GuiElement
|
||||
|
||||
GuiSound * btnSoundOver;
|
||||
GuiSound * btnSoundClick;
|
||||
|
||||
GuiTrigger * trigA;
|
||||
GuiTrigger * trigL;
|
||||
GuiTrigger * trigR;
|
||||
GuiTrigger * trigPlus;
|
||||
GuiTrigger * trigMinus;
|
||||
GuiTrigger * trigHeldA;
|
||||
GuiTrigger * trig1;
|
||||
GuiTrigger * trig2;
|
||||
};
|
||||
#endif
|
||||
|
@ -21,6 +21,14 @@ GuiImage::GuiImage()
|
||||
tile = -1;
|
||||
stripe = 0;
|
||||
widescreen = 0;
|
||||
xx1 = 0;
|
||||
yy1 = 0;
|
||||
xx2 = 0;
|
||||
yy2 = 0;
|
||||
xx3 = 0;
|
||||
yy3 = 0;
|
||||
xx4 = 0;
|
||||
yy4 = 0;
|
||||
imgType = IMAGE_DATA;
|
||||
}
|
||||
|
||||
@ -33,6 +41,14 @@ GuiImage::GuiImage(GuiImageData * img)
|
||||
tile = -1;
|
||||
stripe = 0;
|
||||
widescreen = 0;
|
||||
xx1 = 0;
|
||||
yy1 = 0;
|
||||
xx2 = 0;
|
||||
yy2 = 0;
|
||||
xx3 = 0;
|
||||
yy3 = 0;
|
||||
xx4 = 0;
|
||||
yy4 = 0;
|
||||
imgType = IMAGE_DATA;
|
||||
}
|
||||
|
||||
@ -45,6 +61,14 @@ GuiImage::GuiImage(u8 * img, int w, int h)
|
||||
tile = -1;
|
||||
stripe = 0;
|
||||
widescreen = 0;
|
||||
xx1 = 0;
|
||||
yy1 = 0;
|
||||
xx2 = 0;
|
||||
yy2 = 0;
|
||||
xx3 = 0;
|
||||
yy3 = 0;
|
||||
xx4 = 0;
|
||||
yy4 = 0;
|
||||
imgType = IMAGE_TEXTURE;
|
||||
}
|
||||
|
||||
@ -57,6 +81,14 @@ GuiImage::GuiImage(int w, int h, GXColor c)
|
||||
tile = -1;
|
||||
stripe = 0;
|
||||
widescreen = 0;
|
||||
xx1 = 0;
|
||||
yy1 = 0;
|
||||
xx2 = 0;
|
||||
yy2 = 0;
|
||||
xx3 = 0;
|
||||
yy3 = 0;
|
||||
xx4 = 0;
|
||||
yy4 = 0;
|
||||
imgType = IMAGE_COLOR;
|
||||
|
||||
if(!image)
|
||||
@ -167,6 +199,21 @@ void GuiImage::SetStripe(int s)
|
||||
stripe = s;
|
||||
}
|
||||
|
||||
void GuiImage::SetSkew(int XX1, int YY1,int XX2, int YY2,int XX3, int YY3,int XX4, int YY4)
|
||||
{
|
||||
|
||||
xx1 = XX1;
|
||||
yy1 = YY1;
|
||||
xx2 = XX2;
|
||||
yy2 = YY2;
|
||||
xx3 = XX3;
|
||||
yy3 = YY3;
|
||||
xx4 = XX4;
|
||||
yy4 = YY4;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void GuiImage::ColorStripe(int shift)
|
||||
{
|
||||
LOCK(this);
|
||||
@ -225,6 +272,7 @@ void GuiImage::ColorStripe(int shift)
|
||||
/**
|
||||
* Draw the button on screen
|
||||
*/
|
||||
|
||||
void GuiImage::Draw()
|
||||
{
|
||||
LOCK(this);
|
||||
@ -238,24 +286,29 @@ void GuiImage::Draw()
|
||||
|
||||
if(currAngleDyn)
|
||||
imageangle = currAngleDyn;
|
||||
|
||||
|
||||
|
||||
if(tile > 0)
|
||||
{
|
||||
for(int i=0; i<tile; i++)
|
||||
Menu_DrawImg(currLeft+width*i, this->GetTop(), 0, width, height, image, imageangle, widescreen ? currScale*0.80 : currScale, currScale, this->GetAlpha());
|
||||
}
|
||||
Menu_DrawImg(currLeft+width*i, this->GetTop(), 0, width, height, image, imageangle, widescreen ? currScale*0.80 : currScale, currScale, this->GetAlpha(), xx1,yy1,xx2,yy2,xx3,yy3,xx4,yy4);
|
||||
}
|
||||
else
|
||||
{
|
||||
// temporary (maybe), used to correct offset for scaled images
|
||||
if(scale != 1)
|
||||
currLeft = currLeft - width/2 + (width*scale)/2;
|
||||
|
||||
Menu_DrawImg(currLeft, this->GetTop(), 0, width, height, image, imageangle, widescreen ? currScale*0.80 : currScale, currScale, this->GetAlpha());
|
||||
}
|
||||
Menu_DrawImg(currLeft, this->GetTop(), 0, width, height, image, imageangle, widescreen ? currScale*0.80 : currScale, currScale, this->GetAlpha(), xx1,yy1,xx2,yy2,xx3,yy3,xx4,yy4);
|
||||
}
|
||||
|
||||
if(stripe > 0)
|
||||
for(int y=0; y < this->GetHeight(); y+=6)
|
||||
Menu_DrawRectangle(currLeft,this->GetTop()+y,this->GetWidth(),3,(GXColor){0, 0, 0, stripe},1);
|
||||
|
||||
|
||||
|
||||
|
||||
this->UpdateEffects();
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ UpdateGUI (void *arg)
|
||||
{
|
||||
if(userInput[i].wpad.ir.valid)
|
||||
Menu_DrawImg(userInput[i].wpad.ir.x-48, userInput[i].wpad.ir.y-48, 200.0,
|
||||
96, 96, pointer[i]->GetImage(), userInput[i].wpad.ir.angle, CFG.widescreen? 0.8 : 1, 1, 255);
|
||||
96, 96, pointer[i]->GetImage(), userInput[i].wpad.ir.angle, CFG.widescreen? 0.8 : 1, 1, 255,0,0,0,0,0,0,0,0);
|
||||
if(Settings.rumble == RumbleOn)
|
||||
{
|
||||
DoRumble(i);
|
||||
|
@ -242,8 +242,8 @@ void Menu_Render()
|
||||
*
|
||||
* Draws the specified image on screen using GX
|
||||
***************************************************************************/
|
||||
void Menu_DrawImg(f32 xpos, f32 ypos, f32 zpos, u16 width, u16 height, u8 data[],
|
||||
f32 degrees, f32 scaleX, f32 scaleY, u8 alpha)
|
||||
void Menu_DrawImg(f32 xpos, f32 ypos, f32 zpos, f32 width, f32 height, u8 data[],
|
||||
f32 degrees, f32 scaleX, f32 scaleY, u8 alpha, int XX1, int YY1,int XX2, int YY2,int XX3, int YY3,int XX4, int YY4)
|
||||
{
|
||||
if(data == NULL)
|
||||
return;
|
||||
@ -270,23 +270,27 @@ void Menu_DrawImg(f32 xpos, f32 ypos, f32 zpos, u16 width, u16 height, u8 data[]
|
||||
guMtxTransApply(m,m, xpos+width+0.5,ypos+height+0.5,zpos);
|
||||
guMtxConcat (GXmodelView2D, m, mv);
|
||||
GX_LoadPosMtxImm (mv, GX_PNMTX0);
|
||||
//
|
||||
|
||||
GX_Begin(GX_QUADS, GX_VTXFMT0,4);
|
||||
GX_Position3f32(-width, -height, 0);
|
||||
GX_Position3f32(-width+XX1 , -height+YY1, 0);
|
||||
GX_Color4u8(0xFF,0xFF,0xFF,alpha);
|
||||
GX_TexCoord2f32(0, 0);
|
||||
|
||||
GX_Position3f32(width, -height, 0);
|
||||
GX_Position3f32(width+XX2, -height+YY2, 0);
|
||||
GX_Color4u8(0xFF,0xFF,0xFF,alpha);
|
||||
GX_TexCoord2f32(1, 0);
|
||||
|
||||
GX_Position3f32(width, height, 0);
|
||||
GX_Position3f32(width+XX3, height+YY3, 0);
|
||||
GX_Color4u8(0xFF,0xFF,0xFF,alpha);
|
||||
GX_TexCoord2f32(1, 1);
|
||||
|
||||
GX_Position3f32(-width, height, 0);
|
||||
GX_Position3f32(-width+XX4, height+YY4, 0);
|
||||
GX_Color4u8(0xFF,0xFF,0xFF,alpha);
|
||||
GX_TexCoord2f32(0, 1);
|
||||
|
||||
//
|
||||
|
||||
GX_End();
|
||||
GX_LoadPosMtxImm (GXmodelView2D, GX_PNMTX0);
|
||||
|
||||
|
@ -15,7 +15,7 @@ void InitVideo ();
|
||||
void StopGX();
|
||||
void ResetVideo_Menu();
|
||||
void Menu_Render();
|
||||
void Menu_DrawImg(f32 xpos, f32 ypos, f32 zpos, u16 width, u16 height, u8 data[], f32 degrees, f32 scaleX, f32 scaleY, u8 alphaF );
|
||||
void Menu_DrawImg(f32 xpos, f32 ypos, f32 zpos, f32 width, f32 height, u8 data[], f32 degrees, f32 scaleX, f32 scaleY, u8 alphaF ,int XX1, int YY1,int XX2, int YY2,int XX3, int YY3,int XX4, int YY4);
|
||||
void Menu_DrawRectangle(f32 x, f32 y, f32 width, f32 height, GXColor color, u8 filled);
|
||||
|
||||
extern int screenheight;
|
||||
|
Loading…
Reference in New Issue
Block a user