aboutsummaryrefslogtreecommitdiff
path: root/src/text_file_functions.cpp
diff options
context:
space:
mode:
authorin1tiate <32779090+in1tiate@users.noreply.github.com>2024-05-14 11:02:32 -0500
committerGitHub <noreply@github.com>2024-05-14 18:02:32 +0200
commitc9eabf35dafa22f7ad7f012c23f63f1605a47668 (patch)
treed64919dae244228a136a445cc64510f24ba7dfe4 /src/text_file_functions.cpp
parent951766666621fa77e257e6b5616fe4ab1eb2a52f (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.cpp49
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)