Freeciv21
Develop your civilization from humble roots to a global empire
texaiplayer.h File Reference
#include <QMutex>
#include <QWaitCondition>
#include "fcthread.h"
#include "player.h"
#include "aidata.h"
#include "texaimsg.h"
+ Include dependency graph for texaiplayer.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  texai_msgs
 
struct  texai_reqs
 
struct  texai_plr
 

Functions

struct ai_typetexai_get_self (void)
 Get pointer to ai type of the tex ai. More...
 
void texai_init_threading (void)
 Initialize ai thread. More...
 
bool texai_thread_running (void)
 Return whether player thread is running. More...
 
void texai_map_alloc (void)
 Main map has been allocated. More...
 
void texai_whole_map_copy (void)
 Send all tiles to tex thread. More...
 
void texai_map_free (void)
 Main map has been freed. More...
 
void texai_player_alloc (struct ai_type *ait, struct player *pplayer)
 Initialize player for use with tex AI. More...
 
void texai_player_free (struct ai_type *ait, struct player *pplayer)
 Free player from use with tex AI. More...
 
void texai_control_gained (struct ai_type *ait, struct player *pplayer)
 We actually control the player. More...
 
void texai_control_lost (struct ai_type *ait, struct player *pplayer)
 We no longer control the player. More...
 
void texai_refresh (struct ai_type *ait, struct player *pplayer)
 Check for messages sent by player thread. More...
 
void texai_msg_to_thr (struct texai_msg *msg)
 Send message to thread. More...
 
void texai_req_from_thr (struct texai_req *req)
 Thread sends message. More...
 
static struct texai_plrtexai_player_data (struct ai_type *ait, const struct player *pplayer)
 
struct unit_list * texai_player_units (struct player *pplayer)
 Callback that returns unit list from player tex ai data. More...
 

Function Documentation

◆ texai_control_gained()

void texai_control_gained ( struct ai_type ait,
struct player pplayer 
)

We actually control the player.

Definition at line 298 of file texaiplayer.c.

Referenced by texwai_control_gained().

◆ texai_control_lost()

void texai_control_lost ( struct ai_type ait,
struct player pplayer 
)

We no longer control the player.

Definition at line 332 of file texaiplayer.c.

Referenced by texwai_control_lost().

◆ texai_get_self()

struct ai_type* texai_get_self ( void  )

Get pointer to ai type of the tex ai.

Definition at line 58 of file texai.c.

Referenced by texai_check_messages(), texai_unit_destruction_recv(), and texai_unit_info_recv().

◆ texai_init_threading()

void texai_init_threading ( void  )

Initialize ai thread.

Definition at line 68 of file texaiplayer.c.

Referenced by texai_init_self().

◆ texai_map_alloc()

void texai_map_alloc ( void  )

Main map has been allocated.

Definition at line 109 of file texaiplayer.c.

Referenced by fc_ai_tex_setup().

◆ texai_map_free()

void texai_map_free ( void  )

Main map has been freed.

Definition at line 131 of file texaiplayer.c.

Referenced by fc_ai_tex_setup().

◆ texai_msg_to_thr()

void texai_msg_to_thr ( struct texai_msg msg)

Send message to thread.

Be sure that thread is running so that messages are not just piling up to the list without anybody reading them.

Definition at line 403 of file texaiplayer.c.

Referenced by texai_send_msg().

◆ texai_player_alloc()

void texai_player_alloc ( struct ai_type ait,
struct player pplayer 
)

Initialize player for use with tex AI.

Definition at line 265 of file texaiplayer.c.

Referenced by texwai_player_alloc().

◆ texai_player_data()

static struct texai_plr* texai_player_data ( struct ai_type ait,
const struct player pplayer 
)
inlinestatic

Definition at line 66 of file texaiplayer.h.

◆ texai_player_free()

void texai_player_free ( struct ai_type ait,
struct player pplayer 
)

Free player from use with tex AI.

Definition at line 280 of file texaiplayer.c.

Referenced by texwai_player_free().

◆ texai_player_units()

struct unit_list* texai_player_units ( struct player pplayer)

Callback that returns unit list from player tex ai data.

Definition at line 141 of file texaiplayer.c.

Referenced by texai_city_worker_task_select().

◆ texai_refresh()

void texai_refresh ( struct ai_type ait,
struct player pplayer 
)

Check for messages sent by player thread.

Definition at line 355 of file texaiplayer.c.

Referenced by texwai_refresh().

◆ texai_req_from_thr()

void texai_req_from_thr ( struct texai_req req)

Thread sends message.

Definition at line 414 of file texaiplayer.c.

Referenced by texai_send_req().

◆ texai_thread_running()

bool texai_thread_running ( void  )

Return whether player thread is running.

Definition at line 424 of file texaiplayer.c.

Referenced by texai_city_destroyed(), texai_city_update(), texai_send_msg(), texai_tile_info(), texai_unit_destroyed(), texai_unit_move_seen(), and texai_unit_update().

◆ texai_whole_map_copy()

void texai_whole_map_copy ( void  )

Send all tiles to tex thread.

Definition at line 117 of file texaiplayer.c.

Referenced by fc_ai_tex_setup().