Fix A Lot of Stuff
This commit is contained in:
@ -31,16 +31,6 @@ bool RenderD7::BitmapPrinter::DecodeFile(std::string file)
|
||||
|
||||
return true;
|
||||
}
|
||||
bool RenderD7::BitmapPrinter::DecodeMem(std::vector<unsigned char> buffer)
|
||||
{
|
||||
unsigned error = bitmap.read_mem(buffer);
|
||||
if (error)
|
||||
{
|
||||
RenderD7::AddOvl(std::make_unique<RenderD7::Toast>("BitmapPrinter", "Error Code: " + std::to_string(error)));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void RenderD7::BitmapPrinter::DrawPixel(int x, int y, u8 b, u8 g, u8 r, u8 a)
|
||||
{
|
||||
@ -117,7 +107,7 @@ bool RenderD7::BitmapPrinter::DrawScreenDirectF(int framerate)
|
||||
if(frame == (60/framerate)){
|
||||
RenderD7::OnScreen(targetr);
|
||||
if(renderframe.loadet) renderframe.Unload();
|
||||
renderframe.LoadFromBitmap(bitmap);
|
||||
this->Decode(decc);
|
||||
frame = 0;
|
||||
updtt = true;
|
||||
}
|
||||
@ -135,7 +125,7 @@ bool RenderD7::BitmapPrinter::DrawScreenDirect()
|
||||
{
|
||||
RenderD7::OnScreen(targetr);
|
||||
if(renderframe.loadet) renderframe.Unload();
|
||||
renderframe.LoadFromBitmap(bitmap);
|
||||
this->Decode(decc);
|
||||
updtt = true;
|
||||
if(renderframe.loadet) renderframe.Draw(0, 0);
|
||||
}
|
||||
@ -195,7 +185,8 @@ bool RenderD7::BitmapPrinter::UpdateScreenF(int framerate)
|
||||
{
|
||||
if(frame == (60/framerate)){
|
||||
if(renderframe.loadet) renderframe.Unload();
|
||||
renderframe.LoadFromBitmap(bitmap);
|
||||
//renderframe.LoadFromBitmap(bitmap);
|
||||
this->Decode(decc);
|
||||
frame = 0;
|
||||
updtt = true;
|
||||
}
|
||||
@ -209,7 +200,7 @@ bool RenderD7::BitmapPrinter::UpdateScreen()
|
||||
if (isscreen)
|
||||
{
|
||||
if(renderframe.loadet) renderframe.Unload();
|
||||
renderframe.LoadFromBitmap(bitmap);
|
||||
this->Decode(decc);
|
||||
updtt = true;
|
||||
}
|
||||
return updtt;
|
||||
@ -260,8 +251,9 @@ void RenderD7::BitmapPrinter::Benchmark()
|
||||
std::string avgcpu3 = std::to_string(((alldtt3/(float)hdttt3.size())*1000));
|
||||
std::string avgfps = std::to_string((allfps/(int)fpscountc.size()-1));
|
||||
|
||||
std::string resultt = "Frames Rendered: " + renderedf + "\nMax Cpu Time: " + avgdtt + "\nAvg Cpu Time: " + avgcpu + "\nAvg Fps: " + avgfps + "\nAvg RenderTime: " + avgcpu2 + "ms/f\nAvg ConvertTime: " + avgcpu3 + "ms\n";
|
||||
std::string resultt = "TestMode: " + std::to_string(testfpsd) + "fps" + "\nRendered Frames: " + renderedf + "\nMax Cpu Time: " + avgdtt + "\nAvg Cpu Time: " + avgcpu + "\nAvg Fps: " + avgfps + "\nAvg EncodeTime: " + avgcpu2 + "ms/f\nAvg DecodeTime: " + avgcpu3 + "ms\n";
|
||||
this->ClearBlank();
|
||||
this->DrawRectFilled(0, 0, this->bitmap.bmp_info_header.width, this->bitmap.bmp_info_header.height, 0, 0, 0, 255);
|
||||
this->DrawText(0, 0, 0, RenderD7::Color::Hex("#ffffff"), resultt);
|
||||
std::string outname = csvpc + "/benchmark_" + RenderD7::GetTimeStr() + ".png";
|
||||
this->SavePng(outname);
|
||||
@ -285,10 +277,10 @@ void RenderD7::BitmapPrinter::Benchmark()
|
||||
this->DrawRect(5, 5, this->bitmap.bmp_info_header.width - 10, this->bitmap.bmp_info_header.height - 10, 5, 0, 0, 0, 0);
|
||||
//this->DrawText(20, 20, 0, RenderD7::Color::Hex("#ffffff"), "Fps: " + std::to_string(fps));
|
||||
this->DrawText(0, 0, 0.5f, RenderD7::Color::Hex("#ff0000"), "Time: " + std::to_string(timer));
|
||||
this->DrawText(0, 20, 0.5f, RenderD7::Color::Hex("#ff0000"), "Fps: " + std::to_string(fps));
|
||||
this->DrawText(0, 40, 0.5f, RenderD7::Color::Hex("#ff0000"), "dt: " + std::to_string(dtt));
|
||||
this->DrawText(0, 60, 0.5f, RenderD7::Color::Hex("#ff0000"), "MaxRenderTime: " + std::to_string(mdtt2*1000) + "ms/f");
|
||||
this->DrawText(0, 80, 0.5f, RenderD7::Color::Hex("#ff0000"), "MaxConvertTime: " + std::to_string(mdtt3*1000) + "ms");
|
||||
this->DrawText(0, 10, 0.5f, RenderD7::Color::Hex("#ff0000"), "Fps: " + std::to_string(fps));
|
||||
this->DrawText(0, 20, 0.5f, RenderD7::Color::Hex("#ff0000"), "dt: " + std::to_string(dtt));
|
||||
this->DrawText(0, 30, 0.5f, RenderD7::Color::Hex("#ff0000"), "MaxEncodeTime: " + std::to_string(mdtt2*1000) + "ms/f");
|
||||
this->DrawText(0, 40, 0.5f, RenderD7::Color::Hex("#ff0000"), "MaxDecodeTime: " + std::to_string(mdtt3*1000) + "ms");
|
||||
uint64_t currentTime2 = svcGetSystemTick();
|
||||
dtt2 = ((float)(currentTime2 / (float)TICKS_PER_MSEC) - (float)(lastTime2 / (float)TICKS_PER_MSEC)) / 1000.f;
|
||||
hdttt2.push_back(dtt2);
|
||||
@ -333,6 +325,7 @@ void RenderD7::BitmapPrinter::SetupBenchmark(int framerate)
|
||||
benchmark = true;
|
||||
setupbenchmark = true;
|
||||
this->testfps = framerate;
|
||||
this->testfpsd = framerate;
|
||||
}
|
||||
|
||||
#include <renderd7/debugfont.h>
|
||||
@ -383,4 +376,26 @@ void RenderD7::BitmapPrinter::DrawText(int x, int y, float t_size, u32 color, st
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
bool RenderD7::BitmapPrinter::Decode(Decoder deccc)
|
||||
{
|
||||
bool res = false;
|
||||
|
||||
switch (deccc)
|
||||
{
|
||||
case Decoder::BITMAP2PNG2C3D:
|
||||
renderframe.LoadPFromBuffer(BitmapConverter::ConvertData(this->bitmap.DATA()));
|
||||
res = true;
|
||||
break;
|
||||
case Decoder::BITMAP2C3D:
|
||||
renderframe.LoadFromBitmap(this->bitmap);
|
||||
res = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
res = false;
|
||||
break;
|
||||
}
|
||||
return res;
|
||||
}
|
@ -19,74 +19,4 @@ std::string RenderD7::Color::RGB2Hex(int r, int g, int b)
|
||||
ss << "#";
|
||||
ss << std::hex << (r << 16 | g << 8 | b );
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
uint32_t RenderD7::Color::Convert(uint32_t src, RenderD7::Color::ColorFmt srcFormat, RenderD7::Color::ColorFmt dstFormat)
|
||||
{
|
||||
uint32_t result = 0x00000000;
|
||||
//uint8_t red, green, blue, alpha = 0x00;
|
||||
/*switch(srcFormat)
|
||||
{
|
||||
case RGBA8:
|
||||
{
|
||||
red, green, blue, alpha = (UNPACK_RGBA(src));
|
||||
switch (dstFormat)
|
||||
{
|
||||
case RGBA8:
|
||||
{
|
||||
result = ((((red) & 0xFF) << 0) | (((green) & 0xFF) << 8) | (((blue) & 0xFF) << 16) | (((alpha) & 0xFF) << 24));
|
||||
break;
|
||||
}
|
||||
case RGB8:
|
||||
{
|
||||
result = ((((red) & 0xFF) << 0) | (((green) & 0xFF) << 8) | (((blue) & 0xFF) << 16));
|
||||
break;
|
||||
}
|
||||
case RGB565:
|
||||
{
|
||||
//NOTYET
|
||||
break;
|
||||
}
|
||||
case BGRA8:
|
||||
{
|
||||
result = ((((blue) & 0xFF) << 16) | (((green) & 0xFF) << 8) | (((red) & 0xFF) << 0 | (((alpha) & 0xFF) << 24)));
|
||||
break;
|
||||
}
|
||||
case BGR8:
|
||||
{
|
||||
result = ((((blue) & 0xFF) << 16) | (((green) & 0xFF) << 8) | (((red) & 0xFF) << 0));
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case RGB8:
|
||||
{
|
||||
result[2] = src[2];
|
||||
result[1] = src[1];
|
||||
result[0] = src[0];
|
||||
break;
|
||||
}
|
||||
case RGB565:
|
||||
{
|
||||
// thanks neobrain
|
||||
uint16_t px = *(uint16_t *)src;
|
||||
blue = px & 0x1F;
|
||||
green = (px >> 5) & 0x3F;
|
||||
red = (px >> 11) & 0x1F;
|
||||
|
||||
result[0] = (blue << 3) | (blue >> 2);
|
||||
result[1] = (green << 2) | (green >> 4);
|
||||
result[2] = (red << 3) | (red >> 2);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default: break;
|
||||
}*/
|
||||
return result;
|
||||
}
|
@ -19,5 +19,5 @@ std::string RenderD7::GetTimeStr(void)
|
||||
{
|
||||
time_t unixTime = time(NULL);
|
||||
struct tm* timeStruct = gmtime((const time_t*)&unixTime);
|
||||
return RenderD7::FormatString("%02i:%02i:%02i", timeStruct->tm_hour, timeStruct->tm_min, timeStruct->tm_sec);
|
||||
return RenderD7::FormatString("%02i-%02i-%02i", timeStruct->tm_hour, timeStruct->tm_min, timeStruct->tm_sec);
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ RenderD7::Toast::Toast(std::string head, std::string msg)
|
||||
this->toast.DrawRectFilled(0, 0, 400, 25, 70, 70, 70, 255);
|
||||
this->toast.DrawText(4, 5, 0, RenderD7::Color::Hex("#ffffff"), this->head);
|
||||
this->toast.DrawText(4, 40, 0, RenderD7::Color::Hex("#ffffff"), this->msg);
|
||||
this->toastrendered->LoadPFromBuffer(this->toast.GetBitmap().DATA());
|
||||
this->toastrendered->LoadPFromBuffer(BitmapConverter::ConvertData(toast.GetBitmap().DATA()));
|
||||
}
|
||||
|
||||
void RenderD7::Toast::Draw(void) const
|
||||
@ -20,7 +20,7 @@ void RenderD7::Toast::Draw(void) const
|
||||
RenderD7::DrawRect(0, msgposy, 400, 25, RenderD7::Color::Hex("#222222"));
|
||||
RenderD7::DrawText(2, msgposy+3, 0.7f, RenderD7::Color::Hex("#ffffff"), head);
|
||||
RenderD7::DrawText(2, msgposy+30, 0.6f, RenderD7::Color::Hex("#ffffff"), msg);*/
|
||||
toastrendered->Draw(0, 0);
|
||||
toastrendered->Draw(0, msgposy);
|
||||
}
|
||||
|
||||
void RenderD7::Toast::Logic()
|
||||
|
Reference in New Issue
Block a user