From 0606ca300807b0090b51a2de3ccd6ecb058b8a12 Mon Sep 17 00:00:00 2001 From: Rebekah Rowe Date: Tue, 13 Feb 2024 10:47:58 -0500 Subject: [PATCH] Initial Client Implimented in GUI. The code is implimented in this commit and is launchable with the BUILD_CLIENT compile option. Everything should be launchable by running the one function within src/nyqubel-client/client.hpp: start_nyqubel_client() --- .gitmodules | 11 + CMake/AddDependencies.cmake | 24 + CMakeLists.txt | 3 +- client-resources/logo.png | Bin 0 -> 56734 bytes client-resources/logo.xcf | Bin 0 -> 204920 bytes client-resources/opensans.ttf | Bin 0 -> 224592 bytes lib/libglez | 1 + lib/libhydride | 1 + lib/libpdw | 1 + src/CMakeLists.txt | 1 + src/Root.cpp | 10 +- src/nyqubel-client/CMakeLists.txt | 14 + src/nyqubel-client/client.cpp | 953 +++++++++++++++++++++++++++ src/nyqubel-client/client.hpp | 4 + src/nyqubel-client/util/geometry.cpp | 88 +++ src/nyqubel-client/util/geometry.hpp | 475 +++++++++++++ 16 files changed, 1584 insertions(+), 2 deletions(-) create mode 100644 client-resources/logo.png create mode 100644 client-resources/logo.xcf create mode 100644 client-resources/opensans.ttf create mode 160000 lib/libglez create mode 160000 lib/libhydride create mode 160000 lib/libpdw create mode 100644 src/nyqubel-client/CMakeLists.txt create mode 100644 src/nyqubel-client/client.cpp create mode 100644 src/nyqubel-client/client.hpp create mode 100644 src/nyqubel-client/util/geometry.cpp create mode 100644 src/nyqubel-client/util/geometry.hpp diff --git a/.gitmodules b/.gitmodules index 73bae7338..8a0787edd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -65,3 +65,14 @@ [submodule "lib/libdeflate"] path = lib/libdeflate url = https://github.com/cuberite/libdeflate +[submodule "lib/libpdw"] + path = lib/libpdw + url = https://github.com/oneechanhax/libpdw + branch = async +[submodule "lib/libglez"] + path = lib/libglez + url = https://github.com/oneechanhax/libglez + branch = rainbow +[submodule "lib/libhydride"] + path = lib/libhydride + url = https://github.com/oneechanhax/libhydride diff --git a/CMake/AddDependencies.cmake b/CMake/AddDependencies.cmake index 29a2b74f5..d8e1b17fb 100644 --- a/CMake/AddDependencies.cmake +++ b/CMake/AddDependencies.cmake @@ -31,6 +31,9 @@ function(build_dependencies) # Enumerate all submodule libraries # SQLiteCpp needs to be included before sqlite so the lsqlite target is available: set(DEPENDENCIES expat fmt jsoncpp libdeflate libevent mbedtls SQLiteCpp) + if (BUILD_CLIENT) + set(DEPENDENCIES ${DEPENDENCIES} libglez libhydride libpdw) + endif() foreach(DEPENDENCY ${DEPENDENCIES}) # Check that the libraries are present: if (NOT EXISTS "${PROJECT_SOURCE_DIR}/lib/${DEPENDENCY}/CMakeLists.txt") @@ -42,6 +45,7 @@ function(build_dependencies) # (mbedTLS also has test and example programs in their CMakeLists.txt, we don't want those): add_subdirectory("lib/${DEPENDENCY}" EXCLUDE_FROM_ALL) endforeach() + endfunction() function(link_dependencies TARGET) @@ -80,4 +84,24 @@ function(link_dependencies TARGET) if(${CMAKE_SYSTEM_NAME} MATCHES FreeBSD) target_link_libraries(${TARGET} PRIVATE kvm) endif() + + if(BUILD_CLIENT) + set(OpenGL_GL_PREFERENCE "GLVND") + find_package(PNG REQUIRED) # We need to link all this again since we prebuilt them staticly + find_package(GLEW REQUIRED) + find_package(OpenGL REQUIRED) + find_package(X11 REQUIRED) + find_package(Freetype REQUIRED) + + target_include_directories( + ${TARGET} SYSTEM PRIVATE + lib/libpdw/include + ) + + target_link_libraries(${TARGET} PRIVATE + libpdw + hydride + glez + ${PNG_LIBRARIES} GL GLU GLEW ${FREETYPE_LIBRARIES} ${X11_X11_LIB} ${X11_Xext_LIB} ${X11_Xfixes_LIB}) + endif() endfunction() diff --git a/CMakeLists.txt b/CMakeLists.txt index 1dca78260..37579baea 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# This is the top-level CMakeLists.txt file for the Cuberite project + # # Use CMake to generate the build files for your platform @@ -11,6 +11,7 @@ project( LANGUAGES C CXX ) +option(BUILD_CLIENT "Sets up the build to create a client rather than a server. This is in tesing and will result in a hybrid server/client setup." OFF) option(BUILD_TOOLS "Sets up additional executables to be built along with the server" OFF) option(BUILD_UNSTABLE_TOOLS "Sets up yet more executables to be built, these can be broken and generally are obsolete" OFF) option(NO_NATIVE_OPTIMIZATION "Disables CPU-specific optimisations for the current machine, allows use on other CPUs of the same platform" OFF) diff --git a/client-resources/logo.png b/client-resources/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f315e862e7d0a6d809990ce03e179c1c8cb97e69 GIT binary patch literal 56734 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 I>ehGu4}Y^1 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 rtxDO6f~pB literal 0 HcmV?d00001 diff --git a/client-resources/opensans.ttf b/client-resources/opensans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fd79d43bea0293ac1b20e8aca1142627983d2c07 GIT binary patch literal 224592 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 literal 0 HcmV?d00001 diff --git a/lib/libglez b/lib/libglez new file mode 160000 index 000000000..221db8e97 --- /dev/null +++ b/lib/libglez @@ -0,0 +1 @@ +Subproject commit 221db8e9721510449e7f14a644410b8c7aead09c diff --git a/lib/libhydride b/lib/libhydride new file mode 160000 index 000000000..30659e187 --- /dev/null +++ b/lib/libhydride @@ -0,0 +1 @@ +Subproject commit 30659e1877f036b090bafc1a1e76170b88ab9fda diff --git a/lib/libpdw b/lib/libpdw new file mode 160000 index 000000000..9cbc0a088 --- /dev/null +++ b/lib/libpdw @@ -0,0 +1 @@ +Subproject commit 9cbc0a088d5e65a498c4ddab2beeb8643a76a865 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5a882d940..ec85df253 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -152,6 +152,7 @@ set(FOLDERS Generating HTTP Items mbedTLS++ Mobs Noise OSSupport Physics Protocol Registries Simulator Simulator/IncrementalRedstoneSimulator UI WorldStorage + nyqubel-client ) # Add all child source directories: diff --git a/src/Root.cpp b/src/Root.cpp index 3d072a339..f4a3999b7 100644 --- a/src/Root.cpp +++ b/src/Root.cpp @@ -67,7 +67,9 @@ #include "Logger.h" #include "ClientHandle.h" - +#ifdef NYQUBEL_CLIENT +#include "nyqubel-client/client.hpp" +#endif @@ -145,6 +147,12 @@ bool cRoot::Run(cSettingsRepositoryInterface & a_OverridesRepo) LoadGlobalSettings(); +#ifdef NYQUBEL_CLIENT + start_nyqubel_client(); + + return s_NextState == NextState::Restart; +#endif + LOG("Creating new server instance..."); m_Server = new cServer(); diff --git a/src/nyqubel-client/CMakeLists.txt b/src/nyqubel-client/CMakeLists.txt new file mode 100644 index 000000000..82b058a38 --- /dev/null +++ b/src/nyqubel-client/CMakeLists.txt @@ -0,0 +1,14 @@ +if(BUILD_CLIENT) + + target_sources( + ${CMAKE_PROJECT_NAME} PRIVATE + client.cpp + client.hpp + + util/geometry.cpp + util/geometry.hpp + ) + + target_compile_definitions(${CMAKE_PROJECT_NAME} PUBLIC "-DNYQUBEL_CLIENT=1") + +endif() diff --git a/src/nyqubel-client/client.cpp b/src/nyqubel-client/client.cpp new file mode 100644 index 000000000..e9fa49a63 --- /dev/null +++ b/src/nyqubel-client/client.cpp @@ -0,0 +1,953 @@ + +/* + * Libpdw: Primitives Done Well! + * Copyright (C) 2022 Rebekah Rowe + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include + +#include + +// xorg conflict +#undef RootWindow + +#include "libpdw/gui/widgets/slider.hpp" +#include "libpdw/gui/widgets/titlebar.hpp" +#include "libpdw/gui/canvas.hpp" +#include "libpdw/gui/widgets/basebutton.hpp" +#include "libpdw/gui/widgets/basewindow.hpp" +#include "libpdw/gui/widgets/checkbox.hpp" +#include "libpdw/gui/widgets/dropdown.hpp" + +#include "libpdw/gui/ncc/logo.hpp" + +namespace x11 { + +using RawKey = decltype(XK_2); +constexpr std::pair key_dict[] = { { "0", XK_0 }, { "1", XK_1 }, { "2", XK_2 }, + { "3", XK_3 }, { "4", XK_4 }, { "5", XK_5 }, + { "6", XK_6 }, { "7", XK_7 }, { "8", XK_8 }, + { "9", XK_9 }, { "a", XK_A }, { "b", XK_B }, + { "c", XK_C }, { "d", XK_D }, { "e", XK_E }, + { "f", XK_F }, { "g", XK_G }, { "h", XK_H }, + { "i", XK_I }, { "j", XK_J }, { "k", XK_K }, + { "l", XK_L }, { "m", XK_M }, { "n", XK_N }, + { "o", XK_O }, { "p", XK_P }, { "q", XK_Q }, + { "r", XK_R }, { "s", XK_S }, { "t", XK_T }, + { "u", XK_U }, { "v", XK_V }, { "w", XK_W }, + { "x", XK_X }, { "y", XK_Y }, { "z", XK_Z }, + + { "escape", XK_Escape }, { "{", XK_bracketleft }, + { "}", XK_bracketright }, { ";", XK_semicolon }, + { "'", XK_apostrophe }, { ",", XK_apostrophe }, + { ".", XK_period }, { "/", XK_slash }, + { "\\", XK_backslash }, { "minus", XK_minus }, + { "=", XK_equal }, { "return", XK_Return }, + { "space", XK_space }, { "backspace", XK_BackSpace }, + { "tab", XK_Tab }, { "capslock", XK_Caps_Lock }, + + { "insert", XK_Insert }, + { "delete", XK_Delete }, + { "home", XK_Home }, { "end", XK_End }, + { "pageup", XK_Page_Up }, { "pagedown", XK_Page_Down }, + + { "shift_r", XK_Shift_L }, { "shift_r", XK_Shift_R }, + { "alt_l", XK_Alt_L }, { "alt_r", XK_Alt_R }, + { "control_l", XK_Control_L }, { "control_l", XK_Control_R }, + + { "0_pad", XK_KP_0 }, { "1_pad", XK_KP_1 }, { "2_pad", XK_KP_2 }, + { "3_pad", XK_KP_3 }, { "4_pad", XK_KP_4 }, { "5_pad", XK_KP_5 }, + { "6_pad", XK_KP_6 }, { "7_pad", XK_KP_7 }, { "8_pad", XK_KP_8 }, + { "9_pad", XK_KP_9 }, + + { "/_pad", XK_KP_Divide }, { "*_pad", XK_KP_Multiply }, + { "-_pad", XK_KP_Subtract }, { "+_pad", XK_KP_Add }, + { "enter_pad", XK_KP_Enter }, { "._pad", XK_KP_Decimal }, + + { "up", XK_Up }, { "left", XK_Left }, + { "down", XK_Down }, { "right", XK_Right }, + + { "f1", XK_F1 }, { "f2", XK_F2 }, { "f3", XK_F3 }, + { "f4", XK_F4 }, { "f5", XK_F5 }, { "f6", XK_F6 }, + { "f7", XK_F7 }, { "f8", XK_F8 }, { "f9", XK_F9 }, + { "f10", XK_F10 }, { "f11", XK_F11 }, { "f12", XK_F12 }, + + //{ "mouse_1", XK_Pointer_DfltBtnPrev }, + //{ "mouse_2", XK_Pointer_DfltBtnNext } + { "mouse_wheel_up", XK_Pointer_DfltBtnPrev }, + { "mouse_wheel_down", XK_Pointer_DfltBtnNext } }; +constexpr auto key_dict_size = []() { + std::size_t ret = 0; + for (auto i : key_dict) + ret++; + return ret; +}(); +std::pair, std::bitset<3>> QueryPointer(decltype(hydride_library.display) dis, decltype(hydride_library.window) win) { + Window root_return, child_return; + std::pair mouse, root; + unsigned int mask_return; + if (!XQueryPointer(hydride_library.display, hydride_library.window, &root_return, &child_return, &root.first, &root.second, &mouse.first, &mouse.second, &mask_return)) + throw std::runtime_error("Unable to query pointer from X11"); + + std::bitset<3> ret_buttons; + ret_buttons[0] = (mask_return & (Button1Mask)); + ret_buttons[1] = (mask_return & (Button2Mask)); + ret_buttons[2] = (mask_return & (Button3Mask)); + return { mouse, ret_buttons }; +} + +using Keymap = std::array; +bool PickFromKeymap(decltype(hydride_library.display) dis, Keymap map, decltype(XK_2) k) { + int current_key = XKeysymToKeycode(dis, k); + return (map[current_key / 8] & (1 << (current_key % 8))); +} +Keymap QueryKeymap(decltype(hydride_library.display) dis) { + Keymap keys; + XQueryKeymap(dis, keys.data()); + return keys; +} +bool QueryKey(decltype(hydride_library.display) dis, decltype(XK_2) k) { + auto map = QueryKeymap(dis); + return PickFromKeymap(dis, map, k); +} + +template +class ChangeDetector { // generate async from sync + std::pair previous_mouse { -1, -1 }; + std::pair previous_bounds { -1, -1 }; + std::bitset previous_states; + +public: + ChangeDetector() { + this->previous_states.reset(); + } + bool UpdateKey(std::size_t k, bool state) { + if (state == previous_states[k]) // Just to prevent issues, idk if we need this at runtime ;-; + return false; + previous_states.set(k, state); + return true; + } + decltype(previous_mouse) UpdateMouse(const decltype(previous_mouse)& state) { + if (state == previous_mouse) // Just to prevent issues, idk if we need this at runtime ;-; + return { 0, 0 }; + + decltype(previous_mouse) delta = { state.first - previous_mouse.first, state.second - previous_mouse.second }; + previous_mouse = state; + return delta; + } + decltype(previous_bounds) UpdateBounds(const decltype(previous_bounds)& state) { + if (state == previous_bounds) // Just to prevent issues, idk if we need this at runtime ;-; + return { 0, 0 }; + + decltype(previous_bounds) delta = { state.first - previous_bounds.first, state.second - previous_bounds.second }; + previous_bounds = state; + return delta; + } +}; + +class X11Poller { + ChangeDetector async_gen; + decltype(hydride_library.display) display; + decltype(hydride_library.window) window; + +public: + X11Poller(decltype(hydride_library.display) display, decltype(hydride_library.window) window) + : display(display) + , window(window) { + UpdateKeys(); + UpdateMouse(); + } + std::vector> UpdateKeys() { + auto km = QueryKeymap(display); + + std::vector> ret; + for (std::size_t i = 0; i < key_dict_size; i++) { + bool key_state = PickFromKeymap(display, km, key_dict[i].second); + if (async_gen.UpdateKey(i, key_state)) + ret.push_back({ key_dict[i].first, key_state }); + } + return ret; + } + std::tuple, std::pair, std::bitset<3>> UpdateMouse() { + auto pointer_info = QueryPointer(this->display, this->window); + + auto delta = async_gen.UpdateMouse(pointer_info.first); + return { pointer_info.first, delta, pointer_info.second }; + } +}; + +} // namespace x11 + +#include "util/geometry.hpp" + +namespace qubel { + +enum VoxelTypes { + kAir, + kStone, + kDirt, + kSand, + kGrass +}; + +enum CardinalDirections { + kNorth, + kSouth, + kEast, + kWest // , + /*kUp, + kDown*/ +}; + +class Chunk { +public: + // "typedefs" or templates go here lol + static constexpr uint _dim_length = 2; // its in 2d! + static constexpr uint _size_in_power = 16; // 8x8 size + static constexpr std::size_t _chunk_array_size = _size_in_power * _size_in_power; + + using BlockType = uint8_t; + // Using a single digit to locate the exact voxel's byte in the chunk, for very fast use. + using ChunkDataType = std::array; + using ChunkVecType = geo::internal::BVec2; + ChunkDataType raw_chunk_data = { + kStone, + kStone, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kStone, + kStone, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kGrass, + kGrass, + kGrass, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kGrass, + kDirt, + kDirt, + kDirt, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kGrass, + kGrass, + kDirt, + kDirt, + kDirt, + kDirt, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kSand, + kSand, + kDirt, + kDirt, + kDirt, + kStone, + kStone, + kStone, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kSand, + kSand, + kDirt, + kDirt, + kStone, + kStone, + kStone, + kStone, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kSand, + kAir, + kSand, + kAir, + kSand, + kAir, + kAir, + kAir, + kSand, + kAir, + kSand, + kAir, + kSand, + kAir, + kAir, + kAir, + kSand, + kAir, + kSand, + kAir, + kSand, + kAir, + kSand, + kAir, + kSand, + kAir, + kSand, + kAir, + kSand, + kAir, + kAir, + kAir, + kSand, + kAir, + kSand, + kAir, + kAir, + kSand, + kAir, + kSand, + kAir, + kAir, + kSand, + kAir, + kSand, + kAir, + kAir, + kAir, + kAir, + kSand, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kSand, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kAir, + kStone, + }; + class LocalVoxel { + public: + std::size_t pos; // yes a single integer, x y and z can all exist due to the way chunking keeps it localized and x + (z * 64) means the values co-exist. + // LocalVoxel(geo::internal::BVec2 raw_chunk_pos) + //: pos(raw_chunk_pos) { } + static LocalVoxel GetVoxelFromPosInChunk(geo::internal::BVec2 in_pos) { // basicly your 2d/3d position to a index, make sure ur in the chunk! lol + assert(in_pos.x < _size_in_power && in_pos.y < _size_in_power); + LocalVoxel index; + index.pos = 0; + return index.AddPos(in_pos); + } + LocalVoxel& AddPos(geo::internal::BVec2 in_pos) { + this->pos += in_pos.x; + this->pos += in_pos.y * _size_in_power; + // if constexpr (_dim_length >= 3) // We gotta move these to a seperate class all-together... do this once the templates are split. + // index.pos += in_pos.z * (_size_in_power * _size_in_power); + return *this; + } + ChunkVecType ExtractVec() { + ChunkVecType ret_pos; + ret_pos.x = this->pos % _size_in_power; + ret_pos.y = (this->pos / _size_in_power) % _size_in_power; + // ret_pos.z = ((this->pos / _size_in_power) / _size_in_power) % _size_in_power; + return ret_pos; + } + // tmp, TODO replace/add with chunk pointer or chunk x and y... both??? oof if so + // need good way to keep the handle associated. + // Local HANDLES AND "standard voxel"/global voxel in other words one for chunk and one inheriting with the extra details? ah genious! + }; + static LocalVoxel GetVoxelFromPosInChunk(geo::internal::BVec2 in_pos) { + return LocalVoxel::GetVoxelFromPosInChunk(in_pos); + } + BlockType GetVoxelType(LocalVoxel v) { + return raw_chunk_data[v.pos]; + } + class AxisIterator { + public: + bool end_flagged = false; + ChunkVecType cur; + using VecMaskType = glm::bvec2; + const VecMaskType mask, reverse_mask; // stick it in reverse spongebob! + constexpr AxisIterator(const ChunkVecType& src, glm::bvec2 mask, glm::bvec2 reverse_mask = { false, false }) + : cur(src) + , mask(mask) + , reverse_mask(reverse_mask) { } + AxisIterator& operator++(int) { + // new_iter.cur.AddPos(this->GetPosToAdd()); we cant do this cause we have to test it ;-; + this->cur += this->GetPosToAdd(); + if (!IsPosValidWithinChunk(this->cur)) + this->end_flagged = true; + return *this; + } + bool operator==(const AxisIterator& other) const { + if (other.end_flagged) + return this->end_flagged; + + return other.cur == this->cur && other.mask == this->mask && other.reverse_mask == this->reverse_mask; + } + bool operator!=(const AxisIterator& other) const { + return !(*this == other); + } + static constexpr AxisIterator end() { + AxisIterator ret({}, {}); + ret.end_flagged = true; + return ret; + } + ChunkVecType GetPosToAdd() const { + ChunkVecType pos_to_add = { 0, 0 }; + if (mask.x) + pos_to_add.x = 1; + if (mask.y) + pos_to_add.y = 1; + if (reverse_mask.x && pos_to_add.x) + pos_to_add.x = -pos_to_add.x; + if (reverse_mask.y && pos_to_add.y) + pos_to_add.y = -pos_to_add.y; + return pos_to_add; + } + static constexpr auto CreateCardinalMask(const CardinalDirections dir) { + VecMaskType mask = { false, false }, reverse_mask = { false, false }; + switch (dir) { + case CardinalDirections::kNorth: + reverse_mask.y = true; + case CardinalDirections::kSouth: + mask.y = true; + break; + case CardinalDirections::kWest: + reverse_mask.x = true; + case CardinalDirections::kEast: + mask.x = true; + break; + default: + throw std::logic_error("Trying to access a cardinal Direction that does not work!"); + } + return std::make_pair(mask, reverse_mask); + } + }; + enum MesherComplexity { + kPlain, + kNieve, + kGreedy, // Just expand same type faces + kIntrinsicGreedy, // Using bitwise operations :O + kGlobalLattice // literally Impossible to recreate, meshing everything INCLUDING air, and rendering it straight up in shader + }; + static constexpr float box_size = 25.0f; + // glez::vertex not verbose enough for us sadly... + struct ChunkMeshedQuad { + geo::Box quad; + glez::rgba clr; + }; + static constexpr glez::rgba chunk_textures[] = { + glez::rgba(0, 0, 0, 0), + glez::rgba(40, 40, 40), + glez::rgba(120, 40, 40), + glez::color::yellow, + glez::color::green + }; + std::vector MeshChunk(MesherComplexity cmplxity) { + std::vector finished_quads; + std::cout << "Start Meshing: "; + auto start_time = std::chrono::high_resolution_clock::now(); + switch (cmplxity) { + case MesherComplexity::kNieve: // I dont think this is possible in 2d for the time being... + case MesherComplexity::kPlain: { + std::cout << "Plain" << std::endl; + for (uint dim_x = 0; dim_x < _size_in_power; dim_x++) { + for (uint dim_y = 0; dim_y < _size_in_power; dim_y++) { + LocalVoxel cube = GetVoxelFromPosInChunk({ dim_x, dim_y }); + auto type = this->GetVoxelType(cube); + if (type == VoxelTypes::kAir) + continue; + ChunkMeshedQuad new_face; + auto start = geo::Vec2(dim_x * box_size, dim_y * box_size); + // auto end = /*start +*/ geo::Vec2(box_size, box_size); + auto size = /*start +*/ geo::Vec2(box_size, box_size); + new_face.quad = geo::Box(start, size); + new_face.clr = chunk_textures[type]; + + finished_quads.push_back(new_face); + std::cout << " *Added quad! : {" << start.x << ", " << start.y << "} with size {" << size.x << ", " << size.y << "}" << std::endl; + } + } + std::cout << "Plain "; + break; + } + /*case MesherComplexity::kNieve: { + + } */ + case MesherComplexity::kGreedy: { + std::cout << "Greedy" << std::endl; + std::bitset<_chunk_array_size> chunk_finished_checksum; + auto FindOpenSpace = [&]() -> std::pair> { + for (std::size_t x = 0; x < _size_in_power; x++) { + for (std::size_t y = 0; y < _size_in_power; y++) { + auto vox = this->GetVoxelFromPosInChunk({ x, y }); + if (!chunk_finished_checksum[vox.pos]) + return { vox.pos, chunk_finished_checksum[vox.pos] }; + } + } + return { std::size_t(-1), {} }; + }; + while (!chunk_finished_checksum.all()) { + auto unmeshed_face = FindOpenSpace(); + if (!unmeshed_face.second.has_value()) + throw std::logic_error("Greedy ChunkMesher checksum thinks there is a unmeshed chunk but unable to find it!"); + + LocalVoxel cube; + cube.pos = unmeshed_face.first; + auto type = this->GetVoxelType(cube); + if (type == VoxelTypes::kAir) { + chunk_finished_checksum[cube.pos] = true; + continue; + } + { + auto ext_cube = cube.ExtractVec(); + std::cout << "Greedy found Seed block \"" << (int)type << "\": {" << (int)ext_cube.x << ", " << (int)ext_cube.y << "}" << std::endl; + } + + ChunkVecType block_quad_size = { 1, 1 }; + auto src_block_loc = cube.ExtractVec(); + + // Need a better "search line down" func... instead of one block we need to check multiple and return how many are the same. + constexpr auto south_dir_mask = AxisIterator::CreateCardinalMask(CardinalDirections::kSouth); + auto SearchLineSouthForSameTypes = [&](ChunkVecType src_line, std::uint8_t max_size = _size_in_power) -> std::uint8_t { + std::size_t alike_counter = 0; + const auto end = AxisIterator::end(); + for (auto axis_crawl = AxisIterator(src_line, south_dir_mask.first, south_dir_mask.second); axis_crawl != end; axis_crawl++) { + LocalVoxel block_to_check = GetVoxelFromPosInChunk(axis_crawl.cur); + auto below_block_type = this->GetVoxelType(block_to_check); + if (below_block_type != type) + break; + if (chunk_finished_checksum[block_to_check.pos]) + break; + alike_counter++; + if (alike_counter >= max_size) + break; + } + return alike_counter; + }; + auto same_blocks_south_count = SearchLineSouthForSameTypes(src_block_loc); + assert(same_blocks_south_count); + block_quad_size.y = same_blocks_south_count; + + std::cout << " Found blocks going south: " << (int)block_quad_size.y << std::endl; + + auto SearchLineEastForSameTypes = [&]() -> std::uint8_t { + std::size_t alike_counter = 1; + const auto end = AxisIterator::end(); + constexpr auto east_dir_mask = AxisIterator::CreateCardinalMask(CardinalDirections::kEast); + auto side_axis_crawl = AxisIterator(src_block_loc, east_dir_mask.first, east_dir_mask.second); + side_axis_crawl++; // starting one ahead + // if (side_axis_crawl != end) { + std::cout << " Searching More East!!" << std::endl; + for (; side_axis_crawl != end; side_axis_crawl++) { + LocalVoxel side_block_to_check = GetVoxelFromPosInChunk(side_axis_crawl.cur); + auto below_block_type = this->GetVoxelType(side_block_to_check); + if (below_block_type != type) + break; + + // here we go again, dip down to this max length + auto additional_same_blocks_south_count = SearchLineSouthForSameTypes(side_axis_crawl.cur, same_blocks_south_count); + assert(additional_same_blocks_south_count <= same_blocks_south_count); + if (additional_same_blocks_south_count < same_blocks_south_count) + break; + alike_counter++; + } + //} + return alike_counter; + }; + if (src_block_loc.x + 1 < _size_in_power) { // only if we have room to check! + auto same_blocks_east_count = SearchLineEastForSameTypes(); + block_quad_size.x = same_blocks_east_count; + std::cout << " Found blocks going east: " << (int)block_quad_size.x << std::endl; + } + + ChunkMeshedQuad new_face; + auto start = geo::Vec2(src_block_loc.x * box_size, src_block_loc.y * box_size); + auto size = geo::Vec2(block_quad_size.x * box_size, block_quad_size.y * box_size); + + new_face.quad = geo::Box(start, size); + new_face.clr = chunk_textures[type]; + std::cout << " *Added quad! : {" << start.x << ", " << start.y << "} with size {" << size.x << ", " << size.y << "}" << std::endl; + finished_quads.push_back(new_face); + + auto MarkAreaFinished = [&](ChunkVecType origin, ChunkVecType size) { + assert(size.x && size.y); + for (std::size_t x = 0; x < size.x; x++) { + for (std::size_t y = 0; y < size.y; y++) { + auto block_to_clear = origin + ChunkVecType(x, y); + std::cout << " ------Marking Block Finished: {" << (int)block_to_clear.x << ", " << (int)block_to_clear.y << "}" << std::endl; + chunk_finished_checksum[this->GetVoxelFromPosInChunk(block_to_clear).pos] = true; + } + } + }; + MarkAreaFinished(src_block_loc, block_quad_size); + // mark it off of the chunk_finished_checksum by setting the chunk_finished_checksum[i] to 1 + } + std::cout << "Greedy "; + break; + } + default: + // Do nothing, no fail just no-op any mesher un-implimented. + break; + }; + auto end_time = std::chrono::high_resolution_clock::now(); // Calculate duration and convert to milliseconds + auto duration = std::chrono::duration_cast(end_time - start_time).count(); + std::cout << "Meshing Finished!!! QuadCount: " << (int)finished_quads.size() << ", Within: " << duration << " microseconds" << std::endl; + + return finished_quads; + } + static bool IsPosValidWithinChunk(ChunkVecType voxel_loc) { + if (voxel_loc.x >= _size_in_power) + return false; + if (voxel_loc.y >= _size_in_power) + return false; + return true; + } +}; + +} // namespace qubel + +class QubelMeshingTestWindow : public CBaseWindow { +public: + CCheckbox* activate; + CCheckbox* wireframe; + CDropdown* dropdown; + QubelMeshingTestWindow(IWidget* parent) + : CBaseWindow(parent, "qubelmesh_test_settings") { + this->always_visible = false; + this->hover = false; + this->SetMaxSize(1270, 1000); + this->SetPositionMode(PositionMode::FLOATING); + + this->Add("~SimpleQubelMeshingTester~"); + + this->Add("activate_label", "Activate Viewing:"); + activate = this->Add("activate", false); + + this->Add("spread_label", "VoxelSpread:"); + this->Add("spread")->SetStep(0.1f); + + this->Add("wireframe_label", "Wireframe Mesh:"); + wireframe = this->Add("wireframe", true); + + this->Add("wanted_mesher_label", "Meshing Algorithm:"); + dropdown = this->Add("wanted_mesher"); + dropdown->AddValue("NoFaceOcclusion, Plain"); + dropdown->AddValue("Nieve"); + dropdown->AddValue("Greedy"); // Just expand same type faces + dropdown->AddValue("Intrinsic Greedy"); // Using bitwise operations :O + dropdown->AddValue("Global Lattice"); // literally Impossible to recreate, meshing everything INCLUDING air, and rendering it straight up in shader + dropdown->SetSize(150, 16); + dropdown->SetValue(2); + + this->Add("binary_meshing_label", "Binary Meshing(ignore types):"); + this->Add("binary_meshing", false); + } +}; + +using namespace qubel; +class QubelMeshingTestRenderingWindow : public CBaseWindow { +public: + const CTitleBar* titlebar; + const QubelMeshingTestWindow* settings; + Chunk world_slice; + + class ChunkRenderer : public CBaseWidget { + public: + Chunk* world_slice; + QubelMeshingTestWindow* settings; + ChunkRenderer(IWidget* parent, QubelMeshingTestWindow* settings, Chunk* world_slice) + : CBaseWidget("qubelmesh_test_renderer_sceneoutput", parent) + , settings(settings) + , world_slice(world_slice) { + assert(settings && world_slice); + settings->dropdown->SetCallback([&](CDropdown*, int value) { + current_render_quads.clear(); + }); + } + std::vector current_render_quads; + virtual void Draw(ICanvas* the_drawing_machine) override { + this->CBaseWidget::Draw(the_drawing_machine); + const auto ConvertGLMVecToSTDPairVec = [](const geo::Vec2& vec_in) -> std::pair { + return std::pair(vec_in.x, vec_in.y); + }; + const auto ConvertGLMQuadToSTDPairQuad = [&](const geo::Box& box_in) -> Canvas::TranslationMatrix { + return Canvas::TranslationMatrix(ConvertGLMVecToSTDPairVec(box_in.origin), ConvertGLMVecToSTDPairVec(box_in.GetSize())); + }; + for (const Chunk::ChunkMeshedQuad& kinda_a_vert : current_render_quads) + the_drawing_machine->Rect(ConvertGLMQuadToSTDPairQuad(kinda_a_vert.quad), kinda_a_vert.clr); + if (this->settings->wireframe->Value()) { + for (const Chunk::ChunkMeshedQuad& kinda_a_vert : current_render_quads) { + the_drawing_machine->Rect({ ConvertGLMQuadToSTDPairQuad(kinda_a_vert.quad) }, glez::color::black, Canvas::RectType::Outline); + the_drawing_machine->Line({ ConvertGLMQuadToSTDPairQuad(kinda_a_vert.quad) }, glez::color::black); + } + } + } + virtual void Update() override { + this->CBaseWidget::Update(); + if (current_render_quads.empty()) { + current_render_quads = world_slice->MeshChunk(Chunk::MesherComplexity(settings->dropdown->Value())); + + std::pair found_size; + for (const Chunk::ChunkMeshedQuad& kinda_a_vert : current_render_quads) { + auto max_coord = kinda_a_vert.quad.GetMax(); + if (max_coord.x > found_size.first) + found_size.first = max_coord.x; + if (max_coord.y > found_size.second) + found_size.second = max_coord.y; + } + std::cout << "Created mesh with pixel size: " << found_size.first << ", " << found_size.second << std::endl; + this->SetSize(found_size.first, found_size.second); + } + } + }; + ChunkRenderer* render_scene; + +public: + QubelMeshingTestRenderingWindow(IWidget* parent, QubelMeshingTestWindow* settings) + : CBaseWindow(parent, "qubelmesh_test_renderer_frame") + , settings(settings) { + assert(settings); + this->always_visible = false; + this->hover = false; + this->SetPositionMode(PositionMode::FLOATING); + this->SetMaxSize(1270, 1000); + this->zindex = -999; + + titlebar = this->Add("QubelWorld Mesh Test uwu~"); + render_scene = this->Add(settings, &world_slice); + } + ~QubelMeshingTestRenderingWindow() { } + virtual bool AlwaysVisible() const override { + return this->settings->activate->Value(); + } + virtual bool IsVisible() const override { + return this->settings->activate->Value() && this->CBaseWindow::IsVisible(); + } + +public: + // std::chrono::time_point last_update; +}; + +int start_nyqubel_client() { + hydride_init(); + + glez::init(hydride_library.width, hydride_library.height); + + Canvas* canvas; + x11::X11Poller x11_poller(hydride_library.display, hydride_library.window); + { + input::RefreshInput(); + + hydride_draw_begin(); + glez::begin(); + + canvas = new Canvas(); + canvas->Setup(); + + glez::end(); + hydride_draw_end(); + } + + canvas->Add()->SetOffset(500, 525); + + auto mesh_test_settings_window = canvas->Add(); + auto mesh_test_rendering_window = canvas->Add(mesh_test_settings_window); + mesh_test_settings_window->SetOffset(2000, 400); + mesh_test_rendering_window->SetOffset(3000, 800); + + bool client_exiting = false; + mesh_test_settings_window->Add("exit_button", "Press to Quit-rite", [&](CBaseButton*) { + client_exiting = true; + std::cout << "User Requested Client quit." << std::endl; + }); + + // Need a 856/480 size window. + + hydride_show(); + while (1) { + input::RefreshInput(); + // Must be called in that order. + hydride_draw_begin(); + glez::begin(); + { + x11_poller.UpdateKeys(); + x11_poller.UpdateMouse(); + + canvas->Update(); + } + glez::end(); + hydride_draw_end(); + + if (client_exiting) + break; + } + std::cout << "Client is Exiting!!!" << std::endl; + return 0; +} diff --git a/src/nyqubel-client/client.hpp b/src/nyqubel-client/client.hpp new file mode 100644 index 000000000..d0e49e7fa --- /dev/null +++ b/src/nyqubel-client/client.hpp @@ -0,0 +1,4 @@ + +#pragma once + +int start_nyqubel_client(); diff --git a/src/nyqubel-client/util/geometry.cpp b/src/nyqubel-client/util/geometry.cpp new file mode 100644 index 000000000..fb9f5506f --- /dev/null +++ b/src/nyqubel-client/util/geometry.cpp @@ -0,0 +1,88 @@ + +/* + * Nekohook: Free, fast and modular cheat software + * Copyright (C) 2018 Rebekah Rowe + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include // rand() + +#include "geometry.hpp" + +namespace qubel::geo::internal { + +Angle2& Angle2::Clamp() { + + while (this->x > 89.0f) this->x -= 180.0f; + while (this->x < -89.0f) this->x += 180.0f; + + while (this->y > 180.0f) this->y -= 360.0f; + while (this->y < -180.0f) this->y += 360.0f; + + return *this; +} + +// Returns angles to a point in space +AngleBase<2> AngleBase<2>::PointTo(const Vec3& src_point, const Vec3& dest_point) { + Vec3 aim_point = dest_point - src_point; + + Angle2 out; + out.y = atan2(aim_point.y, aim_point.x) * 180.0f / F_PI; + out.x = atan2(0, sqrt(aim_point.x * aim_point.x + aim_point.y * aim_point.y)) * 180.0f / F_PI; + + return out.Clamp(); +} + +// A function to get the difference from angles, Please make sure inputs are +// clamped +AngleBase<2> AngleBase<2>::GetDelta(const AngleBase<2>& dest_angles) const { + // Our output difference + Angle2 diff; + + // Yaw + if (this->y != dest_angles.y) { + // Check if yaw is on opposing poles + if (this->y < -90 && dest_angles.y > 90) + diff.y = this->y + 360 - dest_angles.y; + else if (this->y > 90 && dest_angles.y < -90) + diff.y = dest_angles.y + 360 - this->y; + else + diff.y = std::abs(this->y - dest_angles.y); + } + // Pitch + if (this->x != dest_angles.x) diff.x = std::abs(this->x - dest_angles.x); + + return diff; +} +// Use input angles and our eye position to get fov to a destination point +float AngleBase<2>::GetFov(const Vec3& src, const Vec3& dest) const { + return this->GetFov(PointTo(src, dest)); +} +float AngleBase<2>::GetFov(const AngleBase<2>& pointed_angle) const { + Angle2 delta = this->GetDelta(pointed_angle); + return std::max(delta.x, delta.y); +} + +Vec3 DirectionalMove(const Vec3& src, const AngleBase<2>& dir, float amt) { + // Math I dont understand + float sp = sinf(dir.x * F_PI / 180.f); + float cp = cosf(dir.x * F_PI / 180.f); + float sy = sinf(dir.y * F_PI / 180.f); + float cy = cosf(dir.y * F_PI / 180.f); + + return Vec3(cp * cy, cp * sy, -sp) * amt + src; +} + +} // namespace neko::math diff --git a/src/nyqubel-client/util/geometry.hpp b/src/nyqubel-client/util/geometry.hpp new file mode 100644 index 000000000..c6271d90f --- /dev/null +++ b/src/nyqubel-client/util/geometry.hpp @@ -0,0 +1,475 @@ + +/* + * Nekohook: Free, fast and modular cheat software + * Copyright (C) 2018 Rebekah Rowe + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include +#include +#include +#include +#include + +#include +#include +#include + +namespace qubel::geo { + +namespace internal { + +#if true // NEKOHOOK_GFX == opengl +template +using BVec = glm::vec<_dim_length, T>; +template +using BVec2 = glm::vec<2, T>; +template +using BVec3 = glm::vec<3, T>; +using Vec2 = glm::vec2; +using Vec3 = glm::vec3; +using DVec3 = glm::dvec3; +using IVec2 = glm::ivec2; +using UVec2 = glm::uvec2; + +constexpr float F_PI = glm::pi(); + +template +auto Distance(T... in) { return glm::distance(in...); } + +template +auto GetMaskOfVec2(const T& src, glm::bvec2 mask) { + T ret = { 0, 0 }; + if (mask.x) + ret.x = src.x; + if (mask.y) + ret.y = src.y; + return ret; +} +#endif + +template +class BoxBase; + +template +class BoxBase { + static_assert(T::length() == 2); + +protected: + BoxBase() { } + BoxBase(T _first, T _second) + : first(_first) + , second(_second) { } + +public: + // TODO, rotation around origin? + + // Data + union { + T first, origin; + }; + union { + T second, size; + }; + + T GetMax() const { return this->origin + this->size; } + T GetSize() const { return this->size; } + + T GetPoint(int idx) const { + switch (idx) { + case 0: + return this->origin; + case 1: + return { this->origin.x + this->size.x, this->origin.y }; + case 2: + return { this->origin.x, this->origin.y + this->size.y }; + case 3: + return this->origin + this->size; + default: + throw std::logic_error("Unknown point idx: " + std::to_string(idx)); + } + } + std::array GetPoints() const { + T max = this->GetMax(); + return { + this->origin, + { max.x, this->origin.y }, + { this->origin.x, max.y }, + max + }; + } + + bool Contains(T in) const { + if (in.x > this->origin.x && in.y > this->origin.y) { + T max = this->GetMax(); + return (in.x < max.x && in.x < max.y); + } + return false; + } + + bool SegmentIntersects(T src, T dest) const { + if ((dest.x > this->min.x && src.x > this->min.x) && (dest.y > this->min.y && src.y > this->min.y)) { + T max = this->GetMax(); + return (dest.x < max.x && src.x < max.x) || (dest.y < max.y && src.y < max.y); + } + return false; + } + enum class Direction { + kUp, + kDown, + kLeft, + kRight, + kPosX = kRight, + kPosY = kDown, + kNegX = kLeft, + kNegY = kUp + }; + void Expand(Direction dir, int amt) { // TODO: Bitmongering(nopey) + switch (dir) { + case Direction::kUp: + this->origin.y -= amt; + case Direction::kDown: + this->size.y += amt; + break; + case Direction::kLeft: + this->origin.x -= amt; + case Direction::kRight: + this->size.x += amt; + break; + default: + assert(false); + } + } + void ExpandTo(T v) { + if (this->origin.x > v.x) + this->Expand(Direction::kNegX, this->origin.x - v.x); + if (this->origin.y > v.y) + this->Expand(Direction::kNegY, this->origin.y - v.y); + T t_max = this->GetMax(); + if (t_max.x < v.x) + this->Expand(Direction::kPosX, v.x - this->origin.x); + if (t_max.y < v.y) + this->Expand(Direction::kPosY, v.y - this->origin.y); + } + // TODO: Center around +}; + +template +class BoxBase { + static_assert(T::length() == 3); + +protected: + BoxBase() { } + BoxBase(T _first, T _second) + : first(_first) + , second(_second) { } + +public: + // Data + union { + T first, min; + }; + union { + T second, max; + }; + + auto operator[](const int idx) const { + return this->data.at(idx); + } + + // Utility functions + T GetSize() const { return this->max - this->min; } + T& GetMax() const { return this->max; } + + T GetPoint(int idx) const { + switch (idx) { + case 0: + return this->min; + case 1: + return { this->max.x, this->min.y, this->min.z }; + case 2: + return { this->max.x, this->max.y, this->min.z }; + case 3: + return { this->min.x, this->max.y, this->max.z }; + case 4: + return { this->min.x, this->min.y, this->max.z }; + case 5: + return { this->max.x, this->min.y, this->max.z }; + case 6: + return { this->min.x, this->max.y, this->min.z }; + case 7: + return this->max; + default: + throw std::logic_error("GetPoint() is only available for 2 and 3 axis vectors"); + } + } + std::array GetPoints() const { + return { + this->min, + { this->max.x, this->min.y, this->min.z }, + { this->max.x, this->max.y, this->min.z }, + { this->min.x, this->max.y, this->max.z }, + { this->min.x, this->min.y, this->max.z }, + { this->max.x, this->min.y, this->max.z }, + { this->min.x, this->max.y, this->min.z }, + this->max + }; + } + + bool Contains(T i) const { + if (i.x > this->min.x || i.y > this->min.y || i.z > this->min.z) + if (i.x < this->max.x || i.y < this->max.y || i.z < this->max.z) + return false; + return true; + } + + // Credits to cathook + bool LineIntersects(T src, T dst) const { + if (dst.x < this->min.x && src.x < this->min.x) + return false; + if (dst.y < this->min.y && src.y < this->min.y) + return false; + if (dst.z < this->min.z && src.z < this->min.z) + return false; + if (dst.x > this->max.x && src.x > this->max.x) + return false; + if (dst.y > this->max.y && src.y > this->max.y) + return false; + if (dst.z > this->max.z && src.z > this->max.z) + return false; + return true; + } + + enum Direction { + kUp, + kDown, + kLeft, + kRight, + kForward, + kBackward, + kPosX = kUp, + kPosY = kLeft, + kPosZ = kForward, + kNegX = kDown, + kNegY = kRight, + kNegZ = kBackward + }; + void Expand(Direction dir, int amt) { + switch (dir) { + case Direction::kUp: + this->max.y += amt; + break; + case Direction::kDown: + this->min.y -= amt; + break; + case Direction::kLeft: + this->min.x += amt; + break; + case Direction::kRight: + this->min.x -= amt; + break; + case Direction::kForward: + this->min.z += amt; + break; + case Direction::kBackward: + this->max.z -= amt; + break; + default: + assert(false); + } + } +}; + +template +class Box : public BoxBase { + using Parent = BoxBase; + +public: + using Direction = typename Parent::Direction; + + Box() { } + Box(T _first, T _second) + : Parent(_first, _second) { } + Box(std::pair v) + : Box(v.first, v.second) { } + template + Box(TT v) + : Box(v.first, v.second) { + static_assert(!std::is_same_v, TT>); + } + + template + Box& operator=(TT v) { *this = Box(v.first, v.second); } + + // Unary arithmetic operators + bool operator==(T v) const { + return this->first == v.first && this->second == v.second; + } + bool operator!=(T v) const { + return !(*this == v); + } + Box operator+(T v) const { + return { this->min + v, this->max + v }; + } + Box operator-(T v) const { + return { this->min - v, this->max - v }; + } + + Box operator*(typename T::value_type v) const { + T center = this->GetCenter(); + T size = (this->GetSize() * v) / typename T::value_type(2); + return { center - size, center + size }; + } + Box operator/(typename T::value_type v) const { + T center = this->GetCenter(); + T delta = (this->GetSize() / v) / typename T::value_type(2); + + return { center - delta, center + delta }; + } + Box& operator/=(typename T::value_type v) { + return *this = *this / v; + } + + // Utility functions + T GetCenter() const { return (this->first + this->second) / typename T::value_type(2); } + void Expand(std::initializer_list dirs, int amt) { + auto end = dirs.end(); + for (auto i = dirs.begin(); i != end; i++) + this->Expand(*i, amt); + } + void Shrink(Direction dir, int amt) { this->Expand(dir, -amt); } +}; + +template +class AngleBase; + +template <> +class AngleBase<1> { + float data; + +protected: + template + AngleBase(T... args) + : data(args...) { } + +public: + operator float() const { + return this->data; + } + operator float&() { + return this->data; + } +}; + +template <> +class AngleBase<2> : public Vec2 { + using Vec2::Vec2; + using Parent = Vec2; + +protected: + template + AngleBase(T... args) + : Vec2(args...) { + static_assert(!(std::is_same_v || ...)); + } + +public: + using Vec2::operator=; + template + AngleBase operator-(T in) { return *this - Vec2(in); } + template + AngleBase operator+(T in) { return *this + Vec2(in); } + + AngleBase<2>& Clamp(); + AngleBase<2> Clamp() const; + AngleBase<2> GetDelta(const AngleBase<2>& other_angles) const; + float GetFov(const Vec3& view_src, const Vec3& dest_point) const; + float GetFov(const AngleBase<2>& pointed_angle) const; + static AngleBase<2> PointTo(const Vec3& src_point, const Vec3& dest_point); +}; + +template +using Angle = AngleBase; +using Angle1 = Angle<1>; +using Angle2 = Angle<2>; + +template +class Ray { +private: + const T_Origin origin; + const T_Angle angle; + +public: + Ray(T_Origin origin, T_Angle angle) + : origin(origin) + , angle(angle) { } + std::pair Cast(float dist); +}; + +template +class Segment : public std::pair { +public: + using Parent = std::pair; + using Parent::Parent; + using Parent::operator=; + template + Segment(Ray r, float dist = 8192.0f) + : Parent(r.Cast(dist)) { } + Segment(const std::pair& p) + : Parent(p) { } + Segment(std::pair&& p) + : Parent(std::move(p)) { } + Segment(std::pair p) + : Parent(std::move(p)) { } +}; + +} // namespace internal + +using Vec3 = internal::Vec3; + +using Vec2 = internal::Vec2; + +// idk if these should be in here, but its too useful not to... +using DVec3 = internal::DVec3; +using IVec2 = internal::IVec2; +using UVec2 = internal::UVec2; +/// + +template +auto Distance(T... in) { return internal::Distance(in...); } + +template +auto GetMaskOfVec2(const T& src, glm::bvec2 mask) { return internal::GetMaskOfVec2(src, mask); } + +template +using Box = internal::Box; + +template +using Angle = internal::AngleBase; + +template +using Ray = internal::Ray; + +template +using Segment = internal::Segment; +using Segment2 = internal::Segment; +using Segment3 = internal::Segment; + +template +using Sphereoid = std::pair; + +} // namespace qubel::geo