chore: clang-format-ted codebase
This commit is contained in:
parent
697ba9f2f8
commit
fc74361bb3
|
|
@ -1,11 +1,12 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
#include <random>
|
|
||||||
#include <cmath>
|
|
||||||
|
|
||||||
#include <SFML/Graphics.hpp>
|
#include <SFML/Graphics.hpp>
|
||||||
|
#include <cmath>
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <random>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
namespace v1 {
|
||||||
struct Ball {
|
struct Ball {
|
||||||
sf::CircleShape shape;
|
sf::CircleShape shape;
|
||||||
sf::Vector2f velocity;
|
sf::Vector2f velocity;
|
||||||
|
|
@ -31,7 +32,7 @@ private:
|
||||||
std::uniform_real_distribution<float> radiusDist;
|
std::uniform_real_distribution<float> radiusDist;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
BallGame::BallGame() {
|
BallGame() {
|
||||||
gen = std::mt19937(rd());
|
gen = std::mt19937(rd());
|
||||||
posDist = std::uniform_real_distribution<float>(5.0f, 795.0f);
|
posDist = std::uniform_real_distribution<float>(5.0f, 795.0f);
|
||||||
velDist = std::uniform_real_distribution<float>(-200.0f, 200.0f);
|
velDist = std::uniform_real_distribution<float>(-200.0f, 200.0f);
|
||||||
|
|
@ -87,7 +88,8 @@ public:
|
||||||
float velAlongNormal = relativeVel.x * normal.x + relativeVel.y * normal.y;
|
float velAlongNormal = relativeVel.x * normal.x + relativeVel.y * normal.y;
|
||||||
|
|
||||||
// Don't resolve if velocities are separating
|
// Don't resolve if velocities are separating
|
||||||
if (velAlongNormal > 0) continue;
|
if (velAlongNormal > 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
// Apply collision response (elastic collision)
|
// Apply collision response (elastic collision)
|
||||||
float restitution = 0.0f; // Bounce factor (0 = no bounce, 1 = perfect bounce)
|
float restitution = 0.0f; // Bounce factor (0 = no bounce, 1 = perfect bounce)
|
||||||
|
|
@ -112,8 +114,7 @@ public:
|
||||||
// Clamp position to prevent sticking
|
// Clamp position to prevent sticking
|
||||||
if (pos.x - radius <= 0) {
|
if (pos.x - radius <= 0) {
|
||||||
ball.shape.setPosition(sf::Vector2f(radius, pos.y));
|
ball.shape.setPosition(sf::Vector2f(radius, pos.y));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
ball.shape.setPosition(sf::Vector2f(windowSize.x - radius, pos.y));
|
ball.shape.setPosition(sf::Vector2f(windowSize.x - radius, pos.y));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -123,18 +124,17 @@ public:
|
||||||
// Clamp position to prevent sticking
|
// Clamp position to prevent sticking
|
||||||
if (pos.y - radius <= 0) {
|
if (pos.y - radius <= 0) {
|
||||||
ball.shape.setPosition(sf::Vector2f(pos.x, radius));
|
ball.shape.setPosition(sf::Vector2f(pos.x, radius));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
ball.shape.setPosition(sf::Vector2f(pos.x, windowSize.y - radius));
|
ball.shape.setPosition(sf::Vector2f(pos.x, windowSize.y - radius));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawBalls( sf::RenderWindow& window ) const
|
void drawBalls(sf::RenderWindow &window) const {
|
||||||
{
|
|
||||||
for (const auto &ball : balls) {
|
for (const auto &ball : balls) {
|
||||||
window.draw(ball.shape);
|
window.draw(ball.shape);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
} // namespace v1
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,13 @@
|
||||||
#include <imgui.h>
|
#include <imgui.h>
|
||||||
#include <print>
|
#include <print>
|
||||||
|
|
||||||
|
#include "Balls.hpp"
|
||||||
|
namespace v1 {
|
||||||
|
static BallGame sim;
|
||||||
|
}
|
||||||
|
namespace v2 {
|
||||||
|
}
|
||||||
|
|
||||||
void configure(AppConfig &config) {
|
void configure(AppConfig &config) {
|
||||||
config.window_title = "CHANGEME";
|
config.window_title = "CHANGEME";
|
||||||
config.frame_rate_limit = std::nullopt;
|
config.frame_rate_limit = std::nullopt;
|
||||||
|
|
@ -18,7 +25,6 @@ void configure(AppConfig &config) {
|
||||||
void setup() {
|
void setup() {
|
||||||
ImGui::GetIO().ConfigFlags |= (ImGuiConfigFlags_NavEnableKeyboard | ImGuiConfigFlags_NavEnableGamepad | ImGuiConfigFlags_DockingEnable);
|
ImGui::GetIO().ConfigFlags |= (ImGuiConfigFlags_NavEnableKeyboard | ImGuiConfigFlags_NavEnableGamepad | ImGuiConfigFlags_DockingEnable);
|
||||||
sf::View view{get_window().getView()};
|
sf::View view{get_window().getView()};
|
||||||
view.setCenter({0.f, 0.f});
|
|
||||||
set_render_view(view);
|
set_render_view(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -29,18 +35,17 @@ void handle_window_event(sf::Event const &event) {
|
||||||
if (sf::Event::Resized const *resized{event.getIf<sf::Event::Resized>()}) {
|
if (sf::Event::Resized const *resized{event.getIf<sf::Event::Resized>()}) {
|
||||||
sf::View view{get_window().getView()};
|
sf::View view{get_window().getView()};
|
||||||
view.setSize({static_cast<float>(resized->size.x), static_cast<float>(resized->size.y)});
|
view.setSize({static_cast<float>(resized->size.x), static_cast<float>(resized->size.y)});
|
||||||
|
view.setCenter({view.getSize().x / 2.f, view.getSize().y / 2.f});
|
||||||
set_render_view(view);
|
set_render_view(view);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop(double delta) {
|
void loop(double delta) {
|
||||||
|
v1::sim.updateBalls(get_window().getSize(), delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
void draw_scene(sf::RenderTarget &target, sf::RenderStates const &states) {
|
void draw_scene(sf::RenderTarget &target, sf::RenderStates const &states) {
|
||||||
static sf::RectangleShape rect{{300, 300}};
|
v1::sim.drawBalls(get_window());
|
||||||
sf::RenderStates n_states{states};
|
|
||||||
n_states.transform.translate({-150, -150});
|
|
||||||
target.draw(rect, n_states);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void draw_main_menu_bar() {
|
void draw_main_menu_bar() {
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ struct AppConfig {
|
||||||
|
|
||||||
extern AppConfig const &get_application_configuration();
|
extern AppConfig const &get_application_configuration();
|
||||||
extern sf::Time const &get_delta_time();
|
extern sf::Time const &get_delta_time();
|
||||||
extern sf::RenderWindow const &get_window();
|
extern sf::RenderWindow &get_window();
|
||||||
extern void set_render_view(sf::View const &view);
|
extern void set_render_view(sf::View const &view);
|
||||||
|
|
||||||
#endif // !LLCS_DEFS_H
|
#endif // !LLCS_DEFS_H
|
||||||
|
|
|
||||||
18
src/main.cpp
18
src/main.cpp
|
|
@ -16,8 +16,9 @@ void initialize_window() {
|
||||||
cfg = AppConfig();
|
cfg = AppConfig();
|
||||||
configure(cfg);
|
configure(cfg);
|
||||||
window.create(cfg.mode, cfg.window_title);
|
window.create(cfg.mode, cfg.window_title);
|
||||||
if (cfg.frame_rate_limit)
|
if (cfg.frame_rate_limit) {
|
||||||
window.setFramerateLimit(cfg.frame_rate_limit.value_or(0));
|
window.setFramerateLimit(cfg.frame_rate_limit.value_or(0));
|
||||||
|
}
|
||||||
window.setVerticalSyncEnabled(cfg.vsync);
|
window.setVerticalSyncEnabled(cfg.vsync);
|
||||||
view = window.getDefaultView();
|
view = window.getDefaultView();
|
||||||
}
|
}
|
||||||
|
|
@ -39,8 +40,7 @@ void try_handle_input_event(sf::Event const &event) {
|
||||||
event.is<sf::Event::TouchBegan>() || event.is<sf::Event::TouchEnded>() ||
|
event.is<sf::Event::TouchBegan>() || event.is<sf::Event::TouchEnded>() ||
|
||||||
event.is<sf::Event::TouchMoved>() ||
|
event.is<sf::Event::TouchMoved>() ||
|
||||||
event.is<sf::Event::MouseButtonPressed>() || event.is<sf::Event::MouseButtonReleased>() ||
|
event.is<sf::Event::MouseButtonPressed>() || event.is<sf::Event::MouseButtonReleased>() ||
|
||||||
event.is<sf::Event::MouseMoved>() || event.is<sf::Event::MouseMovedRaw>()
|
event.is<sf::Event::MouseMoved>() || event.is<sf::Event::MouseMovedRaw>()};
|
||||||
};
|
|
||||||
if (is_input_event) {
|
if (is_input_event) {
|
||||||
handle_input_event(event);
|
handle_input_event(event);
|
||||||
}
|
}
|
||||||
|
|
@ -50,21 +50,21 @@ void try_handle_window_event(sf::Event const &event) {
|
||||||
bool const is_window_event{
|
bool const is_window_event{
|
||||||
event.is<sf::Event::FocusGained>() ||
|
event.is<sf::Event::FocusGained>() ||
|
||||||
event.is<sf::Event::FocusLost>() ||
|
event.is<sf::Event::FocusLost>() ||
|
||||||
event.is<sf::Event::Resized>()
|
event.is<sf::Event::Resized>()};
|
||||||
};
|
|
||||||
if (is_window_event) {
|
if (is_window_event) {
|
||||||
handle_window_event(event);
|
handle_window_event(event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void poll_events() {
|
void poll_events() {
|
||||||
while (std::optional const event{ window.pollEvent() })
|
while (std::optional const event{window.pollEvent()}) {
|
||||||
{
|
|
||||||
ImGui::SFML::ProcessEvent(window, *event);
|
ImGui::SFML::ProcessEvent(window, *event);
|
||||||
try_handle_input_event(*event);
|
try_handle_input_event(*event);
|
||||||
try_handle_window_event(*event);
|
try_handle_window_event(*event);
|
||||||
|
|
||||||
if (event->is<sf::Event::Closed>()) { window.close(); }
|
if (event->is<sf::Event::Closed>()) {
|
||||||
|
window.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -110,7 +110,7 @@ sf::Time const &get_delta_time() {
|
||||||
return delta_time;
|
return delta_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
sf::RenderWindow const &get_window() {
|
sf::RenderWindow &get_window() {
|
||||||
return window;
|
return window;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue