Updated Logo
This commit is contained in:
49
README.md
49
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.
|
||||
@@ -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.
|
||||
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.
|
||||
Reference in New Issue
Block a user