DressUp: Fix client freeze on invalid face replacements, More face ID, and transition help menu to UI window#2545
Open
voliathon wants to merge 2 commits into
Open
DressUp: Fix client freeze on invalid face replacements, More face ID, and transition help menu to UI window#2545voliathon wants to merge 2 commits into
voliathon wants to merge 2 commits into
Conversation
Expanded Face ID Range Selection Face ID Infinite Loop Crash Fix 1. Client Crash Prevention: Fixed an infinite loop in the //du replacements face <old> <new> command parser. When users entered an invalid face identifier (e.g., //du replacements face 3b 9a), the while #_models ~= 2 loop would run indefinitely, completely freezing and crashing the PlayOnline/FFXI client. Adding validation and immediate returns resolves this. 2. Face ID Mapping Additions: Added explicit lowercased keys for all standard faces, as well as fomor (Face 29) and mannequin (Face 30) inside static_variables.lua to expand character model styling options. 3. UI Help Window: Replaced the heavy console printout for //du help with a draggable on-screen text box using the Windower texts library. Toggling the help command now shows/hides this window, leaving the player's active chat log clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description: This PR addresses a fatal client crash bug, expands available Face ID presets, and replaces the chat-spamming help commands with a clean, draggable in-game UI. It was difficult to understand the previous help that displayed in the console. More instructions meant losing view of addon help in the console.
Key Changes:
Client Crash Prevention: Fixed an infinite loop in the //du replacements face command parser. When users entered an invalid face identifier (e.g., //du replacements face 3b 9a), the while #_models ~= 2 loop would run indefinitely, completely freezing and crashing the PlayOnline/FFXI client. Adding validation and immediate returns resolves this.
Face ID Mapping Additions: Added explicit lowercased keys for all standard faces. Extends the face ID selection ranges inside DressUp past the standard 1-16 (1a-8b), Fomor (29), and mannequin (30) options to support raw Face IDs up to 35 (e.g., matching the extended HumeM face lists and other expanded models available in the Place section).
Importance: Corrects a critical client-crashing bug. Previously, supplying a raw value higher than the FFXI client limits or outside the hardcoded ranges could cause the model engine to panic, triggering a client crash. This code caps raw inputs safely at 35 and yields an error message if an out-of-bounds ID is supplied, allowing players to safely utilize all available client face assets.
//du self face 1-35 <--Allows for more faces to display in game beyond mannequin and fomor.
UI Help Window: Replaced the heavy console printout for //du or //du help with a draggable on-screen text box using the Windower texts library. Toggling the help command now shows/hides this window, leaving the player's active chat log clean.