Pavel Okhlopkov
|
97106bd6ae
|
fix(render): code quality cleanup
Magic number elimination:
- Create protocol_constants.hpp, warden_constants.hpp,
render_constants.hpp, ui_constants.hpp
- Replace ~55 magic numbers across game_handler, warden_handler,
m2_renderer_render
Reduce nesting depth:
- Extract 5 parseEffect* methods from handleSpellLogExecute
(max indent 52 → 16 cols)
- Extract resolveSpellSchool/playSpellCastSound/playSpellImpactSound
from 3× duplicate audio blocks in handleSpellGo
- Flatten SMSG_INVENTORY_CHANGE_FAILURE with early-return guards
- Extract drawScreenEdgeVignette() for 3 duplicate vignette blocks
DRY extract patterns:
- Replace 12 compound expansion checks with isPreWotlk() across
movement_handler (9), chat_handler (1), social_handler (1)
const to constexpr:
- Promote 23+ static const arrays/scalars to static constexpr across
12 source files
Error handling:
- Convert PIN auth from exceptions to std::optional<PinProof>
- Add [[nodiscard]] to 15+ initialize/parse methods
- Wrap ~20 unchecked initialize() calls with LOG_WARNING/LOG_ERROR
Signed-off-by: Pavel Okhlopkov <pavel.okhlopkov@flant.com>
|
2026-04-06 22:43:13 +03:00 |
|
Paul
|
34c0e3ca28
|
chore(refactor): god-object decomposition and mega-file splits
Split all mega-files by single-responsibility concern and
partially extracting AudioCoordinator and
OverlaySystem from the Renderer facade. No behavioral changes.
Splits:
- game_handler.cpp (5,247 LOC) → core + callbacks + packets (3 files)
- world_packets.cpp (4,453 LOC) → economy/entity/social/world (4 files)
- game_screen.cpp (5,786 LOC) → core + frames + hud + minimap (4 files)
- m2_renderer.cpp (3,343 LOC) → core + instance + particles + render (4 files)
- chat_panel.cpp (3,140 LOC) → core + commands + utils (3 files)
- entity_spawner.cpp (2,750 LOC) → core + player + processing (3 files)
Extractions:
- AudioCoordinator: include/audio/ + src/audio/ (owned by Renderer)
- OverlaySystem: include/rendering/ + src/rendering/overlay_system.*
CMakeLists.txt: registered all 17 new translation units.
Related handler/callback files: minor include fixups post-split.
|
2026-04-05 19:30:44 +03:00 |
|