RimTalk.DisplayOptimization
Features
[list]
[*] [b] Progress Visualization: [/b] Adds an "○" symbol to every sentence and a "●" symbol to the final sentence of a pawn's dialogue round. This visually indicates whether the current conversation round is complete.
[*] [b] Dialogue Scheduling System: [/b]
- Customize dialogue intervals.
- Prevent dialogues from being ignored or skipped.
- Allows pawns to continue speaking even while the game is paused.
- Option to pause dialogue when specific UI interfaces are open.
- Dialogue intervals can be affected by time acceleration.
[*] [b] Inner Voice System: [/b] Forces the AI to output in the format: (Action) Dialogue 〖Inner Voice〗. Inner thoughts are known only to the pawn, adding significant depth to the character's personality.
[i]Note: This feature is experimental and may not always produce perfectly logical results.[/i]
[*] [b] Name Highlighting: [/b] Automatically highlights names, nicknames, and forms of address in yellow.
[*] [b] Keyword Highlighting: [/b] Similar to name highlighting; applies color to specific "key terms" identified by the AI.
[*] [b] Symbol Customization: [/b] Symbols for Inner Thoughts and Actions can be freely defined. (Must not be empty to function correctly).
[*] [b] Color Customization: [/b] You can customize hex colors for Actions, Inner Thoughts, Names, and Keywords.
[*] [b] Custom Dyeing & Text Replacement: [/b] Add your own rules to change the visual style of specific text, or delete/replace specified symbols and phrases.
[b]Added "Mind Reader" Trait:[/b] Performs excellently both in stats and within the Inner Voice system.
All features can be toggled and adjusted in the Mod Settings menu.
[/list]
How it Works
[list]
[*] [b] Dialogue Scheduling System: [/b] Intercepts the original RimTalk dialogue system and replaces it with a custom scheduling logic.
[*] [b] Inner Voice System: [/b] Adds specific prompts (approx. 150-300 tokens) to guide the AI's output format. This is currently experimental; please report any issues in the comments.
[*] [b] Symbol & Color Customization: [/b] Injects your custom symbols into the prompt for the AI to generate. Performance depends on the AI model used.
[*] [b] Custom Dyeing/Replacement: [/b] Direct text replacement and coloring logic—simple and efficient.
[*] [b] Highlighting Features: [/b] Instructs the AI to mark specific words in the prompt; the code then detects these markers and applies the chosen colors.
[*] [b] Dialogue Detection: [/b] The code parses every round of text sent by the AI and automatically inserts the "○" or "●" markers.
[/list]
Important Notes
[i]- The Dialogue Scheduling System has not been exhaustively tested; it may contain bugs or impact performance. Please provide feedback if you encounter issues.[/i]
[i]- Some dyeing features rely entirely on AI output. This uses a small amount of extra tokens and may occasionally fail or show raw code in extreme cases.[/i]
[i]- This mod is now compatible with RimTalk's "Advanced Mode." See mod settings for details.[/i]
Key Point
I've discovered that sending instructions to the AI every single round isn't necessary. The AI retains context even if prompts are sent every 2–3 rounds. This mod utilizes an interval-based prompt system in RimTalk's Advanced Mode to save tokens and keep the AI focused. Details can be found under the "Advanced Mode Compatibility" section in the settings.
[b]Recommended Companion Mods:[/b]
[list]
[*] [url=https://steamcommunity.com/sharedfiles/filedetails/?id=3628773219]RimTalk DynamicColors[/url]: Created by maiya. If both are active, his mod's color settings will take priority.
[*] [url=https://steamcommunity.com/sharedfiles/filedetails/?id=3621259923]RimTalk - Player[/url]: My other mod, which includes a simple name-coloring feature.
[/list]
[i](Tested: All these mods are compatible and do not require a specific load order.)[/i]
Miscellaneous
[list]
[*] This mod is in the testing phase and was developed with AI assistance.
[*] Created primarily for personal use, but shared in hopes it helps others.
[*] I am still gaining experience in modding, so please excuse any "rough edges" in the code.
[/list]
Feedback & Discussion
If you encounter conflicts or bugs, please let me know immediately. I will do my best to fix them!
[hr]
Update Log
[b] (Feb 24) [/b]
[list]
[*] Fixed some bugs in the dialogue scheduling system, such as word order issues and conversation stuttering.
[*] Added more customization options to the dyeing module.
[*] Improved the UI interface.
[/list]
[b] (Feb 24) [/b]
[list]
[*] Optimize code and ensure compatibility with other modules.
[/list]
[b] (Feb 16) [/b]
[list]
[*] Optimized dialogue progress detection code to reduce performance overhead.
[*] Added the Dialogue Scheduling System.
[/list]
[b] (Feb 2) [/b]
[list]
[*] Adapted for RimTalk Advanced Mode and added three new variables.
[/list]
[b] (Jan 16) [/b]
[list]
[*] Added Inner Voice system, Symbol Replacement, Custom Colors, and Keyword Highlighting.
[/list]
[b] (Jan 9) [/b]
[list]
[*] Fixed a minor bug (no functional changes).
[/list]
[b] (Jan 7) [/b]
[list]
[*] Further code optimization.
[*] Note: The experimental "Forced Sync" may cause bubble misjudgment; it is now optional.
[*] Fixed an issue where exported logs contained raw color codes.
[/list]
[b] (Dec 28) [/b]
[list]
[*] Optimized code and added forced synchronization between speech bubbles and history to prevent tag misjudgment.
[*] Markers (○/●) can now be toggled between the start or end of sentences, or only at the end of the round.
[/list]
[i](This description was translated/refined by AI for clarity.)[/i]