diff options
| author | in1tiate <32779090+in1tiate@users.noreply.github.com> | 2024-05-14 11:02:32 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-14 18:02:32 +0200 |
| commit | c9eabf35dafa22f7ad7f012c23f63f1605a47668 (patch) | |
| tree | d64919dae244228a136a445cc64510f24ba7dfe4 /src/text_file_functions.cpp | |
| parent | 951766666621fa77e257e6b5616fe4ab1eb2a52f (diff) | |
Add [Options] override for blips and shownames for parity with 2.5 (#953)
* split get_blips into two functions
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?
* include new function, rewrite description
* check for custom blips support in packet
* add custom blips enabled bool
* increase MS_MAXIMUM, add custom blips QLineEdit
* add BLIPNAME to chat message
* introducing custom blips
* introducing custom blips I said
* unfold if
* unfold other if
* retool custom blips code, add ini parser
* remove extraneous debug calls
* fix incorrect default value on get_showname
* restructure ini format
* fix parser again
---------
Co-authored-by: Lernos <lernoskey@gmail.com>
Co-authored-by: stonedDiscord <Tukz@gmx.de>
Diffstat (limited to 'src/text_file_functions.cpp')
| -rw-r--r-- | src/text_file_functions.cpp | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/src/text_file_functions.cpp b/src/text_file_functions.cpp index 51dc95ad..7c5bbde0 100644 --- a/src/text_file_functions.cpp +++ b/src/text_file_functions.cpp @@ -442,11 +442,23 @@ QStringList AOApplication::read_ini_tags(VPath p_path, QString target_tag) return r_values; } -QString AOApplication::get_showname(QString p_char) +QString AOApplication::get_showname(QString p_char, int p_emote) { QString f_result = read_char_ini(p_char, "showname", "Options"); QString f_needed = read_char_ini(p_char, "needs_showname", "Options"); + if (p_emote != -1) { + int override_idx = + read_char_ini(p_char, QString::number(p_emote + 1), "OptionsN").toInt(); + if (override_idx > 0) { + QString override_key = "Options" + QString::number(override_idx); + QString temp_f_result = read_char_ini(p_char, "showname", override_key); + if (!temp_f_result.isEmpty()) { + f_result = temp_f_result; + } + } + } + if (f_needed.startsWith("false")) return ""; if (f_result == "") @@ -463,24 +475,39 @@ QString AOApplication::get_char_side(QString p_char) return f_result; } -QString AOApplication::get_blips(QString p_char) +QString AOApplication::get_blipname(QString p_char, int p_emote) { QString f_result = read_char_ini(p_char, "blips", "Options"); - if (f_result == "") { - f_result = read_char_ini(p_char, "gender", "Options"); // not very PC, FanatSors - if (f_result == "") - f_result = "male"; + if (p_emote != -1) { + int override_idx = + read_char_ini(p_char, QString::number(p_emote + 1), "OptionsN").toInt(); + if (override_idx > 0) { + QString override_key = "Options" + QString::number(override_idx); + QString temp_f_result = read_char_ini(p_char, "blips", override_key); + if (!temp_f_result.isEmpty()) { + f_result = temp_f_result; + } + } } - if (!file_exists(get_sfx_suffix(get_sounds_path(f_result)))) { - if (file_exists(get_sfx_suffix(get_sounds_path("../blips/" + f_result)))) - return "../blips/" + f_result; // Return the cool kids variant - - return "sfx-blip" + f_result; // Return legacy variant + if (f_result == "") { + f_result = + read_char_ini(p_char, "gender", "Options"); // not very PC, FanatSors + if (f_result == "") f_result = "male"; } return f_result; } +QString AOApplication::get_blips(QString p_blipname) +{ + if (!file_exists(get_sfx_suffix(get_sounds_path(p_blipname)))) { + if (file_exists(get_sfx_suffix(get_sounds_path("../blips/" + p_blipname)))) + return "../blips/" + p_blipname; // Return the cool kids variant + + return "sfx-blip" + p_blipname; // Return legacy variant + } + return p_blipname; +} QString AOApplication::get_emote_property(QString p_char, QString p_emote, QString p_property) |
