aboutsummaryrefslogtreecommitdiff
path: root/src/text_file_functions.cpp
diff options
context:
space:
mode:
authorRosemary Witchaven <32779090+in1tiate@users.noreply.github.com>2022-03-29 09:37:02 -0500
committerGitHub <noreply@github.com>2022-03-29 17:37:02 +0300
commit68d0b838cf5abf01c4956a9f079fa76fef340a2e (patch)
tree46f51c1cce650270d273f4013a0f480ce0e391d8 /src/text_file_functions.cpp
parent18412cc9303b1c11c8e35818d57b39aee72a5ec2 (diff)
Add two ways of controlling judge buttons that aren't hardcoded nonsense (networked and local) (#537)
* add both network and local ways to show judge buttons on pos other than jud * hide judge buttons when pos_removing to a non-judge position * alter packet header * Only use pos jud hardcoding if no design.ini if design.ini does not define judges= then we fall back to pos jud garbage * Fix judge buttons being disabled if default_side pos is judge (logic poopy) Fix positions.isEmpty() returning False cuz a split of an empty string returns the list with an empty string by default * Expand JD packet to be able to send -1, 0 and 1. If -1 is received, fall back on client-sided judge button behavior. If 0 or 1 is received, treat it as "absolute override" and adhere to that packet. * alter check for empty qstringlist to support old qt versions * heehoo * trigger client side behavior when jd -1 is sent * less confusing variable names * remove useless code, trim some fat Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com> * use an enum dammit! & warn on malformed auth * use an enum dammit! pt. 2 * appease clang, rewrite ugly judge controls function * please squash this its so bad Co-authored-by: Crystalwarrior <Varsash@Gmail.com> Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Diffstat (limited to 'src/text_file_functions.cpp')
-rw-r--r--src/text_file_functions.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/text_file_functions.cpp b/src/text_file_functions.cpp
index b0209411..05d84165 100644
--- a/src/text_file_functions.cpp
+++ b/src/text_file_functions.cpp
@@ -912,6 +912,15 @@ QString AOApplication::get_custom_realization(QString p_char)
return get_sfx_suffix(get_sounds_path(f_result));
}
+bool AOApplication::get_pos_is_judge(const QString &p_pos)
+{
+ QStringList positions = read_design_ini("judges", get_background_path("design.ini")).split(",");
+ if (positions.size() == 1 && positions[0] == "") {
+ return p_pos == "jud"; //Hardcoded BS only if we have no judges= defined
+ }
+ return positions.contains(p_pos.trimmed());
+}
+
bool AOApplication::get_blank_blip()
{
QString result = configini->value("blank_blip", "false").value<QString>();