3.8.0 final changes

This commit is contained in:
LiquidFenrir 2021-11-13 10:30:23 +01:00
parent d9af04f1a5
commit d3f1c2ad86
97 changed files with 147 additions and 142 deletions

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -66,7 +66,7 @@ private:
C2D_Text ins1, ins2, ins3, ins4, c2dId, c2dMediatype; C2D_Text ins1, ins2, ins3, ins4, c2dId, c2dMediatype;
C2D_Text checkpoint, version; C2D_Text checkpoint, version;
// instructions text // instructions text
C2D_Text top_move, top_a, top_y, top_my, top_b, bot_ts, bot_x, coins; C2D_Text top_move, top_a, top_y, top_my, top_b, top_hb, bot_ts, bot_x, coins;
C2D_TextBuf dynamicBuf, staticBuf; C2D_TextBuf dynamicBuf, staticBuf;
const float scaleInst = 0.7f; const float scaleInst = 0.7f;

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -33,7 +33,7 @@ MainScreen::MainScreen(void) : hid(rowlen * collen, collen)
selectionTimer = 0; selectionTimer = 0;
refreshTimer = 0; refreshTimer = 0;
staticBuf = C2D_TextBufNew(256); staticBuf = C2D_TextBufNew(261);
dynamicBuf = C2D_TextBufNew(256); dynamicBuf = C2D_TextBufNew(256);
buttonBackup = std::make_unique<Clickable>(204, 102, 110, 35, COLOR_GREY_DARKER, COLOR_WHITE, "Backup \uE004", true); buttonBackup = std::make_unique<Clickable>(204, 102, 110, 35, COLOR_GREY_DARKER, COLOR_WHITE, "Backup \uE004", true);
@ -62,6 +62,7 @@ MainScreen::MainScreen(void) : hid(rowlen * collen, collen)
C2D_TextParse(&top_y, staticBuf, "\uE003 to multiselect a title"); C2D_TextParse(&top_y, staticBuf, "\uE003 to multiselect a title");
C2D_TextParse(&top_my, staticBuf, "\uE003 hold to multiselect all titles"); C2D_TextParse(&top_my, staticBuf, "\uE003 hold to multiselect all titles");
C2D_TextParse(&top_b, staticBuf, "\uE001 to exit target or deselect all titles"); C2D_TextParse(&top_b, staticBuf, "\uE001 to exit target or deselect all titles");
C2D_TextParse(&top_hb, staticBuf, "\uE001 hold to refresh titles");
C2D_TextParse(&bot_ts, staticBuf, "\uE01D \uE006 to move\nbetween backups"); C2D_TextParse(&bot_ts, staticBuf, "\uE01D \uE006 to move\nbetween backups");
C2D_TextParse(&bot_x, staticBuf, "\uE002 to delete backups"); C2D_TextParse(&bot_x, staticBuf, "\uE002 to delete backups");
C2D_TextParse(&coins, staticBuf, "\uE075"); C2D_TextParse(&coins, staticBuf, "\uE075");
@ -80,6 +81,7 @@ MainScreen::MainScreen(void) : hid(rowlen * collen, collen)
C2D_TextOptimize(&top_y); C2D_TextOptimize(&top_y);
C2D_TextOptimize(&top_my); C2D_TextOptimize(&top_my);
C2D_TextOptimize(&top_b); C2D_TextOptimize(&top_b);
C2D_TextOptimize(&top_hb);
C2D_TextOptimize(&bot_ts); C2D_TextOptimize(&bot_ts);
C2D_TextOptimize(&bot_x); C2D_TextOptimize(&bot_x);
C2D_TextOptimize(&coins); C2D_TextOptimize(&coins);
@ -147,7 +149,7 @@ void MainScreen::drawTop(void) const
if (hidKeysHeld() & KEY_SELECT) { if (hidKeysHeld() & KEY_SELECT) {
const u32 inst_lh = scaleInst * fontGetInfo(NULL)->lineFeed; const u32 inst_lh = scaleInst * fontGetInfo(NULL)->lineFeed;
const u32 inst_h = ceilf((240 - scaleInst * inst_lh * 6) / 2); const u32 inst_h = ceilf((240 - scaleInst * inst_lh * 6) / 2.0);
C2D_DrawRectSolid(0, 0, 0.5f, 400, 240, COLOR_OVERLAY); C2D_DrawRectSolid(0, 0, 0.5f, 400, 240, COLOR_OVERLAY);
C2D_DrawText(&top_move, C2D_WithColor, ceilf((400 - StringUtils::textWidth(top_move, scaleInst)) / 2), inst_h, 0.9f, scaleInst, scaleInst, C2D_DrawText(&top_move, C2D_WithColor, ceilf((400 - StringUtils::textWidth(top_move, scaleInst)) / 2), inst_h, 0.9f, scaleInst, scaleInst,
COLOR_WHITE); COLOR_WHITE);
@ -159,6 +161,8 @@ void MainScreen::drawTop(void) const
scaleInst, COLOR_WHITE); scaleInst, COLOR_WHITE);
C2D_DrawText(&top_my, C2D_WithColor, ceilf((400 - StringUtils::textWidth(top_my, scaleInst)) / 2), inst_h + inst_lh * 4, 0.9f, scaleInst, C2D_DrawText(&top_my, C2D_WithColor, ceilf((400 - StringUtils::textWidth(top_my, scaleInst)) / 2), inst_h + inst_lh * 4, 0.9f, scaleInst,
scaleInst, COLOR_WHITE); scaleInst, COLOR_WHITE);
C2D_DrawText(&top_hb, C2D_WithColor, ceilf((400 - StringUtils::textWidth(top_hb, scaleInst)) / 2), inst_h + inst_lh * 5, 0.9f, scaleInst,
scaleInst, COLOR_WHITE);
} }
C2D_DrawText(&version, C2D_WithColor, 400 - 4 - ceilf(0.45f * version.width), 3.0f, 0.5f, 0.45f, 0.45f, COLOR_GREY_LIGHT); C2D_DrawText(&version, C2D_WithColor, 400 - 4 - ceilf(0.45f * version.width), 3.0f, 0.5f, 0.45f, 0.45f, COLOR_GREY_LIGHT);

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -49,7 +49,7 @@ CheatManager::CheatManager(void)
u32 size = ftell(f); u32 size = ftell(f);
unsigned int destLen = CHEAT_SIZE_DECOMPRESSED; unsigned int destLen = CHEAT_SIZE_DECOMPRESSED;
char* s = new char[size]; char* s = new char[size];
char* d = new char[destLen](); char* d = new char[destLen + 1]();
rewind(f); rewind(f);
fread(s, 1, size, f); fread(s, 1, size, f);

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,8 +1,8 @@
SUBDIRS = 3ds switch SUBDIRS = 3ds switch
VERSION_MAJOR := 3 VERSION_MAJOR := 3
VERSION_MINOR := 7 VERSION_MINOR := 8
VERSION_MICRO := 5 VERSION_MICRO := 0
GIT_REV="$(shell git rev-parse --short HEAD)" GIT_REV="$(shell git rev-parse --short HEAD)"
all: $(SUBDIRS) all: $(SUBDIRS)

View file

@ -90,7 +90,7 @@ devkitARM and devkitA64 are required to compile Checkpoint for 3DS and Switch, r
### 3DS version ### 3DS version
`dkp-pacman -S libctru citro3d citro2d 3ds-bzip2` `dkp-pacman -S libctru citro3d citro2d tex3ds 3ds-bzip2`
### Switch version ### Switch version
@ -102,17 +102,16 @@ This project is licensed under the GNU GPLv3. Additional Terms 7.b and 7.c of GP
## Credits ## Credits
Even though this is the result of independent research and work, Checkpoint for 3DS couldn't be possible without J-D-K's original [JKSM](https://github.com/J-D-K/JKSM) version. * [Bernardo](https://github.com/BernardoGiordano/) for creating Checkpoint.
* [J-D-K](https://github.com/J-D-K) for the original [JKSM](https://github.com/J-D-K/JKSM) version.
* [TuxSH](https://github.com/tuxsh) for [TWLSaveTool](https://github.com/TuxSH/TWLSaveTool), from which SPI code has been taken.
* WinterMute, fincs and [devkitPro](https://devkitpro.org/) contributors for devkitARM, devkitA64 and [dkp-pacman](https://github.com/devkitPro/pacman/releases).
* Yellows8 and all the mantainers for [switch-examples](https://github.com/switchbrew/switch-examples).
* [rakujira](https://twitter.com/rakujira) for the awesome Checkpoint logo.
* Fellow testers and troubleshooters for their help.
* The huge amount of supporters that this project has gained over the years.
TuxSH for [TWLSaveTool](https://github.com/TuxSH/TWLSaveTool), from which SPI code has been taken. Without you, this project wouldn't have existed. Thank you.
WinterMute, fincs and [devkitPro](https://devkitpro.org/) contributors for devkitARM, devkitA64 and [dkp-pacman](https://github.com/devkitPro/pacman/releases).
Yellows8 and all the mantainers for [switch-examples](https://github.com/switchbrew/switch-examples).
[rakujira](https://twitter.com/rakujira) for the awesome Checkpoint logo.
Fellow testers and troubleshooters for their help.
--- ---

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -33,7 +33,7 @@
class Overlay { class Overlay {
public: public:
Overlay(Screen& screen) : screen(screen), me(screen.currentOverlay) {} Overlay(Screen& screen) : screen(screen), me(screen.currentOverlay) {}
virtual ~Overlay() = default; virtual ~Overlay() = default;
virtual void update(const InputState&) = 0; virtual void update(const InputState&) = 0;
#if defined(_3DS) #if defined(_3DS)
virtual void drawTop() const = 0; virtual void drawTop() const = 0;

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -27,8 +27,8 @@
#ifndef ICLICKABLE_HPP #ifndef ICLICKABLE_HPP
#define ICLICKABLE_HPP #define ICLICKABLE_HPP
#include <string>
#include "InputState.hpp" #include "InputState.hpp"
#include <string>
typedef uint8_t u8; typedef uint8_t u8;
typedef uint16_t u16; typedef uint16_t u16;
@ -45,7 +45,7 @@ public:
mCanChangeColorWhenSelected = false; mCanChangeColorWhenSelected = false;
} }
virtual ~IClickable() = default; virtual ~IClickable() = default;
virtual void draw(float size, T overlay) = 0; virtual void draw(float size, T overlay) = 0;
virtual void drawOutline(T color) = 0; virtual void drawOutline(T color) = 0;
virtual bool held(void) = 0; virtual bool held(void) = 0;

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -27,8 +27,8 @@
#ifndef ISCROLLABLE_HPP #ifndef ISCROLLABLE_HPP
#define ISCROLLABLE_HPP #define ISCROLLABLE_HPP
#include "iclickable.hpp"
#include "InputState.hpp" #include "InputState.hpp"
#include "iclickable.hpp"
#include <vector> #include <vector>
template <typename T> template <typename T>

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -24,8 +24,8 @@
* reasonable ways as different from the original version. * reasonable ways as different from the original version.
*/ */
#include <vector>
#include <cstddef> #include <cstddef>
#include <vector>
namespace MS { namespace MS {
std::vector<size_t> selectedEntries(void); std::vector<size_t> selectedEntries(void);

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -27,32 +27,34 @@
#ifndef HID_HPP #ifndef HID_HPP
#define HID_HPP #define HID_HPP
#include "ihid.hpp"
#include "InputState.hpp" #include "InputState.hpp"
#include "ihid.hpp"
#include <switch.h> #include <switch.h>
#define DELAY_TICKS 2500000 #define DELAY_TICKS 3000000
template <HidDirection ListDirection, HidDirection PageDirection> template <HidDirection ListDirection, HidDirection PageDirection>
class Hid : public IHid<ListDirection, PageDirection, DELAY_TICKS> { class Hid : public IHid<ListDirection, PageDirection, DELAY_TICKS> {
public: public:
Hid(size_t entries, size_t columns) : IHid<ListDirection, PageDirection, DELAY_TICKS>(entries, columns), input(g_input) {} Hid(size_t entries, size_t columns) : IHid<ListDirection, PageDirection, DELAY_TICKS>(entries, columns), input(g_input) {}
Hid(size_t entries, size_t columns, const InputState& _input) : IHid<ListDirection, PageDirection, DELAY_TICKS>(entries, columns), input(&_input) {} Hid(size_t entries, size_t columns, const InputState& _input) : IHid<ListDirection, PageDirection, DELAY_TICKS>(entries, columns), input(&_input)
{
}
private: private:
const InputState* input; const InputState* input;
bool downDown() const override { return input && input->kDown & HidNpadButton_Down; } bool downDown() const override { return input && input->kDown & HidNpadButton_AnyDown; }
bool upDown() const override { return input && input->kDown & HidNpadButton_Up; } bool upDown() const override { return input && input->kDown & HidNpadButton_AnyUp; }
bool leftDown() const override { return input && input->kDown & HidNpadButton_Left; } bool leftDown() const override { return input && input->kDown & HidNpadButton_AnyLeft; }
bool rightDown() const override { return input && input->kDown & HidNpadButton_Right; } bool rightDown() const override { return input && input->kDown & HidNpadButton_AnyRight; }
bool leftTriggerDown() const override { return input && input->kDown & HidNpadButton_L; } bool leftTriggerDown() const override { return input && input->kDown & HidNpadButton_L; }
bool rightTriggerDown() const override { return input && input->kDown & HidNpadButton_R; } bool rightTriggerDown() const override { return input && input->kDown & HidNpadButton_R; }
bool downHeld() const override { return input && input->kHeld & HidNpadButton_Down; } bool downHeld() const override { return input && input->kHeld & HidNpadButton_AnyDown; }
bool upHeld() const override { return input && input->kHeld & HidNpadButton_Up; } bool upHeld() const override { return input && input->kHeld & HidNpadButton_AnyUp; }
bool leftHeld() const override { return input && input->kHeld & HidNpadButton_Left; } bool leftHeld() const override { return input && input->kHeld & HidNpadButton_AnyLeft; }
bool rightHeld() const override { return input && input->kHeld & HidNpadButton_Right; } bool rightHeld() const override { return input && input->kHeld & HidNpadButton_AnyRight; }
bool leftTriggerHeld() const override { return input && input->kHeld & HidNpadButton_L; } bool leftTriggerHeld() const override { return input && input->kHeld & HidNpadButton_L; }
bool rightTriggerHeld() const override { return input && input->kHeld & HidNpadButton_R; } bool rightTriggerHeld() const override { return input && input->kHeld & HidNpadButton_R; }
u64 tick() const override { return armGetSystemTick(); } u64 tick() const override { return armGetSystemTick(); }

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -27,11 +27,11 @@
#ifndef MAIN_HPP #ifndef MAIN_HPP
#define MAIN_HPP #define MAIN_HPP
#include "InputState.hpp"
#include "Screen.hpp" #include "Screen.hpp"
#include "account.hpp" #include "account.hpp"
#include "title.hpp" #include "title.hpp"
#include "util.hpp" #include "util.hpp"
#include "InputState.hpp"
#include <memory> #include <memory>
#include <switch.h> #include <switch.h>
@ -47,7 +47,7 @@ inline bool g_shouldExitNetworkLoop = false;
inline std::string g_selectedCheatKey; inline std::string g_selectedCheatKey;
inline std::vector<std::string> g_selectedCheatCodes; inline std::vector<std::string> g_selectedCheatCodes;
inline u32 g_username_dotsize; inline u32 g_username_dotsize;
inline sort_t g_sortMode = SORT_ALPHA; inline sort_t g_sortMode = SORT_ALPHA;
inline const InputState* g_input = nullptr; inline const InputState* g_input = nullptr;
inline std::string g_currentFile = ""; inline std::string g_currentFile = "";
inline bool g_isTransferringFile = false; inline bool g_isTransferringFile = false;

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -300,7 +300,8 @@ void MainScreen::handleEvents(const InputState& input)
} }
// Handle touching the backup list // Handle touching the backup list
if (input.touch.count > 0 && input.touch.touches[0].x > 538 && input.touch.touches[0].x < 952 && input.touch.touches[0].y > 276 && input.touch.touches[0].y < 656) { if (input.touch.count > 0 && input.touch.touches[0].x > 538 && input.touch.touches[0].x < 952 && input.touch.touches[0].y > 276 &&
input.touch.touches[0].y < 656) {
// Activate backup list only if multiple selections are enabled // Activate backup list only if multiple selections are enabled
if (!MS::multipleSelectionEnabled()) { if (!MS::multipleSelectionEnabled()) {
g_backupScrollEnabled = true; g_backupScrollEnabled = true;

View file

@ -194,7 +194,7 @@ void drawPulsingOutline(u32 x, u32 y, u16 w, u16 h, u8 size, SDL_Color color)
{ {
float highlight_multiplier = fmax(0.0, fabs(fmod(g_currentTime, 1.0) - 0.5) / 0.5); float highlight_multiplier = fmax(0.0, fabs(fmod(g_currentTime, 1.0) - 0.5) / 0.5);
color = FC_MakeColor(color.r + (255 - color.r) * highlight_multiplier, color.g + (255 - color.g) * highlight_multiplier, color = FC_MakeColor(color.r + (255 - color.r) * highlight_multiplier, color.g + (255 - color.g) * highlight_multiplier,
color.b + (255 - color.b) * highlight_multiplier, 255); color.b + (255 - color.b) * highlight_multiplier, 255);
drawOutline(x, y, w, h, size, color); drawOutline(x, y, w, h, size, color);
} }

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -112,7 +112,6 @@ SDL_Texture* Account::icon(AccountUid id)
AccountUid Account::selectAccount(void) AccountUid Account::selectAccount(void)
{ {
AccountUid out_id;
LibAppletArgs args; LibAppletArgs args;
libappletArgsCreate(&args, 0x10000); libappletArgsCreate(&args, 0x10000);
u8 st_in[0xA0] = {0}; u8 st_in[0xA0] = {0};
@ -124,8 +123,8 @@ AccountUid Account::selectAccount(void)
u64 lres = *(u64*)st_out; u64 lres = *(u64*)st_out;
AccountUid uid = *(AccountUid*)&st_out[8]; AccountUid uid = *(AccountUid*)&st_out[8];
if (lres == 0) if (lres == 0)
out_id = uid; return uid;
} }
return out_id; return g_currentUId;
} }

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -49,7 +49,7 @@ CheatManager::CheatManager(void)
u32 size = ftell(f); u32 size = ftell(f);
unsigned int destLen = CHEAT_SIZE_DECOMPRESSED; unsigned int destLen = CHEAT_SIZE_DECOMPRESSED;
char* s = new char[size]; char* s = new char[size];
char* d = new char[destLen](); char* d = new char[destLen + 1]();
rewind(f); rewind(f);
fread(s, 1, size, f); fread(s, 1, size, f);

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -35,9 +35,9 @@ bool Clickable::held()
bool Clickable::released() bool Clickable::released()
{ {
const auto [on, currentlyTouching] = [this]() { const auto [on, currentlyTouching] = [this]() {
return std::make_pair(g_input->touch.count > 0 && g_input->touch.touches[0].y > (unsigned)my && g_input->touch.touches[0].y < (unsigned)(my + mh) && return std::make_pair(g_input->touch.count > 0 && g_input->touch.touches[0].y > (unsigned)my &&
g_input->touch.touches[0].x > (unsigned)mx && g_input->touch.touches[0].x < (unsigned)(mx + mw), g_input->touch.touches[0].y < (unsigned)(my + mh) && g_input->touch.touches[0].x > (unsigned)mx &&
g_input->touch.count > 0); g_input->touch.touches[0].x<(unsigned)(mx + mw), g_input->touch.count> 0);
}(); }();
if (on) { if (on) {

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -74,7 +74,7 @@ int main(void)
break; break;
input.kHeld = padGetButtons(&pad); input.kHeld = padGetButtons(&pad);
input.kUp = padGetButtonsUp(&pad); input.kUp = padGetButtonsUp(&pad);
hidGetTouchScreenStates(&input.touch, 1); hidGetTouchScreenStates(&input.touch, 1);
g_screen->doDraw(); g_screen->doDraw();

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -56,8 +56,8 @@ void Scrollable::updateSelection(void)
{ {
const int hu = (mHid.maxEntries(size()) + 1) * mh / mVisibleEntries; const int hu = (mHid.maxEntries(size()) + 1) * mh / mVisibleEntries;
if (g_input->touch.count > 0 && g_input->touch.touches[0].y > (float)my && g_input->touch.touches[0].y < (float)(my + hu) && g_input->touch.touches[0].x > (float)mx && if (g_input->touch.count > 0 && g_input->touch.touches[0].y > (float)my && g_input->touch.touches[0].y < (float)(my + hu) &&
g_input->touch.touches[0].x < (float)(mx + mw)) { g_input->touch.touches[0].x > (float)mx && g_input->touch.touches[0].x < (float)(mx + mw)) {
mHid.index(ceilf((g_input->touch.touches[0].y - my) * mVisibleEntries / mh)); mHid.index(ceilf((g_input->touch.touches[0].y - my) * mVisibleEntries / mh));
} }

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -60,7 +60,7 @@ void Title::init(u8 saveDataType, u64 id, AccountUid userID, const std::string&
std::string aname = StringUtils::removeAccents(mName); std::string aname = StringUtils::removeAccents(mName);
size_t pos = aname.rfind(":"); size_t pos = aname.rfind(":");
mDisplayName = std::make_pair(name, ""); mDisplayName = std::make_pair(aname, "");
if (pos != std::string::npos) { if (pos != std::string::npos) {
std::string name1 = aname.substr(0, pos); std::string name1 = aname.substr(0, pos);
std::string name2 = aname.substr(pos + 1); std::string name2 = aname.substr(pos + 1);

View file

@ -1,6 +1,6 @@
/* /*
* This file is part of Checkpoint * This file is part of Checkpoint
* Copyright (C) 2017-2019 Bernardo Giordano, FlagBrew * Copyright (C) 2017-2021 Bernardo Giordano, FlagBrew
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by