1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
#ifndef DEFINES_H
#define DEFINES_H
#include "../AIExport.h"
#define MAX_INT 2147483647
#define MAX_FLOAT float(MAX_INT)
#define EPSILON 1/MAX_FLOAT
#define ERRORVECTOR float3(-1.0f,0.0f,0.0f)
#define ZEROVECTOR float3(0.0f,0.0f,0.0f)
/* AI meta data */
#define AI_VERSION_NR aiexport_getVersion()
#define AI_NAME std::string("E323AI")
#define AI_VERSION AI_NAME + " " + AI_VERSION_NR + " - High Templar (" + __DATE__ + ")"
#define AI_CREDITS "Error323 & Simon Logic"
#define AI_NOTES "This A.I. mainly focusses on the XTA and BA mods"
/* Folders */
#define LOG_FOLDER "logs/"
#define CFG_FOLDER "configs/"
#define CACHE_FOLDER "cache/"
/* Templates */
#define CONFIG_TEMPLATE "template-config.cfg"
/* Misc macro's */
#define UD(u) (ai->cb->GetUnitDef(u))
#define UT(u) (&(ai->unittable->units[u]))
#define ID(x,z) ((z)*X+(x))
#define ID_GRAPH(x,z) ((z)*XX+(x))
/* Metal to Energy ratio */
#define METAL2ENERGY 60
/* Max features */
#define MAX_FEATURES 25
/* Max enemies */
#define MAX_ENEMIES 20
/* Max enemy units */
#define MAX_UNITS_AI 500
/* Map ratios */
#define HEIGHT2REAL 8
#define I_MAP_RES 8 /* Inverse map resolution (must be even) */
#define HEIGHT2SLOPE 2
#define FOOTPRINT2REAL 8
/* Max factory Assisters */
#define FACTORY_ASSISTERS 6
/* Max number of scouts per group */
#define MAX_SCOUTS_IN_GROUP 3
/* Max number of idle scout groups to prevent building unnecessary scouts */
#define MAX_IDLE_SCOUT_GROUPS 3
/* Number of multiplex iterations */
#define MULTIPLEXER 10
/* Draw time */
#define DRAW_TIME MULTIPLEXER*30
/* Stats url */
#define UPLOAD_URL "http://fhuizing.pythonic.nl/ai-stats.php"
/* We gonna use math.h constants */
#define _USE_MATH_DEFINES
/* Unit categories */
enum unitCategory {
TECH1 = (1<<0),
TECH2 = (1<<1),
TECH3 = (1<<2),
AIR = (1<<3),
SEA = (1<<4),
LAND = (1<<5),
STATIC = (1<<6),
MOBILE = (1<<7),
FACTORY = (1<<8),
BUILDER = (1<<9),
ASSISTER = (1<<10),
RESURRECTOR = (1<<11),
COMMANDER = (1<<12),
ATTACKER = (1<<13),
ANTIAIR = (1<<14),
SCOUTER = (1<<15),
ARTILLERY = (1<<16),
SNIPER = (1<<17),
ASSAULT = (1<<18),
MEXTRACTOR = (1<<19),
MMAKER = (1<<20),
EMAKER = (1<<21),
MSTORAGE = (1<<22),
ESTORAGE = (1<<23),
WIND = (1<<24),
TIDAL = (1<<25),
KBOT = (1<<26),
VEHICLE = (1<<27),
HOVER = (1<<28),
DEFENSE = (1<<29)
};
/* Build priorities */
enum buildPriority {
LOW = 0,
NORMAL = 1,
HIGH = 2
};
/* Build tasks */
enum buildType {
BUILD_MPROVIDER,
BUILD_EPROVIDER,
BUILD_AA_DEFENSE,
BUILD_AG_DEFENSE,
BUILD_FACTORY,
BUILD_MSTORAGE,
BUILD_ESTORAGE
};
#endif
|