4 Commits

Author SHA1 Message Date
172b528138 Mark v0.6.2 release: Removed debug noise
Some checks failed
Basic checks / Basic build-and-test supertask (push) Failing after 1m10s
I've removed a bit of the debug stuff from the program -- mainly the
egui-inspector UI, but also some debug prints that were still happening
in the physics module.
2025-12-22 10:41:52 -06:00
70de4bb67d Remove debug prints in physics.rs 2025-12-22 10:39:40 -06:00
ebee953955 Hide egui-inspector window behind feature flag
The World Inspector widget shouldn't be enabled by default. This hides
it behind the "debug_ui" feature flag, along with the bevy_rapier2d
debug drawings.

The bevy_rapier2d debug plugin is now added when in debug mode, which
was not previously the case.
2025-12-21 16:45:52 -06:00
d2cb75c3a1 Apply clippy fixes 2025-12-20 09:38:46 -06:00
7 changed files with 30 additions and 29 deletions

2
Cargo.lock generated
View File

@@ -242,7 +242,7 @@ dependencies = [
[[package]] [[package]]
name = "asteroids" name = "asteroids"
version = "0.6.1" version = "0.6.2"
dependencies = [ dependencies = [
"bevy", "bevy",
"bevy-inspector-egui", "bevy-inspector-egui",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "asteroids" name = "asteroids"
version = "0.6.1" version = "0.6.2"
edition = "2024" edition = "2024"
license = "AGPL-3.0-only" license = "AGPL-3.0-only"

View File

@@ -217,7 +217,7 @@ fn input_ship_shoot(
physics::Velocity(bullet_vel), physics::Velocity(bullet_vel),
Mesh2d(game_assets.bullet().0), Mesh2d(game_assets.bullet().0),
MeshMaterial2d(game_assets.bullet().1), MeshMaterial2d(game_assets.bullet().1),
ship_pos.clone(), // clone ship transform *ship_pos, // clone ship transform
Lifetime(Timer::from_seconds(BULLET_LIFETIME, TimerMode::Once)), Lifetime(Timer::from_seconds(BULLET_LIFETIME, TimerMode::Once)),
AudioPlayer::new(game_assets.laser_sound()), AudioPlayer::new(game_assets.laser_sound()),
PlaybackSettings::ONCE, // `Lifetime` already despawns the entity, so this doesn't need to PlaybackSettings::ONCE, // `Lifetime` already despawns the entity, so this doesn't need to

View File

@@ -1,20 +1,28 @@
use bevy::{prelude::*, window::WindowResolution}; use bevy::{prelude::*, window::WindowResolution};
use asteroids::{AsteroidPlugin, config::WINDOW_SIZE}; use asteroids::{AsteroidPlugin, config::WINDOW_SIZE};
#[cfg(feature = "debug_ui")]
use bevy_inspector_egui::{bevy_egui::EguiPlugin, quick::WorldInspectorPlugin}; use bevy_inspector_egui::{bevy_egui::EguiPlugin, quick::WorldInspectorPlugin};
#[cfg(feature = "debug_ui")]
use bevy_rapier2d::render::RapierDebugRenderPlugin;
fn main() { fn main() {
App::new() let mut app = App::new();
.add_plugins(DefaultPlugins.set(WindowPlugin { app.add_plugins(DefaultPlugins.set(WindowPlugin {
primary_window: Some(Window { primary_window: Some(Window {
canvas: Some("#game-canvas".to_owned()), canvas: Some("#game-canvas".to_owned()),
resolution: WindowResolution::new(WINDOW_SIZE.0, WINDOW_SIZE.1), resolution: WindowResolution::new(WINDOW_SIZE.0, WINDOW_SIZE.1),
..default()
}),
..default() ..default()
})) }),
.add_plugins(AsteroidPlugin) ..default()
.add_plugins(EguiPlugin::default()) }))
.add_plugins(AsteroidPlugin);
#[cfg(feature = "debug_ui")]
app.add_plugins(EguiPlugin::default())
.add_plugins(WorldInspectorPlugin::new()) .add_plugins(WorldInspectorPlugin::new())
.run(); .add_plugins(RapierDebugRenderPlugin::default());
app.run();
} }

View File

@@ -238,7 +238,7 @@ pub fn ship_impact_listener(
Sparkler::at_interval(0.15), Sparkler::at_interval(0.15),
Mesh2d(game_assets.thruster_mesh()), // borrow the thruster mesh for now Mesh2d(game_assets.thruster_mesh()), // borrow the thruster mesh for now
MeshMaterial2d(game_assets.thruster_mat_active()), // ... and the active thruster material MeshMaterial2d(game_assets.thruster_mat_active()), // ... and the active thruster material
player.0.clone(), // clone the player transform *player.0, // clone the player transform
Velocity(vel), Velocity(vel),
)); ));
} }

View File

@@ -111,29 +111,21 @@ pub fn collision_listener(
if *one == *player { if *one == *player {
if rocks.contains(*two) { if rocks.contains(*two) {
// player-asteroid collision // player-asteroid collision
dbg!("Writing ShipDestroy event");
ship_writer.write(messages::ShipDestroy); ship_writer.write(messages::ShipDestroy);
} // else, we don't care } // else, we don't care
} else if *two == *player { } else if *two == *player && rocks.contains(*one) {
if rocks.contains(*one) { ship_writer.write(messages::ShipDestroy);
dbg!("Writing ShipDestroy event");
ship_writer.write(messages::ShipDestroy);
}
} }
// Option 2: Bullet & Asteroid // Option 2: Bullet & Asteroid
if bullets.contains(*one) { if bullets.contains(*one) {
if rocks.contains(*two) { if rocks.contains(*two) {
dbg!("Writing AsteroidDestroy & BulletDestroy events");
asteroid_writer.write(messages::AsteroidDestroy(*two)); asteroid_writer.write(messages::AsteroidDestroy(*two));
bullet_writer.write(messages::BulletDestroy(*one)); bullet_writer.write(messages::BulletDestroy(*one));
} }
} else if rocks.contains(*one) { } else if rocks.contains(*one) && bullets.contains(*two) {
if bullets.contains(*two) { asteroid_writer.write(messages::AsteroidDestroy(*one));
dbg!("Writing AsteroidDestroy & BulletDestroy events"); bullet_writer.write(messages::BulletDestroy(*two));
asteroid_writer.write(messages::AsteroidDestroy(*one));
bullet_writer.write(messages::BulletDestroy(*two));
}
} }
} }
} }

View File

@@ -8,7 +8,7 @@ use crate::{
}; };
use bevy::{ use bevy::{
color::palettes::css::{BLACK, DARK_GRAY, GREEN, LIGHT_BLUE, RED, WHITE}, color::palettes::css::{BLACK, DARK_GRAY, GREEN, RED, WHITE},
prelude::*, prelude::*,
}; };
@@ -263,6 +263,7 @@ fn animate_get_ready_widget(
/// on the HUD, this system would quit the game. The same will happen for /// on the HUD, this system would quit the game. The same will happen for
/// returning to the title screen. This should be useful for making a pause /// returning to the title screen. This should be useful for making a pause
/// menu, too. /// menu, too.
#[allow(clippy::type_complexity)]
fn operate_buttons( fn operate_buttons(
mut interactions: Query< mut interactions: Query<
( (