Skip to content

refactor: Split BaseType.h into separate files, include fundamental types in all game targets and fix relevant compiler warnings treated as errors - #3358

Merged
xezon merged 8 commits into
TheSuperHackers:mainfrom
xezon:xezon/refactor-basetype
Sep 26, 2026
Merged

xezon merged 8 commits into
TheSuperHackers:mainfrom
xezon:xezon/refactor-basetype

Conversation

@xezon

@xezon xezon commented Sep 25, 2026 •

Copy link
Copy Markdown

Merge with Rebase

Generals will fail to compile until replicated. Ignore Generals in review.

This change has several commits that first fix a bunch of compile warnings that are treated as errors through BaseType.h. These are:

error C4189: local variable is initialized but not referenced
error C2446: no conversion from 'a' to 'b'
error C2059: syntax error: 'constant'
error C4706: assignment used as a condition

Afterwards, BaseType.h is split into individual files for each of its types (Coord2D, Region3D, ...), and most importantly common macros, base types and pragmas (msvc warnings) are moved into new headers that are included in all game projects. This way important types and macros can be seen everywhere equally. (Some macros and types, like ARRAY_SIZE, may still need moving to BasePrecomp.h - for follow up changes)

Entirely redundant BaseType.h includes are removed.

Available in all game build targets via Precompiled/BasePrecomp.h

Precompiled/BasePrecomp.h is force-included into every C++ translation unit of every target that links corei_always or corei_always_no_pch (through core_libraries). It includes these headers in this order:

  1. Precompiled/precompiled.h (C++ compatibility macros and fixed-width types)
  2. BasePragmas.h
  3. BaseMacros.h
  4. BaseTypes.h

From Precompiled/precompiled.h

CppMacros.h (C++ standard compatibility)

Macro C++11 or newer Older than C++11 (VC6)
CPP_11(code) code (empty)
FUNCTION_DELETE = delete (empty)
static_assert(expr, msg) keyword (empty)
alignof(type) keyword __alignof(type)
constexpr keyword (empty)
noexcept keyword (empty)
nullptr keyword 0
override keyword (empty)
final keyword (empty)
Macro C++17 or newer Older than C++17
REGISTER (empty) register
FALLTHROUGH [[fallthrough]] (empty)
MAYBE_UNUSED [[maybe_unused]] (empty)
Macro Expansion
IUNKNOWN_NOEXCEPT noexcept on MSVC, otherwise empty
NOINLINE __declspec(noinline) on MSVC 7.0 or newer, __attribute__((noinline)) on GCC/Clang, otherwise empty (VC6)

CppTypes.h

  • wchar_t is typedef'd as unsigned short on VC6, which lacks it as a built-in type (also defines _WCHAR_T_DEFINED).

stdint_adapter.h

  • Modern compilers: includes <cstdint> for the standard fixed-width integer types and limit macros.
  • VC6: includes stdint_subset.h, which provides:
    • Types: int8_t … int64_t, uint8_t … uint64_t, int_least*_t, uint_least*_t, int_fast*_t, uint_fast*_t, intmax_t, uintmax_t, intptr_t, uintptr_t
    • Limits: INT{8,16,32,64}_MIN/MAX, UINT{8,16,32,64}_MAX, the LEAST and FAST variants, INTPTR_MIN/MAX, UINTPTR_MAX, INTMAX_MIN/MAX, UINTMAX_MAX, PTRDIFF_MIN/MAX, SIG_ATOMIC_MIN/MAX, SIZE_MAX (only if not already defined), WCHAR_MIN/MAX, WINT_MIN/MAX
    • Constant macros: INT8_C … INT64_C, UINT8_C … UINT64_C, INTMAX_C, UINTMAX_C

From BasePragmas.h (MSVC only)

Warning Meaning Setting
C4100 unreferenced formal parameter disabled
C4127 conditional expression is constant disabled
C4201 nonstandard extension: nameless struct/union disabled
C4505 unreferenced local function has been removed disabled
C4514 unreferenced inline function has been removed disabled
C4702 unreachable code disabled
C4711 function selected for automatic inline expansion disabled
C4786 identifier truncated to 255 characters in browser information disabled
C4101 unreferenced local variable error
C4189 local variable is initialized but not referenced error
C4706 assignment within conditional expression error

From BaseMacros.h

Macro Definition Notes
PI 3.14159265359f only if PI is not already defined
TWO_PI 6.28318530718f defined together with PI
MIN(x,y) (((x)<(y)) ? (x) : (y)) only if not already defined
MAX(x,y) (((x)>(y)) ? (x) : (y)) only if not already defined
TRUE 1 only if not already defined; same value as windows.h
FALSE 0 only if not already defined; same value as windows.h

Bit twiddling:

Macro Definition
BitIsSet(x,i) ( ( (x) & (i) ) != 0 )
BitsAreSet(x,i) ( ( (x) & (i) ) == (i) )
BitSet(x,i) ( (x) |= (i) )
BitClear(x,i) ( (x) &= ~(i) )
BitToggle(x,i) ( (x) ^= (i) )

Conversion casts:

Macro Casts to
REAL_TO_INT(x) Int
REAL_TO_UNSIGNEDINT(x) UnsignedInt
REAL_TO_SHORT(x) Short
REAL_TO_UNSIGNEDSHORT(x) UnsignedShort
REAL_TO_BYTE(x) Byte
REAL_TO_UNSIGNEDBYTE(x) UnsignedByte
REAL_TO_CHAR(x) Char
DOUBLE_TO_REAL(x) Real
DOUBLE_TO_INT(x) Int
INT_TO_REAL(x) Real

From BaseTypes.h

Type Definition
Real float
Int int32_t
UnsignedInt uint32_t
Short int16_t
UnsignedShort uint16_t
Int64 int64_t
UnsignedInt64 uint64_t
Byte char
UnsignedByte unsigned char
Char char
WideChar wchar_t
Bool bool

AI Use

This change was mostly done by hand, but the BaseType.h removal and some of the fixes in Babylon were applied with Claude Opus 5.5. This change went through review rounds with Claude Opus 5.5.

TODO

  • Replicate in Generals
  • Add pull id to commit titles
  • Check each commit compiles on its own

Note

Split BaseType.h into standalone headers and fix warnings-as-errors across targets

  • Decomposes the monolithic BaseType.h into standalone headers: BaseTypes.h for fundamental types, BaseFunctions.h for numeric helpers, plus separate Coord2D/3D, ICoord2D/3D, Region2D/3D, IRegion2D/3D, RGBColor, and RealRange headers. BaseType.h now aggregates these.
  • Renames BaseTypeCore.h to BasePragmas.h and adds BaseMacros.h and a BasePrecomp.h aggregate. Game-engine, WW3D2, WorldBuilder, W3DView, and other targets now build their precompiled-header chain from BasePrecomp.h.
  • Replaces the old corei_libraries_include target with a new core_libraries interface target, and moves forced-include compiler options to core_precompiled.
  • Fixes warnings treated as errors across tools and libraries: removes unused locals, replaces implicit truthiness tests with explicit nullptr/zero comparisons, and changes guard macros (WWDEBUG to DEBUG_LOGGING/DEBUG_CRASHING, MESH_RENDER_SNAPSHOT_ENABLED to DEBUG_LOGGING).
  • Adds max_undef.h force-included for Max SDK consumers to undefine override and PI macros.
  • Behavioral Change: SNAPSHOT_SAY now emits messages only in DEBUG_LOGGING builds; failed pointer remaps in PointerRemapClass::Process_Request_Table now always reach WWASSERT(0); CGraphicView::UpdateDisplay no longer executes a section now inside a block comment; ChunkTableClass::List_W3D_CHUNK_FX_SHADER_CONSTANT now advances past each texture string; ShaderClass::Get_Description changed to a no-argument, by-value return signature in shader.h.

Macroscope summarized 38cfcee.

@xezon
xezon requested a review from OmniBlade September 25, 2026 08:39
@xezon xezon added Build Anything related to building, compiling Refactor Edits the code with insignificant behavior changes, is never user facing labels Sep 25, 2026
@coderabbitai

coderabbitai Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Walkthrough

The pull request separates shared base declarations into individual headers and updates CMake include and precompiled-header setup. It also changes debug guards and makes targeted edits across rendering code, game code, and tools.

Changes

Shared base headers and build wiring

Layer / File(s) Summary
Split shared base declarations
Core/Libraries/Include/Lib/*, Core/Libraries/Include/Precompiled/Precompiled/*
BaseType.h now includes separate headers for base functions, coordinates, regions, and colors. New headers contain the corresponding declarations and implementations.
Shared-header and precompiled-header integration
CMakeLists.txt, Core/.../CMakeLists.txt, Dependencies/*/CMakeLists.txt, Generals*/Code/*/CMakeLists.txt, Core/GameEngine/*, GeneralsMD/Code/*
CMake adds the shared library headers and configures forced includes. Targets switch to BasePrecomp.h; many files remove direct Lib/BaseType.h includes or include a narrower replacement.
Rendering and debug-build changes
Core/Libraries/Source/WWVegas/*, Generals/Code/Libraries/Source/WWVegas/*, GeneralsMD/Code/Libraries/Source/WWVegas/*
Several debug guards change to DEBUG_CRASHING or DEBUG_LOGGING. Snapshot logging conditions and ShaderClass::Get_Description also change. Other edits adjust rendering calculations and remove unused locals.
Babylon pointer and input checks
Core/Tools/Babylon/*
Pointer and terminator checks are made explicit across parsing, database, file, and Excel code. The described failure paths remain unchanged.
Game and tool code adjustments
Core/GameEngine/Source/*, Core/Tools/*, GeneralsMD/Code/GameEngine/Source/*, GeneralsMD/Code/Tools/*
The changes include a nullptr return for failed layout parsing, changes to W3DView display code, a fixed one-frame skin validity interval, and advancing the chunk-data pointer in wdump. Other edits update checks and remove unused calculations or variables.

Priority: ➖ Normal

Estimated code review effort: 4 (Complex) | ~60 minutes

Merge Risk: 🟡 Moderate · up to 4b343

Including the new public header outside a target with the forced include may fail to compile. Clarify or fix that header-use contract before merging.

Security Architecture Review

Security architecture risk: 🔵 Low · up to 4b343

The shared-header change merits design review, but no new attacker-accessible entrypoint or verified security vulnerability was found. A build-dependent save/load diagnostic path remains uncertain.

Retained concerns

  • Low · reliability · inferred: A direct reference-counted remap caller supplies no source location. Under the changed DEBUG_LOGGING guard, a failed remap can pass its null file value to a %s diagnostic; whether this disrupts failed-load handling, and whether it increases exposure over the prior guard, remain unresolved.
Security review details

Security Blast Radius

  • inferred — The demonstrated save/load uncertainty is confined to failed-remap diagnostics in affected debug-logging configurations; no expanded pointer authority or cross-service security boundary was established.

Trust Boundaries and Controls

  • observed — Saved pointer values are looked up against registered pointer pairs: a match yields the registered replacement, and a miss nulls the destination rather than installing the saved value.

Resilience and Maintainability Implications

  • inferred — The direct audio caller bypasses the source-location macros; its omitted file argument can reduce failed-remap diagnostics and may affect failure handling when formatted as a string. Formatter behavior was not established.
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the main changes: splitting BaseType.h, making fundamental types available to game targets, and fixing compiler warnings treated as errors. It is somewhat long but remains…
Description check ✅ Passed The description directly explains the BaseType.h refactor, the new precompiled headers, the warning fixes, and related behavioral changes. It is detailed and aligned with the changeset.

Comment @coderabbitai help to get the list of available commands.

Comment thread Core/CMakeLists.txt
Comment thread Core/Libraries/Source/WWVegas/WWLib/lzo.cpp
Comment thread Core/Libraries/Include/Lib/Region3D.h
@greptile-apps

greptile-apps Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

[High risk] Refactors build system to split and reorganize fundamental type headers.

The PR has no identified blocking behavior defect, but the explicit repository date requirement must be satisfied before merging.

Summary

The PR splits base types into standalone headers, makes fundamental headers available through target build configuration, and addresses warnings across game and tool sources.

  • Changes since the previous review primarily replicate fixes in Generals.
  • The previously reported RealRange.h dependency is present in the current header.

Reviews (4) · Last reviewed commit: "chore: Remove obsoleted BaseType.h inclu..."

Comment thread Core/Libraries/Include/Lib/RealRange.h

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: fb2d9bbd-05a7-4bb6-a2eb-0a37de07f908

📥 Commits

Reviewing files that changed from the base of the PR and between 722dbea and b5f3c09.

📒 Files selected for processing (267)
  • CMakeLists.txt
  • Core/CMakeLists.txt
  • Core/GameEngine/Include/Common/AcademyStats.h
  • Core/GameEngine/Include/Common/ArchiveFile.h
  • Core/GameEngine/Include/Common/AudioAffect.h
  • Core/GameEngine/Include/Common/AudioRandomValue.h
  • Core/GameEngine/Include/Common/GameCommon.h
  • Core/GameEngine/Include/Common/GameMemory.h
  • Core/GameEngine/Include/Common/GameType.h
  • Core/GameEngine/Include/Common/GameUtility.h
  • Core/GameEngine/Include/Common/ObjectStatusTypes.h
  • Core/GameEngine/Include/Common/RandomValue.h
  • Core/GameEngine/Include/Common/WorkingDirectory.h
  • Core/GameEngine/Include/Common/crc.h
  • Core/GameEngine/Include/Common/file.h
  • Core/GameEngine/Include/GameClient/ClientInstance.h
  • Core/GameEngine/Include/GameClient/ClientRandomValue.h
  • Core/GameEngine/Include/GameClient/Color.h
  • Core/GameEngine/Include/GameClient/DebugDisplay.h
  • Core/GameEngine/Include/GameClient/GameFont.h
  • Core/GameEngine/Include/GameClient/GameWindowGlobal.h
  • Core/GameEngine/Include/GameClient/IMEManager.h
  • Core/GameEngine/Include/GameClient/Keyboard.h
  • Core/GameEngine/Include/GameClient/LoadScreen.h
  • Core/GameEngine/Include/GameClient/ParabolicEase.h
  • Core/GameEngine/Include/GameClient/Snow.h
  • Core/GameEngine/Include/GameClient/Statistics.h
  • Core/GameEngine/Include/GameClient/VideoPlayer.h
  • Core/GameEngine/Include/GameLogic/LogicRandomValue.h
  • Core/GameEngine/Include/GameNetwork/DisconnectManager.h
  • Core/GameEngine/Include/GameNetwork/FrameData.h
  • Core/GameEngine/Include/GameNetwork/FrameMetrics.h
  • Core/GameEngine/Include/GameNetwork/NAT.h
  • Core/GameEngine/Include/GameNetwork/NetCommandMsg.h
  • Core/GameEngine/Include/GameNetwork/NetworkDefs.h
  • Core/GameEngine/Include/GameNetwork/WOLBrowser/WebBrowser.h
  • Core/GameEngine/Include/GameNetwork/udp.h
  • Core/GameEngine/Source/Common/Audio/GameSounds.cpp
  • Core/GameEngine/Source/Common/INI/INIMapCache.cpp
  • Core/GameEngine/Source/Common/RandomValue.cpp
  • Core/GameEngine/Source/Common/System/GameMemoryInit.cpp
  • Core/GameEngine/Source/Common/System/LocalFile.cpp
  • Core/GameEngine/Source/GameClient/GUI/GameWindowManagerScript.cpp
  • Core/GameEngine/Source/GameClient/GameText.cpp
  • Core/GameEngine/Source/GameClient/Line2D.cpp
  • Core/GameEngine/Source/GameClient/System/Image.cpp
  • Core/GameEngine/Source/GameClient/VideoPlayer.cpp
  • Core/GameEngine/Source/GameClient/VideoStream.cpp
  • Core/GameEngineDevice/Include/VideoDevice/FFmpeg/FFmpegFile.h
  • Core/GameEngineDevice/Include/W3DDevice/Common/W3DConvert.h
  • Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DProfilerFrameCapture.h
  • Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DScorch.h
  • Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DTerrainTracks.h
  • Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DWater.h
  • Core/GameEngineDevice/Source/VideoDevice/Bink/BinkVideoPlayer.cpp
  • Core/Libraries/CMakeLists.txt
  • Core/Libraries/Include/CMakeLists.txt
  • Core/Libraries/Include/Lib/BaseFunctions.h
  • Core/Libraries/Include/Lib/BaseType.h
  • Core/Libraries/Include/Lib/Coord2D.h
  • Core/Libraries/Include/Lib/Coord3D.h
  • Core/Libraries/Include/Lib/ICoord2D.h
  • Core/Libraries/Include/Lib/ICoord3D.h
  • Core/Libraries/Include/Lib/IRegion2D.h
  • Core/Libraries/Include/Lib/IRegion3D.h
  • Core/Libraries/Include/Lib/RGBColor.h
  • Core/Libraries/Include/Lib/RealRange.h
  • Core/Libraries/Include/Lib/Region2D.h
  • Core/Libraries/Include/Lib/Region3D.h
  • Core/Libraries/Include/Precompiled/Precompiled/BaseMacros.h
  • Core/Libraries/Include/Precompiled/Precompiled/BasePragmas.h
  • Core/Libraries/Include/Precompiled/Precompiled/BasePrecomp.h
  • Core/Libraries/Include/Precompiled/Precompiled/BaseTypes.h
  • Core/Libraries/Source/Compression/CMakeLists.txt
  • Core/Libraries/Source/Compression/Compression.h
  • Core/Libraries/Source/Compression/CompressionManager.cpp
  • Core/Libraries/Source/Compression/LZHCompress/NoxCompress.cpp
  • Core/Libraries/Source/WWVegas/WW3D2/dx8fvf.h
  • Core/Libraries/Source/WWVegas/WW3D2/dx8renderer.cpp
  • Core/Libraries/Source/WWVegas/WW3D2/dx8rendererdebugger.cpp
  • Core/Libraries/Source/WWVegas/WW3D2/dx8rendererdebugger.h
  • Core/Libraries/Source/WWVegas/WW3D2/dx8wrapper.cpp
  • Core/Libraries/Source/WWVegas/WW3D2/dx8wrapper.h
  • Core/Libraries/Source/WWVegas/WW3D2/htree.cpp
  • Core/Libraries/Source/WWVegas/WW3D2/intersec.inl
  • Core/Libraries/Source/WWVegas/WW3D2/missingtexture.cpp
  • Core/Libraries/Source/WWVegas/WW3D2/pointgr.cpp
  • Core/Libraries/Source/WWVegas/WW3D2/render2dsentence.cpp
  • Core/Libraries/Source/WWVegas/WW3D2/sortingrenderer.cpp
  • Core/Libraries/Source/WWVegas/WW3D2/streak.cpp
  • Core/Libraries/Source/WWVegas/WW3D2/streakRender.cpp
  • Core/Libraries/Source/WWVegas/WW3D2/ww3d.h
  • Core/Libraries/Source/WWVegas/WWAudio/WWAudio.cpp
  • Core/Libraries/Source/WWVegas/WWDebug/wwdebug.h
  • Core/Libraries/Source/WWVegas/WWDebug/wwprofile.cpp
  • Core/Libraries/Source/WWVegas/WWDownload/FTP.cpp
  • Core/Libraries/Source/WWVegas/WWLib/CMakeLists.txt
  • Core/Libraries/Source/WWVegas/WWLib/Except.cpp
  • Core/Libraries/Source/WWVegas/WWLib/always.h
  • Core/Libraries/Source/WWVegas/WWLib/cpudetect.cpp
  • Core/Libraries/Source/WWVegas/WWLib/lzo.cpp
  • Core/Libraries/Source/WWVegas/WWMath/aabtreecull.cpp
  • Core/Libraries/Source/WWVegas/WWMath/euler.cpp
  • Core/Libraries/Source/WWVegas/WWMath/gridcull.cpp
  • Core/Libraries/Source/WWVegas/WWSaveLoad/pointerremap.cpp
  • Core/Libraries/Source/debug/CMakeLists.txt
  • Core/Libraries/Source/debug/debug_io_flat.cpp
  • Core/Libraries/Source/profile/CMakeLists.txt
  • Core/Tools/Autorun/CDCNTRL.cpp
  • Core/Tools/Autorun/GETCD.cpp
  • Core/Tools/Autorun/GameText.cpp
  • Core/Tools/Autorun/Jsupport.cpp
  • Core/Tools/Autorun/TTFont.cpp
  • Core/Tools/Autorun/WSYS_file.h
  • Core/Tools/Autorun/WinFix.cpp
  • Core/Tools/Autorun/autorun.h
  • Core/Tools/Babylon/Babylon.cpp
  • Core/Tools/Babylon/BabylonDlg.cpp
  • Core/Tools/Babylon/ExportDlg.cpp
  • Core/Tools/Babylon/GenerateDlg.cpp
  • Core/Tools/Babylon/MatchDlg.cpp
  • Core/Tools/Babylon/Report.cpp
  • Core/Tools/Babylon/TransDB.cpp
  • Core/Tools/Babylon/XLStuff.cpp
  • Core/Tools/Babylon/bin.cpp
  • Core/Tools/Babylon/expimp.cpp
  • Core/Tools/Babylon/iff.cpp
  • Core/Tools/Babylon/loadsave.cpp
  • Core/Tools/Babylon/olestring.cpp
  • Core/Tools/Babylon/transcs.cpp
  • Core/Tools/Compress/Compress.cpp
  • Core/Tools/ImagePacker/Source/WinMain.cpp
  • Core/Tools/Launcher/BFISH.cpp
  • Core/Tools/Launcher/main.cpp
  • Core/Tools/Launcher/streamer.cpp
  • Core/Tools/Launcher/wstring.cpp
  • Core/Tools/MapCacheBuilder/Source/WinMain.cpp
  • Core/Tools/ParticleEditor/CSwitchesDialog.h
  • Core/Tools/ParticleEditor/ISwapablePanel.h
  • Core/Tools/ParticleEditor/MoreParmsDialog.h
  • Core/Tools/ParticleEditor/ParticleEditorExport.h
  • Core/Tools/W3DView/CMakeLists.txt
  • Core/Tools/W3DView/ColorBar.cpp
  • Core/Tools/W3DView/ColorPicker.cpp
  • Core/Tools/W3DView/ColorPickerDialogClass.cpp
  • Core/Tools/W3DView/EmitterColorPropPage.cpp
  • Core/Tools/W3DView/GraphicView.cpp
  • Core/Tools/W3DView/MainFrm.cpp
  • Core/Tools/W3DView/OpacityVectorDialog.cpp
  • Core/Tools/W3DView/RingSizePropPage.cpp
  • Core/Tools/W3DView/SphereSizePropPage.cpp
  • Core/Tools/W3DView/Utils.cpp
  • Core/Tools/W3DView/ViewerScene.cpp
  • Core/Tools/WW3D/max2w3d/CMakeLists.txt
  • Core/Tools/WW3D/max2w3d/ExportAllDlg.cpp
  • Core/Tools/WW3D/max2w3d/GameMtlPassDlg.cpp
  • Core/Tools/WW3D/max2w3d/InputDlg.cpp
  • Core/Tools/WW3D/max2w3d/MeshDeform.cpp
  • Core/Tools/WW3D/max2w3d/MeshDeformSave.cpp
  • Core/Tools/WW3D/max2w3d/SceneSetupDlg.cpp
  • Core/Tools/WW3D/max2w3d/gamemaps.cpp
  • Core/Tools/WW3D/max2w3d/logdlg.cpp
  • Core/Tools/WW3D/max2w3d/meshsave.cpp
  • Core/Tools/WW3D/max2w3d/motion.cpp
  • Core/Tools/WW3D/max2w3d/skin.cpp
  • Core/Tools/WW3D/max2w3d/util.cpp
  • Core/Tools/WW3D/max2w3d/vxldbg.cpp
  • Core/Tools/WW3D/max2w3d/w3ddlg.cpp
  • Core/Tools/WW3D/max2w3d/w3dexp.cpp
  • Core/Tools/WW3D/pluglib/CMakeLists.txt
  • Core/Tools/WW3D/pluglib/Vector.h
  • Core/Tools/mangler/mangler.cpp
  • Core/Tools/mangler/manglertest.cpp
  • Core/Tools/mangler/wlib/streamer.cpp
  • Core/Tools/matchbot/wlib/streamer.cpp
  • Core/Tools/textureCompress/textureCompress.cpp
  • Dependencies/Bink/CMakeLists.txt
  • Dependencies/DbgHelp/CMakeLists.txt
  • Dependencies/MaxSDK/CMakeLists.txt
  • Dependencies/MaxSDK/max_undef.h
  • Dependencies/Miles/CMakeLists.txt
  • Dependencies/Precompiled/CMakeLists.txt
  • Dependencies/Precompiled/Precompiled/precompiled.h
  • Dependencies/Precompiled/Precompiled/stdint_adapter.h
  • Dependencies/Precompiled/Precompiled/stdint_subset.h
  • Dependencies/Usp10/CMakeLists.txt
  • Dependencies/Utility/CMakeLists.txt
  • Dependencies/Utility/Utility/endian_compat.h
  • Generals/Code/GameEngine/CMakeLists.txt
  • Generals/Code/GameEngineDevice/CMakeLists.txt
  • Generals/Code/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt
  • Generals/Code/Libraries/Source/WWVegas/WW3D2/animobj.cpp
  • Generals/Code/Libraries/Source/WWVegas/WW3D2/decalmsh.cpp
  • Generals/Code/Libraries/Source/WWVegas/WW3D2/shader.cpp
  • Generals/Code/Tools/WorldBuilder/CMakeLists.txt
  • GeneralsMD/Code/GameEngine/CMakeLists.txt
  • GeneralsMD/Code/GameEngine/Include/Common/DisabledTypes.h
  • GeneralsMD/Code/GameEngine/Include/Common/Handicap.h
  • GeneralsMD/Code/GameEngine/Include/Common/KindOf.h
  • GeneralsMD/Code/GameEngine/Include/Common/List.h
  • GeneralsMD/Code/GameEngine/Include/Common/MissionStats.h
  • GeneralsMD/Code/GameEngine/Include/Common/ModelState.h
  • GeneralsMD/Code/GameEngine/Include/Common/Money.h
  • GeneralsMD/Code/GameEngine/Include/Common/NameKeyGenerator.h
  • GeneralsMD/Code/GameEngine/Include/Common/OSDisplay.h
  • GeneralsMD/Code/GameEngine/Include/Common/SpecialPower.h
  • GeneralsMD/Code/GameEngine/Include/Common/ThingFactory.h
  • GeneralsMD/Code/GameEngine/Include/GameClient/KeyDefs.h
  • GeneralsMD/Code/GameEngine/Include/GameLogic/ArmorSet.h
  • GeneralsMD/Code/GameEngine/Include/GameLogic/VictoryConditions.h
  • GeneralsMD/Code/GameEngine/Source/Common/System/Trig.cpp
  • GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/LanLobbyMenu.cpp
  • GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/MainMenu.cpp
  • GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/QuitMenu.cpp
  • GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/ReplayMenu.cpp
  • GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/WOLCustomScoreScreen.cpp
  • GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Contain/TransportContain.cpp
  • GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/DefaultProductionExitUpdate.cpp
  • GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/QueueProductionExitUpdate.cpp
  • GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/SupplyCenterProductionExitUpdate.cpp
  • GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/Scripts.cpp
  • GeneralsMD/Code/GameEngineDevice/CMakeLists.txt
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DAssetManager.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DBibBuffer.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DBridgeBuffer.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DBufferManager.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DDynamicLight.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DMirror.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DStatusCircle.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DWaypointBuffer.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameLogic/W3DGhostObject.h
  • GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Shadow/W3DShadow.cpp
  • GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DPoly.cpp
  • GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DScene.cpp
  • GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt
  • GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/animobj.cpp
  • GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/assetmgr.cpp
  • GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/ddsfile.cpp
  • GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/decalmsh.cpp
  • GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/meshmdlio.cpp
  • GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/motchan.cpp
  • GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/scene.cpp
  • GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/shader.cpp
  • GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/shader.h
  • GeneralsMD/Code/Main/WinMain.cpp
  • GeneralsMD/Code/Tools/GUIEdit/Include/LayoutScheme.h
  • GeneralsMD/Code/Tools/GUIEdit/Source/Dialog Procedures/GridSettings.cpp
  • GeneralsMD/Code/Tools/GUIEdit/Source/Dialog Procedures/NewLayoutDialog.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/CMakeLists.txt
  • GeneralsMD/Code/Tools/WorldBuilder/include/MainFrm.h
  • GeneralsMD/Code/Tools/WorldBuilder/include/NewHeightMap.h
  • GeneralsMD/Code/Tools/WorldBuilder/include/ObjectPreview.h
  • GeneralsMD/Code/Tools/WorldBuilder/include/StdAfx.h
  • GeneralsMD/Code/Tools/WorldBuilder/include/TerrainSwatches.h
  • GeneralsMD/Code/Tools/WorldBuilder/src/ContourOptions.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/src/FeatherOptions.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/src/MoundOptions.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/src/MyToolbar.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/src/RulerOptions.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/src/ShadowOptions.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/src/WBPopupSlider.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/src/brushoptions.cpp
  • GeneralsMD/Code/Tools/wdump/chunk_d.cpp
  • GeneralsMD/Code/Tools/wdump/wdeview.cpp
  • GeneralsMD/Code/Tools/wdump/wdlview.cpp
  • GeneralsMD/Code/Tools/wdump/wdtview.cpp
  • GeneralsMD/Code/Tools/wdump/wdump.cpp
💤 Files with no reviewable changes (149)
  • Core/GameEngine/Include/Common/GameType.h
  • Core/GameEngine/Include/Common/AcademyStats.h
  • Core/GameEngine/Include/Common/ObjectStatusTypes.h
  • Core/GameEngine/Source/GameClient/System/Image.cpp
  • Core/Tools/WW3D/max2w3d/w3ddlg.cpp
  • Core/GameEngine/Include/GameNetwork/NAT.h
  • Core/GameEngine/Include/GameNetwork/DisconnectManager.h
  • Core/Libraries/Source/WWVegas/WWLib/always.h
  • GeneralsMD/Code/GameEngine/Include/Common/List.h
  • Dependencies/Utility/Utility/endian_compat.h
  • Core/GameEngine/Source/Common/System/GameMemoryInit.cpp
  • Core/Libraries/Source/WWVegas/WWDebug/wwdebug.h
  • GeneralsMD/Code/GameEngine/Include/Common/KindOf.h
  • Core/Tools/MapCacheBuilder/Source/WinMain.cpp
  • GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/MainMenu.cpp
  • GeneralsMD/Code/GameEngine/Include/Common/ModelState.h
  • Core/Tools/Compress/Compress.cpp
  • Core/GameEngine/Include/Common/file.h
  • Core/Tools/WW3D/pluglib/Vector.h
  • Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DWater.h
  • Core/GameEngine/Include/Common/GameCommon.h
  • Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DTerrainTracks.h
  • Core/Libraries/Source/WWVegas/WW3D2/pointgr.cpp
  • Core/Libraries/Source/Compression/LZHCompress/NoxCompress.cpp
  • Core/GameEngine/Include/GameClient/LoadScreen.h
  • Core/Tools/Autorun/autorun.h
  • Core/GameEngineDevice/Source/VideoDevice/Bink/BinkVideoPlayer.cpp
  • Core/Tools/WW3D/max2w3d/GameMtlPassDlg.cpp
  • Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DProfilerFrameCapture.h
  • Core/Libraries/Source/debug/debug_io_flat.cpp
  • Core/GameEngine/Include/GameNetwork/NetCommandMsg.h
  • Core/GameEngine/Include/GameNetwork/NetworkDefs.h
  • Core/GameEngine/Source/GameClient/Line2D.cpp
  • Core/Libraries/Source/WWVegas/WW3D2/render2dsentence.cpp
  • Core/GameEngine/Source/Common/RandomValue.cpp
  • Core/GameEngine/Include/Common/RandomValue.h
  • Core/Tools/W3DView/EmitterColorPropPage.cpp
  • Core/Tools/W3DView/RingSizePropPage.cpp
  • Core/Tools/WW3D/max2w3d/logdlg.cpp
  • Core/Tools/W3DView/SphereSizePropPage.cpp
  • Core/GameEngine/Source/Common/INI/INIMapCache.cpp
  • Core/GameEngine/Include/GameClient/ClientRandomValue.h
  • Core/Tools/W3DView/ColorPicker.cpp
  • Core/GameEngine/Include/GameClient/VideoPlayer.h
  • Core/Tools/WW3D/max2w3d/gamemaps.cpp
  • Core/Tools/WW3D/max2w3d/ExportAllDlg.cpp
  • Core/GameEngine/Source/GameClient/VideoPlayer.cpp
  • GeneralsMD/Code/GameEngine/Include/Common/DisabledTypes.h
  • Core/Tools/ParticleEditor/ParticleEditorExport.h
  • Core/Tools/mangler/wlib/streamer.cpp
  • GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/WOLCustomScoreScreen.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/include/MainFrm.h
  • Core/Libraries/Source/Compression/Compression.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DWaypointBuffer.h
  • Core/GameEngine/Include/GameClient/GameWindowGlobal.h
  • Core/GameEngine/Include/GameClient/Statistics.h
  • GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/Shadow/W3DShadow.cpp
  • Core/GameEngine/Include/GameClient/IMEManager.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DBufferManager.h
  • GeneralsMD/Code/GameEngine/Include/Common/MissionStats.h
  • Core/Tools/W3DView/OpacityVectorDialog.cpp
  • Core/Tools/WW3D/max2w3d/InputDlg.cpp
  • GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DScene.cpp
  • GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/ReplayMenu.cpp
  • Core/Tools/Autorun/WSYS_file.h
  • GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/QueueProductionExitUpdate.cpp
  • GeneralsMD/Code/GameEngine/Include/Common/SpecialPower.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DBridgeBuffer.h
  • Core/Tools/WW3D/max2w3d/w3dexp.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/src/WBPopupSlider.cpp
  • Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DScorch.h
  • GeneralsMD/Code/GameEngine/Include/GameClient/KeyDefs.h
  • Core/GameEngine/Include/GameClient/GameFont.h
  • GeneralsMD/Code/Main/WinMain.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/src/MoundOptions.cpp
  • GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/Scripts.cpp
  • GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/LanLobbyMenu.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/src/FeatherOptions.cpp
  • Core/Tools/WW3D/max2w3d/meshsave.cpp
  • GeneralsMD/Code/GameEngine/Source/Common/System/Trig.cpp
  • Core/GameEngine/Include/Common/AudioAffect.h
  • Core/Tools/ParticleEditor/MoreParmsDialog.h
  • GeneralsMD/Code/Tools/WorldBuilder/src/ShadowOptions.cpp
  • Core/Tools/mangler/manglertest.cpp
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DAssetManager.h
  • Core/GameEngine/Source/GameClient/VideoStream.cpp
  • Core/Tools/matchbot/wlib/streamer.cpp
  • Core/GameEngine/Include/GameLogic/LogicRandomValue.h
  • GeneralsMD/Code/Tools/WorldBuilder/src/RulerOptions.cpp
  • Core/GameEngine/Source/Common/Audio/GameSounds.cpp
  • Core/GameEngine/Include/GameClient/ClientInstance.h
  • Core/GameEngine/Include/Common/WorkingDirectory.h
  • GeneralsMD/Code/GameEngine/Include/Common/NameKeyGenerator.h
  • Core/Tools/WW3D/max2w3d/MeshDeformSave.cpp
  • Core/GameEngine/Include/Common/GameUtility.h
  • Core/Tools/WW3D/max2w3d/SceneSetupDlg.cpp
  • Core/GameEngine/Include/Common/ArchiveFile.h
  • Core/GameEngine/Include/GameNetwork/FrameMetrics.h
  • Core/Tools/ImagePacker/Source/WinMain.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/src/ContourOptions.cpp
  • Core/Tools/Autorun/GETCD.cpp
  • Core/Tools/mangler/mangler.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/src/brushoptions.cpp
  • Core/GameEngineDevice/Include/W3DDevice/Common/W3DConvert.h
  • Core/Tools/WW3D/max2w3d/motion.cpp
  • GeneralsMD/Code/Tools/WorldBuilder/include/StdAfx.h
  • Core/Libraries/Source/Compression/CMakeLists.txt
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DStatusCircle.h
  • Core/GameEngine/Source/Common/System/LocalFile.cpp
  • Core/GameEngine/Include/GameClient/Keyboard.h
  • Core/GameEngine/Include/Common/AudioRandomValue.h
  • Core/GameEngine/Include/Common/GameMemory.h
  • GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/DefaultProductionExitUpdate.cpp
  • GeneralsMD/Code/Tools/GUIEdit/Source/Dialog Procedures/NewLayoutDialog.cpp
  • GeneralsMD/Code/Tools/wdump/wdtview.cpp
  • GeneralsMD/Code/GameEngine/Include/Common/Money.h
  • GeneralsMD/Code/Tools/GUIEdit/Include/LayoutScheme.h
  • GeneralsMD/Code/GameEngine/Include/Common/OSDisplay.h
  • GeneralsMD/Code/GameEngine/Include/GameLogic/VictoryConditions.h
  • Core/Tools/ParticleEditor/ISwapablePanel.h
  • GeneralsMD/Code/GameEngine/Include/GameLogic/ArmorSet.h
  • GeneralsMD/Code/Tools/GUIEdit/Source/Dialog Procedures/GridSettings.cpp
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DMirror.h
  • GeneralsMD/Code/Tools/WorldBuilder/include/ObjectPreview.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DDynamicLight.h
  • GeneralsMD/Code/GameEngine/Include/Common/ThingFactory.h
  • GeneralsMD/Code/Tools/WorldBuilder/src/MyToolbar.cpp
  • GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DPoly.cpp
  • CMakeLists.txt
  • Core/GameEngineDevice/Include/VideoDevice/FFmpeg/FFmpegFile.h
  • GeneralsMD/Code/Tools/wdump/wdlview.cpp
  • GeneralsMD/Code/Tools/wdump/wdeview.cpp
  • Core/GameEngine/Include/GameNetwork/FrameData.h
  • Core/GameEngine/Include/GameClient/DebugDisplay.h
  • Core/GameEngine/Include/GameClient/Snow.h
  • GeneralsMD/Code/Tools/WorldBuilder/include/TerrainSwatches.h
  • Core/Libraries/Source/WWVegas/WW3D2/dx8rendererdebugger.h
  • Core/GameEngine/Include/GameNetwork/WOLBrowser/WebBrowser.h
  • Core/GameEngine/Include/GameNetwork/udp.h
  • Core/GameEngine/Include/GameClient/Color.h
  • GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Update/ProductionExitUpdate/SupplyCenterProductionExitUpdate.cpp
  • Core/GameEngine/Include/GameClient/ParabolicEase.h
  • Core/GameEngine/Include/Common/crc.h
  • Core/Tools/Launcher/streamer.cpp
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameLogic/W3DGhostObject.h
  • GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DBibBuffer.h
  • GeneralsMD/Code/Tools/WorldBuilder/include/NewHeightMap.h
  • GeneralsMD/Code/GameEngine/Include/Common/Handicap.h
  • Core/Tools/ParticleEditor/CSwitchesDialog.h

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.

Comment thread GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/shader.h
@xezon
xezon force-pushed the xezon/refactor-basetype branch from b5f3c09 to 4b34356 Compare September 25, 2026 09:02
@xezon

xezon commented Sep 25, 2026

Copy link
Copy Markdown
Author

Looks like the bots are mostly happy.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 4667523d-6039-4fed-8dac-bc724a79be00

📥 Commits

Reviewing files that changed from the base of the PR and between b5f3c09 and 4b34356.

📒 Files selected for processing (6)
  • Core/CMakeLists.txt
  • Core/Libraries/Include/Lib/RealRange.h
  • Core/Libraries/Source/WWVegas/WWSaveLoad/pointerremap.cpp
  • Core/Libraries/Source/WWVegas/WWSaveLoad/pointerremap.h
  • Core/Libraries/Source/WWVegas/WWSaveLoad/saveload.cpp
  • Core/Libraries/Source/WWVegas/WWSaveLoad/saveload.h

Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review.

Comment thread Core/Libraries/Include/Lib/RealRange.h
@xezon
xezon force-pushed the xezon/refactor-basetype branch from 4b34356 to 38cfcee Compare September 25, 2026 09:19
@xezon xezon added this to the Code foundation build up milestone Sep 25, 2026
…WWDEBUG_SAY, SNAPSHOT_SAY, DEBUG_LOG, assert (#3358)

This fixes 'error C4189: local variable is initialized but not referenced'
This fixes 'error C4189: local variable is initialized but not referenced'
This fixes 'error C4706: assignment used as a condition'
This fixes 'error C2446: no conversion from 'a' to 'b'' and 'error C2059: syntax error: 'constant''
…re precompiled and included in all game build targets (#3358)
@xezon
xezon force-pushed the xezon/refactor-basetype branch from 38cfcee to f16d450 Compare September 25, 2026 13:44
@xezon

xezon commented Sep 25, 2026

Copy link
Copy Markdown
Author

Replicated to Generals with a few simple conflicts.

@xezon
xezon merged commit 7ceb579 into TheSuperHackers:main Sep 26, 2026
25 checks passed
xezon added a commit that referenced this pull request Sep 26, 2026
…WWDEBUG_SAY, SNAPSHOT_SAY, DEBUG_LOG, assert (#3358)

This fixes 'error C4189: local variable is initialized but not referenced'
xezon added a commit that referenced this pull request Sep 26, 2026
This fixes 'error C4189: local variable is initialized but not referenced'
xezon added a commit that referenced this pull request Sep 26, 2026
This fixes 'error C4706: assignment used as a condition'
xezon added a commit that referenced this pull request Sep 26, 2026
This fixes 'error C2446: no conversion from 'a' to 'b'' and 'error C2059: syntax error: 'constant''
xezon added a commit that referenced this pull request Sep 26, 2026
…re precompiled and included in all game build targets (#3358)
@xezon
xezon deleted the xezon/refactor-basetype branch September 26, 2026 07:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Build Anything related to building, compiling Refactor Edits the code with insignificant behavior changes, is never user facing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants