Skip to content

PyroFlareX/gravity-dropper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gravity-dropper

C++

In this project, you drop blobs of adjustable color, radius, and mass, and watch how they interact. It uses SFML2 for handling all the graphics. The left side panel has all the settings for adjusting the type of blob. Once finished adjusting, click on the screen to place. Scroll with the mouse to zoom, and pan with middle click or the arrow keys. Press 'N' to reset the board.

This project isn't serious, it's mainly there to test the effectiveness of a configuration, and of ease of working in an environment with less build problems. The actual code itself is just based loosely off my state-manager and other engine code, but using some SFML to keep it simple. Code quality isn't representative of my best work either, and is largely vibe-coded. Tune-ups and whatnot are done by me.

To use the script to setup a generic project of yours, from a C++ project, to a website, to Rust, to even a school paper, check out my scripts repo or my dotfiles repo. It should be somewhere in there.

Prerequisites

  • Git
  • GNU Make
  • Conan2 (pip install conan)
  • A C++ compiler (GCC 13+ / Clang 17+)
  • pkg-config

You should just be able to install a C++ compiler, install build tools, and be good to go. If on windows, MSys2 or WSL2 is recommended but wholly possible without with proper PATH and ENV configurations.

Quick Start

git clone https://github.com/PyroFlareX/gravity-dropper.git
cd gravity-dropper
make -C project-tools init

Build

cd project-tools
make build                          # default profile
make build PROFILE=arm-none-eabi    # cross-compile
make profile-list                   # see all profiles

Test

make test

Run

make run   # runs build/<profile>/<binary>

Format & Lint (Also sets up proper linting with compile-commands)

make fmt
make lint
make compile-commands

VS Code

File → Open Workspace from File → project-tools/gravity-dropper.code-workspace

All tasks call make. One source of truth.

Adding Dependencies

C++: Edit project-tools/conanfile.py + CONAN_PKGS in Makefile, then make deps-cpp

Cross-Compilation

Create project-tools/profiles/<name>:

arch=aarch64
os=Linux
compiler=aarch64-linux-gnu-gcc
build_type=Release
CXX=aarch64-linux-gnu-g++
rust_target=aarch64-unknown-linux-gnu

Then: make build PROFILE=<name>

All Targets

make help

About

An example project using new Project Management scripts.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors