From 69a032309742dfd989db08986d3de93aaef911ec Mon Sep 17 00:00:00 2001 From: Orange Date: Sat, 29 Mar 2025 17:47:50 +0300 Subject: [PATCH 1/8] added files --- writerside/c.list | 6 ++ writerside/cfg/buildprofiles.xml | 13 ++++ writerside/images/completion_procedure.png | 3 + .../images/completion_procedure_dark.png | 3 + writerside/images/convert_table_to_xml.png | 3 + .../images/convert_table_to_xml_dark.png | 3 + writerside/images/new_topic_options.png | 3 + writerside/images/new_topic_options_dark.png | 3 + writerside/o.tree | 10 +++ writerside/redirection-rules.xml | 13 ++++ writerside/topics/starter-topic.md | 78 +++++++++++++++++++ writerside/v.list | 5 ++ writerside/writerside.cfg | 8 ++ 13 files changed, 151 insertions(+) create mode 100644 writerside/c.list create mode 100644 writerside/cfg/buildprofiles.xml create mode 100644 writerside/images/completion_procedure.png create mode 100644 writerside/images/completion_procedure_dark.png create mode 100644 writerside/images/convert_table_to_xml.png create mode 100644 writerside/images/convert_table_to_xml_dark.png create mode 100644 writerside/images/new_topic_options.png create mode 100644 writerside/images/new_topic_options_dark.png create mode 100644 writerside/o.tree create mode 100644 writerside/redirection-rules.xml create mode 100644 writerside/topics/starter-topic.md create mode 100644 writerside/v.list create mode 100644 writerside/writerside.cfg diff --git a/writerside/c.list b/writerside/c.list new file mode 100644 index 0000000..c4c77a2 --- /dev/null +++ b/writerside/c.list @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/writerside/cfg/buildprofiles.xml b/writerside/cfg/buildprofiles.xml new file mode 100644 index 0000000..d265420 --- /dev/null +++ b/writerside/cfg/buildprofiles.xml @@ -0,0 +1,13 @@ + + + + + + + + true + + + + diff --git a/writerside/images/completion_procedure.png b/writerside/images/completion_procedure.png new file mode 100644 index 0000000..c079b71 --- /dev/null +++ b/writerside/images/completion_procedure.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c541027fb796a947f1f559a62dbd31f55a80f652e991d059112475d122d324c4 +size 128146 diff --git a/writerside/images/completion_procedure_dark.png b/writerside/images/completion_procedure_dark.png new file mode 100644 index 0000000..dee45a8 --- /dev/null +++ b/writerside/images/completion_procedure_dark.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59e7c2df47f33658fe75a75b346d573b7165ff11a99799c9db040a4bfa1ed225 +size 68718 diff --git a/writerside/images/convert_table_to_xml.png b/writerside/images/convert_table_to_xml.png new file mode 100644 index 0000000..4b8b6a1 --- /dev/null +++ b/writerside/images/convert_table_to_xml.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d6900b3f178e3213cbf9b0846b887cc154c15cf1f71e6a6a75cd16cf4c4f762 +size 349338 diff --git a/writerside/images/convert_table_to_xml_dark.png b/writerside/images/convert_table_to_xml_dark.png new file mode 100644 index 0000000..0580289 --- /dev/null +++ b/writerside/images/convert_table_to_xml_dark.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:449bfd5c17b5ccf25f6077a286988163a19b527522c3a53fd66fefa9b29b291b +size 121495 diff --git a/writerside/images/new_topic_options.png b/writerside/images/new_topic_options.png new file mode 100644 index 0000000..a11c4a2 --- /dev/null +++ b/writerside/images/new_topic_options.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7659fef226291431499d3f5f7b2faaa06540f1f21bf8cc9e4f6613c8b4904ad0 +size 313855 diff --git a/writerside/images/new_topic_options_dark.png b/writerside/images/new_topic_options_dark.png new file mode 100644 index 0000000..391b9b4 --- /dev/null +++ b/writerside/images/new_topic_options_dark.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce366a6c690d72ebe72b942ddefbb9ea7cf9d0bbfa03df2524e4e56e91b54546 +size 281000 diff --git a/writerside/o.tree b/writerside/o.tree new file mode 100644 index 0000000..a5ea91a --- /dev/null +++ b/writerside/o.tree @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/writerside/redirection-rules.xml b/writerside/redirection-rules.xml new file mode 100644 index 0000000..e06c457 --- /dev/null +++ b/writerside/redirection-rules.xml @@ -0,0 +1,13 @@ + + + + + + " from OMATH]]> + Empty-MD-Topic.html + + \ No newline at end of file diff --git a/writerside/topics/starter-topic.md b/writerside/topics/starter-topic.md new file mode 100644 index 0000000..7fcb3d0 --- /dev/null +++ b/writerside/topics/starter-topic.md @@ -0,0 +1,78 @@ +# About OMATH + +Oranges's Math Library (omath) is a comprehensive, open-source library aimed at providing efficient, reliable, and versatile mathematical functions and algorithms. Developed primarily in C++, this library is designed to cater to a wide range of mathematical operations essential in scientific computing, engineering, and academic research. + +## Add new topics +You can create empty topics, or choose a template for different types of content that contains some boilerplate structure to help you get started: + +![Create new topic options](new_topic_options.png){ width=290 }{border-effect=line} + +## Write content +%product% supports two types of markup: Markdown and XML. +When you create a new help article, you can choose between two topic types, but this doesn't mean you have to stick to a single format. +You can author content in Markdown and extend it with semantic attributes or inject entire XML elements. + +## Inject XML +For example, this is how you inject a procedure: + + + +

Start typing and select a procedure type from the completion suggestions:

+ completion suggestions for procedure +
+ +

Press Tab or Enter to insert the markup.

+
+
+ +## Add interactive elements + +### Tabs +To add switchable content, you can make use of tabs (inject them by starting to type `tab` on a new line): + + + + ![Alt Text](new_topic_options.png){ width=450 } + + + + ]]> + + + +### Collapsible blocks +Apart from injecting entire XML elements, you can use attributes to configure the behavior of certain elements. +For example, you can collapse a chapter that contains non-essential information: + +#### Supplementary info {collapsible="true"} +Content under a collapsible header will be collapsed by default, +but you can modify the behavior by adding the following attribute: +`default-state="expanded"` + +### Convert selection to XML +If you need to extend an element with more functions, you can convert selected content from Markdown to semantic markup. +For example, if you want to merge cells in a table, it's much easier to convert it to XML than do this in Markdown. +Position the caret anywhere in the table and press Alt+Enter: + +Convert table to XML + +## Feedback and support +Please report any issues, usability improvements, or feature requests to our +YouTrack project +(you will need to register). + +You are welcome to join our +public Slack workspace. +Before you do, please read our [Code of conduct](https://www.jetbrains.com/help/writerside/writerside-code-of-conduct.html). +We assume that you’ve read and acknowledged it before joining. + +You can also always email us at [writerside@jetbrains.com](mailto:writerside@jetbrains.com). + + + + Markup reference + Reorder topics in the TOC + Build and publish + Configure Search + + \ No newline at end of file diff --git a/writerside/v.list b/writerside/v.list new file mode 100644 index 0000000..2d12cb3 --- /dev/null +++ b/writerside/v.list @@ -0,0 +1,5 @@ + + + + + diff --git a/writerside/writerside.cfg b/writerside/writerside.cfg new file mode 100644 index 0000000..4e8ae9e --- /dev/null +++ b/writerside/writerside.cfg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 4c4d6c87ba6d09a190221fc39d79603b67d1b158 Mon Sep 17 00:00:00 2001 From: Orange Date: Wed, 2 Apr 2025 06:23:55 +0300 Subject: [PATCH 2/8] stipped away text --- writerside/c.list | 1 + writerside/topics/starter-topic.md | 78 ++---------------------------- 2 files changed, 6 insertions(+), 73 deletions(-) diff --git a/writerside/c.list b/writerside/c.list index c4c77a2..5fca6a6 100644 --- a/writerside/c.list +++ b/writerside/c.list @@ -3,4 +3,5 @@ SYSTEM "https://resources.jetbrains.com/writerside/1.0/categories.dtd"> + \ No newline at end of file diff --git a/writerside/topics/starter-topic.md b/writerside/topics/starter-topic.md index 7fcb3d0..e06fd7a 100644 --- a/writerside/topics/starter-topic.md +++ b/writerside/topics/starter-topic.md @@ -1,78 +1,10 @@ -# About OMATH +# Introduction Oranges's Math Library (omath) is a comprehensive, open-source library aimed at providing efficient, reliable, and versatile mathematical functions and algorithms. Developed primarily in C++, this library is designed to cater to a wide range of mathematical operations essential in scientific computing, engineering, and academic research. -## Add new topics -You can create empty topics, or choose a template for different types of content that contains some boilerplate structure to help you get started: - -![Create new topic options](new_topic_options.png){ width=290 }{border-effect=line} - -## Write content -%product% supports two types of markup: Markdown and XML. -When you create a new help article, you can choose between two topic types, but this doesn't mean you have to stick to a single format. -You can author content in Markdown and extend it with semantic attributes or inject entire XML elements. - -## Inject XML -For example, this is how you inject a procedure: - - - -

Start typing and select a procedure type from the completion suggestions:

- completion suggestions for procedure -
- -

Press Tab or Enter to insert the markup.

-
-
- -## Add interactive elements - -### Tabs -To add switchable content, you can make use of tabs (inject them by starting to type `tab` on a new line): - - - - ![Alt Text](new_topic_options.png){ width=450 } - - - - ]]> - - - -### Collapsible blocks -Apart from injecting entire XML elements, you can use attributes to configure the behavior of certain elements. -For example, you can collapse a chapter that contains non-essential information: - -#### Supplementary info {collapsible="true"} -Content under a collapsible header will be collapsed by default, -but you can modify the behavior by adding the following attribute: -`default-state="expanded"` - -### Convert selection to XML -If you need to extend an element with more functions, you can convert selected content from Markdown to semantic markup. -For example, if you want to merge cells in a table, it's much easier to convert it to XML than do this in Markdown. -Position the caret anywhere in the table and press Alt+Enter: - -Convert table to XML - -## Feedback and support -Please report any issues, usability improvements, or feature requests to our -YouTrack project -(you will need to register). - -You are welcome to join our -public Slack workspace. -Before you do, please read our [Code of conduct](https://www.jetbrains.com/help/writerside/writerside-code-of-conduct.html). -We assume that you’ve read and acknowledged it before joining. - -You can also always email us at [writerside@jetbrains.com](mailto:writerside@jetbrains.com). - - - Markup reference - Reorder topics in the TOC - Build and publish - Configure Search + + GitHub repository + YouGame thread - \ No newline at end of file + From ef4157ffbb95bb24ff13f7b396462b9f0dbfd715 Mon Sep 17 00:00:00 2001 From: Orange Date: Wed, 2 Apr 2025 07:28:42 +0300 Subject: [PATCH 3/8] added new topic --- writerside/o.tree | 1 + writerside/topics/License.md | 9 +++++++++ writerside/topics/starter-topic.md | 1 + 3 files changed, 11 insertions(+) create mode 100644 writerside/topics/License.md diff --git a/writerside/o.tree b/writerside/o.tree index a5ea91a..0437878 100644 --- a/writerside/o.tree +++ b/writerside/o.tree @@ -7,4 +7,5 @@ start-page="starter-topic.md"> + \ No newline at end of file diff --git a/writerside/topics/License.md b/writerside/topics/License.md new file mode 100644 index 0000000..4f4ff04 --- /dev/null +++ b/writerside/topics/License.md @@ -0,0 +1,9 @@ +# License + +Copyright (c) 2025 Orange++ + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/writerside/topics/starter-topic.md b/writerside/topics/starter-topic.md index e06fd7a..a27f517 100644 --- a/writerside/topics/starter-topic.md +++ b/writerside/topics/starter-topic.md @@ -8,3 +8,4 @@ Oranges's Math Library (omath) is a comprehensive, open-source library aimed at YouGame thread +ц \ No newline at end of file From 15463ba09cc12924e9d784261153a2fb70b25872 Mon Sep 17 00:00:00 2001 From: Orange Date: Wed, 2 Apr 2025 07:36:45 +0300 Subject: [PATCH 4/8] improved intro --- writerside/topics/starter-topic.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/writerside/topics/starter-topic.md b/writerside/topics/starter-topic.md index a27f517..623be01 100644 --- a/writerside/topics/starter-topic.md +++ b/writerside/topics/starter-topic.md @@ -2,10 +2,31 @@ Oranges's Math Library (omath) is a comprehensive, open-source library aimed at providing efficient, reliable, and versatile mathematical functions and algorithms. Developed primarily in C++, this library is designed to cater to a wide range of mathematical operations essential in scientific computing, engineering, and academic research. +## 👁‍🗨 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| +|--------|-------| +|Source |✅YES | +|Unity |✅YES | +|IWEngine|✅YES | +|Unreal |❌NO | + + +## 💘 Acknowledgments +We value each person that made pull request to this project! And YOU can become one of them! +- [All contributors](https://github.com/orange-cpp/omath/graphs/contributors) GitHub repository YouGame thread -ц \ No newline at end of file + From ac3266644b7d43cab2c97016ea8ca8134a463c99 Mon Sep 17 00:00:00 2001 From: Orange Date: Wed, 2 Apr 2025 07:38:11 +0300 Subject: [PATCH 5/8] fix --- writerside/topics/starter-topic.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/writerside/topics/starter-topic.md b/writerside/topics/starter-topic.md index 623be01..054411c 100644 --- a/writerside/topics/starter-topic.md +++ b/writerside/topics/starter-topic.md @@ -2,7 +2,7 @@ Oranges's Math Library (omath) is a comprehensive, open-source library aimed at providing efficient, reliable, and versatile mathematical functions and algorithms. Developed primarily in C++, this library is designed to cater to a wide range of mathematical operations essential in scientific computing, engineering, and academic research. -## 👁‍🗨 Features +## 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. @@ -20,7 +20,7 @@ Oranges's Math Library (omath) is a comprehensive, open-source library aimed at |Unreal |❌NO | -## 💘 Acknowledgments +## Acknowledgments We value each person that made pull request to this project! And YOU can become one of them! - [All contributors](https://github.com/orange-cpp/omath/graphs/contributors) From e95567c82c17f4f982a10d611512f0dbd4eedfac Mon Sep 17 00:00:00 2001 From: Orange Date: Wed, 2 Apr 2025 07:43:37 +0300 Subject: [PATCH 6/8] fix --- writerside/topics/starter-topic.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/writerside/topics/starter-topic.md b/writerside/topics/starter-topic.md index 054411c..4b755de 100644 --- a/writerside/topics/starter-topic.md +++ b/writerside/topics/starter-topic.md @@ -12,12 +12,12 @@ Oranges's Math Library (omath) is a comprehensive, open-source library aimed at - **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| -|--------|-------| -|Source |✅YES | -|Unity |✅YES | -|IWEngine|✅YES | -|Unreal |❌NO | +| ENGINE | SUPPORT | +|:--------:|:-------:| +| Source | ✅YES | +| Unity | ✅YES | +| IWEngine | ✅YES | +| Unreal | ❌NO | ## Acknowledgments From 77fcb6faa4367ec13946fac03c863d64e166c409 Mon Sep 17 00:00:00 2001 From: Orange Date: Wed, 2 Apr 2025 08:12:37 +0300 Subject: [PATCH 7/8] added text --- writerside/o.tree | 2 ++ writerside/topics/Community.md | 3 +++ writerside/topics/Documentation.md | 3 +++ 3 files changed, 8 insertions(+) create mode 100644 writerside/topics/Community.md create mode 100644 writerside/topics/Documentation.md diff --git a/writerside/o.tree b/writerside/o.tree index 0437878..19fe877 100644 --- a/writerside/o.tree +++ b/writerside/o.tree @@ -7,5 +7,7 @@ start-page="starter-topic.md"> + + \ No newline at end of file diff --git a/writerside/topics/Community.md b/writerside/topics/Community.md new file mode 100644 index 0000000..da45b23 --- /dev/null +++ b/writerside/topics/Community.md @@ -0,0 +1,3 @@ +# Community + +Start typing here... \ No newline at end of file diff --git a/writerside/topics/Documentation.md b/writerside/topics/Documentation.md new file mode 100644 index 0000000..ce9cb24 --- /dev/null +++ b/writerside/topics/Documentation.md @@ -0,0 +1,3 @@ +# Documentation + +Start typing here... \ No newline at end of file From 37e1ac7b88a2142deee02d4e6581709982ff2af1 Mon Sep 17 00:00:00 2001 From: Orange Date: Wed, 21 May 2025 16:57:17 +0300 Subject: [PATCH 8/8] fixed stuff --- writerside/o.tree | 1 + writerside/topics/Code-Of-Conduct.md | 95 ++++++++++++++++++++++++++++ writerside/topics/Community.md | 12 +++- writerside/topics/Documentation.md | 55 +++++++++++++++- writerside/topics/starter-topic.md | 69 +++++++++++++++----- 5 files changed, 211 insertions(+), 21 deletions(-) create mode 100644 writerside/topics/Code-Of-Conduct.md diff --git a/writerside/o.tree b/writerside/o.tree index 19fe877..df951e5 100644 --- a/writerside/o.tree +++ b/writerside/o.tree @@ -8,6 +8,7 @@ + \ No newline at end of file diff --git a/writerside/topics/Code-Of-Conduct.md b/writerside/topics/Code-Of-Conduct.md new file mode 100644 index 0000000..bf54248 --- /dev/null +++ b/writerside/topics/Code-Of-Conduct.md @@ -0,0 +1,95 @@ +# Code Of Conduct + +## 🎯 Goal + +My goal is to provide a space where it is safe for everyone to contribute to, +and get support for, open-source software in a respectful and cooperative +manner. + +I value all contributions and want to make this project and its +surrounding community a place for everyone. + +As members, contributors, and everyone else who may participate in the +development, I strive to keep the entire experience civil. + +## 📜 Standards + +Our community standards exist in order to make sure everyone feels comfortable +contributing to the project(s) together. + +Our standards are: +- Do not harass, attack, or in any other way discriminate against anyone, including + for their protected traits, including, but not limited to, sex, religion, race, + appearance, gender, identity, nationality, sexuality, etc. +- Do not go off-topic, do not post spam. +- Treat everyone with respect. + +Examples of breaking each rule respectively include: +- Harassment, bullying or inappropriate jokes about another person. +- Posting distasteful imagery, trolling, or posting things unrelated to the topic at hand. +- Treating someone as worse because of their lack of understanding of an issue. + +## ⚡ Enforcement + +Enforcement of this CoC is done by Orange++ and/or other core contributors. + +I, as the core developer, will strive my best to keep this community civil and +following the standards outlined above. + +### 🚩 Reporting incidents + +If you believe an incident of breaking these standards has occurred, but nobody has +taken appropriate action, you can privately contact the people responsible for dealing +with such incidents in multiple ways: + +***E-Mail*** +- `orange-cpp@yandex.ru` + +***Discord*** +- `@orange_cpp` + +***Telegram*** +- `@orange_cpp` + +I guarantee your privacy and will not share those reports with anyone. + +## ⚖️ Enforcement Strategy + +Depending on the severity of the infraction, any action from the list below may be applied. +Please keep in mind cases are reviewed on a per-case basis and members are the ultimate +deciding factor in the type of punishment. + +If the matter benefited from an outside opinion, a member might reach for more opinions +from people unrelated, however, the final decision regarding the action +to be taken is still up to the member. + +For example, if the matter at hand regards a representative of a marginalized group or minority, +the member might ask for a first-hand opinion from another representative of such group. + +### ✏️ Correction/Edit + +If your message is found to be misleading or poorly worded, a member might +edit your message. + +### ⚠️ Warning/Deletion + +If your message is found inappropriate, a member might give you a public or private warning, +and/or delete your message. + +### 🔇 Mute + +If your message is disruptive, or you have been repeatedly violating the standards, +a member might mute (or temporarily ban) you. + +### ⛔ Ban + +If your message is hateful, very disruptive, or other, less serious infractions are repeated +ignoring previous punishments, a member might ban you permanently. + +## 🔎 Scope + +This CoC shall apply to all projects ran under the Orange++ lead and all _official_ communities +outside of GitHub. + +However, it is worth noting that official communities outside of GitHub might have their own, +additional sets of rules. \ No newline at end of file diff --git a/writerside/topics/Community.md b/writerside/topics/Community.md index da45b23..4f18848 100644 --- a/writerside/topics/Community.md +++ b/writerside/topics/Community.md @@ -1,3 +1,11 @@ -# Community +# Credits -Start typing here... \ No newline at end of file +Thanks to everyone who made this possible, including: + +- Saikari aka luadebug for VCPKG port. + +And a big hand to everyone else who has contributed over the past! + +THANKS! <3 + + -- Orange++ \ No newline at end of file diff --git a/writerside/topics/Documentation.md b/writerside/topics/Documentation.md index ce9cb24..a99f4a2 100644 --- a/writerside/topics/Documentation.md +++ b/writerside/topics/Documentation.md @@ -1,3 +1,54 @@ -# Documentation +# 📥Installation Guide -Start typing here... \ No newline at end of file +## Using vcpkg +**Note**: Support vcpkg for package management +1. Install [vcpkg](https://github.com/microsoft/vcpkg) +2. Run the following command to install the orange-math package: +``` +vcpkg install orange-math +``` +CMakeLists.txt +```cmake +find_package(omath CONFIG REQUIRED) +target_link_libraries(main PRIVATE omath::omath) +``` +For detailed commands on installing different versions and more information, please refer to Microsoft's [official instructions](https://learn.microsoft.com/en-us/vcpkg/get_started/overview). + +## Build from source using CMake +1. **Preparation** + + Install needed tools: cmake, clang, git, msvc (windows only). + + 1. **Linux:** + ```bash + sudo pacman -Sy cmake ninja clang git + ``` + 2. **MacOS:** + ```bash + brew install llvm git cmake ninja + ``` + 3. **Windows:** + + Install Visual Studio from [here](https://visualstudio.microsoft.com/downloads/) and Git from [here](https://git-scm.com/downloads). + + Use x64 Native Tools shell to execute needed commands down below. +2. **Clone the repository:** + ```bash + git clone https://github.com/orange-cpp/omath.git + ``` +3. **Navigate to the project directory:** + ```bash + cd omath + ``` +4. **Build the project using CMake:** + ```bash + cmake --preset windows-release -S . + cmake --build cmake-build/build/windows-release --target omath -j 6 + ``` + Use **\-\** preset to build siutable version for yourself. Like **windows-release** or **linux-release**. + + | Platform Name | Build Config | + |---------------|---------------| + | windows | release/debug | + | linux | release/debug | + | darwin | release/debug | \ No newline at end of file diff --git a/writerside/topics/starter-topic.md b/writerside/topics/starter-topic.md index 4b755de..878557f 100644 --- a/writerside/topics/starter-topic.md +++ b/writerside/topics/starter-topic.md @@ -1,8 +1,10 @@ -# Introduction +# Intro + +![banner](https://i.imgur.com/SM9ccP6.png) Oranges's Math Library (omath) is a comprehensive, open-source library aimed at providing efficient, reliable, and versatile mathematical functions and algorithms. Developed primarily in C++, this library is designed to cater to a wide range of mathematical operations essential in scientific computing, engineering, and academic research. -## Features +## 👁‍🗨 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. @@ -12,21 +14,54 @@ Oranges's Math Library (omath) is a comprehensive, open-source library aimed at - **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 | -|:--------:|:-------:| -| Source | ✅YES | -| Unity | ✅YES | -| IWEngine | ✅YES | -| Unreal | ❌NO | +## Supported Render Pipelines +| ENGINE | SUPPORT | +|----------|---------| +| Source | ✅YES | +| Unity | ✅YES | +| IWEngine | ✅YES | +| Unreal | ❌NO | + +## Supported Operating Systems + +| OS | SUPPORT | +|----------------|---------| +| Windows 10/11 | ✅YES | +| Linux | ✅YES | +| Darwin (MacOS) | ✅YES | + +## ⏬ Installation +Please read our [installation guide](https://github.com/orange-cpp/omath/blob/main/INSTALL.md). If this link doesn't work check out INSTALL.md file. + +## ❔ Usage +Simple world to screen function +```c++ +TEST(UnitTestProjection, IsPointOnScreen) +{ + const omath::projection::Camera camera({0.f, 0.f, 0.f}, {0, 0.f, 0.f} , {1920.f, 1080.f}, 110.f, 0.1f, 500.f); + + const auto proj = camera.WorldToScreen({100, 0, 15}); + EXPECT_TRUE(proj.has_value()); +} +``` +## Showcase + +With `omath/projection` module you can achieve simple ESP hack for powered by Source/Unreal/Unity engine games, like [Apex Legends](https://store.steampowered.com/app/1172470/Apex_Legends/). + +![banner](https://i.imgur.com/lcJrfcZ.png) +Or for InfinityWard Engine based games. Like Call of Duty Black Ops 2! +![banner](https://i.imgur.com/F8dmdoo.png) +Or create simple trigger bot with embeded traceline from omath::collision::LineTrace +![banner](https://i.imgur.com/fxMjRKo.jpeg) +Or even advanced projectile aimbot +[Watch Video](https://youtu.be/lM_NJ1yCunw?si=5E87OrQMeypxSJ3E) -## Acknowledgments -We value each person that made pull request to this project! And YOU can become one of them! +## 🫵🏻 Contributing +Contributions to `omath` are welcome! Please read `CONTRIBUTING.md` for details on our code of conduct and the process for submitting pull requests. + +## 📜 License +This project is licensed under the MIT - see the `LICENSE` file for details. + +## 💘 Acknowledgments - [All contributors](https://github.com/orange-cpp/omath/graphs/contributors) - - - GitHub repository - YouGame thread - - -