Freeciv-3.3
Loading...
Searching...
No Matches
Data Structures | Macros | Functions | Variables
diplodlg.c File Reference
#include <SDL3/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 60 of file diplodlg.c.

◆ dialog_list_iterate_end

#define dialog_list_iterate_end   LIST_ITERATE_END

Definition at line 62 of file diplodlg.c.

◆ SPECLIST_TAG

#define SPECLIST_TAG   dialog

Definition at line 56 of file diplodlg.c.

◆ SPECLIST_TYPE

#define SPECLIST_TYPE   struct diplomacy_dialog

Definition at line 57 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 238 of file diplodlg.c.

◆ call_meeting_dlg_callback()

static int call_meeting_dlg_callback ( struct widget pwidget)
static

User interacted with call meeting -widget.

Definition at line 1409 of file diplodlg.c.

◆ cancel_meeting_callback()

static int cancel_meeting_callback ( struct widget pwidget)
static

User interacted with cancel meeting -widget.

Definition at line 225 of file diplodlg.c.

◆ cancel_pact_dlg_callback()

static int cancel_pact_dlg_callback ( struct widget pwidget)
static

User interacted with cancel pact -widget.

Definition at line 1392 of file diplodlg.c.

◆ 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 1428 of file diplodlg.c.

◆ cities_callback()

static int cities_callback ( struct widget pwidget)
static

User interacted with city -widget.

Definition at line 446 of file diplodlg.c.

◆ close_all_diplomacy_dialogs()

void close_all_diplomacy_dialogs ( void  )

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

Definition at line 1337 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 909 of file diplodlg.c.

◆ diplomacy_dialog_done()

void diplomacy_dialog_done ( void  )

Free resources allocated for diplomacy dialog system.

Definition at line 87 of file diplodlg.c.

◆ diplomacy_dialog_init()

void diplomacy_dialog_init ( void  )

Initialialize diplomacy dialog system.

Definition at line 79 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 468 of file diplodlg.c.

◆ embassy_callback()

static int embassy_callback ( struct widget pwidget)
static

User interacted with Embassy -widget.

Definition at line 308 of file diplodlg.c.

◆ get_diplomacy_dialog()

static struct diplomacy_dialog * get_diplomacy_dialog ( struct player they)
static

Get diplomacy dialog between client user and other player.

Definition at line 95 of file diplodlg.c.

◆ gold_callback()

static int gold_callback ( struct widget pwidget)
static

User interacted with gold -widget.

Definition at line 403 of file diplodlg.c.

◆ 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 1273 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 170 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 113 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 130 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 191 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 208 of file diplodlg.c.

◆ maps_callback()

static int maps_callback ( struct widget pwidget)
static

User interacted with map -widget.

Definition at line 350 of file diplodlg.c.

◆ pact_callback()

static int pact_callback ( struct widget pwidget)
static

User interacted with pact selection -widget.

Definition at line 253 of file diplodlg.c.

◆ 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 1300 of file diplodlg.c.

◆ popdown_diplomacy_dialogs()

static void popdown_diplomacy_dialogs ( void  )
static

Popdown all diplomacy dialogs

Definition at line 1325 of file diplodlg.c.

◆ popdown_sdip_dialog()

static void popdown_sdip_dialog ( void  )
static

Close small diplomacy dialog.

Definition at line 1351 of file diplodlg.c.

◆ popup_diplomacy_dialog()

void popup_diplomacy_dialog ( struct player pplayer)

Open diplomacy dialog between client user and given player.

Definition at line 1560 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 477 of file diplodlg.c.

◆ 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 1441 of file diplodlg.c.

◆ remove_clause_callback()

static int remove_clause_callback ( struct widget pwidget)
static

User interacted with remove clause -widget.

Definition at line 147 of file diplodlg.c.

◆ 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 1215 of file diplodlg.c.

◆ sdip_window_callback()

static int sdip_window_callback ( struct widget pwindow)
static

User interacted with small diplomacy window.

Definition at line 1363 of file diplodlg.c.

◆ shared_tiles_callback()

static int shared_tiles_callback ( struct widget pwidget)
static

User interacted with Shared Tiles -widget.

Definition at line 329 of file diplodlg.c.

◆ techs_callback()

static int techs_callback ( struct widget pwidget)
static

User interacted with tech -widget.

Definition at line 381 of file diplodlg.c.

◆ update_acceptance_icons()

static void update_acceptance_icons ( struct diplomacy_dialog pdialog)
static

Update treaty acceptance icons (accepted / rejected)

Definition at line 1105 of file diplodlg.c.

◆ 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 1152 of file diplodlg.c.

◆ update_diplomacy_dialog()

static void update_diplomacy_dialog ( struct diplomacy_dialog pdialog)
static

Update diplomacy dialog information.

Definition at line 927 of file diplodlg.c.

◆ vision_callback()

static int vision_callback ( struct widget pwidget)
static

User interacted with shared vision -widget.

Definition at line 287 of file diplodlg.c.

◆ withdraw_vision_dlg_callback()

static int withdraw_vision_dlg_callback ( struct widget pwidget)
static

User interacted with withdraw vision -widget.

Definition at line 1375 of file diplodlg.c.

Variable Documentation

◆ dialog_list

struct dialog_list* dialog_list
static

Definition at line 64 of file diplodlg.c.

◆ spy_dlg

struct small_dialog* spy_dlg = NULL
static

Definition at line 1346 of file diplodlg.c.