[manifest] version = "1.0.0" dump_lua = true priority = -10 # # Use number_format for... # # DynaText [[patches]] [patches.regex] target = "engine/text.lua" pattern = 'tostring\((?v\.ref_table and v\.ref_table\[v\.ref_value\] or v\.string)\)' position = "at" payload = "format_ui_value($param)" # Cash Out [[patches]] [patches.regex] target = "functions/common_events.lua" pattern = ''' localize\('\$'\)\.\.config\.dollars''' position = "at" payload = "localize('$')..format_ui_value(config.dollars)" # End of round money [[patches]] [patches.regex] target = "functions/common_events.lua" pattern = ''' localize\('\$'\)\.\.num_dollars\}''' position = "at" payload = "localize('$')..format_ui_value(num_dollars)}" # Tooltip numbers [[patches]] [patches.regex] target = "functions/misc_functions.lua" pattern = '(?args\.vars\[tonumber\(subpart\[1\]\)\])' position = "at" payload = 'format_ui_value($param)' # Poker Hand chips [[patches]] [patches.pattern] target = "functions/UI_definitions.lua" pattern = "{n=G.UIT.T, config={text = G.GAME.hands[handname].chips, scale = 0.45, colour = G.C.UI.TEXT_LIGHT}}," position = "at" payload = "{n=G.UIT.T, config={text = number_format(G.GAME.hands[handname].chips, 1000000), scale = 0.45, colour = G.C.UI.TEXT_LIGHT}}," match_indent = true # Poker Hand mult [[patches]] [patches.pattern] target = "functions/UI_definitions.lua" pattern = "{n=G.UIT.T, config={text = G.GAME.hands[handname].mult, scale = 0.45, colour = G.C.UI.TEXT_LIGHT}}" position = "at" payload = "{n=G.UIT.T, config={text = number_format(G.GAME.hands[handname].mult, 1000000), scale = 0.45, colour = G.C.UI.TEXT_LIGHT}}" match_indent = true # Continue Run - Money [[patches]] [patches.regex] target = "functions/UI_definitions.lua" pattern = 'tostring\(saved_game\.GAME\.dollars\)' position = "at" payload = "format_ui_value(saved_game.GAME.dollars)" # Continue Run - Best Hand - bigger size [[patches]] [patches.regex] target = "functions/UI_definitions.lua" pattern = 'scale_number\(saved_game\.GAME\.round_scores\.hand\.amt\, 0\.8\*scale\)' position = "at" payload = "scale_number(saved_game.GAME.round_scores.hand.amt, 0.8*scale, 100000000000)" # # Custom sci notation switch point # ## number_format [[patches]] [patches.pattern] target = "functions/misc_functions.lua" pattern = 'function number_format(num)' position = "at" payload = ''' function number_format(num, e_switch_point) if type(num) ~= 'number' then return num end local sign = (num >= 0 and "") or "-" num = math.abs(num)''' match_indent = true [[patches]] [patches.regex] target = "functions/misc_functions.lua" pattern = 'num >= G\.E_SWITCH_POINT' position = "at" payload = "num >= (e_switch_point or G.E_SWITCH_POINT)" # 1. Fix floating point error (1.000e92 instead of 10.000e91) # 2. Lower precision with higher numbers [[patches]] [patches.pattern] target = "functions/misc_functions.lua" pattern = ''' return string.format("%.3f",x/(10^fac))..'e'..fac''' position = "at" payload = ''' if num == math.huge then return sign.."naneinf" end local mantissa = round_number(x/(10^fac), 3) if mantissa >= 10 then mantissa = mantissa / 10 fac = fac + 1 end return sign..(string.format(fac >= 100 and "%.1fe%i" or fac >= 10 and "%.2fe%i" or "%.3fe%i", mantissa, fac))''' match_indent = true # Remove trailing zeroes # E.g. X1.5 being displayed as X1.50 [[patches]] [patches.pattern] target = "functions/misc_functions.lua" pattern = ''' return string.format(num ~= math.floor(num) and (num >= 100 and "%.0f" or num >= 10 and "%.1f" or "%.2f") or "%.0f", num):reverse():gsub("(%d%d%d)", "%1,"):gsub(",$", ""):reverse()''' position = "at" payload = ''' local formatted if num ~= math.floor(num) and num < 100 then formatted = string.format(num >= 10 and "%.1f" or "%.2f", num) if formatted:sub(-1) == "0" then formatted = formatted:gsub("%.?0+$", "") end -- Return already to avoid comas being added if num < 0.01 then return tostring(num) end else formatted = string.format("%.0f", num) end return sign..(formatted:reverse():gsub("(%d%d%d)", "%1,"):gsub(",$", ""):reverse())''' match_indent = true ## scale_number [[patches]] [patches.pattern] target = "functions/button_callbacks.lua" pattern = 'function scale_number(number, scale, max)' position = "at" payload = 'function scale_number(number, scale, max, e_switch_point)' match_indent = true [[patches]] [patches.regex] target = "functions/button_callbacks.lua" pattern = 'number >= G\.E_SWITCH_POINT' position = "at" payload = "math.abs(number) >= (e_switch_point or G.E_SWITCH_POINT)"