mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-23 08:22:58 +00:00
big ol fucking fuck
This commit is contained in:
parent
8e47e37af1
commit
89036e07eb
9 changed files with 269 additions and 203 deletions
|
|
@ -914,6 +914,7 @@ consvar_t cv_debugvirtualkeyboard = PlayerCheat("debugvirtualkeyboard", "Off").o
|
|||
consvar_t cv_devmode_screen = PlayerCheat("devmode_screen", "1").min_max(1, 4).description("Choose which splitscreen player devmode applies to");
|
||||
consvar_t cv_drawpickups = PlayerCheat("drawpickups", "Yes").yes_no().description("Hide rings, spheres, item capsules, prison capsules (visual only)");
|
||||
consvar_t cv_drawtimer = PlayerCheat("drawtimer", "No").yes_no().description("Always draw the timer (race checkpoint timing, etc)");
|
||||
consvar_t cv_debugfonts = PlayerCheat("debugfonts", "No").yes_no().description("Draw font bounding boxes (integer precision, beware centered text!)");
|
||||
|
||||
void lua_profile_OnChange(void);
|
||||
consvar_t cv_lua_profile = PlayerCheat("lua_profile", "0").values(CV_Unsigned).onchange(lua_profile_OnChange).description("Show hook timings over an average of N tics");
|
||||
|
|
|
|||
|
|
@ -385,6 +385,8 @@ patch_t *HU_UpdateOrBlankPatch(patch_t **user, boolean required, const char *for
|
|||
vsnprintf(buffer, sizeof buffer, format, ap);
|
||||
va_end (ap);
|
||||
|
||||
CONS_Printf("%s\n", buffer);
|
||||
|
||||
if (user && partadd_earliestfile != UINT16_MAX)
|
||||
{
|
||||
UINT16 fileref = numwadfiles;
|
||||
|
|
|
|||
|
|
@ -482,7 +482,7 @@ void Dialogue::Draw(void)
|
|||
if (TextDone())
|
||||
{
|
||||
drawer
|
||||
.xy(-18 - 5, -7-5)
|
||||
.xy(-18 - 3, -7-5)
|
||||
.patch(patchCache["TUTDIAG2"]);
|
||||
|
||||
if (Held())
|
||||
|
|
@ -490,7 +490,7 @@ void Dialogue::Draw(void)
|
|||
else
|
||||
intertext += "<z_animated>";
|
||||
|
||||
drawer.xy(-18 + 4 - 5, -7-8 - 14).align(Draw::Align::kCenter).font(Draw::Font::kMenu).text(srb2::Draw::TextElement().parse(intertext).string());
|
||||
drawer.xy(-18, -7-8 - 14).align(Draw::Align::kCenter).font(Draw::Font::kMenu).text(srb2::Draw::TextElement().parse(intertext).string());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
143
src/k_hud.cpp
143
src/k_hud.cpp
|
|
@ -235,45 +235,49 @@ patch_t *kp_button_c[2][2];
|
|||
patch_t *kp_button_x[2][2];
|
||||
patch_t *kp_button_y[2][2];
|
||||
patch_t *kp_button_z[2][2];
|
||||
patch_t *kp_button_start[2];
|
||||
patch_t *kp_button_l[2];
|
||||
patch_t *kp_button_r[2];
|
||||
patch_t *kp_button_up[2];
|
||||
patch_t *kp_button_down[2];
|
||||
patch_t *kp_button_right[2];
|
||||
patch_t *kp_button_left[2];
|
||||
patch_t *kp_button_lua1[2];
|
||||
patch_t *kp_button_lua2[2];
|
||||
patch_t *kp_button_lua3[2];
|
||||
patch_t *kp_button_start[2][2];
|
||||
patch_t *kp_button_l[2][2];
|
||||
patch_t *kp_button_r[2][2];
|
||||
patch_t *kp_button_up[2][2];
|
||||
patch_t *kp_button_down[2][2];
|
||||
patch_t *kp_button_right[2][2];
|
||||
patch_t *kp_button_left[2][2];
|
||||
patch_t *kp_button_lua1[2][2];
|
||||
patch_t *kp_button_lua2[2][2];
|
||||
patch_t *kp_button_lua3[2][2];
|
||||
|
||||
patch_t *gen_button_a[2][2];
|
||||
patch_t *gen_button_b[2][2];
|
||||
patch_t *gen_button_x[2][2];
|
||||
patch_t *gen_button_y[2][2];
|
||||
patch_t *gen_button_lb[2];
|
||||
patch_t *gen_button_rb[2];
|
||||
patch_t *gen_button_lt[2];
|
||||
patch_t *gen_button_rt[2];
|
||||
patch_t *gen_button_start[2];
|
||||
patch_t *gen_button_back[2];
|
||||
patch_t *gen_button_ls[2];
|
||||
patch_t *gen_button_rs[2];
|
||||
patch_t *gen_button_dpad[2];
|
||||
patch_t *gen_button_lb[2][2];
|
||||
patch_t *gen_button_rb[2][2];
|
||||
patch_t *gen_button_lt[2][2];
|
||||
patch_t *gen_button_rt[2][2];
|
||||
patch_t *gen_button_start[2][2];
|
||||
patch_t *gen_button_back[2][2];
|
||||
patch_t *gen_button_ls[2][2];
|
||||
patch_t *gen_button_rs[2][2];
|
||||
patch_t *gen_button_dpad[2][2];
|
||||
|
||||
patch_t *gen_button_keyleft[2];
|
||||
patch_t *gen_button_keyright[2];
|
||||
patch_t *gen_button_keycenter[2];
|
||||
|
||||
static void K_LoadButtonGraphics(patch_t *kp[2], int letter)
|
||||
static void K_LoadButtonGraphics(patch_t *kp[2][2], const char* code)
|
||||
{
|
||||
HU_UpdatePatch(&kp[0], "TLB_%c", letter);
|
||||
HU_UpdatePatch(&kp[1], "TLB_%cB", letter);
|
||||
HU_UpdatePatch(&kp[0][0], "TLB_%s", code);
|
||||
HU_UpdatePatch(&kp[0][1], "TLB_%sB", code);
|
||||
HU_UpdatePatch(&kp[1][0], "TLBS%s", code);
|
||||
HU_UpdatePatch(&kp[1][1], "TLBS%sB", code);
|
||||
}
|
||||
|
||||
static void K_LoadGenericButtonGraphics(patch_t *kp[2], int letter)
|
||||
static void K_LoadGenericButtonGraphics(patch_t *kp[2][2], const char* code)
|
||||
{
|
||||
HU_UpdatePatch(&kp[0], "TLG_%c", letter);
|
||||
HU_UpdatePatch(&kp[1], "TLG_%cB", letter);
|
||||
HU_UpdatePatch(&kp[0][0], "TLG_%s", code);
|
||||
HU_UpdatePatch(&kp[0][1], "TLG_%sB", code);
|
||||
HU_UpdatePatch(&kp[1][0], "TLGS%s", code);
|
||||
HU_UpdatePatch(&kp[1][1], "TLGS%sB", code);
|
||||
}
|
||||
|
||||
void K_LoadKartHUDGraphics(void)
|
||||
|
|
@ -968,58 +972,23 @@ void K_LoadKartHUDGraphics(void)
|
|||
HU_UpdatePatch(&kp_spraycantarget_near[1][i], "%s", buffer);
|
||||
}
|
||||
|
||||
K_LoadButtonGraphics(kp_button_a[0], 'A');
|
||||
K_LoadButtonGraphics(kp_button_a[1], 'N');
|
||||
K_LoadButtonGraphics(kp_button_b[0], 'B');
|
||||
K_LoadButtonGraphics(kp_button_b[1], 'O');
|
||||
K_LoadButtonGraphics(kp_button_c[0], 'C');
|
||||
K_LoadButtonGraphics(kp_button_c[1], 'P');
|
||||
K_LoadButtonGraphics(kp_button_x[0], 'D');
|
||||
K_LoadButtonGraphics(kp_button_x[1], 'Q');
|
||||
K_LoadButtonGraphics(kp_button_y[0], 'E');
|
||||
K_LoadButtonGraphics(kp_button_y[1], 'R');
|
||||
K_LoadButtonGraphics(kp_button_z[0], 'F');
|
||||
K_LoadButtonGraphics(kp_button_z[1], 'S');
|
||||
K_LoadButtonGraphics(kp_button_start, 'G');
|
||||
K_LoadButtonGraphics(kp_button_l, 'H');
|
||||
K_LoadButtonGraphics(kp_button_r, 'I');
|
||||
K_LoadButtonGraphics(kp_button_up, 'J');
|
||||
K_LoadButtonGraphics(kp_button_down, 'K');
|
||||
K_LoadButtonGraphics(kp_button_right, 'L');
|
||||
K_LoadButtonGraphics(kp_button_left, 'M');
|
||||
// K_LoadButtonGraphics(kp_button_dpad, 'T');
|
||||
K_LoadButtonGraphics(kp_button_a, "A");
|
||||
K_LoadButtonGraphics(kp_button_b, "B");
|
||||
K_LoadButtonGraphics(kp_button_c, "C");
|
||||
K_LoadButtonGraphics(kp_button_x, "X");
|
||||
K_LoadButtonGraphics(kp_button_y, "Y");
|
||||
K_LoadButtonGraphics(kp_button_z, "Z");
|
||||
K_LoadButtonGraphics(kp_button_l, "L1");
|
||||
K_LoadButtonGraphics(kp_button_r, "R1");
|
||||
K_LoadButtonGraphics(kp_button_up, "ARU");
|
||||
K_LoadButtonGraphics(kp_button_down, "ARD");
|
||||
K_LoadButtonGraphics(kp_button_right, "ARR");
|
||||
K_LoadButtonGraphics(kp_button_left, "ARL");
|
||||
K_LoadButtonGraphics(kp_button_start, "S");
|
||||
|
||||
HU_UpdatePatch(&kp_button_lua1[0], "TLG_L1");
|
||||
HU_UpdatePatch(&kp_button_lua1[1], "TLG_L1B");
|
||||
HU_UpdatePatch(&kp_button_lua2[0], "TLG_L2");
|
||||
HU_UpdatePatch(&kp_button_lua2[1], "TLG_L2B");
|
||||
HU_UpdatePatch(&kp_button_lua3[0], "TLG_L3");
|
||||
HU_UpdatePatch(&kp_button_lua3[1], "TLG_L3B");
|
||||
|
||||
K_LoadGenericButtonGraphics(gen_button_a[0], 'A');
|
||||
K_LoadGenericButtonGraphics(gen_button_b[0], 'B');
|
||||
K_LoadGenericButtonGraphics(gen_button_x[0], 'D');
|
||||
K_LoadGenericButtonGraphics(gen_button_y[0], 'E');
|
||||
|
||||
K_LoadGenericButtonGraphics(gen_button_a[1], 'K');
|
||||
K_LoadGenericButtonGraphics(gen_button_b[1], 'M');
|
||||
K_LoadGenericButtonGraphics(gen_button_x[1], 'L');
|
||||
K_LoadGenericButtonGraphics(gen_button_y[1], 'J');
|
||||
|
||||
K_LoadGenericButtonGraphics(gen_button_lb, 'H');
|
||||
K_LoadGenericButtonGraphics(gen_button_rb, 'I');
|
||||
|
||||
K_LoadGenericButtonGraphics(gen_button_lt, 'C');
|
||||
K_LoadGenericButtonGraphics(gen_button_rt, 'F');
|
||||
|
||||
K_LoadGenericButtonGraphics(gen_button_start, 'G');
|
||||
K_LoadGenericButtonGraphics(gen_button_back, 'V'); // FIXME
|
||||
|
||||
K_LoadGenericButtonGraphics(gen_button_ls, 'T');
|
||||
K_LoadGenericButtonGraphics(gen_button_rs, 'U');
|
||||
|
||||
HU_UpdatePatch(&gen_button_dpad[0], "TLB_T");
|
||||
HU_UpdatePatch(&gen_button_dpad[1], "TLB_TB");
|
||||
K_LoadGenericButtonGraphics(kp_button_lua1, "LU1");
|
||||
K_LoadGenericButtonGraphics(kp_button_lua2, "LU2");
|
||||
K_LoadGenericButtonGraphics(kp_button_lua3, "LU3");
|
||||
|
||||
HU_UpdatePatch(&gen_button_keyleft[0], "TLK_L");
|
||||
HU_UpdatePatch(&gen_button_keyleft[1], "TLK_LB");
|
||||
|
|
@ -1027,6 +996,20 @@ void K_LoadKartHUDGraphics(void)
|
|||
HU_UpdatePatch(&gen_button_keyright[1], "TLK_RB");
|
||||
HU_UpdatePatch(&gen_button_keycenter[0], "TLK_M");
|
||||
HU_UpdatePatch(&gen_button_keycenter[1], "TLK_MB");
|
||||
|
||||
K_LoadGenericButtonGraphics(gen_button_dpad, "DP");
|
||||
K_LoadGenericButtonGraphics(gen_button_a, "A");
|
||||
K_LoadGenericButtonGraphics(gen_button_b, "B");
|
||||
K_LoadGenericButtonGraphics(gen_button_x, "X");
|
||||
K_LoadGenericButtonGraphics(gen_button_y, "Y");
|
||||
K_LoadGenericButtonGraphics(gen_button_lb, "L1");
|
||||
K_LoadGenericButtonGraphics(gen_button_rb, "R1");
|
||||
K_LoadGenericButtonGraphics(gen_button_lt, "L2");
|
||||
K_LoadGenericButtonGraphics(gen_button_rt, "R2");
|
||||
K_LoadGenericButtonGraphics(gen_button_ls, "L3");
|
||||
K_LoadGenericButtonGraphics(gen_button_rs, "R3");
|
||||
K_LoadGenericButtonGraphics(gen_button_start, "S");
|
||||
K_LoadGenericButtonGraphics(gen_button_back, "I");
|
||||
}
|
||||
|
||||
// For the item toggle menu
|
||||
|
|
@ -6509,14 +6492,14 @@ void K_drawKartHUD(void)
|
|||
#if 0
|
||||
using srb2::Draw;
|
||||
|
||||
if (0)
|
||||
if (1)
|
||||
{
|
||||
// Draw::TextElement text = Draw::TextElement().parse("A <a> B <b> C <c> X <x> Y <y> Z <z>\nST <start> L <l> R <r> U <up> D <down> L <left> R <right>");
|
||||
Draw::TextElement text = Draw::TextElement().parse("Unpressed <y> Pressed <y_pressed> Animated <y_animated>");
|
||||
CV_StealthSetValue(cv_descriptiveinput, 0);
|
||||
Draw::TextElement text = Draw::TextElement().parse("Hamburger <a><b><c><x><y><z><l><r><lua1><lua2><lua3><start><left><up><right><down> Hamburger\n\nHamburger <large><a><large><b><large><c><large><x><large><y><large><z><large><l><large><r><large><lua1><large><lua2><large><lua3><large><start><large><left><large><up><large><right><large><down> Hamburger\n\nHamburger \xEB\xEF\xA0\xEB\xEF\xA1\xEB\xEF\xA2\xEB\xEF\xA3\xEB\xEF\xA4\xEB\xEF\xA5\xEB\xEF\xA6\xEB\xEF\xA7\xEB\xEF\xA8\xEB\xEF\xA9\xEB\xEF\xAA\xEB\xEF\xAB\xEB\xEF\xAC Hamburger");
|
||||
|
||||
UINT8 fakeoff = (stplyr - players)*40;
|
||||
Draw(5, 5+fakeoff).align((srb2::Draw::Align)0).font(Draw::Font::kMenu).text(text);
|
||||
Draw(5, 20+fakeoff).align((srb2::Draw::Align)0).font(Draw::Font::kThin).text(text);
|
||||
Draw(40, 80+fakeoff).align((srb2::Draw::Align)0).font(Draw::Font::kThin).text(text);
|
||||
}
|
||||
|
||||
if (0)
|
||||
|
|
|
|||
43
src/k_hud.h
43
src/k_hud.h
|
|
@ -94,31 +94,34 @@ extern patch_t *kp_button_c[2][2];
|
|||
extern patch_t *kp_button_x[2][2];
|
||||
extern patch_t *kp_button_y[2][2];
|
||||
extern patch_t *kp_button_z[2][2];
|
||||
extern patch_t *kp_button_start[2];
|
||||
extern patch_t *kp_button_l[2];
|
||||
extern patch_t *kp_button_r[2];
|
||||
extern patch_t *kp_button_up[2];
|
||||
extern patch_t *kp_button_down[2];
|
||||
extern patch_t *kp_button_right[2];
|
||||
extern patch_t *kp_button_left[2];
|
||||
// extern patch_t *kp_button_dpad[2];
|
||||
extern patch_t *kp_button_lua1[2];
|
||||
extern patch_t *kp_button_lua2[2];
|
||||
extern patch_t *kp_button_lua3[2];
|
||||
extern patch_t *kp_button_start[2][2];
|
||||
extern patch_t *kp_button_l[2][2];
|
||||
extern patch_t *kp_button_r[2][2];
|
||||
extern patch_t *kp_button_up[2][2];
|
||||
extern patch_t *kp_button_down[2][2];
|
||||
extern patch_t *kp_button_right[2][2];
|
||||
extern patch_t *kp_button_left[2][2];
|
||||
extern patch_t *kp_button_lua1[2][2];
|
||||
extern patch_t *kp_button_lua2[2][2];
|
||||
extern patch_t *kp_button_lua3[2][2];
|
||||
|
||||
extern patch_t *gen_button_a[2][2];
|
||||
extern patch_t *gen_button_b[2][2];
|
||||
extern patch_t *gen_button_x[2][2];
|
||||
extern patch_t *gen_button_y[2][2];
|
||||
extern patch_t *gen_button_lb[2];
|
||||
extern patch_t *gen_button_rb[2];
|
||||
extern patch_t *gen_button_lt[2];
|
||||
extern patch_t *gen_button_rt[2];
|
||||
extern patch_t *gen_button_start[2];
|
||||
extern patch_t *gen_button_back[2];
|
||||
extern patch_t *gen_button_ls[2];
|
||||
extern patch_t *gen_button_rs[2];
|
||||
extern patch_t *gen_button_dpad[2];
|
||||
extern patch_t *gen_button_lb[2][2];
|
||||
extern patch_t *gen_button_rb[2][2];
|
||||
extern patch_t *gen_button_lt[2][2];
|
||||
extern patch_t *gen_button_rt[2][2];
|
||||
extern patch_t *gen_button_start[2][2];
|
||||
extern patch_t *gen_button_back[2][2];
|
||||
extern patch_t *gen_button_ls[2][2];
|
||||
extern patch_t *gen_button_rs[2][2];
|
||||
extern patch_t *gen_button_dpad[2][2];
|
||||
|
||||
extern patch_t *gen_button_keyleft[2];
|
||||
extern patch_t *gen_button_keyright[2];
|
||||
extern patch_t *gen_button_keycenter[2];
|
||||
|
||||
extern patch_t *gen_button_keyleft[2];
|
||||
extern patch_t *gen_button_keyright[2];
|
||||
|
|
|
|||
|
|
@ -6106,7 +6106,7 @@ void M_DrawPause(void)
|
|||
K_DrawGameControl(4, 184 - 45 + offset/2, 0, "<a> Accelerate", 0, 0, 0);
|
||||
K_DrawGameControl(4, 184 - 30 + offset/2, 0, "<b> Look Back", 0, 0, 0);
|
||||
K_DrawGameControl(4, 184 - 15 + offset/2, 0, "<c> Spindash", 0, 0, 0);
|
||||
K_DrawGameControl(4, 184 - 0 + offset/2, 0, "<l> Item", 0, 0, 0);
|
||||
K_DrawGameControl(4, 184 - 0 + offset/2, 0, "<l> Item/Rings", 0, 0, 0);
|
||||
|
||||
K_DrawGameControl(90, 184 - 45 + offset/2, 0, "<x> Brake", 0, 0, 0);
|
||||
K_DrawGameControl(90, 184 - 30 + offset/2, 0, "<y> Respawn", 0, 0, 0);
|
||||
|
|
|
|||
|
|
@ -138,6 +138,7 @@ extern consvar_t cv_drawpickups;
|
|||
extern consvar_t cv_debugfinishline;
|
||||
extern consvar_t cv_drawinput;
|
||||
extern consvar_t cv_drawtimer;
|
||||
extern consvar_t cv_debugfonts;
|
||||
|
||||
// debugging
|
||||
|
||||
|
|
|
|||
|
|
@ -390,16 +390,16 @@ patch_t** get_button_patch(Draw::Button type, int ver)
|
|||
X(x)[ver];
|
||||
X(y)[ver];
|
||||
X(z)[ver];
|
||||
X(start);
|
||||
X(l);
|
||||
X(r);
|
||||
X(up);
|
||||
X(down);
|
||||
X(right);
|
||||
X(left);
|
||||
X(lua1);
|
||||
X(lua2);
|
||||
X(lua3);
|
||||
X(start)[ver];
|
||||
X(l)[ver];
|
||||
X(r)[ver];
|
||||
X(up)[ver];
|
||||
X(down)[ver];
|
||||
X(right)[ver];
|
||||
X(left)[ver];
|
||||
X(lua1)[ver];
|
||||
X(lua2)[ver];
|
||||
X(lua3)[ver];
|
||||
|
||||
#undef X
|
||||
}
|
||||
|
|
@ -435,15 +435,15 @@ patch_t** get_button_patch(Draw::GenericButton type, int ver)
|
|||
X(b)[ver];
|
||||
X(x)[ver];
|
||||
X(y)[ver];
|
||||
X(lb);
|
||||
X(rb);
|
||||
X(lt);
|
||||
X(rt);
|
||||
X(start);
|
||||
X(back);
|
||||
X(ls);
|
||||
X(rs);
|
||||
X(dpad);
|
||||
X(lb)[ver];
|
||||
X(rb)[ver];
|
||||
X(lt)[ver];
|
||||
X(rt)[ver];
|
||||
X(start)[ver];
|
||||
X(back)[ver];
|
||||
X(ls)[ver];
|
||||
X(rs)[ver];
|
||||
X(dpad)[ver];
|
||||
|
||||
#undef X
|
||||
}
|
||||
|
|
|
|||
238
src/v_video.cpp
238
src/v_video.cpp
|
|
@ -2496,40 +2496,39 @@ static void V_GetFontSpecification(int fontno, INT32 flags, fontspec_t *result)
|
|||
|
||||
static UINT8 V_GetButtonCodeWidth(UINT8 c, boolean largebutton)
|
||||
{
|
||||
UINT8 x = 0;
|
||||
UINT8 x = 14;
|
||||
|
||||
switch (c & 0x0F)
|
||||
{
|
||||
case 0x00:
|
||||
case 0x01:
|
||||
case 0x02:
|
||||
case 0x03:
|
||||
// arrows
|
||||
x = 12;
|
||||
case sb_up:
|
||||
case sb_down:
|
||||
case sb_left:
|
||||
case sb_right:
|
||||
x -= largebutton ? 2 : 4;
|
||||
break;
|
||||
|
||||
case 0x07:
|
||||
case 0x08:
|
||||
case 0x09:
|
||||
// shoulders, start
|
||||
x = 14;
|
||||
case sb_l:
|
||||
case sb_r:
|
||||
x -= largebutton ? 1 : 4;
|
||||
break;
|
||||
|
||||
case 0x04:
|
||||
case 0x05:
|
||||
case 0x06:
|
||||
// lua
|
||||
x = 16;
|
||||
case sb_start:
|
||||
x -= largebutton ? 0 : 4;
|
||||
break;
|
||||
|
||||
case 0x0A:
|
||||
case 0x0B:
|
||||
case 0x0C:
|
||||
case 0x0D:
|
||||
case 0x0E:
|
||||
case 0x0F:
|
||||
// faces
|
||||
x = largebutton ? 13 : 10;
|
||||
case sb_lua1:
|
||||
case sb_lua2:
|
||||
case sb_lua3:
|
||||
x -= largebutton ? 0 : 4;
|
||||
break;
|
||||
|
||||
case sb_a:
|
||||
case sb_b:
|
||||
case sb_c:
|
||||
case sb_x:
|
||||
case sb_y:
|
||||
case sb_z:
|
||||
x -= largebutton ? 0 : 4;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -2538,45 +2537,42 @@ static UINT8 V_GetButtonCodeWidth(UINT8 c, boolean largebutton)
|
|||
|
||||
static UINT8 V_GetGenericButtonCodeWidth(UINT8 c, boolean largebutton)
|
||||
{
|
||||
UINT8 x = 0;
|
||||
UINT8 x = 16;
|
||||
|
||||
switch (c & 0x0F)
|
||||
switch ((c & 0x0F) | gb_mask)
|
||||
{
|
||||
case 0x00:
|
||||
case 0x01:
|
||||
case 0x02:
|
||||
case 0x03:
|
||||
// buttons
|
||||
x = largebutton ? 17 : 14;
|
||||
case gb_a:
|
||||
case gb_b:
|
||||
case gb_x:
|
||||
case gb_y:
|
||||
x -= largebutton ? 0 : 2;
|
||||
break;
|
||||
|
||||
case 0x04:
|
||||
case 0x05:
|
||||
// bumpers
|
||||
x = 14;
|
||||
case gb_lb:
|
||||
case gb_rb:
|
||||
x -= largebutton ? 2 : 6;
|
||||
break;
|
||||
|
||||
case 0x06:
|
||||
case 0x07:
|
||||
// triggers
|
||||
x = 14;
|
||||
case gb_lt:
|
||||
case gb_rt:
|
||||
x -= largebutton ? 2 : 6;
|
||||
break;
|
||||
|
||||
case 0x08:
|
||||
case 0x09:
|
||||
// nav
|
||||
x = 14;
|
||||
case gb_start:
|
||||
x -= largebutton ? 2 : 6;
|
||||
break;
|
||||
|
||||
case 0x0A:
|
||||
case 0x0B:
|
||||
// stick click
|
||||
x = 18;
|
||||
case gb_back:
|
||||
x -= largebutton ? 2 : 6;
|
||||
break;
|
||||
|
||||
case 0x0C:
|
||||
// dpad
|
||||
x = 14;
|
||||
case gb_ls:
|
||||
case gb_rs:
|
||||
x -= largebutton ? 1 : 4;
|
||||
break;
|
||||
|
||||
case gb_dpad:
|
||||
x -= largebutton ? 2 : 5;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -2609,6 +2605,10 @@ void V_DrawStringScaled(
|
|||
int boxed = 0;
|
||||
boolean descriptive = false;
|
||||
|
||||
boolean debugalternation = false;
|
||||
UINT8 debugcolor1 = 181;
|
||||
UINT8 debugcolor2 = 96;
|
||||
|
||||
boolean dance;
|
||||
boolean nodanceoverride;
|
||||
INT32 dancecounter;
|
||||
|
|
@ -2835,32 +2835,65 @@ void V_DrawStringScaled(
|
|||
{
|
||||
switch (c & 0x0F)
|
||||
{
|
||||
case sb_up: return {{0, 3, Draw::Button::up}};
|
||||
case sb_down: return {{0, 3, Draw::Button::down}};
|
||||
case sb_right: return {{0, 3, Draw::Button::right}};
|
||||
case sb_left: return {{0, 3, Draw::Button::left}};
|
||||
case sb_up: return {{2, 2, Draw::Button::up}};
|
||||
case sb_down: return {{2, 2, Draw::Button::down}};
|
||||
case sb_right: return {{2, 2, Draw::Button::right}};
|
||||
case sb_left: return {{2, 2, Draw::Button::left}};
|
||||
|
||||
case sb_lua1: return {{0, 4, Draw::Button::lua1}};
|
||||
case sb_lua2: return {{0, 4, Draw::Button::lua2}};
|
||||
case sb_lua3: return {{0, 4, Draw::Button::lua3}};
|
||||
case sb_lua1: return {{2, 2, Draw::Button::lua1}};
|
||||
case sb_lua2: return {{2, 2, Draw::Button::lua2}};
|
||||
case sb_lua3: return {{2, 2, Draw::Button::lua3}};
|
||||
|
||||
case sb_r: return {{0, 2, Draw::Button::r}};
|
||||
case sb_l: return {{0, 2, Draw::Button::l}};
|
||||
case sb_r: return {{2, 2, Draw::Button::r}};
|
||||
case sb_l: return {{2, 2, Draw::Button::l}};
|
||||
|
||||
case sb_start: return {{0, 1, Draw::Button::start}};
|
||||
case sb_start: return {{2, 2, Draw::Button::start}};
|
||||
|
||||
case sb_a: return {{2, 1, Draw::Button::a}};
|
||||
case sb_b: return {{2, 1, Draw::Button::b}};
|
||||
case sb_c: return {{2, 1, Draw::Button::c}};
|
||||
case sb_a: return {{2, 2, Draw::Button::a}};
|
||||
case sb_b: return {{2, 2, Draw::Button::b}};
|
||||
case sb_c: return {{2, 2, Draw::Button::c}};
|
||||
|
||||
case sb_x: return {{2, 1, Draw::Button::x}};
|
||||
case sb_y: return {{2, 1, Draw::Button::y}};
|
||||
case sb_z: return {{2, 1, Draw::Button::z}};
|
||||
case sb_x: return {{2, 2, Draw::Button::x}};
|
||||
case sb_y: return {{2, 2, Draw::Button::y}};
|
||||
case sb_z: return {{2, 2, Draw::Button::z}};
|
||||
|
||||
default: return {};
|
||||
}
|
||||
}();
|
||||
|
||||
if (largebutton)
|
||||
{
|
||||
bt_inst = [c]() -> std::optional<BtConf>
|
||||
{
|
||||
switch (c & 0x0F)
|
||||
{
|
||||
case sb_up: return {{2, 4, Draw::Button::up}};
|
||||
case sb_down: return {{2, 4, Draw::Button::down}};
|
||||
case sb_right: return {{2, 4, Draw::Button::right}};
|
||||
case sb_left: return {{2, 4, Draw::Button::left}};
|
||||
|
||||
case sb_lua1: return {{1, 4, Draw::Button::lua1}};
|
||||
case sb_lua2: return {{1, 4, Draw::Button::lua2}};
|
||||
case sb_lua3: return {{1, 4, Draw::Button::lua3}};
|
||||
|
||||
case sb_r: return {{1, 4, Draw::Button::r}};
|
||||
case sb_l: return {{1, 4, Draw::Button::l}};
|
||||
|
||||
case sb_start: return {{1, 4, Draw::Button::start}};
|
||||
|
||||
case sb_a: return {{1, 4, Draw::Button::a}};
|
||||
case sb_b: return {{1, 4, Draw::Button::b}};
|
||||
case sb_c: return {{1, 4, Draw::Button::c}};
|
||||
|
||||
case sb_x: return {{1, 4, Draw::Button::x}};
|
||||
case sb_y: return {{1, 4, Draw::Button::y}};
|
||||
case sb_z: return {{1, 4, Draw::Button::z}};
|
||||
|
||||
default: return {};
|
||||
}
|
||||
}();
|
||||
}
|
||||
|
||||
if (bt_inst)
|
||||
{
|
||||
auto bt_translate_press = [c]() -> std::optional<bool>
|
||||
|
|
@ -2878,6 +2911,12 @@ void V_DrawStringScaled(
|
|||
|
||||
cxoff = (*fontspec.dim_fn)(scale, fontspec.chw, hchw, dupx, &cw);
|
||||
|
||||
if (cv_debugfonts.value)
|
||||
{
|
||||
V_DrawFill(cx/FRACUNIT, cy/FRACUNIT, cw/FRACUNIT, fontspec.lfh/FRACUNIT, debugalternation ? debugcolor1 : debugcolor2);
|
||||
debugalternation = !debugalternation;
|
||||
}
|
||||
|
||||
Draw bt = Draw(
|
||||
FixedToFloat(cx + cxoff) - (bt_inst->x * dupx),
|
||||
FixedToFloat(cy + cyoff) - ((bt_inst->y + fontspec.button_yofs) * dupy))
|
||||
|
|
@ -2908,23 +2947,47 @@ void V_DrawStringScaled(
|
|||
{
|
||||
switch ((c & 0x0F) | gb_mask)
|
||||
{
|
||||
case gb_a: return {{0, 2, Draw::GenericButton::a}};
|
||||
case gb_b: return {{0, 2, Draw::GenericButton::b}};
|
||||
case gb_x: return {{0, 2, Draw::GenericButton::x}};
|
||||
case gb_y: return {{0, 2, Draw::GenericButton::y}};
|
||||
case gb_lb: return {{1, 3, Draw::GenericButton::lb}};
|
||||
case gb_rb: return {{1, 3, Draw::GenericButton::rb}};
|
||||
case gb_lt: return {{1, 4, Draw::GenericButton::lt}};
|
||||
case gb_rt: return {{1, 4, Draw::GenericButton::rt}};
|
||||
case gb_start: return {{1, 6, Draw::GenericButton::start}};
|
||||
case gb_back: return {{1, 6, Draw::GenericButton::back}};
|
||||
case gb_ls: return {{0, 5, Draw::GenericButton::ls}};
|
||||
case gb_rs: return {{0, 5, Draw::GenericButton::rs}};
|
||||
case gb_dpad: return {{0, 4, Draw::GenericButton::dpad}};
|
||||
case gb_a: return {{0, 1, Draw::GenericButton::a}};
|
||||
case gb_b: return {{0, 1, Draw::GenericButton::b}};
|
||||
case gb_x: return {{0, 1, Draw::GenericButton::x}};
|
||||
case gb_y: return {{0, 1, Draw::GenericButton::y}};
|
||||
case gb_lb: return {{2, 2, Draw::GenericButton::lb}};
|
||||
case gb_rb: return {{2, 2, Draw::GenericButton::rb}};
|
||||
case gb_lt: return {{2, 2, Draw::GenericButton::lt}};
|
||||
case gb_rt: return {{2, 2, Draw::GenericButton::rt}};
|
||||
case gb_start: return {{2, 2, Draw::GenericButton::start}};
|
||||
case gb_back: return {{2, 2, Draw::GenericButton::back}};
|
||||
case gb_ls: return {{1, 2, Draw::GenericButton::ls}};
|
||||
case gb_rs: return {{1, 2, Draw::GenericButton::rs}};
|
||||
case gb_dpad: return {{2, 2, Draw::GenericButton::dpad}};
|
||||
default: return {};
|
||||
}
|
||||
}();
|
||||
|
||||
if (largebutton)
|
||||
{
|
||||
bt_inst = [c]() -> std::optional<BtConf>
|
||||
{
|
||||
switch ((c & 0x0F) | gb_mask)
|
||||
{
|
||||
case gb_a: return {{0, 3, Draw::GenericButton::a}};
|
||||
case gb_b: return {{0, 3, Draw::GenericButton::b}};
|
||||
case gb_x: return {{0, 3, Draw::GenericButton::x}};
|
||||
case gb_y: return {{0, 3, Draw::GenericButton::y}};
|
||||
case gb_lb: return {{1, 3, Draw::GenericButton::lb}};
|
||||
case gb_rb: return {{1, 3, Draw::GenericButton::rb}};
|
||||
case gb_lt: return {{1, 4, Draw::GenericButton::lt}};
|
||||
case gb_rt: return {{1, 4, Draw::GenericButton::rt}};
|
||||
case gb_start: return {{1, 6, Draw::GenericButton::start}};
|
||||
case gb_back: return {{1, 6, Draw::GenericButton::back}};
|
||||
case gb_ls: return {{1, 5, Draw::GenericButton::ls}};
|
||||
case gb_rs: return {{1, 5, Draw::GenericButton::rs}};
|
||||
case gb_dpad: return {{1, 4, Draw::GenericButton::dpad}};
|
||||
default: return {};
|
||||
}
|
||||
}();
|
||||
}
|
||||
|
||||
if (bt_inst)
|
||||
{
|
||||
auto bt_translate_press = [c]() -> std::optional<bool>
|
||||
|
|
@ -2942,6 +3005,12 @@ void V_DrawStringScaled(
|
|||
|
||||
cxoff = (*fontspec.dim_fn)(scale, fontspec.chw, hchw, dupx, &cw);
|
||||
|
||||
if (cv_debugfonts.value)
|
||||
{
|
||||
V_DrawFill(cx/FRACUNIT, cy/FRACUNIT, cw/FRACUNIT, fontspec.lfh/FRACUNIT, debugalternation ? debugcolor1 : debugcolor2);
|
||||
debugalternation = !debugalternation;
|
||||
}
|
||||
|
||||
Draw bt = Draw(
|
||||
FixedToFloat(cx + cxoff) - (bt_inst->x * dupx),
|
||||
FixedToFloat(cy + cyoff) - ((bt_inst->y + fontspec.button_yofs) * dupy))
|
||||
|
|
@ -2969,6 +3038,12 @@ void V_DrawStringScaled(
|
|||
cw = SHORT (font->font[c]->width) * dupx;
|
||||
cxoff = (*fontspec.dim_fn)(scale, fontspec.chw, hchw, dupx, &cw);
|
||||
|
||||
if (cv_debugfonts.value)
|
||||
{
|
||||
V_DrawFill(cx/FRACUNIT, cy/FRACUNIT, cw/FRACUNIT, fontspec.lfh/FRACUNIT, debugalternation ? debugcolor1 : debugcolor2);
|
||||
debugalternation = !debugalternation;
|
||||
}
|
||||
|
||||
if (boxed != 1)
|
||||
{
|
||||
V_DrawFixedPatch(cx + cxoff + patchxofs, cy + cyoff + (boxed == 3 ? 2*FRACUNIT : 0), scale,
|
||||
|
|
@ -3063,6 +3138,7 @@ fixed_t V_StringScaledWidth(
|
|||
case '\xEB':
|
||||
if (fontno != TINY_FONT && fontno != HU_FONT)
|
||||
largebutton = true;
|
||||
break;
|
||||
case '\xEF':
|
||||
descriptive = true;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue