-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introducing custom blips: as easy as a custom showname! #780
Conversation
Because otherwise it would always return only what was read from char.ini, and we want it to be able to read our custom QLineEdit too, right?
I know, clang-tidy, I don't love you either. |
|
This does not need to be part of the IC validation hell string, and as a whole blips do not need to be networked. Voting for closure. |
Why do they not need to be networked though? We allow to play custom SFX on any message, but not blips? How about the fact that canonically, Godot can imitate voices of other characters, Ted Tonate can speak either as a "ddmale" or "tonate" typing on his keyboard, Robin changes from male to female voice after her transformation, if you want to have an invisible narrator ("Anon" type of character), you'd have to make one for each blipvoice? These things are all important to players I know. Changing a character's blips to any other blips on the fly seems like a very nice customization option. |
This is double edged. |
Well, you can't just turn frame_sfx off from my understanding. While here, a checkbox to stop displaying custom blips and fall back to the default char.ini ones could be easily coded in, similar to custom shownames. And yes, the very first portion of blip sounds coming in could be earrapey, but you could do things about it. As a player, you can turn down your blips volume or set your blips frequency in the settings to something else, then OBJECTION-interrupt the person speaking until they are dealt with by a mod. As a coder, you could additionally restrict which blips can be played by adding a function that only searches inside the blips folder instead of the whole sounds/general folder, if you so desire. Then it falls upon the custom content managing team to prevent abuse-worthy blips of entering that folder. It's immensely easier to fix this than frame_sfx, yet frame_sfx are already in the client. In any case, I'd prefer to see more flexible features added in with additional anti-abuse measures rather than them being shot down immediately even though we already allow something worse. |
I hadn't considered characters with multiple blip types, which is a feature the unofficial 2.5 client had and which we currently still lack. With that in mind I'm in favor of this change but I'd prefer it to be char.ini-configurable rather than add to the Courtroom UI and deal with all the headache involved in that. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See above; please avoid adding clutter to the main UI
I'd recommend linking a server pull-request that introduces the network changes so that it's easier to test the changes; and vice versa. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine but seems abusable - e.g. set blip name to ../music/zettaslow
.
Also looking for the serverside PR for this.
Also put that profile picture away.
@@ -177,6 +177,11 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow() | |||
ui_ic_chat_name->setPlaceholderText(tr("Showname")); | |||
ui_ic_chat_name->setText(p_ao_app->get_default_showname()); | |||
ui_ic_chat_name->setObjectName("ui_ic_chat_name"); | |||
|
|||
ui_custom_blips = new QLineEdit(this); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yeah also this definitely should be a dropdown. It's not ideal to just throw the player into the darkness and make them scroll through the files themselves.
By the by, @Lernos. You could join the Discord to make communication a bit easier. |
Well servers should sanitize it in that case lmao |
Sorry xD
Oh, I actually am. I was just dealing with stuff IRL. Not sure it would make communications that much easier, but whatever's more convenient.
There you go. I don't work with akashi, but I'm pretty sure it can be figured out. There should be a similar mechanism there somewhere, right? |
I'll handle Akashi. You might want to resolve those merge conflicts tho. |
but which sounds should the dropdown contain?
if we go with 5, what to do about the list getting too long? |
I would go with 2 although it wouldn't be much additional effort to go with 4. |
I plan on pulling the network changes from this pull request into the code I'm writing for #952 unless there are any objections. I will not be including the UI changes, as they are outside the scope of that issue. |
Stale PR + Implemented in a different PR |
Requires modifications from server owners for their servers to include 'custom_blips' in their "FL" packet and a new "validation monstrosity" to include a new string called blipname which must be added to the IC message args processed by the server. For backwards compatibility I suggest setting blipname as a server-side args variable to an empty string "" by default, since older clients will send nothing. In that case, the client will read the char.ini file to determine the correct blips/gender instead of looking it up in the new IC message packet.
P.S. Obviously themes need to be edited too, just add an ao2_custom_blips box somewhere near the ao2_ic_chat_name as needed.