diff options
Diffstat (limited to 'engines/scumm/he/moonbase/ai_main.h')
-rw-r--r-- | engines/scumm/he/moonbase/ai_main.h | 176 |
1 files changed, 85 insertions, 91 deletions
diff --git a/engines/scumm/he/moonbase/ai_main.h b/engines/scumm/he/moonbase/ai_main.h index 1317f62cfb..4937eced0f 100644 --- a/engines/scumm/he/moonbase/ai_main.h +++ b/engines/scumm/he/moonbase/ai_main.h @@ -86,101 +86,95 @@ enum { static int energyHogType = 0; -void ResetAI(); -void CleanUpAI(); -void SetAIType(const int paramCount, const int *params); -int MasterControlProgram(const int paramCount, const int *params); - -int ChooseBehavior(); -int ChooseTarget(int behavior); - -Tree *InitApproachTarget(int targetX, int targetY, Node **retNode); -int *ApproachTarget(Tree *myTree, int &x, int &y, Node **currentNode); -Tree *InitAcquireTarget(int targetX, int targetY, Node **retNode); -int *AcquireTarget(int targetX, int targetY); -int *AcquireTarget(int targetX, int targetY, Tree *myTree, int &errorCode); -int *OffendTarget(int &targetX, int &targetY, int index); -int *DefendTarget(int &targetX, int &targetY, int index); -int *EnergizeTarget(int &targetX, int &targetY, int index); - -int GetClosestUnit(int x, int y, int radius, int player, int alignment, int unitType, int checkUnitEnabled); -int GetClosestUnit(int x, int y, int radius, int player, int alignment, int unitType, int checkUnitEnabled, int minDist); - -int GetDistance(int originX, int originY, int endX, int endY); -int GetAngle(int originX, int originY, int endX, int endY); -int GetAngle(int originX, int originY, int endX, int endY, int noWrapFlag); -int GetTerrain(int x, int y); -int GetHubX(int hub); -int GetHubY(int hub); -int GetMaxX(); -int GetMaxY(); -int GetCurrentPlayer(); -int GetMaxPower(); -int GetMinPower(); -int GetTerrainSquareSize(); -int GetBuildingOwner(int building); -int GetBuildingState(int building); -int GetBuildingType(int building); -int GetBuildingArmor(int building); -int GetBuildingWorth(int building); -void DebugBreak(); -int GetEnergyPoolsArray(); -int GetCoordinateVisibility(int x, int y, int playerNum); -int GetUnitVisibility(int unit, int playerNum); -int GetEnergyPoolVisibility(int pool, int playerNum); -int GetNumberOfPools(); -int GetNumberOfPlayers(); -int GetPlayerEnergy(); -int GetPlayerMaxTime(); -int GetWindXSpeed(); -int GetWindYSpeed(); -int GetTotalWindSpeed(); -int GetWindXSpeedMax(); -int GetWindYSpeedMax(); -int GetBigXSize(); -int GetBigYSize(); -int GetEnergyPoolWidth(int pool); -int GetBuildingMaxArmor(int building); -int GetTimerValue(int timerNum); -int GetLastAttacked(int &x, int &y); -int PrintDebugTimer(int max, int timerVal); -int GetPlayerTeam(int player); -int GetBuildingTeam(int building); -int GetFOW(); -int GetAnimSpeed(); -int GetBuildingStackPtr(); -int GetTurnCounter(); - -int GetGroundAltitude(int x, int y); -int CheckForCordOverlap(int xStart, int yStart, int affectRadius, int simulateFlag); -int CheckForAngleOverlap(int unit, int angle); -int EstimateNextRoundEnergy(int player); -int CheckForUnitOverlap(int x, int y, int radius, int ignoredUnit); -int CheckForEnergySquare(int x, int y); -int AIChat(); - - -int SimulateBuildingLaunch(int x, int y, int power, int angle, int numSteps, int isEnergy); -int SimulateWeaponLaunch(int x, int y, int power, int angle, int numSteps); -int FakeSimulateWeaponLaunch(int x, int y, int power, int angle); - -int GetPowerAngleFromPoint(int originX, int originY, int endX, int endY, int threshold, int olFlag); -int GetPowerAngleFromPoint(int originX, int originY, int endX, int endY, int threshold); -int CheckIfWaterState(int x, int y); -int CheckIfWaterSquare(int x, int y); -int GetUnitsWithinRadius(int x, int y, int radius); -int GetLandingPoint(int x, int y, int power, int angle); -int GetEnemyUnitsVisible(int playerNum); +void resetAI(); +void cleanUpAI(); +void setAIType(const int paramCount, const int *params); +int masterControlProgram(const int paramCount, const int *params); + +int chooseBehavior(); +int chooseTarget(int behavior); + +Tree *initApproachTarget(int targetX, int targetY, Node **retNode); +int *approachTarget(Tree *myTree, int &x, int &y, Node **currentNode); +Tree *initAcquireTarget(int targetX, int targetY, Node **retNode); +int *acquireTarget(int targetX, int targetY); +int *acquireTarget(int targetX, int targetY, Tree *myTree, int &errorCode); +int *offendTarget(int &targetX, int &targetY, int index); +int *defendTarget(int &targetX, int &targetY, int index); +int *energizeTarget(int &targetX, int &targetY, int index); + +int getClosestUnit(int x, int y, int radius, int player, int alignment, int unitType, int checkUnitEnabled); +int getClosestUnit(int x, int y, int radius, int player, int alignment, int unitType, int checkUnitEnabled, int minDist); + +int getDistance(int originX, int originY, int endX, int endY); +int calcAngle(int originX, int originY, int endX, int endY); +int calcAngle(int originX, int originY, int endX, int endY, int noWrapFlag); +int getTerrain(int x, int y); +int getHubX(int hub); +int getHubY(int hub); +int getMaxX(); +int getMaxY(); +int getCurrentPlayer(); +int getMaxPower(); +int getMinPower(); +int getTerrainSquareSize(); +int getBuildingOwner(int building); +int getBuildingState(int building); +int getBuildingType(int building); +int getBuildingArmor(int building); +int getBuildingWorth(int building); +int getEnergyPoolsArray(); +int getCoordinateVisibility(int x, int y, int playerNum); +int getUnitVisibility(int unit, int playerNum); +int getEnergyPoolVisibility(int pool, int playerNum); +int getNumberOfPools(); +int getNumberOfPlayers(); +int getPlayerEnergy(); +int getPlayerMaxTime(); +int getWindXSpeed(); +int getWindYSpeed(); +int getTotalWindSpeed(); +int getWindXSpeedMax(); +int getWindYSpeedMax(); +int getBigXSize(); +int getBigYSize(); +int getEnergyPoolWidth(int pool); +int getBuildingMaxArmor(int building); +int getTimerValue(int timerNum); +int getLastAttacked(int &x, int &y); +int getPlayerTeam(int player); +int getBuildingTeam(int building); +int getFOW(); +int getAnimSpeed(); +int getBuildingStackPtr(); +int getTurnCounter(); + +int getGroundAltitude(int x, int y); +int checkForCordOverlap(int xStart, int yStart, int affectRadius, int simulateFlag); +int checkForAngleOverlap(int unit, int angle); +int estimateNextRoundEnergy(int player); +int checkForUnitOverlap(int x, int y, int radius, int ignoredUnit); +int checkForEnergySquare(int x, int y); +int aiChat(); + +int simulateBuildingLaunch(int x, int y, int power, int angle, int numSteps, int isEnergy); +int simulateWeaponLaunch(int x, int y, int power, int angle, int numSteps); +int fakeSimulateWeaponLaunch(int x, int y, int power, int angle); + +int getPowerAngleFromPoint(int originX, int originY, int endX, int endY, int threshold, int olFlag); +int getPowerAngleFromPoint(int originX, int originY, int endX, int endY, int threshold); +int checkIfWaterState(int x, int y); +int checkIfWaterSquare(int x, int y); +int getUnitsWithinRadius(int x, int y, int radius); +int getLandingPoint(int x, int y, int power, int angle); +int getEnemyUnitsVisible(int playerNum); float degToRad(float degrees); -void MACRO_LimitLocation(int &a, int &b, int c, int d); +void limitLocation(int &a, int &b, int c, int d); int energyPoolSize(int pool); -int GetMaxCollectors(int pool); +int getMaxCollectors(int pool); -int TempChooseBehavior(); -int TempChooseTarget(int behavior); - -int GetEnergyHogType(); +int getEnergyHogType(); extern Common::Array<int> lastXCoord[]; extern Common::Array<int> lastYCoord[]; |