Files
EVEngine/docs/dev
西风逍遥游 097444bfc2 fix(vehicle): RTS orders arrive and fire, weapons auto-reload, demo uses sprites + HUD
- kinematic RTS orders decelerate when turning/approaching so moveTo actually
  arrives inside arriveRadius instead of orbiting forever
- attack order now auto-fires auto-aim mounts within weapon range
  (attack_move keeps aim-only behavior)
- weapon module auto-starts reload when mag empty, cooldown done, reserve left;
  events still emitted, game can override/cancel
- vehicle demo: real Kenney CC0 sprites (body rotates, turret rotates by
  mount yaw, destroyed greys out), readable ImGui HUD log, capture-mouse
  guard so clicks on HUD don't issue orders
- tests: weapon.fire.autoReloadOnEmpty; README + design doc updated
2026-08-23 20:32:43 +08:00
..

EVEngine 开发者文档

本目录保存引擎的架构、模块设计、测试策略和实现计划,面向 EVEngine 本身的维护者与贡献者。

架构与工程约定

功能设计

实施记录

阶段性设计稿与实施计划位于 superpowers/。文档使用的图示位于 img/。

构建与文档

  • 生成 C++ API 文档(Doxygen):make docs(或 cmake --build <build-dir> --target docs), 产物位于 docs/api/html/(已加入 .gitignore)。需要先安装 doxygen: Ubuntu/WSL sudo apt install doxygen、macOS brew install doxygen、Windows choco install doxygen。 文档配置见 docs/Doxyfile.in 与 docs/CMakeLists.txt,入口 src/、Readme.md 与 docs/usr/。

  • 运行时断言:引擎统一通过 zeroerr 的 ASSERT 系列宏做函数参数校验与内部不变量检查, 入口见 src/engine/common/Assert.h(EV_PARAM_CHECK / EV_ASSERT)。

    • Debug 构建默认启用;
    • Release 等非 Debug 构建默认通过 ZEROERR_NO_ASSERT 编译剔除,零运行时开销;
    • 需要手动开启时:make build/linux CMAKE_EXTRA_ARGS=-DEVENGINE_ENABLE_ASSERTS=ON (或 CMake 配置时加 -DEVENGINE_ENABLE_ASSERTS=ON)。

如果你是使用 EVEngine 制作游戏,而不是修改引擎,请从用户指南开始。