Commit Graph

417 Commits

Author SHA1 Message Date
7a9fa626e4 Adds contributing guidelines
Introduces a CONTRIBUTING.MD file to provide guidelines for
contributing to the project, including prerequisites, setup
instructions, pull request workflow, code style, and building
instructions.

xd

returned back

patch
2025-08-06 06:23:06 +03:00
5be521ad2c Refactors Vector operations for type safety
Ensures type safety in Vector2, Vector3, and Vector4 operations by using static_cast(0) instead of relying on implicit conversions.
This prevents potential issues with different numeric types.

Adds from_im_vec2 and from_im_vec4 methods for creating vectors from ImVec2/ImVec4 types.
2025-08-06 06:06:42 +03:00
9ad71be0da patch 2025-08-06 05:56:09 +03:00
a3b6435bac Merge pull request #52 from orange-cpp/feature/more_traits
Adds engine traits for projectile prediction
2025-08-06 05:49:25 +03:00
0abfeba109 Adds engine traits for projectile prediction
Implements engine-specific traits for projectile and target position prediction.
Each trait encapsulates logic tailored to a specific game engine (IW, OpenGL, Unity),
accounting for engine-specific coordinate systems and calculations.
This allows for accurate projectile prediction across different game environments.
2025-08-06 05:45:37 +03:00
5c9b36a03c Refactors target position prediction
Moves target prediction logic into engine traits, improving modularity.

This change consolidates target position prediction within the engine traits,
allowing for a more flexible and maintainable design.

This eliminates redundant code and simplifies the core prediction engine by
delegating target movement calculations to the appropriate trait.
2025-08-04 03:16:04 +03:00
628361aff8 Marks legacy engine class as final
Prevents further inheritance from the legacy projectile prediction engine class.
2025-08-04 01:12:22 +03:00
0e403f916d Adds direct pitch angle calculation
Implements a direct pitch angle calculation for scenarios with zero gravity, ensuring accurate projectile trajectory predictions in such conditions.

Also marks several methods as noexcept for better performance and exception safety.
2025-08-04 01:11:11 +03:00
a6fc92dd3a Updates project version and removes legacy code
Updates the project version to prepare for a new release.

Removes the legacy projectile prediction engine, which is no longer needed.
2025-08-03 18:35:52 +03:00
b16157e976 Ignores vcpkg directory
Excludes the vcpkg directory from being tracked by Git.

This prevents accidental commits of external library files
managed by vcpkg, keeping the repository cleaner.
2025-08-03 18:31:02 +03:00
d66ccf2f74 Refactors projectile prediction engine
Migrates projectile prediction logic to leverage engine traits for improved flexibility and testability.

This change decouples core prediction algorithms from specific engine implementations, allowing for easier adaptation to different game engines or simulation environments.
2025-08-03 18:28:47 +03:00
5b66a53f08 Merge pull request #51 from orange-cpp/feature/projectile_pred_custom
Refactors projectile prediction engine
2025-08-03 17:38:08 +03:00
6c5c86b850 Refactors projectile prediction engine
Refactors the projectile prediction engine by introducing an interface
and making the legacy implementation more flexible.

The legacy engine is updated to allow for coordinate system customization
through virtual methods, enabling usage in different game environments.

Also introduces vcpkg support for easier dependency management and adds boost-asio as a dependency.
2025-08-03 17:33:22 +03:00
da528d2884 Documents projectile launch angle formula
Adds a comment documenting the formula used for calculating the projectile launch pitch angle.

The comment includes a link to the Stack Overflow discussion where the formula was found and the LaTeX representation of the formula for clarity.
2025-07-31 21:52:16 +03:00
095519e035 Merge pull request #49 from orange-cpp/feature/legacy_option
Adds option to enable legacy classes
2025-07-15 11:52:36 +03:00
0fe5b6b7a1 Enables legacy code compilation
The changes encapsulate the matrix tests within an `#ifdef` block, allowing conditional compilation based on whether `OMATH_ENABLE_LEGACY` is defined. This enables the legacy code to be compiled only when needed.
2025-07-15 11:51:14 +03:00
b82106a565 Adds option to enable legacy classes
Introduces a CMake option to enable legacy classes,
allowing for backward compatibility with older code.
This ensures that older codebases can still function
while new development can utilize updated classes.
2025-07-15 11:48:33 +03:00
0cae66b9c7 Update README.md 2025-07-14 23:11:46 +03:00
b621308346 Merge pull request #48 from luadebug/patch-1
Update INSTALL.md
2025-07-14 23:10:39 +03:00
Saikari
bd2b14c047 Update INSTALL.md 2025-07-14 18:53:41 +03:00
1ff591ff48 Update README.md
fixed ordering
2025-07-14 17:39:16 +03:00
f8f746bfbb Update README.md
made badge in read me smaller
2025-07-14 17:38:50 +03:00
cadb2b6285 Merge pull request #47 from luadebug/patch-1
Update README.md

Thx for vcpkg port update <3 u r already in CREDITS.md
2025-07-14 17:37:12 +03:00
Saikari
0ee4db4c5b Update README.md 2025-07-14 16:25:16 +03:00
5425b60f6e Update README.md 2025-07-08 17:14:52 +03:00
30d8db8b36 Update README.md 2025-07-08 17:13:24 +03:00
2bc23d42c0 Update README.md 2025-07-08 17:01:56 +03:00
e68ca673c9 Renames test fixture for clarity.
Updates the name of the test fixture from "lline_tracer_fixture" to "line_tracer_fixture" for improved readability and consistency in the test code.
2025-07-07 08:28:29 +03:00
77bf19da2d Fixes potential compile error
Corrects the usage of `At` method within the unit tests to `at` to resolve a potential compile error due to incorrect case sensitivity.
2025-07-07 08:18:00 +03:00
63d9ea903e fixed naming in tests v3.0.3 2025-07-07 08:02:35 +03:00
90f6f8eb47 Merge pull request #45 from luadebug/patch-1
Check for ImGUI dependency in omathConfig.cmake.in
2025-07-07 05:30:19 +03:00
Saikari
d187cd67d4 Update omathConfig.cmake.in 2025-07-07 04:53:56 +03:00
f489ec7a85 Updates CMake export target and namespace.
Updates the CMake export target and namespace to use the project name,
improving consistency and avoiding naming conflicts.

Adds a simple diagram to the triangle header file.
2025-07-06 11:14:46 +03:00
cc2754a985 Renames library target to project name
Updates the CMakeLists.txt to use the project name as the library target name instead of hardcoding "omath".

This change ensures consistency and avoids potential conflicts when integrating the library into other projects.
It also aligns the target naming with CMake best practices.
2025-07-06 11:07:15 +03:00
efca121348 added new method 2025-06-23 06:14:17 +03:00
6b900f2855 fix 2025-06-17 21:34:25 +03:00
681ea99d7b added banner to repo 2025-06-17 21:33:39 +03:00
d196e4d9a8 fixed example 2025-06-16 01:40:14 +03:00
750647a9d5 Merge pull request #39 from orange-cpp/u/orange-cpp/writerside
U/orange cpp/writerside
2025-05-21 16:58:19 +03:00
37e1ac7b88 fixed stuff 2025-05-21 16:57:17 +03:00
77fcb6faa4 added text 2025-05-21 16:47:15 +03:00
e95567c82c fix 2025-05-21 16:47:15 +03:00
ac3266644b fix 2025-05-21 16:47:15 +03:00
15463ba09c improved intro 2025-05-21 16:47:15 +03:00
ef4157ffbb added new topic 2025-05-21 16:47:15 +03:00
4c4d6c87ba stipped away text 2025-05-21 16:47:15 +03:00
69a0323097 added files 2025-05-21 16:47:15 +03:00
b989c66088 fixed version 2025-05-13 09:48:46 +03:00
fb7cb0e800 improved naming 2025-05-13 09:47:08 +03:00
e2322960b7 added noexcept 2025-05-13 09:34:39 +03:00