Freeciv-3.2
Loading...
Searching...
No Matches
Data Structures | Macros | Functions | Variables
diplodlg.c File Reference
#include <SDL2/SDL.h>
#include "fcintl.h"
#include "log.h"
#include "diptreaty.h"
#include "game.h"
#include "research.h"
#include "client_main.h"
#include "climisc.h"
#include "packhand.h"
#include "chatline.h"
#include "colors.h"
#include "dialogs.h"
#include "graphics.h"
#include "gui_id.h"
#include "gui_main.h"
#include "gui_tilespec.h"
#include "mapview.h"
#include "themespec.h"
#include "widget.h"
#include "diplodlg.h"
#include "speclist.h"

Go to the source code of this file.

Data Structures

struct  diplomacy_dialog
 

Macros

#define SPECLIST_TAG   dialog
 
#define SPECLIST_TYPE   struct diplomacy_dialog
 
#define dialog_list_iterate(dialoglist, pdialog)    TYPED_LIST_ITERATE(struct diplomacy_dialog, dialoglist, pdialog)
 
#define dialog_list_iterate_end   LIST_ITERATE_END
 

Functions

static void update_diplomacy_dialog (struct diplomacy_dialog *pdialog)
 
static void update_acceptance_icons (struct diplomacy_dialog *pdialog)
 
static void update_clauses_list (struct diplomacy_dialog *pdialog)
 
static void remove_clause_widget_from_list (struct player *they, struct player *giver, enum clause_type type, int value)
 
static void popdown_diplomacy_dialog (struct diplomacy_dialog *pdialog)
 
static void popdown_diplomacy_dialogs (void)
 
static void popdown_sdip_dialog (void)
 
void diplomacy_dialog_init (void)
 
void diplomacy_dialog_done (void)
 
static struct diplomacy_dialogget_diplomacy_dialog (struct player *they)
 
void gui_recv_accept_treaty (struct Treaty *ptreaty, struct player *they)
 
void gui_recv_cancel_meeting (struct Treaty *ptreaty, struct player *they, struct player *initiator)
 
static int remove_clause_callback (struct widget *pwidget)
 
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)
 
static int cancel_meeting_callback (struct widget *pwidget)
 
static int accept_treaty_callback (struct widget *pwidget)
 
static int pact_callback (struct widget *pwidget)
 
static int vision_callback (struct widget *pwidget)
 
static int embassy_callback (struct widget *pwidget)
 
static int shared_tiles_callback (struct widget *pwidget)
 
static int maps_callback (struct widget *pwidget)
 
static int techs_callback (struct widget *pwidget)
 
static int gold_callback (struct widget *pwidget)
 
static int cities_callback (struct widget *pwidget)
 
static int dipomatic_window_callback (struct widget *pwindow)
 
static struct advanced_dialogpopup_diplomatic_objects (struct player *pplayer0, struct player *pplayer1, struct widget *main_window, bool L_R)
 
static struct diplomacy_dialogcreate_diplomacy_dialog (struct Treaty *ptreaty, struct player *plr0, struct player *plr1)
 
void gui_init_meeting (struct Treaty *ptreaty, struct player *they, struct player *initiator)
 
void close_all_diplomacy_dialogs (void)
 
static int sdip_window_callback (struct widget *pwindow)
 
static int withdraw_vision_dlg_callback (struct widget *pwidget)
 
static int cancel_pact_dlg_callback (struct widget *pwidget)
 
static int call_meeting_dlg_callback (struct widget *pwidget)
 
static int cancel_sdip_dlg_callback (struct widget *pwidget)
 
static void popup_war_dialog (struct player *pplayer)
 
void popup_diplomacy_dialog (struct player *pplayer)
 

Variables

static struct dialog_list * dialog_list
 
static struct small_dialogspy_dlg = NULL
 

Macro Definition Documentation

◆ dialog_list_iterate

#define dialog_list_iterate (   dialoglist,
  pdialog 
)     TYPED_LIST_ITERATE(struct diplomacy_dialog, dialoglist, pdialog)

Definition at line 64 of file diplodlg.c.

◆ dialog_list_iterate_end

#define dialog_list_iterate_end   LIST_ITERATE_END

Definition at line 66 of file diplodlg.c.

◆ SPECLIST_TAG

#define SPECLIST_TAG   dialog

Definition at line 60 of file diplodlg.c.

◆ SPECLIST_TYPE

#define SPECLIST_TYPE   struct diplomacy_dialog

Definition at line 61 of file diplodlg.c.

Function Documentation

◆ accept_treaty_callback()

static int accept_treaty_callback ( struct widget pwidget)
static

User interacted with accept treaty -widget.

Definition at line 242 of file diplodlg.c.

Referenced by update_diplomacy_dialog().

◆ call_meeting_dlg_callback()

static int call_meeting_dlg_callback ( struct widget pwidget)
static

User interacted with call meeting -widget.

Definition at line 1413 of file diplodlg.c.

Referenced by popup_diplomacy_dialog().

◆ cancel_meeting_callback()

static int cancel_meeting_callback ( struct widget pwidget)
static

User interacted with cancel meeting -widget.

Definition at line 229 of file diplodlg.c.

Referenced by update_diplomacy_dialog().

◆ cancel_pact_dlg_callback()

static int cancel_pact_dlg_callback ( struct widget pwidget)
static

User interacted with cancel pact -widget.

Definition at line 1396 of file diplodlg.c.

Referenced by popup_diplomacy_dialog(), and popup_war_dialog().

◆ cancel_sdip_dlg_callback()

static int cancel_sdip_dlg_callback ( struct widget pwidget)
static

User interacted with cancel small diplomacy dialog -widget.

Definition at line 1432 of file diplodlg.c.

Referenced by popup_diplomacy_dialog(), and popup_war_dialog().

◆ cities_callback()

static int cities_callback ( struct widget pwidget)
static

User interacted with city -widget.

Definition at line 450 of file diplodlg.c.

Referenced by popup_diplomatic_objects().

◆ close_all_diplomacy_dialogs()

void close_all_diplomacy_dialogs ( void  )

Close all open diplomacy dialogs, for when client disconnects from game.

Definition at line 1341 of file diplodlg.c.

◆ create_diplomacy_dialog()

static struct diplomacy_dialog * create_diplomacy_dialog ( struct Treaty ptreaty,
struct player plr0,
struct player plr1 
)
static

Open new diplomacy dialog between players.

Definition at line 913 of file diplodlg.c.

◆ diplomacy_dialog_done()

void diplomacy_dialog_done ( void  )

Free resources allocated for diplomacy dialog system.

Definition at line 91 of file diplodlg.c.

◆ diplomacy_dialog_init()

void diplomacy_dialog_init ( void  )

Initialialize diplomacy dialog system.

Definition at line 83 of file diplodlg.c.

◆ dipomatic_window_callback()

static int dipomatic_window_callback ( struct widget pwindow)
static

User interacted with Diplomacy meeting -window.

Definition at line 472 of file diplodlg.c.

Referenced by popup_diplomatic_objects(), and update_diplomacy_dialog().

◆ embassy_callback()

static int embassy_callback ( struct widget pwidget)
static

User interacted with Embassy -widget.

Definition at line 312 of file diplodlg.c.

Referenced by popup_diplomatic_objects().

◆ get_diplomacy_dialog()

static struct diplomacy_dialog * get_diplomacy_dialog ( struct player they)
static

◆ gold_callback()

static int gold_callback ( struct widget pwidget)
static

User interacted with gold -widget.

Definition at line 407 of file diplodlg.c.

Referenced by popup_diplomatic_objects().

◆ gui_init_meeting()

void gui_init_meeting ( struct Treaty ptreaty,
struct player they,
struct player initiator 
)

Handle the start of a diplomacy meeting - usually by popping up a diplomacy dialog.

Definition at line 1277 of file diplodlg.c.

◆ gui_prepare_clause_updt()

void gui_prepare_clause_updt ( struct Treaty ptreaty,
struct player they 
)

Prepare to clause creation or removal.

Definition at line 174 of file diplodlg.c.

◆ gui_recv_accept_treaty()

void gui_recv_accept_treaty ( struct Treaty ptreaty,
struct player they 
)

Update a player's acceptance status of a treaty (traditionally shown with the thumbs-up/thumbs-down sprite).

Definition at line 117 of file diplodlg.c.

◆ gui_recv_cancel_meeting()

void gui_recv_cancel_meeting ( struct Treaty ptreaty,
struct player they,
struct player initiator 
)

Update the diplomacy dialog when the meeting is canceled (the dialog should be closed).

Definition at line 134 of file diplodlg.c.

◆ gui_recv_create_clause()

void gui_recv_create_clause ( struct Treaty ptreaty,
struct player they 
)

Update the diplomacy dialog by adding a clause.

Definition at line 195 of file diplodlg.c.

◆ gui_recv_remove_clause()

void gui_recv_remove_clause ( struct Treaty ptreaty,
struct player they 
)

Update the diplomacy dialog by removing a clause.

Definition at line 212 of file diplodlg.c.

◆ maps_callback()

static int maps_callback ( struct widget pwidget)
static

User interacted with map -widget.

Definition at line 354 of file diplodlg.c.

Referenced by popup_diplomatic_objects().

◆ pact_callback()

static int pact_callback ( struct widget pwidget)
static

User interacted with pact selection -widget.

Definition at line 257 of file diplodlg.c.

Referenced by popup_diplomatic_objects().

◆ popdown_diplomacy_dialog()

static void popdown_diplomacy_dialog ( struct diplomacy_dialog pdialog)
static

Close diplomacy dialog between client user and given counterpart.

Definition at line 1304 of file diplodlg.c.

Referenced by gui_recv_cancel_meeting(), and popdown_diplomacy_dialogs().

◆ popdown_diplomacy_dialogs()

static void popdown_diplomacy_dialogs ( void  )
static

Popdown all diplomacy dialogs

Definition at line 1329 of file diplodlg.c.

Referenced by close_all_diplomacy_dialogs().

◆ popdown_sdip_dialog()

static void popdown_sdip_dialog ( void  )
static

◆ popup_diplomacy_dialog()

void popup_diplomacy_dialog ( struct player pplayer)

Open diplomacy dialog between client user and given player.

Definition at line 1564 of file diplodlg.c.

◆ popup_diplomatic_objects()

static struct advanced_dialog * popup_diplomatic_objects ( struct player pplayer0,
struct player pplayer1,
struct widget main_window,
bool  L_R 
)
static

Create treaty widgets. Pact (that will always be both ways) related widgets are created only when pplayer0 is client user.

Definition at line 481 of file diplodlg.c.

Referenced by update_diplomacy_dialog().

◆ popup_war_dialog()

static void popup_war_dialog ( struct player pplayer)
static

Open war declaring dialog after some incident caused by pplayer.

Definition at line 1445 of file diplodlg.c.

Referenced by popup_diplomacy_dialog().

◆ remove_clause_callback()

static int remove_clause_callback ( struct widget pwidget)
static

User interacted with remove clause -widget.

Definition at line 151 of file diplodlg.c.

Referenced by update_clauses_list().

◆ remove_clause_widget_from_list()

static void remove_clause_widget_from_list ( struct player they,
struct player giver,
enum clause_type  type,
int  value 
)
static

Remove widget related to clause from list of widgets.

Definition at line 1219 of file diplodlg.c.

Referenced by gui_prepare_clause_updt().

◆ sdip_window_callback()

static int sdip_window_callback ( struct widget pwindow)
static

User interacted with small diplomacy window.

Definition at line 1367 of file diplodlg.c.

Referenced by popup_diplomacy_dialog(), and popup_war_dialog().

◆ shared_tiles_callback()

static int shared_tiles_callback ( struct widget pwidget)
static

User interacted with Shared Tiles -widget.

Definition at line 333 of file diplodlg.c.

Referenced by popup_diplomatic_objects().

◆ techs_callback()

static int techs_callback ( struct widget pwidget)
static

User interacted with tech -widget.

Definition at line 385 of file diplodlg.c.

Referenced by popup_diplomatic_objects().

◆ update_acceptance_icons()

static void update_acceptance_icons ( struct diplomacy_dialog pdialog)
static

Update treaty acceptance icons (accepted / rejected)

Definition at line 1109 of file diplodlg.c.

Referenced by gui_recv_accept_treaty(), gui_recv_create_clause(), and gui_recv_remove_clause().

◆ update_clauses_list()

static void update_clauses_list ( struct diplomacy_dialog pdialog)
static

Refresh diplomacy dialog when list of clauses has been changed.

Definition at line 1156 of file diplodlg.c.

Referenced by gui_recv_create_clause(), and gui_recv_remove_clause().

◆ update_diplomacy_dialog()

static void update_diplomacy_dialog ( struct diplomacy_dialog pdialog)
static

Update diplomacy dialog information.

Definition at line 931 of file diplodlg.c.

◆ vision_callback()

static int vision_callback ( struct widget pwidget)
static

User interacted with shared vision -widget.

Definition at line 291 of file diplodlg.c.

Referenced by popup_diplomatic_objects().

◆ withdraw_vision_dlg_callback()

static int withdraw_vision_dlg_callback ( struct widget pwidget)
static

User interacted with withdraw vision -widget.

Definition at line 1379 of file diplodlg.c.

Referenced by popup_diplomacy_dialog().

Variable Documentation

◆ dialog_list

struct dialog_list* dialog_list
static

Definition at line 68 of file diplodlg.c.

◆ spy_dlg

struct small_dialog* spy_dlg = NULL
static