Skip to content
Snippets Groups Projects
Select Git revision
  • c3d085d8b84d7cea26ae845d86d82632f8f6c0ee
  • main default protected
  • leveleditor
  • david-author
  • clang-tidy-cleanup
  • architecture-refactoring
  • cleanUpMenus
  • doxygen-cleanup
  • project-structure-refactoring
  • interpolation
  • buildingFeatures
  • win_end_screen
  • helpMenu
  • leveleditor-placement
  • text-rendering
  • updated_unit_contextmenu
  • level-from-commandline
  • unit_contextmenu
  • player
  • engine-scaling
  • clang-tidy
21 results

cpp-project

Lorenz Martin Diel's avatar
Lorenz Martin Diel authored
# Conflicts:
#   README.md
#   src/game/level/Level.cpp
#   src/game/level/Level.hpp
#   src/game/ui/modals/UnitInfoMenu.cpp
#   src/game/ui/modals/UnitInfoMenu.hpp
c3d085d8
History

Advanced Wars

clang-tidy

  • Um clang-tidy für eine einzelne Datei (z.B. main.cpp) auszuführen:

    clang-tidy src/game/main.cpp -header-filter="src/game/main\.cpp" -p build/

  • Um clang-tidy für das ganze Projekt auszuführen und die Warnings in die Datei clang-tidy-warnings.txt zu schreiben:

    find src/game -name '*.cpp' -o -name '*.hpp' | xargs clang-tidy -header-filter="src/game/.*" -p build/ 1> clang-tidy-warnings.txt

Build-Anleitung

Linux/MacOS

  1. Repository klonen:

    git clone https://github.com/username/project.git
    cd project
  2. Build-Verzeichnis erstellen:

    mkdir build && cd build
  3. CMake konfigurieren und Build ausführen:

    cmake ..
    cmake --build .

Windows

  1. Repository klonen:

    git clone https://github.com/username/project.git
    cd project
  2. Build-Verzeichnis erstellen:

    mkdir build
    cd build
  3. CMake konfigurieren und Build ausführen:

    cmake ..
    cmake --build . --config Release

Visual Studio

  1. Repository klonen
  2. Visual Studio öffnen
  3. "Ordner öffnen" wählen und zum Projektverzeichnis navigieren
  4. Visual Studio erkennt automatisch das CMake-Projekt
  5. Build über "Build All" ausführen

Falls Syntax errors

  1. Erstelle .vscode/c_cpp_properties.json Datei
  2. Füge die folgende JSON so oder so ähnlich ein:
{
    "configurations": [
        {
            "name": "Fedora",
            "includePath": [
                "/usr/include",
                "/usr/include/SDL2"
            ],
            "defines": [],
            "intelliSenseMode": "linux-gcc-x64",
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c17",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

Build-Optionen

CMake kann mit verschiedenen Optionen konfiguriert werden:

cmake .. -DCMAKE_BUILD_TYPE=Release    # Release-Build
cmake .. -DCMAKE_BUILD_TYPE=Debug      # Debug-Build

Prerequisites for Leveleditor

  • QT 6: sudo apt install qt6-base-dev

Authors

Max Körschen:

  • Units.cpp/hpp (Combat and movement)
  • Helpmenu.cpp/hpp
  • UnitInfoMenu.cpp/hpp
  • RecruitingMenu.cpp/hpp and Recruiting interactions with level-class
  • Building.cpp/hpp (interactions and logic)
  • level.cpp/hpp (eventhandling for units and buildings, movement, attack etc)
  • debugging in CombatEngine.cpp/hpp, Bullets.cpp/hpp

Lorenz Diel:

  • Units.cpp/hpp
  • UnitInfoMenu.cpp/hpp
  • level.cpp/hpp
  • Config.cpp/hpp
  • Weapon.cpp/hpp
  • CombatEngine.cpp/hpp

David Maul:

  • Engine.cpp/hpp
  • Scene.hpp
  • Spritesheet.cpp/hpp
  • Tile.cpp/hpp
  • Window.cpp/hpp
  • Effect.cpp/hpp
  • Level.cpp/hpp
  • main.cpp