diff options
| author | Crystalwarrior <varsash@gmail.com> | 2019-09-18 04:14:52 +0300 |
|---|---|---|
| committer | Crystalwarrior <varsash@gmail.com> | 2019-09-18 04:14:52 +0300 |
| commit | 605e15bb8c0ad103fb0f75454d8912ba83ba7a17 (patch) | |
| tree | f88c83ec4bcfa014050dd83d026519cdd9e1eb90 /include | |
| parent | e151964785301269500b96ecfd25dbdf227f55f8 (diff) | |
Implement effects system that reads your folder in theme/effects, or misc/<folder name>/<effects>
Add an effect packet
Allow aomovie to be fed a direct path
Add some really terrible helper functions that shouldn't exist, sorry.
Diffstat (limited to 'include')
| -rw-r--r-- | include/aoapplication.h | 13 | ||||
| -rw-r--r-- | include/aomovie.h | 2 | ||||
| -rw-r--r-- | include/courtroom.h | 12 | ||||
| -rw-r--r-- | include/datatypes.h | 3 |
4 files changed, 26 insertions, 4 deletions
diff --git a/include/aoapplication.h b/include/aoapplication.h index f26c8161..f8ce2269 100644 --- a/include/aoapplication.h +++ b/include/aoapplication.h @@ -80,6 +80,7 @@ public: bool modcall_reason_enabled = false; bool looping_sfx_support_enabled = false; bool additive_enabled = false; + bool effects_enabled = false; ///////////////loading info/////////////////// @@ -298,6 +299,18 @@ public: //Not in use int get_text_delay(QString p_char, QString p_emote); + //Get the effects folder referenced by the char.ini, read it and return the list of filenames in a string + QStringList get_char_effects(QString p_char); + + //Get the theme's effects folder, read it and return the list of filenames in a string + QStringList get_effects(); + + //t + QString get_effect(QString effect, QString p_char); + + //Return the effect sound associated with the fx_name in the misc/effects/<char-defined>/sounds.ini, or theme/effects/sounds.ini. + QString get_effect_sound(QString fx_name, QString p_char); + // Returns the custom realisation used by the character. QString get_custom_realization(QString p_char); diff --git a/include/aomovie.h b/include/aomovie.h index a5af735e..ec286199 100644 --- a/include/aomovie.h +++ b/include/aomovie.h @@ -15,7 +15,7 @@ public: AOMovie(QWidget *p_parent, AOApplication *p_ao_app); void set_play_once(bool p_play_once); - void play(QString p_gif, QString p_char = "", QString p_custom_theme = "", int default_duration = 0); + void play(QString p_image, QString p_char = "", QString p_custom_theme = "", int default_duration = 0); void combo_resize(int w, int h); void stop(); diff --git a/include/courtroom.h b/include/courtroom.h index 8d1588e9..6ba3d651 100644 --- a/include/courtroom.h +++ b/include/courtroom.h @@ -345,7 +345,7 @@ private: //the amount of time non-animated witness testimony/cross-examination images stay onscreen for in ms const int wtce_stay_time = 1500; - static const int chatmessage_size = 29; + static const int chatmessage_size = 30; QString m_chatmessage[chatmessage_size]; bool chatmessage_is_empty = false; @@ -375,6 +375,8 @@ private: int text_color = 0; bool is_presenting_evidence = false; + QString effect = ""; + int defense_bar_state = 0; int prosecution_bar_state = 0; @@ -429,7 +431,7 @@ private: QLabel *ui_vp_showname; AOMovie *ui_vp_chat_arrow; QTextEdit *ui_vp_message; - AOMovie *ui_vp_realization; + AOMovie *ui_vp_effect; AOMovie *ui_vp_testimony; AOMovie *ui_vp_wtce; AOMovie *ui_vp_objection; @@ -470,6 +472,8 @@ private: QComboBox *ui_sfx_dropdown; AOButton *ui_sfx_remove; + QComboBox *ui_effects_dropdown; + AOImage *ui_defense_bar; AOImage *ui_prosecution_bar; @@ -579,6 +583,7 @@ public slots: void preanim_done(); void do_screenshake(); void do_flash(); + void do_effect(QString fx_path, QString fx_sound, QString p_char); void play_char_sfx(QString sfx_name); void mod_called(QString p_ip); @@ -620,6 +625,9 @@ private slots: void set_sfx_dropdown(); void on_sfx_remove_clicked(); + void set_effects_dropdown(); + void on_effects_dropdown_changed(int p_index); + QString get_char_sfx(); int get_char_sfx_delay(); diff --git a/include/datatypes.h b/include/datatypes.h index 54e5c741..5426d981 100644 --- a/include/datatypes.h +++ b/include/datatypes.h @@ -106,7 +106,8 @@ enum CHAT_MESSAGE FRAME_SCREENSHAKE, FRAME_REALIZATION, FRAME_SFX, - ADDITIVE + ADDITIVE, + EFFECTS }; enum COLOR |
