Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

conq.h File Reference

Main include file for Xconq. More...

#include "config.h"
#include "parambox.h"
#include "misc.h"
#include "dir.h"
#include "lisp.h"
#include "module.h"
#include "game.h"
#include "player.h"
#include "side.h"
#include "unit.h"
#include "world.h"
#include "history.h"
#include "score.h"
#include "help.h"
#include "tp.h"
#include "system.h"

Include dependency graph for conq.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace  Xconq

Defines

#define UPDATE_ALWAYS   1
#define UPDATE_ADJ   2
#define UPDATE_COVER   4
#define UPDATE_TEMP   8
#define UPDATE_CLOUDS   16
#define UPDATE_WINDS   32
#define ADD_TO_AGENDA_AS_LIFO   0
 Push onto the top of the task agenda.

#define ADD_TO_AGENDA_AS_FIFO   1
 Enqueue at the end of the task agenda.

#define CLEAR_AGENDA   99
 Clear task agenda, and set as new agenda item.

#define ACTM_CANNOT_TOOLUP   0x1
 Cannot toolup for any?

#define ACTM_CANNOT_CREATE   0x2
 Cannot create any?

#define ACTM_CANNOT_BUILD   0x4
 Cannot build upon any?

#define ACTM_CANNOT_REPAIR   0x8
 Cannot repair any?

#define MReq_AGENT_TREASURY   1
 Use agent's side's treasury rather than actor's side's treasury.

#define HIT_METHOD_NONE   0x0
 Do not hit via any method?

#define HIT_METHOD_ATTACK   0x1
 Hit via attack?

#define HIT_METHOD_FIRE   0x2
 Hit via fire?

#define HIT_METHOD_DETONATE   0x4
 Hit via detonation?

#define HIT_METHOD_TRANSPORT   0x8
 Hit via transport?

#define HIT_METHOD_OCCUPANT   0x10
 Hit via occupants?

#define HIT_METHOD_ANY
 Hit via any method?

#define HIT_TRIES_DFLT   3
 Default number of times ot run 'hit-unit' task.

#define CAPTURE_METHOD_NONE   0x0
 Do not capture via any method?

#define CAPTURE_METHOD_CAPTURE   0x1
 Capture via direct capture?

#define CAPTURE_METHOD_ATTACK   0x2
 Capture via attack?

#define CAPTURE_METHOD_FIRE   0x4
 Capture via adjacent fire?

#define CAPTURE_METHOD_DETONATE   0x8
 Capture via detonation?

#define CAPTURE_METHOD_TRANSPORT   0x16
 Capture via transport?

#define CAPTURE_METHOD_OCCUPANT   0x32
 Capture via occupants?

#define CAPTURE_METHOD_ANY
 Capture via any method?

#define CAPTURE_TRIES_DFLT   3
 Default number of times ot run 'capture' task.


Enumerations

enum  setup_stage {
  initial_stage, game_load_stage, variant_setup_stage, player_pre_setup_stage,
  player_setup_stage, game_ready_stage
}
 Game setup stages. More...


Functions

void announce_read_progress (void)
void announce_lengthy_process (char *msg)
void announce_progress (int pctdone)
void finish_lengthy_process (void)
Player * add_default_player (void)
UnitVector * get_selected_units (Side *side)
void init_ui (Side *side)
int active_display (Side *side)
void run_ui_idler (void)
void update_turn_display (Side *side, int rightnow)
void update_area_display (Side *side)
void update_action_display (Side *side, int rightnow)
void update_action_result_display (Side *side, Unit *unit, int rslt, int rightnow)
void update_event_display (Side *side, HistEvent *hevt, int rightnow)
void update_fire_at_display (Side *side, Unit *unit, Unit *unit2, int m, int rightnow)
void update_fire_into_display (Side *side, Unit *unit, int x, int y, int z, int m, int rightnow)
void update_clock_display (Side *side, int rightnow)
void update_side_display (Side *side, Side *side2, int rightnow)
void update_unit_display (Side *side, Unit *unit, int rightnow)
void update_unit_acp_display (Side *side, Unit *unit, int rightnow)
void update_message_display (Side *side, Side *side2, char *str, int rightnow)
void update_cell_display (Side *side, int x, int y, int flags)
void update_all_progress_displays (char *str, int s)
void update_research_display (Side *side)
void update_everything (void)
void flush_display_buffers (Side *side)
int schedule_movie (Side *side, char *movie,...)
void play_movies (SideMask sidemask)
void action_point (Side *side, int x, int y)
void notify_all (char *str,...)
void notify (Side *side, char *str,...)
void vnotify (Side *side, char *fmt, va_list ap)
void cmd_error (Side *side, char *fmt,...)
void low_notify (Side *side, char *str)
void init_warning (char *str,...)
void low_init_warning (char *str)
void init_error (char *str,...)
void low_init_error (char *str)
void run_warning (char *str,...)
void low_run_warning (char *str)
void run_error (char *str,...)
void low_run_error (char *str)
void print_form (Obj *form)
void end_printing_forms (void)
void unit_research_dialog (Unit *unit)
void place_legends (Side *side)
void init_actions (void)
 Action Initialization.

int transfer_supply (Unit *from, Unit *to, int m, int amount)
 Transfer Supply.

void garrison_unit (Unit *unit, Unit *unit2)
 Garrison Unit.

void make_unit_complete (Unit *unit)
 Complete Unit.

int execute_action (Unit *unit, Action *action)
int can_have_enough_acp (Unit *unit, int acp)
int type_can_have_enough_acp (int u, int acp)
int has_enough_acp (Unit *unit, int acp)
int could_take_from_treasury (int u, int m)
 Could u take m from treasury, assuming side has treasury?

int could_take_from_treasury (int u, Side *side, int m)
 Could u on a given side take m from treasury?

int could_take_directly_from_treasury (int u, int m)
 Could u take m directly from treasury, assuming side has treasury?

int could_take_directly_from_treasury (int u, Side *side, int m)
 Could u on a given side take m directly from treasury?

int could_give_to_treasury (int u, int m)
 Could u give m to treasury, assuming side has treasury?

int could_give_to_treasury (int u, Side *side, int m)
 Could u on a given side give m to treasury?

int could_give_directly_to_treasury (int u, int m)
 Could u give m directly to treasury, assuming side has treasury?

int could_give_directly_to_treasury (int u, Side *side, int m)
 Could u on a given side give m directly to treasury?

void get_materials_availability (Unit *actor, Unit *agent, long *p_mavail, long *p_mavailmax, int flags=0)
 What are current and max materials availabilities for an actor-agent pair?

int can_meet_materials_requirement (long *p_mreq, long *p_mavail, long *p_mavailmax)
 Is materials requirement satisfied by availabilities?

void consume_materials (Unit *actor, Unit *consumer, int(*getter)(int u, int m), int u3=NONUTYPE, int mult=1)
 Consume materials of a given unit with a given consumption getter.

void consume_materials (Unit *actor, Unit *consumer, long *p_mreq)
 Consume materials of a given unit according to given consumption vector.

int has_supply_to_act (Unit *unit)
 Does unit has enough of each material needed to act?

void use_up_acp (Unit *unit, int acp)
 Make the consumed acp disappear, but not go below the minimum possible.

int construction_possible (int u2)
int any_construction_possible (void)
int storage_possible (int m)
int any_storage_possible (void)
char * action_desig (Action *act)
int type_max_night_acp_from_any_terrains (int u)
int type_max_acp_from_any_occs (int u)
int type_max_acp (int u)
int type_max_speed_from_any_occs (int u)
int type_max_speed (int u)
int can_act (Unit *actor, Unit *agent)
int has_enough_tooling (Unit *constructor, int u2)
 Does the constructor have enough tooling to construct u2?

int could_toolup_for (int u, int u2)
 Could u toolup for u2?

int could_toolup_for_any (int u)
 Could u toolup for any utype?

int can_toolup_for (Unit *actor, Unit *constructor, int u3)
 Can given actor-constructor pair toolup for given utype?

int could_create (int u, int u2)
 Could u create u2?

int could_create_any (int u)
 Could u create any utype?

int can_create_common (Unit *actor, Unit *creator, int u3, int x, int y, int could=0, int acpcost_spcl=-1, long *p_mreq_spcl=NULL)
 Can given actor-creator pair create given utype?

int could_build (int u, int u2)
 Could u build u2?

int could_build_any (int u)
 Could u build any utype?

int can_build (Unit *actor, Unit *builder, int u3)
 Can given actor-builder pair build on a given utype?

int can_build (Unit *actor, Unit *builder, Unit *buildee, int could=0, int acpcost_spcl=-1, long *p_mreq_spcl=NULL)
 Can given actor-builder pair build on a given unit?

int could_auto_repair (int u, int u2)
 Could u auto-repair u2?

int can_auto_repair (Unit *repairer, Unit *repairee)
 Can given repairer auto-repair given repairee?

int could_repair (int u, int u2)
 Could u explicitly repair u2?

int can_repair (Unit *actor, Unit *repairer, int u3)
 Can given actor-repairer pair explicitly repair given utype?

int can_repair (Unit *actor, Unit *repairer, Unit *repairee)
 Can given repairer explicitly repair given repairee?

int can_change_type_to (int u, int u2, Side *side)
int can_change_type_to (Unit *actor, Unit *morpher, int u3)
 Can given unit change into given utype?

int should_play_movies (void)
 Should action movies be played?

void init_ai (Side *side)
void init_ai_types (void)
void ai_init_shared (void)
int find_ai_type (char *aitype)
void set_side_ai (Side *side, char *aitype)
int run_local_ai (int when, int maxplanning)
char * ai_type_name (int n)
char * next_ai_type_name (char *aitype)
char * ai_type_help (int n)
void ai_react_to_new_side (Side *side, Side *side2)
void ai_receive_message (Side *side, Side *sender, char *str)
void ai_save_state (Side *side)
int ai_region_at (Side *side, int x, int y)
char * ai_at_desig (Side *side, int x, int y)
Goal * create_goal (GoalType type, Side *side, int tf)
char * goal_desig (Goal *goal)
void ai_pick_side_research (Side *side)
int fire_hit_chance (int u, int u2)
 Chance that u will hit u2 by firing.

int fire_damage (int u, int u2)
 Damage that u does to u2 by firing.

int indep_capture_chance (int u, int u2)
 Chance for u to capture independent u2.

int capture_chance (int u, int u2, Side *side2)
 Chance for u to capture u2 on a give side.

int could_fire_at (int u, int u2)
 Could u fire at u2?

int could_fire_at_any (int u)
 Could u fire at >= 1 utypes?

int fire_range (int u, int u2)
 Maximum fire range of u against u2.

int fire_range_best (int u, int u2)
 Best fire range of u against u2.

int fire_range_max (int u)
 Maximum fire range of u.

int can_fire (Unit *acpsrc, Unit *firer)
 Can a given unit fire?

int can_fire_at (Unit *acpsrc, Unit *firer, int u)
 Can a given unit fire at a given utype?

int can_fire_at_any (Unit *actor, Unit *firer)
 Can a given unit fire at >= 1 enemy utypes?

int could_attack (int u, int u2)
 Could u hit u2 by attacks?

int could_attack_any (int u)
 Could the given utype attack >= 1 utypes?

int attack_range (int u, int u2)
 Attack range of u against u2.

int attack_range_max (int u)
 Maximum attack range of u.

int can_attack (Unit *actor, Unit *attacker, int u3)
 Can a given unit attack a given utype?

int can_attack_any (Unit *actor, Unit *attacker)
 Can a given unit attack >= 1 enemy utypes?

int could_detonate (int u)
 Could u detonate?

int could_damage_by_0dist_detonation (int u, int u2)
 Could u damage u2 by a detonation in same cell?

int could_damage_by_ranged_detonation (int u, int u2)
 Could u damage u2 by a detonation at range?

int could_damage_by_detonation (int u, int u2)
 Could u damage u2 by a detonation?

int detonate_urange (int u, int u2)
 Blast radius of detonation from u against u2.

int detonate_urange_max (int u)
 Max blast radius of detonation from u.

int detonate_urange_max (void)
 Max blast radius of detonation from any utype.

int can_detonate (Unit *acpsrc, Unit *detonator)
 Can given unit detonate?

int could_hit (int u, int u2)
 Could u hit u2 by any method?

int hit_range (int u, int u2)
 Hit range of u against u2.

int hit_range_max (int u)
 Maximum hit range of u.

int hit_range_max (void)
 Maximum hit range of all utypes.

int could_capture_by_fire (int u, int u2, Side *oside)
 Could u capture u2 by fire?

int could_capture_by_attacks (int u, int u2, Side *oside)
 Could u capture u2 by attacks?

int could_capture_by_capture (int u, int u2, Side *oside)
 Could u capture u2 by direct capture?

int could_capture (int u, int u2, Side *oside)
 Could u capture u2 by any means?

int could_capture_any (int u)
 Could the given utype capture any utypes by any means?

int direct_capture_range (int u, int u2, Side *side2)
 Direct capture range of u against u2.

int can_capture (Unit *acpsrc, Unit *captor, int u3, Side *eside)
 Can a given unit capture a given utype on a given side?

int defended_by_occupants (Unit *unit)
int occ_can_defend_transport (int o, int t)
int enough_to_garrison (Unit *unit, int defenders)
void init_library_path (char *path)
void add_library_path (char *path)
void init_data_structures (void)
void start_game_load_stage (void)
void start_variant_setup_stage (void)
void start_player_pre_setup_stage (void)
void start_player_setup_stage (void)
void start_game_ready_stage (void)
void check_game_validity (void)
void calculate_globals (void)
void make_trial_assignments (void)
Side * make_up_a_side (void)
int add_side_and_player (void)
int remove_side_and_player (int s)
void run_synth_methods (void)
void final_init (void)
void init_supply (Unit *unit)
void assign_players_to_sides (void)
char * version_string (void)
char * copyright_string (void)
char * license_string (void)
int already_seen_chance (Side *side, Unit *unit)
int get_synth_method_uses (int methkey, int *calls, int *runs)
int indepside_needed (void)
Obj * make_namer (Obj *sym, Obj *meth)
void init_namers (void)
void make_up_side_name (Side *side)
int name_in_use (Side *side, char *str)
int name_units_randomly (int calls, int runs)
char * unit_namer (Unit *unit)
char * propose_unit_name (Unit *unit)
void make_up_unit_name (Unit *unit)
void assign_unit_number (Unit *unit)
char * run_namer (Obj *namer)
int make_rivers (int calls, int runs)
int make_roads (int calls, int runs)
int make_fractal_terrain (int calls, int runs)
int make_random_terrain (int calls, int runs)
int make_earthlike_terrain (int calls, int runs)
int make_maze_terrain (int calls, int runs)
int name_geographical_features (int calls, int runs)
void add_edge_terrain (void)
int make_countries (int calls, int runs)
int make_independent_units (int calls, int runs)
int total_move_cost (int u, int u2, int x1, int y1, int z1, int x2, int y2, int z2)
int zoc_move_cost (Unit *unit, int ox, int oy, int oz)
int zoc_range (Unit *unit, int u2)
int unit_blockable_by (Unit *unit, Unit *unit2)
int sides_allow_entry (Unit *unit, Unit *transport)
int in_blocking_zoc (Unit *unit, int x, int y, int z)
int can_move_at_all (Unit *unit)
int can_move_via_conn (Unit *unit, int nx, int ny)
int unit_speed (Unit *unit, int nx, int ny)
int terrain_always_impassable (int u, int t)
int type_can_move_in_terrain (int u, int t)
int type_can_have_enough_mp (int u, int mp)
int could_move (int uactor, int umover)
 Could uactor move umover?

int can_move (Unit *actor, Unit *mover)
 Can a given unit move?

void init_nlang (void)
char * short_side_title (Side *side)
char * shortest_side_title (Side *side2, char *buf)
char * long_player_title (char *buf, Player *player, char *thisdisplayname)
char * short_player_title (char *buf, Player *player, char *thisdisplayname)
char * simple_player_title (char *buf, Player *player)
char * simple_player_name (char *buf, Player *player)
char * unit_handle (Side *side, Unit *unit)
char * short_unit_handle (Unit *unit)
char * medium_long_unit_handle (Unit *unit)
void name_or_number (Unit *unit, char *buf)
char * apparent_unit_handle (Side *side, Unit *unit, Side *side2)
void construction_desc (char *buf, Unit *unit, int u)
void research_desc (char *buf, Unit *unit, int a)
void researchible_desc (char *buf, Unit *unit, int a)
void constructible_desc (char *buf, Side *side, int u, Unit *unit)
void historical_event_desc (Side *side, HistEvent *hevt, char *buf)
char * action_result_desc (int rslt)
void advance_failure_desc (char *buf, Unit *unit, HistEventType reason)
char * feature_desc (Feature *feature, char *buf)
void size_desc (char *buf, Unit *unit, int label)
void hp_desc (char *buf, Unit *unit, int label)
void acp_desc (char *buf, Unit *unit, int label)
void cxp_desc (char *buf, Unit *unit, int label)
void morale_desc (char *buf, Unit *unit, int label)
void point_value_desc (char *buf, Unit *unit, int label)
void plan_desc (char *buf, Unit *unit)
void task_desc (char *buf, Side *side, Unit *unit, Task *task)
void action_desc (char *buf, Action *action, Unit *unit)
void time_desc (char *buf, int seconds, int maxtime)
void notify_doctrine (Side *side, char *spec)
void report_combat (Unit *unit, Unit *atker, char *str)
void report_give (Side *side, Unit *unit, Unit *unit2, short *rslts)
void report_take (Side *side, Unit *unit, int needed, short *rslts)
char * ordinal_suffix (int n)
char * plural_form (char *word)
char * capitalize (char *buf)
char * all_capitals (char *buf)
char * absolute_date_string (int date)
void write_unit_record (FILE *fp, Side *side)
void write_side_results (FILE *fp, Side *side)
void write_combat_results (FILE *fp, Side *side)
void record_missing_image (int typtyp, char *str)
int missing_images (char *buf)
void notify_all_of_resignation (Side *side, Side *side2)
int short_side_title_plural_p (Side *side)
char * side_score_desc (char *buf, Side *side, Scorekeeper *sk)
void location_desc (char *buf, Side *side, Unit *unit, int u, int x, int y)
void destination_desc (char *buf, Side *side, Unit *unit, int x, int y, int z)
int supply_desc (char *buf, Unit *unit, int mrow)
int tooling_desc (char *buf, Unit *unit)
char * sidemask_desc (char *buf, SideMask sidemask)
void latlong_desc (char *buf, int x, int y, int xf, int yf, int which)
void others_here_desc (char *buf, Unit *unit)
void occupants_desc (char *buf, Unit *unit)
void set_initial_date (char *str)
int find_event_type (Obj *sym)
int pattern_matches_event (Obj *pattern, HistEvent *hevt)
void event_desc_from_list (Side *side, Obj *lis, HistEvent *hevt, char *buf)
int turns_between (char *str1, char *str2)
char * goal_desc (char *buf, Goal *goal)
char * feature_name_at (int x, int y)
void linear_desc (char *buf, int x, int y)
void elevation_desc (char *buf, int x, int y)
void temperature_desc (char *buf, int x, int y)
char * format_number (char *buf, int value)
int ai_victim_here (int x, int y, int *numvictims)
int target_here (int x, int y)
int useful_captureable_here (int x, int y)
int est_completion_time (Unit *unit, int u2)
char * plan_desig (Plan *plan)
int low_on_supplies_one (Unit *unit)
int low_on_ammo_one (Unit *unit)
int past_halfway_point (Unit *unit)
void make_plausible_random_args (char *argtypestr, int i, int *args, Unit *unit)
void type_error (Obj *x, char *msg)
void interp_form (Module *module, Obj *form)
void interp_game_module (Obj *form, Module *module)
void fill_in_side (Side *side, Obj *props, int userdata)
void read_warning (char *str,...)
int utype_from_name (char *str)
int utype_from_symbol (Obj *sym)
int mtype_from_name (char *str)
int ttype_from_name (char *str)
int atype_from_name (char *str)
int lookup_task_type (char *name)
void init_run (void)
int run_game (int maxactions)
int realtime_game (void)
int all_others_willing_to_save (Side *side)
int all_others_willing_to_quit (Side *side)
void end_the_game (void)
void update_canresearch_vector (Side *side)
void update_side_research_goal_availability (Side *side)
void update_canbuild_vector (Side *side)
void update_cancarry_vector (Side *side)
void kick_out_enemy_users (Side *side, int x, int y)
void set_play_rate (int slow, int fast)
int production_at (int x, int y, int m)
void auto_pick_unit_research (Unit *unit)
void auto_pick_side_research (Side *side)
int new_acp_for_turn (Unit *unit)
int new_acp_for_turn_if_at (Unit *unit, int x, int y)
int people_surrender_chance (int u, int x, int y)
void update_cell_display_all_sides (int x, int y, int flags)
void try_sharing (Unit *from, Unit *to, int m)
int damaged_acp (Unit *unit, Obj *effect)
void set_unit_acp_for_turn (Unit *unit)
int choose_move_direction (Unit *unit, int x, int y, int range)
int choose_move_dirs (Unit *unit, int tx, int ty, int shortest, int(*dirtest)(Unit *, int), void(*dirsort)(Unit *, int *, int), int *dirs)
int plausible_move_dir (Unit *unit, int dir)
void parse_player_spec (Player *player, char *spec)
UnitView * find_unit_view (Side *side, Unit *unit)
Obj * choose_side_research_goal_from_weighted_list (Obj *lis, int *totalweightp, Side *side)
void run_supply (void)
int supply_system_in_use (void)
Unit * find_unit_to_complete (Unit *unit, Task *task)
Task * create_task (TaskType type)
void dump_checksums (char *str)
void init_write (void)
int write_game_module (Module *module, char *fname)

Variables

FILE * xcq_fstdout
enum setup_stage current_stage
 Current setup stage.

int gamedefined
 Game defined flag.

int gameinited
 Game initialized flag.

int compromised
 Game compromised flag.

int beforestart
 Game not started flag.

int endofgame
 End of game flag.

int gamestatesafe
 Game in safe state flag.

int any_post_action_scores
 Post action scoring to do flag.

short any_people_side_changes
 People side changes?

int max_zoc_range
 Maximum zone of control range.

int warnings_suppressed
 Warnings suppressed flag.

time_t game_start_in_real_time
 Game started in real time flag.

time_t turn_play_start_in_real_time
 Turn play start in real time.

short * u_possible
 Unit posible.

int want_checkpoints
 We want checkpoint files.

int checkpoint_interval
 Checkpoint interval.

int statistics_wanted
 Statistics wanted.

int numsoundplays
 Number of sound plays .

int allbedesigners
 All players are designers.

int tmphevtdata1
 Tempoary event data 1.

int max_detonate_on_approach_range
int max_t_detonate_effect_range
 Maximum range detonation can affect terrain.

int xmalloc_warnings
 Memory warning flag.

int memory_exhausted
 Memory exhausted flag.

Feature * featurelist
 Feature list.

Doctrine * doctrine_list
 Doctrine list.

char * curdatestr
int sunx
 sun directly over x co-ordinate.

int suny
 sun directly over y co-ordinate.

int daynight
 ???

int area_lighting
 ???

int warnings_logged
 Warnings logged.

int * cache__type_max_night_acp_from_any_terrains
int * cache__type_max_acp_from_any_occs
int * cache__type_max_acp
int * cache__type_max_speed_from_any_occs
int * cache__type_max_speed
int G_advances_graph_has_cycles
PackedBoolTable * G_advances_synopsis


Detailed Description

Main include file for Xconq.

This is the include file that nearly all Xconq source files should include (exceptions would be very low-level or generic sources).


Define Documentation

#define ACTM_CANNOT_BUILD   0x4
 

Cannot build upon any?

#define ACTM_CANNOT_CREATE   0x2
 

Cannot create any?

#define ACTM_CANNOT_REPAIR   0x8
 

Cannot repair any?

#define ACTM_CANNOT_TOOLUP   0x1
 

Cannot toolup for any?

#define ADD_TO_AGENDA_AS_FIFO   1
 

Enqueue at the end of the task agenda.

#define ADD_TO_AGENDA_AS_LIFO   0
 

Push onto the top of the task agenda.

#define CAPTURE_METHOD_ANY
 

Value:

Capture via any method?

#define CAPTURE_METHOD_ATTACK   0x2
 

Capture via attack?

#define CAPTURE_METHOD_CAPTURE   0x1
 

Capture via direct capture?

#define CAPTURE_METHOD_DETONATE   0x8
 

Capture via detonation?

#define CAPTURE_METHOD_FIRE   0x4
 

Capture via adjacent fire?

#define CAPTURE_METHOD_NONE   0x0
 

Do not capture via any method?

#define CAPTURE_METHOD_OCCUPANT   0x32
 

Capture via occupants?

#define CAPTURE_METHOD_TRANSPORT   0x16
 

Capture via transport?

#define CAPTURE_TRIES_DFLT   3
 

Default number of times ot run 'capture' task.

#define CLEAR_AGENDA   99
 

Clear task agenda, and set as new agenda item.

#define HIT_METHOD_ANY
 

Value:

Hit via any method?

#define HIT_METHOD_ATTACK   0x1
 

Hit via attack?

#define HIT_METHOD_DETONATE   0x4
 

Hit via detonation?

#define HIT_METHOD_FIRE   0x2
 

Hit via fire?

#define HIT_METHOD_NONE   0x0
 

Do not hit via any method?

#define HIT_METHOD_OCCUPANT   0x10
 

Hit via occupants?

#define HIT_METHOD_TRANSPORT   0x8
 

Hit via transport?

#define HIT_TRIES_DFLT   3
 

Default number of times ot run 'hit-unit' task.

#define MReq_AGENT_TREASURY   1
 

Use agent's side's treasury rather than actor's side's treasury.

#define UPDATE_ADJ   2
 

Display Update: adjacent

#define UPDATE_ALWAYS   1
 

Display Update: always

#define UPDATE_CLOUDS   16
 

Display Update: clouds

#define UPDATE_COVER   4
 

Display Update: cover

#define UPDATE_TEMP   8
 

Display Update: termperature

#define UPDATE_WINDS   32
 

Display Update: winds


Enumeration Type Documentation

enum setup_stage
 

Game setup stages.

The game startup sequence

Enumeration values:
initial_stage  Initalization
game_load_stage  Load Game file(s)
variant_setup_stage  Variant setup
player_pre_setup_stage  Pre player setup
player_setup_stage  Player setup
game_ready_stage  Game ready


Function Documentation

char* absolute_date_string (  int  date  ) 
 

void acp_desc (  char *  buf,
Unit *  unit,
int  label
) 
 

void action_desc (  char *  buf,
Action *  action,
Unit *  unit
) 
 

char* action_desig (  Action *  act  ) 
 

void action_point (  Side *  side,
int  x,
int  y
) 
 

char* action_result_desc (  int  rslt  ) 
 

int active_display (  Side *  side  ) 
 

Player* add_default_player (  void   ) 
 

void add_edge_terrain (  void   ) 
 

void add_library_path (  char *  path  ) 
 

int add_side_and_player (  void   ) 
 

void advance_failure_desc (  char *  buf,
Unit *  unit,
HistEventType  reason
) 
 

char* ai_at_desig (  Side *  side,
int  x,
int  y
) 
 

void ai_init_shared (  void   ) 
 

void ai_pick_side_research (  Side *  side  ) 
 

void ai_react_to_new_side (  Side *  side,
Side *  side2
) 
 

void ai_receive_message (  Side *  side,
Side *  sender,
char *  str
) 
 

int ai_region_at (  Side *  side,
int  x,
int  y
) 
 

void ai_save_state (  Side *  side  ) 
 

char* ai_type_help (  int  n  ) 
 

char* ai_type_name (  int  n  ) 
 

int ai_victim_here (  int  x,
int  y,
int *  numvictims
) 
 

char* all_capitals (  char *  buf  ) 
 

int all_others_willing_to_quit (  Side *  side  ) 
 

int all_others_willing_to_save (  Side *  side  ) 
 

int already_seen_chance (  Side *  side,
Unit *  unit
) 
 

void announce_lengthy_process (  char *  msg  ) 
 

void announce_progress (  int  pctdone  ) 
 

void announce_read_progress (  void   ) 
 

int any_construction_possible (  void   ) 
 

int any_storage_possible (  void   ) 
 

char* apparent_unit_handle (  Side *  side,
Unit *  unit,
Side *  side2
) 
 

void assign_players_to_sides (  void   ) 
 

void assign_unit_number (  Unit *  unit  ) 
 

int attack_range (  int  u,
int  u2
) 
 

Attack range of u against u2.

int attack_range_max (  int  u  ) 
 

Maximum attack range of u.

int atype_from_name (  char *  str  ) 
 

void auto_pick_side_research (  Side *  side  ) 
 

void auto_pick_unit_research (  Unit *  unit  ) 
 

void calculate_globals (  void   ) 
 

int can_act (  Unit *  actor,
Unit *  agent
) 
 

Todo:
Eventually assert activeness instead of just returning an error.

int can_attack (  Unit *  actor,
Unit *  attacker,
int  u3
) 
 

Can a given unit attack a given utype?

Todo:
Get rid of ACP restrictions.

Consider 'consumption-per-attack' and 'hit-by'.

int can_attack_any (  Unit *  actor,
Unit *  attacker
) 
 

Can a given unit attack >= 1 enemy utypes?

int can_auto_repair (  Unit *  repairer,
Unit *  repairee
) 
 

Can given repairer auto-repair given repairee?

Note:
Includes check of hp-recovery mechanism.

int can_build (  Unit *  actor,
Unit *  builder,
Unit *  buildee,
int  could = 0,
int  acpcost_spcl = -1,
long *  p_mreq_spcl = NULL
) 
 

Can given actor-builder pair build on a given unit?

int can_build (  Unit *  actor,
Unit *  builder,
int  u3
) 
 

Can given actor-builder pair build on a given utype?

int can_capture (  Unit *  acpsrc,
Unit *  captor,
int  u3,
Side *  eside
) 
 

Can a given unit capture a given utype on a given side?

int can_change_type_to (  Unit *  actor,
Unit *  morpher,
int  u3
) 
 

Can given unit change into given utype?

int can_change_type_to (  int  u,
int  u2,
Side *  side
) 
 

int can_create_common (  Unit *  actor,
Unit *  creator,
int  u3,
int  x,
int  y,
int  could = 0,
int  acpcost_spcl = -1,
long *  p_mreq_spcl = NULL
) 
 

Can given actor-creator pair create given utype?

int can_detonate (  Unit *  acpsrc,
Unit *  detonator
) 
 

Can given unit detonate?

int can_fire (  Unit *  actor,
Unit *  firer
) 
 

Can a given unit fire?

Todo:
Get rid of combat models.

Get rid of ACP restrictions.

Consider 'consumption-per-fire' and 'hit-by'.

int can_fire_at (  Unit *  acpsrc,
Unit *  firer,
int  u
) 
 

Can a given unit fire at a given utype?

int can_fire_at_any (  Unit *  actor,
Unit *  firer
) 
 

Can a given unit fire at >= 1 enemy utypes?

int can_have_enough_acp (  Unit *  unit,
int  acp
) 
 

int can_meet_materials_requirement (  long *  p_mreq,
long *  p_mavail,
long *  p_mavailmax
) 
 

Is materials requirement satisfied by availabilities?

int can_move (  Unit *  actor,
Unit *  mover
) 
 

Can a given unit move?

Todo:
Allow ACP-indep movement.

Allow taking from treasury.

int can_move_at_all (  Unit *  unit  ) 
 

int can_move_via_conn (  Unit *  unit,
int  nx,
int  ny
) 
 

int can_repair (  Unit *  actor,
Unit *  repairer,
Unit *  repairee
) 
 

Can given repairer explicitly repair given repairee?

int can_repair (  Unit *  actor,
Unit *  repairer,
int  u3
) 
 

Can given actor-repairer pair explicitly repair given utype?

int can_toolup_for (  Unit *  actor,
Unit *  constructor,
int  u3
) 
 

Can given actor-constructor pair toolup for given utype?

char* capitalize (  char *  buf  ) 
 

int capture_chance (  int  u,
int  u2,
Side *  side2
) 
 

Chance for u to capture u2 on a give side.

void check_game_validity (  void   ) 
 

int choose_move_direction (  Unit *  unit,
int  x,
int  y,
int  range
) 
 

int choose_move_dirs (  Unit *  unit,
int  tx,
int  ty,
int  shortest,
int(*  dirtest)(Unit *, int),
void(*  dirsort)(Unit *, int *, int),
int *  dirs
) 
 

Obj* choose_side_research_goal_from_weighted_list (  Obj *  lis,
int *  totalweightp,
Side *  side
) 
 

void cmd_error (  Side *  side,
char *  fmt,
... 
) 
 

void constructible_desc (  char *  buf,
Side *  side,
int  u,
Unit *  unit
) 
 

void construction_desc (  char *  buf,
Unit *  unit,
int  u
) 
 

int construction_possible (  int  u2  ) 
 

void consume_materials (  Unit *  actor,
Unit *  consumer,
long *  p_mreq
) 
 

Consume materials of a given unit according to given consumption vector.

void consume_materials (  Unit *  actor,
Unit *  consumer,
int(*  getter)(int u, int m),
int  u3 = NONUTYPE,
int  mult = 1
) 
 

Consume materials of a given unit with a given consumption getter.

Takes a provided TableUM getter function, and applies consumption for each relevant material to the given unit or, possibly, side. Optionally takes an utype so be used with the getter instead of the agent's utype. Note that requested amounts can be negative, which will cause a gain for the given unit or side treasury, if possible.

char* copyright_string (  void   ) 
 

int could_attack (  int  u,
int  u2
) 
 

Could u hit u2 by attacks?

Todo:
Remove ACP restrictions.

int could_attack_any (  int  u  ) 
 

Could the given utype attack >= 1 utypes?

int could_auto_repair (  int  u,
int  u2
) 
 

Could u auto-repair u2?

Note:
Does not check hp-recovery mechanism.

int could_build (  int  u,
int  u2
) 
 

Could u build u2?

int could_build_any (  int  u  ) 
 

Could u build any utype?

int could_capture (  int  u,
int  u2,
Side *  oside
) 
 

Could u capture u2 by any means?

int could_capture_any (  int  u  ) 
 

Could the given utype capture any utypes by any means?

int could_capture_by_attacks (  int  u,
int  u2,
Side *  oside
) 
 

Could u capture u2 by attacks?

int could_capture_by_capture (  int  u,
int  u2,
Side *  oside
) 
 

Could u capture u2 by direct capture?

int could_capture_by_fire (  int  u,
int  u2,
Side *  oside
) 
 

Could u capture u2 by fire?

int could_create (  int  u,
int  u2
) 
 

Could u create u2?

int could_create_any (  int  u  ) 
 

Could u create any utype?

int could_damage_by_0dist_detonation (  int  u,
int  u2
) 
 

Could u damage u2 by a detonation in same cell?

int could_damage_by_detonation (  int  u,
int  u2
) 
 

Could u damage u2 by a detonation?

int could_damage_by_ranged_detonation (  int  u,
int  u2
) 
 

Could u damage u2 by a detonation at range?

int could_detonate (  int  u  ) 
 

Could u detonate?

int could_fire_at (  int  u,
int  u2
) 
 

Could u fire at u2?

Todo:
Remove ACP restrictions.

int could_fire_at_any (  int  u  ) 
 

Could u fire at >= 1 utypes?

int could_give_directly_to_treasury (  int  u,
Side *  side,
int  m
) 
 

Could u on a given side give m directly to treasury?

int could_give_directly_to_treasury (  int  u,
int  m
) 
 

Could u give m directly to treasury, assuming side has treasury?

int could_give_to_treasury (  int  u,
Side *  side,
int  m
) 
 

Could u on a given side give m to treasury?

int could_give_to_treasury (  int  u,
int  m
) 
 

Could u give m to treasury, assuming side has treasury?

int could_hit (  int  u,
int  u2
) 
 

Could u hit u2 by any method?

int could_move (  int  uactor,
int  umover
) 
 

Could uactor move umover?

Todo:
Allow ACP-indep movement.

Should cache results.

int could_repair (  int  u,
int  u2
) 
 

Could u explicitly repair u2?

int could_take_directly_from_treasury (  int  u,
Side *  side,
int  m
) 
 

Could u on a given side take m directly from treasury?

int could_take_directly_from_treasury (  int  u,
int  m
) 
 

Could u take m directly from treasury, assuming side has treasury?

int could_take_from_treasury (  int  u,
Side *  side,
int  m
) 
 

Could u on a given side take m from treasury?

int could_take_from_treasury (  int  u,
int  m
) 
 

Could u take m from treasury, assuming side has treasury?

int could_toolup_for (  int  u,
int  u2
) 
 

Could u toolup for u2?

int could_toolup_for_any (  int  u  ) 
 

Could u toolup for any utype?

Goal* create_goal (  GoalType  type,
Side *  side,
int  tf
) 
 

Task* create_task (  TaskType  type  ) 
 

void cxp_desc (  char *  buf,
Unit *  unit,
int  label
) 
 

int damaged_acp (  Unit *  unit,
Obj *  effect
) 
 

int defended_by_occupants (  Unit *  unit  ) 
 

void destination_desc (  char *  buf,
Side *  side,
Unit *  unit,
int  x,
int  y,
int  z
) 
 

int detonate_urange (  int  u,
int  u2
) 
 

Blast radius of detonation from u against u2.

int detonate_urange_max (  void   ) 
 

Max blast radius of detonation from any utype.

int detonate_urange_max (  int  u  ) 
 

Max blast radius of detonation from u.

int direct_capture_range (  int  u,
int  u2,
Side *  side2
) 
 

Direct capture range of u against u2.

void dump_checksums (  char *  str  ) 
 

void elevation_desc (  char *  buf,
int  x,
int  y
) 
 

void end_printing_forms (  void   ) 
 

void end_the_game (  void   ) 
 

int enough_to_garrison (  Unit *  unit,
int  defenders
) 
 

int est_completion_time (  Unit *  unit,
int  u2
) 
 

void event_desc_from_list (  Side *  side,
Obj *  lis,
HistEvent *  hevt,
char *  buf
) 
 

int execute_action (  Unit *  unit,
Action *  action
) 
 

char* feature_desc (  Feature *  feature,
char *  buf
) 
 

char* feature_name_at (  int  x,
int  y
) 
 

void fill_in_side (  Side *  side,
Obj *  props,
int  userdata
) 
 

void final_init (  void   ) 
 

int find_ai_type (  char *  aitype  ) 
 

int find_event_type (  Obj *  sym  ) 
 

Unit* find_unit_to_complete (  Unit *  unit,
Task *  task
) 
 

UnitView* find_unit_view (  Side *  side,
Unit *  unit
) 
 

void finish_lengthy_process (  void   ) 
 

int fire_damage (  int  u,
int  u2
) 
 

Damage that u does to u2 by firing.

int fire_hit_chance (  int  u,
int  u2
) 
 

Chance that u will hit u2 by firing.

int fire_range (  int  u,
int  u2
) 
 

Maximum fire range of u against u2.

int fire_range_best (  int  u,
int  u2
) 
 

Best fire range of u against u2.

int fire_range_max (  int  u  ) 
 

Maximum fire range of u.

void flush_display_buffers (  Side *  side  ) 
 

char* format_number (  char *  buf,
int  value
) 
 

void garrison_unit (  Unit *  builder,
Unit *  newunit
) 
 

Garrison Unit.

This name is somewhat confusing. It uses the uu_hp_to_garrison table to determine if the unit should be removed. It is used to remove a building Unit upon creating a new Unit. An example would be a colonizer/settler/engineer disappearing when a villiage/town/city is built. It is also sometimes used when a unit captures a unit, such as an army capturing a city, and being destroyed in the process of capturing the city.

  • If the hit points to create/capture (hp_to_garrison) is greater than the remaining hit points of the building
    • remove the new from the cell,
    • if the new is being transported by the building/capturing Unit
      • force the new out of the building/capturing Unit.
      • if the there is a transport availble (not currently implemented)
        • put the new in the transport
      • else
        • put the new in the cell.
    • if the new is being transported, but not by the building/capturing Unit
      • set the alternate transport local variable to the transporting .
    • for all occupants of the building/capturing
      • if the occupant of the building can occupy the new Unit
        • remove the occupant from the new .
        • update the Unit display.
        • add the occupant to the new .
      • else if the alternate transport can hold the occupant
        • remove the ocupant from the building/capuring .
        • update the Unit display.
        • add the occupant to the alternate transport.
      • else if the occupant can enter the cell
        • remove the occupant from the building/capturing .
        • update the Unit display.
        • add the occupant to the cell.
      • By default, leave the occupant in the building/capturing to be destroyed with the building/capturing Unit.
    • Set the temporary event data 1 to the id of the new .
    • Kill the building/capturing Unit.
  • else reduce the building/capturing hp and hp2 by the hp to garrison amount.
    Note:
    if this occurs before damage is calculated, hp and hp2 may be different.
    Todo:
    Add code to handle the garrison being put in a transport?

    Add code to handle sub-occupants of doomed occupants?

    Add code to post event for garrisoning damage?

See also:
uu_hp_to_garrison, leave_cell, leave_trasnport, enter_transport, can_occupy, update_unit_display, kill_unit.
Parameters:
builder is a pointer to the building/capturing the unit.
newunit is a pointer to the being built/captured.

void get_materials_availability (  Unit *  actor,
Unit *  agent,
long *  p_mavail,
long *  p_mavailmax,
int  flags = 0
) 
 

What are current and max materials availabilities for an actor-agent pair?

UnitVector* get_selected_units (  Side *  side  ) 
 

int get_synth_method_uses (  int  methkey,
int *  calls,
int *  runs
) 
 

char* goal_desc (  char *  buf,
Goal *  goal
) 
 

char* goal_desig (  Goal *  goal  ) 
 

int has_enough_acp (  Unit *  unit,
int  acp
) 
 

int has_enough_tooling (  Unit *  constructor,
int  u2
) 
 

Does the constructor have enough tooling to construct u2?

int has_supply_to_act (  Unit *  unit  ) 
 

Does unit has enough of each material needed to act?

void historical_event_desc (  Side *  side,
HistEvent *  hevt,
char *  buf
) 
 

int hit_range (  int  u,
int  u2
) 
 

Hit range of u against u2.

int hit_range_max (  void   ) 
 

Maximum hit range of all utypes.

int hit_range_max (  int  u  ) 
 

Maximum hit range of u.

void hp_desc (  char *  buf,
Unit *  unit,
int  label
) 
 

int in_blocking_zoc (  Unit *  unit,
int  x,
int  y,
int  z
) 
 

int indep_capture_chance (  int  u,
int  u2
) 
 

Chance for u to capture independent u2.

int indepside_needed (  void   ) 
 

void init_actions (  void   ) 
 

Action Initialization.

Do any action-related initialization. Currently it doesn't do anything.

void init_ai (  Side *  side  ) 
 

void init_ai_types (  void   ) 
 

void init_data_structures (  void   ) 
 

void init_error (  char *  str,
... 
) 
 

void init_library_path (  char *  path  ) 
 

void init_namers (  void   ) 
 

void init_nlang (  void   ) 
 

void init_run (  void   ) 
 

void init_supply (  Unit *  unit  ) 
 

void init_ui (  Side *  side  ) 
 

void init_warning (  char *  str,
... 
) 
 

void init_write (  void   ) 
 

void interp_form (  Module *  module,
Obj *  form
) 
 

void interp_game_module (  Obj *  form,
Module *  module
) 
 

void kick_out_enemy_users (  Side *  side,
int  x,
int  y
) 
 

void latlong_desc (  char *  buf,
int  x,
int  y,
int  xf,
int  yf,
int  which
) 
 

char* license_string (  void   ) 
 

void linear_desc (  char *  buf,
int  x,
int  y
) 
 

void location_desc (  char *  buf,
Side *  side,
Unit *  unit,
int  u,
int  x,
int  y
) 
 

char* long_player_title (  char *  buf,
Player *  player,
char *  thisdisplayname
) 
 

int lookup_task_type (  char *  name  ) 
 

void low_init_error (  char *  str  ) 
 

void low_init_warning (  char *  str  ) 
 

void low_notify (  Side *  side,
char *  str
) 
 

int low_on_ammo_one (  Unit *  unit  ) 
 

int low_on_supplies_one (  Unit *  unit  ) 
 

void low_run_error (  char *  str  ) 
 

void low_run_warning (  char *  str  ) 
 

int make_countries (  int  calls,
int  runs
) 
 

int make_earthlike_terrain (  int  calls,
int  runs
) 
 

int make_fractal_terrain (  int  calls,
int  runs
) 
 

int make_independent_units (  int  calls,
int  runs
) 
 

int make_maze_terrain (  int  calls,
int  runs
) 
 

Obj* make_namer (  Obj *  sym,
Obj *  meth
) 
 

void make_plausible_random_args (  char *  argtypestr,
int  i,
int *  args,
Unit *  unit
) 
 

int make_random_terrain (  int  calls,
int  runs
) 
 

int make_rivers (  int  calls,
int  runs
) 
 

int make_roads (  int  calls,
int  runs
) 
 

void make_trial_assignments (  void   ) 
 

void make_unit_complete (  Unit *  unit  ) 
 

Complete Unit.

Do all the little things to make a fully operational unit.

  • if a unit has multiple parts ( fleet or army, for example), it is not created at full size, but at a size of 1, so construction points and hit points are set appropriately.
  • Give the unit a name.
  • set the view coverage area of the unit.
  • if unit creation cuases a change in control of the cell, remove enemy units.
  • handle material supplied, created, and/or shared for created unit.
  • initialize action state.

See also:
max, u_cp, u_hp, make_up_unit_name, cover_area, Kick_out_enemy_users, for_all_material_types, um_completed_supply, um_storage_x, try_sharing, init_unit_actorstate, init_unit_plan, set_unit_acp_for_turn, make_unit_vector, clear_unit_vector, add_unit_to_vector, for_all_sides, trusted_side, add_side_to_set, record_event, side_number, see_all_cell, printf
Parameters:
unit is the unit to be completed.

Side* make_up_a_side (  void   ) 
 

void make_up_side_name (  Side *  side  ) 
 

void make_up_unit_name (  Unit *  unit  ) 
 

char* medium_long_unit_handle (  Unit *  unit  ) 
 

int missing_images (  char *  buf  ) 
 

void morale_desc (  char *  buf,
Unit *  unit,
int  label
) 
 

int mtype_from_name (  char *  str  ) 
 

int name_geographical_features (  int  calls,
int  runs
) 
 

int name_in_use (  Side *  side,
char *  str
) 
 

void name_or_number (  Unit *  unit,
char *  buf
) 
 

int name_units_randomly (  int  calls,
int  runs
) 
 

int new_acp_for_turn (  Unit *  unit  ) 
 

int new_acp_for_turn_if_at (  Unit *  unit,
int  x,
int  y
) 
 

char* next_ai_type_name (  char *  aitype  ) 
 

void notify (  Side *  side,
char *  str,
... 
) 
 

void notify_all (  char *  str,
... 
) 
 

void notify_all_of_resignation (  Side *  side,
Side *  side2
) 
 

void notify_doctrine (  Side *  side,
char *  spec
) 
 

int occ_can_defend_transport (  int  o,
int  t
) 
 

void occupants_desc (  char *  buf,
Unit *  unit
) 
 

char* ordinal_suffix (  int  n  ) 
 

void others_here_desc (  char *  buf,
Unit *  unit
) 
 

void parse_player_spec (  Player *  player,
char *  spec
) 
 

int past_halfway_point (  Unit *  unit  ) 
 

int pattern_matches_event (  Obj *  pattern,
HistEvent *  hevt
) 
 

int people_surrender_chance (  int  u,
int  x,
int  y
) 
 

void place_legends (  Side *  side  ) 
 

void plan_desc (  char *  buf,
Unit *  unit
) 
 

char* plan_desig (  Plan *  plan  ) 
 

int plausible_move_dir (  Unit *  unit,
int  dir
) 
 

void play_movies (  SideMask  sidemask  ) 
 

char* plural_form (  char *  word  ) 
 

void point_value_desc (  char *  buf,
Unit *  unit,
int  label
) 
 

void print_form (  Obj *  form  ) 
 

int production_at (  int  x,
int  y,
int  m
) 
 

char* propose_unit_name (  Unit *  unit  ) 
 

void read_warning (  char *  str,
... 
) 
 

int realtime_game (  void   ) 
 

void record_missing_image (  int  typtyp,
char *  str
) 
 

int remove_side_and_player (  int  s  ) 
 

void report_combat (  Unit *  unit,
Unit *  atker,
char *  str
) 
 

void report_give (  Side *  side,
Unit *  unit,
Unit *  unit2,
short *  rslts
) 
 

void report_take (  Side *  side,
Unit *  unit,
int  needed,
short *  rslts
) 
 

void research_desc (  char *  buf,
Unit *  unit,
int  a
) 
 

void researchible_desc (  char *  buf,
Unit *  unit,
int  a
) 
 

void run_error (  char *  str,
... 
) 
 

int run_game (  int  maxactions  ) 
 

int run_local_ai (  int  when,
int  maxplanning
) 
 

char* run_namer (  Obj *  namer  ) 
 

void run_supply (  void   ) 
 

void run_synth_methods (  void   ) 
 

void run_ui_idler (  void   ) 
 

void run_warning (  char *  str,
... 
) 
 

int schedule_movie (  Side *  side,
char *  movie,
... 
) 
 

void set_initial_date (  char *  str  ) 
 

void set_play_rate (  int  slow,
int  fast
) 
 

void set_side_ai (  Side *  side,
char *  aitype
) 
 

void set_unit_acp_for_turn (  Unit *  unit  ) 
 

char* short_player_title (  char *  buf,
Player *  player,
char *  thisdisplayname
) 
 

char* short_side_title (  Side *  side  ) 
 

int short_side_title_plural_p (  Side *  side  ) 
 

char* short_unit_handle (  Unit *  unit  ) 
 

char* shortest_side_title (  Side *  side2,
char *  buf
) 
 

int should_play_movies (  void   ) 
 

Should action movies be played?

Note:
Stupid hack.

char* side_score_desc (  char *  buf,
Side *  side,
Scorekeeper *  sk
) 
 

char* sidemask_desc (  char *  buf,
SideMask  sidemask
) 
 

int sides_allow_entry (  Unit *  unit,
Unit *  transport
) 
 

char* simple_player_name (  char *  buf,
Player *  player
) 
 

char* simple_player_title (  char *  buf,
Player *  player
) 
 

void size_desc (  char *  buf,
Unit *  unit,
int  label
) 
 

void start_game_load_stage (  void   ) 
 

void start_game_ready_stage (  void   ) 
 

void start_player_pre_setup_stage (  void   ) 
 

void start_player_setup_stage (  void   ) 
 

void start_variant_setup_stage (  void   ) 
 

int storage_possible (  int  m  ) 
 

int supply_desc (  char *  buf,
Unit *  unit,
int  mrow
) 
 

int supply_system_in_use (  void   ) 
 

int target_here (  int  x,
int  y
) 
 

void task_desc (  char *  buf,
Side *  side,
Unit *  unit,
Task *  task
) 
 

void temperature_desc (  char *  buf,
int  x,
int  y
) 
 

int terrain_always_impassable (  int  u,
int  t
) 
 

void time_desc (  char *  buf,
int  seconds,
int  maxtime
) 
 

int tooling_desc (  char *  buf,
Unit *  unit
) 
 

int total_move_cost (  int  u,
int  u2,
int  x1,
int  y1,
int  z1,
int  x2,
int  y2,
int  z2
) 
 

int transfer_supply (  Unit *  from,
Unit *  to,
int  m,
int  amount
) 
 

Transfer Supply.

Move supply from one to another. Don't move more than is possible; check both from and to amounts and capacities. This routine will also transfer to the side's treasury if necessary can handle overflow. This is a utility routine.

  • Calculate the min amount to transfer based on the available supply and the maximum that can be loaded in the to .
  • if there is a treasury for the material, and the receiving can transfer material to the treasury, then transfer any excess production from the from to the treasure
  • reduce the material supply of the from ,
  • increase the material supply of the to .
  • update to and from supply display for the sides involved.
  • if the treasury was modified, update the treasury supply display.
  • print debug message, if it's enabled.

See also:
do_transfer_material, um_unload_max, um_load_max, UM_storage_x, side_has_treasury, um_gives_to_treasury, update_unit_display, update_side_display.

Parameters:
from is the pointer to the supplying the material.
to is the pointer to the receiving the material.
m is the material type to transfer.
amount is the amount of material to transfer.
Returns:
the amount to transfer.

void try_sharing (  Unit *  from,
Unit *  to,
int  m
) 
 

int ttype_from_name (  char *  str  ) 
 

int turns_between (  char *  str1,
char *  str2
) 
 

int type_can_have_enough_acp (  int  u,
int  acp
) 
 

int type_can_have_enough_mp (  int  u,
int  mp
) 
 

int type_can_move_in_terrain (  int  u,
int  t
) 
 

void type_error (  Obj *  x,
char *  msg
) 
 

int type_max_acp (  int  u  ) 
 

int type_max_acp_from_any_occs (  int  u  ) 
 

int type_max_night_acp_from_any_terrains (  int  u  ) 
 

int type_max_speed (  int  u  ) 
 

int type_max_speed_from_any_occs (  int  u  ) 
 

int unit_blockable_by (  Unit *  unit,
Unit *  unit2
) 
 

char* unit_handle (  Side *  side,
Unit *  unit
) 
 

char* unit_namer (  Unit *  unit  ) 
 

void unit_research_dialog (  Unit *  unit  ) 
 

int unit_speed (  Unit *  unit,
int  nx,
int  ny
) 
 

void update_action_display (  Side *  side,
int  rightnow
) 
 

void update_action_result_display (  Side *  side,
Unit *  unit,
int  rslt,
int  rightnow
) 
 

void update_all_progress_displays (  char *  str,
int  s
) 
 

void update_area_display (  Side *  side  ) 
 

void update_canbuild_vector (  Side *  side  ) 
 

void update_cancarry_vector (  Side *  side  ) 
 

void update_canresearch_vector (  Side *  side  ) 
 

void update_cell_display (  Side *  side,
int  x,
int  y,
int  flags
) 
 

void update_cell_display_all_sides (  int  x,
int  y,
int  flags
) 
 

void update_clock_display (  Side *  side,
int  rightnow
) 
 

void update_event_display (  Side *  side,
HistEvent *  hevt,
int  rightnow
) 
 

void update_everything (  void   ) 
 

void update_fire_at_display (  Side *  side,
Unit *  unit,
Unit *  unit2,
int  m,
int  rightnow
) 
 

void update_fire_into_display (  Side *  side,
Unit *  unit,
int  x,
int  y,
int  z,
int  m,
int  rightnow
) 
 

void update_message_display (  Side *  side,
Side *  side2,
char *  str,
int  rightnow
) 
 

void update_research_display (  Side *  side  ) 
 

void update_side_display (  Side *  side,
Side *  side2,
int  rightnow
) 
 

void update_side_research_goal_availability (  Side *  side  ) 
 

void update_turn_display (  Side *  side,
int  rightnow
) 
 

void update_unit_acp_display (  Side *  side,
Unit *  unit,
int  rightnow
) 
 

void update_unit_display (  Side *  side,
Unit *  unit,
int  rightnow
) 
 

void use_up_acp (  Unit *  unit,
int  acp
) 
 

Make the consumed acp disappear, but not go below the minimum possible.

Note:
u_free_acp does not need to be explicitly considered here.

int useful_captureable_here (  int  x,
int  y
) 
 

int utype_from_name (  char *  str  ) 
 

int utype_from_symbol (  Obj *  sym  ) 
 

char* version_string (  void   ) 
 

void vnotify (  Side *  side,
char *  fmt,
va_list  ap
) 
 

void write_combat_results (  FILE *  fp,
Side *  side
) 
 

int write_game_module (  Module *  module,
char *  fname
) 
 

void write_side_results (  FILE *  fp,
Side *  side
) 
 

void write_unit_record (  FILE *  fp,
Side *  side
) 
 

int zoc_move_cost (  Unit *  unit,
int  ox,
int  oy,
int  oz
) 
 

int zoc_range (  Unit *  unit,
int  u2
) 
 


Variable Documentation

int allbedesigners
 

All players are designers.

short any_people_side_changes
 

People side changes?

int any_post_action_scores
 

Post action scoring to do flag.

int area_lighting
 

???

int beforestart
 

Game not started flag.

int* cache__type_max_acp
 

int* cache__type_max_acp_from_any_occs
 

int* cache__type_max_night_acp_from_any_terrains
 

int* cache__type_max_speed
 

int* cache__type_max_speed_from_any_occs
 

int checkpoint_interval
 

Checkpoint interval.

int compromised
 

Game compromised flag.

char* curdatestr
 

enum setup_stage current_stage
 

Current setup stage.

int daynight
 

???

Doctrine* doctrine_list
 

Doctrine list.

int endofgame
 

End of game flag.

Feature* featurelist
 

Feature list.

int G_advances_graph_has_cycles
 

PackedBoolTable* G_advances_synopsis
 

time_t game_start_in_real_time
 

Game started in real time flag.

int gamedefined
 

Game defined flag.

int gameinited
 

Game initialized flag.

int gamestatesafe
 

Game in safe state flag.

int max_detonate_on_approach_range
 

???

int max_t_detonate_effect_range
 

Maximum range detonation can affect terrain.

int max_zoc_range
 

Maximum zone of control range.

int memory_exhausted
 

Memory exhausted flag.

int numsoundplays
 

Number of sound plays .

int statistics_wanted
 

Statistics wanted.

int sunx
 

sun directly over x co-ordinate.

int suny
 

sun directly over y co-ordinate.

int tmphevtdata1
 

Tempoary event data 1.

time_t turn_play_start_in_real_time
 

Turn play start in real time.

short* u_possible
 

Unit posible.

int want_checkpoints
 

We want checkpoint files.

int warnings_logged
 

Warnings logged.

int warnings_suppressed
 

Warnings suppressed flag.

FILE* xcq_fstdout
 

int xmalloc_warnings
 

Memory warning flag.


Generated on Sat Sep 17 10:29:07 2005 for XconqKernel by doxygen 1.3.6