refactor: Add override keyword to virtual function overrides in GameEngineDevice#2393
refactor: Add override keyword to virtual function overrides in GameEngineDevice#2393bobtista wants to merge 6 commits intoTheSuperHackers:mainfrom
Conversation
|
| Filename | Overview |
|---|---|
| Core/GameEngineDevice/Include/MilesAudioDevice/MilesAudioManager.h | Adds override to ~40 virtual method declarations. A handful of pre-existing virtual methods (audioDebugDisplay, addAudioEvent, findPlayingAudioFrom, processPlayingList, etc.) were not touched and still lack override, though these appear to be intentionally out-of-scope for this PR. |
| Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DTerrainVisual.h | Adds override to all virtual methods. Also correctly adds the virtual specifier to previously non-virtual methods (addFactionBib, removeFactionBib, addFactionBibDrawable, removeFactionBibDrawable, getLogicHeightMap, getClientHeightMap) which override base-class virtuals — the override keyword would have produced a compile error if these were wrong. |
| Core/GameEngineDevice/Source/W3DDevice/GameClient/W3DShaderManager.cpp | Adds override to all anonymous shader classes (ShroudTextureShader, FlatShroudTextureShader, MaskTextureShader, TerrainShader2Stage, etc.) that inherit from W3DShaderInterface and W3DFilterInterface. Changes are purely mechanical and correct. |
| Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/Shadow/W3DProjectedShadow.cpp | Adds override to W3DShadowTexture and MissingTextureClass destructors and Get_Key() methods. Correctly validates against HashableClass which has virtual ~HashableClass() and virtual const char* Get_Key() = 0. |
| Core/GameEngineDevice/Include/VideoDevice/Bink/BinkVideoPlayer.h | Promotes ~BinkVideoPlayer() from non-virtual to virtual ... override, which is correct since VideoPlayerInterface (grandparent via VideoPlayer) declares virtual ~VideoPlayerInterface() {}. All other override additions are accurate. |
| Core/GameEngineDevice/Include/W3DDevice/GameClient/Module/W3DModelDraw.h | Adds override to ~40 virtual methods. setAnimationFrame(int frame) is correctly left without override as it appears to be a W3DModelDraw-specific non-overriding method. |
| Generals/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DDisplay.h | Mechanical override additions across ~30 virtual method declarations. Also correctly upgrades the destructor from ~W3DDisplay() (non-virtual) to virtual ~W3DDisplay() override. |
| Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DView.h | Largest single-file change (~65 methods). Methods correctly left without override (isDoingScriptedCamera, stopDoingScriptedCamera, cameraModFreezeTime, isTimeFrozen, cameraEnableRealZoomMode, cameraDisableRealZoomMode) are W3DView-specific virtual methods not present in the View base class. |
| Core/GameEngineDevice/Include/W3DDevice/GameClient/CameraShakeSystem.h | Single change: ~CameraShakerClass() → virtual ~CameraShakerClass() override. Correct — MultiListObjectClass declares virtual ~MultiListObjectClass(). |
| GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Shadow/W3DVolumetricShadow.cpp | Mirrors the Generals version: adds override to W3DShadowGeometry and MissingGeomClass destructors and Get_Key() methods. Changes are correct. |
Class Diagram
%%{init: {'theme': 'neutral'}}%%
classDiagram
class AudioManager {
+virtual void init()
+virtual void audioDebugDisplay()
+virtual AudioHandle addAudioEvent()
}
class MilesAudioManager {
+virtual void init() override
+virtual void openDevice() override
+virtual void closeDevice() override
+virtual void stopAudio() override
}
AudioManager <|-- MilesAudioManager
class VideoPlayerInterface {
+virtual void init()
+virtual void deinit()
+virtual ~VideoPlayerInterface()
}
class VideoPlayer {
+virtual void init()
+virtual ~VideoStream()
}
class BinkVideoPlayer {
+virtual void init() override
+virtual void deinit() override
+virtual ~BinkVideoPlayer() override
}
VideoPlayerInterface <|-- VideoPlayer
VideoPlayer <|-- BinkVideoPlayer
class TerrainVisual {
+virtual void addFactionBib()
+virtual WorldHeightMap* getLogicHeightMap()
}
class W3DTerrainVisual {
+virtual void addFactionBib() override
+virtual WorldHeightMap* getLogicHeightMap() override
}
TerrainVisual <|-- W3DTerrainVisual
class HashableClass {
+virtual ~HashableClass()
+virtual const char* Get_Key()
}
class W3DShadowTexture {
+~W3DShadowTexture() override
+virtual const char* Get_Key() override
}
HashableClass <|-- W3DShadowTexture
class View {
+virtual void init()
+virtual void drawView()
}
class W3DView {
+virtual void init() override
+virtual void drawView() override
+virtual bool isDoingScriptedCamera()
}
View <|-- W3DView
Last reviewed commit: 47bfd7e
…des in GameEngineDevice
…s in GameEngineDevice
… GameEngineDevice
1c9931f to
37bcbc7
Compare
…evice abstract classes
…n GameEngineDevice
Summary
overridekeyword to virtual function overrides in GameEngineDeviceContext
Part 5/6 of splitting #2101. Depends on #2389 merging first.
Notes
overridekeyword additionsoverridefrom methods without matching virtual base classvirtualkeyword