%module BWAPI %{ #include "BWAPI.h" %} %include "BWAPI/Vectorset.h" %include "BWAPI/Type.h" %define VSET_WRAP(t) %template(t ## set_Base) BWAPI::Vectorset; %enddef VSET_WRAP(Bullet) VSET_WRAP(Unit) VSET_WRAP(Player) VSET_WRAP(Region) VSET_WRAP(Force) %template(Color_Base) BWAPI::Type; %rename(Text_Enum) BWAPI::Text::Enum; %define COLOR_WRAP(n) %rename(Color_ ## n) BWAPI::Colors::n; %enddef COLOR_WRAP(Yellow) COLOR_WRAP(White) COLOR_WRAP(Grey) COLOR_WRAP(Red) COLOR_WRAP(Green) COLOR_WRAP(Blue) COLOR_WRAP(Teal) COLOR_WRAP(Purple) COLOR_WRAP(Orange) COLOR_WRAP(Brown) COLOR_WRAP(Cyan) %rename(CoordinateType_Enum) BWAPI::CoordinateType::Enum; %rename(Flag_Enum) BWAPI::Flag::Enum; %rename(Latency_Enum) BWAPI::Latency::Enum; %define TYPEVAL_WRAP(t,v) %rename(t ## _ ## v) BWAPI::t ## s::v; %rename(t ## _Enum_ ## v) BWAPI::t ## s::Enum::v; %enddef %define TYPE_WRAP(t) %template(t ## _Base) BWAPI::Type; TYPEVAL_WRAP(t,None) TYPEVAL_WRAP(t,Unknown) TYPEVAL_WRAP(t,MAX) %rename(t ## _ ## init) BWAPI::t ## s::init; %rename(t ## _ ## Enum) BWAPI::t ## s::Enum::Enum; TYPEVAL_WRAP(t,Normal) TYPEVAL_WRAP(t,Ensnare) TYPEVAL_WRAP(t,Yamato_Gun) TYPEVAL_WRAP(t,Consume) TYPEVAL_WRAP(t,Melee) TYPEVAL_WRAP(t,Unused) TYPEVAL_WRAP(t,Neutral) TYPEVAL_WRAP(t,PlayerLeft) TYPEVAL_WRAP(t,RescuePassive) TYPEVAL_WRAP(t,Burrowing) TYPEVAL_WRAP(t,Dark_Swarm) TYPEVAL_WRAP(t,Irradiate) TYPEVAL_WRAP(t,Plague) TYPEVAL_WRAP(t,Psionic_Storm) TYPEVAL_WRAP(t,Parasite) TYPEVAL_WRAP(t,Stasis_Field) TYPEVAL_WRAP(t,Restoration) TYPEVAL_WRAP(t,EMP_Shockwave) TYPEVAL_WRAP(t,Stop) TYPEVAL_WRAP(t,Train) TYPEVAL_WRAP(t,Follow) TYPEVAL_WRAP(t,Patrol) TYPEVAL_WRAP(t,Move) TYPEVAL_WRAP(t,Upgrade) TYPEVAL_WRAP(t,Unload) TYPEVAL_WRAP(t,Cloak) TYPEVAL_WRAP(t,Decloak) TYPEVAL_WRAP(t,Maelstrom) TYPEVAL_WRAP(t,Optical_Flare) TYPEVAL_WRAP(t,Feedback) TYPEVAL_WRAP(t,Mind_Control) TYPEVAL_WRAP(t,Disruption_Web) TYPEVAL_WRAP(t,Lockdown) TYPEVAL_WRAP(t,Nuclear_Strike) TYPEVAL_WRAP(t,Corrosive_Acid) TYPEVAL_WRAP(t,Subterranean_Spines) TYPEVAL_WRAP(t,Halo_Rockets) TYPEVAL_WRAP(t,Neutron_Flare) TYPEVAL_WRAP(t,Pulse_Cannon) TYPEVAL_WRAP(t,Phase_Disruptor) TYPEVAL_WRAP(t,Seeker_Spores) TYPEVAL_WRAP(t,Glave_Wurm) TYPEVAL_WRAP(t,Acid_Spore) TYPEVAL_WRAP(t,Longbolt_Missile) TYPEVAL_WRAP(t,Burst_Lasers) TYPEVAL_WRAP(t,Gemini_Missiles) TYPEVAL_WRAP(t,Spider_Mines) TYPEVAL_WRAP(t,Fragmentation_Grenade) TYPEVAL_WRAP(t,Fusion_Cutter_Hit) TYPEVAL_WRAP(t,Optical_Flare_Grenade) TYPEVAL_WRAP(t,Independent) TYPEVAL_WRAP(t,Unit_Does_Not_Exist) TYPEVAL_WRAP(t,Terran_Marine) TYPEVAL_WRAP(t,Spawn_Broodlings) TYPEVAL_WRAP(t,Hellfire_Missile_Pack) TYPEVAL_WRAP(t,Twin_Autocannons_Floor_Trap) TYPEVAL_WRAP(t,Independant_Laser_Battery) TYPEVAL_WRAP(t,Warp_Blades_Zeratul) TYPEVAL_WRAP(t,Warp_Blades_Hero) TYPEVAL_WRAP(t,Scarab) TYPEVAL_WRAP(t,STS_Photon_Cannon) TYPEVAL_WRAP(t,STA_Photon_Cannon) TYPEVAL_WRAP(t,Phase_Disruptor_Cannon_Danimoth) TYPEVAL_WRAP(t,Phase_Disruptor_Cannon) TYPEVAL_WRAP(t,Anti_Matter_Missiles) TYPEVAL_WRAP(t,Anti_Matter_Missiles_Artanis) TYPEVAL_WRAP(t,Anti_Matter_Missiles_Mojo) TYPEVAL_WRAP(t,Dual_Photon_Blasters) TYPEVAL_WRAP(t,Dual_Photon_Blasters_Artanis) TYPEVAL_WRAP(t,Dual_Photon_Blasters_Mojo) TYPEVAL_WRAP(t,Psionic_Shockwave_TZ_Archon) TYPEVAL_WRAP(t,Psionic_Shockwave) TYPEVAL_WRAP(t,Psi_Assault) TYPEVAL_WRAP(t,Phase_Disruptor_Fenix) TYPEVAL_WRAP(t,Phase_Disruptor) TYPEVAL_WRAP(t,Psi_Blades_Fenix) TYPEVAL_WRAP(t,Psi_Blades) TYPEVAL_WRAP(t,Particle_Beam) TYPEVAL_WRAP(t,Suicide_Scourge) TYPEVAL_WRAP(t,Suicide_Infested_Terran) TYPEVAL_WRAP(t,Subterranean_Tentacle) TYPEVAL_WRAP(t,Glave_Wurm_Kukulza) TYPEVAL_WRAP(t,Glave_Wurm) TYPEVAL_WRAP(t,Acid_Spore_Kukulza) TYPEVAL_WRAP(t,Acid_Spore) TYPEVAL_WRAP(t,Spines) TYPEVAL_WRAP(t,Toxic_Spores) TYPEVAL_WRAP(t,Kaiser_Blades_Torrasque) TYPEVAL_WRAP(t,Needle_Spines_Hunter_Killer) TYPEVAL_WRAP(t,Kaiser_Blades) TYPEVAL_WRAP(t,Needle_Spines) TYPEVAL_WRAP(t,Claws_Infested_Kerrigan) TYPEVAL_WRAP(t,Claws_Devouring_One) TYPEVAL_WRAP(t,Claws) TYPEVAL_WRAP(t,Arclite_Shock_Cannon_Edmund_Duke) TYPEVAL_WRAP(t,Arclite_Shock_Cannon) TYPEVAL_WRAP(t,Flame_Thrower_Gui_Montag) TYPEVAL_WRAP(t,Flame_Thrower) TYPEVAL_WRAP(t,ATA_Laser_Battery) TYPEVAL_WRAP(t,ATA_Laser_Battery_Hero) TYPEVAL_WRAP(t,ATA_Laser_Battery_Hyperion) TYPEVAL_WRAP(t,ATS_Laser_Battery) TYPEVAL_WRAP(t,ATS_Laser_Battery_Hero) TYPEVAL_WRAP(t,ATS_Laser_Battery_Hyperion) TYPEVAL_WRAP(t,Burst_Lasers_Tom_Kazansky) TYPEVAL_WRAP(t,Burst_Lasers) TYPEVAL_WRAP(t,Gemini_Missiles_Tom_Kazansky) TYPEVAL_WRAP(t,Gemini_Missiles) TYPEVAL_WRAP(t,Fusion_Cutter) TYPEVAL_WRAP(t,Arclite_Cannon_Edmund_Duke) TYPEVAL_WRAP(t,Arclite_Cannon) TYPEVAL_WRAP(t,Hellfire_Missile_Pack_Alan_Schezar) TYPEVAL_WRAP(t,Hellfire_Missile_Pack) TYPEVAL_WRAP(t,C_10_Canister_Rifle) TYPEVAL_WRAP(t,C_10_Canister_Rifle_Sarah_Kerrigan) TYPEVAL_WRAP(t,C_10_Canister_Rifle_Samir_Duran) TYPEVAL_WRAP(t,C_10_Canister_Rifle_Infested_Duran) TYPEVAL_WRAP(t,C_10_Canister_Rifle_Alexei_Stukov) TYPEVAL_WRAP(t,Gauss_Rifle) TYPEVAL_WRAP(t,Gauss_Rifle_Jim_Raynor) TYPEVAL_WRAP(t,Hellfire_Missile_Pack_Floor_Trap) TYPEVAL_WRAP(t,Flame_Thrower_Wall_Trap) TYPEVAL_WRAP(t,Hellfire_Missile_Pack_Wall_Trap) TYPEVAL_WRAP(t,Warp_Blades) TYPEVAL_WRAP(t,Twin_Autocannons_Alan_Schezar) TYPEVAL_WRAP(t,Twin_Autocannons) TYPEVAL_WRAP(t,Fragmentation_Grenade_Jim_Raynor) TYPEVAL_WRAP(t,Fragmentation_Grenade) TYPEVAL_WRAP(t,Charon_Boosters) TYPEVAL_WRAP(t,Anabolic_Synthesis) TYPEVAL_WRAP(t,Chitinous_Plating) TYPEVAL_WRAP(t,Caduceus_Reactir) TYPEVAL_WRAP(t,Argus_Talisman) TYPEVAL_WRAP(t,Argus_Jewel) TYPEVAL_WRAP(t,Khaydarin_Core) TYPEVAL_WRAP(t,Carrier_Capacity) TYPEVAL_WRAP(t,Gravitic_Thrusters) TYPEVAL_WRAP(t,Apial_Sensors) TYPEVAL_WRAP(t,Khaydarin_Amulet) TYPEVAL_WRAP(t,Gravitic_Boosters) TYPEVAL_WRAP(t,Sensor_Array) TYPEVAL_WRAP(t,Gravitic_Drive) TYPEVAL_WRAP(t,Reaver_Capacity) TYPEVAL_WRAP(t,Scarab_Damage) TYPEVAL_WRAP(t,Leg_Enhancements) TYPEVAL_WRAP(t,Singularity_Charge) TYPEVAL_WRAP(t,Metasynaptic_Node) TYPEVAL_WRAP(t,Gamete_Meiosis) TYPEVAL_WRAP(t,Grooved_Spines) TYPEVAL_WRAP(t,Muscular_Augments) TYPEVAL_WRAP(t,Adrenal_Glands) TYPEVAL_WRAP(t,Metabolic_Boost) TYPEVAL_WRAP(t,Antennae) TYPEVAL_WRAP(t,Ventral_Sacs) TYPEVAL_WRAP(t,Colossus_Reactor) TYPEVAL_WRAP(t,Apollo_Reactor) TYPEVAL_WRAP(t,Moebius_Reactor) TYPEVAL_WRAP(t,Ocular_Implants) TYPEVAL_WRAP(t,Titan_Reactor) TYPEVAL_WRAP(t,Ion_Thrusters) TYPEVAL_WRAP(t,U_238_Shells) TYPEVAL_WRAP(t,Protoss_Plasma_Shields) TYPEVAL_WRAP(t,Protoss_Air_Weapons) TYPEVAL_WRAP(t,Protoss_Ground_Weapons) TYPEVAL_WRAP(t,Zerg_Flyer_Attacks) TYPEVAL_WRAP(t,Zerg_Missile_Attacks) TYPEVAL_WRAP(t,Zerg_Melee_Attacks) TYPEVAL_WRAP(t,Terran_Ship_Weapons) TYPEVAL_WRAP(t,Terran_Vehicle_Weapons) TYPEVAL_WRAP(t,Terran_Infantry_Weapons) TYPEVAL_WRAP(t,Protoss_Air_Armor) TYPEVAL_WRAP(t,Protoss_Ground_Armor) TYPEVAL_WRAP(t,Zerg_Flyer_Carapace) TYPEVAL_WRAP(t,Zerg_Carapace) TYPEVAL_WRAP(t,Terran_Ship_Plating) TYPEVAL_WRAP(t,Terran_Vehicle_Plating) TYPEVAL_WRAP(t,Terran_Infantry_Armor) TYPEVAL_WRAP(t,Repair) TYPEVAL_WRAP(t,Attack_Move) TYPEVAL_WRAP(t,Stim_Packs) TYPEVAL_WRAP(t,Zerg) TYPEVAL_WRAP(t,Pneumatized_Carapace) TYPEVAL_WRAP(t,Caduceus_Reactor) TYPEVAL_WRAP(t,Player) %enddef TYPE_WRAP(BulletType) TYPE_WRAP(DamageType) TYPE_WRAP(Error) TYPE_WRAP(ExplosionType) TYPE_WRAP(GameType) TYPE_WRAP(Order) TYPE_WRAP(PlayerType) TYPE_WRAP(Race) TYPE_WRAP(TechType) TYPE_WRAP(UnitCommandType) TYPE_WRAP(UnitSizeType) TYPE_WRAP(UnitType) TYPE_WRAP(UpgradeType) TYPE_WRAP(WeaponType) %rename(Text_Invisible) BWAPI::Text::Invisible; %include "BWAPI.h"