Horizontal TE, proper edition

yes i can't git, shut
This commit is contained in:
Such Meme, Many Skill
2020-04-30 23:40:26 +02:00
parent 931cbc829f
commit 305c372d8c
4 changed files with 73 additions and 40 deletions

View File

@@ -165,14 +165,14 @@ void gfx_con_setcol(u32 fgcol, int fillbg, u32 bgcol)
void gfx_con_getpos(u32 *x, u32 *y)
{
*x = gfx_con.x;
*y = gfx_con.y;
*x = YLEFT - gfx_con.y;
*y = gfx_con.x;
}
void gfx_con_setpos(u32 x, u32 y)
{
gfx_con.x = x;
gfx_con.y = y;
gfx_con.x = y;
gfx_con.y = YLEFT - x;
}
void gfx_putc(char c)
@@ -196,44 +196,53 @@ void gfx_putc(char c)
if (v & 1)
{
*fb = gfx_con.fgcol;
fb++;
fb -= gfx_ctxt.stride;
*fb = gfx_con.fgcol;
}
else if (gfx_con.fillbg)
{
*fb = gfx_con.bgcol;
fb++;
fb -= gfx_ctxt.stride;
*fb = gfx_con.bgcol;
}
else
fb++;
fb -= gfx_ctxt.stride;
v >>= 1;
fb++;
fb -= gfx_ctxt.stride;
}
fb += gfx_ctxt.stride - 16;
//fb += gfx_ctxt.stride - 16;
//fb = fbtop + 2;
fb += (gfx_ctxt.stride * 16) + 1;
v = *cbuf;
}
cbuf++;
}
/*
gfx_con.x += 16;
if (gfx_con.x >= gfx_ctxt.width - 16) {
gfx_con.x = 0;
gfx_con.y += 16;
}
*/
gfx_con.y -= 16;
if (gfx_con.y < 16){
gfx_con.y = YLEFT;
gfx_con.x += 16;
}
}
else if (c == '\n')
{
gfx_con.x = 0;
gfx_con.y +=16;
if (gfx_con.y > gfx_ctxt.height - 16)
gfx_con.y = 0;
gfx_con.y = YLEFT;
gfx_con.x += 16;
if (gfx_con.x > gfx_ctxt.width - 16)
gfx_con.x = 0;
}
else if (c == '\e')
gfx_con.x = 672;
gfx_con.y = 607;
else if (c == '\a')
gfx_con.x = 608;
gfx_con.y = 671;
else if (c == '\r')
gfx_con.x = 0;
gfx_con.y = YLEFT;
break;
case 8:
@@ -252,29 +261,31 @@ void gfx_putc(char c)
else if (gfx_con.fillbg)
*fb = gfx_con.bgcol;
v >>= 1;
fb++;
fb -= gfx_ctxt.stride;
}
fb += gfx_ctxt.stride - 8;
fb += (gfx_ctxt.stride * 8) + 1;
}
gfx_con.x += 8;
if (gfx_con.x >= gfx_ctxt.width - 8) {
gfx_con.x = 0;
gfx_con.y += 8;
gfx_con.y -= 8;
if (gfx_con.y < 8){
gfx_con.y = YLEFT;
gfx_con.x += 8;
}
}
else if (c == '\n')
{
gfx_con.x = 0;
gfx_con.y += 8;
if (gfx_con.y > gfx_ctxt.height - 8)
gfx_con.y = 0;
gfx_con.y = YLEFT;
gfx_con.x += 8;
if (gfx_con.x > gfx_ctxt.width - 8)
gfx_con.x = 0;
}
else if (c == '\e')
gfx_con.x = 672;
else if (c == '\e')
gfx_con.y = 607;
else if (c == '\a')
gfx_con.x = 608;
gfx_con.y = 671;
else if (c == '\r')
gfx_con.x = 0;
gfx_con.y = YLEFT;
break;
}
@@ -520,19 +531,33 @@ void gfx_set_rect_grey(const u8 *buf, u32 size_x, u32 size_y, u32 pos_x, u32 pos
}
void gfx_boxGrey(int x0, int y0, int x1, int y1, u8 shade){
for (int y = (YLEFT - x0); y >= (YLEFT - x1); y--){
memset(gfx_ctxt.fb + y * gfx_ctxt.stride + y0, shade, (y1 - y0 + 1) * 4);
}
}
/*
void gfx_boxGrey_old(int x0, int y0, int x1, int y1, u8 shade){
for (int y = y0; y <= y1; y++){
memset(gfx_ctxt.fb + y * gfx_ctxt.stride + x0, shade, (x1 - x0) * 4);
}
}
*/
void gfx_box(int x0, int y0, int x1, int y1, u32 color){
for (int y = (YLEFT - x0); y >= (YLEFT - x1); y--){
for (int x = y0; x <= y1; x++){
gfx_set_pixel(x, y, color);
}
}
}
/*
void gfx_box_old(int x0, int y0, int x1, int y1, u32 color){
for (int x = x0; x < x1 + 1; x++){
for (int y = y0; y < y1 + 1; y++){
gfx_set_pixel(x, y, color);
}
}
}
*/
void gfx_set_rect_rgb(const u8 *buf, u32 size_x, u32 size_y, u32 pos_x, u32 pos_y)
{
u32 pos = 0;