Merge Commit
This commit is contained in:
commit
09bfef8099
@ -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)
|
||||
|
||||
|
47
README.md
47
README.md
@ -1,35 +1,44 @@
|
||||
<br><br>
|
||||
|
||||
<div style="width: 100%;">
|
||||
<img src="./logo/raster.png" alt="drawing" width="128px" style="display: block; margin-left: auto; margin-right: auto;"/>
|
||||
<figcaption>
|
||||
<img src="./logo/raster.png" width="128px" style="display: block; margin-left: auto; margin-right: auto;"/>
|
||||
<h1 style="text-align: center; top:-1em;">fennec</h1>
|
||||
<p style="text-align: center; top:-4em;">a free and open source game engine</p>
|
||||
</figcaption>
|
||||
<div style="text-align: center; top:-4em;">a free and open source game engine</div>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
## 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)
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
|
||||
<a id="introduction"></a>
|
||||
## 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.
|
||||
|
||||
<br>
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
|
||||
<a id="building-from-source"></a>
|
||||
## 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.
|
||||
|
||||
<br>
|
||||
|
||||
<a id="building-from-terminal"></a>
|
||||
### 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
|
||||
|
||||
<br>
|
||||
|
||||
<a id="building-on-windows"></a>
|
||||
### 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
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a id="running-the-test-suite"></a>
|
||||
## Running the Test Suite
|
||||
|
||||
`test.sh` provides profiles for building the test suite and executes them.
|
||||
@ -131,3 +143,20 @@ By default, it runs in debug mode and the first failed test will throw an assert
|
||||
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.
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a id="usage"></a>
|
||||
## Usage
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a id="contribution"></a>
|
||||
## 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.
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
///
|
||||
|
@ -93,10 +93,10 @@
|
||||
|
||||
// Difficult and Inconsistent without intrinsics
|
||||
#if __has_builtin(__is_constructible)
|
||||
# define FENNEC_HAS_BUILTIN_CAN_CONSTRUCT 1
|
||||
# define FENNEC_BUILTIN_CAN_CONSTRUCT(type, ...) __is_constructible(type, __VA_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
|
||||
|
||||
|
||||
|
41
include/fennec/lang/lang.h
Normal file
41
include/fennec/lang/lang.h
Normal file
@ -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 <https://www.gnu.org/licenses/>.
|
||||
// =====================================================================================================================
|
||||
|
||||
///
|
||||
/// \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
|
@ -208,14 +208,21 @@ template<typename T0, typename T1> using can_convert_v
|
||||
= typename can_convert<T0, T1>::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<typename ClassT, typename...ArgsT> struct is_constructible
|
||||
: bool_constant<FENNEC_BUILTIN_IS_CONSTRUCTIBLE(ClassT, ArgsT...)> {};
|
||||
|
||||
template<typename ClassT, typename...ArgsT> constexpr bool_t is_constructible_v
|
||||
= is_constructible<ClassT, ArgsT...>{};
|
||||
|
||||
|
||||
template<typename ClassT, typename...ArgsT> struct can_construct
|
||||
: bool_constant<FENNEC_BUILTIN_CAN_CONSTRUCT(ClassT, ArgsT...)> {};
|
||||
|
||||
template<typename ClassT, typename...ArgsT> constexpr bool_t can_construct_v
|
||||
= can_construct<ClassT, ArgsT...>{};
|
||||
// fennec::
|
||||
|
||||
//
|
||||
|
||||
|
BIN
logo/raster.png
BIN
logo/raster.png
Binary file not shown.
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 25 KiB |
151
logo/vector.svg
151
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" /><defs
|
||||
id="defs1" /><g
|
||||
id="defs1"><inkscape:path-effect
|
||||
effect="mirror_symmetry"
|
||||
start_point="256,0"
|
||||
end_point="256,512"
|
||||
center_point="256,256"
|
||||
id="path-effect7"
|
||||
is_visible="true"
|
||||
lpeversion="1.2"
|
||||
lpesatellites=""
|
||||
mode="vertical"
|
||||
discard_orig_path="false"
|
||||
fuse_paths="false"
|
||||
oposite_fuse="false"
|
||||
split_items="false"
|
||||
split_open="false"
|
||||
link_styles="false" /><inkscape:path-effect
|
||||
effect="mirror_symmetry"
|
||||
start_point="256,0"
|
||||
end_point="256,512"
|
||||
center_point="256,256"
|
||||
id="path-effect5"
|
||||
is_visible="true"
|
||||
lpeversion="1.2"
|
||||
lpesatellites=""
|
||||
mode="vertical"
|
||||
discard_orig_path="false"
|
||||
fuse_paths="false"
|
||||
oposite_fuse="false"
|
||||
split_items="false"
|
||||
split_open="false"
|
||||
link_styles="false" /><inkscape:path-effect
|
||||
effect="mirror_symmetry"
|
||||
start_point="256,0"
|
||||
end_point="256,512"
|
||||
center_point="256,256"
|
||||
id="path-effect4"
|
||||
is_visible="true"
|
||||
lpeversion="1.2"
|
||||
lpesatellites=""
|
||||
mode="vertical"
|
||||
discard_orig_path="false"
|
||||
fuse_paths="false"
|
||||
oposite_fuse="false"
|
||||
split_items="false"
|
||||
split_open="false"
|
||||
link_styles="false" /><inkscape:path-effect
|
||||
effect="mirror_symmetry"
|
||||
start_point="256,0"
|
||||
end_point="256,512"
|
||||
center_point="256,256"
|
||||
id="path-effect3"
|
||||
is_visible="true"
|
||||
lpeversion="1.2"
|
||||
lpesatellites=""
|
||||
mode="vertical"
|
||||
discard_orig_path="false"
|
||||
fuse_paths="false"
|
||||
oposite_fuse="false"
|
||||
split_items="false"
|
||||
split_open="false"
|
||||
link_styles="false" /><inkscape:path-effect
|
||||
effect="mirror_symmetry"
|
||||
start_point="256,0"
|
||||
end_point="256,512"
|
||||
center_point="256,256"
|
||||
id="path-effect1"
|
||||
is_visible="true"
|
||||
lpeversion="1.2"
|
||||
lpesatellites=""
|
||||
mode="vertical"
|
||||
discard_orig_path="false"
|
||||
fuse_paths="false"
|
||||
oposite_fuse="false"
|
||||
split_items="false"
|
||||
split_open="false"
|
||||
link_styles="false" /></defs><g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"><path
|
||||
style="fill:#ecc891;fill-opacity:1;stroke-width:1.16776"
|
||||
d="m 222.19154,399.0475 0.43986,1.89206 1.60752,3.38161 6.12598,6.727 10.20652,4.60182 10.81077,1.82709 9.341,0.22611 14.13783,-2.96492 10.98115,-6.4368 4.9427,-10.80883 -1.20772,-15.04887 -9.5032,-18.99825 -8.89851,-11.62383 -7.8785,-5.31048 h -12.59159 l -8.84005,4.51085 -9.6954,12.56982 -9.71699,20.74007 z"
|
||||
id="path16"
|
||||
sodipodi:nodetypes="ccccccccccccccccccc" /><g
|
||||
id="g4"
|
||||
transform="matrix(1.1676266,0,0,1.1678831,-29.151974,-24.864933)"><path
|
||||
style="fill:#f3b431"
|
||||
d="m 214.21,362.142 -0.95,-0.849 -10.873,-3.699 -10.873,-3.699 -5.127,-3.335 -5.127,-3.334 -4.65,-4.868 -4.65,-4.867 -3.526,-5.587 -3.527,-5.587 -4.006,-9.413 -4.006,-9.413 -0.632,-2.5 -0.633,-2.5 -2.185,-2.644 -2.185,-2.644 -8.95,-5.741 -8.951,-5.741 -5.204,-5.204 -5.204,-5.205 -2.946,-5.91 -2.947,-5.911 -2.62,-7 -2.621,-7 -2.532,-9.5 -2.532,-9.5 -1.984,-10.237 -1.984,-10.237 -1.582,-12.763 -1.5816,-12.763 -0.0464,-18.5 -0.0464,-18.5 1.1624,-6.5 1.163,-6.5 2.057,-6.317 2.057,-6.317 3.646,-3.829 3.646,-3.829 4.445,-1.195 4.444,-1.195 5.241,0.655 5.24,0.655 7.815,3.798 7.815,3.798 6,4.571 6,4.571 8.611,8.817 8.61,8.817 6.411,8 6.411,8 4.629,6.5 4.628,6.5 4.888,8 4.888,8 7.444,13.307 7.443,13.308 5.019,6.664 5.018,6.665 3.398,2.278 3.398,2.278 h 2.902 2.902 l 2.7,-1.418 2.7,-1.417 3.607,-3.833 3.607,-3.832 2.999,-4.5 2.999,-4.5 10.302,-17.993 10.303,-17.994 4.063,-6.006 4.062,-6.007 4.99,-6.5 4.991,-6.5 7.896,-9.275 7.897,-9.275 7.282,-6.352 7.283,-6.351 4.63,-3.186 4.63,-3.185 6.73,-3.155 6.729,-3.156 7,0.025 7,0.025 3,1.597 3,1.598 2.137,2.345 2.137,2.345 2.032,4.05 2.031,4.049 1.664,7.951 1.664,7.95 0.554,13.5 0.554,13.5 -1.184,13.5 -1.185,13.5 -1.485,10 -1.484,10 -2.563,11.452 -2.563,11.452 -2.956,9.048 -2.956,9.048 -3.568,7.421 -3.568,7.421 -4.631,4.992 -4.63,4.993 -9.5,6.218 -9.5,6.218 -2.087,2.369 -2.086,2.368 -3.288,8.5 -3.288,8.5 -3.896,7.575 -3.895,7.574 -4.73,5.861 -4.73,5.86 -6.182,4.225 -6.183,4.225 -11.944,3.916 -11.945,3.917 -0.517,-6.443 -0.517,-6.443 -4.07,-8.134 -4.069,-8.133 -3.811,-4.977 -3.81,-4.976 -3.374,-2.274 -3.374,-2.273 h -5.392 -5.391 l -3.786,1.931 -3.785,1.931 -4.152,5.382 -4.152,5.381 -4.161,8.88 -4.161,8.879 -0.112,6.3 -0.112,6.3 -0.05,0.008 -0.05,0.008 -0.95,-0.849 m 11.35,-44.351 1.2,-1.2 -0.01,-2.55 -0.01,-2.55 -2.416,-5.191 -2.417,-5.19 -4.092,-2.964 -4.092,-2.964 -4.953,-1.189 -4.952,-1.188 -4.131,0.698 -4.131,0.698 -3.049,2.725 -3.05,2.724 0.677,2.696 0.676,2.695 3.539,3.917 3.538,3.916 4.186,1.531 4.187,1.531 7.932,1.043 7.932,1.042 3.436,-0.23 m 53.902,-1.673 6.203,-0.988 3.664,-1.739 3.664,-1.738 2.883,-3.981 2.884,-3.981 v -2.782 -2.782 l -3.25,-2.318 -3.25,-2.318 -6.5,0.034 -6.5,0.033 -3.5,1.831 -3.5,1.83 -2.841,2.636 -2.842,2.636 -1.773,3.5 -1.773,3.5 -0.668,3.682 -0.668,3.682 1.623,0.909 1.624,0.908 4.159,-0.783 4.159,-0.784 6.202,-0.987 m -111.966,-47.654 5.235,-2.349 3.765,-2.78 3.764,-2.78 3.047,-2.532 3.047,-2.532 2.943,-2 2.942,-2 3.883,-3.921 3.883,-3.921 1.378,-3.297 1.377,-3.297 v -4.997 -4.997 l -1.55,-4.785 -1.551,-4.785 -0.92,-2 -0.921,-2 -2.431,-6.608 -2.43,-6.608 -2.93,-5.892 -2.93,-5.892 -4.812,-8.5 -4.812,-8.5 -7.815,-11.5 -7.815,-11.5 -7.134,-7.763 -7.134,-7.763 -5.878,-4.523 -5.877,-4.522 -4.28,-1.943 -4.28,-1.942 -4.661,-0.022 -4.661,-0.022 -2.55,3.031 -2.551,3.031 -1.191,3.719 -1.192,3.719 -0.44,16 -0.44,16 1.149,11 1.148,11 2.401,13.5 2.4,13.5 1.469,6.638 1.468,6.639 2.177,7.361 2.178,7.362 3.309,7.197 3.308,7.197 4.808,5.14 4.808,5.14 2.858,1.478 2.858,1.478 4.174,0.847 4.173,0.846 4,-0.501 4,-0.501 m 183.477,-2.31 4.99,-2.528 4.142,-5.24 4.141,-5.239 2.957,-6.455 2.956,-6.454 3.311,-11.548 3.311,-11.547 1.7,-9.5 1.699,-9.5 1.308,-8.5 1.308,-8.5 1.248,-12.244 1.247,-12.243 -0.583,-11.757 -0.582,-11.756 -1.639,-5.37 -1.639,-5.37 -2.381,-2.38 -2.38,-2.38 -4.295,0.01 -4.296,0.01 -5.459,2.541 -5.459,2.541 -4.041,3.32 -4.041,3.32 -4.88,4.879 -4.88,4.879 -5.799,7.085 -5.799,7.084 -7.109,10.916 -7.11,10.915 -5.372,10.5 -5.372,10.5 -4.215,10.5 -4.214,10.5 -1.363,5 -1.363,5 0.01,3.5 0.01,3.5 1.827,4 1.827,4 4.401,4.027 4.401,4.026 8,6.055 8,6.055 4.647,2.703 4.647,2.703 4.353,0.906 4.353,0.906 4.244,-0.42 4.244,-0.421 4.989,-2.529"
|
||||
id="path5"
|
||||
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" /><path
|
||||
style="fill:#302825"
|
||||
d="m 38.669874,343.2406 v -205.5 c 0,-64.218747 38.539714,-102.749997 102.772576,-102.749998 h 205.54514 c 64.23285,10e-7 102.77257,38.531251 102.7726,102.749998 v 205.5 c 0,64.21875 -38.53971,102.75 -102.7726,102.75 H 141.44245 c -64.232862,0 -102.772576,-38.53125 -102.772576,-102.75 z m 215.644396,34.439 6.05408,-1.26932 4.70234,-2.75576 4.70234,-2.75575 4.85015,-9.57131 11.55776,-3.70496 11.55777,-3.70496 6.26074,-4.27833 6.26074,-4.27832 4.72973,-5.86039 4.72974,-5.86039 3.89579,-7.57475 3.89578,-7.57476 3.28767,-8.5 3.28767,-8.5 2.08681,-2.36823 2.08681,-2.36824 9.5,-6.21818 9.5,-6.21819 4.63022,-4.99269 4.63023,-4.99269 3.56838,-7.42089 3.56837,-7.42089 2.95592,-9.048 2.95592,-9.048 2.56263,-11.452 2.56263,-11.452 1.48484,-10 1.48484,-10 1.18444,-13.5 1.18444,-13.5 -0.55378,-13.5 -0.55379,-13.5 -1.66446,-7.9502 -1.66446,-7.95021 -2.03104,-4.04979 -2.03104,-4.0498 -2.13715,-2.34501 -2.13714,-2.34502 -3,-1.59754 -3,-1.59754 -7,-0.0247 -7,-0.0247 -6.72956,3.15517 -6.72956,3.15517 -4.63001,3.18554 -4.63002,3.18553 -7.28271,6.3516 -7.28271,6.35159 -7.89653,9.27498 -7.89653,9.27497 -4.9902,6.5 -4.99021,6.5 -4.06264,6.00673 -4.06265,6.00673 -10.3024,17.99327 -10.3024,17.99327 -2.99908,4.5 -2.99907,4.5 -3.60686,3.83242 -3.60686,3.83242 -2.70034,1.41758 -2.70034,1.41758 h -2.90178 -2.90178 l -3.39788,-2.27813 -3.39788,-2.27813 -5.0186,-6.66431 -5.01859,-6.66432 -7.4435,-13.30755 -7.44349,-13.30756 -4.88782,-8 -4.88782,-8 -4.62853,-6.5 -4.62852,-6.5 -6.41106,-8 -6.41107,-8 -8.6105,-8.81716 -8.6105,-8.81717 -6,-4.57056 -6,-4.57056 -7.81514,-3.79846 -7.81513,-3.79845 -5.24036,-0.65474 -5.24035,-0.65474 -4.44451,1.19482 -4.44451,1.19482 -3.64616,3.82904 -3.64615,3.82905 -2.05676,6.31705 -2.05675,6.31706 -1.1629,6.5 -1.162903,6.5 0.04643,18.5 0.04643,18.5 1.581683,12.76302 1.58168,12.76302 1.98409,10.23698 1.98408,10.23698 2.53212,9.5 2.53212,9.5 2.62048,7 2.62048,7 2.94656,5.91077 2.94656,5.91077 5.20407,5.20407 5.20407,5.20408 8.95038,5.74141 8.95038,5.74141 2.18498,2.64375 2.18499,2.64374 0.63266,2.5 0.63266,2.5 4.006,9.41317 4.00601,9.41317 3.52645,5.58683 3.52645,5.58683 4.6499,4.86738 4.6499,4.86738 5.14188,3.34419 5.14189,3.34419 11.68957,3.89294 10.02667,3.48665 2.00001,1.68169 0.37671,1.62008 1.37674,2.8955 2.62326,2.88 2.62327,2.88 4.37062,1.97016 4.37063,1.97015 4.62937,0.78223 4.62938,0.78222 4,0.0968 4,0.0968 z"
|
||||
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" /><path
|
||||
style="fill:#f3b431;fill-opacity:1"
|
||||
d="m 256,417.99999 c 3.53237,-0.35937 23.18694,-0.66656 32.65624,-13.625 8.89472,-12.17214 36.16335,-10.90441 52.43041,-34.68715 16.9775,-24.82141 15.92065,-45.58511 39.54551,-57.64172 39.08378,-19.94585 46.07458,-120.06961 45.18607,-145.30757 -1.22004,-34.65532 -4.74855,-91.78894 -62.83341,-47.14388 C 294.96563,171.87544 278.50215,250.58532 256,252.24999 Z m 0,0 c -3.53237,-0.35937 -23.18694,-0.66656 -32.65624,-13.625 -8.89472,-12.17214 -36.16335,-10.90441 -52.43041,-34.68715 C 153.93585,344.86643 154.9927,324.10273 131.36784,312.04612 92.28406,292.10027 85.29326,191.97651 86.18177,166.73855 87.40181,132.08323 90.93032,74.94961 149.01518,119.59467 217.03437,171.87544 233.49785,250.58532 256,252.24999 Z"
|
||||
id="path1"
|
||||
sodipodi:nodetypes="cssssscc"
|
||||
inkscape:path-effect="#path-effect1"
|
||||
inkscape:original-d="m 256,417.99999 c 3.53237,-0.35937 23.18694,-0.66656 32.65624,-13.625 8.89472,-12.17214 36.16335,-10.90441 52.43041,-34.68715 16.9775,-24.82141 15.92065,-45.58511 39.54551,-57.64172 39.08378,-19.94585 46.07458,-120.06961 45.18607,-145.30757 -1.22004,-34.65532 -4.74855,-91.78894 -62.83341,-47.14388 C 294.96563,171.87544 278.50215,250.58532 256,252.24999 Z" /><path
|
||||
style="fill:#000000;fill-opacity:0"
|
||||
d="m 256,417.99999 32.65624,-13.625 L 256,350.19462 Z"
|
||||
id="path2" /><path
|
||||
style="fill:#f0d09a;fill-opacity:1"
|
||||
d="m 256,417.99999 c 4.21769,-0.0397 21.62451,-0.37383 31.41828,-12.05012 C 296.48059,395.14564 281.4705,349.22496 256,349.22496 Z m 0,0 c -4.21769,-0.0397 -21.62451,-0.37383 -31.41828,-12.05012 C 215.51941,395.14564 230.5295,349.22496 256,349.22496 Z"
|
||||
id="path3"
|
||||
sodipodi:nodetypes="cscc"
|
||||
inkscape:path-effect="#path-effect3"
|
||||
inkscape:original-d="m 256,417.99999 c 4.21769,-0.0397 21.62451,-0.37383 31.41828,-12.05012 C 296.48059,395.14564 281.4705,349.22496 256,349.22496 Z" /><path
|
||||
style="fill:#191104;fill-opacity:1"
|
||||
d="m 256,412.2693 c 9.40509,0 15.25,-4.82452 15.25,-9.0193 0,-6.74193 -6.2758,-11.59375 -15.25,-11.59375 z m 0,0 c -9.40509,0 -15.25,-4.82452 -15.25,-9.0193 0,-6.74193 6.2758,-11.59375 15.25,-11.59375 z"
|
||||
id="path4"
|
||||
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" /></g><path
|
||||
style="fill:#191104;fill-opacity:1;stroke-width:1.16776"
|
||||
d="m 241.54011,399.64959 3.09336,5.58232 5.58117,3.09411 13.60733,0.0826 6.82614,-6.82761 v -8.14723 l -7.07452,-5.95411 -7.73281,-1.451 -9.58761,2.58224 -4.79572,6.09812 z"
|
||||
id="path23" /><path
|
||||
style="fill:#f0d09a;fill-opacity:1;stroke-width:1.16776"
|
||||
d="m 400.8078,244.96043 3.86601,-13.48555 5.49603,-32.11678 2.98445,-24.22656 1.45602,-14.2984 -1.36028,-27.46043 -3.82748,-12.54307 -5.55907,-5.55912 -10.03107,0.0234 -12.74815,5.93519 -9.43676,7.75474 -11.39604,11.3962 -13.54213,16.54774 -16.60248,25.49606 -12.54497,24.52553 -9.84193,24.52554 -3.18295,11.67884 0.0233,8.17518 4.2665,9.34308 10.27746,9.40496 18.68202,14.14306 10.85193,6.31358 10.16535,2.11618 9.91082,-0.98218 c 0,0 11.65175,-5.90598 11.65175,-5.90598 l 9.67143,-12.23824 6.90419,-15.07621 z"
|
||||
id="path25" /><path
|
||||
style="fill:#f0d09a;fill-opacity:1;stroke-width:1.16776"
|
||||
d="m 188.43989,273.51869 6.87148,-4.67155 9.06779,-9.15853 3.21681,-7.70103 v -11.67182 l -3.62081,-11.17664 -2.1496,-4.67154 -5.67583,-15.43473 -6.84229,-13.76233 -11.23723,-19.85402 -18.25001,-26.86131 -16.6597,-18.13255 -13.72545,-10.56351 -9.99488,-4.53723 -10.88461,-0.0514 -5.95606,7.07972 -2.782458,8.68671 -1.02751,37.37225 2.682038,25.69344 5.60578,31.53283 3.42931,15.50598 5.08502,17.19474 7.72617,16.81052 11.22789,12.00583 6.67417,3.45227 9.74619,1.97723 9.341,-1.17023 12.22621,-5.48554 8.79107,-6.49343 z"
|
||||
id="path26" /><path
|
||||
style="fill:#191104;fill-opacity:1;stroke-width:1.16776"
|
||||
d="m 234.21786,346.27779 1.40115,-1.40146 -0.0233,-5.9562 -5.64314,-12.12379 -9.55586,-6.92321 -11.56534,-2.77606 -9.64692,1.63037 -7.12136,6.36378 1.5798,6.29607 8.26329,9.14803 9.77652,3.57605 18.52325,2.43504 z"
|
||||
id="path27" /><path
|
||||
style="fill:#191104;fill-opacity:1;stroke-width:1.16776"
|
||||
d="m 276.41005,345.18466 3.79128,2.12204 24.19672,-4.13664 8.55636,-4.06072 6.73371,-9.2987 v -6.49809 l -7.58957,-5.4143 -15.17913,0.0783 -8.17341,4.27562 -6.63561,6.15708 -4.14041,8.17519 z"
|
||||
id="path28" /></g></svg>
|
||||
sodipodi:nodetypes="cscc"
|
||||
inkscape:path-effect="#path-effect4"
|
||||
inkscape:original-d="m 256,412.2693 c 9.40509,0 15.25,-4.82452 15.25,-9.0193 0,-6.74193 -6.2758,-11.59375 -15.25,-11.59375 z" /><path
|
||||
style="fill:#191104;fill-opacity:1"
|
||||
d="m 278.08673,348.09736 c 4.97656,4.83342 18.35637,-1.23578 33.45026,-5.42982 15.09389,-4.19404 14.04862,-21.27854 8.91416,-25.56416 -5.13446,-4.28562 -22.59991,0.34448 -30.37526,6.39537 -7.77534,6.05089 -16.96572,19.76519 -11.98916,24.59861 z m -44.17346,0 c -4.97656,4.83342 -18.35637,-1.23578 -33.45026,-5.42982 -15.09389,-4.19404 -14.04862,-21.27854 -8.91416,-25.56416 5.13446,-4.28562 22.59991,0.34448 30.37526,6.39537 7.77534,6.05089 16.96572,19.76519 11.98916,24.59861 z"
|
||||
id="path5"
|
||||
sodipodi:nodetypes="zzzzz"
|
||||
inkscape:path-effect="#path-effect5"
|
||||
inkscape:original-d="m 278.08673,348.09736 c 4.97656,4.83342 18.35637,-1.23578 33.45026,-5.42982 15.09389,-4.19404 14.04862,-21.27854 8.91416,-25.56416 -5.13446,-4.28562 -22.59991,0.34448 -30.37526,6.39537 -7.77534,6.05089 -16.96572,19.76519 -11.98916,24.59861 z" /><path
|
||||
style="fill:#f0d09a;fill-opacity:1"
|
||||
d="m 369.08892,290.91378 c 39.39335,-17.04997 51.4467,-119.31361 44.37616,-144.82947 -7.07054,-25.51586 -22.35159,-33.48702 -43.43377,-14.74874 -21.08218,18.73828 -78.78013,82.47757 -72.91252,113.02839 3.96317,20.63505 47.75485,57.03052 71.97013,46.54982 z m -226.17784,0 C 103.51773,273.86381 91.46438,171.60017 98.53492,146.08431 c 7.07054,-25.51586 22.35159,-33.48702 43.43377,-14.74874 21.08218,18.73828 78.78013,82.47757 72.91252,113.02839 -3.96317,20.63505 -47.75485,57.03052 -71.97013,46.54982 z"
|
||||
id="path7"
|
||||
sodipodi:nodetypes="sssss"
|
||||
inkscape:path-effect="#path-effect7"
|
||||
inkscape:original-d="m 369.08892,290.91378 c 39.39335,-17.04997 51.4467,-119.31361 44.37616,-144.82947 -7.07054,-25.51586 -22.35159,-33.48702 -43.43377,-14.74874 -21.08218,18.73828 -78.78013,82.47757 -72.91252,113.02839 3.96317,20.63505 47.75485,57.03052 71.97013,46.54982 z" /></g></svg>
|
||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 7.9 KiB |
Loading…
x
Reference in New Issue
Block a user