Files
source/Standard Gaming Platform/TopicIDs.h
T
Sevenfm 32482f20f6 New option AI_DECISION_INFO enables extended logging for AI decisions.
Moved zombie AI into separate file ZombieDecideAction.cpp
New zombie AI:
- simplified code
- advancing using cover
- if zombie cannot reach any opponent, he tries to hide
- if zombie cannot reach opponent and cannot hide and he is under fire, he will retreat, seeking cover away from known opponents
- if zombie doesn't know enemy location, he will try to run to closest friend who knows enemy location
- new zombie AI has extended AI logging
More water splash sounds (Data\Sounds\Misc\Splash1.ogg .. SplashN.ogg).
CalcCoverValue: 
- allow moving into shallow water if it provides better position
- special calculations for zombies: zombie is very dangerous at close range
- if soldier has no gun, use different calculation based on distance instead of CTGT
FindBestNearbyCover: zombies only choose spots that provide sight cover.
Added functions for extended AI log.
ClosestReachableDisturbance:
- if soldier is zombie and he cannot climb, skip location
- zombies do not attack vehicles
- improved check to avoid choosing dying opponents
EstimatePathCostToLocation: return 0 if checking for zombie which cannot climb and path needs climbing.
RoamingRange: always max roaming range for zombies.
SightCoverAtSpot, ProneSightCoverAtSpot:
- improved max sight range calculation
- added option for unlimited sight range check
New AI functions:
- AIDirection
- AICheckIsSniper
- AICheckIsMarksman
- AICheckIsMedic
- AICheckIsMortarOperator
- AICheckIsGLOperator
- AICheckIsOfficer
- AICheckIsCommander
- AICheckIsMachinegunner
- AIGunInHandScoped
- AIGunScoped
- AIGunRange
- AIGunClass
- AIGunType
- AIGunDeadliness
- AIGunAmmo
- AIGunAutofireCapable
- FindObstacleNearSpot
- InSmoke
- CorpseWarning
- CorpseEnemyTeam
- CorpseMilitiaTeam
- AICheckUnderground
- AnyCoverAtSpot
- AICheckHasWeaponOfType
- AICheckHasGun
- AICheckShortWeaponRange
GetCorpseAtGridNo: additional check for valid gridno.
More zombie raise sounds (Data\Sounds\Misc\ZombieRaise1.ogg .. ZombieRaiseN.ogg).
GetCorpseRotFactor: improved code to return FLOAT value between 0 and 1.
New debug topic id TOPIC_DECISIONS for logging AI decisions.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8760 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2020-02-21 23:33:25 +00:00

34 lines
1.1 KiB
C

#ifndef _TOPICIDS_H
#define _TOPICIDS_H
const unsigned INVALID_TOPIC = 0xffff;
const unsigned TOPIC_DECISIONS = 25;
const unsigned TOPIC_MEMORY_MANAGER = 24;
const unsigned TOPIC_FILE_MANAGER = 23;
const unsigned TOPIC_DATABASE_MANAGER = 22;
const unsigned TOPIC_GAME = 21;
const unsigned TOPIC_SGP = 20;
const unsigned TOPIC_VIDEO = 19;
const unsigned TOPIC_INPUT = 18;
const unsigned TOPIC_STACK_CONTAINERS = 17;
const unsigned TOPIC_LIST_CONTAINERS = 16;
const unsigned TOPIC_QUEUE_CONTAINERS = 15;
const unsigned TOPIC_PRILIST_CONTAINERS = 14;
const unsigned TOPIC_HIMAGE = 13;
const unsigned TOPIC_ORDLIST_CONTAINERS = 12;
const unsigned TOPIC_3DENGINE = 11;
const unsigned TOPIC_VIDEOOBJECT = 10;
const unsigned TOPIC_FONT_HANDLER = 9;
const unsigned TOPIC_VIDEOSURFACE = 8;
const unsigned TOPIC_MOUSE_SYSTEM = 7;
const unsigned TOPIC_BUTTON_HANDLER = 6;
const unsigned TOPIC_MUTEX = 5;
const unsigned TOPIC_JA2INTERRUPT = 4;
const unsigned TOPIC_JA2 = 3;
const unsigned TOPIC_BLIT_QUEUE = INVALID_TOPIC;
const unsigned TOPIC_JA2OPPLIST = 2;
const unsigned TOPIC_JA2AI = 1;
#endif // NUM_TOPICS_IDS