From 45b2c0fe1fa083927ce1339fc272f3a845078e77 Mon Sep 17 00:00:00 2001 From: Vortrex <3858226+VortrexFTW@users.noreply.github.com> Date: Tue, 29 Mar 2022 21:06:06 -0500 Subject: [PATCH] Add big game message and font choice --- scripts/client/messaging.js | 44 +++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/scripts/client/messaging.js b/scripts/client/messaging.js index 11c17b71..20404eee 100644 --- a/scripts/client/messaging.js +++ b/scripts/client/messaging.js @@ -7,7 +7,14 @@ // TYPE: Client (JavaScript) // =========================================================================== -let smallGameMessageFont = null; +let bigGameMessageFont = {}; +let bigGameMessageFontName = ""; +let bigGameMessageText = ""; +let bigGameMessageColour = COLOUR_WHITE; +let bigGameMessageTimer = null; + +let smallGameMessageFont = {}; +let smallGameMessageFontName = ""; let smallGameMessageText = ""; let smallGameMessageColour = COLOUR_WHITE; let smallGameMessageTimer = null; @@ -16,43 +23,50 @@ let smallGameMessageTimer = null; function initMessagingScript() { logToConsole(LOG_DEBUG, "[VRR.Messaging]: Initializing messaging script ..."); - smallGameMessageFont = loadSmallGameMessageFont(); + smallGameMessageFont = loadSmallGameMessageFonts(); + bigGameMessageFont = loadSmallGameMessageFonts(); logToConsole(LOG_DEBUG, "[VRR.Messaging]: Messaging script initialized!"); } // =========================================================================== -function loadSmallGameMessageFont() { - let tempSmallGameMessageFont = null; +function loadSmallGameMessageFonts() { + let tempSmallGameMessageFonts = {}; let fontStream = openFile("files/fonts/pricedown.ttf"); if(fontStream != null) { - tempSmallGameMessageFont = lucasFont.createFont(fontStream, 20.0); + tempSmallGameMessageFonts["Pricedown"] = lucasFont.createFont(fontStream, 20.0); fontStream.close(); } - return tempSmallGameMessageFont; + tempSmallGameMessageFonts["Roboto"] = lucasFont.createDefaultFont(20.0, "Roboto"); + tempSmallGameMessageFonts["RobotoLight"] = lucasFont.createDefaultFont(20.0, "Roboto", "Light"); + + return tempSmallGameMessageFonts; } // =========================================================================== function loadBigGameMessageFont() { - let tempBigGameMessageFont = null; + let tempBigGameMessageFonts = {}; let fontStream = openFile("files/fonts/pricedown.ttf"); if(fontStream != null) { - tempBigGameMessageFont = lucasFont.createFont(fontStream, 28.0); + tempBigGameMessageFonts["Pricedown"] = lucasFont.createFont(fontStream, 28.0); fontStream.close(); } - return tempBigGameMessageFont; + tempBigGameMessageFonts["Roboto"] = lucasFont.createDefaultFont(28.0, "Roboto"); + tempBigGameMessageFonts["RobotoLight"] = lucasFont.createDefaultFont(28.0, "Roboto", "Light"); + + return tempBigGameMessageFonts; } // =========================================================================== function processSmallGameMessageRendering() { if(renderSmallGameMessage) { - if(smallGameMessageFont != null) { - if(smallGameMessageFont != "") { - smallGameMessageFont.render(smallGameMessageText, [0, game.height-90], game.width, 0.5, 0.0, smallGameMessageFont.size, smallGameMessageColour, true, true, false, true); + if(smallGameMessageText != "") { + if(smallGameMessageFonts[smallGameMessageFontName] != null) { + smallGameMessageFonts[smallGameMessageFontName].render(smallGameMessageText, [0, game.height-90], game.width, 0.5, 0.0, smallGameMessageFont[smallGameMessageFontName].size, smallGameMessageColour, true, true, false, true); } } } @@ -60,12 +74,13 @@ function processSmallGameMessageRendering() { // =========================================================================== -function showSmallGameMessage(text, colour, duration) { - logToConsole(LOG_DEBUG, `[VRR.Messaging] Showing small game message '${text}' for ${duration}ms`); +function showSmallGameMessage(text, colour, duration, fontName) { + logToConsole(LOG_DEBUG, `[VRR.Messaging] Showing small game message '${text}' using font ${fontName} for ${duration}ms`); if(smallGameMessageText != "") { clearTimeout(smallGameMessageTimer); } + smallGameMessageFontName = fontName; smallGameMessageColour = colour; smallGameMessageText = text; @@ -73,6 +88,7 @@ function showSmallGameMessage(text, colour, duration) { smallGameMessageText = ""; smallGameMessageColour = COLOUR_WHITE; smallGameMessageTimer = null; + smallGameMessageFontName = ""; }, duration); }