Skip to content
This repository has been archived by the owner on Jan 2, 2021. It is now read-only.

Commit

Permalink
Release: version 0.2.0 (#28)
Browse files Browse the repository at this point in the history
* init: proto state of art (imgui/glfw/glew/glm)

chore: initialize cmake+conan , sanitizers

feature: imgui demo window + glfw print events

* feat: add handling of event

* fix: build VS Release mode (Debug still broken)

* chore: set fmt/spdlog header only; feat: add record events to json

* feat: add hello triangle opengl

* feat: add resize/move; fix: replay event

* chore: add CI github

* fix: pipeline hello world

* chore: CI small conan

* chore: CI add conan build

* chore: add generate tools script used in pipeline

* chore: add install script

* chore: conditional stdlib + full conanfile

* chore: add conan sys require enabled

* chore: add build on pipeline

* chore: complet cmake env

* chore: set new profile conan

* chore: suppress warn on error, explicit opengl

* chore: add pkg-config

* refact: window class lighter, moved content in core

* feat: add joysticks handling

* refact: bump v0.1.5

* feat: add display debut joystick

* hotfix: build windows + controller buttons windows

* feat: add texture

* Update joysticks management (#3)

* feat: refact joystick management + record joystick event

* Camera + shader improvement (#4)

* Added camera system + Improved shader handling

* Extracted `draw` method from compononent to system

Co-authored-by: yanis fourel <yanis.fourel@epitech.eu>

* Feat map gen (#5)

* Simple Tilemap map builder + Tile factories

* Tile fusion to limit entity count

* Dungeon generation v1.0

* Added corridor width as parameters

Co-authored-by: yanis fourel <yanis.fourel@epitech.eu>

* Feat/fullscreen (#6)

* feat: add fullscreen / args flag / refact singleton core

* chore: update pipeline add release mode; simplified event core

* chore: pipeline add step launch

* chore: pipeline fix build folder

* chore: mindows change ouput path

* hotfix: set reset output path & docopt static

* dump version v0.1.10

* fix: add fullscreen / send event to Game

* Fix/warning (#8)

* refact: cleanup

* fix: bump version 0.1.12

* A few documentation of the project (#11)

* Big changes (#12)

* chore: upgrade imgui/conan version, style: cleanup

* chore: add warning pop

* chore: remove docopt use cli11

* refact: split main in 2 files; chore: add engine version

* Doc: Move GDD in doc folder (#13)

* [ADD] 1 page GDD

* [ADD] GDD 10 page

* doc: move gdd in doc folder

* doc: remove old gdd files

Co-authored-by: Pierre-Genest <pg.e@outlook.fr>

* Refactor component (drawable / position / scale) & Change camera / coordinates system (#14)

* feat: moving square; new camera

* refact: add Position/Velocity/Scale component, feat: add display mode; refact: camera & shaders

* doc: add screenshot

* fix: windows build error

* refact: split components in different files; doc: add comments

* doc: update README; add CI template; conan graph (#15)

* Add collision & acceleration / Cleaning shaders / Adding first "enemies" (#18)

* feat: add basics pursue AI

* feat: cleaner camera movement; shader grid; add hitbox component

* feat: add collision

* feat: add enemy attack and player health (#20)

* Fix/map gen (#17)

* Fixed reccurent crash on map generation

Co-authored-by: yanis fourel <yanis.fourel@epitech.eu>

* Feat/signals (#23)

* Init competences
Test signals

* Create player and movement files

* Player movement with signals
Remove unused files

* Rename Movement.hpp -> GameLogic.hpp
Create a signal call for game logic

* doc: update README / issue_template; chore: add ignore branch tmp/doc (#24)

* chore: fix pipeline on pull request

* Feat/map gen entities (#22)

* Fixed reccurent crash on map generation

* map generation debug window

* Restored camera2d and improved its api

* Changed objects displayed size

* Dungeon terrain despawn

* Fixed dungeon tiles transforms

* Fixed camera2d projection computation

* de-commented enemy spawn
re-commented level entity optimisation that causes issue

* Changed player color

* Basic enemy spawning logic

* Enemy and player spawn in dungeon.
Z coord handling attempt. still WIP.

* simplified player teleportation code

* Proper and clean Z-coordinate handle

* removed unused variable in shader

Co-authored-by: yanis fourel <yanis.fourel@epitech.eu>
Co-authored-by: Mathieu LALA <mathieu.lala@epitech.eu>

* doc: update readme with badge (#27)

Co-authored-by: Yanis-F <yanis.fourel@gmail.com>
Co-authored-by: yanis fourel <yanis.fourel@epitech.eu>
Co-authored-by: Pierre-Genest <pg.e@outlook.fr>
Co-authored-by: Benjamin Praud <36664851+BenjaminPraud@users.noreply.github.com>
  • Loading branch information
5 people authored Oct 14, 2020
1 parent 742e873 commit 81b9b43
Show file tree
Hide file tree
Showing 86 changed files with 4,553 additions and 2 deletions.
74 changes: 74 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
AccessModifierOffset: '-4'
AlignAfterOpenBracket: AlwaysBreak
AlignConsecutiveMacros: 'true'
AlignConsecutiveAssignments: 'false'
AlignConsecutiveDeclarations: 'false'
AlignEscapedNewlines: Left
AlignOperands: 'true'
AlignTrailingComments: 'true'
AllowAllArgumentsOnNextLine: 'true'
AllowAllConstructorInitializersOnNextLine: 'false'
AllowAllParametersOfDeclarationOnNextLine: 'true'
AllowShortBlocksOnASingleLine: 'true'
AllowShortCaseLabelsOnASingleLine: 'true'
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: WithoutElse
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: 'true'
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: 'false'
AlwaysBreakTemplateDeclarations: 'Yes'
BinPackArguments: 'false'
BinPackParameters: 'false'
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: WebKit
BreakBeforeTernaryOperators: 'true'
BreakConstructorInitializers: AfterColon
BreakInheritanceList: AfterColon
ColumnLimit: '120'
CompactNamespaces: 'false'
ConstructorInitializerAllOnOneLineOrOnePerLine: 'false'
ConstructorInitializerIndentWidth: '4'
Cpp11BracedListStyle: 'true'
DerivePointerAlignment: 'false'
FixNamespaceComments: 'true'
IncludeBlocks: Regroup
IndentCaseLabels: 'false'
IndentPPDirectives: AfterHash
IndentWidth: '4'
IndentWrappedFunctionNames: 'true'
KeepEmptyLinesAtTheStartOfBlocks: 'false'
Language: Cpp
MaxEmptyLinesToKeep: '2'
NamespaceIndentation: None
PenaltyBreakBeforeFirstCallParameter: '4'
PenaltyBreakFirstLessLess: '4'
PenaltyBreakString: '4'
PenaltyBreakTemplateDeclaration: '4'
PenaltyExcessCharacter: '4'
PenaltyReturnTypeOnItsOwnLine: '4'
PointerAlignment: Right
ReflowComments: 'true'
SortIncludes: 'false'
SortUsingDeclarations: 'true'
SpaceAfterCStyleCast: 'true'
SpaceAfterLogicalNot: 'false'
SpaceAfterTemplateKeyword: 'false'
SpaceBeforeAssignmentOperators: 'true'
SpaceBeforeCpp11BracedList: 'false'
SpaceBeforeCtorInitializerColon: 'true'
SpaceBeforeInheritanceColon: 'true'
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: 'true'
SpaceInEmptyParentheses: 'false'
SpacesBeforeTrailingComments: '1'
SpacesInAngles: 'false'
SpacesInCStyleCastParentheses: 'false'
SpacesInContainerLiterals: 'true'
SpacesInParentheses: 'false'
SpacesInSquareBrackets: 'false'
Standard: Auto
TabWidth: '4'
UseTab: Never
...
5 changes: 5 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
Checks: '*,-fuchsia-*,-google-*,-zircon-*,-abseil-*,-modernize-use-trailing-return-type,-llvm-*'
WarningsAsErrors: '*'
HeaderFilterRegex: '.*'
FormatStyle: none
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!--- Provide a general summary of the issue in the Title above -->
Issue tracker is **ONLY** used for reporting bugs. Make sure to read the **[CONTRIBUTING](/CONTRIBUTING.md)** document before submitting your issue.

## Expected Behavior
<!--- Tell us what should happen -->

## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->

## Possible Solution
<!--- Not obligatory, but suggest a fix/reason for the bug, -->

## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
1.
1.

## Context (Environment)
<!--- How has this issue affected you? What are you trying to accomplish? -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->

<!--- Provide a general summary of the issue in the Title above -->

## Detailed Description
<!--- Provide a detailed description of the change or addition you are proposing -->

## Possible Implementation
<!--- Not obligatory, but suggest an idea for implementing addition or change -->
46 changes: 46 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<!--- Provide a general summary of your changes in the Title above -->

## Description
<!--- Describe your changes in detail -->

## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, tests ran to see how -->
<!--- your change affects other areas of the code, etc. -->

## Screenshots (if appropriate):

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Chore (anything related to the building tools or the pipeline)
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Refactor (A code change that neither fixes a bug nor adds a feature)
- [ ] Style (Changes that do not affect the meaning of the code)
- [ ] Perf (A code change that improves performance)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation (adding documentation of any kind to the project)
- [ ] Other

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] I have read the **[CONTRIBUTING](/CONTRIBUTING.md)** document.
- [ ] My code follows the code style of this project.
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.

<!--- One last step before submitting Make sure : -->

1. That your PR is not a duplicate.
1. You have only one commit (if not, squash them into one commit).
1. Your pull request MUST NOT target the `master` branch on this repository. You probably want to target `develop` instead.
1. Your branch have no conflict with the target branch.
1. Put `closes #XXXX` in your comment to auto-close the issue that your PR fixes (if such).

**PLEASE REMOVE UNUSED PART OF THIS TEMPLATE BEFORE SUBMITTING**
83 changes: 83 additions & 0 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: C++ CMake Build

on:
push:
branches-ignore:
- 'doc/**'
- 'tmp/**'
- 'experimental/**'
pull_request:
branches:
- '**'

jobs:
build:
strategy:
fail-fast: false
matrix:
os: [
ubuntu-latest,
# macos-latest,
windows-latest
]
build_type: [
"MinSizeRel",
# "Release"
# "RelWithDebInfo",
"Debug"
]
arch: [
# "x32",
"x64"
]

runs-on: ${{ matrix.os }}

steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: true

# https://github.com/marketplace/actions/setup-python
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
architecture: ${{ matrix.arch }}

- name: Installing Dependencies
shell: bash
run: ./tools/install.sh

## https://github.com/marketplace/actions/cache
# - name: Cache Build
# uses: actions/cache@v2
# with:
# path: ~/.conan
# key: ${{ runner.os }}-conan-${{ matrix.build_type }}-cache-v3-${{ hashFiles('**/conanfile.txt') }}
# restore-keys: ${{ runner.os }}-conan-${{ matrix.build_type }}-cache-v3

- name: Generate
shell: bash
run: ./tools/generate.sh --build_type ${{ matrix.build_type }} --arch ${{ matrix.arch }}

- name: Build
shell: bash
run: ./tools/build.sh --build_type ${{ matrix.build_type }} --arch ${{ matrix.arch }}

- name: launch Windows
shell: bash
if: ${{ matrix.os == 'windows-latest' }}
run: ./build/${{ matrix.build_type }}/out/${{ matrix.build_type }}/app.exe --version

- name: launch Ubuntu
shell: bash
if: ${{ matrix.os == 'ubuntu-latest' }}
run: ./build/${{ matrix.build_type }}/${{ matrix.arch }}/out/app --version

# TODO :
# add steps 'unit-tests'
# add steps 'benchmark'
# add steps 'style & lint'
# ..
48 changes: 48 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# IDE related
.vs
.vscode
.idea
CMakeSettings.json

# Output directory
build
out

# Generated files
imgui.ini
app.ini
recorded_events.json
logs
54 changes: 54 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
cmake_minimum_required(VERSION 3.9[..3.18])

# Get version from the file 'VERSION'
file(STRINGS "VERSION" PROJECT_VERSION LIMIT_COUNT 1)

project(GameProject
LANGUAGES CXX
VERSION ${PROJECT_VERSION}
DESCRIPTION "KMU Fall Game Project"
HOMEPAGE_URL "https://github.com/Mathieu-Lala/game_project")

include(cmake/PreventInSourceBuilds.cmake)
include(cmake/StandardProjectSettings.cmake)

# Cache Compiler
include(cmake/Cache.cmake)


# Options to apply on targets
add_library(project_options INTERFACE)
target_compile_features(project_options INTERFACE cxx_std_20)

# Warnings to apply on targets
add_library(project_warnings INTERFACE)
include(cmake/CompilerWarnings.cmake)
set_project_warnings(project_warnings)


# Debugging flags
include(cmake/Sanitizers.cmake)
enable_sanitizers(project_options)


# Compile time optimizer
add_library(project_pch INTERFACE)

option(ENABLE_PCH "Enable Precompiled Headers" OFF)
if(ENABLE_PCH)
target_precompile_headers(project_pch INTERFACE
<vector> <string> <utility> <functional> <glm/glm.hpp>)
endif()


# Allow for static analysis options
include(cmake/StaticAnalyzers.cmake)


# External libaries
include(cmake/Conan.cmake)
run_conan()


# Our targets
add_subdirectory(src)
Loading

0 comments on commit 81b9b43

Please sign in to comment.