Skip to content

Commit 18272d6

Browse files
committed
Merge branch 'main' into unique_unit_deploy_genpower
2 parents 2c53b3e + aa3c558 commit 18272d6

File tree

7 files changed

+417
-52
lines changed

7 files changed

+417
-52
lines changed

GeneralsMD/Code/GameEngine/CMakeLists.txt

Lines changed: 52 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
set(GAMEENGINE_SRC
22
Include/Common/AcademyStats.h
33
Include/Common/ActionManager.h
4-
# Include/Common/ArchiveFile.h
5-
# Include/Common/ArchiveFileSystem.h
6-
# Include/Common/AsciiString.h
7-
# Include/Common/AudioAffect.h
8-
# Include/Common/AudioEventInfo.h
9-
# Include/Common/AudioEventRTS.h
10-
# Include/Common/AudioHandleSpecialValues.h
11-
# Include/Common/AudioRandomValue.h
12-
# Include/Common/AudioRequest.h
13-
# Include/Common/AudioSettings.h
4+
# Include/Common/ArchiveFile.h
5+
# Include/Common/ArchiveFileSystem.h
6+
# Include/Common/AsciiString.h
7+
# Include/Common/AudioAffect.h
8+
# Include/Common/AudioEventInfo.h
9+
# Include/Common/AudioEventRTS.h
10+
# Include/Common/AudioHandleSpecialValues.h
11+
# Include/Common/AudioRandomValue.h
12+
# Include/Common/AudioRequest.h
13+
# Include/Common/AudioSettings.h
1414
Include/Common/BattleHonors.h
1515
Include/Common/BezFwdIterator.h
1616
Include/Common/BezierSegment.h
@@ -33,21 +33,21 @@ set(GAMEENGINE_SRC
3333
Include/Common/DisabledTypes.h
3434
Include/Common/DiscreteCircle.h
3535
Include/Common/DrawModule.h
36-
# Include/Common/DynamicAudioEventInfo.h
36+
# Include/Common/DynamicAudioEventInfo.h
3737
Include/Common/encrypt.h
3838
Include/Common/Energy.h
3939
Include/Common/Errors.h
40-
# Include/Common/file.h
41-
# Include/Common/FileSystem.h
40+
# Include/Common/file.h
41+
# Include/Common/FileSystem.h
4242
Include/Common/FunctionLexicon.h
43-
# Include/Common/GameAudio.h
43+
# Include/Common/GameAudio.h
4444
Include/Common/GameCommon.h
45-
# Include/Common/GameDefines.h
45+
# Include/Common/GameDefines.h
4646
Include/Common/GameEngine.h
4747
Include/Common/GameLOD.h
4848
Include/Common/GameMemory.h
49-
# Include/Common/GameMusic.h
50-
# Include/Common/GameSounds.h
49+
# Include/Common/GameMusic.h
50+
# Include/Common/GameSounds.h
5151
Include/Common/GameSpyMiscPreferences.h
5252
Include/Common/GameState.h
5353
Include/Common/GameStateMap.h
@@ -63,13 +63,13 @@ set(GAMEENGINE_SRC
6363
Include/Common/Language.h
6464
Include/Common/LatchRestore.h
6565
Include/Common/List.h
66-
# Include/Common/LocalFile.h
67-
# Include/Common/LocalFileSystem.h
66+
# Include/Common/LocalFile.h
67+
# Include/Common/LocalFileSystem.h
6868
Include/Common/MapObject.h
6969
Include/Common/MapReaderWriterInfo.h
7070
Include/Common/MessageStream.h
7171
Include/Common/MiniLog.h
72-
# Include/Common/MiscAudio.h
72+
# Include/Common/MiscAudio.h
7373
Include/Common/MissionStats.h
7474
Include/Common/ModelState.h
7575
Include/Common/Module.h
@@ -91,16 +91,16 @@ set(GAMEENGINE_SRC
9191
Include/Common/QuickmatchPreferences.h
9292
Include/Common/QuotedPrintable.h
9393
Include/Common/Radar.h
94-
# Include/Common/RAMFile.h
94+
# Include/Common/RAMFile.h
9595
Include/Common/RandomValue.h
9696
Include/Common/Recorder.h
97-
# Include/Common/ReplaySimulation.h
97+
# Include/Common/ReplaySimulation.h
9898
Include/Common/Registry.h
9999
Include/Common/ResourceGatheringManager.h
100100
Include/Common/Science.h
101101
Include/Common/ScopedMutex.h
102102
Include/Common/ScoreKeeper.h
103-
# Include/Common/simpleplayer.h
103+
# Include/Common/simpleplayer.h
104104
Include/Common/SkirmishBattleHonors.h
105105
Include/Common/SkirmishPreferences.h
106106
Include/Common/Snapshot.h
@@ -112,7 +112,7 @@ set(GAMEENGINE_SRC
112112
Include/Common/StateMachine.h
113113
Include/Common/StatsCollector.h
114114
Include/Common/STLTypedefs.h
115-
# Include/Common/StreamingArchiveFile.h
115+
# Include/Common/StreamingArchiveFile.h
116116
Include/Common/SubsystemInterface.h
117117
Include/Common/SystemInfo.h
118118
Include/Common/Team.h
@@ -123,14 +123,14 @@ set(GAMEENGINE_SRC
123123
Include/Common/ThingSort.h
124124
Include/Common/ThingTemplate.h
125125
Include/Common/TunnelTracker.h
126-
# Include/Common/UnicodeString.h
126+
# Include/Common/UnicodeString.h
127127
Include/Common/UnitTimings.h
128128
Include/Common/Upgrade.h
129-
# Include/Common/urllaunch.h
129+
# Include/Common/urllaunch.h
130130
Include/Common/UserPreferences.h
131131
Include/Common/version.h
132132
Include/Common/WellKnownKeys.h
133-
# Include/Common/WorkerProcess.h
133+
# Include/Common/WorkerProcess.h
134134
# Include/Common/Xfer.h
135135
# Include/Common/XferCRC.h
136136
# Include/Common/XferDeepCRC.h
@@ -205,6 +205,7 @@ set(GAMEENGINE_SRC
205205
Include/GameClient/Module/AnimatedParticleSysBoneClientUpdate.h
206206
Include/GameClient/Module/BeaconClientUpdate.h
207207
Include/GameClient/Module/SwayClientUpdate.h
208+
Include/GameClient/Module/DynamicGeometryClientUpdate.h
208209
Include/GameClient/Mouse.h
209210
Include/GameClient/ParabolicEase.h
210211
Include/GameClient/ParticleSys.h
@@ -564,14 +565,14 @@ set(GAMEENGINE_SRC
564565
Include/GameNetwork/WOLBrowser/FEBDispatch.h
565566
Include/GameNetwork/WOLBrowser/WebBrowser.h
566567
Include/Precompiled/PreRTS.h
567-
# Source/Common/Audio/AudioEventRTS.cpp
568-
# Source/Common/Audio/AudioRequest.cpp
569-
# Source/Common/Audio/DynamicAudioEventInfo.cpp
570-
# Source/Common/Audio/GameAudio.cpp
571-
# Source/Common/Audio/GameMusic.cpp
572-
# Source/Common/Audio/GameSounds.cpp
573-
#Source/Common/Audio/simpleplayer.cpp # unused
574-
#Source/Common/Audio/urllaunch.cpp # unused
568+
# Source/Common/Audio/AudioEventRTS.cpp
569+
# Source/Common/Audio/AudioRequest.cpp
570+
# Source/Common/Audio/DynamicAudioEventInfo.cpp
571+
# Source/Common/Audio/GameAudio.cpp
572+
# Source/Common/Audio/GameMusic.cpp
573+
# Source/Common/Audio/GameSounds.cpp
574+
#Source/Common/Audio/simpleplayer.cpp # unused
575+
#Source/Common/Audio/urllaunch.cpp # unused
575576
Source/Common/Bezier/BezFwdIterator.cpp
576577
Source/Common/Bezier/BezierSegment.cpp
577578
Source/Common/BitFlags.cpp
@@ -588,7 +589,7 @@ set(GAMEENGINE_SRC
588589
Source/Common/INI/INI.cpp
589590
Source/Common/INI/INIAiData.cpp
590591
Source/Common/INI/INIAnimation.cpp
591-
# Source/Common/INI/INIAudioEventInfo.cpp
592+
# Source/Common/INI/INIAudioEventInfo.cpp
592593
Source/Common/INI/INICommandButton.cpp
593594
Source/Common/INI/INICommandSet.cpp
594595
Source/Common/INI/INIControlBarScheme.cpp
@@ -599,7 +600,7 @@ set(GAMEENGINE_SRC
599600
Source/Common/INI/INIMapCache.cpp
600601
Source/Common/INI/INIMapData.cpp
601602
Source/Common/INI/INIMappedImage.cpp
602-
# Source/Common/INI/INIMiscAudio.cpp
603+
# Source/Common/INI/INIMiscAudio.cpp
603604
Source/Common/INI/INIModel.cpp
604605
Source/Common/INI/INIMultiplayer.cpp
605606
Source/Common/INI/INIObject.cpp
@@ -622,7 +623,7 @@ set(GAMEENGINE_SRC
622623
Source/Common/PerfTimer.cpp
623624
Source/Common/RandomValue.cpp
624625
Source/Common/Recorder.cpp
625-
# Source/Common/ReplaySimulation.cpp
626+
# Source/Common/ReplaySimulation.cpp
626627
Source/Common/RTS/AcademyStats.cpp
627628
Source/Common/RTS/ActionManager.cpp
628629
Source/Common/RTS/Energy.cpp
@@ -642,9 +643,9 @@ set(GAMEENGINE_SRC
642643
Source/Common/SkirmishBattleHonors.cpp
643644
Source/Common/StateMachine.cpp
644645
Source/Common/StatsCollector.cpp
645-
# Source/Common/System/ArchiveFile.cpp
646-
# Source/Common/System/ArchiveFileSystem.cpp
647-
# Source/Common/System/AsciiString.cpp
646+
# Source/Common/System/ArchiveFile.cpp
647+
# Source/Common/System/ArchiveFileSystem.cpp
648+
# Source/Common/System/AsciiString.cpp
648649
Source/Common/System/BuildAssistant.cpp
649650
Source/Common/System/CDManager.cpp
650651
Source/Common/System/CriticalSection.cpp
@@ -653,31 +654,31 @@ set(GAMEENGINE_SRC
653654
Source/Common/System/Directory.cpp
654655
Source/Common/System/DisabledTypes.cpp
655656
Source/Common/System/encrypt.cpp
656-
# Source/Common/System/File.cpp
657-
# Source/Common/System/FileSystem.cpp
657+
# Source/Common/System/File.cpp
658+
# Source/Common/System/FileSystem.cpp
658659
Source/Common/System/FunctionLexicon.cpp
659660
Source/Common/System/GameCommon.cpp
660661
#Source/Common/System/GameMemory.cpp
661662
Source/Common/System/GameType.cpp
662663
Source/Common/System/Geometry.cpp
663664
Source/Common/System/KindOf.cpp
664665
Source/Common/System/List.cpp
665-
# Source/Common/System/LocalFile.cpp
666-
# Source/Common/System/LocalFileSystem.cpp
666+
# Source/Common/System/LocalFile.cpp
667+
# Source/Common/System/LocalFileSystem.cpp
667668
#Source/Common/System/MemoryInit.cpp
668669
Source/Common/System/ObjectStatusTypes.cpp
669670
Source/Common/System/QuotedPrintable.cpp
670671
Source/Common/System/Radar.cpp
671-
# Source/Common/System/RAMFile.cpp
672+
# Source/Common/System/RAMFile.cpp
672673
Source/Common/System/registry.cpp
673674
Source/Common/System/SaveGame/GameState.cpp
674675
Source/Common/System/SaveGame/GameStateMap.cpp
675676
Source/Common/System/Snapshot.cpp
676677
Source/Common/System/StackDump.cpp
677-
# Source/Common/System/StreamingArchiveFile.cpp
678+
# Source/Common/System/StreamingArchiveFile.cpp
678679
Source/Common/System/SubsystemInterface.cpp
679680
Source/Common/System/Trig.cpp
680-
# Source/Common/System/UnicodeString.cpp
681+
# Source/Common/System/UnicodeString.cpp
681682
Source/Common/System/Upgrade.cpp
682683
# Source/Common/System/Xfer.cpp
683684
# Source/Common/System/XferCRC.cpp
@@ -692,7 +693,7 @@ set(GAMEENGINE_SRC
692693
Source/Common/Thing/ThingTemplate.cpp
693694
Source/Common/UserPreferences.cpp
694695
Source/Common/version.cpp
695-
# Source/Common/WorkerProcess.cpp
696+
# Source/Common/WorkerProcess.cpp
696697
Source/GameClient/ClientInstance.cpp
697698
Source/GameClient/Color.cpp
698699
Source/GameClient/Credits.cpp
@@ -703,6 +704,7 @@ set(GAMEENGINE_SRC
703704
Source/GameClient/Drawable/Update/AnimatedParticleSysBoneClientUpdate.cpp
704705
Source/GameClient/Drawable/Update/BeaconClientUpdate.cpp
705706
Source/GameClient/Drawable/Update/SwayClientUpdate.cpp
707+
Source/GameClient/Drawable/Update/DynamicGeometryClientUpdate.cpp
706708
Source/GameClient/DrawGroupInfo.cpp
707709
Source/GameClient/Eva.cpp
708710
Source/GameClient/FXList.cpp
@@ -827,7 +829,7 @@ set(GAMEENGINE_SRC
827829
Source/GameClient/Statistics.cpp
828830
Source/GameClient/System/Anim2D.cpp
829831
Source/GameClient/System/CampaignManager.cpp
830-
# "Source/GameClient/System/Debug Displayers/AudioDebugDisplay.cpp"
832+
# "Source/GameClient/System/Debug Displayers/AudioDebugDisplay.cpp"
831833
Source/GameClient/System/DebugDisplay.cpp
832834
Source/GameClient/System/Image.cpp
833835
Source/GameClient/System/ParticleSys.cpp
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
/*
2+
** Command & Conquer Generals Zero Hour(tm)
3+
** Copyright 2025 Electronic Arts Inc.
4+
**
5+
** This program is free software: you can redistribute it and/or modify
6+
** it under the terms of the GNU General Public License as published by
7+
** the Free Software Foundation, either version 3 of the License, or
8+
** (at your option) any later version.
9+
**
10+
** This program is distributed in the hope that it will be useful,
11+
** but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
** GNU General Public License for more details.
14+
**
15+
** You should have received a copy of the GNU General Public License
16+
** along with this program. If not, see <http://www.gnu.org/licenses/>.
17+
*/
18+
19+
////////////////////////////////////////////////////////////////////////////////
20+
// //
21+
// (c) 2001-2003 Electronic Arts Inc. //
22+
// //
23+
////////////////////////////////////////////////////////////////////////////////
24+
25+
// FILE: DynamicGeometryClientUpdate.h ////////////////////////////////////////////////////////////////////
26+
// Author: Andi W, August 2025
27+
// Desc: Simple Alpha/Scale transition
28+
///////////////////////////////////////////////////////////////////////////////////////////////////
29+
30+
#pragma once
31+
32+
#ifndef __DynamicGeometryClientUpdate_H_
33+
#define __DynamicGeometryClientUpdate_H_
34+
35+
// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
36+
#include "Common/ClientUpdateModule.h"
37+
38+
// FORWARD REFERENCES /////////////////////////////////////////////////////////////////////////////
39+
40+
//-------------------------------------------------------------------------------------------------
41+
//-------------------------------------------------------------------------------------------------
42+
class DynamicGeometryClientUpdateModuleData : public ClientUpdateModuleData
43+
{
44+
public:
45+
Real m_scaleInitial;
46+
Real m_scaleMidpoint;
47+
Real m_scaleFinal;
48+
49+
Real m_alphaInitial;
50+
Real m_alphaMidpoint;
51+
Real m_alphaFinal;
52+
53+
UnsignedInt m_totalFrames;
54+
UnsignedInt m_midpointFrames;
55+
56+
UnsignedInt m_interpolationType;
57+
58+
DynamicGeometryClientUpdateModuleData();
59+
~DynamicGeometryClientUpdateModuleData();
60+
static void buildFieldParse(MultiIniFieldParse& p);
61+
};
62+
//-------------------------------------------------------------------------------------------------
63+
//-------------------------------------------------------------------------------------------------
64+
class DynamicGeometryClientUpdate : public ClientUpdateModule
65+
{
66+
67+
MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE( DynamicGeometryClientUpdate, "DynamicGeometryClientUpdate" )
68+
MAKE_STANDARD_MODULE_MACRO_WITH_MODULE_DATA( DynamicGeometryClientUpdate, DynamicGeometryClientUpdateModuleData);
69+
70+
public:
71+
72+
DynamicGeometryClientUpdate( Thing *thing, const ModuleData* moduleData );
73+
// virtual destructor prototype provided by memory pool declaration
74+
75+
/// the client update callback
76+
virtual void clientUpdate( void );
77+
78+
void setScaleMultiplier( Real value ) { m_overrideScale = value; }
79+
void setAlphaMultiplier( Real value ) { m_overrideAlpha = value; }
80+
81+
protected:
82+
83+
UnsignedInt m_startFrame;
84+
Real m_overrideScale;
85+
Real m_overrideAlpha;
86+
};
87+
88+
#endif // __DynamicGeometryClientUpdate_H_
89+

GeneralsMD/Code/GameEngine/Include/GameLogic/Module/ChronoDeathBehavior.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ class ChronoDeathBehaviorModuleData : public UpdateModuleData
5454
Real m_startAlpha;
5555
Real m_endAlpha;
5656

57+
Real m_oclScaleFactor;
58+
5759
UnsignedInt m_destructionDelay;
5860

5961
ChronoDeathBehaviorModuleData();

GeneralsMD/Code/GameEngine/Source/Common/System/MemoryInit.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ static PoolSizeRec sizes[] =
119119
{ "WindowLayoutPool", 32, 32 },
120120
{ "AnimatedParticleSysBoneClientUpdate", 16, 16 },
121121
{ "SwayClientUpdate", 32, 32 },
122+
{ "DynamicGeometryClientUpdate", 32, 32 },
122123
{ "BeaconClientUpdate", 64, 32 },
123124
{ "AIGroupPool", 64, 32 },
124125
{ "AIDockMachinePool", 256, 32 },

GeneralsMD/Code/GameEngine/Source/Common/Thing/ModuleFactory.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@
290290
// client update includes
291291
#include "GameClient/Module/AnimatedParticleSysBoneClientUpdate.h"
292292
#include "GameClient/Module/SwayClientUpdate.h"
293+
#include "GameClient/Module/DynamicGeometryClientUpdate.h"
293294
#include "GameClient/Module/BeaconClientUpdate.h"
294295

295296
// PUBLIC DATA ////////////////////////////////////////////////////////////////////////////////////
@@ -579,6 +580,7 @@ void ModuleFactory::init( void )
579580
// client update modules
580581
addModule( AnimatedParticleSysBoneClientUpdate );
581582
addModule( SwayClientUpdate );
583+
addModule( DynamicGeometryClientUpdate );
582584
addModule( BeaconClientUpdate );
583585

584586
} // end init

0 commit comments

Comments
 (0)