Key Changes
- [MOD] Auth system improvements, requires TCP/50236 to be open (refer to "Installation Instruction.txt" to avoid issues)
- [ADD] Abnormal exit flag for clients closed with the window X button
- [MOD] MasteryItemMixInventory.xml: KeepOpt bitmask 64 preserves Extended Item Options
- [FIX] MasteryItemMixInventory.xml shipped with a wrong configuration
- [FIX] INI files: a value is cut at # or ; only when whitespace precedes it, so a key containing either is no longer truncated
- [FIX] Jewel of Kundun could not be used on Mastery Items
- [FIX] Unleash Marvel cooldown
- [FIX] Havok Spear and Chaos Blade output damage formulas
- [FIX] Clear-inventory commands are blocked while the interface blocking flag is on
- [FIX] AllowSameEnhancedOption crashed the game client when enabled
- [FIX] Added missing Raklion of Oblivion map to selection of files
- [FIX] Lua API: CashShop.ItemBuy was missing from the Core plugin
- [NEW] Custom UI: text renders with a font installed in Windows, configured in [InstallFont] in config.ini; ARIALUNI.TTF in the client root remains the fallback (see https://www.igcn.mu/guides/client-customization/language-and-font-configuration-r15/#toc4)
- [FIX] Custom UI: a click on a window header no longer starts a drag, and closing a window mid-drag no longer leaves it armed
- [FIX] Custom UI: clipped text lost up to two pixels on its right edge, and sliding text stopped before its end
- [FIX] Custom UI: the reconnect screen drew in the wrong order while Lua UI was active
- [ADD] CustomText.xml: MapName and UrlConfirm sections
- [MOD] Lua UI: LuaUIScriptKey must be exactly 32 characters, otherwise Lua UI stays off
- [NEW] Lua UI: UI.GetTickCount() returns monotonic milliseconds, for animation that does not count frames
- [ADD] Lua UI: windows can be modal, and can dim the screen behind them
- [ADD] Lua UI: buttons take a url, confirmed in a dialog showing the address; UI.OpenUrl accepts http and https only
- [ADD] Lua UI: win:centerOn, button faceColor, ui.ConfirmUrl, ui.LangText
- [ADD] Lua UI: renderImage takes an RGBA tint and a draw mode (Enums.Image.NORMAL, ADD, SMOOTH)
- [ADD] Lua UI: UI.ShowPanel and UI.TogglePanel open the game's own panels (Enums.Panel), UI.WindowIds() lists live windows
- [FIX] Lua UI: F9 re-sends the scene events, so a window shown on "ingame" no longer stays hidden, and re-reads the image atlases from disk
- [MOD] Lua UI: outside dev mode the client deletes every plain .lua under Data\Custom\Scripts
- [ADD] Lua UI: Enums.Image and Enums.Panel group the draw modes and panel ids
- [ADD] Lua UI: 18 ready-made sprite-sheet effects in Data\Custom\Interface\UI\Effects\ - explosions, lightning, flame, portal, meteor, gold burst, level up and more
- [ADD] Lua UI: FxShowcase window plays all 18 side by side, as a working example of animating from an atlas
- [ADD] Lua UI: the example windows moved to UI\Windows\Demo\, switched off with R.LOAD_DEMO in Registry.lua
Additional Information
Lua UI - breaking changes in this update
1. Text size is in screen pixels, not a multiplier
This one raises no error. A script that keeps passing the old value still
runs, it just draws text one pixel tall.
old: scale default 1.0 1.0 = 100% of the base size
new: fontSize default 0 0 = base size, 16 = 16 px
Affects:
btn:setText(text, color, size) 4th argument
win:renderText(...) 9th argument
panel:renderText(...) 9th argument
To convert: scale 1.0 becomes fontSize 0. Any other multiplier becomes the
base size times that number, so scale 1.5 on a 12 px base is fontSize 18.
The base is Size in the [InstallFont] section of config.ini.
2. label:setScale(n) has been removed
Use label:setFontSize(px), or assign lbl.fontSize = px.
3. Layout groups reflow their contents
Padding and spacing now scale together with the elements, and a horizontal
group starts from its left padding instead of the top offset. Existing
windows may sit differently and are worth a look after updating.
