diff --git a/Graphics/UI/+bamboobotleft.bmp b/Graphics/UI/+bamboobotleft.bmp new file mode 100644 index 000000000..429cb3340 Binary files /dev/null and b/Graphics/UI/+bamboobotleft.bmp differ diff --git a/Graphics/UI/+bamboobotright.bmp b/Graphics/UI/+bamboobotright.bmp new file mode 100644 index 000000000..5f2ff7cd8 Binary files /dev/null and b/Graphics/UI/+bamboobotright.bmp differ diff --git a/Graphics/UI/+bamboohorizontal.bmp b/Graphics/UI/+bamboohorizontal.bmp index 4975a943a..3ed90bfb2 100644 Binary files a/Graphics/UI/+bamboohorizontal.bmp and b/Graphics/UI/+bamboohorizontal.bmp differ diff --git a/Graphics/UI/+bambootopleft.bmp b/Graphics/UI/+bambootopleft.bmp new file mode 100644 index 000000000..74cb02ea0 Binary files /dev/null and b/Graphics/UI/+bambootopleft.bmp differ diff --git a/Graphics/UI/+bambootopright.bmp b/Graphics/UI/+bambootopright.bmp new file mode 100644 index 000000000..a3e4c6aaa Binary files /dev/null and b/Graphics/UI/+bambootopright.bmp differ diff --git a/makefile.gfx b/makefile.gfx index f1b6754cb..5b2efb6a9 100644 --- a/makefile.gfx +++ b/makefile.gfx @@ -259,8 +259,8 @@ UI_GFX_NONTRANS := faces\mr_krabs.bmp faces\patrick.bmp faces\plankton.bmp \ faces\mermaidman.bmp faces\barnacleboy.bmp faces\jack_custard.bmp UI_GFX_NONTRANS_IN := $(foreach FILE,$(UI_GFX_NONTRANS),$(UI_GFX_DIR)/$(FILE)) -UI_GFX_TRANS := +vbamboo.bmp +vbambootl.bmp +vbambootr.bmp +vbamboobl.bmp +vbamboobr.bmp \ - +hbamboo.bmp +hbambootl.bmp +hbambootr.bmp +hbamboobl.bmp +hbamboobr.bmp \ +UI_GFX_TRANS := +bambootopleft.bmp +bamboobotleft.bmp +bambootopright.bmp +bamboobotright.bmp \ + +bamboohorizontal.bmp +bamboovertical.bmp \ +butU.bmp +butD.bmp +butL.bmp +butR.bmp \ +butC.bmp +butS.bmp +butX.bmp +butT.bmp UI_GFX_TRANS_IN := $(foreach FILE,$(UI_GFX_TRANS),$(UI_GFX_DIR)/$(FILE)) diff --git a/source/gui/gui.cpp b/source/gui/gui.cpp index bc0f9d8ec..007fe683b 100644 --- a/source/gui/gui.cpp +++ b/source/gui/gui.cpp @@ -432,102 +432,62 @@ void initGUIStuff() Params: Returns: ---------------------------------------------------------------------- */ -int abcd=3; void drawBambooBorder(int _x,int _y,int _w,int _h,int _ot) { - sFrameHdr *vbam,*hbam,*spr1,*spr2; + sFrameHdr *vbam,*hbam,*corner; int totalSize,numSprites,step; int x1,y1,x2,y2; int i,x,y; + vbam=s_uiSpriteBank->getFrameHeader(FRM__BAMBOOVERTICAL); + hbam=s_uiSpriteBank->getFrameHeader(FRM__BAMBOOHORIZONTAL); + corner=s_uiSpriteBank->getFrameHeader(FRM__BAMBOOTOPLEFT); // All corners are the same size - vbam=s_uiSpriteBank->getFrameHeader(FRM__VBAMBOO); - hbam=s_uiSpriteBank->getFrameHeader(FRM__HBAMBOO); - spr1=spr2=0; // Just to keep the compiler quiet.. :/ - - // Top & bottom - totalSize=_w+vbam->W-hbam->W; + // Top and bottom + totalSize=_w-((corner->W+corner->W)/2)-hbam->W; numSprites=(totalSize/hbam->W)+1; -if(abcd&1) if(numSprites>1) { step=(totalSize<<4)/(numSprites-1); - x1=(_x-(vbam->W/2)+(hbam->W/2))<<4; + x1=1+(_x+(corner->W/2)+(hbam->W/2)-(hbam->W/2)+hbam->W-hbam->W-1)<<4; y1=_y-(hbam->H/2); y2=y1+_h; for(i=0;i>4)-(hbam->W/2); - if(i==0) - { - spr1=s_uiSpriteBank->getFrameHeader(FRM__HBAMBOOTL); - spr2=s_uiSpriteBank->getFrameHeader(FRM__HBAMBOOBL); - s_uiSpriteBank->printFT4(spr1,x+hbam->W-spr1->W-1,y1,0,0,_ot); - s_uiSpriteBank->printFT4(spr2,x+hbam->W-spr2->W-1,y2,0,0,_ot); - } - else if(iprintFT4(hbam,x,y1,0,0,_ot); - s_uiSpriteBank->printFT4(hbam,x,y2,0,0,_ot); - } - else - { - s_uiSpriteBank->printFT4(FRM__HBAMBOOTR,x,y1,0,0,_ot); - s_uiSpriteBank->printFT4(FRM__HBAMBOOBR,x,y2,0,0,_ot); - } + x=x1>>4; + s_uiSpriteBank->printFT4(hbam,x,y1,0,0,_ot); + s_uiSpriteBank->printFT4(hbam,x,y2,0,0,_ot); x1+=step; } } - else - { - x1=_x-(_w-hbam->W)/2; - y1=_y-(hbam->H/2); - y2=y1+_h; - s_uiSpriteBank->printFT4(hbam,x1,y1,0,0,_ot); - s_uiSpriteBank->printFT4(hbam,x1,y2,0,0,_ot); - } - // Left & right - totalSize=_h+hbam->H-vbam->H; + // Left and right + totalSize=_h-((corner->H+corner->H)/2)-vbam->H; numSprites=(totalSize/vbam->H)+1; -if(abcd&2) if(numSprites>1) { step=(totalSize<<4)/(numSprites-1); - y1=(_y-(hbam->H/2)+(vbam->H/2))<<4; x1=_x-(vbam->W/2); x2=x1+_w; + y1=1+(_y+(corner->H/2)+(vbam->H/2)-(vbam->H/2)+vbam->H-vbam->H-1)<<4; for(i=0;i>4)-(vbam->H/2); - if(i==0) - { - spr1=s_uiSpriteBank->getFrameHeader(FRM__VBAMBOOTL); - spr2=s_uiSpriteBank->getFrameHeader(FRM__VBAMBOOTR); - s_uiSpriteBank->printFT4(spr1,x1,y+vbam->H-spr1->H-1,0,0,_ot); - s_uiSpriteBank->printFT4(spr2,x2,y+vbam->H-spr2->H-1,0,0,_ot); - } - else if(iprintFT4(vbam,x1,y,0,0,_ot); - s_uiSpriteBank->printFT4(vbam,x2,y,0,0,_ot); - } - else - { - s_uiSpriteBank->printFT4(FRM__VBAMBOOBL,x1,y,0,0,_ot); - s_uiSpriteBank->printFT4(FRM__VBAMBOOBR,x2,y,0,0,_ot); - } + y=y1>>4; + s_uiSpriteBank->printFT4(vbam,x1,y,0,0,_ot); + s_uiSpriteBank->printFT4(vbam,x2,y,0,0,_ot); y1+=step; } } - else - { - x1=_x-(vbam->W/2); - x2=x1+_w; - y1=_y+(_h-vbam->H)/2; - s_uiSpriteBank->printFT4(vbam,x1,y1,0,0,_ot); - s_uiSpriteBank->printFT4(vbam,x2,y1,0,0,_ot); - } + + // Draw Corners + corner=s_uiSpriteBank->getFrameHeader(FRM__BAMBOOTOPLEFT); + s_uiSpriteBank->printFT4(corner,_x-(corner->W/2),_y-(corner->H/2),0,0,_ot); + corner=s_uiSpriteBank->getFrameHeader(FRM__BAMBOOTOPRIGHT); + s_uiSpriteBank->printFT4(corner,_x+_w-(corner->W/2),_y-(corner->H/2),0,0,_ot); + corner=s_uiSpriteBank->getFrameHeader(FRM__BAMBOOBOTRIGHT); + s_uiSpriteBank->printFT4(corner,_x+_w-(corner->W/2),_y+_h-(corner->H/2),0,0,_ot); + corner=s_uiSpriteBank->getFrameHeader(FRM__BAMBOOBOTLEFT); + s_uiSpriteBank->printFT4(corner,_x-(corner->W/2),_y+_h-(corner->H/2),0,0,_ot); }