mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-11-12 17:19:28 +01:00
More UI cleanup
This commit is contained in:
1 parent
f416c318f4
commit
0b35fe863b
4 files changed
+56
-52
No files matched your search
@@ -23,7 +23,7 @@ static void TextToImage(std::string_view buttonText, ImageID *image) {
|
||||
if (buttonText == di->T("Delete") || buttonText == di->T("Move to trash")) {
|
||||
*image = ImageID("I_TRASHCAN");
|
||||
} else if (buttonText == di->T("Back")) {
|
||||
*image = ImageID("I_NAVIGATE_BACK");
|
||||
*image = ImageID("I_CHEVRON_LEFT");
|
||||
} else if (buttonText == di->T("Add")) {
|
||||
*image = ImageID("I_PLUS");
|
||||
} else if (buttonText == di->T("OK")) {
|
||||
|
||||
+10
-13
@@ -923,7 +923,7 @@ static bool KirkOutputFits(const KIRK_CMD1_ECDSA_HEADER *header, u32 size) {
|
||||
}
|
||||
|
||||
static int pspDecryptType0(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 size) {
|
||||
DEBUG_LOG(Log::Loader, "Decrypting tag %02X", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
DEBUG_LOG(Log::Loader, "Decrypting tag %02X (type 0)", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
const auto decryptSize = *(s32_le*)&inbuf[0xB0];
|
||||
const auto pti = GetTagInfo((u32)*(u32_le *)&inbuf[0xD0]);
|
||||
|
||||
@@ -985,9 +985,8 @@ static int pspDecryptType0(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 siz
|
||||
return decryptSize;
|
||||
}
|
||||
|
||||
static int pspDecryptType1(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 size)
|
||||
{
|
||||
INFO_LOG(Log::Loader, "Decrypting tag %02X", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
static int pspDecryptType1(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 size) {
|
||||
DEBUG_LOG(Log::Loader, "Decrypting tag %02X (type 1)", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
const auto decryptSize = *(s32_le*)&inbuf[0xB0];
|
||||
const auto pti = GetTagInfo((u32)*(u32_le *)&inbuf[0xD0]);
|
||||
|
||||
@@ -1045,9 +1044,8 @@ static int pspDecryptType1(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 siz
|
||||
return decryptSize;
|
||||
}
|
||||
|
||||
static int pspDecryptType2(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 size)
|
||||
{
|
||||
INFO_LOG(Log::Loader, "Decrypting tag %02X", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
static int pspDecryptType2(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 size) {
|
||||
DEBUG_LOG(Log::Loader, "Decrypting tag %02X (type 2)", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
const auto decryptSize = *(s32_le*)&inbuf[0xB0];
|
||||
const auto pti = GetTagInfo2((u32)*(u32_le *)&inbuf[0xD0]);
|
||||
|
||||
@@ -1165,9 +1163,8 @@ static int pspFinishType5(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 size
|
||||
return decryptSize;
|
||||
}
|
||||
|
||||
static int pspDecryptType5(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 size, const u8 *seed)
|
||||
{
|
||||
INFO_LOG(Log::Loader, "Decrypting tag %02X", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
static int pspDecryptType5(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 size, const u8 *seed) {
|
||||
DEBUG_LOG(Log::Loader, "Decrypting tag %02X (type 5)", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
const auto pti = GetTagInfo2((u32)*(u32_le *)&inbuf[0xD0]);
|
||||
|
||||
if (!pti)
|
||||
@@ -1206,7 +1203,7 @@ static int pspDecryptType3(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 siz
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
INFO_LOG(Log::Loader, "Decrypting tag %08X", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
DEBUG_LOG(Log::Loader, "Decrypting tag %08X (type 3)", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
|
||||
auto xorbuf = expandSeed(pti->key, pti->code, secureId);
|
||||
PRXType5 type5(inbuf);
|
||||
@@ -1221,7 +1218,7 @@ static int pspDecryptType3(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 siz
|
||||
|
||||
static int pspDecryptType6(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 size)
|
||||
{
|
||||
INFO_LOG(Log::Loader, "Decrypting tag %02X", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
DEBUG_LOG(Log::Loader, "Decrypting tag %02X (type 6)", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
const auto decryptSize = *(s32_le*)&inbuf[0xB0];
|
||||
const auto pti = GetTagInfo2((u32)*(u32_le *)&inbuf[0xD0]);
|
||||
|
||||
@@ -1297,7 +1294,7 @@ static int pspDecryptType6(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 siz
|
||||
// type 6 writes its tail there.
|
||||
static int pspDecryptType9(KirkState *kirk, const u8 *inbuf, u8 *outbuf, u32 size)
|
||||
{
|
||||
INFO_LOG(Log::Loader, "Decrypting tag %02X", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
DEBUG_LOG(Log::Loader, "Decrypting tag %02X (type 9)", (u32)*(u32_le *)&inbuf[0xD0]);
|
||||
const auto decryptSize = *(s32_le*)&inbuf[0xB0];
|
||||
const auto pti = GetTagInfo2((u32)*(u32_le *)&inbuf[0xD0]);
|
||||
|
||||
|
||||
@@ -850,7 +850,7 @@ void ImportVarSymbol(WriteVarSymbolState &state, const VarSymbolImport &var) {
|
||||
}
|
||||
|
||||
// It hasn't been exported yet, but hopefully it will later.
|
||||
INFO_LOG(Log::Loader, "Variable (%s,%08x) unresolved, storing for later resolving", var.moduleName, var.nid);
|
||||
DEBUG_LOG(Log::Loader, "Variable (%s,%08x) unresolved, storing for later resolving", var.moduleName, var.nid);
|
||||
}
|
||||
|
||||
void ExportVarSymbol(const VarSymbolExport &var) {
|
||||
@@ -945,7 +945,7 @@ void ImportFuncSymbol(const FuncSymbolImport &func, bool reimporting, const char
|
||||
// We used to report this, but I don't think it's very interesting anymore.
|
||||
WARN_LOG(Log::Loader, "Unknown syscall from known HLE module '%s': 0x%08x (import for '%s')", func.moduleName, func.nid, importingModule);
|
||||
} else {
|
||||
INFO_LOG(Log::Loader, "Function (%s,%08x) unresolved in '%s', storing for later resolving", func.moduleName, func.nid, importingModule);
|
||||
DEBUG_LOG(Log::Loader, "Function (%s,%08x) unresolved in '%s', storing for later resolving", func.moduleName, func.nid, importingModule);
|
||||
}
|
||||
|
||||
if (shouldHLE || !reimporting) {
|
||||
|
||||
+43
-36
@@ -204,7 +204,6 @@ void GameButton::Draw(UIContext &dc) {
|
||||
}
|
||||
}
|
||||
|
||||
u32 color = 0, shadowColor = 0;
|
||||
using namespace UI;
|
||||
|
||||
UI::Style style = dc.GetTheme().itemStyle;
|
||||
@@ -232,71 +231,79 @@ void GameButton::Draw(UIContext &dc) {
|
||||
}
|
||||
const float textX = ListTextX(viewMode_);
|
||||
|
||||
if (texture && ginfo) {
|
||||
color = whiteAlpha(ease((time_now_d() - ginfo->icon.timeLoaded) * 2));
|
||||
shadowColor = blackAlpha(ease((time_now_d() - ginfo->icon.timeLoaded) * 2));
|
||||
float tw = texture->Width();
|
||||
float th = texture->Height();
|
||||
|
||||
// Adjust position so we don't stretch the image vertically or horizontally.
|
||||
// Make sure it's not wider than 144 (like Doom Legacy homebrew), ugly in the grid mode.
|
||||
float nw = std::min(iconBounds.h * tw / th, (float)iconBounds.w);
|
||||
iconBounds.x += (iconBounds.w - nw) / 2.0f;
|
||||
iconBounds.w = nw;
|
||||
}
|
||||
|
||||
int txOffset = down_ ? 4 : 0;
|
||||
if (viewMode_ != GameBrowserViewMode::GRID) {
|
||||
txOffset = 0;
|
||||
int iconYOffset = 0;
|
||||
if (viewMode_ == GameBrowserViewMode::GRID && down_) {
|
||||
iconYOffset = 4;
|
||||
}
|
||||
|
||||
Bounds overlayBounds = bounds_;
|
||||
|
||||
// Render the icon, all modes have this.
|
||||
int dropsize = 10;
|
||||
if (texture) {
|
||||
float alpha = 1.0f;
|
||||
float dropsize = 10;
|
||||
|
||||
if (ginfo) {
|
||||
float loadPhase = ease((time_now_d() - ginfo->icon.timeLoaded) * 2);
|
||||
|
||||
loadPhase = 0.0f;
|
||||
|
||||
alpha = loadPhase;
|
||||
|
||||
float tw = texture->Width();
|
||||
float th = texture->Height();
|
||||
// Adjust position so we don't stretch the image vertically or horizontally.
|
||||
// Make sure it's not wider than 144 (like Doom Legacy homebrew), ugly in the grid mode.
|
||||
float nw = std::min(iconBounds.h * tw / th, (float)iconBounds.w);
|
||||
iconBounds.x += (iconBounds.w - nw) / 2.0f;
|
||||
iconBounds.w = nw;
|
||||
}
|
||||
|
||||
if (viewMode_ == GameBrowserViewMode::LIST) {
|
||||
iconBounds.x += 4;
|
||||
}
|
||||
if (txOffset) {
|
||||
|
||||
if (iconYOffset) {
|
||||
// Button pressed, move the icon down a bit and reduce the shadow.
|
||||
dropsize = 3;
|
||||
iconBounds.y += txOffset * 2;
|
||||
overlayBounds.y += txOffset * 2;
|
||||
iconBounds.y += iconYOffset * 2;
|
||||
overlayBounds.y += iconYOffset * 2;
|
||||
}
|
||||
|
||||
if (HasFocus()) {
|
||||
dc.Draw()->Flush();
|
||||
dc.RebindTexture();
|
||||
float pulse = sin(time_now_d() * 7.0) * 0.25 + 0.8;
|
||||
|
||||
dc.DrawRectDropShadow(iconBounds, 10.0f, pulse, alphaMul(color, pulse));
|
||||
dc.DrawRectDropShadow(iconBounds, 10.0f, pulse, style.fgColor);
|
||||
dc.Draw()->Flush();
|
||||
} else {
|
||||
dc.Draw()->Flush();
|
||||
dc.RebindTexture();
|
||||
dc.DrawRectDropShadow(iconBounds, 8.0f, 0.7f, shadowColor);
|
||||
// dc.Draw()->DrawImage4Grid(dc.GetTheme().dropShadow4Grid, x - dropsize, y - dropsize * 0.5f, x + w + dropsize, y + h + dropsize * 1.5, alphaMul(shadowColor, 0.5f), 1.0f);
|
||||
dc.DrawRectDropShadow(iconBounds, 8.0f, 0.7f, 0);
|
||||
dc.Draw()->Flush();
|
||||
}
|
||||
|
||||
dc.Draw()->Flush();
|
||||
dc.GetDrawContext()->BindTexture(0, texture);
|
||||
dc.Draw()->DrawTexRect(iconBounds, 0, 0, 1, 1, color);
|
||||
dc.Draw()->DrawTexRect(iconBounds, 0, 0, 1, 1, 0xFFFFFFFF);
|
||||
dc.Draw()->Flush();
|
||||
}
|
||||
|
||||
if (viewMode_ == GameBrowserViewMode::GRID && g_Config.bShowIDOnGameIcon && fileType != IdentifiedFileType::PSP_ELF && !id_version.empty()) {
|
||||
std::string_view idStr = id_version;
|
||||
if (fileType == IdentifiedFileType::PSP_SAVEDATA_DIRECTORY) {
|
||||
auto ga = GetI18NCategory(I18NCat::GAME);
|
||||
idStr = ga->T("SaveData");
|
||||
}
|
||||
dc.SetFontScale(0.5f * g_Config.fGameGridScale, 0.5f * g_Config.fGameGridScale);
|
||||
dc.DrawText(idStr, bounds_.x + 5, iconBounds.y + 1, 0xFF000000, ALIGN_TOPLEFT);
|
||||
dc.DrawText(idStr, bounds_.x + 4, iconBounds.y, dc.GetTheme().infoStyle.fgColor, ALIGN_TOPLEFT);
|
||||
dc.SetFontScale(1.0f, 1.0f);
|
||||
}
|
||||
|
||||
if (viewMode_ == GameBrowserViewMode::GRID) {
|
||||
if (g_Config.bShowIDOnGameIcon && fileType != IdentifiedFileType::PSP_ELF && !id_version.empty()) {
|
||||
std::string_view idStr = id_version;
|
||||
if (fileType == IdentifiedFileType::PSP_SAVEDATA_DIRECTORY) {
|
||||
auto ga = GetI18NCategory(I18NCat::GAME);
|
||||
idStr = ga->T("SaveData");
|
||||
}
|
||||
dc.SetFontScale(0.5f * g_Config.fGameGridScale, 0.5f * g_Config.fGameGridScale);
|
||||
dc.DrawText(idStr, bounds_.x + 5, iconBounds.y + 1, 0xFF000000, ALIGN_TOPLEFT);
|
||||
dc.DrawText(idStr, bounds_.x + 4, iconBounds.y, dc.GetTheme().infoStyle.fgColor, ALIGN_TOPLEFT);
|
||||
dc.SetFontScale(1.0f, 1.0f);
|
||||
}
|
||||
|
||||
if (imageIcon.isValid()) {
|
||||
Bounds bounds = bounds_;
|
||||
|
||||
|
||||
Reference in new issue
Block a user