Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 40 additions & 40 deletions Core/GameEngine/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -287,15 +287,15 @@ set(GAMEENGINE_SRC
# Include/GameLogic/Module/ChinookAIUpdate.h
# Include/GameLogic/Module/CleanupAreaPower.h
# Include/GameLogic/Module/CleanupHazardUpdate.h
# Include/GameLogic/Module/CollideModule.h
Include/GameLogic/Module/CollideModule.h
# Include/GameLogic/Module/CommandButtonHuntUpdate.h
# Include/GameLogic/Module/CommandSetUpgrade.h
# Include/GameLogic/Module/ContainModule.h
# Include/GameLogic/Module/ConvertToCarBombCrateCollide.h
# Include/GameLogic/Module/ConvertToHijackedVehicleCrateCollide.h
Include/GameLogic/Module/ConvertToCarBombCrateCollide.h
Include/GameLogic/Module/ConvertToHijackedVehicleCrateCollide.h
# Include/GameLogic/Module/CostModifierUpgrade.h
# Include/GameLogic/Module/CountermeasuresBehavior.h
# Include/GameLogic/Module/CrateCollide.h
Include/GameLogic/Module/CrateCollide.h
# Include/GameLogic/Module/CreateCrateDie.h
# Include/GameLogic/Module/CreateModule.h
# Include/GameLogic/Module/CreateObjectDie.h
Expand Down Expand Up @@ -324,7 +324,7 @@ set(GAMEENGINE_SRC
# Include/GameLogic/Module/FireOCLAfterWeaponCooldownUpdate.h
# Include/GameLogic/Module/FireSpreadUpdate.h
# Include/GameLogic/Module/FirestormDynamicGeometryInfoUpdate.h
# Include/GameLogic/Module/FireWeaponCollide.h
Include/GameLogic/Module/FireWeaponCollide.h
# Include/GameLogic/Module/FireWeaponPower.h
# Include/GameLogic/Module/FireWeaponUpdate.h
# Include/GameLogic/Module/FireWeaponWhenDamagedBehavior.h
Expand All @@ -340,7 +340,7 @@ set(GAMEENGINE_SRC
# Include/GameLogic/Module/GrantUpgradeCreate.h
# Include/GameLogic/Module/HackInternetAIUpdate.h
# Include/GameLogic/Module/HealContain.h
# Include/GameLogic/Module/HealCrateCollide.h
Include/GameLogic/Module/HealCrateCollide.h
# Include/GameLogic/Module/HeightDieUpdate.h
# Include/GameLogic/Module/HelicopterSlowDeathUpdate.h
# Include/GameLogic/Module/HelixContain.h
Expand All @@ -366,7 +366,7 @@ set(GAMEENGINE_SRC
# Include/GameLogic/Module/MobMemberSlavedUpdate.h
# Include/GameLogic/Module/MobNexusContain.h
# Include/GameLogic/Module/ModelConditionUpgrade.h
# Include/GameLogic/Module/MoneyCrateCollide.h
Include/GameLogic/Module/MoneyCrateCollide.h
# Include/GameLogic/Module/NeutronBlastBehavior.h
# Include/GameLogic/Module/NeutronMissileSlowDeathUpdate.h
# Include/GameLogic/Module/NeutronMissileUpdate.h
Expand Down Expand Up @@ -414,16 +414,16 @@ set(GAMEENGINE_SRC
# Include/GameLogic/Module/RepairDockUpdate.h
# Include/GameLogic/Module/ReplaceObjectUpgrade.h
# Include/GameLogic/Module/RiderChangeContain.h
# Include/GameLogic/Module/SabotageCommandCenterCrateCollide.h
# Include/GameLogic/Module/SabotageFakeBuildingCrateCollide.h
# Include/GameLogic/Module/SabotageInternetCenterCrateCollide.h
# Include/GameLogic/Module/SabotageMilitaryFactoryCrateCollide.h
# Include/GameLogic/Module/SabotagePowerPlantCrateCollide.h
# Include/GameLogic/Module/SabotageSuperweaponCrateCollide.h
# Include/GameLogic/Module/SabotageSupplyCenterCrateCollide.h
# Include/GameLogic/Module/SabotageSupplyDropzoneCrateCollide.h
# Include/GameLogic/Module/SalvageCrateCollide.h
# Include/GameLogic/Module/ShroudCrateCollide.h
Include/GameLogic/Module/SabotageCommandCenterCrateCollide.h
Include/GameLogic/Module/SabotageFakeBuildingCrateCollide.h
Include/GameLogic/Module/SabotageInternetCenterCrateCollide.h
Include/GameLogic/Module/SabotageMilitaryFactoryCrateCollide.h
Include/GameLogic/Module/SabotagePowerPlantCrateCollide.h
Include/GameLogic/Module/SabotageSuperweaponCrateCollide.h
Include/GameLogic/Module/SabotageSupplyCenterCrateCollide.h
Include/GameLogic/Module/SabotageSupplyDropzoneCrateCollide.h
Include/GameLogic/Module/SalvageCrateCollide.h
Include/GameLogic/Module/ShroudCrateCollide.h
# Include/GameLogic/Module/SlavedUpdate.h
# Include/GameLogic/Module/SlowDeathBehavior.h
# Include/GameLogic/Module/SmartBombTargetHomingUpdate.h
Expand All @@ -439,7 +439,7 @@ set(GAMEENGINE_SRC
# Include/GameLogic/Module/SpectreGunshipUpdate.h
# Include/GameLogic/Module/SpyVisionSpecialPower.h
# Include/GameLogic/Module/SpyVisionUpdate.h
# Include/GameLogic/Module/SquishCollide.h
Include/GameLogic/Module/SquishCollide.h
# Include/GameLogic/Module/StatusBitsUpgrade.h
# Include/GameLogic/Module/StatusDamageHelper.h
# Include/GameLogic/Module/StealthDetectorUpdate.h
Expand Down Expand Up @@ -467,12 +467,12 @@ set(GAMEENGINE_SRC
# Include/GameLogic/Module/TransportContain.h
# Include/GameLogic/Module/TunnelContain.h
# Include/GameLogic/Module/UndeadBody.h
# Include/GameLogic/Module/UnitCrateCollide.h
Include/GameLogic/Module/UnitCrateCollide.h
# Include/GameLogic/Module/UnpauseSpecialPowerUpgrade.h
# Include/GameLogic/Module/UpdateModule.h
# Include/GameLogic/Module/UpgradeDie.h
# Include/GameLogic/Module/UpgradeModule.h
# Include/GameLogic/Module/VeterancyCrateCollide.h
Include/GameLogic/Module/VeterancyCrateCollide.h
# Include/GameLogic/Module/VeterancyGainCreate.h
# Include/GameLogic/Module/WanderAIUpdate.h
# Include/GameLogic/Module/WaveGuideUpdate.h
Expand Down Expand Up @@ -895,26 +895,26 @@ set(GAMEENGINE_SRC
# Source/GameLogic/Object/Body/InactiveBody.cpp
# Source/GameLogic/Object/Body/StructureBody.cpp
# Source/GameLogic/Object/Body/UndeadBody.cpp
# Source/GameLogic/Object/Collide/CollideModule.cpp
# Source/GameLogic/Object/Collide/CrateCollide/ConvertToCarBombCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/ConvertToHijackedVehicleCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/CrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/HealCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/MoneyCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SabotageCommandCenterCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SabotageFakeBuilding.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SabotageInternetCenterCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SabotageMilitaryFactoryCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SabotagePowerPlantCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SabotageSuperweaponCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SabotageSupplyCenterCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SabotageSupplyDropzoneCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/SalvageCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/ShroudCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/UnitCrateCollide.cpp
# Source/GameLogic/Object/Collide/CrateCollide/VeterancyCrateCollide.cpp
# Source/GameLogic/Object/Collide/FireWeaponCollide.cpp
# Source/GameLogic/Object/Collide/SquishCollide.cpp
Source/GameLogic/Object/Collide/CollideModule.cpp
Source/GameLogic/Object/Collide/CrateCollide/ConvertToCarBombCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/ConvertToHijackedVehicleCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/CrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/HealCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/MoneyCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/SabotageCommandCenterCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/SabotageFakeBuilding.cpp
Source/GameLogic/Object/Collide/CrateCollide/SabotageInternetCenterCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/SabotageMilitaryFactoryCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/SabotagePowerPlantCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/SabotageSuperweaponCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/SabotageSupplyCenterCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/SabotageSupplyDropzoneCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/SalvageCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/ShroudCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/UnitCrateCollide.cpp
Source/GameLogic/Object/Collide/CrateCollide/VeterancyCrateCollide.cpp
Source/GameLogic/Object/Collide/FireWeaponCollide.cpp
Source/GameLogic/Object/Collide/SquishCollide.cpp
# Source/GameLogic/Object/Contain/CaveContain.cpp
# Source/GameLogic/Object/Contain/GarrisonContain.cpp
# Source/GameLogic/Object/Contain/HealContain.cpp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,9 @@ class CollideModuleInterface
virtual void onCollide( Object *other, const Coord3D *loc, const Coord3D *normal ) = 0;
virtual Bool wouldLikeToCollideWith(const Object* other) const = 0;
virtual Bool isHijackedVehicleCrateCollide() const = 0;
#if RTS_ZEROHOUR
virtual Bool isSabotageBuildingCrateCollide() const = 0;
#endif
virtual Bool isCarBombCrateCollide() const = 0;
virtual Bool isRailroad() const = 0;
virtual Bool isSalvageCrateCollide() const = 0;
Expand Down Expand Up @@ -88,7 +90,9 @@ class CollideModule : public BehaviorModule,
/// this is used for things like pilots, to determine if they can "enter" something
virtual Bool wouldLikeToCollideWith(const Object* other) const override { return false; }
virtual Bool isHijackedVehicleCrateCollide() const override { return false; }
#if RTS_ZEROHOUR
virtual Bool isSabotageBuildingCrateCollide() const override { return false; }
#endif
virtual Bool isCarBombCrateCollide() const override { return false; }
virtual Bool isRailroad() const override { return false;}
virtual Bool isSalvageCrateCollide() const override { return false; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ class CrateCollide : public CollideModule

public:

#if RTS_ZEROHOUR
enum SabotageVictimType CPP_11(: Int)
{
SAB_VICTIM_GENERIC = 0,
Expand All @@ -82,6 +83,7 @@ enum SabotageVictimType CPP_11(: Int)
SAB_VICTIM_SUPPLY_CENTER,
SAB_VICTIM_DROP_ZONE,
};
#endif

CrateCollide( Thing *thing, const ModuleData* moduleData );
// virtual destructor prototype provided by memory pool declaration
Expand All @@ -94,9 +96,11 @@ enum SabotageVictimType CPP_11(: Int)
virtual Bool isRailroad() const override { return FALSE;};
virtual Bool isCarBombCrateCollide() const override { return FALSE; }
virtual Bool isHijackedVehicleCrateCollide() const override { return FALSE; }
#if RTS_ZEROHOUR
virtual Bool isSabotageBuildingCrateCollide() const override { return FALSE; }

void doSabotageFeedbackFX( const Object *other, SabotageVictimType type = SAB_VICTIM_GENERIC );
#endif

protected:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@
// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
#include "Common/Module.h"
#include "GameLogic/Module/CrateCollide.h"
#if RTS_ZEROHOUR
#include "GameLogic/Module/AutoDepositUpdate.h"
#endif

// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
class Thing;
Expand All @@ -42,12 +44,16 @@ class MoneyCrateCollideModuleData : public CrateCollideModuleData
{
public:
UnsignedInt m_moneyProvided;
#if RTS_ZEROHOUR
std::list<upgradePair> m_upgradeBoost;
#endif

MoneyCrateCollideModuleData()
{
m_moneyProvided = 0;
#if RTS_ZEROHOUR
m_upgradeBoost.clear();
#endif
}

static void buildFieldParse(MultiIniFieldParse& p)
Expand All @@ -57,8 +63,10 @@ class MoneyCrateCollideModuleData : public CrateCollideModuleData
static const FieldParse dataFieldParse[] =
{
{ "MoneyProvided", INI::parseUnsignedInt, nullptr, offsetof( MoneyCrateCollideModuleData, m_moneyProvided ) },
#if RTS_ZEROHOUR
{ "UpgradedBoost", parseUpgradePair, nullptr, offsetof( MoneyCrateCollideModuleData, m_upgradeBoost ) },

#endif
{ 0, 0, 0, 0 }
};
p.add(dataFieldParse);
Expand All @@ -83,6 +91,8 @@ class MoneyCrateCollide : public CrateCollide
/// This is the game logic execution function that all real CrateCollides will implement
virtual Bool executeCrateBehavior( Object *other ) override;

#if RTS_ZEROHOUR
Int getUpgradedSupplyBoost( Object *other ) const;
#endif

};
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@

#pragma once

#if RTS_ZEROHOUR

// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
#include "Common/Module.h"
#include "GameLogic/Module/CrateCollide.h"
Expand Down Expand Up @@ -84,3 +86,5 @@ class SabotageCommandCenterCrateCollide : public CrateCollide
virtual Bool isSabotageBuildingCrateCollide() const override { return TRUE; }

};

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@

#pragma once

#if RTS_ZEROHOUR

// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
#include "Common/Module.h"
#include "GameLogic/Module/CrateCollide.h"
Expand Down Expand Up @@ -84,3 +86,5 @@ class SabotageFakeBuildingCrateCollide : public CrateCollide
virtual Bool isSabotageBuildingCrateCollide() const override { return TRUE; }

};

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@

#pragma once

#if RTS_ZEROHOUR

// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
#include "Common/Module.h"
#include "GameLogic/Module/CrateCollide.h"
Expand Down Expand Up @@ -87,3 +89,5 @@ class SabotageInternetCenterCrateCollide : public CrateCollide
virtual Bool isSabotageBuildingCrateCollide() const override { return TRUE; }

};

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@

#pragma once

#if RTS_ZEROHOUR

// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
#include "Common/Module.h"
#include "GameLogic/Module/CrateCollide.h"
Expand Down Expand Up @@ -87,3 +89,5 @@ class SabotageMilitaryFactoryCrateCollide : public CrateCollide
virtual Bool isSabotageBuildingCrateCollide() const override { return TRUE; }

};

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@

#pragma once

#if RTS_ZEROHOUR

// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
#include "Common/Module.h"
#include "GameLogic/Module/CrateCollide.h"
Expand Down Expand Up @@ -87,3 +89,5 @@ class SabotagePowerPlantCrateCollide : public CrateCollide
virtual Bool isSabotageBuildingCrateCollide() const override { return TRUE; }

};

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@

#pragma once

#if RTS_ZEROHOUR

// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
#include "Common/Module.h"
#include "GameLogic/Module/CrateCollide.h"
Expand Down Expand Up @@ -84,3 +86,5 @@ class SabotageSuperweaponCrateCollide : public CrateCollide
virtual Bool isSabotageBuildingCrateCollide() const override { return TRUE; }

};

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@

#pragma once

#if RTS_ZEROHOUR

// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
#include "Common/Module.h"
#include "GameLogic/Module/CrateCollide.h"
Expand Down Expand Up @@ -87,3 +89,5 @@ class SabotageSupplyCenterCrateCollide : public CrateCollide
virtual Bool isSabotageBuildingCrateCollide() const override { return TRUE; }

};

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@

#pragma once

#if RTS_ZEROHOUR

// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
#include "Common/Module.h"
#include "GameLogic/Module/CrateCollide.h"
Expand Down Expand Up @@ -87,3 +89,5 @@ class SabotageSupplyDropzoneCrateCollide : public CrateCollide
virtual Bool isSabotageBuildingCrateCollide() const override { return TRUE; }

};

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,17 @@ class SalvageCrateCollide : public CrateCollide

private:
Bool eligibleForWeaponSet( Object *other );
#if RTS_ZEROHOUR
Bool eligibleForArmorSet( Object *other );
#endif
Bool eligibleForLevel( Object *other );
Bool testWeaponChance();
Bool testLevelChance();

void doWeaponSet( Object *other );
#if RTS_ZEROHOUR
void doArmorSet( Object *other );
#endif
void doLevelGain( Object *other );
void doMoney( Object *other );

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ Bool ConvertToCarBombCrateCollide::executeCrateBehavior( Object *other )
if (ai && ai->getGoalObject() != other)
return false;

#if RTS_ZEROHOUR
if( other && other->checkAndDetonateBoobyTrap(obj) )
{
// Whoops, it was mined. Cancel if it or us is now dead.
Expand All @@ -125,6 +126,7 @@ Bool ConvertToCarBombCrateCollide::executeCrateBehavior( Object *other )
return false;
}
}
#endif

other->setWeaponSetFlag( WEAPONSET_CARBOMB );

Expand Down
Loading
Loading