From 58bac4e26007c7c307d3499aa09c070a90c0a876 Mon Sep 17 00:00:00 2001 From: Medusa Slockbower Date: Sat, 7 Jun 2025 12:00:05 -0400 Subject: [PATCH] Updated Logo --- CMakeLists.txt | 7 ++ README.md | 49 ++++++++-- doxy/Doxyfile | 7 +- doxy/Doxyfile.in | 7 +- include/fennec/core/engine.h | 18 ++-- include/fennec/lang/intrinsics.h | 6 +- include/fennec/lang/lang.h | 41 ++++++++ include/fennec/lang/type_traits.h | 19 ++-- logo/raster.png | Bin 27827 -> 25258 bytes logo/vector.svg | 153 +++++++++++++++++++++++------- 10 files changed, 241 insertions(+), 66 deletions(-) create mode 100644 include/fennec/lang/lang.h diff --git a/CMakeLists.txt b/CMakeLists.txt index d1ace8f..0fad5e9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,6 +71,7 @@ add_library(fennec STATIC include/fennec/math/detail/__fwd.h include/fennec/math/detail/__types.h include/fennec/math/detail/__vector_traits.h + include/fennec/lang/lang.h ) add_subdirectory(metaprogramming) @@ -100,9 +101,12 @@ add_subdirectory(test) # DOXYGEN ============================================================================================================== # https://vicrucann.github.io/tutorials/quick-cmake-doxygen/ +file(COPY logo DESTINATION docs/logo) + find_package(Doxygen) if(DOXYGEN_FOUND) + set(DOXY_OUTPUT_DIR "${PROJECT_SOURCE_DIR}/docs") get_filename_component(DOXYGEN_PROJECT_NAME ${PROJECT_SOURCE_DIR} NAME) # Set Doxy Project name to the name of the root dir set(DOXYGEN_CONFIG_IN "${PROJECT_SOURCE_DIR}/doxy/Doxyfile.in") # Input config file with preprocessor arguments set(DOXYGEN_CONFIG_OUT "${PROJECT_SOURCE_DIR}/doxy/Doxyfile") # Generated config file from input @@ -110,10 +114,13 @@ if(DOXYGEN_FOUND) configure_file(${DOXYGEN_CONFIG_IN} ${DOXYGEN_CONFIG_OUT} @ONLY) # Execute preprocessing step message("Doxygen Build Started.") + # Target for building docs add_custom_target(fennecdocs ALL COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_CONFIG_OUT} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/logo/raster.png + ${DOXY_OUTPUT_DIR}/logo/raster.png COMMENT "Generating Doxygen Documentation" VERBATIM) diff --git a/README.md b/README.md index 344ed6a..949686e 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,44 @@

-drawing -
+

fennec

-

a free and open source game engine

-
+
a free and open source game engine


## Table of Contents + 1. [Introduction](#introduction) 2. [Building from Source](#building-from-source) 1. [Building from Terminal](#building-from-terminal) 2. [Building on Windows](#building-on-windows) 3. [Running the Test Suite](#running-the-test-suite) - + 3. [Usage](#usage) + 4. [Contribution](#contribution)

+ + ## Introduction fennec is designed to be a general purpose, educational game engine. Interfacing with the API in C++ follows the [GNU Coding Standards](https://www.gnu.org/prep/standards/html_node/index.html). -Some main areas where the engine strays from the GNU standard includes the following: +fennec may be used both through the provided editor application, or as a standalone +library link against your application. Some main areas where the engine strays from +the GNU standard includes the following: - [Section 4.7, Standards for Graphical Interfaces](https://www.gnu.org/prep/standards/html_node/Graphical-Interfaces.html). fennec provides an implementation for X11, however it does not use the GTK toolkit. +- [Section 6.1, GNU Manuals](https://www.gnu.org/prep/standards/html_node/GNU-Manuals.html) + fennec does not use Texinfo and instead uses Doxygen. Otherwise, it follows the other standards of this section. +- [Section 7, The Release Process](https://www.gnu.org/prep/standards/html_node/Managing-Releases.html) + fennec follows most of the conventions in this section, however the build system used is CMake and not + Makefile. CMake, although overwhelming at first, is much more friendly to those who are learning build systems for the first time.
@@ -37,16 +46,16 @@ The C++ stdlib is reimplemented in the fennec engine. There are a few reasons for this: 1. Standardize implementations across compilers - 2. Set proper naming conventions, i.e. `std::vector`->`fennec::dynarray` + 2. Set proper naming conventions, i.e. `std::vector` → `fennec::dynarray` 3. Optimize compilation times, binary size, and performance. 4. Inject debugging information when necessary. 5. Expose functionality in a readable manner for those interested in learning the intricacies of the implementation. - -
+ + ## Building from Source fennec uses the CMake build system. The CMake build script provides several @@ -68,6 +77,7 @@ is also a viable IDE but involves some extra setup.
+ ### Building from Terminal `build.sh` provides profiles for building the main engine. Run `./build.sh --help` @@ -80,6 +90,7 @@ for available generators](https://cmake.org/cmake/help/latest/manual/cmake-gener
+ ### Building on Windows The bash script can be run natively on Windows when WSL is enabled. You do not @@ -123,6 +134,7 @@ cmake -G "Visual Studio 17 2022" -A x64

+ ## Running the Test Suite `test.sh` provides profiles for building the test suite and executes them. @@ -130,4 +142,21 @@ cmake -G "Visual Studio 17 2022" -A x64 By default, it runs in debug mode and the first failed test will throw an assertion. Any tests that involve running as an application will spawn a subprocess with a window, and give a short description of the behaviour in the terminal. It will then have you confirm -whether the information displayed is correct. \ No newline at end of file +whether the information displayed is correct. + +
+
+ + +## Usage + +
+
+ + +## Contribution + +There are some principles to keep in mind when contributing to fennec. + +1. You must follow the style guide provided by the [GNU Coding Standard](https://www.gnu.org/prep/standards/html_node/Writing-C.html). +2. Any changes must allow all projects to be forward compatible with newer engine verisons. \ No newline at end of file diff --git a/doxy/Doxyfile b/doxy/Doxyfile index 09a8768..52d9f29 100644 --- a/doxy/Doxyfile +++ b/doxy/Doxyfile @@ -68,7 +68,7 @@ PROJECT_LOGO = # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = /home/medusa/Documents/Work/Personal/fennec/docs/ +OUTPUT_DIRECTORY = /home/medusa/Documents/Work/Personal/fennec/docs # If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 # sub-directories (in 2 levels) under the output directory of each output format @@ -944,7 +944,8 @@ WARN_LOGFILE = # Note: If this tag is empty the current directory is searched. INPUT = "/home/medusa/Documents/Work/Personal/fennec/include/" \ - "/home/medusa/Documents/Work/Personal/fennec/source/" + "/home/medusa/Documents/Work/Personal/fennec/source/" \ + "/home/medusa/Documents/Work/Personal/fennec/README.md" # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses @@ -1159,7 +1160,7 @@ FILTER_SOURCE_PATTERNS = # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. -USE_MDFILE_AS_MAINPAGE = +USE_MDFILE_AS_MAINPAGE = "/home/medusa/Documents/Work/Personal/fennec/README.md" # The Fortran standard specifies that for fixed formatted Fortran code all # characters from position 72 are to be considered as comment. A common diff --git a/doxy/Doxyfile.in b/doxy/Doxyfile.in index d7a96d6..5cad430 100644 --- a/doxy/Doxyfile.in +++ b/doxy/Doxyfile.in @@ -68,7 +68,7 @@ PROJECT_LOGO = # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = @PROJECT_SOURCE_DIR@/docs/ +OUTPUT_DIRECTORY = @DOXY_OUTPUT_DIR@ # If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 # sub-directories (in 2 levels) under the output directory of each output format @@ -944,7 +944,8 @@ WARN_LOGFILE = # Note: If this tag is empty the current directory is searched. INPUT = "@PROJECT_SOURCE_DIR@/include/" \ - "@PROJECT_SOURCE_DIR@/source/" + "@PROJECT_SOURCE_DIR@/source/" \ + "@PROJECT_SOURCE_DIR@/README.md" # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses @@ -1159,7 +1160,7 @@ FILTER_SOURCE_PATTERNS = # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. -USE_MDFILE_AS_MAINPAGE = +USE_MDFILE_AS_MAINPAGE = "@PROJECT_SOURCE_DIR@/README.md" # The Fortran standard specifies that for fixed formatted Fortran code all # characters from position 72 are to be considered as comment. A common diff --git a/include/fennec/core/engine.h b/include/fennec/core/engine.h index 0604738..1fc5790 100644 --- a/include/fennec/core/engine.h +++ b/include/fennec/core/engine.h @@ -29,15 +29,21 @@ /// /// -/// \mainpage fennec -/// \anchor fennec -/// -/// \include{doc} README.md +/// \page page_fennec_documentation Documentation /// +/// \section page_documentation_contents Main Page +/// 1. \ref introduction "Introduction" +/// 2. \ref introduction "Building from Source" +/// 1. \ref building-from-source "Building from Source" +/// 2. \ref building-from-terminal "Building from Terminal" +/// 3. \ref running-the-test-suite "Running the Test Suite" +/// 3. \ref usage "Usage" +/// 4. \ref contribution "Contribution" /// /// \section Libraries -/// -/// \subpage page_fennec_math +/// \anchor libraries +/// - \subpage page_fennec_lang +/// - \subpage page_fennec_math /// /// \copyright Copyright © 2025 Medusa Slockbower ([GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)) /// diff --git a/include/fennec/lang/intrinsics.h b/include/fennec/lang/intrinsics.h index 8cb5f9f..1c2377b 100644 --- a/include/fennec/lang/intrinsics.h +++ b/include/fennec/lang/intrinsics.h @@ -93,10 +93,10 @@ // Difficult and Inconsistent without intrinsics #if __has_builtin(__is_constructible) -# define FENNEC_BUILTIN_CAN_CONSTRUCT 1 -# define FENNEC_BUILTIN_CAN_CONSTRUCT(type, args...) __is_constructible(type, args) +# define FENNEC_HAS_BUILTIN_IS_CONSTRUCTIBLE 1 +# define FENNEC_BUILTIN_IS_CONSTRUCTIBLE(type, ...) __is_constructible(type, __VA_ARGS__) #else -# define FENNEC_HAS_BUILTIN_CAN_CONSTRUCT 0 +# define FENNEC_HAS_BUILTIN_IS_CONSTRUCTIBLE 0 #endif diff --git a/include/fennec/lang/lang.h b/include/fennec/lang/lang.h new file mode 100644 index 0000000..c9c4f6d --- /dev/null +++ b/include/fennec/lang/lang.h @@ -0,0 +1,41 @@ +// ===================================================================================================================== +// fennec, a free and open source game engine +// Copyright © 2025 Medusa Slockbower +// +// 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 . +// ===================================================================================================================== + +/// +/// \file lang.h +/// \brief fennec C++ language library +/// +/// +/// \details +/// \author Medusa Slockbower +/// +/// \copyright Copyright © 2025 Medusa Slockbower ([GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html)) +/// +/// + +#ifndef LANG_H +#define LANG_H + +/// +/// \page page_fennec_lang C++ Language Library +/// +/// This library implements the parts of the C++ stdlib that relate to built-in types and metaprogramming. +/// +/// + +#endif //LANG_H diff --git a/include/fennec/lang/type_traits.h b/include/fennec/lang/type_traits.h index cb94f01..f7b175d 100644 --- a/include/fennec/lang/type_traits.h +++ b/include/fennec/lang/type_traits.h @@ -208,14 +208,21 @@ template using can_convert_v = typename can_convert::type; -// fennec::is_constructible ============================================================================================ +// fennec::is_constructible =============================================================================================== + +/// +/// \brief Check if `ClassT` can be constructed with `ArgsT,` i.e. `ClassT(ArgsT...)`. +/// This may be read as "is `ClassT` constructible with `ArgsT`" +/// \tparam ClassT The class type to test +/// \tparam ArgsT The arguments for the specific constructor +template struct is_constructible + : bool_constant {}; + +template constexpr bool_t is_constructible_v + = is_constructible{}; -template struct can_construct - : bool_constant {}; - -template constexpr bool_t can_construct_v - = can_construct{}; +// fennec:: // diff --git a/logo/raster.png b/logo/raster.png index 8eeedab8fc791ecbec0f0c683d7357988fd54459..1fe3b607bcfa55a5ef78a80fc3268963e9e73aaf 100644 GIT binary patch literal 25258 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 F`5(JE%5eYy literal 27827 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 P0eGXJBwzHx$nXCE$_RYw diff --git a/logo/vector.svg b/logo/vector.svg index b77523f..0137f64 100644 --- a/logo/vector.svg +++ b/logo/vector.svg @@ -26,45 +26,128 @@ inkscape:pagecheckerboard="0" inkscape:deskcolor="#505050" inkscape:document-units="px" - inkscape:zoom="1.4142136" - inkscape:cx="313.2483" - inkscape:cy="291.68155" - inkscape:window-width="3440" - inkscape:window-height="1371" + inkscape:zoom="0.70710678" + inkscape:cx="7.0710678" + inkscape:cy="224.15285" + inkscape:window-width="1920" + inkscape:window-height="1043" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1" /> + style="fill:#302825;fill-opacity:1" + d="M 135,16 C 64,16 16,64 16,135 c 0,80.66667 0,161.33333 0,242 0,71 48,119 119,119 80.66667,0 161.33333,0 242,0 71,0 119,-48 119,-119 0,-80.66667 0,-161.33333 0,-242 C 496,64 448,16 377,16 296.33333,16 215.66667,16 135,16 Z" + id="path6" + sodipodi:nodetypes="ccccccccc" />