Readable - Improve Readability Of Npc Dialogue

Eorzea Time
 
 
 
Language: JP EN FR DE
users online
Forum » Windower » General » Readable - improve readability of npc dialogue
Readable - improve readability of npc dialogue
VIP
Offline
Posts: 1144
By Lili 2025-08-26 17:17:02
Link | Quote | Reply
 

Readable v0.1.0


Hello everyone,

After a bit of development limbo, I am releasing Readable, a Windower addon that makes in-game text easier to read.

DOWNLOAD


https://github.com/lili-ffxi/FFXI-Addons/tree/master/readable

What it does


  • Converts large numbers of seconds (e.g. 123456 seconds) into an HH:MM:SS timestamp.

  • Formats large numbers (e.g. 12345678 → 12,345,678). The separator is configurable.


Future plans


  • Remove Mayakov's lisp (coming soon.

  • Improve readability for other NPCs (looking at you, Tarus...). Let me know which ones bother you most.


Notes


The addon will auto-update.

Support


Discord server: http://discord.gg/uBPg7quNxD or this thread.

NOTA BENE: in a world that abuses LLMs to write readmes and forum posts, I protest by writing the least amount possible of words.
[+]
Offline
Posts: 43
By cajunasian 2025-08-26 17:32:21
Link | Quote | Reply
 
What if I want every character to have a lisp?
[+]
Offline
By K123 2025-08-26 17:34:33
Link | Quote | Reply
 
FiX cArDIan ***?
[+]
VIP
Offline
Posts: 1144
By Lili 2025-08-26 17:38:08
Link | Quote | Reply
 
cajunasian said: »
What if I want every character to have a lisp?

Send me 100€ in bitcoin and I will make this abomination.

K123 said: »
FiX cArDIan ***?

The issue with this is detecting it, which isn't too straightforward to do, or at least making a list of all cardian NPC names. If anyone provides me with either of those, I can add it easily.
[+]
Offline
By Dodik 2025-08-26 17:53:48
Link | Quote | Reply
 
Great addon!

One note - don't take this the wrong way - auto-updating via downloading the lua file from githubusercontent.com opens up an avenue for attack, a security hole.

Not that you would put something bad in there, but accounts get hacked, and if somehow some bad code made its way to that url, it would be auto-downloaded and executed by everyone running this addon.

Isn't there an official windower addons repository that can be used for auto-updates?
VIP
Offline
Posts: 1144
By Lili 2025-08-26 18:15:46
Link | Quote | Reply
 
This is potentially a long discussion, and I do not want to have it here in depth, so I will address this very briefly then we can move on. If you're not interested you can skip to the TL;DR: at the end.

In general, what you say is correct.

In practice, the windower github account is not safer from hacking than my own github account. If you trust Windower updates, you can trust this thing to update and not execute arbitrary code.

Half of the stuff that the userbase uses (including subscription bots that are all the rage nowadays) are a vector for attack, and launching .lua files downloaded from mega, [google|one]drive, etc, is plenty common. All of that stuff is one or two order of magnitude more likely to get you hacked than my code - as long as you get the original file from my github and not from somewhere else.

All of this of course assumes you trust me specifically in the first place - I could hide some obfuscated code in any of my addons and 99% of users here would never realize.

(The autoupdate logic found in this addon, which can be turned off easily, is the embryo for a bigger autoupdate library that will find its way into other addons and other repos, in such a way that there won't be need to submit everything to the windower repo anymore to have autoupdates.)

TL;DR: this thing is as safe as GitHub is safe, so if you ever trusted anything you downloaded from github you can trust this thing. And if you don't trust the code I write, you should not be using any of my addons in the first place, at all.
[+]
 Asura.Iamaman
Offline
Server: Asura
Game: FFXI
user: iamaman
Posts: 1141
By Asura.Iamaman 2025-08-26 18:52:37
Link | Quote | Reply
 
Can it decipher Taru-speak and certain players who derive their speech patterns from it so I no longer have to get a headache in Windurst?

Dodik said: »
Not that you would put something bad in there, but accounts get hacked, and if somehow some bad code made its way to that url, it would be auto-downloaded and executed by everyone running this addon.

Gamers are extremely...not careful about this, at all. People who play XI via Windower are downloading a native client that (I assume) hooks the official client in some capacity, with it's own autoupdate mechanism and API for native addons I doubt many people are actually looking at. That's not even considering things...I won't mention...downloaded from dubious sources to facilitate naughty things they are doing like botting and managing multiple characters.

Outside of XI, gamers somewhat indiscriminately run mods, scripts, hax, etc without much consideration of what's in there. They are also trusting the litany of executables and libraries they download through Steam/etc that no one is looking at to see if there is anything malicious in it. Some have countries of origin I'd call concerning. It's very easy to embed malicious code that most people won't find and most consumer malware detection is signature based, so it won't see it.

I guess the point is yea, it's not great to have a script autopulling from a github repo without prompting the user, but Lua is generally easy to review for malicious/obfuscated code compared to the numerous other places someone could add something bad. Most users on this site are trusting far worse things.

As a rule, I don't do anything on my gaming PC that I wouldn't want someone else to see. No banking, I don't even use my normal email address, etc. I just assume that ***is owned even though it probably isn't and treat it like it's a hazard, and I don't run many mods/hax/etc.
VIP
Offline
Posts: 1144
By Lili 2025-08-26 19:02:12
Link | Quote | Reply
 
Asura.Iamaman said: »
Can it decipher Taru-speak and certain players who derive their speech patterns from it so I no longer have to get a headache in Windurst?

Taruspeak can't be addressed generically, at least not entirely, because there's at least... four different patterns used by different tarus in slightly different ways. It's a bit annoying.
In my local copy I have a dictionary system to deal with it and it works pretty well, but it's all populated manually and I'll release it when it's reasonably done. Mayakov is the same issue.

As for players who derive their speech pattern from it, the addon already supports it! The command is
Code
/blist add Playername

You're welcome <3
[+]
 Fenrir.Brimstonefox
Offline
Server: Fenrir
Game: FFXI
user: Brimstone
Posts: 370
By Fenrir.Brimstonefox 2025-08-27 08:30:21
Link | Quote | Reply
 
Lili said: »

K123 said: »
FiX cArDIan ***?

The issue with this is detecting it, which isn't too straightforward to do, or at least making a list of all cardian NPC names. If anyone provides me with either of those, I can add it easily.

Just lower case everything from "<number/face card> of *"?
 Valefor.Philemon
Online
Server: Valefor
Game: FFXI
user: detlef
Posts: 650
By Valefor.Philemon 2025-08-28 00:48:13
Link | Quote | Reply
 
Noticing it worked for hallmarks/gallantry but not for experience points gained.
[+]
VIP
Offline
Posts: 1144
By Lili 2025-08-28 01:57:58
Link | Quote | Reply
 
Valefor.Philemon said: »
Noticing it worked for hallmarks/gallantry but not for experience points gained.

Right, those happen in a chatmode that the addon is currently not monitoring. Since exp can only go up to 65535 anyway I didn't think it was really necessary to change the number for legibility. I might add it regardless in the next revision.
Offline
Posts: 23
By Elad 2025-08-28 10:03:09
Link | Quote | Reply
 
> As a rule, I don't do anything on my gaming PC that I wouldn't want someone else to see. No banking, I don't even use my normal email address, etc. I just assume that ***is owned even though it probably isn't and treat it like it's a hazard, and I don't run many mods/hax/etc.

I'm curious what brought you to a thread about a custom addon in the windower section of this site then, or asking about its features. Surely text format fixes are too small a convenience to risk such hazards, right? Wouldn't want to be like those careless gamers!
Offline
Posts: 42775
By Jetackuu 2025-08-28 18:29:09
Link | Quote | Reply
 
Lili said: »
Remove Mayakov's lisp (coming soon.
why would anyone do this?
[+]
Offline
By lichtl 2025-08-30 08:10:04
Link | Quote | Reply
 
using it for some days now and it works great (Segments / Ambuscade). Only thing I noticed is when I enter sortie on the zone in it put that into console log (23:20:26 is logtime)
Code
23:20:26 > 21:00:00        72000
VIP
Offline
Posts: 1144
By Lili 2025-08-30 08:54:42
Link | Quote | Reply
 
lichtl said: »
using it for some days now and it works great (Segments / Ambuscade). Only thing I noticed is when I enter sortie on the zone in it put that into console log (23:20:26 is logtime)
Code
23:20:26 > 21:00:00        72000

Removed it, that was a debug line that I forgot in. Ops! Thanks.

Fenrir.Brimstonefox said: »
Just lower case everything from "<number/face card> of *"?

It might ultimately be how I fix it, yeah. Making it all lowercase with no regards for names and stuff would even let it keep some "machine flavor", ha.
Offline
Posts: 112
By Tathamet 2025-08-30 10:04:02
Link | Quote | Reply
 


:)
[+]
Offline
By lichtl 2025-08-31 13:13:10
Link | Quote | Reply
 
Yeah seems that year conversion is a bit messy :D
[+]
VIP
Offline
Posts: 1144
By Lili 2025-08-31 15:00:32
Link | Quote | Reply
 
Roflmao

Yeah sorry I'm not sure how to fix it without making the pattern matching a lot more complicated, which I'm not too happy to do. Guess the second best solution is to need a number to be at least 5 digits - 2000 doesn't need much in the way of separators to be legible after all.

I'll mull on it for a bit, if someone has better ideas lemme know.
Offline
By lichtl 2025-08-31 15:23:28
Link | Quote | Reply
 
Yeah, I would think the 5digits sounds reasonable.
 Fenrir.Brimstonefox
Offline
Server: Fenrir
Game: FFXI
user: Brimstone
Posts: 370
By Fenrir.Brimstonefox 2025-09-02 11:03:30
Link | Quote | Reply
 
Lili said: »
I'll mull on it for a bit, if someone has better ideas lemme know.

Sometimes 2 simple substitutions is much easier (and even faster) than a complex rule to do it in 1 pass.

So just strip all commas from anything with a "/" in it. (after you've done your prior substitutions)

Lili said: »
Fenrir.Brimstonefox said: »
Just lower case everything from "<number/face card> of *"?

It might ultimately be how I fix it, yeah. Making it all lowercase with no regards for names and stuff would even let it keep some "machine flavor", ha.

Similar to above, You can do this:
Code
(\.|\?|\!) ([a-z])


I guess this might work (google AI):
Code
local text = "this is a sentence. a second sentence? and a third one!"

-- Pattern: ([%p])%s([a-z])
-- Captures:
--   [%p]   — Any punctuation character. This is more robust than a fixed list.
--   %s     — Any whitespace character.
--   ([a-z])— Any lowercase letter (the capture group).
local result = text:gsub("([%p])%s([a-z])", function(punct, letter)
    return punct .. " " .. string.upper(letter)
end)


You could probably take the existing player character and fix that so it says "Lili" instead of "lili"

The names of places and other NPCs would be too difficult to manually maintain, not sure if you can scan autotranslate?
VIP
Offline
Posts: 1144
By Lili 2025-09-02 16:41:03
Link | Quote | Reply
 
Fenrir.Brimstonefox said: »
So just strip all commas from anything with a "/" in it.

That will do some dates, yes, but not stuff like "Summer Campaign 2025!" or similar. If I must choose, in general I prefer efficiency at reduced functionality, and since the point of the addon is legibility rather than perfect formatting, the 5 digits threshold is a good enough workaround for me.

Fenrir.Brimstonefox said: »
I guess this might work (google AI):

You will never even THINK of giving me AI-written code ever again or I will curse you so powerfully that your ninth generation descendents will still have full crippling panic attacks at the mere presence of any sort of machine - if your gene pool even gets that far after how much I will curse you.


I appreciate the intention but the issue here is not "knowing how to do stuff", rather deciding how to do stuff in a way that doesn't bog down a client running this addon.

Besides, you missed the point: my remark was about how making all text lowercase could be interesting as a way to still carry the "ah this is a machine" feel somewhat, while getting rid of the weird patterns that Cardians use. Capitalizing sentences is a really trivial problem to solve.
[+]
 Shiva.Thorny
Offline
Server: Shiva
Game: FFXI
user: Rairin
Posts: 3622
By Shiva.Thorny 2025-09-02 16:42:50
Link | Quote | Reply
 
The inevitable imperfection of such an addon makes it intimidating to even think about. You are a braver soul than I.
[+]
 Fenrir.Brimstonefox
Offline
Server: Fenrir
Game: FFXI
user: Brimstone
Posts: 370
By Fenrir.Brimstonefox 2025-09-03 09:33:10
Link | Quote | Reply
 
Lili said: »
You will never even THINK of giving me AI-written code ever again or I will curse you so powerfully that your ninth generation descendents will still have full crippling panic attacks at the mere presence of any sort of machine - if your gene pool even gets that far after how much I will curse you.

I've said it before as I'll say it this time.
All of thy hexes must end in a rhyme.

(also, point taken).
[+]
 Bahamut.Daleterrence
Offline
Server: Bahamut
Game: FFXI
user: Dalight
Posts: 55
By Bahamut.Daleterrence 2025-09-03 10:03:20
Link | Quote | Reply
 
Lili said: »
You will never even THINK of giving me AI-written code ever again or I will curse you so powerfully that your ninth generation descendents will still have full crippling panic attacks at the mere presence of any sort of machine - if your gene pool even gets that far after how much I will curse you.

I have nothing of value to add (give everything separators plz thx) but I audibly cackled at this, 10/10
[+]
necroskull Necro Bump Detected! [81 days between previous and next post]
 Bahamut.Dreameyes
Offline
Server: Bahamut
Game: FFXI
user: Noduko
Posts: 3
By Bahamut.Dreameyes 2025-11-23 20:04:16
Link | Quote | Reply
 
Thanks for making this addon!

At the moment, it doesn't seem to convert weapon skill DMG, is that intended?