mirror of
https://github.com/J-D-K/JKSV.git
synced 2026-04-26 01:59:55 -05:00
Layout Update
This commit is contained in:
parent
4e592a4c00
commit
1a33cd9ddc
2
Makefile
2
Makefile
|
|
@ -38,7 +38,7 @@ INCLUDES := inc
|
|||
EXEFS_SRC := exefs_src
|
||||
APP_TITLE := JKSV
|
||||
APP_AUTHOR := JK_
|
||||
APP_VERSION := 10/14/2018
|
||||
APP_VERSION := 11/7/2018
|
||||
ROMFS := romfs
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
|
|
|
|||
BIN
romfs/img/icn/icnDrk.png
Normal file
BIN
romfs/img/icn/icnDrk.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
romfs/img/icn/icnLght.png
Normal file
BIN
romfs/img/icn/icnLght.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -67,7 +67,7 @@ int main(int argc, const char *argv[])
|
|||
ui::mstate = ui::clsMode ? CLS_USR : USR_SEL;
|
||||
}
|
||||
}
|
||||
else if((held & KEY_ZL) && (held & KEY_ZR) && (held & KEY_Y) && ui::confirm("You are using this mode at your own risk."))
|
||||
else if((held & KEY_ZL) && (held & KEY_ZR) && (held & KEY_MINUS) && ui::confirm("You are using this mode at your own risk."))
|
||||
{
|
||||
fsdevUnmountDevice("sv");
|
||||
data::curData.setType(FsSaveDataType_SystemSaveData);
|
||||
|
|
|
|||
57
src/ui.cpp
57
src/ui.cpp
|
|
@ -11,7 +11,7 @@
|
|||
#include "util.h"
|
||||
#include "file.h"
|
||||
|
||||
static std::string TITLE_TEXT = "JKSV - 10/14/2018";
|
||||
#define VER_STRING "v. 11/7/2018"
|
||||
|
||||
//background that can be drawn from "/JKSV/back.jpg"
|
||||
//txtSide and fldSide are to fake alpha blending so the framerate doesn't suffer
|
||||
|
|
@ -43,7 +43,7 @@ namespace ui
|
|||
|
||||
tex *buttonA, *buttonB, *buttonX, *buttonY, *buttonMin;
|
||||
|
||||
tex *selBox;
|
||||
tex *selBox, *icn;
|
||||
|
||||
font *shared;
|
||||
|
||||
|
|
@ -68,6 +68,8 @@ namespace ui
|
|||
buttonY = texLoadPNGFile("romfs:/img/button/buttonY_drk.png");
|
||||
buttonMin = texLoadPNGFile("romfs:/img/button/buttonMin_drk.png");
|
||||
|
||||
icn = texLoadPNGFile("romfs:/img/icn/icnDrk.png");
|
||||
|
||||
clearClr = clrCreateU32(0xFFEBEBEB);
|
||||
mnuTxt = clrCreateU32(0xFF000000);
|
||||
txtClr = clrCreateU32(0xFFFFFFFF);
|
||||
|
|
@ -92,6 +94,7 @@ namespace ui
|
|||
buttonX = texLoadPNGFile("romfs:/img/button/buttonX_lght.png");
|
||||
buttonY = texLoadPNGFile("romfs:/img/button/buttonY_lght.png");
|
||||
buttonMin = texLoadPNGFile("romfs:/img/button/buttonMin_lght.png");
|
||||
icn = texLoadPNGFile("romfs:/img/icn/icnLght.png");
|
||||
|
||||
clearClr = clrCreateU32(0xFF2D2D2D);
|
||||
mnuTxt = clrCreateU32(0xFFFFFFFF);
|
||||
|
|
@ -125,13 +128,13 @@ namespace ui
|
|||
{
|
||||
background = texLoadJPEGFile(std::string(fs::getWorkDir() + "back.jpg").c_str());
|
||||
//Fake alpha Rects
|
||||
fldSide = texCreateFromPart(background, 16, 66, 320, 592);
|
||||
fldSide = texCreateFromPart(background, 30, 88, 320, 560);
|
||||
clr tempRect = sideRect;
|
||||
tempRect.a = 0xAA;
|
||||
drawRectAlpha(fldSide, 0, 0, 320, 592, tempRect);
|
||||
drawRectAlpha(fldSide, 0, 0, 320, 560, tempRect);
|
||||
|
||||
txtSide = texCreateFromPart(background, 16, 66, 448, 592);
|
||||
drawRectAlpha(txtSide, 0, 0, 448, 592, tempRect);
|
||||
txtSide = texCreateFromPart(background, 30, 88, 448, 560);
|
||||
drawRectAlpha(txtSide, 0, 0, 448, 560, tempRect);
|
||||
}
|
||||
|
||||
advCopyMenuPrep();
|
||||
|
|
@ -164,7 +167,7 @@ namespace ui
|
|||
|
||||
void setupSelButtons()
|
||||
{
|
||||
int x = 70, y = 80;
|
||||
int x = 70, y = 98;
|
||||
for(int i = 0; i < 32; y += 144)
|
||||
{
|
||||
int endRow = i + 8;
|
||||
|
|
@ -218,48 +221,33 @@ namespace ui
|
|||
else
|
||||
texDrawNoAlpha(background, frameBuffer, 0, 0);
|
||||
|
||||
drawText(TITLE_TEXT.c_str(), frameBuffer, shared, 32, 20, 24, mnuTxt);
|
||||
texDraw(icn, frameBuffer, 66, 27);
|
||||
drawText("JKSV", frameBuffer, shared, 130, 38, 24, mnuTxt);
|
||||
drawText(VER_STRING, frameBuffer, shared, 8, 702, 12, mnuTxt);
|
||||
drawRect(frameBuffer, 30, 87, 1220, 1, divClr);
|
||||
drawRect(frameBuffer, 30, 648, 1220, 1, divClr);
|
||||
|
||||
switch(mstate)
|
||||
{
|
||||
case FLD_SEL:
|
||||
drawRect(frameBuffer, 16, 64, 1248, 1, divClr);
|
||||
|
||||
if(fldSide == NULL)
|
||||
drawRect(frameBuffer, 16, 66, 320, 592, sideRect);
|
||||
drawRect(frameBuffer, 30, 88, 320, 560, sideRect);
|
||||
else
|
||||
texDraw(fldSide, frameBuffer, 16, 66);
|
||||
|
||||
drawRect(frameBuffer, 16, 656, 1248, 1, divClr);
|
||||
break;
|
||||
|
||||
case USR_SEL:
|
||||
case TTL_SEL:
|
||||
drawRect(frameBuffer, 16, 64, 1248, 1, divClr);
|
||||
|
||||
drawRect(frameBuffer, 16, 656, 1248, 1, divClr);
|
||||
texDraw(fldSide, frameBuffer, 30, 88);
|
||||
break;
|
||||
|
||||
case ADV_MDE:
|
||||
drawRect(frameBuffer, 16, 64, 1248, 1, divClr);
|
||||
|
||||
drawRect(frameBuffer, 640, 64, 1, 592, divClr);
|
||||
|
||||
drawRect(frameBuffer, 16, 656, 1248, 1, divClr);
|
||||
drawRect(frameBuffer, 640, 87, 1, 560, divClr);
|
||||
break;
|
||||
|
||||
case CLS_TTL:
|
||||
case CLS_USR:
|
||||
case CLS_FLD:
|
||||
case DEV_MNU:
|
||||
drawRect(frameBuffer, 16, 64, 1248, 1, divClr);
|
||||
|
||||
if(txtSide == NULL)
|
||||
drawRect(frameBuffer, 16, 65, 448, 592, sideRect);
|
||||
drawRect(frameBuffer, 30, 88, 448, 560, sideRect);
|
||||
else
|
||||
texDraw(txtSide, frameBuffer, 16, 66);
|
||||
|
||||
drawRect(frameBuffer, 16, 656, 1248, 1, divClr);
|
||||
texDraw(txtSide, frameBuffer, 30, 88);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -275,7 +263,10 @@ namespace ui
|
|||
texDraw(buttonY, frameBuffer, startX += 72, 672);
|
||||
drawText("Dump All", frameBuffer, shared, startX += 38, 680, 14, mnuTxt);
|
||||
texDraw(buttonX, frameBuffer, startX += 96, 672);
|
||||
drawText("Text Mode", frameBuffer, shared, startX += 38, 680, 14, mnuTxt);
|
||||
if(ui::clsMode)
|
||||
drawText("GUI Mode", frameBuffer, shared, startX += 38, 680, 14, mnuTxt);
|
||||
else
|
||||
drawText("Text Mode", frameBuffer, shared, startX += 38, 680, 14, mnuTxt);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -320,8 +320,8 @@ namespace ui
|
|||
|
||||
void advModePrep()
|
||||
{
|
||||
saveMenu.setParams(16, 88, 616);
|
||||
sdMenu.setParams(648, 88, 616);
|
||||
saveMenu.setParams(30, 98, 602);
|
||||
sdMenu.setParams(648, 98, 602);
|
||||
copyMenu.setParams(472, 278, 304);
|
||||
|
||||
savePath = "sv:/";
|
||||
|
|
@ -357,8 +357,8 @@ namespace ui
|
|||
saveMenu.draw(mnuTxt);
|
||||
sdMenu.draw(mnuTxt);
|
||||
|
||||
drawTextWrap(savePath.c_str(), frameBuffer, ui::shared, 16, 668, 14, mnuTxt, 600);
|
||||
drawTextWrap(sdPath.c_str(), frameBuffer, ui::shared, 656, 668, 14, mnuTxt, 600);
|
||||
drawTextWrap(savePath.c_str(), frameBuffer, ui::shared, 30, 654, 14, mnuTxt, 600);
|
||||
drawTextWrap(sdPath.c_str(), frameBuffer, ui::shared, 640, 654, 14, mnuTxt, 600);
|
||||
|
||||
//OH BOY HERE WE GO
|
||||
if(down & KEY_A)
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ namespace ui
|
|||
{
|
||||
userMenu.reset();
|
||||
|
||||
userMenu.setParams(28, 88, 424);
|
||||
userMenu.setParams(42, 98, 424);
|
||||
|
||||
for(unsigned i = 0; i < data::users.size(); i++)
|
||||
userMenu.addOpt(data::users[i].getUsername());
|
||||
|
|
@ -28,7 +28,7 @@ namespace ui
|
|||
void clsTitlePrep(data::user& u)
|
||||
{
|
||||
titleMenu.reset();
|
||||
titleMenu.setParams(28, 88, 424);
|
||||
titleMenu.setParams(42, 98, 424);
|
||||
|
||||
for(unsigned i = 0; i < u.titles.size(); i++)
|
||||
titleMenu.addOpt(u.titles[i].getTitle());
|
||||
|
|
@ -36,7 +36,7 @@ namespace ui
|
|||
|
||||
void clsFolderPrep(data::user& usr, data::titledata& dat)
|
||||
{
|
||||
folderMenu.setParams(472, 88, 790);
|
||||
folderMenu.setParams(488, 98, 762);
|
||||
folderMenu.reset();
|
||||
|
||||
util::makeTitleDir(usr, dat);
|
||||
|
|
@ -228,7 +228,7 @@ namespace ui
|
|||
void devMenuPrep()
|
||||
{
|
||||
devMenu.reset();
|
||||
devMenu.setParams(28, 88, 424);
|
||||
devMenu.setParams(42, 98, 424);
|
||||
devMenu.addOpt("Bis: PRODINFOF");
|
||||
devMenu.addOpt("Bis: SAFE");
|
||||
devMenu.addOpt("Bis: SYSTEM");
|
||||
|
|
@ -396,7 +396,7 @@ namespace ui
|
|||
std::string delPath = "sv:/Contents/placehld/";
|
||||
|
||||
fs::dirList plcHld(delPath);
|
||||
for(unsigned i = 0; i <plcHld.getCount(); i++)
|
||||
for(unsigned i = 0; i < plcHld.getCount(); i++)
|
||||
{
|
||||
std::string fullPath = delPath + plcHld.getItem(i);
|
||||
std::remove(fullPath.c_str());
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ namespace ui
|
|||
{
|
||||
void folderMenuPrepare(data::user& usr, data::titledata& dat)
|
||||
{
|
||||
folderMenu.setParams(340, 88, 924);
|
||||
folderMenu.setParams(356, 98, 894);
|
||||
folderMenu.reset();
|
||||
|
||||
util::makeTitleDir(usr, dat);
|
||||
|
|
@ -39,8 +39,8 @@ namespace ui
|
|||
//Draw folder menu
|
||||
folderMenu.draw(mnuTxt);
|
||||
|
||||
data::curData.icon.draw(48, 88);
|
||||
drawTextWrap(folderMenuInfo.c_str(), frameBuffer, ui::shared, 32, 360, 18, ui::mnuTxt, 224);
|
||||
data::curData.icon.draw(62, 98);
|
||||
drawTextWrap(folderMenuInfo.c_str(), frameBuffer, ui::shared, 46, 370, 18, ui::mnuTxt, 224);
|
||||
|
||||
if(down & KEY_A || fldNav[0].getEvent() == BUTTON_RELEASED || folderMenu.getTouchEvent() == MENU_DOUBLE_REL)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace ui
|
|||
|
||||
void menu::addOpt(const std::string& add)
|
||||
{
|
||||
if(textGetWidth(add.c_str(), ui::shared, 18) < rW - 16 || rW == 0)
|
||||
if(textGetWidth(add.c_str(), ui::shared, 18) < rW - 32 || rW == 0)
|
||||
opt.push_back(add);
|
||||
else
|
||||
{
|
||||
|
|
@ -39,7 +39,7 @@ namespace ui
|
|||
|
||||
tmp += add.substr(i, untCnt);
|
||||
i += untCnt;
|
||||
if(textGetWidth(tmp.c_str(), ui::shared, 18) >= rW - 16)
|
||||
if(textGetWidth(tmp.c_str(), ui::shared, 18) >= rW - 32)
|
||||
{
|
||||
opt.push_back(tmp);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ namespace ui
|
|||
static bool clrAdd = true;
|
||||
|
||||
//Selected rectangle X and Y.
|
||||
static unsigned selRectX = 64, selRectY = 74;
|
||||
static unsigned selRectX = 64, selRectY = 92;
|
||||
|
||||
static ui::touchTrack track;
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ namespace ui
|
|||
|
||||
texSwapColors(ui::selBox, clrPrev, clrUpdt);
|
||||
|
||||
unsigned x = 70, y = 80;
|
||||
unsigned x = 70, y = 98;
|
||||
|
||||
unsigned endTitle = start + 32;
|
||||
if(start + 32 > (int)data::curUser.titles.size())
|
||||
|
|
@ -58,7 +58,7 @@ namespace ui
|
|||
//draw Rect so it's always behind icons
|
||||
texDraw(ui::selBox, frameBuffer, selRectX, selRectY);
|
||||
|
||||
for(unsigned i = start; i < endTitle; y += 144)
|
||||
for(unsigned i = start; i < endTitle; y += 136)
|
||||
{
|
||||
unsigned endRow = i + 8;
|
||||
for(unsigned tX = x; i < endRow; i++, tX += 144)
|
||||
|
|
@ -68,21 +68,10 @@ namespace ui
|
|||
|
||||
if((int)i == selected)
|
||||
{
|
||||
//Most Switch icons seem to be 256x256, we're drawing them 128x128
|
||||
if(selRectX != tX - 6)
|
||||
if(selRectX != tX - 6 || selRectY != y - 6)
|
||||
{
|
||||
if(selRectX < tX - 6)
|
||||
selRectX += 24;
|
||||
else
|
||||
selRectX -= 24;
|
||||
}
|
||||
|
||||
if(selRectY != y - 6)
|
||||
{
|
||||
if(selRectY < y - 6)
|
||||
selRectY += 24;
|
||||
else
|
||||
selRectY -= 24;
|
||||
selRectX = tX - 6;
|
||||
selRectY = y - 6;
|
||||
}
|
||||
|
||||
std::string title = data::curUser.titles[selected].getTitle();
|
||||
|
|
@ -107,10 +96,6 @@ namespace ui
|
|||
selButtons[i].update(p);
|
||||
if(i == selected - start && selButtons[i].getEvent() == BUTTON_RELEASED)
|
||||
{
|
||||
//Correct rectangle if it can't catch up. Buttons use same x, y as icons
|
||||
selRectX = selButtons[i].getX() - 6;
|
||||
selRectY = selButtons[i].getY() - 6;
|
||||
|
||||
data::curData = data::curUser.titles[selected];
|
||||
if(fs::mountSave(data::curUser, data::curData))
|
||||
{
|
||||
|
|
@ -222,7 +207,7 @@ namespace ui
|
|||
start = 0;
|
||||
selected = 0;
|
||||
selRectX = 64;
|
||||
selRectY = 74;
|
||||
selRectY = 90;
|
||||
mstate = USR_SEL;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ namespace ui
|
|||
static uint8_t clrShft = 0;
|
||||
static bool clrAdd = true;
|
||||
|
||||
static unsigned selRectX = 64, selRectY = 74;
|
||||
static unsigned selRectX = 64, selRectY = 92;
|
||||
|
||||
static ui::touchTrack track;
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ namespace ui
|
|||
//Update selBox color
|
||||
clr clrUpdt = clrCreateRGBA(0x00, 0x60 + clrShft, 0xBB + clrShft, 0xFF);
|
||||
|
||||
unsigned x = 70, y = 80;
|
||||
unsigned x = 70, y = 98;
|
||||
unsigned endUser = start + 32;
|
||||
if(start + 32 > (int)data::users.size())
|
||||
endUser = data::users.size();
|
||||
|
|
@ -50,7 +50,7 @@ namespace ui
|
|||
texSwapColors(ui::selBox, clrPrev, clrUpdt);
|
||||
texDraw(ui::selBox, frameBuffer, selRectX, selRectY);
|
||||
|
||||
for(unsigned i = start; i < endUser; y += 144)
|
||||
for(unsigned i = start; i < endUser; y += 136)
|
||||
{
|
||||
unsigned endRow = i + 8;
|
||||
for(unsigned tX = x; i < endRow; i++, tX += 144)
|
||||
|
|
@ -60,20 +60,10 @@ namespace ui
|
|||
|
||||
if((int)i == selected)
|
||||
{
|
||||
if(selRectX != tX - 6)
|
||||
if(selRectX != tX - 6 || selRectY != y - 6)
|
||||
{
|
||||
if(selRectX < tX - 6)
|
||||
selRectX += 24;
|
||||
else
|
||||
selRectX -= 24;
|
||||
}
|
||||
|
||||
if(selRectY != y - 6)
|
||||
{
|
||||
if(selRectY < y - 6)
|
||||
selRectY += 24;
|
||||
else
|
||||
selRectX -= 24;
|
||||
selRectX = tX - 6;
|
||||
selRectY = y - 6;
|
||||
}
|
||||
|
||||
std::string username = data::users[selected].getUsername();
|
||||
|
|
@ -156,7 +146,7 @@ namespace ui
|
|||
//Reset this
|
||||
start = 0;
|
||||
selected = 0;
|
||||
selRectX = 64, selRectY = 74;
|
||||
selRectX = 64, selRectY = 90;
|
||||
mstate = TTL_SEL;
|
||||
}
|
||||
else if(down & KEY_Y || usrNav[1].getEvent() == BUTTON_RELEASED)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user