Feature #825 ยป 0019-Rename-struct-Treaty-as-struct-treaty.patch
| ai/classic/classicai.c | ||
|---|---|---|
|   Call default ai with classic ai type as parameter. | ||
| **************************************************************************/ | ||
| static void cai_treaty_evaluate(struct player *pplayer, struct player *aplayer, | ||
|                                 struct Treaty *ptreaty) | ||
|                                 struct treaty *ptreaty) | ||
| { | ||
|   struct ai_type *deftype = classic_ai_get_self(); | ||
| ... | ... | |
|   Call default ai with classic ai type as parameter. | ||
| **************************************************************************/ | ||
| static void cai_treaty_accepted(struct player *pplayer, struct player *aplayer,  | ||
|                                 struct Treaty *ptreaty) | ||
|                                 struct treaty *ptreaty) | ||
| { | ||
|   struct ai_type *deftype = classic_ai_get_self(); | ||
| ai/default/daidiplomacy.c | ||
|---|---|---|
|   is the treaty being considered. It is all a question about money :-) | ||
| **********************************************************************/ | ||
| void dai_treaty_evaluate(struct ai_type *ait, struct player *pplayer, | ||
|                          struct player *aplayer, struct Treaty *ptreaty) | ||
|                          struct player *aplayer, struct treaty *ptreaty) | ||
| { | ||
|   int total_balance = 0; | ||
|   bool only_gifts = TRUE; | ||
| ... | ... | |
|   is the treaty accepted. | ||
| **********************************************************************/ | ||
| void dai_treaty_accepted(struct ai_type *ait, struct player *pplayer, | ||
|                          struct player *aplayer, struct Treaty *ptreaty) | ||
|                          struct player *aplayer, struct treaty *ptreaty) | ||
| { | ||
|   bool close_here; | ||
|   struct ai_plr *ai; | ||
| ... | ... | |
| **********************************************************************/ | ||
| static void clear_old_treaty(struct player *pplayer, struct player *aplayer) | ||
| { | ||
|   struct Treaty *old_treaty = find_treaty(pplayer, aplayer); | ||
|   struct treaty *old_treaty = find_treaty(pplayer, aplayer); | ||
|   if (old_treaty != NULL) { | ||
|     /* Remove existing clauses */ | ||
| ai/default/daidiplomacy.h | ||
|---|---|---|
| #include "ai.h" /* incident_type */ | ||
| struct Treaty; | ||
| struct treaty; | ||
| struct Clause; | ||
| struct ai_data; | ||
| ... | ... | |
| void dai_diplomacy_actions(struct ai_type *ait, struct player *pplayer); | ||
| void dai_treaty_evaluate(struct ai_type *ait, struct player *pplayer, | ||
|                          struct player *aplayer, struct Treaty *ptreaty); | ||
|                          struct player *aplayer, struct treaty *ptreaty); | ||
| void dai_treaty_accepted(struct ai_type *ait, struct player *pplayer, | ||
|                          struct player *aplayer, struct Treaty *ptreaty); | ||
|                          struct player *aplayer, struct treaty *ptreaty); | ||
| void dai_incident(struct ai_type *ait, enum incident_type type, | ||
|                   enum casus_belli_range scope, | ||
| ai/tex/texai.c | ||
|---|---|---|
| **************************************************************************/ | ||
| static void texwai_treaty_evaluate(struct player *pplayer, | ||
|                                    struct player *aplayer, | ||
|                                    struct Treaty *ptreaty) | ||
|                                    struct treaty *ptreaty) | ||
| { | ||
|   TEXAI_AIT; | ||
|   TEXAI_DFUNC(dai_treaty_evaluate, pplayer, aplayer, ptreaty); | ||
| ... | ... | |
| **************************************************************************/ | ||
| static void texwai_treaty_accepted(struct player *pplayer, | ||
|                                    struct player *aplayer,  | ||
|                                    struct Treaty *ptreaty) | ||
|                                    struct treaty *ptreaty) | ||
| { | ||
|   TEXAI_AIT; | ||
|   TEXAI_DFUNC(dai_treaty_accepted, pplayer, aplayer, ptreaty); | ||
| client/clitreaty.c | ||
|---|---|---|
| **************************************************************************/ | ||
| void client_init_meeting(int counterpart, int initiated_from) | ||
| { | ||
|   struct Treaty *ptreaty; | ||
|   struct treaty *ptreaty; | ||
|   struct player *we; | ||
|   struct player *they; | ||
| ... | ... | |
| void client_recv_accept_treaty(int counterpart, bool I_accepted, | ||
|                                bool other_accepted) | ||
| { | ||
|   struct Treaty *ptreaty; | ||
|   struct treaty *ptreaty; | ||
|   struct player *we; | ||
|   struct player *they; | ||
| ... | ... | |
| **************************************************************************/ | ||
| void client_recv_cancel_meeting(int counterpart, int initiated_from) | ||
| { | ||
|   struct Treaty *ptreaty; | ||
|   struct treaty *ptreaty; | ||
|   struct player *we; | ||
|   struct player *they; | ||
| ... | ... | |
| void client_recv_create_clause(int counterpart, int giver, | ||
|                                enum clause_type type, int value) | ||
| { | ||
|   struct Treaty *ptreaty; | ||
|   struct treaty *ptreaty; | ||
|   struct player *we; | ||
|   struct player *they; | ||
| ... | ... | |
| void client_recv_remove_clause(int counterpart, int giver, | ||
|                                enum clause_type type, int value) | ||
| { | ||
|   struct Treaty *ptreaty; | ||
|   struct treaty *ptreaty; | ||
|   struct player *we; | ||
|   struct player *they; | ||
| client/gui-gtk-3.22/diplodlg.c | ||
|---|---|---|
| #include "plrdlg.h" | ||
| struct Diplomacy_dialog { | ||
|   struct Treaty *treaty; | ||
|   struct treaty *treaty; | ||
|   struct gui_dialog *dialog; | ||
|   GtkWidget *menu0; | ||
| ... | ... | |
| static struct dialog_list *dialog_list; | ||
| static struct Diplomacy_notebook *dipl_main; | ||
| static struct Diplomacy_dialog *create_diplomacy_dialog(struct Treaty *ptreaty, | ||
| static struct Diplomacy_dialog *create_diplomacy_dialog(struct treaty *ptreaty, | ||
|                                                         struct player *plr0, | ||
|                                                         struct player *plr1); | ||
| static struct Diplomacy_dialog *find_diplomacy_dialog(struct player *they); | ||
| static void popup_diplomacy_dialog(struct Treaty *ptreaty, struct player *they, | ||
| static void popup_diplomacy_dialog(struct treaty *ptreaty, struct player *they, | ||
|                                    struct player *initiator); | ||
| static void diplomacy_dialog_map_callback(GtkWidget *w, gpointer data); | ||
| static void diplomacy_dialog_seamap_callback(GtkWidget *w, gpointer data); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Server tells us that either party has accepted treaty | ||
| ****************************************************************************/ | ||
| void gui_recv_accept_treaty(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_accept_treaty(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Someone is initiating meeting with us. | ||
| ****************************************************************************/ | ||
| void gui_init_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_init_meeting(struct treaty *ptreaty, struct player *they, | ||
|                       struct player *initiator) | ||
| { | ||
|   popup_diplomacy_dialog(ptreaty, they, initiator); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Meeting has been cancelled. | ||
| ****************************************************************************/ | ||
| void gui_recv_cancel_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_recv_cancel_meeting(struct treaty *ptreaty, struct player *they, | ||
|                              struct player *initiator) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Prepare to clause creation or removal. | ||
| **************************************************************************/ | ||
| void gui_prepare_clause_updt(struct Treaty *ptreaty, struct player *they) | ||
| void gui_prepare_clause_updt(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   /* Not needed */ | ||
| } | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Added clause to the meeting | ||
| ****************************************************************************/ | ||
| void gui_recv_create_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_create_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Removed clause from meeting. | ||
| ****************************************************************************/ | ||
| void gui_recv_remove_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_remove_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Popup the dialog 10% inside the main-window  | ||
| ****************************************************************************/ | ||
| static void popup_diplomacy_dialog(struct Treaty *ptreaty, struct player *they, | ||
| static void popup_diplomacy_dialog(struct treaty *ptreaty, struct player *they, | ||
|                                    struct player *initiator) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Setups diplomacy dialog widgets. | ||
| ****************************************************************************/ | ||
| static struct Diplomacy_dialog *create_diplomacy_dialog(struct Treaty *ptreaty, | ||
| static struct Diplomacy_dialog *create_diplomacy_dialog(struct treaty *ptreaty, | ||
|                                                         struct player *plr0, | ||
|                                                         struct player *plr1) | ||
| { | ||
| client/gui-gtk-4.0/diplodlg.c | ||
|---|---|---|
| #include "plrdlg.h" | ||
| struct Diplomacy_dialog { | ||
|   struct Treaty *treaty; | ||
|   struct treaty *treaty; | ||
|   struct gui_dialog *dialog; | ||
|   GtkWidget *pic0; | ||
| ... | ... | |
| static struct dialog_list *dialog_list; | ||
| static struct Diplomacy_notebook *dipl_main; | ||
| static struct Diplomacy_dialog *create_diplomacy_dialog(struct Treaty *ptreaty, | ||
| static struct Diplomacy_dialog *create_diplomacy_dialog(struct treaty *ptreaty, | ||
|                                                         struct player *plr0, | ||
|                                                         struct player *plr1); | ||
| static struct Diplomacy_dialog *find_diplomacy_dialog(struct player *they); | ||
| static void popup_diplomacy_dialog(struct Treaty *ptreaty, struct player *they, | ||
| static void popup_diplomacy_dialog(struct treaty *ptreaty, struct player *they, | ||
|                                    struct player *initiator); | ||
| static void diplomacy_dialog_map_callback(GSimpleAction *action, | ||
|                                           GVariant *parameter, | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Server tells us that either party has accepted treaty | ||
| ****************************************************************************/ | ||
| void gui_recv_accept_treaty(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_accept_treaty(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Someone is initiating meeting with us. | ||
| ****************************************************************************/ | ||
| void gui_init_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_init_meeting(struct treaty *ptreaty, struct player *they, | ||
|                       struct player *initiator) | ||
| { | ||
|   popup_diplomacy_dialog(ptreaty, they, initiator); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Meeting has been cancelled. | ||
| ****************************************************************************/ | ||
| void gui_recv_cancel_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_recv_cancel_meeting(struct treaty *ptreaty, struct player *they, | ||
|                              struct player *initiator) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Prepare to clause creation or removal. | ||
| **************************************************************************/ | ||
| void gui_prepare_clause_updt(struct Treaty *ptreaty, struct player *they) | ||
| void gui_prepare_clause_updt(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   /* Not needed */ | ||
| } | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Added clause to the meeting | ||
| ****************************************************************************/ | ||
| void gui_recv_create_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_create_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Removed clause from meeting. | ||
| ****************************************************************************/ | ||
| void gui_recv_remove_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_remove_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Popup the dialog 10% inside the main-window | ||
| ****************************************************************************/ | ||
| static void popup_diplomacy_dialog(struct Treaty *ptreaty, struct player *they, | ||
| static void popup_diplomacy_dialog(struct treaty *ptreaty, struct player *they, | ||
|                                    struct player *initiator) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Setups diplomacy dialog widgets. | ||
| ****************************************************************************/ | ||
| static struct Diplomacy_dialog *create_diplomacy_dialog(struct Treaty *ptreaty, | ||
| static struct Diplomacy_dialog *create_diplomacy_dialog(struct treaty *ptreaty, | ||
|                                                         struct player *plr0, | ||
|                                                         struct player *plr1) | ||
| { | ||
| client/gui-gtk-5.0/diplodlg.c | ||
|---|---|---|
| #include "plrdlg.h" | ||
| struct Diplomacy_dialog { | ||
|   struct Treaty *treaty; | ||
|   struct treaty *treaty; | ||
|   struct gui_dialog *dialog; | ||
|   GtkWidget *pic0; | ||
| ... | ... | |
| static struct dialog_list *dialog_list; | ||
| static struct Diplomacy_notebook *dipl_main; | ||
| static struct Diplomacy_dialog *create_diplomacy_dialog(struct Treaty *ptreaty, | ||
| static struct Diplomacy_dialog *create_diplomacy_dialog(struct treaty *ptreaty, | ||
|                                                         struct player *plr0, | ||
|                                                         struct player *plr1); | ||
| static struct Diplomacy_dialog *find_diplomacy_dialog(struct player *they); | ||
| static void popup_diplomacy_dialog(struct Treaty *ptreaty, struct player *they, | ||
| static void popup_diplomacy_dialog(struct treaty *ptreaty, struct player *they, | ||
|                                    struct player *initiator); | ||
| static void diplomacy_dialog_map_callback(GSimpleAction *action, | ||
|                                           GVariant *parameter, | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Server tells us that either party has accepted treaty | ||
| ****************************************************************************/ | ||
| void gui_recv_accept_treaty(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_accept_treaty(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Someone is initiating meeting with us. | ||
| ****************************************************************************/ | ||
| void gui_init_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_init_meeting(struct treaty *ptreaty, struct player *they, | ||
|                       struct player *initiator) | ||
| { | ||
|   popup_diplomacy_dialog(ptreaty, they, initiator); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Meeting has been cancelled. | ||
| ****************************************************************************/ | ||
| void gui_recv_cancel_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_recv_cancel_meeting(struct treaty *ptreaty, struct player *they, | ||
|                              struct player *initiator) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Prepare to clause creation or removal. | ||
| **************************************************************************/ | ||
| void gui_prepare_clause_updt(struct Treaty *ptreaty, struct player *they) | ||
| void gui_prepare_clause_updt(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   /* Not needed */ | ||
| } | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Added clause to the meeting | ||
| ****************************************************************************/ | ||
| void gui_recv_create_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_create_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Removed clause from meeting. | ||
| ****************************************************************************/ | ||
| void gui_recv_remove_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_remove_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Popup the dialog 10% inside the main-window | ||
| ****************************************************************************/ | ||
| static void popup_diplomacy_dialog(struct Treaty *ptreaty, struct player *they, | ||
| static void popup_diplomacy_dialog(struct treaty *ptreaty, struct player *they, | ||
|                                    struct player *initiator) | ||
| { | ||
|   struct Diplomacy_dialog *pdialog = find_diplomacy_dialog(they); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Setups diplomacy dialog widgets. | ||
| ****************************************************************************/ | ||
| static struct Diplomacy_dialog *create_diplomacy_dialog(struct Treaty *ptreaty, | ||
| static struct Diplomacy_dialog *create_diplomacy_dialog(struct treaty *ptreaty, | ||
|                                                         struct player *plr0, | ||
|                                                         struct player *plr1) | ||
| { | ||
| client/gui-qt/diplodlg.cpp | ||
|---|---|---|
| /************************************************************************//** | ||
|   Constructor for diplomacy widget | ||
| ****************************************************************************/ | ||
| diplo_wdg::diplo_wdg(struct Treaty *ptreaty, | ||
| diplo_wdg::diplo_wdg(struct treaty *ptreaty, | ||
|                      struct player *they, struct player *initiator): QWidget() | ||
| { | ||
|   struct player *we; | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Constructor for diplomacy dialog | ||
| ****************************************************************************/ | ||
| diplo_dlg::diplo_dlg(struct Treaty *ptreaty, struct player *they, | ||
| diplo_dlg::diplo_dlg(struct treaty *ptreaty, struct player *they, | ||
|                      struct player *initiator) : QTabWidget() | ||
| { | ||
|   add_widget(ptreaty, they, initiator); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Creates new diplomacy widget and adds to diplomacy dialog | ||
| ****************************************************************************/ | ||
| void diplo_dlg::add_widget(struct Treaty *ptreaty, struct player *they, | ||
| void diplo_dlg::add_widget(struct treaty *ptreaty, struct player *they, | ||
|                            struct player *initiator) | ||
| { | ||
|   diplo_wdg *dw; | ||
| ... | ... | |
|   Update a player's acceptance status of a treaty (traditionally shown | ||
|   with the thumbs-up/thumbs-down sprite). | ||
| ****************************************************************************/ | ||
| void qtg_recv_accept_treaty(struct Treaty *ptreaty, struct player *they) | ||
| void qtg_recv_accept_treaty(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   int i; | ||
|   diplo_dlg *dd; | ||
| ... | ... | |
|   Handle the start of a diplomacy meeting - usually by popping up a | ||
|   diplomacy dialog. | ||
| ****************************************************************************/ | ||
| void qtg_init_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void qtg_init_meeting(struct treaty *ptreaty, struct player *they, | ||
|                       struct player *initiator) | ||
| { | ||
|   int i; | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Prepare to clause creation or removal. | ||
| **************************************************************************/ | ||
| void qtg_prepare_clause_updt(struct Treaty *ptreaty, struct player *they) | ||
| void qtg_prepare_clause_updt(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   // Not needed | ||
| } | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Update the diplomacy dialog by adding a clause. | ||
| ****************************************************************************/ | ||
| void qtg_recv_create_clause(struct Treaty *ptreaty, struct player *they) | ||
| void qtg_recv_create_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   int i; | ||
|   diplo_dlg *dd; | ||
| ... | ... | |
|   Update the diplomacy dialog when the meeting is canceled (the dialog | ||
|   should be closed). | ||
| ****************************************************************************/ | ||
| void qtg_recv_cancel_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void qtg_recv_cancel_meeting(struct treaty *ptreaty, struct player *they, | ||
|                              struct player *initiator) | ||
| { | ||
|   int i; | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Update the diplomacy dialog by removing a clause. | ||
| ****************************************************************************/ | ||
| void qtg_recv_remove_clause(struct Treaty *ptreaty, struct player *they) | ||
| void qtg_recv_remove_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   int i; | ||
|   diplo_dlg *dd; | ||
| client/gui-qt/diplodlg.h | ||
|---|---|---|
|   QTableWidget *text_edit; | ||
| public: | ||
|   diplo_wdg(struct Treaty *ptreaty, | ||
|   diplo_wdg(struct treaty *ptreaty, | ||
|             struct player *they, struct player *initiator); | ||
|   ~diplo_wdg(); | ||
|   void update_wdg(); | ||
|   void set_index(int ind); | ||
|   int get_index(); | ||
|   struct Treaty *treaty; | ||
|   struct treaty *treaty; | ||
| private slots: | ||
|   void all_advances(); | ||
| ... | ... | |
|   QMap<struct player *, diplo_wdg *> treaty_list; | ||
| public: | ||
|   diplo_dlg(struct Treaty *ptreaty, struct player *they, | ||
|   diplo_dlg(struct treaty *ptreaty, struct player *they, | ||
|             struct player *initiator); | ||
|   ~diplo_dlg(); | ||
|   void reactivate(); | ||
| ... | ... | |
|   bool init(bool raise); | ||
|   diplo_wdg *find_widget(struct player *they); | ||
|   void close_widget(struct player *they); | ||
|   void add_widget(struct Treaty *ptreaty, struct player *they, | ||
|   void add_widget(struct treaty *ptreaty, struct player *they, | ||
|                   struct player *initiator); | ||
|   void make_active(struct player *party); | ||
| client/gui-qt/qtg_cxxside.h | ||
|---|---|---|
| char **qtg_get_gui_specific_themes_directories(int *count); | ||
| char **qtg_get_usable_themes_in_directory(const char *directory, int *count); | ||
| void qtg_init_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void qtg_init_meeting(struct treaty *ptreaty, struct player *they, | ||
|                       struct player *initiator); | ||
| void qtg_recv_cancel_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void qtg_recv_cancel_meeting(struct treaty *ptreaty, struct player *they, | ||
|                              struct player *initiator); | ||
| void qtg_prepare_clause_updt(struct Treaty *ptreaty, struct player *they); | ||
| void qtg_recv_create_clause(struct Treaty *ptreaty, struct player *they); | ||
| void qtg_recv_remove_clause(struct Treaty *ptreaty, struct player *they); | ||
| void qtg_recv_accept_treaty(struct Treaty *ptreaty, struct player *they); | ||
| void qtg_prepare_clause_updt(struct treaty *ptreaty, struct player *they); | ||
| void qtg_recv_create_clause(struct treaty *ptreaty, struct player *they); | ||
| void qtg_recv_remove_clause(struct treaty *ptreaty, struct player *they); | ||
| void qtg_recv_accept_treaty(struct treaty *ptreaty, struct player *they); | ||
| void qtg_request_action_confirmation(const char *expl, | ||
|                                      struct act_confirmation_data *data); | ||
| client/gui-sdl2/diplodlg.c | ||
|---|---|---|
| #include "diplodlg.h" | ||
| struct diplomacy_dialog { | ||
|   struct Treaty *treaty; | ||
|   struct treaty *treaty; | ||
|   struct advanced_dialog *pdialog; | ||
|   struct advanced_dialog *pwants; | ||
|   struct advanced_dialog *poffers; | ||
| ... | ... | |
|   Update a player's acceptance status of a treaty (traditionally shown | ||
|   with the thumbs-up/thumbs-down sprite). | ||
| **************************************************************************/ | ||
| void gui_recv_accept_treaty(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_accept_treaty(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct diplomacy_dialog *pdialog = get_diplomacy_dialog(they); | ||
| ... | ... | |
|   Update the diplomacy dialog when the meeting is canceled (the dialog | ||
|   should be closed). | ||
| **************************************************************************/ | ||
| void gui_recv_cancel_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_recv_cancel_meeting(struct treaty *ptreaty, struct player *they, | ||
|                              struct player *initiator) | ||
| { | ||
|   struct diplomacy_dialog *pdialog = get_diplomacy_dialog(they); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Prepare to clause creation or removal. | ||
| **************************************************************************/ | ||
| void gui_prepare_clause_updt(struct Treaty *ptreaty, struct player *they) | ||
| void gui_prepare_clause_updt(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct diplomacy_dialog *pdialog = get_diplomacy_dialog(they); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Update the diplomacy dialog by adding a clause. | ||
| **************************************************************************/ | ||
| void gui_recv_create_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_create_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct diplomacy_dialog *pdialog = get_diplomacy_dialog(they); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Update the diplomacy dialog by removing a clause. | ||
| **************************************************************************/ | ||
| void gui_recv_remove_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_remove_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct diplomacy_dialog *pdialog = get_diplomacy_dialog(they); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Open new diplomacy dialog between players. | ||
| **************************************************************************/ | ||
| static struct diplomacy_dialog *create_diplomacy_dialog(struct Treaty *ptreaty, | ||
| static struct diplomacy_dialog *create_diplomacy_dialog(struct treaty *ptreaty, | ||
|                                                         struct player *plr0, | ||
|                                                         struct player *plr1) | ||
| { | ||
| ... | ... | |
|   Handle the start of a diplomacy meeting - usually by popping up a | ||
|   diplomacy dialog. | ||
| **************************************************************************/ | ||
| void gui_init_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_init_meeting(struct treaty *ptreaty, struct player *they, | ||
|                       struct player *initiator) | ||
| { | ||
|   struct diplomacy_dialog *pdialog; | ||
| client/gui-sdl3/diplodlg.c | ||
|---|---|---|
| #include "diplodlg.h" | ||
| struct diplomacy_dialog { | ||
|   struct Treaty *treaty; | ||
|   struct treaty *treaty; | ||
|   struct advanced_dialog *pdialog; | ||
|   struct advanced_dialog *pwants; | ||
|   struct advanced_dialog *poffers; | ||
| ... | ... | |
|   Update a player's acceptance status of a treaty (traditionally shown | ||
|   with the thumbs-up/thumbs-down sprite). | ||
| **************************************************************************/ | ||
| void gui_recv_accept_treaty(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_accept_treaty(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct diplomacy_dialog *pdialog = get_diplomacy_dialog(they); | ||
| ... | ... | |
|   Update the diplomacy dialog when the meeting is canceled (the dialog | ||
|   should be closed). | ||
| **************************************************************************/ | ||
| void gui_recv_cancel_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_recv_cancel_meeting(struct treaty *ptreaty, struct player *they, | ||
|                              struct player *initiator) | ||
| { | ||
|   struct diplomacy_dialog *pdialog = get_diplomacy_dialog(they); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Prepare to clause creation or removal. | ||
| **************************************************************************/ | ||
| void gui_prepare_clause_updt(struct Treaty *ptreaty, struct player *they) | ||
| void gui_prepare_clause_updt(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct diplomacy_dialog *pdialog = get_diplomacy_dialog(they); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Update the diplomacy dialog by adding a clause. | ||
| **************************************************************************/ | ||
| void gui_recv_create_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_create_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct diplomacy_dialog *pdialog = get_diplomacy_dialog(they); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Update the diplomacy dialog by removing a clause. | ||
| **************************************************************************/ | ||
| void gui_recv_remove_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_remove_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   struct diplomacy_dialog *pdialog = get_diplomacy_dialog(they); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Open new diplomacy dialog between players. | ||
| **************************************************************************/ | ||
| static struct diplomacy_dialog *create_diplomacy_dialog(struct Treaty *ptreaty, | ||
| static struct diplomacy_dialog *create_diplomacy_dialog(struct treaty *ptreaty, | ||
|                                                         struct player *plr0, | ||
|                                                         struct player *plr1) | ||
| { | ||
| ... | ... | |
|   Handle the start of a diplomacy meeting - usually by popping up a | ||
|   diplomacy dialog. | ||
| **************************************************************************/ | ||
| void gui_init_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_init_meeting(struct treaty *ptreaty, struct player *they, | ||
|                       struct player *initiator) | ||
| { | ||
|   struct diplomacy_dialog *pdialog; | ||
| client/gui-stub/diplodlg.c | ||
|---|---|---|
|   Update a player's acceptance status of a treaty (traditionally shown | ||
|   with the thumbs-up/thumbs-down sprite). | ||
| **************************************************************************/ | ||
| void gui_gui_recv_accept_treaty(struct Treaty *ptreaty, struct player *they) | ||
| void gui_gui_recv_accept_treaty(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   /* PORTME */ | ||
| } | ||
| ... | ... | |
|   Handle the start of a diplomacy meeting - usually by popping up a | ||
|   diplomacy dialog. | ||
| **************************************************************************/ | ||
| void gui_gui_init_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_gui_init_meeting(struct treaty *ptreaty, struct player *they, | ||
|                           struct player *initiator) | ||
| { | ||
|   /* PORTME */ | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Update the diplomacy dialog by adding a clause. | ||
| **************************************************************************/ | ||
| void gui_gui_recv_create_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_gui_recv_create_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   /* PORTME */ | ||
| } | ||
| ... | ... | |
|   Update the diplomacy dialog when the meeting is canceled (the dialog | ||
|   should be closed). | ||
| **************************************************************************/ | ||
| void gui_gui_recv_cancel_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_gui_recv_cancel_meeting(struct treaty *ptreaty, struct player *they, | ||
|                                  struct player *initiator) | ||
| { | ||
|   /* PORTME */ | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Update the diplomacy dialog by removing a clause. | ||
| **************************************************************************/ | ||
| void gui_gui_recv_remove_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_gui_recv_remove_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   /* PORTME */ | ||
| } | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Prepare to clause creation or removal. | ||
| **************************************************************************/ | ||
| void gui_gui_prepare_clause_updt(struct Treaty *ptreaty, struct player *they) | ||
| void gui_gui_prepare_clause_updt(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   /* PORTME */ | ||
| } | ||
| client/gui_interface.c | ||
|---|---|---|
| /**********************************************************************//** | ||
|   Call gui_init_meeting callback | ||
| **************************************************************************/ | ||
| void gui_init_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_init_meeting(struct treaty *ptreaty, struct player *they, | ||
|                       struct player *initiator) | ||
| { | ||
|   funcs.gui_init_meeting(ptreaty, they, initiator); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Call gui_recv_cancel_meeting callback | ||
| **************************************************************************/ | ||
| void gui_recv_cancel_meeting(struct Treaty *ptreaty, struct player *they, | ||
| void gui_recv_cancel_meeting(struct treaty *ptreaty, struct player *they, | ||
|                              struct player *initiator) | ||
| { | ||
|   funcs.gui_recv_cancel_meeting(ptreaty, they, initiator); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Call gui_prepare_clause_updt callback | ||
| **************************************************************************/ | ||
| void gui_prepare_clause_updt(struct Treaty *ptreaty, struct player *they) | ||
| void gui_prepare_clause_updt(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   funcs.gui_prepare_clause_updt(ptreaty, they); | ||
| } | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Call gui_recv_create_clause callback | ||
| **************************************************************************/ | ||
| void gui_recv_create_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_create_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   funcs.gui_recv_create_clause(ptreaty, they); | ||
| } | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Call gui_recv_remove_clause callback | ||
| **************************************************************************/ | ||
| void gui_recv_remove_clause(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_remove_clause(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   funcs.gui_recv_remove_clause(ptreaty, they); | ||
| } | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Call gui_recv_accept_treaty callback | ||
| **************************************************************************/ | ||
| void gui_recv_accept_treaty(struct Treaty *ptreaty, struct player *they) | ||
| void gui_recv_accept_treaty(struct treaty *ptreaty, struct player *they) | ||
| { | ||
|   funcs.gui_recv_accept_treaty(ptreaty, they); | ||
| } | ||
| client/gui_interface.h | ||
|---|---|---|
|   char **(*get_gui_specific_themes_directories)(int *count); | ||
|   char **(*get_usable_themes_in_directory)(const char *directory, int *count); | ||
|   void (*gui_init_meeting)(struct Treaty *ptreaty, struct player *they, | ||
|   void (*gui_init_meeting)(struct treaty *ptreaty, struct player *they, | ||
|                            struct player *initiator); | ||
|   void (*gui_recv_cancel_meeting)(struct Treaty *ptreaty, struct player *they, | ||
|   void (*gui_recv_cancel_meeting)(struct treaty *ptreaty, struct player *they, | ||
|                                   struct player *initiator); | ||
|   void (*gui_prepare_clause_updt)(struct Treaty *ptreaty, struct player *they); | ||
|   void (*gui_recv_create_clause)(struct Treaty *ptreaty, struct player *they); | ||
|   void (*gui_recv_remove_clause)(struct Treaty *ptreaty, struct player *they); | ||
|   void (*gui_recv_accept_treaty)(struct Treaty *ptreaty, struct player *they); | ||
|   void (*gui_prepare_clause_updt)(struct treaty *ptreaty, struct player *they); | ||
|   void (*gui_recv_create_clause)(struct treaty *ptreaty, struct player *they); | ||
|   void (*gui_recv_remove_clause)(struct treaty *ptreaty, struct player *they); | ||
|   void (*gui_recv_accept_treaty)(struct treaty *ptreaty, struct player *they); | ||
|   void (*request_action_confirmation)(const char *expl, | ||
|                                       struct act_confirmation_data *data); | ||
| client/include/diplodlg_g.h | ||
|---|---|---|
| #include "gui_proto_constructor.h" | ||
| GUI_FUNC_PROTO(void, gui_init_meeting, | ||
|                struct Treaty *ptreaty, struct player *they, | ||
|                struct treaty *ptreaty, struct player *they, | ||
|                struct player *initiator) | ||
| GUI_FUNC_PROTO(void, gui_recv_cancel_meeting, | ||
|                struct Treaty *ptreaty, struct player *they, | ||
|                struct treaty *ptreaty, struct player *they, | ||
|                struct player *initiator) | ||
| GUI_FUNC_PROTO(void, gui_prepare_clause_updt, | ||
|                struct Treaty *ptreaty, struct player *they) | ||
|                struct treaty *ptreaty, struct player *they) | ||
| GUI_FUNC_PROTO(void, gui_recv_create_clause, | ||
|                struct Treaty *ptreaty, struct player *they) | ||
|                struct treaty *ptreaty, struct player *they) | ||
| GUI_FUNC_PROTO(void, gui_recv_remove_clause, | ||
|                struct Treaty *ptreaty, struct player *they) | ||
| GUI_FUNC_PROTO(void, gui_recv_accept_treaty, struct Treaty *ptreaty, | ||
|                struct treaty *ptreaty, struct player *they) | ||
| GUI_FUNC_PROTO(void, gui_recv_accept_treaty, struct treaty *ptreaty, | ||
|                struct player *they) | ||
| GUI_FUNC_PROTO(void, close_all_diplomacy_dialogs, void) | ||
| #endif  /* FC__DIPLODLG_G_H */ | ||
| #endif /* FC__DIPLODLG_G_H */ | ||
| common/ai.h | ||
|---|---|---|
| #  undef DEBUG_AITIMERS | ||
| #endif /* FREECIV_DEBUG */ | ||
| struct Treaty; | ||
| struct treaty; | ||
| struct player; | ||
| struct adv_choice; | ||
| struct city; | ||
| ... | ... | |
|     /* Called for player AI type when diplomatic treaty requires evaluation. */ | ||
|     void (*treaty_evaluate)(struct player *pplayer, struct player *aplayer, | ||
|                             struct Treaty *ptreaty); | ||
|                             struct treaty *ptreaty); | ||
|     /* Called for player AI type when diplomatic treaty has been accepted | ||
|      * by both parties. */ | ||
|     void (*treaty_accepted)(struct player *pplayer, struct player *aplayer, | ||
|                             struct Treaty *ptreaty); | ||
|                             struct treaty *ptreaty); | ||
|     /* Called for player AI type when first contact with another player has been | ||
|      * established. Note that when contact is between two AI players, callback | ||
| common/diptreaty.c | ||
|---|---|---|
| /**********************************************************************//** | ||
|   Initialize treaty structure between two players. | ||
| **************************************************************************/ | ||
| void init_treaty(struct Treaty *ptreaty,  | ||
| void init_treaty(struct treaty *ptreaty, | ||
|                  struct player *plr0, struct player *plr1) | ||
| { | ||
|   ptreaty->plr0=plr0; | ||
|   ptreaty->plr1=plr1; | ||
|   ptreaty->plr0 = plr0; | ||
|   ptreaty->plr1 = plr1; | ||
|   ptreaty->accept0 = FALSE; | ||
|   ptreaty->accept1 = FALSE; | ||
|   ptreaty->clauses = clause_list_new(); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Free the clauses of a treaty. | ||
| **************************************************************************/ | ||
| void clear_treaty(struct Treaty *ptreaty) | ||
| void clear_treaty(struct treaty *ptreaty) | ||
| { | ||
|   clause_list_iterate(ptreaty->clauses, pclause) { | ||
|     free(pclause); | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Remove clause from treaty | ||
| **************************************************************************/ | ||
| bool remove_clause(struct Treaty *ptreaty, struct player *pfrom,  | ||
| bool remove_clause(struct treaty *ptreaty, struct player *pfrom, | ||
|                    enum clause_type type, int val) | ||
| { | ||
|   clause_list_iterate(ptreaty->clauses, pclause) { | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Add clause to treaty. | ||
| **************************************************************************/ | ||
| bool add_clause(struct Treaty *ptreaty, struct player *pfrom,  | ||
| bool add_clause(struct treaty *ptreaty, struct player *pfrom, | ||
|                 enum clause_type type, int val, | ||
|                 struct player *client_player) | ||
| { | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Find currently active treaty between two players. | ||
| **************************************************************************/ | ||
| struct Treaty *find_treaty(struct player *plr0, struct player *plr1) | ||
| struct treaty *find_treaty(struct player *plr0, struct player *plr1) | ||
| { | ||
|   treaty_list_iterate(treaties, ptreaty) { | ||
|     if ((ptreaty->plr0 == plr0 && ptreaty->plr1 == plr1) | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Add treaty to the global list. | ||
| **************************************************************************/ | ||
| void treaty_add(struct Treaty *ptreaty) | ||
| void treaty_add(struct treaty *ptreaty) | ||
| { | ||
|   treaty_list_prepend(treaties, ptreaty); | ||
| } | ||
| ... | ... | |
| /**********************************************************************//** | ||
|   Remove treaty from the global list. | ||
| **************************************************************************/ | ||
| void treaty_remove(struct Treaty *ptreaty) | ||
| void treaty_remove(struct treaty *ptreaty) | ||
| { | ||
|   treaty_list_remove(treaties, ptreaty); | ||
| common/diptreaty.h | ||
|---|---|---|
|   int value; | ||
| }; | ||
| struct Treaty { | ||
| struct treaty { | ||
|   struct player *plr0, *plr1; | ||
|   bool accept0, accept1; | ||
|   struct clause_list *clauses; | ||
| ... | ... | |
| bool could_intel_with_player(const struct player *pplayer, | ||
|                              const struct player *aplayer); | ||
| void init_treaty(struct Treaty *ptreaty,  | ||
| void init_treaty(struct treaty *ptreaty, | ||
|                  struct player *plr0, struct player *plr1); | ||
| bool add_clause(struct Treaty *ptreaty, struct player *pfrom,  | ||
| bool add_clause(struct treaty *ptreaty, struct player *pfrom, | ||
|                 enum clause_type type, int val, | ||
|                 struct player *client_player); | ||
| bool remove_clause(struct Treaty *ptreaty, struct player *pfrom,  | ||
| bool remove_clause(struct treaty *ptreaty, struct player *pfrom, | ||
|                    enum clause_type type, int val); | ||
| void clear_treaty(struct Treaty *ptreaty); | ||
| void clear_treaty(struct treaty *ptreaty); | ||
| void clause_infos_init(void); | ||
| void clause_infos_free(void); | ||
| ... | ... | |
| bool clause_enabled(enum clause_type type); | ||
| #define SPECLIST_TAG treaty | ||
| #define SPECLIST_TYPE struct Treaty | ||
| #define SPECLIST_TYPE struct treaty | ||
| #include "speclist.h" | ||
| #define treaty_list_iterate(list, p) \ | ||
|     TYPED_LIST_ITERATE(struct Treaty, list, p) | ||
|     TYPED_LIST_ITERATE(struct treaty, list, p) | ||
| #define treaty_list_iterate_end  LIST_ITERATE_END | ||
| void treaties_init(void); | ||
| void treaties_free(void); | ||
| void free_treaties(void); | ||
| struct Treaty *find_treaty(struct player *plr0, struct player *plr1); | ||
| struct treaty *find_treaty(struct player *plr0, struct player *plr1); | ||
| void treaty_add(struct Treaty *ptreaty); | ||
| void treaty_remove(struct Treaty *ptreaty); | ||
| void treaty_add(struct treaty *ptreaty); | ||
| void treaty_remove(struct treaty *ptreaty); | ||
| typedef void (*treaty_cb)(struct Treaty *, void *data); | ||
| typedef void (*treaty_cb)(struct treaty *, void *data); | ||
| void treaties_iterate(treaty_cb cb, void *data); | ||
| #ifdef __cplusplus | ||
| doc/HACKING | ||
|---|---|---|
| Diplomacy | ||
| ========================================================================= | ||
| A few words about the diplomacy system. When a diplomacy meeting is | ||
| established, a Treaty structure is created on both of the clients and | ||
| established, a treaty structure is created on both of the clients and | ||
| on the server. All these structures are updated concurrently as clauses | ||
| are added and removed. | ||
| server/diplhand.c | ||
|---|---|---|
|   Calls treaty_evaluate function if such is set for AI player.     | ||
| **************************************************************************/ | ||
| static void call_treaty_evaluate(struct player *pplayer, struct player *aplayer, | ||
|                                  struct Treaty *ptreaty) | ||
|                                  struct treaty *ptreaty) | ||
| { | ||
|   if (is_ai(pplayer)) { | ||
|     CALL_PLR_AI_FUNC(treaty_evaluate, pplayer, pplayer, aplayer, ptreaty); | ||
| ... | ... | |
|   Calls treaty_accepted function if such is set for AI player. | ||
| **************************************************************************/ | ||
| static void call_treaty_accepted(struct player *pplayer, struct player *aplayer, | ||
|                                  struct Treaty *ptreaty) | ||
|                                  struct treaty *ptreaty) | ||
| { | ||
|   if (is_ai(pplayer)) { | ||
|     CALL_PLR_AI_FUNC(treaty_accepted, pplayer, pplayer, aplayer, ptreaty); | ||
| ... | ... | |
|   agreed clauses. | ||
| **************************************************************************/ | ||
| void handle_diplomacy_accept_treaty_req(struct player *pplayer, | ||
| 					int counterpart) | ||
|                                         int counterpart) | ||
| { | ||
|   struct Treaty *ptreaty; | ||
|   struct treaty *ptreaty; | ||
|   bool *player_accept, *other_accept; | ||
|   enum dipl_reason diplcheck; | ||
|   bool worker_refresh_required = FALSE; | ||
| ... | ... | |
|   Handle request to remove clause from treaty. | ||
| **************************************************************************/ | ||
| void handle_diplomacy_remove_clause_req(struct player *pplayer, | ||
| 					int counterpart, int giver, | ||
| 					enum clause_type type, int value) | ||
|                                         int counterpart, int giver, | ||
|                                         enum clause_type type, int value) | ||
| { | ||
|   struct Treaty *ptreaty; | ||
|   struct treaty *ptreaty; | ||
|   struct player *pgiver = player_by_number(giver); | ||
|   struct player *pother = player_by_number(counterpart); | ||
| ... | ... | |
|   Handle request to add clause to treaty between two players. | ||
| **************************************************************************/ | ||
| void handle_diplomacy_create_clause_req(struct player *pplayer, | ||
| 					int counterpart, int giver, | ||
| 					enum clause_type type, int value) | ||
|                                         int counterpart, int giver, | ||
|                                         enum clause_type type, int value) | ||
| { | ||
|   struct Treaty *ptreaty; | ||
|   struct treaty *ptreaty; | ||
|   struct player *pgiver = player_by_number(giver); | ||
|   struct player *pother = player_by_number(counterpart); | ||
| ... | ... | |
|   this with input directly from untrusted source. | ||
| **************************************************************************/ | ||
| static void really_diplomacy_cancel_meeting(struct player *pplayer, | ||
| 					    struct player *pother) | ||
|                                             struct player *pother) | ||
| { | ||
|   struct Treaty *ptreaty = find_treaty(pplayer, pother); | ||
|   struct treaty *ptreaty = find_treaty(pplayer, pother); | ||
|   if (ptreaty) { | ||
|     dlsend_packet_diplomacy_cancel_meeting(pother->connections, | ||
| ... | ... | |
|   Handle meeting opening request. | ||
| **************************************************************************/ | ||
| void handle_diplomacy_init_meeting_req(struct player *pplayer, | ||
| 				       int counterpart) | ||
|                                        int counterpart) | ||
| { | ||
|   struct player *pother = player_by_number(counterpart); | ||
| ... | ... | |
|   } | ||
|   if (could_meet_with_player(pplayer, pother)) { | ||
|     struct Treaty *ptreaty; | ||
|     struct treaty *ptreaty; | ||
|     ptreaty = fc_malloc(sizeof(*ptreaty)); | ||
|     init_treaty(ptreaty, pplayer, pother); | ||
| ... | ... | |
|     return; | ||
|   } | ||
|   players_iterate(other) { | ||
|     struct Treaty *ptreaty = find_treaty(pplayer, other); | ||
|     struct treaty *ptreaty = find_treaty(pplayer, other); | ||
|     if (ptreaty) { | ||
|       fc_assert_action(pplayer != other, continue); | ||
| ... | ... | |
| **************************************************************************/ | ||
| void reject_all_treaties(struct player *pplayer) | ||
| { | ||
|   struct Treaty* treaty; | ||
|   struct treaty *treaty; | ||
|   players_iterate(pplayer2) { | ||
|     treaty = find_treaty(pplayer, pplayer2); | ||
|     if (!treaty) { | ||
|     if (treaty == nullptr) { | ||
|       continue; | ||
|     } | ||
|     treaty->accept0 = FALSE; | ||
| server/diplhand.h | ||
|---|---|---|
| /* server */ | ||
| #include <hand_gen.h>       /* <> so looked from the build directory first. */ | ||
| struct Treaty; | ||
| struct packet_diplomacy_info; | ||
| struct connection; | ||
| server/savegame/savegame2.c | ||
|---|---|---|
|     if (p0 == NULL || p1 == NULL) { | ||
|       log_error("Treaty between unknown players %s and %s", plr0, plr1); | ||
|     } else { | ||
|       struct Treaty *ptreaty = fc_malloc(sizeof(*ptreaty)); | ||
|       struct treaty *ptreaty = fc_malloc(sizeof(*ptreaty)); | ||
|       init_treaty(ptreaty, p0, p1); | ||
|       treaty_add(ptreaty); | ||
| server/savegame/savegame3.c | ||
|---|---|---|
|     if (p0 == NULL || p1 == NULL) { | ||
|       log_error("Treaty between unknown players %s and %s", plr0, plr1); | ||
|     } else { | ||
|       struct Treaty *ptreaty = fc_malloc(sizeof(*ptreaty)); | ||
|       struct treaty *ptreaty = fc_malloc(sizeof(*ptreaty)); | ||
|       init_treaty(ptreaty, p0, p1); | ||
|       treaty_add(ptreaty); | ||
| ... | ... | |
| /************************************************************************//** | ||
|   Save '[treaty_xxx]'. | ||
| ****************************************************************************/ | ||
| static void treaty_save(struct Treaty *ptr, void *data_in) | ||
| static void treaty_save(struct treaty *ptr, void *data_in) | ||
| { | ||
|   char tpath[512]; | ||
|   int cidx = 0; | ||