From f3d5f84d2c476a851b19d979ff906ec48017c431 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 1 Nov 2025 09:54:08 +0000 Subject: [PATCH] Improve documentation with cross-references and README enhancements Co-authored-by: orange-cpp <59374393+orange-cpp@users.noreply.github.com> --- README.md | 69 +++++++++++++++---- docs/collision/line_tracer.md | 12 +++- docs/engines/source_engine/camera_trait.md | 8 ++- docs/linear_algebra/vector2.md | 11 ++- docs/linear_algebra/vector3.md | 12 +++- .../projectile_engine.md | 10 +++ docs/projection/camera.md | 9 +++ 7 files changed, 114 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 1118388..0bf7777 100644 --- a/README.md +++ b/README.md @@ -43,18 +43,45 @@ It provides the latest features, is highly customizable, has all for cheat devel -# Features -- **Efficiency**: Optimized for performance, ensuring quick computations using AVX2. -- **Versatility**: Includes a wide array of mathematical functions and algorithms. -- **Ease of Use**: Simplified interface for convenient integration into various projects. -- **Projectile Prediction**: Projectile prediction engine with O(N) algo complexity, that can power you projectile aim-bot. -- **3D Projection**: No need to find view-projection matrix anymore you can make your own projection pipeline. -- **Collision Detection**: Production ready code to handle collision detection by using simple interfaces. -- **No Additional Dependencies**: No additional dependencies need to use OMath except unit test execution -- **Ready for meta-programming**: Omath use templates for common types like Vectors, Matrixes etc, to handle all types! -- **Engine support**: Supports coordinate systems of **Source, Unity, Unreal, Frostbite, IWEngine and canonical OpenGL**. -- **Cross platform**: Supports Windows, MacOS and Linux. -- **Algorithms**: Has ability to scan for byte pattern with wildcards in PE files/modules, binary slices, works even with Wine apps. +## 🚀 Quick Example + +```cpp +#include + +using namespace omath; + +// 3D vector operations +Vector3 a{1, 2, 3}; +Vector3 b{4, 5, 6}; + +auto dot = a.dot(b); // 32.0 +auto cross = a.cross(b); // (-3, 6, -3) +auto distance = a.distance_to(b); // ~5.196 +auto normalized = a.normalized(); // Unit vector + +// World-to-screen projection (Source Engine example) +using namespace omath::source_engine; +Camera camera(position, angles, viewport, fov, near_plane, far_plane); + +if (auto screen = camera.world_to_screen(world_position)) { + // Draw at screen->x, screen->y +} +``` + +**[➡️ See more examples and tutorials][TUTORIALS]** + +# ✨ Features +- **🚀 Efficiency**: Optimized for performance, ensuring quick computations using AVX2. +- **🎯 Versatility**: Includes a wide array of mathematical functions and algorithms. +- **✅ Ease of Use**: Simplified interface for convenient integration into various projects. +- **🎮 Projectile Prediction**: Projectile prediction engine with O(N) algo complexity, that can power you projectile aim-bot. +- **📐 3D Projection**: No need to find view-projection matrix anymore you can make your own projection pipeline. +- **💥 Collision Detection**: Production ready code to handle collision detection by using simple interfaces. +- **📦 No Additional Dependencies**: No additional dependencies need to use OMath except unit test execution +- **🔧 Ready for meta-programming**: Omath use templates for common types like Vectors, Matrixes etc, to handle all types! +- **🎯 Engine support**: Supports coordinate systems of **Source, Unity, Unreal, Frostbite, IWEngine and canonical OpenGL**. +- **🌍 Cross platform**: Supports Windows, MacOS and Linux. +- **🔍 Algorithms**: Has ability to scan for byte pattern with wildcards in PE files/modules, binary slices, works even with Wine apps.
# Gallery @@ -84,6 +111,22 @@ It provides the latest features, is highly customizable, has all for cheat devel
+## 📚 Documentation + +- **[Getting Started Guide](https://libomath.org/getting_started/)** - Installation and first steps +- **[API Overview](https://libomath.org/api_overview/)** - Complete API reference +- **[Tutorials](https://libomath.org/tutorials/)** - Step-by-step guides +- **[FAQ](https://libomath.org/faq/)** - Common questions and answers +- **[Troubleshooting](https://libomath.org/troubleshooting/)** - Solutions to common issues +- **[Best Practices](https://libomath.org/best_practices/)** - Guidelines for effective usage + +## 🤝 Community & Support + +- **Discord**: [Join our community](https://discord.gg/eDgdaWbqwZ) +- **Telegram**: [@orangennotes](https://t.me/orangennotes) +- **Issues**: [Report bugs or request features](https://github.com/orange-cpp/omath/issues) +- **Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines + # 💘 Acknowledgments - [All contributors](https://github.com/orange-cpp/omath/graphs/contributors) @@ -93,8 +136,10 @@ It provides the latest features, is highly customizable, has all for cheat devel [CS2 Preview]: docs/images/showcase/cs2.jpeg [TF2 Preview]: docs/images/showcase/tf2.jpg +[QUICKSTART]: docs/getting_started.md [INSTALL]: INSTALL.md [DOCUMENTATION]: http://libomath.org +[TUTORIALS]: docs/tutorials.md [CONTRIBUTING]: CONTRIBUTING.md [EXAMPLES]: examples [SPONSOR]: https://boosty.to/orangecpp/purchase/3568644?ssource=DIRECT&share=subscription_link diff --git a/docs/collision/line_tracer.md b/docs/collision/line_tracer.md index 23cefcc..9e9e1f8 100644 --- a/docs/collision/line_tracer.md +++ b/docs/collision/line_tracer.md @@ -168,4 +168,14 @@ public: --- -*Last updated: 31 Oct 2025* +## See Also + +- [Plane Documentation](../3d_primitives/plane.md) - Ray-plane intersection +- [Box Documentation](../3d_primitives/box.md) - AABB collision detection +- [Triangle Documentation](../linear_algebra/triangle.md) - Triangle primitives +- [Tutorials - Collision Detection](../tutorials.md#tutorial-4-collision-detection) - Complete collision tutorial +- [Getting Started Guide](../getting_started.md) - Quick start with OMath + +--- + +*Last updated: 1 Nov 2025* diff --git a/docs/engines/source_engine/camera_trait.md b/docs/engines/source_engine/camera_trait.md index b4c1c65..610fc61 100644 --- a/docs/engines/source_engine/camera_trait.md +++ b/docs/engines/source_engine/camera_trait.md @@ -105,5 +105,9 @@ This satisfies `CameraEngineConcept` expected by `projection::Camera` (look-at, ## See also -* Source Engine math helpers in `omath/engines/source_engine/formulas.hpp` (view/projection builders used above). -* Generic camera wrapper `omath::projection::Camera` and its `CameraEngineConcept` (this trait is designed to plug straight into it). +* [Source Engine Formulas](formulas.md) - View/projection matrix builders +* [Source Engine Constants](constants.md) - Engine-specific constants +* [Source Engine Pred Engine Trait](pred_engine_trait.md) - Projectile prediction for Source Engine +* [Generic Camera Documentation](../../projection/camera.md) - Camera base class +* [Getting Started Guide](../../getting_started.md) - Quick start with OMath +* [Tutorials - World-to-Screen](../../tutorials.md#tutorial-2-world-to-screen-projection) - Projection tutorial diff --git a/docs/linear_algebra/vector2.md b/docs/linear_algebra/vector2.md index 483b144..7f04475 100644 --- a/docs/linear_algebra/vector2.md +++ b/docs/linear_algebra/vector2.md @@ -288,4 +288,13 @@ static Vector2 from_im_vec2(const ImVec2&) noexcept; --- -*Last updated: 31 Oct 2025* +## See Also + +- [Vector3 Documentation](vector3.md) - 3D vector operations +- [Vector4 Documentation](vector4.md) - 4D vector operations +- [Getting Started Guide](../getting_started.md) - Quick start with OMath +- [Tutorials](../tutorials.md) - Step-by-step examples + +--- + +*Last updated: 1 Nov 2025* diff --git a/docs/linear_algebra/vector3.md b/docs/linear_algebra/vector3.md index 6347925..15dda16 100644 --- a/docs/linear_algebra/vector3.md +++ b/docs/linear_algebra/vector3.md @@ -294,4 +294,14 @@ bool is_perpendicular(const Vector3&) const noexcept; --- -*Last updated: 31 Oct 2025* +## See Also + +- [Vector2 Documentation](vector2.md) - 2D vector operations +- [Vector4 Documentation](vector4.md) - 4D vector operations +- [Angle Documentation](../trigonometry/angle.md) - Working with angles +- [Getting Started Guide](../getting_started.md) - Quick start with OMath +- [Tutorials](../tutorials.md) - Practical examples including vector math + +--- + +*Last updated: 1 Nov 2025* diff --git a/docs/projectile_prediction/projectile_engine.md b/docs/projectile_prediction/projectile_engine.md index db0cf33..a47ff63 100644 --- a/docs/projectile_prediction/projectile_engine.md +++ b/docs/projectile_prediction/projectile_engine.md @@ -149,4 +149,14 @@ Return `nullopt` if `t*` is absent. --- +## See Also + +- [Projectile Documentation](projectile.md) - Projectile properties +- [Target Documentation](target.md) - Target state representation +- [Legacy Implementation](proj_pred_engine_legacy.md) - Standard projectile prediction engine +- [AVX2 Implementation](proj_pred_engine_avx2.md) - Optimized AVX2 engine +- [Tutorials - Projectile Prediction](../tutorials.md#tutorial-3-projectile-prediction-aim-bot) - Complete aim-bot tutorial + +--- + *Last updated: 1 Nov 2025* diff --git a/docs/projection/camera.md b/docs/projection/camera.md index b9cf47b..42f7ebd 100644 --- a/docs/projection/camera.md +++ b/docs/projection/camera.md @@ -258,4 +258,13 @@ struct LHCTrait { --- +## See Also + +- [Engine-Specific Camera Traits](../engines/) - Camera implementations for different game engines +- [View Angles Documentation](../trigonometry/view_angles.md) - Understanding pitch/yaw/roll +- [Getting Started Guide](../getting_started.md) - Quick start with projection +- [Tutorials - World-to-Screen](../tutorials.md#tutorial-2-world-to-screen-projection) - Complete projection tutorial + +--- + *Last updated: 1 Nov 2025*