diff --git a/src/lua_hudlib.c b/src/lua_hudlib.c index 61c1ea141..bf03b351b 100644 --- a/src/lua_hudlib.c +++ b/src/lua_hudlib.c @@ -122,6 +122,7 @@ enum align { align_smallthin, align_thin, align_thinfixed, + align_thinfixedcenter, align_thinfixedright, align_thincenter, align_thinright @@ -140,6 +141,7 @@ static const char *const align_opt[] = { "small-thin", "thin", "thin-fixed", + "thin-fixed-center", "thin-fixed-right", "thin-center", "thin-right", @@ -780,6 +782,9 @@ static int libd_drawString(lua_State *L) case align_thinfixed: V_DrawThinStringAtFixed(x, y, flags, str); break; + case align_thinfixedcenter: + V_DrawCenteredThinStringAtFixed(x, y, flags, str); + break; case align_thinfixedright: V_DrawRightAlignedThinStringAtFixed(x, y, flags, str); break; diff --git a/src/v_video.c b/src/v_video.c index c59bebf34..d80b507bc 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -2848,6 +2848,12 @@ void V_DrawThinStringAtFixed(fixed_t x, fixed_t y, INT32 option, const char *str } } +void V_DrawCenteredThinStringAtFixed(fixed_t x, fixed_t y, INT32 option, const char *string) +{ + x -= (V_ThinStringWidth(string, option) / 2)<