add debug log

This commit is contained in:
2025-04-02 19:30:06 +02:00
parent e247f72b78
commit b3138e211f
6 changed files with 112 additions and 18 deletions

64
Cargo.lock generated
View File

@@ -708,6 +708,16 @@ dependencies = [
"smallvec", "smallvec",
] ]
[[package]]
name = "bevy_debug_log"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c510232d5f2518eca429fe62ebb77b056cf100ea207950f974ed4d6f44003fb4"
dependencies = [
"bevy",
"time",
]
[[package]] [[package]]
name = "bevy_derive" name = "bevy_derive"
version = "0.15.3" version = "0.15.3"
@@ -2180,6 +2190,15 @@ dependencies = [
"syn", "syn",
] ]
[[package]]
name = "deranged"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28cfac68e08048ae1883171632c2aef3ebc555621ae56fbccce1cbf22dd7f058"
dependencies = [
"powerfmt",
]
[[package]] [[package]]
name = "derive_more" name = "derive_more"
version = "1.0.0" version = "1.0.0"
@@ -2927,6 +2946,7 @@ dependencies = [
"bevy-ui-gradients", "bevy-ui-gradients",
"bevy_asset_loader", "bevy_asset_loader",
"bevy_ballistic", "bevy_ballistic",
"bevy_debug_log",
"bevy_polyline", "bevy_polyline",
"bevy_sprite3d", "bevy_sprite3d",
"bevy_trenchbroom", "bevy_trenchbroom",
@@ -3622,6 +3642,12 @@ dependencies = [
"num-traits", "num-traits",
] ]
[[package]]
name = "num-conv"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]] [[package]]
name = "num-derive" name = "num-derive"
version = "0.4.2" version = "0.4.2"
@@ -4176,6 +4202,12 @@ dependencies = [
"portable-atomic", "portable-atomic",
] ]
[[package]]
name = "powerfmt"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
[[package]] [[package]]
name = "pp-rs" name = "pp-rs"
version = "0.2.1" version = "0.2.1"
@@ -5134,6 +5166,38 @@ dependencies = [
"weezl", "weezl",
] ]
[[package]]
name = "time"
version = "0.3.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40"
dependencies = [
"deranged",
"itoa",
"js-sys",
"num-conv",
"powerfmt",
"serde",
"time-core",
"time-macros",
]
[[package]]
name = "time-core"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
[[package]]
name = "time-macros"
version = "0.2.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49"
dependencies = [
"num-conv",
"time-core",
]
[[package]] [[package]]
name = "tiny-keccak" name = "tiny-keccak"
version = "2.0.2" version = "2.0.2"

View File

@@ -33,6 +33,7 @@ bevy-inspector-egui = { version = "0.30", optional = true }
bevy_polyline = "0.11.0" bevy_polyline = "0.11.0"
bevy_ballistic = "0.1.0" bevy_ballistic = "0.1.0"
bevy-ui-gradients = "0.2.0" bevy-ui-gradients = "0.2.0"
bevy_debug_log = "0.5.0"
[lints.clippy] [lints.clippy]
too_many_arguments = "allow" too_many_arguments = "allow"

View File

@@ -1,6 +1,6 @@
use crate::{ use crate::{
GameState, GameState,
camera::CameraState, camera::{CameraState, MainCamera},
tb_entities::{CameraTarget, CutsceneCamera, CutsceneCameraMovementEnd}, tb_entities::{CameraTarget, CutsceneCamera, CutsceneCameraMovementEnd},
}; };
use bevy::prelude::*; use bevy::prelude::*;
@@ -30,9 +30,12 @@ fn on_start_cutscene(
trigger: Trigger<StartCutscene>, trigger: Trigger<StartCutscene>,
mut cam_state: ResMut<CameraState>, mut cam_state: ResMut<CameraState>,
mut cutscene_state: ResMut<CutsceneState>, mut cutscene_state: ResMut<CutsceneState>,
cutscenes: Query<(&Transform, &CutsceneCamera, &Target), Without<Camera>>, cutscenes: Query<(&Transform, &CutsceneCamera, &Target), Without<MainCamera>>,
cutscene_movement: Query<(&Transform, &CutsceneCameraMovementEnd, &Target), Without<Camera>>, cutscene_movement: Query<
cam_target: Query<(&Transform, &CameraTarget), Without<Camera>>, (&Transform, &CutsceneCameraMovementEnd, &Target),
Without<MainCamera>,
>,
cam_target: Query<(&Transform, &CameraTarget), Without<MainCamera>>,
) { ) {
let cutscene = trigger.event().0.clone(); let cutscene = trigger.event().0.clone();
@@ -68,7 +71,7 @@ fn on_start_cutscene(
fn update( fn update(
mut cam_state: ResMut<CameraState>, mut cam_state: ResMut<CameraState>,
mut cutscene_state: ResMut<CutsceneState>, mut cutscene_state: ResMut<CutsceneState>,
mut cam: Query<&mut Transform, With<Camera>>, mut cam: Query<&mut Transform, With<MainCamera>>,
time: Res<Time>, time: Res<Time>,
) { ) {
if let CutsceneState::Playing { if let CutsceneState::Playing {

12
src/debug.rs Normal file
View File

@@ -0,0 +1,12 @@
use bevy::prelude::*;
use bevy_debug_log::LogViewerVisibility;
pub fn plugin(app: &mut App) {
app.add_systems(Update, update);
}
fn update(mut commands: Commands, keyboard: Res<ButtonInput<KeyCode>>) {
if keyboard.just_pressed(KeyCode::Backquote) {
commands.trigger(LogViewerVisibility::Toggle);
}
}

View File

@@ -7,6 +7,7 @@ mod cash;
mod cash_heal; mod cash_heal;
mod control; mod control;
mod cutscene; mod cutscene;
mod debug;
mod gates; mod gates;
mod heads; mod heads;
mod hitpoints; mod hitpoints;
@@ -32,6 +33,7 @@ use bevy_polyline::PolylinePlugin;
use bevy_sprite3d::Sprite3dPlugin; use bevy_sprite3d::Sprite3dPlugin;
use bevy_trenchbroom::prelude::*; use bevy_trenchbroom::prelude::*;
use bevy_ui_gradients::UiGradientsPlugin; use bevy_ui_gradients::UiGradientsPlugin;
use camera::MainCamera;
use control::controller::CharacterControllerPlugin; use control::controller::CharacterControllerPlugin;
use loading_assets::AudioAssets; use loading_assets::AudioAssets;
use utils::billboards; use utils::billboards;
@@ -68,15 +70,25 @@ fn main() {
cam_follow: true, cam_follow: true,
}); });
app.add_plugins(DefaultPlugins.set(WindowPlugin { app.add_plugins(
primary_window: Some(Window { DefaultPlugins
title: "HEDZ Reloaded".into(), .set(WindowPlugin {
resolution: (1024., 768.).into(), primary_window: Some(Window {
..default() title: "HEDZ Reloaded".into(),
}), resolution: (1024., 768.).into(),
..default() ..default()
})); }),
..default()
})
.set(bevy::log::LogPlugin {
filter: "info".into(),
level: bevy::log::Level::INFO,
// provide custom log layer to receive logging events
custom_layer: bevy_debug_log::log_capture_layer,
}),
);
app.add_plugins(bevy_debug_log::LogViewerPlugin::default());
app.add_plugins(PhysicsPlugins::default()); app.add_plugins(PhysicsPlugins::default());
app.add_plugins(CharacterControllerPlugin); app.add_plugins(CharacterControllerPlugin);
app.add_plugins(PolylinePlugin); app.add_plugins(PolylinePlugin);
@@ -120,6 +132,7 @@ fn main() {
app.add_plugins(heads::plugin); app.add_plugins(heads::plugin);
app.add_plugins(hitpoints::plugin); app.add_plugins(hitpoints::plugin);
app.add_plugins(cash_heal::plugin); app.add_plugins(cash_heal::plugin);
app.add_plugins(debug::plugin);
app.init_state::<GameState>(); app.init_state::<GameState>();
@@ -163,7 +176,7 @@ fn write_trenchbroom_config(server: Res<TrenchBroomServer>) {
} }
fn set_tonemapping( fn set_tonemapping(
mut cams: Query<(&mut Tonemapping, &mut ColorGrading), With<Camera>>, mut cams: Query<(&mut Tonemapping, &mut ColorGrading), With<MainCamera>>,
visuals: Res<DebugVisuals>, visuals: Res<DebugVisuals>,
) { ) {
for (mut tm, mut color) in cams.iter_mut() { for (mut tm, mut color) in cams.iter_mut() {

View File

@@ -1,3 +1,4 @@
use crate::camera::MainCamera;
use bevy::prelude::*; use bevy::prelude::*;
use bevy_sprite3d::Sprite3dPlugin; use bevy_sprite3d::Sprite3dPlugin;
@@ -15,10 +16,10 @@ pub fn plugin(app: &mut App) {
} }
fn face_camera( fn face_camera(
cam_query: Query<&GlobalTransform, With<Camera>>, cam_query: Query<&GlobalTransform, With<MainCamera>>,
mut query: Query< mut query: Query<
(&mut Transform, &Parent, &InheritedVisibility), (&mut Transform, &Parent, &InheritedVisibility),
(With<Billboard>, Without<Camera>), (With<Billboard>, Without<MainCamera>),
>, >,
parent_transform: Query<&GlobalTransform>, parent_transform: Query<&GlobalTransform>,
) { ) {
@@ -41,8 +42,8 @@ fn face_camera(
} }
fn face_camera_no_parent( fn face_camera_no_parent(
cam_query: Query<&GlobalTransform, With<Camera>>, cam_query: Query<&GlobalTransform, With<MainCamera>>,
mut query: Query<&mut Transform, (With<Billboard>, Without<Camera>, Without<Parent>)>, mut query: Query<&mut Transform, (With<Billboard>, Without<MainCamera>, Without<Parent>)>,
) { ) {
let Ok(cam_transform) = cam_query.get_single() else { let Ok(cam_transform) = cam_query.get_single() else {
return; return;