diff --git a/GeneralsMD/Code/GameEngine/Include/Common/GameCommon.h b/GeneralsMD/Code/GameEngine/Include/Common/GameCommon.h index d5ceafbc04a..c1f632c0daf 100644 --- a/GeneralsMD/Code/GameEngine/Include/Common/GameCommon.h +++ b/GeneralsMD/Code/GameEngine/Include/Common/GameCommon.h @@ -488,6 +488,12 @@ enum WhichTurretType CPP_11(: Int) TURRET_MAIN = 0, TURRET_ALT, + TURRET_3, + TURRET_4, + TURRET_5, + TURRET_6, + TURRET_7, + TURRET_8, MAX_TURRETS }; diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate.cpp index 7612e42ff84..f4ce1740251 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/AIUpdate.cpp @@ -133,6 +133,14 @@ const LocomotorTemplateVector* AIUpdateModuleData::findLocomotorTemplateVector(L { { "Turret", AIUpdateModuleData::parseTurret, NULL, offsetof(AIUpdateModuleData, m_turretData[0]) }, { "AltTurret", AIUpdateModuleData::parseTurret, NULL, offsetof(AIUpdateModuleData, m_turretData[1]) }, + { "Turret1", AIUpdateModuleData::parseTurret, NULL, offsetof(AIUpdateModuleData, m_turretData[0]) }, + { "Turret2", AIUpdateModuleData::parseTurret, NULL, offsetof(AIUpdateModuleData, m_turretData[1]) }, + { "Turret3", AIUpdateModuleData::parseTurret, NULL, offsetof(AIUpdateModuleData, m_turretData[2]) }, + { "Turret4", AIUpdateModuleData::parseTurret, NULL, offsetof(AIUpdateModuleData, m_turretData[3]) }, + { "Turret5", AIUpdateModuleData::parseTurret, NULL, offsetof(AIUpdateModuleData, m_turretData[4]) }, + { "Turret6", AIUpdateModuleData::parseTurret, NULL, offsetof(AIUpdateModuleData, m_turretData[5]) }, + { "Turret7", AIUpdateModuleData::parseTurret, NULL, offsetof(AIUpdateModuleData, m_turretData[6]) }, + { "Turret8", AIUpdateModuleData::parseTurret, NULL, offsetof(AIUpdateModuleData, m_turretData[7]) }, { "AutoAcquireEnemiesWhenIdle", INI::parseBitString32, TheAutoAcquireEnemiesNames, offsetof(AIUpdateModuleData, m_autoAcquireEnemiesWhenIdle) }, { "MoodAttackCheckRate", INI::parseDurationUnsignedInt, NULL, offsetof(AIUpdateModuleData, m_moodAttackCheckRate) }, #ifdef ALLOW_SURRENDER diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/System/Damage.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/System/Damage.cpp index 395c96c62dc..b67a7e990c0 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/System/Damage.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/System/Damage.cpp @@ -94,6 +94,7 @@ const char* DamageTypeFlags::s_bitNameList[] = "TESLA", // Specific damage types with special logic attached "CHRONO_GUN", + "CHRONO_UNRESISTABLE", //"ZOMBIE_VIRUS", // TODO //"MIND_CONTROL", // TODO NULL diff --git a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp b/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp index 13999f486e5..76cb7165c82 100644 --- a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp +++ b/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Drawable/Draw/W3DModelDraw.cpp @@ -1428,6 +1428,38 @@ void W3DModelDrawModuleData::parseConditionState(INI* ini, void *instance, void { "AltTurretArtAngle", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[1].m_turretArtAngle) }, { "AltTurretPitch", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[1].m_turretPitchNameKey) }, { "AltTurretArtPitch", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[1].m_turretArtPitch) }, + { "Turret1", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[0].m_turretAngleNameKey) }, + { "Turret1ArtAngle", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[0].m_turretArtAngle) }, + { "Turret1Pitch", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[0].m_turretPitchNameKey) }, + { "Turret1ArtPitch", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[0].m_turretArtPitch) }, + { "Turret2", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[1].m_turretAngleNameKey) }, + { "Turret2ArtAngle", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[1].m_turretArtAngle) }, + { "Turret2Pitch", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[1].m_turretPitchNameKey) }, + { "Turret2ArtPitch", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[1].m_turretArtPitch) }, + { "Turret3", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[2].m_turretAngleNameKey) }, + { "Turret3ArtAngle", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[2].m_turretArtAngle) }, + { "Turret3Pitch", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[2].m_turretPitchNameKey) }, + { "Turret3ArtPitch", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[2].m_turretArtPitch) }, + { "Turret4", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[3].m_turretAngleNameKey) }, + { "Turret4ArtAngle", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[3].m_turretArtAngle) }, + { "Turret4Pitch", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[3].m_turretPitchNameKey) }, + { "Turret4ArtPitch", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[3].m_turretArtPitch) }, + { "Turret5", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[4].m_turretAngleNameKey) }, + { "Turret5ArtAngle", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[4].m_turretArtAngle) }, + { "Turret5Pitch", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[4].m_turretPitchNameKey) }, + { "Turret5ArtPitch", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[4].m_turretArtPitch) }, + { "Turret6", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[5].m_turretAngleNameKey) }, + { "Turret6ArtAngle", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[5].m_turretArtAngle) }, + { "Turret6Pitch", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[5].m_turretPitchNameKey) }, + { "Turret6ArtPitch", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[5].m_turretArtPitch) }, + { "Turret7", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[6].m_turretAngleNameKey) }, + { "Turret7ArtAngle", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[6].m_turretArtAngle) }, + { "Turret7Pitch", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[6].m_turretPitchNameKey) }, + { "Turret7ArtPitch", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[6].m_turretArtPitch) }, + { "Turret8", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[7].m_turretAngleNameKey) }, + { "Turret8ArtAngle", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[7].m_turretArtAngle) }, + { "Turret8Pitch", parseBoneNameKey, NULL, offsetof(ModelConditionInfo, m_turrets[7].m_turretPitchNameKey) }, + { "Turret8ArtPitch", INI::parseAngleReal, NULL, offsetof(ModelConditionInfo, m_turrets[7].m_turretArtPitch) }, { "ShowSubObject", parseShowHideSubObject, (void*)0, offsetof(ModelConditionInfo, m_hideShowVec) }, { "HideSubObject", parseShowHideSubObject, (void*)1, offsetof(ModelConditionInfo, m_hideShowVec) }, { "WeaponFireFXBone", parseWeaponBoneName, NULL, offsetof(ModelConditionInfo, m_weaponFireFXBoneName[0]) },