Struct SSkirmishAICallback

Source
#[repr(C)]
pub struct SSkirmishAICallback {
Show 590 fields pub Engine_handleCommand: Option<unsafe extern "C" fn(i32, i32, i32, i32, *mut c_void) -> i32>, pub Engine_executeCommand: Option<unsafe extern "C" fn(i32, i32, i32, *mut c_void) -> i32>, pub Engine_Version_getMajor: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Engine_Version_getMinor: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Engine_Version_getPatchset: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Engine_Version_getCommits: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Engine_Version_getHash: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Engine_Version_getBranch: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Engine_Version_getAdditional: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Engine_Version_getBuildTime: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Engine_Version_isRelease: Option<unsafe extern "C" fn(i32) -> bool>, pub Engine_Version_getNormal: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Engine_Version_getSync: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Engine_Version_getFull: Option<unsafe extern "C" fn(i32) -> *const i8>, pub getNumTeams: Option<unsafe extern "C" fn(i32) -> i32>, pub getNumSkirmishAIs: Option<unsafe extern "C" fn(i32) -> i32>, pub getMaxSkirmishAIs: Option<unsafe extern "C" fn(i32) -> i32>, pub SkirmishAI_getTeamId: Option<unsafe extern "C" fn(i32) -> i32>, pub SkirmishAI_Info_getSize: Option<unsafe extern "C" fn(i32) -> i32>, pub SkirmishAI_Info_getKey: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub SkirmishAI_Info_getValue: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub SkirmishAI_Info_getDescription: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub SkirmishAI_Info_getValueByKey: Option<unsafe extern "C" fn(i32, *const i8) -> *const i8>, pub SkirmishAI_OptionValues_getSize: Option<unsafe extern "C" fn(i32) -> i32>, pub SkirmishAI_OptionValues_getKey: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub SkirmishAI_OptionValues_getValue: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub SkirmishAI_OptionValues_getValueByKey: Option<unsafe extern "C" fn(i32, *const i8) -> *const i8>, pub Log_log: Option<unsafe extern "C" fn(i32, *const i8)>, pub Log_exception: Option<unsafe extern "C" fn(i32, *const i8, i32, bool)>, pub DataDirs_getPathSeparator: Option<unsafe extern "C" fn(i32) -> i8>, pub DataDirs_getConfigDir: Option<unsafe extern "C" fn(i32) -> *const i8>, pub DataDirs_getWriteableDir: Option<unsafe extern "C" fn(i32) -> *const i8>, pub DataDirs_locatePath: Option<unsafe extern "C" fn(i32, *mut i8, i32, *const i8, bool, bool, bool, bool) -> bool>, pub DataDirs_Roots_getSize: Option<unsafe extern "C" fn(i32) -> i32>, pub DataDirs_Roots_getDir: Option<unsafe extern "C" fn(i32, *mut i8, i32, i32) -> bool>, pub DataDirs_Roots_locatePath: Option<unsafe extern "C" fn(i32, *mut i8, i32, *const i8, bool, bool, bool) -> bool>, pub Game_getCurrentFrame: Option<unsafe extern "C" fn(i32) -> i32>, pub Game_getAiInterfaceVersion: Option<unsafe extern "C" fn(i32) -> i32>, pub Game_getMyTeam: Option<unsafe extern "C" fn(i32) -> i32>, pub Game_getMyAllyTeam: Option<unsafe extern "C" fn(i32) -> i32>, pub Game_getPlayerTeam: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Game_getTeams: Option<unsafe extern "C" fn(i32) -> i32>, pub Game_getTeamSide: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub Game_getTeamColor: Option<unsafe extern "C" fn(i32, i32, *mut i16)>, pub Game_getTeamIncomeMultiplier: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Game_getTeamAllyTeam: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Game_getTeamResourceCurrent: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Game_getTeamResourceIncome: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Game_getTeamResourceUsage: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Game_getTeamResourceStorage: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Game_getTeamResourcePull: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Game_getTeamResourceShare: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Game_getTeamResourceSent: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Game_getTeamResourceReceived: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Game_getTeamResourceExcess: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Game_isAllied: Option<unsafe extern "C" fn(i32, i32, i32) -> bool>, pub Game_isDebugModeEnabled: Option<unsafe extern "C" fn(i32) -> bool>, pub Game_getMode: Option<unsafe extern "C" fn(i32) -> i32>, pub Game_isPaused: Option<unsafe extern "C" fn(i32) -> bool>, pub Game_getSpeedFactor: Option<unsafe extern "C" fn(i32) -> f32>, pub Game_getSetupScript: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Game_getCategoryFlag: Option<unsafe extern "C" fn(i32, *const i8) -> i32>, pub Game_getCategoriesFlag: Option<unsafe extern "C" fn(i32, *const i8) -> i32>, pub Game_getCategoryName: Option<unsafe extern "C" fn(i32, i32, *mut i8, i32)>, pub Game_getRulesParamFloat: Option<unsafe extern "C" fn(i32, *const i8, f32) -> f32>, pub Game_getRulesParamString: Option<unsafe extern "C" fn(i32, *const i8, *const i8) -> *const i8>, pub Cheats_isEnabled: Option<unsafe extern "C" fn(i32) -> bool>, pub Cheats_setEnabled: Option<unsafe extern "C" fn(i32, bool) -> bool>, pub Cheats_setEventsEnabled: Option<unsafe extern "C" fn(i32, bool) -> bool>, pub Cheats_isOnlyPassive: Option<unsafe extern "C" fn(i32) -> bool>, pub getResources: Option<unsafe extern "C" fn(i32) -> i32>, pub getResourceByName: Option<unsafe extern "C" fn(i32, *const i8) -> i32>, pub Resource_getName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub Resource_getOptimum: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Economy_getCurrent: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Economy_getIncome: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Economy_getUsage: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Economy_getStorage: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Economy_getPull: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Economy_getShare: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Economy_getSent: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Economy_getReceived: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Economy_getExcess: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub File_getSize: Option<unsafe extern "C" fn(i32, *const i8) -> i32>, pub File_getContent: Option<unsafe extern "C" fn(i32, *const i8, *mut c_void, i32) -> bool>, pub getUnitDefs: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub getUnitDefByName: Option<unsafe extern "C" fn(i32, *const i8) -> i32>, pub UnitDef_getHeight: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub UnitDef_getHumanName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub UnitDef_getUpkeep: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub UnitDef_getResourceMake: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub UnitDef_getMakesResource: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub UnitDef_getCost: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub UnitDef_getExtractsResource: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub UnitDef_getResourceExtractorRange: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub UnitDef_getWindResourceGenerator: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub UnitDef_getTidalResourceGenerator: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub UnitDef_getStorage: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub UnitDef_getBuildTime: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getAutoHeal: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getIdleAutoHeal: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getIdleTime: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getPower: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getHealth: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getCategory: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getTurnRate: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_isTurnInPlace: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getTurnInPlaceDistance: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getTurnInPlaceSpeedLimit: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_isUpright: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isCollide: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getLosRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getAirLosRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getLosHeight: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getRadarRadius: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getSonarRadius: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getJammerRadius: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getSonarJamRadius: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getSeismicRadius: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getSeismicSignature: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_isStealth: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isSonarStealth: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isBuildRange3D: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getBuildDistance: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getBuildSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getReclaimSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getRepairSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMaxRepairSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getResurrectSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getCaptureSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getTerraformSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getUpDirSmoothing: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMass: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_isPushResistant: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isStrafeToAttack: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getMinCollisionSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getSlideTolerance: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMaxHeightDif: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMinWaterDepth: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getWaterline: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMaxWaterDepth: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getArmoredMultiple: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getArmorType: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_FlankingBonus_getMode: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_FlankingBonus_getDir: Option<unsafe extern "C" fn(i32, i32, *mut f32)>, pub UnitDef_FlankingBonus_getMax: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_FlankingBonus_getMin: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_FlankingBonus_getMobilityAdd: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMaxWeaponRange: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getTooltip: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub UnitDef_getWreckName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub UnitDef_getDeathExplosion: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getSelfDExplosion: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getCategoryString: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub UnitDef_isAbleToSelfD: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getSelfDCountdown: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_isAbleToSubmerge: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToFly: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToMove: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToHover: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isFloater: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isBuilder: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isActivateWhenBuilt: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isOnOffable: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isFullHealthFactory: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isFactoryHeadingTakeoff: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isReclaimable: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isCapturable: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToRestore: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToRepair: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToSelfRepair: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToReclaim: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToAttack: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToPatrol: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToFight: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToGuard: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToAssist: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAssistable: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToRepeat: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToFireControl: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getFireState: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getMoveState: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getWingDrag: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getWingAngle: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getFrontToSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getSpeedToFront: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMyGravity: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMaxBank: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMaxPitch: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getTurnRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getWantedHeight: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getVerticalSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_isHoverAttack: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAirStrafe: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getDlHoverFactor: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMaxAcceleration: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMaxDeceleration: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMaxAileron: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMaxElevator: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMaxRudder: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getYardMap: Option<unsafe extern "C" fn(i32, i32, i32, *mut i16, i32) -> i32>, pub UnitDef_getXSize: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getZSize: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getLoadingRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getUnloadSpread: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getTransportCapacity: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getTransportSize: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getMinTransportSize: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_isAirBase: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isFirePlatform: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getTransportMass: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getMinTransportMass: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_isHoldSteady: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isReleaseHeld: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isNotTransportable: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isTransportByEnemy: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getTransportUnloadMethod: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getFallSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getUnitFallSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_isAbleToCloak: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isStartCloaked: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getCloakCost: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getCloakCostMoving: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getDecloakDistance: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_isDecloakSpherical: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isDecloakOnFire: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToKamikaze: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getKamikazeDist: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_isTargetingFacility: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_canManualFire: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isNeedGeo: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isFeature: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isHideDamage: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isShowPlayerName: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToResurrect: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isAbleToCapture: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getHighTrajectoryType: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getNoChaseCategory: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_isAbleToDropFlare: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getFlareReloadTime: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getFlareEfficiency: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getFlareDelay: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_getFlareDropVector: Option<unsafe extern "C" fn(i32, i32, *mut f32)>, pub UnitDef_getFlareTime: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getFlareSalvoSize: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getFlareSalvoDelay: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_isAbleToLoopbackAttack: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_isLevelGround: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getMaxThisUnit: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getDecoyDef: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_isDontLand: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_getShieldDef: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getStockpileDef: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_getBuildOptions: Option<unsafe extern "C" fn(i32, i32, *mut i32, i32) -> i32>, pub UnitDef_getCustomParams: Option<unsafe extern "C" fn(i32, i32, *mut *const i8, *mut *const i8) -> i32>, pub UnitDef_isMoveDataAvailable: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_MoveData_getXSize: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_MoveData_getZSize: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_MoveData_getDepth: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_MoveData_getMaxSlope: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_MoveData_getSlopeMod: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_MoveData_getDepthMod: Option<unsafe extern "C" fn(i32, i32, f32) -> f32>, pub UnitDef_MoveData_getPathType: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_MoveData_getCrushStrength: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub UnitDef_MoveData_getSpeedModClass: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_MoveData_getTerrainClass: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_MoveData_getFollowGround: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_MoveData_isSubMarine: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub UnitDef_MoveData_getName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub UnitDef_getWeaponMounts: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub UnitDef_WeaponMount_getName: Option<unsafe extern "C" fn(i32, i32, i32) -> *const i8>, pub UnitDef_WeaponMount_getWeaponDef: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub UnitDef_WeaponMount_getSlavedTo: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub UnitDef_WeaponMount_getMainDir: Option<unsafe extern "C" fn(i32, i32, i32, *mut f32)>, pub UnitDef_WeaponMount_getMaxAngleDif: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub UnitDef_WeaponMount_getBadTargetCategory: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub UnitDef_WeaponMount_getOnlyTargetCategory: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub Unit_getLimit: Option<unsafe extern "C" fn(i32) -> i32>, pub Unit_getMax: Option<unsafe extern "C" fn(i32) -> i32>, pub getEnemyUnits: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub getEnemyUnitsIn: Option<unsafe extern "C" fn(i32, *mut f32, f32, bool, *mut i32, i32) -> i32>, pub getEnemyUnitsInRadarAndLos: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub getFriendlyUnits: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub getFriendlyUnitsIn: Option<unsafe extern "C" fn(i32, *mut f32, f32, bool, *mut i32, i32) -> i32>, pub getNeutralUnits: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub getNeutralUnitsIn: Option<unsafe extern "C" fn(i32, *mut f32, f32, bool, *mut i32, i32) -> i32>, pub getTeamUnits: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub getSelectedUnits: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub Unit_getDef: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Unit_getRulesParamFloat: Option<unsafe extern "C" fn(i32, i32, *const i8, f32) -> f32>, pub Unit_getRulesParamString: Option<unsafe extern "C" fn(i32, i32, *const i8, *const i8) -> *const i8>, pub Unit_getTeam: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Unit_getAllyTeam: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Unit_getStockpile: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Unit_getStockpileQueued: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Unit_getMaxSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Unit_getMaxRange: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Unit_getMaxHealth: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Unit_getExperience: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Unit_getGroup: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Unit_getCurrentCommands: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Unit_CurrentCommand_getType: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Unit_CurrentCommand_getId: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub Unit_CurrentCommand_getOptions: Option<unsafe extern "C" fn(i32, i32, i32) -> i16>, pub Unit_CurrentCommand_getTag: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub Unit_CurrentCommand_getTimeOut: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub Unit_CurrentCommand_getParams: Option<unsafe extern "C" fn(i32, i32, i32, *mut f32, i32) -> i32>, pub Unit_getSupportedCommands: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Unit_SupportedCommand_getId: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub Unit_SupportedCommand_getName: Option<unsafe extern "C" fn(i32, i32, i32) -> *const i8>, pub Unit_SupportedCommand_getToolTip: Option<unsafe extern "C" fn(i32, i32, i32) -> *const i8>, pub Unit_SupportedCommand_isShowUnique: Option<unsafe extern "C" fn(i32, i32, i32) -> bool>, pub Unit_SupportedCommand_isDisabled: Option<unsafe extern "C" fn(i32, i32, i32) -> bool>, pub Unit_SupportedCommand_getParams: Option<unsafe extern "C" fn(i32, i32, i32, *mut *const i8, i32) -> i32>, pub Unit_getHealth: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Unit_getParalyzeDamage: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Unit_getCaptureProgress: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Unit_getBuildProgress: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Unit_getSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Unit_getPower: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Unit_getResourceUse: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Unit_getResourceMake: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Unit_getPos: Option<unsafe extern "C" fn(i32, i32, *mut f32)>, pub Unit_getVel: Option<unsafe extern "C" fn(i32, i32, *mut f32)>, pub Unit_isActivated: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub Unit_isBeingBuilt: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub Unit_isCloaked: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub Unit_isParalyzed: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub Unit_isNeutral: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub Unit_getBuildingFacing: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Unit_getLastUserOrderFrame: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Unit_getWeapons: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Unit_getWeapon: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub Team_hasAIController: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub getEnemyTeams: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub getAlliedTeams: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub Team_getRulesParamFloat: Option<unsafe extern "C" fn(i32, i32, *const i8, f32) -> f32>, pub Team_getRulesParamString: Option<unsafe extern "C" fn(i32, i32, *const i8, *const i8) -> *const i8>, pub getGroups: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub Group_getSupportedCommands: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Group_SupportedCommand_getId: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub Group_SupportedCommand_getName: Option<unsafe extern "C" fn(i32, i32, i32) -> *const i8>, pub Group_SupportedCommand_getToolTip: Option<unsafe extern "C" fn(i32, i32, i32) -> *const i8>, pub Group_SupportedCommand_isShowUnique: Option<unsafe extern "C" fn(i32, i32, i32) -> bool>, pub Group_SupportedCommand_isDisabled: Option<unsafe extern "C" fn(i32, i32, i32) -> bool>, pub Group_SupportedCommand_getParams: Option<unsafe extern "C" fn(i32, i32, i32, *mut *const i8, i32) -> i32>, pub Group_OrderPreview_getId: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Group_OrderPreview_getOptions: Option<unsafe extern "C" fn(i32, i32) -> i16>, pub Group_OrderPreview_getTag: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Group_OrderPreview_getTimeOut: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Group_OrderPreview_getParams: Option<unsafe extern "C" fn(i32, i32, *mut f32, i32) -> i32>, pub Group_isSelected: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub Mod_getFileName: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Mod_getHash: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getHumanName: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Mod_getShortName: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Mod_getVersion: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Mod_getMutator: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Mod_getDescription: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Mod_getConstructionDecay: Option<unsafe extern "C" fn(i32) -> bool>, pub Mod_getConstructionDecayTime: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getConstructionDecaySpeed: Option<unsafe extern "C" fn(i32) -> f32>, pub Mod_getMultiReclaim: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getReclaimMethod: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getReclaimUnitMethod: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getReclaimUnitEnergyCostFactor: Option<unsafe extern "C" fn(i32) -> f32>, pub Mod_getReclaimUnitEfficiency: Option<unsafe extern "C" fn(i32) -> f32>, pub Mod_getReclaimFeatureEnergyCostFactor: Option<unsafe extern "C" fn(i32) -> f32>, pub Mod_getReclaimAllowEnemies: Option<unsafe extern "C" fn(i32) -> bool>, pub Mod_getReclaimAllowAllies: Option<unsafe extern "C" fn(i32) -> bool>, pub Mod_getRepairEnergyCostFactor: Option<unsafe extern "C" fn(i32) -> f32>, pub Mod_getResurrectEnergyCostFactor: Option<unsafe extern "C" fn(i32) -> f32>, pub Mod_getCaptureEnergyCostFactor: Option<unsafe extern "C" fn(i32) -> f32>, pub Mod_getTransportGround: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getTransportHover: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getTransportShip: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getTransportAir: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getFireAtKilled: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getFireAtCrashing: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getFlankingBonusModeDefault: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getLosMipLevel: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getAirMipLevel: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getRadarMipLevel: Option<unsafe extern "C" fn(i32) -> i32>, pub Mod_getRequireSonarUnderWater: Option<unsafe extern "C" fn(i32) -> bool>, pub Map_getChecksum: Option<unsafe extern "C" fn(i32) -> i32>, pub Map_getStartPos: Option<unsafe extern "C" fn(i32, *mut f32)>, pub Map_getMousePos: Option<unsafe extern "C" fn(i32, *mut f32)>, pub Map_isPosInCamera: Option<unsafe extern "C" fn(i32, *mut f32, f32) -> bool>, pub Map_getWidth: Option<unsafe extern "C" fn(i32) -> i32>, pub Map_getHeight: Option<unsafe extern "C" fn(i32) -> i32>, pub Map_getHeightMap: Option<unsafe extern "C" fn(i32, *mut f32, i32) -> i32>, pub Map_getCornersHeightMap: Option<unsafe extern "C" fn(i32, *mut f32, i32) -> i32>, pub Map_getMinHeight: Option<unsafe extern "C" fn(i32) -> f32>, pub Map_getMaxHeight: Option<unsafe extern "C" fn(i32) -> f32>, pub Map_getSlopeMap: Option<unsafe extern "C" fn(i32, *mut f32, i32) -> i32>, pub Map_getLosMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub Map_getAirLosMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub Map_getRadarMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub Map_getSonarMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub Map_getSeismicMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub Map_getJammerMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub Map_getSonarJammerMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub Map_getResourceMapRaw: Option<unsafe extern "C" fn(i32, i32, *mut i16, i32) -> i32>, pub Map_getResourceMapSpotsPositions: Option<unsafe extern "C" fn(i32, i32, *mut f32, i32) -> i32>, pub Map_getResourceMapSpotsAverageIncome: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Map_getResourceMapSpotsNearest: Option<unsafe extern "C" fn(i32, i32, *mut f32, *mut f32)>, pub Map_getHash: Option<unsafe extern "C" fn(i32) -> i32>, pub Map_getName: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Map_getHumanName: Option<unsafe extern "C" fn(i32) -> *const i8>, pub Map_getElevationAt: Option<unsafe extern "C" fn(i32, f32, f32) -> f32>, pub Map_getMaxResource: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Map_getExtractorRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Map_getMinWind: Option<unsafe extern "C" fn(i32) -> f32>, pub Map_getMaxWind: Option<unsafe extern "C" fn(i32) -> f32>, pub Map_getCurWind: Option<unsafe extern "C" fn(i32) -> f32>, pub Map_getTidalStrength: Option<unsafe extern "C" fn(i32) -> f32>, pub Map_getGravity: Option<unsafe extern "C" fn(i32) -> f32>, pub Map_getWaterDamage: Option<unsafe extern "C" fn(i32) -> f32>, pub Map_isDeformable: Option<unsafe extern "C" fn(i32) -> bool>, pub Map_getHardness: Option<unsafe extern "C" fn(i32) -> f32>, pub Map_getHardnessModMap: Option<unsafe extern "C" fn(i32, *mut f32, i32) -> i32>, pub Map_getSpeedModMap: Option<unsafe extern "C" fn(i32, i32, *mut f32, i32) -> i32>, pub Map_getPoints: Option<unsafe extern "C" fn(i32, bool) -> i32>, pub Map_Point_getPosition: Option<unsafe extern "C" fn(i32, i32, *mut f32)>, pub Map_Point_getColor: Option<unsafe extern "C" fn(i32, i32, *mut i16)>, pub Map_Point_getLabel: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub Map_getLines: Option<unsafe extern "C" fn(i32, bool) -> i32>, pub Map_Line_getFirstPosition: Option<unsafe extern "C" fn(i32, i32, *mut f32)>, pub Map_Line_getSecondPosition: Option<unsafe extern "C" fn(i32, i32, *mut f32)>, pub Map_Line_getColor: Option<unsafe extern "C" fn(i32, i32, *mut i16)>, pub Map_isPossibleToBuildAt: Option<unsafe extern "C" fn(i32, i32, *mut f32, i32) -> bool>, pub Map_findClosestBuildSite: Option<unsafe extern "C" fn(i32, i32, *mut f32, f32, i32, i32, *mut f32)>, pub getFeatureDefs: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub FeatureDef_getName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub FeatureDef_getDescription: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub FeatureDef_getContainedResource: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub FeatureDef_getMaxHealth: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub FeatureDef_getReclaimTime: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub FeatureDef_getMass: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub FeatureDef_isUpright: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub FeatureDef_getDrawType: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub FeatureDef_getModelName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub FeatureDef_getResurrectable: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub FeatureDef_getSmokeTime: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub FeatureDef_isDestructable: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub FeatureDef_isReclaimable: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub FeatureDef_isAutoreclaimable: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub FeatureDef_isBlocking: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub FeatureDef_isBurnable: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub FeatureDef_isFloating: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub FeatureDef_isNoSelect: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub FeatureDef_isGeoThermal: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub FeatureDef_getXSize: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub FeatureDef_getZSize: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub FeatureDef_getCustomParams: Option<unsafe extern "C" fn(i32, i32, *mut *const i8, *mut *const i8) -> i32>, pub getFeatures: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>, pub getFeaturesIn: Option<unsafe extern "C" fn(i32, *mut f32, f32, bool, *mut i32, i32) -> i32>, pub Feature_getDef: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Feature_getHealth: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Feature_getReclaimLeft: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub Feature_getPosition: Option<unsafe extern "C" fn(i32, i32, *mut f32)>, pub Feature_getRulesParamFloat: Option<unsafe extern "C" fn(i32, i32, *const i8, f32) -> f32>, pub Feature_getRulesParamString: Option<unsafe extern "C" fn(i32, i32, *const i8, *const i8) -> *const i8>, pub Feature_getResurrectDef: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub Feature_getBuildingFacing: Option<unsafe extern "C" fn(i32, i32) -> i16>, pub getWeaponDefs: Option<unsafe extern "C" fn(i32) -> i32>, pub getWeaponDefByName: Option<unsafe extern "C" fn(i32, *const i8) -> i32>, pub WeaponDef_getName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub WeaponDef_getType: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub WeaponDef_getDescription: Option<unsafe extern "C" fn(i32, i32) -> *const i8>, pub WeaponDef_getRange: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getHeightMod: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getAccuracy: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getSprayAngle: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getMovingAccuracy: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getTargetMoveError: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getLeadLimit: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getLeadBonus: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getPredictBoost: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getNumDamageTypes: Option<unsafe extern "C" fn(i32) -> i32>, pub WeaponDef_Damage_getParalyzeDamageTime: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_Damage_getImpulseFactor: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_Damage_getImpulseBoost: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_Damage_getCraterMult: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_Damage_getCraterBoost: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_Damage_getTypes: Option<unsafe extern "C" fn(i32, i32, *mut f32, i32) -> i32>, pub WeaponDef_getAreaOfEffect: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_isNoSelfDamage: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_getFireStarter: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getEdgeEffectiveness: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getSize: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getSizeGrowth: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getCollisionSize: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getSalvoSize: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_getSalvoDelay: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getReload: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getBeamTime: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_isBeamBurst: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isWaterBounce: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isGroundBounce: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_getBounceRebound: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getBounceSlip: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getNumBounce: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_getMaxAngle: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getUpTime: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getFlightTime: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_getCost: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub WeaponDef_getProjectilesPerShot: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_isTurret: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isOnlyForward: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isFixedLauncher: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isWaterWeapon: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isFireSubmersed: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isSubMissile: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isTracks: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isDropped: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isParalyzer: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isImpactOnly: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isNoAutoTarget: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isManualFire: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_getInterceptor: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_getTargetable: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_isStockpileable: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_getCoverageRange: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getStockpileTime: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getIntensity: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getDuration: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getFalloffRate: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_isSoundTrigger: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isSelfExplode: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isGravityAffected: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_getHighTrajectory: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_getMyGravity: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_isNoExplode: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_getStartVelocity: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getWeaponAcceleration: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getTurnRate: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getMaxVelocity: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getProjectileSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getExplosionSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getOnlyTargetCategory: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_getWobble: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getDance: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getTrajectoryHeight: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_isLargeBeamLaser: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isShield: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isShieldRepulser: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isSmartShield: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isExteriorShield: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isVisibleShield: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isVisibleShieldRepulse: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_getVisibleShieldHitFrames: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_Shield_getResourceUse: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub WeaponDef_Shield_getRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_Shield_getForce: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_Shield_getMaxSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_Shield_getPower: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_Shield_getPowerRegen: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_Shield_getPowerRegenResource: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub WeaponDef_Shield_getStartingPower: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_Shield_getRechargeDelay: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_Shield_getInterceptType: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_getInterceptedByShieldType: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_isAvoidFriendly: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isAvoidFeature: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isAvoidNeutral: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_getTargetBorder: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getCylinderTargetting: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getMinIntensity: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getHeightBoostFactor: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getProximityPriority: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getCollisionFlags: Option<unsafe extern "C" fn(i32, i32) -> i32>, pub WeaponDef_isSweepFire: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_isAbleToAttackGround: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_getCameraShake: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getDynDamageExp: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getDynDamageMin: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_getDynDamageRange: Option<unsafe extern "C" fn(i32, i32) -> f32>, pub WeaponDef_isDynDamageInverted: Option<unsafe extern "C" fn(i32, i32) -> bool>, pub WeaponDef_getCustomParams: Option<unsafe extern "C" fn(i32, i32, *mut *const i8, *mut *const i8) -> i32>, pub Unit_Weapon_getDef: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub Unit_Weapon_getReloadFrame: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub Unit_Weapon_getReloadTime: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>, pub Unit_Weapon_getRange: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Unit_Weapon_isShieldEnabled: Option<unsafe extern "C" fn(i32, i32, i32) -> bool>, pub Unit_Weapon_getShieldPower: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>, pub Debug_GraphDrawer_isEnabled: Option<unsafe extern "C" fn(i32) -> bool>,
}
Expand description

@brief Skirmish AI Callback function pointers. Each Skirmish AI instance will receive an instance of this struct in its init(skirmishAIId) function and with the SInitEvent.

This struct contains only activities that leave the game state as it is, in spring terms: unsynced events Activities that change game state (-> synced events) are handled through AI commands, defined in AISCommands.h.

The skirmishAIId passed as the first parameter to each function in this struct has to be the ID of the AI instance using the callback.

Fields§

§Engine_handleCommand: Option<unsafe extern "C" fn(i32, i32, i32, i32, *mut c_void) -> i32>

Whenever an AI wants to change the engine state in any way, it has to call this method. In other words, all commands from AIs to the engine (and other AIs) go through this method.

@param skirmishAIId the ID of the AI that sends the command @param toId the team number of the AI that should receive the command, or COMMAND_TO_ID_ENGINE if it is addressed to the engine @param commandId used on asynchronous commands, this allows the AI to identify a possible result event, which would come with the same id @param commandTopic unique identifier of a command (see COMMAND_* defines in AISCommands.h) @param commandData a commandTopic specific struct, which contains the data associated with the command (see *Command structs) @return 0: if command handling ok != 0: something else otherwise

§Engine_executeCommand: Option<unsafe extern "C" fn(i32, i32, i32, *mut c_void) -> i32>§Engine_Version_getMajor: Option<unsafe extern "C" fn(i32) -> *const i8>

Returns the major engine revision number (e.g. 83)

§Engine_Version_getMinor: Option<unsafe extern "C" fn(i32) -> *const i8>

Minor version number (e.g. “5”) @deprecated since 4. October 2011 (pre release 83), will always return “0”

§Engine_Version_getPatchset: Option<unsafe extern "C" fn(i32) -> *const i8>

Clients that only differ in patchset can still play together. Also demos should be compatible between patchsets.

§Engine_Version_getCommits: Option<unsafe extern "C" fn(i32) -> *const i8>

SCM Commits version part (e.g. “” or “13”) Number of commits since the last version tag. This matches the regex “[0-9]*”.

§Engine_Version_getHash: Option<unsafe extern "C" fn(i32) -> *const i8>

SCM unique identifier for the current commit. This matches the regex “([0-9a-f]{6})?”.

§Engine_Version_getBranch: Option<unsafe extern "C" fn(i32) -> *const i8>

SCM branch name (e.g. “master” or “develop”)

§Engine_Version_getAdditional: Option<unsafe extern "C" fn(i32) -> *const i8>

Additional information (compiler flags, svn revision etc.)

§Engine_Version_getBuildTime: Option<unsafe extern "C" fn(i32) -> *const i8>

time of build

§Engine_Version_isRelease: Option<unsafe extern "C" fn(i32) -> bool>

Returns whether this is a release build of the engine

§Engine_Version_getNormal: Option<unsafe extern "C" fn(i32) -> *const i8>

The basic part of a spring version. This may only be used for sync-checking if IsRelease() returns true. @return “Major.PatchSet” or “Major.PatchSet.1”

§Engine_Version_getSync: Option<unsafe extern "C" fn(i32) -> *const i8>

The sync relevant part of a spring version. This may be used for sync-checking through a simple string-equality test. @return “Major” or “Major.PatchSet.1-Commits-gHash Branch”

§Engine_Version_getFull: Option<unsafe extern "C" fn(i32) -> *const i8>

The verbose, human readable version. @return “Major.Patchset[.1-Commits-gHash Branch] (Additional)”

§getNumTeams: Option<unsafe extern "C" fn(i32) -> i32>

Returns the number of teams in this game

§getNumSkirmishAIs: Option<unsafe extern "C" fn(i32) -> i32>

Returns the number of skirmish AIs in this game

§getMaxSkirmishAIs: Option<unsafe extern "C" fn(i32) -> i32>

Returns the maximum number of skirmish AIs in any game

§SkirmishAI_getTeamId: Option<unsafe extern "C" fn(i32) -> i32>

Returns the ID of the team controled by this Skirmish AI.

§SkirmishAI_Info_getSize: Option<unsafe extern "C" fn(i32) -> i32>

Returns the number of info key-value pairs in the info map for this Skirmish AI.

§SkirmishAI_Info_getKey: Option<unsafe extern "C" fn(i32, i32) -> *const i8>

Returns the key at index infoIndex in the info map for this Skirmish AI, or NULL if the infoIndex is invalid.

§SkirmishAI_Info_getValue: Option<unsafe extern "C" fn(i32, i32) -> *const i8>

Returns the value at index infoIndex in the info map for this Skirmish AI, or NULL if the infoIndex is invalid.

§SkirmishAI_Info_getDescription: Option<unsafe extern "C" fn(i32, i32) -> *const i8>

Returns the description of the key at index infoIndex in the info map for this Skirmish AI, or NULL if the infoIndex is invalid.

§SkirmishAI_Info_getValueByKey: Option<unsafe extern "C" fn(i32, *const i8) -> *const i8>

Returns the value associated with the given key in the info map for this Skirmish AI, or NULL if not found.

§SkirmishAI_OptionValues_getSize: Option<unsafe extern "C" fn(i32) -> i32>

Returns the number of option key-value pairs in the options map for this Skirmish AI.

§SkirmishAI_OptionValues_getKey: Option<unsafe extern "C" fn(i32, i32) -> *const i8>

Returns the key at index optionIndex in the options map for this Skirmish AI, or NULL if the optionIndex is invalid.

§SkirmishAI_OptionValues_getValue: Option<unsafe extern "C" fn(i32, i32) -> *const i8>

Returns the value at index optionIndex in the options map for this Skirmish AI, or NULL if the optionIndex is invalid.

§SkirmishAI_OptionValues_getValueByKey: Option<unsafe extern "C" fn(i32, *const i8) -> *const i8>

Returns the value associated with the given key in the options map for this Skirmish AI, or NULL if not found.

§Log_log: Option<unsafe extern "C" fn(i32, *const i8)>

This will end up in infolog

§Log_exception: Option<unsafe extern "C" fn(i32, *const i8, i32, bool)>

Inform the engine of an error that happend in the interface. @param msg error message @param severety from 10 for minor to 0 for fatal @param die if this is set to true, the engine assumes the interface is in an irreparable state, and it will unload it immediately.

§DataDirs_getPathSeparator: Option<unsafe extern "C" fn(i32) -> i8>

Returns ‘/’ on posix and ‘\’ on windows

§DataDirs_getConfigDir: Option<unsafe extern "C" fn(i32) -> *const i8>

This interfaces main data dir, which is where the shared library and the InterfaceInfo.lua file are located, e.g.: /usr/share/games/spring/AI/Skirmish/RAI/0.601/

§DataDirs_getWriteableDir: Option<unsafe extern "C" fn(i32) -> *const i8>

This interfaces writable data dir, which is where eg logs, caches and learning data should be stored, e.g.: /home/userX/.spring/AI/Skirmish/RAI/0.601/

§DataDirs_locatePath: Option<unsafe extern "C" fn(i32, *mut i8, i32, *const i8, bool, bool, bool, bool) -> bool>

Returns an absolute path which consists of: data-dir + Skirmish-AI-path + relative-path.

example: input: “log/main.log”, writeable, create, !dir, !common output: “/home/userX/.spring/AI/Skirmish/RAI/0.601/log/main.log” The path “/home/userX/.spring/AI/Skirmish/RAI/0.601/log/” is created, if it does not yet exist.

@see DataDirs_Roots_locatePath @param path store for the resulting absolute path @param path_sizeMax storage size of the above @param writeable if true, only the writable data-dir is considered @param create if true, and realPath is not found, its dir structure is created recursively under the writable data-dir @param dir if true, realPath specifies a dir, which means if create is true, the whole path will be created, including the last part @param common if true, the version independent data-dir is formed, which uses “common” instead of the version, eg: “/home/userX/.spring/AI/Skirmish/RAI/common/…” @return whether the locating process was successfull -> the path exists and is stored in an absolute form in path

§DataDirs_Roots_getSize: Option<unsafe extern "C" fn(i32) -> i32>

Returns the number of springs data dirs.

§DataDirs_Roots_getDir: Option<unsafe extern "C" fn(i32, *mut i8, i32, i32) -> bool>

Returns the data dir at dirIndex, which is valid between 0 and (DataDirs_Roots_getSize() - 1).

§DataDirs_Roots_locatePath: Option<unsafe extern "C" fn(i32, *mut i8, i32, *const i8, bool, bool, bool) -> bool>

Returns an absolute path which consists of: data-dir + relative-path.

example: input: “AI/Skirmish”, writeable, create, dir output: “/home/userX/.spring/AI/Skirmish/” The path “/home/userX/.spring/AI/Skirmish/” is created, if it does not yet exist.

@see DataDirs_locatePath @param path store for the resulting absolute path @param path_sizeMax storage size of the above @param relPath the relative path to find @param writeable if true, only the writable data-dir is considered @param create if true, and realPath is not found, its dir structure is created recursively under the writable data-dir @param dir if true, realPath specifies a dir, which means if create is true, the whole path will be created, including the last part @return whether the locating process was successfull -> the path exists and is stored in an absolute form in path

§Game_getCurrentFrame: Option<unsafe extern "C" fn(i32) -> i32>

Returns the current game time measured in frames (the simulation runs at 30 frames per second at normal speed)

This should not be used, as we get the frame from the SUpdateEvent. @deprecated

§Game_getAiInterfaceVersion: Option<unsafe extern "C" fn(i32) -> i32>§Game_getMyTeam: Option<unsafe extern "C" fn(i32) -> i32>§Game_getMyAllyTeam: Option<unsafe extern "C" fn(i32) -> i32>§Game_getPlayerTeam: Option<unsafe extern "C" fn(i32, i32) -> i32>§Game_getTeams: Option<unsafe extern "C" fn(i32) -> i32>

Returns the number of active teams participating in the currently running game. A return value of 6 for example, would mean that teams 0 till 5 take part in the game.

§Game_getTeamSide: Option<unsafe extern "C" fn(i32, i32) -> *const i8>

Returns the name of the side of a team in the game.

This should not be used, as it may be “”, and as the AI should rather rely on the units it has, which will lead to a more stable and versatile AI. @deprecated

@return eg. “ARM” or “CORE”; may be “”, depending on how the game was setup

§Game_getTeamColor: Option<unsafe extern "C" fn(i32, i32, *mut i16)>

Returns the color of a team in the game.

This should only be used when drawing stuff, and not for team-identification. @return the RGB color of a team, with values in [0, 255]

§Game_getTeamIncomeMultiplier: Option<unsafe extern "C" fn(i32, i32) -> f32>

Returns the income multiplier of a team in the game. All the teams resource income is multiplied by this factor. The default value is 1.0f, the valid range is [0.0, FLOAT_MAX].

§Game_getTeamAllyTeam: Option<unsafe extern "C" fn(i32, i32) -> i32>

Returns the ally-team of a team

§Game_getTeamResourceCurrent: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>

Returns the current level of a resource of another team. Allways works for allied teams. Works for all teams when cheating is enabled. @return current level of the requested resource of the other team, or -1.0 on an invalid request

§Game_getTeamResourceIncome: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>

Returns the current income of a resource of another team. Allways works for allied teams. Works for all teams when cheating is enabled. @return current income of the requested resource of the other team, or -1.0 on an invalid request

§Game_getTeamResourceUsage: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>

Returns the current usage of a resource of another team. Allways works for allied teams. Works for all teams when cheating is enabled. @return current usage of the requested resource of the other team, or -1.0 on an invalid request

§Game_getTeamResourceStorage: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>

Returns the storage capacity for a resource of another team. Allways works for allied teams. Works for all teams when cheating is enabled. @return storage capacity for the requested resource of the other team, or -1.0 on an invalid request

§Game_getTeamResourcePull: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§Game_getTeamResourceShare: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§Game_getTeamResourceSent: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§Game_getTeamResourceReceived: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§Game_getTeamResourceExcess: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§Game_isAllied: Option<unsafe extern "C" fn(i32, i32, i32) -> bool>

Returns true, if the two supplied ally-teams are currently allied

§Game_isDebugModeEnabled: Option<unsafe extern "C" fn(i32) -> bool>§Game_getMode: Option<unsafe extern "C" fn(i32) -> i32>§Game_isPaused: Option<unsafe extern "C" fn(i32) -> bool>§Game_getSpeedFactor: Option<unsafe extern "C" fn(i32) -> f32>§Game_getSetupScript: Option<unsafe extern "C" fn(i32) -> *const i8>§Game_getCategoryFlag: Option<unsafe extern "C" fn(i32, *const i8) -> i32>

Returns the categories bit field value. @return the categories bit field value or 0, in case of empty name or too many categories @see getCategoryName

§Game_getCategoriesFlag: Option<unsafe extern "C" fn(i32, *const i8) -> i32>

Returns the bitfield values of a list of category names. @param categoryNames space delimited list of names @see Game#getCategoryFlag

§Game_getCategoryName: Option<unsafe extern "C" fn(i32, i32, *mut i8, i32)>

Return the name of the category described by a category flag. @see Game#getCategoryFlag

§Game_getRulesParamFloat: Option<unsafe extern "C" fn(i32, *const i8, f32) -> f32>

@return float value of parameter if it’s set, defaultValue otherwise.

§Game_getRulesParamString: Option<unsafe extern "C" fn(i32, *const i8, *const i8) -> *const i8>

@return string value of parameter if it’s set, defaultValue otherwise.

§Cheats_isEnabled: Option<unsafe extern "C" fn(i32) -> bool>

Returns whether this AI may use active cheats.

§Cheats_setEnabled: Option<unsafe extern "C" fn(i32, bool) -> bool>

Set whether this AI may use active cheats.

§Cheats_setEventsEnabled: Option<unsafe extern "C" fn(i32, bool) -> bool>

Set whether this AI may receive cheat events. When enabled, you would for example get informed when enemy units are created, even without sensor coverage.

§Cheats_isOnlyPassive: Option<unsafe extern "C" fn(i32) -> bool>

Returns whether cheats will desync if used by an AI. @return always true, unless we are both the host and the only client.

§getResources: Option<unsafe extern "C" fn(i32) -> i32>§getResourceByName: Option<unsafe extern "C" fn(i32, *const i8) -> i32>§Resource_getName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§Resource_getOptimum: Option<unsafe extern "C" fn(i32, i32) -> f32>§Economy_getCurrent: Option<unsafe extern "C" fn(i32, i32) -> f32>§Economy_getIncome: Option<unsafe extern "C" fn(i32, i32) -> f32>§Economy_getUsage: Option<unsafe extern "C" fn(i32, i32) -> f32>§Economy_getStorage: Option<unsafe extern "C" fn(i32, i32) -> f32>§Economy_getPull: Option<unsafe extern "C" fn(i32, i32) -> f32>§Economy_getShare: Option<unsafe extern "C" fn(i32, i32) -> f32>§Economy_getSent: Option<unsafe extern "C" fn(i32, i32) -> f32>§Economy_getReceived: Option<unsafe extern "C" fn(i32, i32) -> f32>§Economy_getExcess: Option<unsafe extern "C" fn(i32, i32) -> f32>§File_getSize: Option<unsafe extern "C" fn(i32, *const i8) -> i32>

Return -1 when the file does not exist

§File_getContent: Option<unsafe extern "C" fn(i32, *const i8, *mut c_void, i32) -> bool>

Returns false when file does not exist, or the buffer is too small

§getUnitDefs: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

A UnitDef contains all properties of a unit that are specific to its type, for example the number and type of weapons or max-speed. These properties are usually fixed, and not meant to change during a game. The unitId is a unique id for this type of unit.

§getUnitDefByName: Option<unsafe extern "C" fn(i32, *const i8) -> i32>§UnitDef_getHeight: Option<unsafe extern "C" fn(i32, i32) -> f32>

Forces loading of the unit model

§UnitDef_getRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>

Forces loading of the unit model

§UnitDef_getName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§UnitDef_getHumanName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§UnitDef_getUpkeep: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§UnitDef_getResourceMake: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>

This amount of the resource will always be created.

§UnitDef_getMakesResource: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>

This amount of the resource will be created when the unit is on and enough energy can be drained.

§UnitDef_getCost: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§UnitDef_getExtractsResource: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§UnitDef_getResourceExtractorRange: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§UnitDef_getWindResourceGenerator: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§UnitDef_getTidalResourceGenerator: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§UnitDef_getStorage: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§UnitDef_getBuildTime: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getAutoHeal: Option<unsafe extern "C" fn(i32, i32) -> f32>

This amount of auto-heal will always be applied.

§UnitDef_getIdleAutoHeal: Option<unsafe extern "C" fn(i32, i32) -> f32>

This amount of auto-heal will only be applied while the unit is idling.

§UnitDef_getIdleTime: Option<unsafe extern "C" fn(i32, i32) -> i32>

Time a unit needs to idle before it is considered idling.

§UnitDef_getPower: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getHealth: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getCategory: Option<unsafe extern "C" fn(i32, i32) -> i32>

Returns the bit field value denoting the categories this unit is in. @see Game#getCategoryFlag @see Game#getCategoryName

§UnitDef_getSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getTurnRate: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_isTurnInPlace: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_getTurnInPlaceDistance: Option<unsafe extern "C" fn(i32, i32) -> f32>

Units above this distance to goal will try to turn while keeping some of their speed. 0 to disable

§UnitDef_getTurnInPlaceSpeedLimit: Option<unsafe extern "C" fn(i32, i32) -> f32>

Units below this speed will turn in place regardless of their turnInPlace setting.

§UnitDef_isUpright: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isCollide: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_getLosRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getAirLosRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getLosHeight: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getRadarRadius: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getSonarRadius: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getJammerRadius: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getSonarJamRadius: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getSeismicRadius: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getSeismicSignature: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_isStealth: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isSonarStealth: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isBuildRange3D: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_getBuildDistance: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getBuildSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getReclaimSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getRepairSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getMaxRepairSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getResurrectSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getCaptureSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getTerraformSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getUpDirSmoothing: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getMass: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_isPushResistant: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isStrafeToAttack: Option<unsafe extern "C" fn(i32, i32) -> bool>

Should the unit move sideways when it can not shoot?

§UnitDef_getMinCollisionSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getSlideTolerance: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getMaxHeightDif: Option<unsafe extern "C" fn(i32, i32) -> f32>

Maximum terra-form height this building allows. If this value is 0.0, you can only build this structure on totally flat terrain.

§UnitDef_getMinWaterDepth: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getWaterline: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getMaxWaterDepth: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getArmoredMultiple: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getArmorType: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_FlankingBonus_getMode: Option<unsafe extern "C" fn(i32, i32) -> i32>

The flanking bonus indicates how much additional damage you can inflict to a unit, if it gets attacked from different directions. See the spring source code if you want to know it more precisely.

@return 0: no flanking bonus 1: global coords, mobile 2: unit coords, mobile 3: unit coords, locked

§UnitDef_FlankingBonus_getDir: Option<unsafe extern "C" fn(i32, i32, *mut f32)>

The unit takes less damage when attacked from this direction. This encourage flanking fire.

§UnitDef_FlankingBonus_getMax: Option<unsafe extern "C" fn(i32, i32) -> f32>

Damage factor for the least protected direction

§UnitDef_FlankingBonus_getMin: Option<unsafe extern "C" fn(i32, i32) -> f32>

Damage factor for the most protected direction

§UnitDef_FlankingBonus_getMobilityAdd: Option<unsafe extern "C" fn(i32, i32) -> f32>

How much the ability of the flanking bonus direction to move builds up each frame.

§UnitDef_getMaxWeaponRange: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getTooltip: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§UnitDef_getWreckName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§UnitDef_getDeathExplosion: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getSelfDExplosion: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getCategoryString: Option<unsafe extern "C" fn(i32, i32) -> *const i8>

Returns the name of the category this unit is in. @see Game#getCategoryFlag @see Game#getCategoryName

§UnitDef_isAbleToSelfD: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_getSelfDCountdown: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_isAbleToSubmerge: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToFly: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToMove: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToHover: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isFloater: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isBuilder: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isActivateWhenBuilt: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isOnOffable: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isFullHealthFactory: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isFactoryHeadingTakeoff: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isReclaimable: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isCapturable: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToRestore: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToRepair: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToSelfRepair: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToReclaim: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToAttack: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToPatrol: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToFight: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToGuard: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToAssist: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAssistable: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToRepeat: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToFireControl: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_getFireState: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getMoveState: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getWingDrag: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getWingAngle: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getFrontToSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getSpeedToFront: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getMyGravity: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getMaxBank: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getMaxPitch: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getTurnRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getWantedHeight: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getVerticalSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_isHoverAttack: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAirStrafe: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_getDlHoverFactor: Option<unsafe extern "C" fn(i32, i32) -> f32>

@return < 0: it can land >= 0: how much the unit will move during hovering on the spot

§UnitDef_getMaxAcceleration: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getMaxDeceleration: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getMaxAileron: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getMaxElevator: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getMaxRudder: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getYardMap: Option<unsafe extern "C" fn(i32, i32, i32, *mut i16, i32) -> i32>

The yard map defines which parts of the square a unit occupies can still be walked on by other units. Example: In the BA Arm T2 K-Bot lab, htere is a line in hte middle where units walk, otherwise they would not be able ot exit the lab once they are built. @return 0 if invalid facing or the unit has no yard-map defined, the size of the yard-map otherwise: getXSize() * getXSize()

§UnitDef_getXSize: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getZSize: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getLoadingRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getUnloadSpread: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getTransportCapacity: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getTransportSize: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getMinTransportSize: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_isAirBase: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isFirePlatform: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_getTransportMass: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getMinTransportMass: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_isHoldSteady: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isReleaseHeld: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isNotTransportable: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isTransportByEnemy: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_getTransportUnloadMethod: Option<unsafe extern "C" fn(i32, i32) -> i32>

@return 0: land unload 1: fly-over drop 2: land flood

§UnitDef_getFallSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>

Dictates fall speed of all transported units. This only makes sense for air transports, if they an drop units while in the air.

§UnitDef_getUnitFallSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>

Sets the transported units FBI, overrides fallSpeed

§UnitDef_isAbleToCloak: Option<unsafe extern "C" fn(i32, i32) -> bool>

If the unit can cloak

§UnitDef_isStartCloaked: Option<unsafe extern "C" fn(i32, i32) -> bool>

If the unit wants to start out cloaked

§UnitDef_getCloakCost: Option<unsafe extern "C" fn(i32, i32) -> f32>

Energy cost per second to stay cloaked when stationary

§UnitDef_getCloakCostMoving: Option<unsafe extern "C" fn(i32, i32) -> f32>

Energy cost per second to stay cloaked when moving

§UnitDef_getDecloakDistance: Option<unsafe extern "C" fn(i32, i32) -> f32>

If enemy unit comes within this range, decloaking is forced

§UnitDef_isDecloakSpherical: Option<unsafe extern "C" fn(i32, i32) -> bool>

Use a spherical, instead of a cylindrical test?

§UnitDef_isDecloakOnFire: Option<unsafe extern "C" fn(i32, i32) -> bool>

Will the unit decloak upon firing?

§UnitDef_isAbleToKamikaze: Option<unsafe extern "C" fn(i32, i32) -> bool>

Will the unit self destruct if an enemy comes to close?

§UnitDef_getKamikazeDist: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_isTargetingFacility: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_canManualFire: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isNeedGeo: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isFeature: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isHideDamage: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isShowPlayerName: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToResurrect: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_isAbleToCapture: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_getHighTrajectoryType: Option<unsafe extern "C" fn(i32, i32) -> i32>

Indicates the trajectory types supported by this unit.

@return 0: (default) = only low 1: only high 2: choose

§UnitDef_getNoChaseCategory: Option<unsafe extern "C" fn(i32, i32) -> i32>

Returns the bit field value denoting the categories this unit shall not chase. @see Game#getCategoryFlag @see Game#getCategoryName

§UnitDef_isAbleToDropFlare: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_getFlareReloadTime: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getFlareEfficiency: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getFlareDelay: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_getFlareDropVector: Option<unsafe extern "C" fn(i32, i32, *mut f32)>§UnitDef_getFlareTime: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getFlareSalvoSize: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getFlareSalvoDelay: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_isAbleToLoopbackAttack: Option<unsafe extern "C" fn(i32, i32) -> bool>

Only matters for fighter aircraft

§UnitDef_isLevelGround: Option<unsafe extern "C" fn(i32, i32) -> bool>

Indicates whether the ground will be leveled/flattened out after this building has been built on it. Only matters for buildings.

§UnitDef_getMaxThisUnit: Option<unsafe extern "C" fn(i32, i32) -> i32>

Number of units of this type allowed simultaneously in the game

§UnitDef_getDecoyDef: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_isDontLand: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_getShieldDef: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getStockpileDef: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_getBuildOptions: Option<unsafe extern "C" fn(i32, i32, *mut i32, i32) -> i32>§UnitDef_getCustomParams: Option<unsafe extern "C" fn(i32, i32, *mut *const i8, *mut *const i8) -> i32>§UnitDef_isMoveDataAvailable: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_MoveData_getXSize: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_MoveData_getZSize: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_MoveData_getDepth: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_MoveData_getMaxSlope: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_MoveData_getSlopeMod: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_MoveData_getDepthMod: Option<unsafe extern "C" fn(i32, i32, f32) -> f32>§UnitDef_MoveData_getPathType: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_MoveData_getCrushStrength: Option<unsafe extern "C" fn(i32, i32) -> f32>§UnitDef_MoveData_getSpeedModClass: Option<unsafe extern "C" fn(i32, i32) -> i32>

enum SpeedModClass { Tank=0, KBot=1, Hover=2, Ship=3 };

§UnitDef_MoveData_getTerrainClass: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_MoveData_getFollowGround: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_MoveData_isSubMarine: Option<unsafe extern "C" fn(i32, i32) -> bool>§UnitDef_MoveData_getName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§UnitDef_getWeaponMounts: Option<unsafe extern "C" fn(i32, i32) -> i32>§UnitDef_WeaponMount_getName: Option<unsafe extern "C" fn(i32, i32, i32) -> *const i8>§UnitDef_WeaponMount_getWeaponDef: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>§UnitDef_WeaponMount_getSlavedTo: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>§UnitDef_WeaponMount_getMainDir: Option<unsafe extern "C" fn(i32, i32, i32, *mut f32)>§UnitDef_WeaponMount_getMaxAngleDif: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§UnitDef_WeaponMount_getBadTargetCategory: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>

Returns the bit field value denoting the categories this weapon should not target. @see Game#getCategoryFlag @see Game#getCategoryName

§UnitDef_WeaponMount_getOnlyTargetCategory: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>

Returns the bit field value denoting the categories this weapon should target, excluding all others. @see Game#getCategoryFlag @see Game#getCategoryName

§Unit_getLimit: Option<unsafe extern "C" fn(i32) -> i32>

Returns the number of units a team can have, after which it can not build any more. It is possible that a team has more units then this value at some point in the game. This is possible for example with taking, reclaiming or capturing units. This value is usefull for controlling game performance, and will therefore often be set on games with old hardware to prevent lagging because of too many units.

§Unit_getMax: Option<unsafe extern "C" fn(i32) -> i32>

Returns the maximum total number of units that may exist at any one point in time induring the current game.

§getEnemyUnits: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

Returns all units that are not in this teams ally-team nor neutral and are in LOS. If cheats are enabled, this will return all enemies on the map.

§getEnemyUnitsIn: Option<unsafe extern "C" fn(i32, *mut f32, f32, bool, *mut i32, i32) -> i32>

Returns all units that are not in this teams ally-team nor neutral and are in LOS plus they have to be located in the specified area of the map. If cheats are enabled, this will return all enemies in the specified area.

§getEnemyUnitsInRadarAndLos: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

Returns all units that are not in this teams ally-team nor neutral and are in under sensor coverage (sight or radar). If cheats are enabled, this will return all enemies on the map.

§getFriendlyUnits: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

Returns all units that are in this teams ally-team, including this teams units.

§getFriendlyUnitsIn: Option<unsafe extern "C" fn(i32, *mut f32, f32, bool, *mut i32, i32) -> i32>

Returns all units that are in this teams ally-team, including this teams units plus they have to be located in the specified area of the map.

§getNeutralUnits: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

Returns all units that are neutral and are in LOS.

§getNeutralUnitsIn: Option<unsafe extern "C" fn(i32, *mut f32, f32, bool, *mut i32, i32) -> i32>

Returns all units that are neutral and are in LOS plus they have to be located in the specified area of the map.

§getTeamUnits: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

Returns all units that are of the team controlled by this AI instance. This list can also be created dynamically by the AI, through updating a list on each unit-created and unit-destroyed event.

§getSelectedUnits: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

Returns all units that are currently selected (usually only contains units if a human player is controlling this team as well).

§Unit_getDef: Option<unsafe extern "C" fn(i32, i32) -> i32>

Returns the unit’s unitdef struct from which you can read all the statistics of the unit, do NOT try to change any values in it.

§Unit_getRulesParamFloat: Option<unsafe extern "C" fn(i32, i32, *const i8, f32) -> f32>

@return float value of parameter if it’s set, defaultValue otherwise.

§Unit_getRulesParamString: Option<unsafe extern "C" fn(i32, i32, *const i8, *const i8) -> *const i8>

@return string value of parameter if it’s set, defaultValue otherwise.

§Unit_getTeam: Option<unsafe extern "C" fn(i32, i32) -> i32>§Unit_getAllyTeam: Option<unsafe extern "C" fn(i32, i32) -> i32>§Unit_getStockpile: Option<unsafe extern "C" fn(i32, i32) -> i32>§Unit_getStockpileQueued: Option<unsafe extern "C" fn(i32, i32) -> i32>§Unit_getMaxSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>

The unit’s max speed

§Unit_getMaxRange: Option<unsafe extern "C" fn(i32, i32) -> f32>

The furthest any weapon of the unit can fire

§Unit_getMaxHealth: Option<unsafe extern "C" fn(i32, i32) -> f32>

The unit’s max health

§Unit_getExperience: Option<unsafe extern "C" fn(i32, i32) -> f32>

How experienced the unit is (0.0f - 1.0f)

§Unit_getGroup: Option<unsafe extern "C" fn(i32, i32) -> i32>

Returns the group a unit belongs to, -1 if none

§Unit_getCurrentCommands: Option<unsafe extern "C" fn(i32, i32) -> i32>§Unit_CurrentCommand_getType: Option<unsafe extern "C" fn(i32, i32) -> i32>

For the type of the command queue, see CCommandQueue::CommandQueueType in Sim/Unit/CommandAI/CommandQueue.h

§Unit_CurrentCommand_getId: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>

For the id, see CMD_xxx codes in Sim/Unit/CommandAI/Command.h (custom codes can also be used)

§Unit_CurrentCommand_getOptions: Option<unsafe extern "C" fn(i32, i32, i32) -> i16>§Unit_CurrentCommand_getTag: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>§Unit_CurrentCommand_getTimeOut: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>§Unit_CurrentCommand_getParams: Option<unsafe extern "C" fn(i32, i32, i32, *mut f32, i32) -> i32>§Unit_getSupportedCommands: Option<unsafe extern "C" fn(i32, i32) -> i32>

The commands that this unit can understand, other commands will be ignored

§Unit_SupportedCommand_getId: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>

For the id, see CMD_xxx codes in Sim/Unit/CommandAI/Command.h (custom codes can also be used)

§Unit_SupportedCommand_getName: Option<unsafe extern "C" fn(i32, i32, i32) -> *const i8>§Unit_SupportedCommand_getToolTip: Option<unsafe extern "C" fn(i32, i32, i32) -> *const i8>§Unit_SupportedCommand_isShowUnique: Option<unsafe extern "C" fn(i32, i32, i32) -> bool>§Unit_SupportedCommand_isDisabled: Option<unsafe extern "C" fn(i32, i32, i32) -> bool>§Unit_SupportedCommand_getParams: Option<unsafe extern "C" fn(i32, i32, i32, *mut *const i8, i32) -> i32>§Unit_getHealth: Option<unsafe extern "C" fn(i32, i32) -> f32>

The unit’s current health

§Unit_getParalyzeDamage: Option<unsafe extern "C" fn(i32, i32) -> f32>§Unit_getCaptureProgress: Option<unsafe extern "C" fn(i32, i32) -> f32>§Unit_getBuildProgress: Option<unsafe extern "C" fn(i32, i32) -> f32>§Unit_getSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§Unit_getPower: Option<unsafe extern "C" fn(i32, i32) -> f32>

Indicate the relative power of the unit, used for experience calulations etc. This is sort of the measure of the units overall power.

§Unit_getResourceUse: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§Unit_getResourceMake: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§Unit_getPos: Option<unsafe extern "C" fn(i32, i32, *mut f32)>§Unit_getVel: Option<unsafe extern "C" fn(i32, i32, *mut f32)>§Unit_isActivated: Option<unsafe extern "C" fn(i32, i32) -> bool>§Unit_isBeingBuilt: Option<unsafe extern "C" fn(i32, i32) -> bool>

Returns true if the unit is currently being built

§Unit_isCloaked: Option<unsafe extern "C" fn(i32, i32) -> bool>§Unit_isParalyzed: Option<unsafe extern "C" fn(i32, i32) -> bool>§Unit_isNeutral: Option<unsafe extern "C" fn(i32, i32) -> bool>§Unit_getBuildingFacing: Option<unsafe extern "C" fn(i32, i32) -> i32>

Returns the unit’s build facing (0-3)

§Unit_getLastUserOrderFrame: Option<unsafe extern "C" fn(i32, i32) -> i32>

Number of the last frame this unit received an order from a player.

§Unit_getWeapons: Option<unsafe extern "C" fn(i32, i32) -> i32>§Unit_getWeapon: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>§Team_hasAIController: Option<unsafe extern "C" fn(i32, i32) -> bool>§getEnemyTeams: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>§getAlliedTeams: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>§Team_getRulesParamFloat: Option<unsafe extern "C" fn(i32, i32, *const i8, f32) -> f32>

@return float value of parameter if it’s set, defaultValue otherwise.

§Team_getRulesParamString: Option<unsafe extern "C" fn(i32, i32, *const i8, *const i8) -> *const i8>

@return string value of parameter if it’s set, defaultValue otherwise.

§getGroups: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>§Group_getSupportedCommands: Option<unsafe extern "C" fn(i32, i32) -> i32>§Group_SupportedCommand_getId: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>

For the id, see CMD_xxx codes in Sim/Unit/CommandAI/Command.h (custom codes can also be used)

§Group_SupportedCommand_getName: Option<unsafe extern "C" fn(i32, i32, i32) -> *const i8>§Group_SupportedCommand_getToolTip: Option<unsafe extern "C" fn(i32, i32, i32) -> *const i8>§Group_SupportedCommand_isShowUnique: Option<unsafe extern "C" fn(i32, i32, i32) -> bool>§Group_SupportedCommand_isDisabled: Option<unsafe extern "C" fn(i32, i32, i32) -> bool>§Group_SupportedCommand_getParams: Option<unsafe extern "C" fn(i32, i32, i32, *mut *const i8, i32) -> i32>§Group_OrderPreview_getId: Option<unsafe extern "C" fn(i32, i32) -> i32>

For the id, see CMD_xxx codes in Sim/Unit/CommandAI/Command.h (custom codes can also be used)

§Group_OrderPreview_getOptions: Option<unsafe extern "C" fn(i32, i32) -> i16>§Group_OrderPreview_getTag: Option<unsafe extern "C" fn(i32, i32) -> i32>§Group_OrderPreview_getTimeOut: Option<unsafe extern "C" fn(i32, i32) -> i32>§Group_OrderPreview_getParams: Option<unsafe extern "C" fn(i32, i32, *mut f32, i32) -> i32>§Group_isSelected: Option<unsafe extern "C" fn(i32, i32) -> bool>§Mod_getFileName: Option<unsafe extern "C" fn(i32) -> *const i8>

Returns the mod archive file name. CAUTION: Never use this as reference in eg. cache- or config-file names, as one and the same mod can be packaged in different ways. Use the human name instead. @see getHumanName() @deprecated

§Mod_getHash: Option<unsafe extern "C" fn(i32) -> i32>

Returns the archive hash of the mod. Use this for reference to the mod, eg. in a cache-file, wherever human readability does not matter. This value will never be the same for two mods not having equal content. Tip: convert to 64 Hex chars for use in file names. @see getHumanName()

§Mod_getHumanName: Option<unsafe extern "C" fn(i32) -> *const i8>

Returns the human readable name of the mod, which includes the version. Use this for reference to the mod (including version), eg. in cache- or config-file names which are mod related, and wherever humans may come in contact with the reference. Be aware though, that this may contain special characters and spaces, and may not be used as a file name without checks and replaces. Alternatively, you may use the short name only, or the short name plus version. You should generally never use the file name. Tip: replace every char matching [^0-9a-zA-Z_-.] with ‘_’ @see getHash() @see getShortName() @see getFileName() @see getVersion()

§Mod_getShortName: Option<unsafe extern "C" fn(i32) -> *const i8>

Returns the short name of the mod, which does not include the version. Use this for reference to the mod in general, eg. as version independent reference. Be aware though, that this still contain special characters and spaces, and may not be used as a file name without checks and replaces. Tip: replace every char matching [^0-9a-zA-Z_-.] with ‘_’ @see getVersion() @see getHumanName()

§Mod_getVersion: Option<unsafe extern "C" fn(i32) -> *const i8>§Mod_getMutator: Option<unsafe extern "C" fn(i32) -> *const i8>§Mod_getDescription: Option<unsafe extern "C" fn(i32) -> *const i8>§Mod_getConstructionDecay: Option<unsafe extern "C" fn(i32) -> bool>

Should constructions without builders decay?

§Mod_getConstructionDecayTime: Option<unsafe extern "C" fn(i32) -> i32>

How long until they start decaying?

§Mod_getConstructionDecaySpeed: Option<unsafe extern "C" fn(i32) -> f32>

How fast do they decay?

§Mod_getMultiReclaim: Option<unsafe extern "C" fn(i32) -> i32>

0 = 1 reclaimer per feature max, otherwise unlimited

§Mod_getReclaimMethod: Option<unsafe extern "C" fn(i32) -> i32>

0 = gradual reclaim, 1 = all reclaimed at end, otherwise reclaim in reclaimMethod chunks

§Mod_getReclaimUnitMethod: Option<unsafe extern "C" fn(i32) -> i32>

0 = Revert to wireframe, gradual reclaim, 1 = Subtract HP, give full metal at end, default 1

§Mod_getReclaimUnitEnergyCostFactor: Option<unsafe extern "C" fn(i32) -> f32>

How much energy should reclaiming a unit cost, default 0.0

§Mod_getReclaimUnitEfficiency: Option<unsafe extern "C" fn(i32) -> f32>

How much metal should reclaim return, default 1.0

§Mod_getReclaimFeatureEnergyCostFactor: Option<unsafe extern "C" fn(i32) -> f32>

How much should energy should reclaiming a feature cost, default 0.0

§Mod_getReclaimAllowEnemies: Option<unsafe extern "C" fn(i32) -> bool>

Allow reclaiming enemies? default true

§Mod_getReclaimAllowAllies: Option<unsafe extern "C" fn(i32) -> bool>

Allow reclaiming allies? default true

§Mod_getRepairEnergyCostFactor: Option<unsafe extern "C" fn(i32) -> f32>

How much should energy should repair cost, default 0.0

§Mod_getResurrectEnergyCostFactor: Option<unsafe extern "C" fn(i32) -> f32>

How much should energy should resurrect cost, default 0.5

§Mod_getCaptureEnergyCostFactor: Option<unsafe extern "C" fn(i32) -> f32>

How much should energy should capture cost, default 0.0

§Mod_getTransportGround: Option<unsafe extern "C" fn(i32) -> i32>

0 = all ground units cannot be transported, 1 = all ground units can be transported (mass and size restrictions still apply). Defaults to 1.

§Mod_getTransportHover: Option<unsafe extern "C" fn(i32) -> i32>

0 = all hover units cannot be transported, 1 = all hover units can be transported (mass and size restrictions still apply). Defaults to 0.

§Mod_getTransportShip: Option<unsafe extern "C" fn(i32) -> i32>

0 = all naval units cannot be transported, 1 = all naval units can be transported (mass and size restrictions still apply). Defaults to 0.

§Mod_getTransportAir: Option<unsafe extern "C" fn(i32) -> i32>

0 = all air units cannot be transported, 1 = all air units can be transported (mass and size restrictions still apply). Defaults to 0.

§Mod_getFireAtKilled: Option<unsafe extern "C" fn(i32) -> i32>

1 = units fire at enemies running Killed() script, 0 = units ignore such enemies

§Mod_getFireAtCrashing: Option<unsafe extern "C" fn(i32) -> i32>

1 = units fire at crashing aircrafts, 0 = units ignore crashing aircrafts

§Mod_getFlankingBonusModeDefault: Option<unsafe extern "C" fn(i32) -> i32>

0=no flanking bonus; 1=global coords, mobile; 2=unit coords, mobile; 3=unit coords, locked

§Mod_getLosMipLevel: Option<unsafe extern "C" fn(i32) -> i32>

miplevel for los

§Mod_getAirMipLevel: Option<unsafe extern "C" fn(i32) -> i32>

miplevel to use for airlos

§Mod_getRadarMipLevel: Option<unsafe extern "C" fn(i32) -> i32>

miplevel for radar

§Mod_getRequireSonarUnderWater: Option<unsafe extern "C" fn(i32) -> bool>

when underwater, units are not in LOS unless also in sonar

§Map_getChecksum: Option<unsafe extern "C" fn(i32) -> i32>§Map_getStartPos: Option<unsafe extern "C" fn(i32, *mut f32)>§Map_getMousePos: Option<unsafe extern "C" fn(i32, *mut f32)>§Map_isPosInCamera: Option<unsafe extern "C" fn(i32, *mut f32, f32) -> bool>§Map_getWidth: Option<unsafe extern "C" fn(i32) -> i32>

Returns the maps center heightmap width. @see getHeightMap()

§Map_getHeight: Option<unsafe extern "C" fn(i32) -> i32>

Returns the maps center heightmap height. @see getHeightMap()

§Map_getHeightMap: Option<unsafe extern "C" fn(i32, *mut f32, i32) -> i32>

Returns the height for the center of the squares. This differs slightly from the drawn map, since that one uses the height at the corners. Note that the actual map is 8 times larger (in each dimension) and all other maps (slope, los, resources, etc.) are relative to the size of the heightmap.

  • do NOT modify or delete the height-map (native code relevant only)
  • index 0 is top left
  • each data position is 8*8 in size
  • the value for the full resolution position (x, z) is at index (z * width + x)
  • the last value, bottom right, is at index (width * height - 1)

@see getCornersHeightMap()

§Map_getCornersHeightMap: Option<unsafe extern "C" fn(i32, *mut f32, i32) -> i32>

Returns the height for the corners of the squares. This is the same like the drawn map. It is one unit wider and one higher then the centers height map.

  • do NOT modify or delete the height-map (native code relevant only)
  • index 0 is top left
  • 4 points mark the edges of an area of 8*8 in size
  • the value for upper left corner of the full resolution position (x, z) is at index (z * width + x)
  • the last value, bottom right, is at index ((width+1) * (height+1) - 1)

@see getHeightMap()

§Map_getMinHeight: Option<unsafe extern "C" fn(i32) -> f32>§Map_getMaxHeight: Option<unsafe extern "C" fn(i32) -> f32>§Map_getSlopeMap: Option<unsafe extern "C" fn(i32, *mut f32, i32) -> i32>

@brief the slope map The values are 1 minus the y-component of the (average) facenormal of the square.

  • do NOT modify or delete the height-map (native code relevant only)
  • index 0 is top left
  • each data position is 2*2 in size
  • the value for the full resolution position (x, z) is at index ((z * width + x) / 2)
  • the last value, bottom right, is at index (width/2 * height/2 - 1)
§Map_getLosMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

@brief the level of sight map mapDims.mapx >> losMipLevel A square with value zero means you do not have LOS coverage on it. Mod_getLosMipLevel

  • do NOT modify or delete the height-map (native code relevant only)
  • index 0 is top left
  • resolution factor (res) is min(1, 1 << Mod_getLosMipLevel()) examples:
    • losMipLevel(0) -> res(1)
    • losMipLevel(1) -> res(2)
    • losMipLevel(2) -> res(4)
    • losMipLevel(3) -> res(8)
  • each data position is res*res in size
  • the value for the full resolution position (x, z) is at index ((z * width + x) / res)
  • the last value, bottom right, is at index (width/res * height/res - 1)
§Map_getAirLosMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

@brief the level of sight map mapDims.mapx >> airMipLevel @see getLosMap()

§Map_getRadarMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

@brief the radar map mapDims.mapx >> radarMipLevel @see getLosMap()

§Map_getSonarMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

@see getRadarMap()

§Map_getSeismicMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

@see getRadarMap()

§Map_getJammerMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

@see getRadarMap()

§Map_getSonarJammerMap: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

@see getRadarMap()

§Map_getResourceMapRaw: Option<unsafe extern "C" fn(i32, i32, *mut i16, i32) -> i32>

@brief resource maps This map shows the resource density on the map.

  • do NOT modify or delete the height-map (native code relevant only)
  • index 0 is top left
  • each data position is 2*2 in size
  • the value for the full resolution position (x, z) is at index ((z * width + x) / 2)
  • the last value, bottom right, is at index (width/2 * height/2 - 1)
§Map_getResourceMapSpotsPositions: Option<unsafe extern "C" fn(i32, i32, *mut f32, i32) -> i32>

Returns positions indicating where to place resource extractors on the map. Only the x and z values give the location of the spots, while the y values represents the actual amount of resource an extractor placed there can make. You should only compare the y values to each other, and not try to estimate effective output from spots.

§Map_getResourceMapSpotsAverageIncome: Option<unsafe extern "C" fn(i32, i32) -> f32>

Returns the average resource income for an extractor on one of the evaluated positions.

§Map_getResourceMapSpotsNearest: Option<unsafe extern "C" fn(i32, i32, *mut f32, *mut f32)>

Returns the nearest resource extractor spot to a specified position out of the evaluated list.

§Map_getHash: Option<unsafe extern "C" fn(i32) -> i32>

Returns the archive hash of the map. Use this for reference to the map, eg. in a cache-file, wherever human readability does not matter. This value will never be the same for two maps not having equal content. Tip: convert to 64 Hex chars for use in file names. @see getName()

§Map_getName: Option<unsafe extern "C" fn(i32) -> *const i8>

Returns the name of the map. Use this for reference to the map, eg. in cache- or config-file names which are map related, wherever humans may come in contact with the reference. Be aware though, that this may contain special characters and spaces, and may not be used as a file name without checks and replaces. Tip: replace every char matching [^0-9a-zA-Z_-.] with ‘_’ @see getHash() @see getHumanName()

§Map_getHumanName: Option<unsafe extern "C" fn(i32) -> *const i8>

Returns the human readbale name of the map. @see getName()

§Map_getElevationAt: Option<unsafe extern "C" fn(i32, f32, f32) -> f32>

Gets the elevation of the map at position (x, z)

§Map_getMaxResource: Option<unsafe extern "C" fn(i32, i32) -> f32>

Returns what value 255 in the resource map is worth

§Map_getExtractorRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>

Returns extraction radius for resource extractors

§Map_getMinWind: Option<unsafe extern "C" fn(i32) -> f32>§Map_getMaxWind: Option<unsafe extern "C" fn(i32) -> f32>§Map_getCurWind: Option<unsafe extern "C" fn(i32) -> f32>§Map_getTidalStrength: Option<unsafe extern "C" fn(i32) -> f32>§Map_getGravity: Option<unsafe extern "C" fn(i32) -> f32>§Map_getWaterDamage: Option<unsafe extern "C" fn(i32) -> f32>§Map_isDeformable: Option<unsafe extern "C" fn(i32) -> bool>§Map_getHardness: Option<unsafe extern "C" fn(i32) -> f32>

Returns global map hardness

§Map_getHardnessModMap: Option<unsafe extern "C" fn(i32, *mut f32, i32) -> i32>

Returns hardness modifiers of the squares adjusted by terrain type.

  • index 0 is top left
  • each data position is 2*2 in size (relative to heightmap)
  • the value for the full resolution position (x, z) is at index ((z * width + x) / 2)
  • the last value, bottom right, is at index (width/2 * height/2 - 1)

@see getHardness()

§Map_getSpeedModMap: Option<unsafe extern "C" fn(i32, i32, *mut f32, i32) -> i32>

Returns speed modifiers of the squares for specific speedModClass adjusted by terrain type.

  • index 0 is top left
  • each data position is 2*2 in size (relative to heightmap)
  • the value for the full resolution position (x, z) is at index ((z * width + x) / 2)
  • the last value, bottom right, is at index (width/2 * height/2 - 1)

@see MoveData#getSpeedModClass

§Map_getPoints: Option<unsafe extern "C" fn(i32, bool) -> i32>

Returns all points drawn with this AIs team color, and additionally the ones drawn with allied team colors, if includeAllies is true.

§Map_Point_getPosition: Option<unsafe extern "C" fn(i32, i32, *mut f32)>§Map_Point_getColor: Option<unsafe extern "C" fn(i32, i32, *mut i16)>§Map_Point_getLabel: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§Map_getLines: Option<unsafe extern "C" fn(i32, bool) -> i32>

Returns all lines drawn with this AIs team color, and additionally the ones drawn with allied team colors, if includeAllies is true.

§Map_Line_getFirstPosition: Option<unsafe extern "C" fn(i32, i32, *mut f32)>§Map_Line_getSecondPosition: Option<unsafe extern "C" fn(i32, i32, *mut f32)>§Map_Line_getColor: Option<unsafe extern "C" fn(i32, i32, *mut i16)>§Map_isPossibleToBuildAt: Option<unsafe extern "C" fn(i32, i32, *mut f32, i32) -> bool>§Map_findClosestBuildSite: Option<unsafe extern "C" fn(i32, i32, *mut f32, f32, i32, i32, *mut f32)>

Returns the closest position from a given position that a building can be built at. @param minDist the distance in 1/BUILD_SQUARE_SIZE = 1/16 of full map resolution, that the building must keep to other buildings; this makes it easier to keep free paths through a base @return actual map position with x, y and z all beeing positive, or float[3]{-1, 0, 0} if no suitable position is found.

§getFeatureDefs: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>§FeatureDef_getName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§FeatureDef_getDescription: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§FeatureDef_getContainedResource: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§FeatureDef_getMaxHealth: Option<unsafe extern "C" fn(i32, i32) -> f32>§FeatureDef_getReclaimTime: Option<unsafe extern "C" fn(i32, i32) -> f32>§FeatureDef_getMass: Option<unsafe extern "C" fn(i32, i32) -> f32>

Used to see if the object can be overrun by units of a certain heavyness

§FeatureDef_isUpright: Option<unsafe extern "C" fn(i32, i32) -> bool>§FeatureDef_getDrawType: Option<unsafe extern "C" fn(i32, i32) -> i32>§FeatureDef_getModelName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§FeatureDef_getResurrectable: Option<unsafe extern "C" fn(i32, i32) -> i32>

Used to determine whether the feature is resurrectable.

@return -1: (default) only if it is the 1st wreckage of the UnitDef it originates from 0: no, never 1: yes, always

§FeatureDef_getSmokeTime: Option<unsafe extern "C" fn(i32, i32) -> i32>§FeatureDef_isDestructable: Option<unsafe extern "C" fn(i32, i32) -> bool>§FeatureDef_isReclaimable: Option<unsafe extern "C" fn(i32, i32) -> bool>§FeatureDef_isAutoreclaimable: Option<unsafe extern "C" fn(i32, i32) -> bool>§FeatureDef_isBlocking: Option<unsafe extern "C" fn(i32, i32) -> bool>§FeatureDef_isBurnable: Option<unsafe extern "C" fn(i32, i32) -> bool>§FeatureDef_isFloating: Option<unsafe extern "C" fn(i32, i32) -> bool>§FeatureDef_isNoSelect: Option<unsafe extern "C" fn(i32, i32) -> bool>§FeatureDef_isGeoThermal: Option<unsafe extern "C" fn(i32, i32) -> bool>§FeatureDef_getXSize: Option<unsafe extern "C" fn(i32, i32) -> i32>

Size of the feature along the X axis - in other words: height. each size is 8 units

§FeatureDef_getZSize: Option<unsafe extern "C" fn(i32, i32) -> i32>

Size of the feature along the Z axis - in other words: width. each size is 8 units

§FeatureDef_getCustomParams: Option<unsafe extern "C" fn(i32, i32, *mut *const i8, *mut *const i8) -> i32>§getFeatures: Option<unsafe extern "C" fn(i32, *mut i32, i32) -> i32>

Returns all features currently in LOS, or all features on the map if cheating is enabled.

§getFeaturesIn: Option<unsafe extern "C" fn(i32, *mut f32, f32, bool, *mut i32, i32) -> i32>

Returns all features in a specified area that are currently in LOS, or all features in this area if cheating is enabled.

§Feature_getDef: Option<unsafe extern "C" fn(i32, i32) -> i32>§Feature_getHealth: Option<unsafe extern "C" fn(i32, i32) -> f32>§Feature_getReclaimLeft: Option<unsafe extern "C" fn(i32, i32) -> f32>§Feature_getPosition: Option<unsafe extern "C" fn(i32, i32, *mut f32)>§Feature_getRulesParamFloat: Option<unsafe extern "C" fn(i32, i32, *const i8, f32) -> f32>

@return float value of parameter if it’s set, defaultValue otherwise.

§Feature_getRulesParamString: Option<unsafe extern "C" fn(i32, i32, *const i8, *const i8) -> *const i8>

@return string value of parameter if it’s set, defaultValue otherwise.

§Feature_getResurrectDef: Option<unsafe extern "C" fn(i32, i32) -> i32>§Feature_getBuildingFacing: Option<unsafe extern "C" fn(i32, i32) -> i16>§getWeaponDefs: Option<unsafe extern "C" fn(i32) -> i32>§getWeaponDefByName: Option<unsafe extern "C" fn(i32, *const i8) -> i32>§WeaponDef_getName: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§WeaponDef_getType: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§WeaponDef_getDescription: Option<unsafe extern "C" fn(i32, i32) -> *const i8>§WeaponDef_getRange: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getHeightMod: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getAccuracy: Option<unsafe extern "C" fn(i32, i32) -> f32>

Inaccuracy of whole burst

§WeaponDef_getSprayAngle: Option<unsafe extern "C" fn(i32, i32) -> f32>

Inaccuracy of individual shots inside burst

§WeaponDef_getMovingAccuracy: Option<unsafe extern "C" fn(i32, i32) -> f32>

Inaccuracy while owner moving

§WeaponDef_getTargetMoveError: Option<unsafe extern "C" fn(i32, i32) -> f32>

Fraction of targets move speed that is used as error offset

§WeaponDef_getLeadLimit: Option<unsafe extern "C" fn(i32, i32) -> f32>

Maximum distance the weapon will lead the target

§WeaponDef_getLeadBonus: Option<unsafe extern "C" fn(i32, i32) -> f32>

Factor for increasing the leadLimit with experience

§WeaponDef_getPredictBoost: Option<unsafe extern "C" fn(i32, i32) -> f32>

Replaces hardcoded behaviour for burnblow cannons

§WeaponDef_getNumDamageTypes: Option<unsafe extern "C" fn(i32) -> i32>§WeaponDef_Damage_getParalyzeDamageTime: Option<unsafe extern "C" fn(i32, i32) -> i32>§WeaponDef_Damage_getImpulseFactor: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_Damage_getImpulseBoost: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_Damage_getCraterMult: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_Damage_getCraterBoost: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_Damage_getTypes: Option<unsafe extern "C" fn(i32, i32, *mut f32, i32) -> i32>§WeaponDef_getAreaOfEffect: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_isNoSelfDamage: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_getFireStarter: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getEdgeEffectiveness: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getSize: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getSizeGrowth: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getCollisionSize: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getSalvoSize: Option<unsafe extern "C" fn(i32, i32) -> i32>§WeaponDef_getSalvoDelay: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getReload: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getBeamTime: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_isBeamBurst: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isWaterBounce: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isGroundBounce: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_getBounceRebound: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getBounceSlip: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getNumBounce: Option<unsafe extern "C" fn(i32, i32) -> i32>§WeaponDef_getMaxAngle: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getUpTime: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getFlightTime: Option<unsafe extern "C" fn(i32, i32) -> i32>§WeaponDef_getCost: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§WeaponDef_getProjectilesPerShot: Option<unsafe extern "C" fn(i32, i32) -> i32>§WeaponDef_isTurret: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isOnlyForward: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isFixedLauncher: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isWaterWeapon: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isFireSubmersed: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isSubMissile: Option<unsafe extern "C" fn(i32, i32) -> bool>

Lets a torpedo travel above water like it does below water

§WeaponDef_isTracks: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isDropped: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isParalyzer: Option<unsafe extern "C" fn(i32, i32) -> bool>

The weapon will only paralyze, not do real damage.

§WeaponDef_isImpactOnly: Option<unsafe extern "C" fn(i32, i32) -> bool>

The weapon damages by impacting, not by exploding.

§WeaponDef_isNoAutoTarget: Option<unsafe extern "C" fn(i32, i32) -> bool>

Can not target anything (for example: anti-nuke, D-Gun)

§WeaponDef_isManualFire: Option<unsafe extern "C" fn(i32, i32) -> bool>

Has to be fired manually (by the player or an AI, example: D-Gun)

§WeaponDef_getInterceptor: Option<unsafe extern "C" fn(i32, i32) -> i32>

Can intercept targetable weapons shots.

example: anti-nuke

@see getTargetable()

§WeaponDef_getTargetable: Option<unsafe extern "C" fn(i32, i32) -> i32>

Shoots interceptable projectiles. Shots can be intercepted by interceptors.

example: nuke

@see getInterceptor()

§WeaponDef_isStockpileable: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_getCoverageRange: Option<unsafe extern "C" fn(i32, i32) -> f32>

Range of interceptors.

example: anti-nuke

@see getInterceptor()

§WeaponDef_getStockpileTime: Option<unsafe extern "C" fn(i32, i32) -> f32>

Build time of a missile

§WeaponDef_getIntensity: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getDuration: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getFalloffRate: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_isSoundTrigger: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isSelfExplode: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isGravityAffected: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_getHighTrajectory: Option<unsafe extern "C" fn(i32, i32) -> i32>

Per weapon high trajectory setting. UnitDef also has this property.

@return 0: low 1: high 2: unit

§WeaponDef_getMyGravity: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_isNoExplode: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_getStartVelocity: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getWeaponAcceleration: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getTurnRate: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getMaxVelocity: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getProjectileSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getExplosionSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getOnlyTargetCategory: Option<unsafe extern "C" fn(i32, i32) -> i32>

Returns the bit field value denoting the categories this weapon should target, excluding all others. @see Game#getCategoryFlag @see Game#getCategoryName

§WeaponDef_getWobble: Option<unsafe extern "C" fn(i32, i32) -> f32>

How much the missile will wobble around its course.

§WeaponDef_getDance: Option<unsafe extern "C" fn(i32, i32) -> f32>

How much the missile will dance.

§WeaponDef_getTrajectoryHeight: Option<unsafe extern "C" fn(i32, i32) -> f32>

How high trajectory missiles will try to fly in.

§WeaponDef_isLargeBeamLaser: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isShield: Option<unsafe extern "C" fn(i32, i32) -> bool>

If the weapon is a shield rather than a weapon.

§WeaponDef_isShieldRepulser: Option<unsafe extern "C" fn(i32, i32) -> bool>

If the weapon should be repulsed or absorbed.

§WeaponDef_isSmartShield: Option<unsafe extern "C" fn(i32, i32) -> bool>

If the shield only affects enemy projectiles.

§WeaponDef_isExteriorShield: Option<unsafe extern "C" fn(i32, i32) -> bool>

If the shield only affects stuff coming from outside shield radius.

§WeaponDef_isVisibleShield: Option<unsafe extern "C" fn(i32, i32) -> bool>

If the shield should be graphically shown.

§WeaponDef_isVisibleShieldRepulse: Option<unsafe extern "C" fn(i32, i32) -> bool>

If a small graphic should be shown at each repulse.

§WeaponDef_getVisibleShieldHitFrames: Option<unsafe extern "C" fn(i32, i32) -> i32>

The number of frames to draw the shield after it has been hit.

§WeaponDef_Shield_getResourceUse: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>

Amount of the resource used per shot or per second, depending on the type of projectile.

§WeaponDef_Shield_getRadius: Option<unsafe extern "C" fn(i32, i32) -> f32>

Size of shield covered area

§WeaponDef_Shield_getForce: Option<unsafe extern "C" fn(i32, i32) -> f32>

Shield acceleration on plasma stuff. How much will plasma be accelerated into the other direction when it hits the shield.

§WeaponDef_Shield_getMaxSpeed: Option<unsafe extern "C" fn(i32, i32) -> f32>

Maximum speed to which the shield can repulse plasma.

§WeaponDef_Shield_getPower: Option<unsafe extern "C" fn(i32, i32) -> f32>

Amount of damage the shield can reflect. (0=infinite)

§WeaponDef_Shield_getPowerRegen: Option<unsafe extern "C" fn(i32, i32) -> f32>

Amount of power that is regenerated per second.

§WeaponDef_Shield_getPowerRegenResource: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>

How much of a given resource is needed to regenerate power with max speed per second.

§WeaponDef_Shield_getStartingPower: Option<unsafe extern "C" fn(i32, i32) -> f32>

How much power the shield has when it is created.

§WeaponDef_Shield_getRechargeDelay: Option<unsafe extern "C" fn(i32, i32) -> i32>

Number of frames to delay recharging by after each hit.

§WeaponDef_Shield_getInterceptType: Option<unsafe extern "C" fn(i32, i32) -> i32>

The type of the shield (bitfield). Defines what weapons can be intercepted by the shield.

@see getInterceptedByShieldType()

§WeaponDef_getInterceptedByShieldType: Option<unsafe extern "C" fn(i32, i32) -> i32>

The type of shields that can intercept this weapon (bitfield). The weapon can be affected by shields if: (shield.getInterceptType() & weapon.getInterceptedByShieldType()) != 0

@see getInterceptType()

§WeaponDef_isAvoidFriendly: Option<unsafe extern "C" fn(i32, i32) -> bool>

Tries to avoid friendly units while aiming?

§WeaponDef_isAvoidFeature: Option<unsafe extern "C" fn(i32, i32) -> bool>

Tries to avoid features while aiming?

§WeaponDef_isAvoidNeutral: Option<unsafe extern "C" fn(i32, i32) -> bool>

Tries to avoid neutral units while aiming?

§WeaponDef_getTargetBorder: Option<unsafe extern "C" fn(i32, i32) -> f32>

If nonzero, targetting units will TryTarget at the edge of collision sphere (radius*tag value, [-1;1]) instead of its centre.

§WeaponDef_getCylinderTargetting: Option<unsafe extern "C" fn(i32, i32) -> f32>

If greater than 0, the range will be checked in a cylinder (height=range*cylinderTargetting) instead of a sphere.

§WeaponDef_getMinIntensity: Option<unsafe extern "C" fn(i32, i32) -> f32>

For beam-lasers only - always hit with some minimum intensity (a damage coeffcient normally dependent on distance). Do not confuse this with the intensity tag, it i completely unrelated.

§WeaponDef_getHeightBoostFactor: Option<unsafe extern "C" fn(i32, i32) -> f32>

Controls cannon range height boost.

default: -1: automatically calculate a more or less sane value

§WeaponDef_getProximityPriority: Option<unsafe extern "C" fn(i32, i32) -> f32>

Multiplier for the distance to the target for priority calculations.

§WeaponDef_getCollisionFlags: Option<unsafe extern "C" fn(i32, i32) -> i32>§WeaponDef_isSweepFire: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_isAbleToAttackGround: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_getCameraShake: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getDynDamageExp: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getDynDamageMin: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_getDynDamageRange: Option<unsafe extern "C" fn(i32, i32) -> f32>§WeaponDef_isDynDamageInverted: Option<unsafe extern "C" fn(i32, i32) -> bool>§WeaponDef_getCustomParams: Option<unsafe extern "C" fn(i32, i32, *mut *const i8, *mut *const i8) -> i32>§Unit_Weapon_getDef: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>§Unit_Weapon_getReloadFrame: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>

Next tick the weapon can fire again.

§Unit_Weapon_getReloadTime: Option<unsafe extern "C" fn(i32, i32, i32) -> i32>

Time between succesive fires in ticks.

§Unit_Weapon_getRange: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§Unit_Weapon_isShieldEnabled: Option<unsafe extern "C" fn(i32, i32, i32) -> bool>§Unit_Weapon_getShieldPower: Option<unsafe extern "C" fn(i32, i32, i32) -> f32>§Debug_GraphDrawer_isEnabled: Option<unsafe extern "C" fn(i32) -> bool>

Trait Implementations§

Source§

impl Clone for SSkirmishAICallback

Source§

fn clone(&self) -> SSkirmishAICallback

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SSkirmishAICallback

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Copy for SSkirmishAICallback

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> SendSyncUnwindSafe for T
where T: Send + Sync + UnwindSafe + ?Sized,