RenderD7 Add SuperReselutiion
This commit is contained in:
parent
a7accb0bf5
commit
acc0bdfd87
58
renderd7.cpp
58
renderd7.cpp
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
#define RGBA8(r, g, b, a) ((((r) & 0xFF) << 0) | (((g) & 0xFF) << 8) | (((b) & 0xFF) << 16) | (((a) & 0xFF) << 24))
|
#define RGBA8(r, g, b, a) ((((r) & 0xFF) << 0) | (((g) & 0xFF) << 8) | (((b) & 0xFF) << 16) | (((a) & 0xFF) << 24))
|
||||||
#define D7_NOTHING C2D_Color32(0, 0, 0, 0)
|
#define D7_NOTHING C2D_Color32(0, 0, 0, 0)
|
||||||
#define CFGVER "0"
|
#define CFGVER "1"
|
||||||
Log renderd7log;
|
Log renderd7log;
|
||||||
float animtime;
|
float animtime;
|
||||||
bool isndspinit = false;
|
bool isndspinit = false;
|
||||||
@ -21,6 +21,12 @@ int maxobj__;
|
|||||||
std::unique_ptr<INI::INIFile> cfgfile = nullptr;
|
std::unique_ptr<INI::INIFile> cfgfile = nullptr;
|
||||||
INI::INIStructure cfgstruct;
|
INI::INIStructure cfgstruct;
|
||||||
|
|
||||||
|
// RD7 SuperReselution
|
||||||
|
bool rd7_superreselution;
|
||||||
|
u8 consoleModel = 0;
|
||||||
|
u8 sysRegion = CFG_REGION_USA;
|
||||||
|
//---------------------------------------
|
||||||
|
|
||||||
std::string D_app_name;
|
std::string D_app_name;
|
||||||
|
|
||||||
u32 d7_hDown;
|
u32 d7_hDown;
|
||||||
@ -56,6 +62,21 @@ C3D_RenderTarget* Bottom;
|
|||||||
|
|
||||||
#define DSEVENBLACK C2D_Color32(0, 0 ,0, 255)
|
#define DSEVENBLACK C2D_Color32(0, 0 ,0, 255)
|
||||||
#define DSEVENWHITE C2D_Color32(255, 255, 255, 255)
|
#define DSEVENWHITE C2D_Color32(255, 255, 255, 255)
|
||||||
|
|
||||||
|
void screenoff()
|
||||||
|
{
|
||||||
|
gspLcdInit();\
|
||||||
|
GSPLCD_PowerOffBacklight(GSPLCD_SCREEN_BOTH);\
|
||||||
|
gspLcdExit();
|
||||||
|
}
|
||||||
|
|
||||||
|
void screenon()
|
||||||
|
{
|
||||||
|
gspLcdInit();\
|
||||||
|
GSPLCD_PowerOnBacklight(GSPLCD_SCREEN_BOTH);\
|
||||||
|
gspLcdExit();
|
||||||
|
}
|
||||||
|
|
||||||
RenderD7::SpriteSheetAnimation::SpriteSheetAnimation()
|
RenderD7::SpriteSheetAnimation::SpriteSheetAnimation()
|
||||||
{
|
{
|
||||||
renderd7log.Write("SpriteSheetAnimation createt!");
|
renderd7log.Write("SpriteSheetAnimation createt!");
|
||||||
@ -537,6 +558,17 @@ void MetrikThread(RenderD7::Parameter param) {
|
|||||||
Result RenderD7::Init::Main(std::string app_name)
|
Result RenderD7::Init::Main(std::string app_name)
|
||||||
{
|
{
|
||||||
gfxInitDefault();
|
gfxInitDefault();
|
||||||
|
Result res = cfguInit();
|
||||||
|
if (R_SUCCEEDED(res)) {
|
||||||
|
CFGU_SecureInfoGetRegion(&sysRegion);
|
||||||
|
CFGU_GetSystemModel(&consoleModel);
|
||||||
|
cfguExit();
|
||||||
|
}
|
||||||
|
if (rd7_superreselution)
|
||||||
|
{
|
||||||
|
gfxSetWide(consoleModel != 3);
|
||||||
|
}
|
||||||
|
|
||||||
aptInit();
|
aptInit();
|
||||||
romfsInit();
|
romfsInit();
|
||||||
cfguInit();
|
cfguInit();
|
||||||
@ -584,6 +616,7 @@ Result RenderD7::Init::Main(std::string app_name)
|
|||||||
mt_color = RenderD7::Color::Hex(cfgstruct["metrik-settings"]["Color"], (u8)RenderD7::Convert::StringtoFloat(cfgstruct["metrik-settings"]["ColorA"]));
|
mt_color = RenderD7::Color::Hex(cfgstruct["metrik-settings"]["Color"], (u8)RenderD7::Convert::StringtoFloat(cfgstruct["metrik-settings"]["ColorA"]));
|
||||||
mt_txtSize = RenderD7::Convert::StringtoFloat(cfgstruct["metrik-settings"]["txtSize"]);
|
mt_txtSize = RenderD7::Convert::StringtoFloat(cfgstruct["metrik-settings"]["txtSize"]);
|
||||||
mt_screen = RenderD7::Convert::StringtoInt(cfgstruct["metrik-settings"]["Screen"]);
|
mt_screen = RenderD7::Convert::StringtoInt(cfgstruct["metrik-settings"]["Screen"]);
|
||||||
|
rd7_superreselution = RenderD7::Convert::FloatToBool(RenderD7::Convert::StringtoFloat(cfgstruct["settings"]["super-reselution"]));
|
||||||
|
|
||||||
osSetSpeedupEnable(true);
|
osSetSpeedupEnable(true);
|
||||||
|
|
||||||
@ -595,9 +628,30 @@ Result RenderD7::Init::Main(std::string app_name)
|
|||||||
Bottom = C2D_CreateScreenTarget(GFX_BOTTOM, GFX_LEFT);
|
Bottom = C2D_CreateScreenTarget(GFX_BOTTOM, GFX_LEFT);
|
||||||
TextBuf = C2D_TextBufNew(4096);
|
TextBuf = C2D_TextBufNew(4096);
|
||||||
Font = C2D_FontLoadSystem(CFG_REGION_USA);
|
Font = C2D_FontLoadSystem(CFG_REGION_USA);
|
||||||
|
if (rd7_superreselution)
|
||||||
|
{
|
||||||
|
gfxSetWide(consoleModel != 3);
|
||||||
|
}
|
||||||
//RenderD7::Msg::Display("RenderD7", "RenderD7 init success!\nWaiting for MainLoop!", Top);
|
//RenderD7::Msg::Display("RenderD7", "RenderD7 init success!\nWaiting for MainLoop!", Top);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RenderD7::ToggleRD7SR()
|
||||||
|
{
|
||||||
|
/ Display black screen
|
||||||
|
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
|
||||||
|
C2D_TargetClear(Top, TRANSPARENT);
|
||||||
|
Gui::ScreenDraw(Top);
|
||||||
|
C3D_FrameEnd(0);
|
||||||
|
// Toggle 400px/800px mode
|
||||||
|
gfxSetWide(!gfxIsWide());
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RenderD7::IsRD7SR()
|
||||||
|
{
|
||||||
|
return gfxIsWide();
|
||||||
|
}
|
||||||
|
|
||||||
void RenderD7::Exit::Main()
|
void RenderD7::Exit::Main()
|
||||||
{
|
{
|
||||||
cfgfile->write(cfgstruct);
|
cfgfile->write(cfgstruct);
|
||||||
@ -879,7 +933,7 @@ void RenderD7::FrameEnd()
|
|||||||
{
|
{
|
||||||
overlays[i].Draw();
|
overlays[i].Draw();
|
||||||
}*/
|
}*/
|
||||||
if (d7_hHeld & KEY_L && d7_hHeld & KEY_R && d7_hDown & KEY_Y)
|
if (d7_hHeld & KEY_R && d7_hDown & KEY_Y)
|
||||||
{
|
{
|
||||||
RenderD7::LoadSettings();
|
RenderD7::LoadSettings();
|
||||||
}
|
}
|
||||||
|
@ -224,6 +224,8 @@ namespace RenderD7
|
|||||||
bool DrawCircle(float x, float y, float radius, u32 color);
|
bool DrawCircle(float x, float y, float radius, u32 color);
|
||||||
bool DrawImage(C2D_Image img, float x, float y, float scaleX = 1.0f, float scaleY = 1.0f);
|
bool DrawImage(C2D_Image img, float x, float y, float scaleX = 1.0f, float scaleY = 1.0f);
|
||||||
void FrameEnd();
|
void FrameEnd();
|
||||||
|
void ToggleRD7SR();
|
||||||
|
bool IsRD7SR();
|
||||||
|
|
||||||
class SpriteSheetAnimation : public RenderD7::Sprite
|
class SpriteSheetAnimation : public RenderD7::Sprite
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user