Skip to content
Snippets Groups Projects
Select Git revision
  • calibratio2 default
  • calibratio1
2 results

calibratio

  • Clone with SSH
  • Clone with HTTPS
  • 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

    Frederik Keens:

    • main.cpp
    • Player.cpp/hpp
    • Level.cpp/hpp
    • Building.cpp/hpp
    • Unit.cpp/hpp
    • Tile.cpp/hpp
    • Spritesheet.cpp/hpp
    • Scene.hpp
    • Engine.cpp/hpp

    David Hermann:

    • Projektmanagement (GitLab Issues, Milestones, etc.)
    • Projektstruktur (Ordnerhierarchien)
    • Refactoring der Architektur für bessere Modularität, Memory Management und Box2d Integration
    • Spezifische Arbeit:
      • CMakeLists.txt
      • CombatEngine.cpp/hpp (refactoring, box2d integration)
      • GameManager.cpp/hpp
      • Unit.cpp/hpp (refactoring, box2d integration)
      • Bullet.cpp/hpp
      • Level.cpp/hpp (refactoring, box2d integration)
      • PhysicsBody.cpp/hpp (box2d integration)
      • PhysicsEngine.cpp/hpp (box2d integration)
      • Menu.cpp/hpp (Main Menu UI)
      • ContextMenu.cpp/hpp (Context Menu)
      • Dimensions.hpp