Giter Site home page Giter Site logo

terenstare / tnt Goto Github PK

View Code? Open in Web Editor NEW
32.0 2.0 4.0 12.54 MB

A 2d Game Engine written in C++20.

Home Page: https://terenstare.github.io/tnt

License: MIT License

C++ 91.31% Lua 4.34% CMake 4.35%
game-engine game-engine-library cpp20 sdl2 sdl2-image sdl2-mixer nlohmann-json imgui 2d-game-engine tnt

tnt's Introduction

The TnT Engine

Discord Gitter Subreddit subscribers

Documentation Status

TnT is a 2d Game Engine written in C++. At the time of speaking the engine uses features from the C++17 standard (because at the time of speaking there is no C++ compiler that fully supports C++20 features), but one of the goals of the engine is to use C++20 features such as modules, concepts, etc.

Build status

Windows Linux Mac OS-X
Build Status Build Status Build Status
Windows

Project Goals

The project aims to make game development easy enough for anybody that doesn't know C++. Meanwhile the engine should be powerful enough for a C++ developer.

Features

  • Fast 2d rendering.
  • Efficient Entity management.
  • Fast and easy GUI library.
  • Lightweight logging.
  • Networking support.
  • Data serialization (save into/load from file).
  • Scripting support.

Code quality

Code checker Badge
CodeFactor CodeFactor
Codacy Codacy Badge
Code Inspector

Documentation

The documentation of the engine is written on the header files of the include directory. It is built by default by CMake. Note that for building the documentation, you need to have Doxygen installed (you can get it here). The documentation will be built on build/docs folder. If you don't want to build the documentation, please run cmake -DTNT_BUILD_DOCS=OFF .. instead of cmake .. . To read the documentation, open build/docs/html/index.html on your browser.

Getting started

For instructions on how to get the binaries of the engine or to build from source, please read INSTALL.md.

Building the tests and samples

WIP

Contributors

A special thanks goes to:

  • cgyurgyik (#8)

Bugs, Support, Q&A

For any question you may have, feel free to open an issue, or describe it on:

tnt's People

Contributors

cgyurgyik avatar codacy-badger avatar mend-bolt-for-github[bot] avatar restyled-commits avatar terenstare avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tnt's Issues

CVE-2020-11022 (Medium) detected in jquery-3.4.1.js, jquery-3.4.1.min.js

CVE-2020-11022 - Medium Severity Vulnerability

Vulnerable Libraries - jquery-3.4.1.js, jquery-3.4.1.min.js

jquery-3.4.1.js

JavaScript library for DOM operations

Library home page: https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.js

Path to vulnerable library: tnt/docs/_build/html/_static/jquery-3.4.1.js

Dependency Hierarchy:

  • jquery-3.4.1.js (Vulnerable Library)
jquery-3.4.1.min.js

JavaScript library for DOM operations

Library home page: https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js

Path to dependency file: tnt/docs/_build/html/api/ecs/Steering.html

Path to vulnerable library: tnt/docs/_build/html/api/ecs/../../_static/jquery.js,tnt/docs/_build/html/api/core/../../_static/jquery.js,tnt/docs/_build/html/_static/jquery.js,tnt/docs/_build/html/api/math/../../_static/jquery.js,tnt/docs/_build/html/api/file/cache/../../../_static/jquery.js,tnt/docs/_build/html/api/file/../../_static/jquery.js,tnt/docs/_build/html/api/async/../../_static/jquery.js,tnt/docs/_build/html/api/../_static/jquery.js,tnt/docs/_build/html/_static/jquery.js

Dependency Hierarchy:

  • jquery-3.4.1.min.js (Vulnerable Library)

Found in HEAD commit: ecd93c4aae4b746a842053cdf8e984b5932b507f

Vulnerability Details

In jQuery versions greater than or equal to 1.2 and before 3.5.0, passing HTML from untrusted sources - even after sanitizing it - to one of jQuery's DOM manipulation methods (i.e. .html(), .append(), and others) may execute untrusted code. This problem is patched in jQuery 3.5.0.

Publish Date: 2020-04-29

URL: CVE-2020-11022

CVSS 3 Score Details (6.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: Required
    • Scope: Changed
  • Impact Metrics:
    • Confidentiality Impact: Low
    • Integrity Impact: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/

Release Date: 2020-04-29

Fix Resolution: jQuery - 3.5.0


Step up your Open Source Security Game with WhiteSource here

Add support for animations

Is your feature request related to a problem? Please describe.
The engine lacks a way to animate Object-s. This is a must feature.

Describe the solution you'd like
Add a fully working AnimationComponent class, which handles animations. Also (maybe) add an AnimatedSprite Object-deriven class.

Add full window support to ImGui

Is your feature request related to a problem? Please describe.
The ImGui library is a big advantage for the engine, but it would be better if it supported windows.

Describe the solution you'd like
Add window widgets on the ImGui library.

CVE-2020-11023 (Medium) detected in jquery-3.4.1.js, jquery-3.4.1.min.js

CVE-2020-11023 - Medium Severity Vulnerability

Vulnerable Libraries - jquery-3.4.1.js, jquery-3.4.1.min.js

jquery-3.4.1.js

JavaScript library for DOM operations

Library home page: https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.js

Path to vulnerable library: tnt/_build/html/_static/jquery-3.4.1.js

Dependency Hierarchy:

  • jquery-3.4.1.js (Vulnerable Library)
jquery-3.4.1.min.js

JavaScript library for DOM operations

Library home page: https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js

Path to dependency file: tnt/_build/html/api/file/cache/FontCache.html

Path to vulnerable library: tnt/_build/html/api/file/cache/../../../_static/jquery.js,tnt/_build/html/api/ecs/../../_static/jquery.js,tnt/_build/html/_static/jquery.js,tnt/_build/html/api/core/../../_static/jquery.js,tnt/_build/html/api/file/../../_static/jquery.js,tnt/_build/html/api/../_static/jquery.js,tnt/_build/html/_static/jquery.js,tnt/_build/html/api/math/../../_static/jquery.js,tnt/_build/html/api/async/../../_static/jquery.js

Dependency Hierarchy:

  • jquery-3.4.1.min.js (Vulnerable Library)

Found in HEAD commit: ecd93c4aae4b746a842053cdf8e984b5932b507f

Vulnerability Details

In jQuery versions greater than or equal to 1.0.3 and before 3.5.0, passing HTML containing elements from untrusted sources - even after sanitizing it - to one of jQuery's DOM manipulation methods (i.e. .html(), .append(), and others) may execute untrusted code. This problem is patched in jQuery 3.5.0.

Publish Date: 2020-04-29

URL: CVE-2020-11023

CVSS 3 Score Details (6.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: Required
    • Scope: Changed
  • Impact Metrics:
    • Confidentiality Impact: Low
    • Integrity Impact: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11023

Release Date: 2020-04-29

Fix Resolution: jquery - 3.5.0


Step up your Open Source Security Game with WhiteSource here

Add support for Tiled maps

Describe the solution you'd like
Add support for rendering Tiled maps using the engine. This will allow easier level creation and an unified way of working with levels.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.