mirror of
https://github.com/CTCaer/hekate
synced 2024-11-16 00:49:27 +00:00
Add v1.5 color changes and logo
This commit is contained in:
parent
5f39808923
commit
867977e416
5 changed files with 2292 additions and 16 deletions
2258
ipl/ctc_logo.h
Normal file
2258
ipl/ctc_logo.h
Normal file
File diff suppressed because it is too large
Load diff
16
ipl/gfx.c
16
ipl/gfx.c
|
@ -89,7 +89,7 @@ void gfx_con_init(gfx_con_t *con, gfx_ctxt_t *ctxt)
|
|||
con->y = 0;
|
||||
con->fgcol = 0xFFFFFFFF;
|
||||
con->fillbg = 0;
|
||||
con->bgcol = 0xFF000000;
|
||||
con->bgcol = 0xFF1B1B1B;
|
||||
}
|
||||
|
||||
void gfx_con_setcol(gfx_con_t *con, u32 fgcol, int fillbg, u32 bgcol)
|
||||
|
@ -307,3 +307,17 @@ void gfx_line(gfx_ctxt_t *ctxt, int x0, int y0, int x1, int y1, u32 color)
|
|||
if (e2 < dy) { err += dx; y0 += sy; }
|
||||
}
|
||||
}
|
||||
|
||||
void gfx_set_logo(gfx_ctxt_t *ctxt, u16 pos_x, u16 pos_y,
|
||||
const u16 size_x, const u16 size_y, const u8 *buf)
|
||||
{
|
||||
u32 pos = 0;
|
||||
for (u32 y = pos_y; y < pos_y + size_y; y++)
|
||||
{
|
||||
for (u32 x = pos_x; x < pos_x + size_x; x++)
|
||||
{
|
||||
ctxt->fb[x + y*ctxt->stride] = (0xFF << 24) | buf[pos] | (buf[pos + 1] << 8) | (buf[pos + 2] << 16);
|
||||
pos+=3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,5 +50,6 @@ void gfx_hexdump(gfx_con_t *con, u32 base, const u8 *buf, u32 len);
|
|||
|
||||
void gfx_set_pixel(gfx_ctxt_t *ctxt, u32 x, u32 y, u32 color);
|
||||
void gfx_line(gfx_ctxt_t *ctxt, int x0, int y0, int x1, int y1, u32 color);
|
||||
void gfx_set_logo(gfx_ctxt_t *ctxt, u16 pos_x, u16 pos_y, const u16 size_x, const u16 size_y, const u8 *buf);
|
||||
|
||||
#endif
|
||||
|
|
20
ipl/main.c
20
ipl/main.c
|
@ -336,7 +336,7 @@ void config_hw()
|
|||
|
||||
void print_fuseinfo()
|
||||
{
|
||||
gfx_clear(&gfx_ctxt, 0xFF000000);
|
||||
gfx_clear(&gfx_ctxt, 0xFF1B1B1B);
|
||||
gfx_con_setpos(&gfx_con, 0, 0);
|
||||
|
||||
gfx_printf(&gfx_con, "%k(Unlocked) fuse cache:\n\n%k", 0xFFFF9955, 0xFFFFFFFF);
|
||||
|
@ -368,7 +368,7 @@ void print_fuseinfo()
|
|||
|
||||
void print_kfuseinfo()
|
||||
{
|
||||
gfx_clear(&gfx_ctxt, 0xFF000000);
|
||||
gfx_clear(&gfx_ctxt, 0xFF1B1B1B);
|
||||
gfx_con_setpos(&gfx_con, 0, 0);
|
||||
|
||||
gfx_printf(&gfx_con, "%kKFuse contents:\n\n%k", 0xFFFF9955, 0xFFFFFFFF);
|
||||
|
@ -404,7 +404,7 @@ void print_kfuseinfo()
|
|||
|
||||
void print_mmc_info()
|
||||
{
|
||||
gfx_clear(&gfx_ctxt, 0xFF000000);
|
||||
gfx_clear(&gfx_ctxt, 0xFF1B1B1B);
|
||||
gfx_con_setpos(&gfx_con, 0, 0);
|
||||
|
||||
static const u32 SECTORS_TO_MIB_COEFF = 11;
|
||||
|
@ -547,7 +547,7 @@ out:
|
|||
|
||||
void print_sdcard_info()
|
||||
{
|
||||
gfx_clear(&gfx_ctxt, 0xFF000000);
|
||||
gfx_clear(&gfx_ctxt, 0xFF1B1B1B);
|
||||
gfx_con_setpos(&gfx_con, 0, 0);
|
||||
|
||||
static const u32 SECTORS_TO_MIB_COEFF = 11;
|
||||
|
@ -600,7 +600,7 @@ void print_sdcard_info()
|
|||
|
||||
void print_tsec_key()
|
||||
{
|
||||
gfx_clear(&gfx_ctxt, 0xFF000000);
|
||||
gfx_clear(&gfx_ctxt, 0xFF1B1B1B);
|
||||
gfx_con_setpos(&gfx_con, 0, 0);
|
||||
|
||||
sdmmc_storage_t storage;
|
||||
|
@ -924,7 +924,7 @@ static void dump_emmc_selected(dumpType_t dumpType)
|
|||
{
|
||||
int res = 0;
|
||||
u32 timer = 0;
|
||||
gfx_clear(&gfx_ctxt, 0xFF000000);
|
||||
gfx_clear(&gfx_ctxt, 0xFF1B1B1B);
|
||||
gfx_con_setpos(&gfx_con, 0, 0);
|
||||
|
||||
if (!sd_mount())
|
||||
|
@ -1028,7 +1028,7 @@ void dump_package1()
|
|||
u8 * warmboot = (u8 *)malloc(0x40000);
|
||||
u8 * secmon = (u8 *)malloc(0x40000);
|
||||
|
||||
gfx_clear(&gfx_ctxt, 0xFF000000);
|
||||
gfx_clear(&gfx_ctxt, 0xFF1B1B1B);
|
||||
gfx_con_setpos(&gfx_con, 0, 0);
|
||||
|
||||
if (!sd_mount())
|
||||
|
@ -1107,7 +1107,7 @@ void launch_firmware()
|
|||
ini_sec_t *cfg_sec = NULL;
|
||||
LIST_INIT(ini_sections);
|
||||
|
||||
gfx_clear(&gfx_ctxt, 0xFF000000);
|
||||
gfx_clear(&gfx_ctxt, 0xFF1B1B1B);
|
||||
gfx_con_setpos(&gfx_con, 0, 0);
|
||||
|
||||
if (sd_mount())
|
||||
|
@ -1187,7 +1187,7 @@ void about()
|
|||
" (/` ( (` ) ) '-; %k[switchbrew]%k\n"
|
||||
" ` '-; (-'%k";
|
||||
|
||||
gfx_clear(&gfx_ctxt, 0xFF000000);
|
||||
gfx_clear(&gfx_ctxt, 0xFF1B1B1B);
|
||||
gfx_con_setpos(&gfx_con, 0, 0);
|
||||
|
||||
gfx_printf(&gfx_con, octopus, 0xFFFFCC00, 0xFFFFFFFF,
|
||||
|
@ -1259,7 +1259,7 @@ void ipl_main()
|
|||
//display_color_screen(0xAABBCCDD);
|
||||
u32 *fb = display_init_framebuffer();
|
||||
gfx_init_ctxt(&gfx_ctxt, fb, 720, 1280, 768);
|
||||
gfx_clear(&gfx_ctxt, 0xFF000000);
|
||||
gfx_clear(&gfx_ctxt, 0xFF1B1B1B);
|
||||
gfx_con_init(&gfx_con, &gfx_ctxt);
|
||||
|
||||
while (1)
|
||||
|
|
13
ipl/tui.c
13
ipl/tui.c
|
@ -16,6 +16,7 @@
|
|||
|
||||
#include "tui.h"
|
||||
#include "btn.h"
|
||||
#include "ctc_logo.h"
|
||||
|
||||
void tui_pbar(gfx_con_t *con, int x, int y, u32 val)
|
||||
{
|
||||
|
@ -42,11 +43,12 @@ void *tui_do_menu(gfx_con_t *con, menu_t *menu)
|
|||
{
|
||||
int idx = 0, cnt;
|
||||
|
||||
gfx_clear(con->gfx_ctxt, 0xFF000000);
|
||||
gfx_clear(con->gfx_ctxt, 0xFF1B1B1B);
|
||||
gfx_set_logo(con->gfx_ctxt, 538, 1180, LOGO_WIDTH, LOGO_HEIGHT, CTC_LOGO);
|
||||
|
||||
while (1)
|
||||
{
|
||||
gfx_con_setcol(con, 0xFFFFFFFF, 1, 0xFF000000);
|
||||
gfx_con_setcol(con, 0xFFFFFFFF, 1, 0xFF1B1B1B);
|
||||
gfx_con_setpos(con, menu->x, menu->y);
|
||||
gfx_printf(con, "[%s]\n\n", menu->caption);
|
||||
|
||||
|
@ -55,7 +57,7 @@ void *tui_do_menu(gfx_con_t *con, menu_t *menu)
|
|||
if (cnt == idx)
|
||||
gfx_con_setcol(con, 0xFF000000, 1, 0xFFCCCCCC);
|
||||
else
|
||||
gfx_con_setcol(con, 0xFFFFFFFF, 1, 0xFF000000);
|
||||
gfx_con_setcol(con, 0xFFFFFFFF, 1, 0xFF1B1B1B);
|
||||
con->x += 8;
|
||||
gfx_printf(con, "%s", menu->ents[cnt].caption);
|
||||
if(menu->ents[cnt].type == MENT_MENU)
|
||||
|
@ -63,7 +65,7 @@ void *tui_do_menu(gfx_con_t *con, menu_t *menu)
|
|||
gfx_putc(con, '\n');
|
||||
}
|
||||
|
||||
gfx_con_setcol(con, 0xFFFFFFFF, 1, 0xFF000000);
|
||||
gfx_con_setcol(con, 0xFFFFFFFF, 1, 0xFF1B1B1B);
|
||||
gfx_putc(con, '\n');
|
||||
|
||||
u32 btn = btn_wait();
|
||||
|
@ -94,7 +96,8 @@ void *tui_do_menu(gfx_con_t *con, menu_t *menu)
|
|||
return NULL;
|
||||
break;
|
||||
}
|
||||
gfx_clear(con->gfx_ctxt, 0xFF000000);
|
||||
gfx_clear(con->gfx_ctxt, 0xFF1B1B1B);
|
||||
gfx_set_logo(con->gfx_ctxt, 538, 1180, LOGO_WIDTH, LOGO_HEIGHT, CTC_LOGO);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue