Freeciv-3.1: /fast/freeciv/nightly/S3_1/ai/tex/texaiplayer.c File Reference

Freeciv-3.1

Loading...
Searching...
No Matches
Data Structures | Enumerations | Functions | Variables
texaiplayer.c File Reference
`#include "log.h"`
`#include "ai.h"`
`#include "city.h"`
`#include "game.h"`
`#include "map.h"`
`#include "unit.h"`
`#include "advchoice.h"`
`#include "infracache.h"`
`#include "aiplayer.h"`
`#include "daimilitary.h"`
`#include "texaicity.h"`
`#include "texaiworld.h"`
`#include "texaiplayer.h"`

Go to the source code of this file.

## Data Structures

struct | texai_thr
struct | texai_build_choice_req

## Enumerations

enum | texai_abort_msg_class { TEXAI_ABORT_EXIT , TEXAI_ABORT_PHASE_END , TEXAI_ABORT_NONE }

## Functions

static enum texai_abort_msg_class | texai_check_messages (struct ai_type *ait)
void | texai_init_threading (void)
static void | texai_thread_start (void *arg)
void | texai_map_alloc (void)
void | texai_whole_map_copy (void)
static void | texai_map_alloc_recv (void)
void | texai_map_free (void)
static void | texai_map_free_recv (void)
struct unit_list * | texai_player_units (struct player *pplayer)
void | texai_player_alloc (struct ai_type *ait, struct player *pplayer)
void | texai_player_free (struct ai_type *ait, struct player *pplayer)
void | texai_control_gained (struct ai_type *ait, struct player *pplayer)
void | texai_control_lost (struct ai_type *ait, struct player *pplayer)
void | texai_refresh (struct ai_type *ait, struct player *pplayer)
void | texai_msg_to_thr (struct texai_msg *msg)
void | texai_req_from_thr (struct texai_req *req)
bool | texai_thread_running (void)

## Variables

struct texai_thr | exthrai

## Enumeration Type Documentation

## ◆ texai_abort_msg_class

enum texai_abort_msg_class

Enumerator
TEXAI_ABORT_EXIT |
TEXAI_ABORT_PHASE_END |
TEXAI_ABORT_NONE |

Definition at line 46 of file texaiplayer.c.

## Function Documentation

## ◆ texai_check_messages()

static enum texai_abort_msg_class texai_check_messages | ( | struct ai_type * | ait | ) |

static

Handle messages from message queue.

Definition at line 166 of file texaiplayer.c.

Referenced by texai_check_messages(), and texai_thread_start().

## ◆ texai_control_gained()

void texai_control_gained | ( | struct ai_type * | ait,
|  | struct player * | pplayer
| ) |  |

We actually control the player

Definition at line 312 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 343 of file texaiplayer.c.

Referenced by texwai_control_lost().

## ◆ texai_init_threading()

void texai_init_threading | ( | void |  | ) |

Initialize ai thread.

Definition at line 73 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 114 of file texaiplayer.c.

Referenced by fc_ai_tex_setup().

## ◆ texai_map_alloc_recv()

static void texai_map_alloc_recv | ( | void |  | ) |

static

Map allocation message received

Definition at line 132 of file texaiplayer.c.

Referenced by texai_check_messages().

## ◆ texai_map_free()

void texai_map_free | ( | void |  | ) |

Main map has been freed

Definition at line 140 of file texaiplayer.c.

Referenced by fc_ai_tex_setup().

## ◆ texai_map_free_recv()

static void texai_map_free_recv | ( | void |  | ) |

static

Map free message received

Definition at line 148 of file texaiplayer.c.

Referenced by texai_check_messages().

## ◆ 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 414 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 278 of file texaiplayer.c.

Referenced by texwai_player_alloc().

## ◆ texai_player_free()

void texai_player_free | ( | struct ai_type * | ait,
|  | struct player * | pplayer
| ) |  |

Free player from use with tex AI.

Definition at line 294 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 156 of file texaiplayer.c.

Referenced by texai_check_messages(), and 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 366 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 425 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 435 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_thread_start()

static void texai_thread_start | ( | void * | arg | ) |

static

This is main function of ai thread.

Definition at line 83 of file texaiplayer.c.

Referenced by texai_control_gained().

## ◆ texai_whole_map_copy()

void texai_whole_map_copy | ( | void |  | ) |

Send all tiles to tex thread

Definition at line 122 of file texaiplayer.c.

Referenced by fc_ai_tex_setup().

## Variable Documentation

## ◆ exthrai

struct texai_thr exthrai

Referenced by texai_check_messages(), texai_control_gained(), texai_control_lost(), texai_init_threading(), texai_msg_to_thr(), texai_refresh(), texai_req_from_thr(), texai_thread_running(), and texai_thread_start().