Skip to content
Merged
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
102 changes: 52 additions & 50 deletions GeneralsMD/Code/GameEngine/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
set(GAMEENGINE_SRC
Include/Common/AcademyStats.h
Include/Common/ActionManager.h
# Include/Common/ArchiveFile.h
# Include/Common/ArchiveFileSystem.h
# Include/Common/AsciiString.h
# Include/Common/AudioAffect.h
# Include/Common/AudioEventInfo.h
# Include/Common/AudioEventRTS.h
# Include/Common/AudioHandleSpecialValues.h
# Include/Common/AudioRandomValue.h
# Include/Common/AudioRequest.h
# Include/Common/AudioSettings.h
# Include/Common/ArchiveFile.h
# Include/Common/ArchiveFileSystem.h
# Include/Common/AsciiString.h
# Include/Common/AudioAffect.h
# Include/Common/AudioEventInfo.h
# Include/Common/AudioEventRTS.h
# Include/Common/AudioHandleSpecialValues.h
# Include/Common/AudioRandomValue.h
# Include/Common/AudioRequest.h
# Include/Common/AudioSettings.h
Include/Common/BattleHonors.h
Include/Common/BezFwdIterator.h
Include/Common/BezierSegment.h
Expand All @@ -33,21 +33,21 @@ set(GAMEENGINE_SRC
Include/Common/DisabledTypes.h
Include/Common/DiscreteCircle.h
Include/Common/DrawModule.h
# Include/Common/DynamicAudioEventInfo.h
# Include/Common/DynamicAudioEventInfo.h
Include/Common/encrypt.h
Include/Common/Energy.h
Include/Common/Errors.h
# Include/Common/file.h
# Include/Common/FileSystem.h
# Include/Common/file.h
# Include/Common/FileSystem.h
Include/Common/FunctionLexicon.h
# Include/Common/GameAudio.h
# Include/Common/GameAudio.h
Include/Common/GameCommon.h
# Include/Common/GameDefines.h
# Include/Common/GameDefines.h
Include/Common/GameEngine.h
Include/Common/GameLOD.h
Include/Common/GameMemory.h
# Include/Common/GameMusic.h
# Include/Common/GameSounds.h
# Include/Common/GameMusic.h
# Include/Common/GameSounds.h
Include/Common/GameSpyMiscPreferences.h
Include/Common/GameState.h
Include/Common/GameStateMap.h
Expand All @@ -63,13 +63,13 @@ set(GAMEENGINE_SRC
Include/Common/Language.h
Include/Common/LatchRestore.h
Include/Common/List.h
# Include/Common/LocalFile.h
# Include/Common/LocalFileSystem.h
# Include/Common/LocalFile.h
# Include/Common/LocalFileSystem.h
Include/Common/MapObject.h
Include/Common/MapReaderWriterInfo.h
Include/Common/MessageStream.h
Include/Common/MiniLog.h
# Include/Common/MiscAudio.h
# Include/Common/MiscAudio.h
Include/Common/MissionStats.h
Include/Common/ModelState.h
Include/Common/Module.h
Expand All @@ -91,16 +91,16 @@ set(GAMEENGINE_SRC
Include/Common/QuickmatchPreferences.h
Include/Common/QuotedPrintable.h
Include/Common/Radar.h
# Include/Common/RAMFile.h
# Include/Common/RAMFile.h
Include/Common/RandomValue.h
Include/Common/Recorder.h
# Include/Common/ReplaySimulation.h
# Include/Common/ReplaySimulation.h
Include/Common/Registry.h
Include/Common/ResourceGatheringManager.h
Include/Common/Science.h
Include/Common/ScopedMutex.h
Include/Common/ScoreKeeper.h
# Include/Common/simpleplayer.h
# Include/Common/simpleplayer.h
Include/Common/SkirmishBattleHonors.h
Include/Common/SkirmishPreferences.h
Include/Common/Snapshot.h
Expand All @@ -112,7 +112,7 @@ set(GAMEENGINE_SRC
Include/Common/StateMachine.h
Include/Common/StatsCollector.h
Include/Common/STLTypedefs.h
# Include/Common/StreamingArchiveFile.h
# Include/Common/StreamingArchiveFile.h
Include/Common/SubsystemInterface.h
Include/Common/SystemInfo.h
Include/Common/Team.h
Expand All @@ -123,14 +123,14 @@ set(GAMEENGINE_SRC
Include/Common/ThingSort.h
Include/Common/ThingTemplate.h
Include/Common/TunnelTracker.h
# Include/Common/UnicodeString.h
# Include/Common/UnicodeString.h
Include/Common/UnitTimings.h
Include/Common/Upgrade.h
# Include/Common/urllaunch.h
# Include/Common/urllaunch.h
Include/Common/UserPreferences.h
Include/Common/version.h
Include/Common/WellKnownKeys.h
# Include/Common/WorkerProcess.h
# Include/Common/WorkerProcess.h
# Include/Common/Xfer.h
# Include/Common/XferCRC.h
# Include/Common/XferDeepCRC.h
Expand Down Expand Up @@ -205,6 +205,7 @@ set(GAMEENGINE_SRC
Include/GameClient/Module/AnimatedParticleSysBoneClientUpdate.h
Include/GameClient/Module/BeaconClientUpdate.h
Include/GameClient/Module/SwayClientUpdate.h
Include/GameClient/Module/DynamicGeometryClientUpdate.h
Include/GameClient/Mouse.h
Include/GameClient/ParabolicEase.h
Include/GameClient/ParticleSys.h
Expand Down Expand Up @@ -563,14 +564,14 @@ set(GAMEENGINE_SRC
Include/GameNetwork/WOLBrowser/FEBDispatch.h
Include/GameNetwork/WOLBrowser/WebBrowser.h
Include/Precompiled/PreRTS.h
# Source/Common/Audio/AudioEventRTS.cpp
# Source/Common/Audio/AudioRequest.cpp
# Source/Common/Audio/DynamicAudioEventInfo.cpp
# Source/Common/Audio/GameAudio.cpp
# Source/Common/Audio/GameMusic.cpp
# Source/Common/Audio/GameSounds.cpp
#Source/Common/Audio/simpleplayer.cpp # unused
#Source/Common/Audio/urllaunch.cpp # unused
# Source/Common/Audio/AudioEventRTS.cpp
# Source/Common/Audio/AudioRequest.cpp
# Source/Common/Audio/DynamicAudioEventInfo.cpp
# Source/Common/Audio/GameAudio.cpp
# Source/Common/Audio/GameMusic.cpp
# Source/Common/Audio/GameSounds.cpp
#Source/Common/Audio/simpleplayer.cpp # unused
#Source/Common/Audio/urllaunch.cpp # unused
Source/Common/Bezier/BezFwdIterator.cpp
Source/Common/Bezier/BezierSegment.cpp
Source/Common/BitFlags.cpp
Expand All @@ -587,7 +588,7 @@ set(GAMEENGINE_SRC
Source/Common/INI/INI.cpp
Source/Common/INI/INIAiData.cpp
Source/Common/INI/INIAnimation.cpp
# Source/Common/INI/INIAudioEventInfo.cpp
# Source/Common/INI/INIAudioEventInfo.cpp
Source/Common/INI/INICommandButton.cpp
Source/Common/INI/INICommandSet.cpp
Source/Common/INI/INIControlBarScheme.cpp
Expand All @@ -598,7 +599,7 @@ set(GAMEENGINE_SRC
Source/Common/INI/INIMapCache.cpp
Source/Common/INI/INIMapData.cpp
Source/Common/INI/INIMappedImage.cpp
# Source/Common/INI/INIMiscAudio.cpp
# Source/Common/INI/INIMiscAudio.cpp
Source/Common/INI/INIModel.cpp
Source/Common/INI/INIMultiplayer.cpp
Source/Common/INI/INIObject.cpp
Expand All @@ -621,7 +622,7 @@ set(GAMEENGINE_SRC
Source/Common/PerfTimer.cpp
Source/Common/RandomValue.cpp
Source/Common/Recorder.cpp
# Source/Common/ReplaySimulation.cpp
# Source/Common/ReplaySimulation.cpp
Source/Common/RTS/AcademyStats.cpp
Source/Common/RTS/ActionManager.cpp
Source/Common/RTS/Energy.cpp
Expand All @@ -641,9 +642,9 @@ set(GAMEENGINE_SRC
Source/Common/SkirmishBattleHonors.cpp
Source/Common/StateMachine.cpp
Source/Common/StatsCollector.cpp
# Source/Common/System/ArchiveFile.cpp
# Source/Common/System/ArchiveFileSystem.cpp
# Source/Common/System/AsciiString.cpp
# Source/Common/System/ArchiveFile.cpp
# Source/Common/System/ArchiveFileSystem.cpp
# Source/Common/System/AsciiString.cpp
Source/Common/System/BuildAssistant.cpp
Source/Common/System/CDManager.cpp
Source/Common/System/CriticalSection.cpp
Expand All @@ -652,31 +653,31 @@ set(GAMEENGINE_SRC
Source/Common/System/Directory.cpp
Source/Common/System/DisabledTypes.cpp
Source/Common/System/encrypt.cpp
# Source/Common/System/File.cpp
# Source/Common/System/FileSystem.cpp
# Source/Common/System/File.cpp
# Source/Common/System/FileSystem.cpp
Source/Common/System/FunctionLexicon.cpp
Source/Common/System/GameCommon.cpp
#Source/Common/System/GameMemory.cpp
Source/Common/System/GameType.cpp
Source/Common/System/Geometry.cpp
Source/Common/System/KindOf.cpp
Source/Common/System/List.cpp
# Source/Common/System/LocalFile.cpp
# Source/Common/System/LocalFileSystem.cpp
# Source/Common/System/LocalFile.cpp
# Source/Common/System/LocalFileSystem.cpp
#Source/Common/System/MemoryInit.cpp
Source/Common/System/ObjectStatusTypes.cpp
Source/Common/System/QuotedPrintable.cpp
Source/Common/System/Radar.cpp
# Source/Common/System/RAMFile.cpp
# Source/Common/System/RAMFile.cpp
Source/Common/System/registry.cpp
Source/Common/System/SaveGame/GameState.cpp
Source/Common/System/SaveGame/GameStateMap.cpp
Source/Common/System/Snapshot.cpp
Source/Common/System/StackDump.cpp
# Source/Common/System/StreamingArchiveFile.cpp
# Source/Common/System/StreamingArchiveFile.cpp
Source/Common/System/SubsystemInterface.cpp
Source/Common/System/Trig.cpp
# Source/Common/System/UnicodeString.cpp
# Source/Common/System/UnicodeString.cpp
Source/Common/System/Upgrade.cpp
# Source/Common/System/Xfer.cpp
# Source/Common/System/XferCRC.cpp
Expand All @@ -691,7 +692,7 @@ set(GAMEENGINE_SRC
Source/Common/Thing/ThingTemplate.cpp
Source/Common/UserPreferences.cpp
Source/Common/version.cpp
# Source/Common/WorkerProcess.cpp
# Source/Common/WorkerProcess.cpp
Source/GameClient/ClientInstance.cpp
Source/GameClient/Color.cpp
Source/GameClient/Credits.cpp
Expand All @@ -702,6 +703,7 @@ set(GAMEENGINE_SRC
Source/GameClient/Drawable/Update/AnimatedParticleSysBoneClientUpdate.cpp
Source/GameClient/Drawable/Update/BeaconClientUpdate.cpp
Source/GameClient/Drawable/Update/SwayClientUpdate.cpp
Source/GameClient/Drawable/Update/DynamicGeometryClientUpdate.cpp
Source/GameClient/DrawGroupInfo.cpp
Source/GameClient/Eva.cpp
Source/GameClient/FXList.cpp
Expand Down Expand Up @@ -826,7 +828,7 @@ set(GAMEENGINE_SRC
Source/GameClient/Statistics.cpp
Source/GameClient/System/Anim2D.cpp
Source/GameClient/System/CampaignManager.cpp
# "Source/GameClient/System/Debug Displayers/AudioDebugDisplay.cpp"
# "Source/GameClient/System/Debug Displayers/AudioDebugDisplay.cpp"
Source/GameClient/System/DebugDisplay.cpp
Source/GameClient/System/Image.cpp
Source/GameClient/System/ParticleSys.cpp
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
/*
** Command & Conquer Generals Zero Hour(tm)
** Copyright 2025 Electronic Arts Inc.
**
** This program is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

////////////////////////////////////////////////////////////////////////////////
// //
// (c) 2001-2003 Electronic Arts Inc. //
// //
////////////////////////////////////////////////////////////////////////////////

// FILE: DynamicGeometryClientUpdate.h ////////////////////////////////////////////////////////////////////
// Author: Andi W, August 2025
// Desc: Simple Alpha/Scale transition
///////////////////////////////////////////////////////////////////////////////////////////////////

#pragma once

#ifndef __DynamicGeometryClientUpdate_H_
#define __DynamicGeometryClientUpdate_H_

// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
#include "Common/ClientUpdateModule.h"

// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////

//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
class DynamicGeometryClientUpdateModuleData : public ClientUpdateModuleData
{
public:
Real m_scaleInitial;
Real m_scaleMidpoint;
Real m_scaleFinal;

Real m_alphaInitial;
Real m_alphaMidpoint;
Real m_alphaFinal;

UnsignedInt m_totalFrames;
UnsignedInt m_midpointFrames;

UnsignedInt m_interpolationType;

DynamicGeometryClientUpdateModuleData();
~DynamicGeometryClientUpdateModuleData();
static void buildFieldParse(MultiIniFieldParse& p);
};
//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
class DynamicGeometryClientUpdate : public ClientUpdateModule
{

MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( DynamicGeometryClientUpdate, "DynamicGeometryClientUpdate" )
MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( DynamicGeometryClientUpdate, DynamicGeometryClientUpdateModuleData);

public:

DynamicGeometryClientUpdate( Thing *thing, const ModuleData* moduleData );
// virtual destructor prototype provided by memory pool declaration

/// the client update callback
virtual void clientUpdate( void );

void setScaleMultiplier( Real value ) { m_overrideScale = value; }
void setAlphaMultiplier( Real value ) { m_overrideAlpha = value; }

protected:

UnsignedInt m_startFrame;
Real m_overrideScale;
Real m_overrideAlpha;
};

#endif // __DynamicGeometryClientUpdate_H_

Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ class ChronoDeathBehaviorModuleData : public UpdateModuleData
Real m_startAlpha;
Real m_endAlpha;

Real m_oclScaleFactor;

UnsignedInt m_destructionDelay;

ChronoDeathBehaviorModuleData();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ static PoolSizeRec sizes[] =
{ "WindowLayoutPool", 32, 32 },
{ "AnimatedParticleSysBoneClientUpdate", 16, 16 },
{ "SwayClientUpdate", 32, 32 },
{ "DynamicGeometryClientUpdate", 32, 32 },
{ "BeaconClientUpdate", 64, 32 },
{ "AIGroupPool", 64, 32 },
{ "AIDockMachinePool", 256, 32 },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,7 @@
// client update includes
#include "GameClient/Module/AnimatedParticleSysBoneClientUpdate.h"
#include "GameClient/Module/SwayClientUpdate.h"
#include "GameClient/Module/DynamicGeometryClientUpdate.h"
#include "GameClient/Module/BeaconClientUpdate.h"

// PUBLIC DATA ////////////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -577,6 +578,7 @@ void ModuleFactory::init( void )
// client update modules
addModule( AnimatedParticleSysBoneClientUpdate );
addModule( SwayClientUpdate );
addModule( DynamicGeometryClientUpdate );
addModule( BeaconClientUpdate );

} // end init
Expand Down
Loading
Loading