aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCrystalwarrior <varsash@gmail.com>2020-05-22 04:53:19 +0300
committerCrystalwarrior <varsash@gmail.com>2020-05-22 04:53:19 +0300
commita5868aa3800de43ce6f6aee903bb0fecf2fe105b (patch)
tree225a210a23e75be8d47869500c65b04ad0814f98
parent88de4cde0433ef5e606f38a2f1e6041f0d24a87e (diff)
Fix looping frame SFX not working w/ AOV's definitions
-rw-r--r--include/aoapplication.h2
-rw-r--r--src/courtroom.cpp14
-rw-r--r--src/text_file_functions.cpp13
3 files changed, 16 insertions, 13 deletions
diff --git a/include/aoapplication.h b/include/aoapplication.h
index d9e84fa8..471fc46e 100644
--- a/include/aoapplication.h
+++ b/include/aoapplication.h
@@ -371,7 +371,7 @@ public:
QString get_emote_blip(QString p_char, int p_emote);
// Returns if the sfx is defined as looping in char.ini
- QString get_sfx_looping(QString p_char, QString p_sfx);
+ QString get_sfx_looping(QString p_char, int p_emote);
// Returns if an emote has a frame specific SFX for it
QString get_sfx_frame(QString p_char, QString p_emote, int n_frame);
diff --git a/src/courtroom.cpp b/src/courtroom.cpp
index 9261de33..63d7f5e4 100644
--- a/src/courtroom.cpp
+++ b/src/courtroom.cpp
@@ -1637,7 +1637,7 @@ void Courtroom::on_chat_return_pressed()
// emote uses it.
if (ao_app->looping_sfx_support_enabled) {
packet_contents.append(
- "0"); // ao_app->get_sfx_looping(current_char, current_emote));
+ ao_app->get_sfx_looping(current_char, current_emote));
packet_contents.append(QString::number(screenshake_state));
QString pre_emote = ao_app->get_pre_emote(current_char, current_emote);
@@ -2124,10 +2124,10 @@ void Courtroom::do_effect(QString fx_name, QString fx_sound, QString p_char,
void Courtroom::play_char_sfx(QString sfx_name)
{
sfx_player->play(sfx_name);
- if (ao_app->get_looping_sfx())
- sfx_player->set_looping(
- ao_app->get_sfx_looping(current_char, QString::number(current_emote)) !=
- "0");
+ // sfx_player->set_looping(false);
+ // if (ao_app->get_looping_sfx())
+ // sfx_player->set_looping(
+ // ao_app->get_sfx_looping(current_char, current_emote) == "1");
}
void Courtroom::handle_chatmessage_3()
@@ -2877,8 +2877,8 @@ void Courtroom::play_sfx()
sfx_player->play(sfx_name);
if (ao_app->get_looping_sfx())
- sfx_player->set_looping(ao_app->get_sfx_looping(current_char, sfx_name) !=
- "0");
+ sfx_player->set_looping(
+ ao_app->get_sfx_looping(current_char, current_emote) == "1");
}
void Courtroom::set_scene(QString f_desk_mod, QString f_side)
diff --git a/src/text_file_functions.cpp b/src/text_file_functions.cpp
index 615a6a14..1689cd3f 100644
--- a/src/text_file_functions.cpp
+++ b/src/text_file_functions.cpp
@@ -558,8 +558,8 @@ QString AOApplication::get_static_image_suffix(QString path_to_check)
}
// returns whatever is to the right of "search_line =" within target_tag and
-// terminator_tag, trimmed returns the empty string if the search line couldnt be
-// found
+// terminator_tag, trimmed returns the empty string if the search line couldnt
+// be found
QString AOApplication::read_char_ini(QString p_char, QString p_search_line,
QString target_tag)
{
@@ -805,13 +805,16 @@ int AOApplication::get_sfx_delay(QString p_char, int p_emote)
return f_result.toInt();
}
-QString AOApplication::get_sfx_looping(QString p_char, QString p_sfx)
+QString AOApplication::get_sfx_looping(QString p_char, int p_emote)
{
- QString f_result = read_char_ini(p_char, p_sfx, "SoundL");
+ QString f_result =
+ read_char_ini(p_char, QString::number(p_emote + 1), "SoundL");
+ qDebug() << f_result;
if (f_result == "")
return "0";
- return f_result;
+ else
+ return f_result;
}
QString AOApplication::get_sfx_frame(QString p_char, QString p_emote,