Skip to content

Commit

Permalink
BevyRenet: move steam support to renet_steam
Browse files Browse the repository at this point in the history
The steam feature was slowing down the development of the bevy_renet. Moving the steam support for bevy to renet_steam should fix this.
  • Loading branch information
lucaspoffo committed Feb 8, 2024
1 parent 0aa1a4d commit 9584c69
Show file tree
Hide file tree
Showing 8 changed files with 16 additions and 13 deletions.
2 changes: 0 additions & 2 deletions bevy_renet/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ version = "0.0.10"
default = ["transport"]
serde = ["renet/serde"]
transport = ["renet/transport"]
steam = ["renet_steam"]

[[example]]
name = "simple"
Expand All @@ -23,7 +22,6 @@ required-features = ["serde", "transport"]
[dependencies]
bevy = {version = "0.12", default-features = false}
renet = {path = "../renet", version = "0.0.14", default-features=false, features = ["bevy"]}
renet_steam = { path = "../renet_steam", version = "0.0.1", features = [ "bevy" ], optional = true }

[dev-dependencies]
bevy = {version = "0.12", default-features = false, features = ["bevy_core_pipeline", "bevy_render", "bevy_asset", "bevy_pbr", "x11", "tonemapping_luts", "ktx2", "zstd"]}
Expand Down
3 changes: 0 additions & 3 deletions bevy_renet/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ use renet::{RenetClient, RenetServer, ServerEvent};
#[cfg(feature = "transport")]
pub mod transport;

#[cfg(feature = "steam")]
pub mod steam;

/// This system set is where all transports receive messages
///
/// If you want to ensure data has arrived in the [`RenetClient`] or [`RenetServer`], then schedule your
Expand Down
3 changes: 2 additions & 1 deletion demo_bevy/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@ path = "src/bin/server.rs"

[features]
transport = ["bevy_renet/transport"]
steam = ["bevy_renet/steam", "steamworks"]
steam = ["dep:renet_steam", "steamworks"]

[dependencies]
bevy = {version = "0.12", default-features = false, features = ["bevy_core_pipeline", "bevy_render", "bevy_asset", "bevy_pbr", "x11", "tonemapping_luts", "ktx2", "zstd"]}
bevy_renet = { path = "../bevy_renet", features = ["serde"] }
renet_steam = { path = "../renet_steam", features = ["bevy"], optional = true }
serde = { version = "1.0", features = ["derive"] }
bincode = "1.3.1"
bevy_egui = "0.23.0"
Expand Down
2 changes: 1 addition & 1 deletion demo_bevy/src/bin/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ fn add_netcode_network(app: &mut App) {

#[cfg(feature = "steam")]
fn add_steam_network(app: &mut App) {
use bevy_renet::steam::{SteamClientPlugin, SteamClientTransport, SteamTransportError};
use renet_steam::bevy::{SteamClientPlugin, SteamClientTransport, SteamTransportError};
use steamworks::{SingleClient, SteamId};

let (steam_client, single) = steamworks::Client::init_app(480).unwrap();
Expand Down
3 changes: 2 additions & 1 deletion demo_bevy/src/bin/server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,9 @@ fn add_netcode_network(app: &mut App) {

#[cfg(feature = "steam")]
fn add_steam_network(app: &mut App) {
use bevy_renet::steam::{AccessPermission, SteamServerConfig, SteamServerPlugin, SteamServerTransport};
use demo_bevy::connection_config;
use renet_steam::bevy::{SteamServerConfig, SteamServerPlugin, SteamServerTransport};
use renet_steam::AccessPermission;
use steamworks::SingleClient;

let (steam_client, single) = steamworks::Client::init_app(480).unwrap();
Expand Down
4 changes: 3 additions & 1 deletion renet_steam/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,16 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
bevy = ["dep:bevy_ecs"]
bevy = ["dep:bevy_app", "dep:bevy_ecs", "dep:bevy_renet"]

[dependencies]
renet = { path = "../renet" }
# its version 0.10 but we need to use the rev because of a missing feature
steamworks = { git = "https://github.com/Noxime/steamworks-rs", rev = "a4dfe2a" }
log = "0.4.19"
bevy_ecs = { version = "0.12", optional = true }
bevy_app = { version = "0.12", optional = true }
bevy_renet = { version = "0.0.10", optional = true, path = "../bevy_renet" }

[dev-dependencies]
env_logger = "0.10.0"
9 changes: 5 additions & 4 deletions bevy_renet/src/steam.rs → renet_steam/src/bevy.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
use bevy::{app::AppExit, prelude::*};
use bevy_app::{prelude::*, AppExit};
use bevy_ecs::prelude::*;
use renet::{RenetClient, RenetServer};
use renet_steam::steamworks::SteamError;
use steamworks::SteamError;

use crate::{RenetClientPlugin, RenetReceive, RenetSend, RenetServerPlugin};
use bevy_renet::{RenetClientPlugin, RenetReceive, RenetSend, RenetServerPlugin};

pub use renet_steam::{AccessPermission, SteamClientTransport, SteamServerConfig, SteamServerTransport};
pub use crate::{AccessPermission, SteamClientTransport, SteamServerConfig, SteamServerTransport};

pub struct SteamServerPlugin;

Expand Down
3 changes: 3 additions & 0 deletions renet_steam/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ const MAX_MESSAGE_BATCH_SIZE: usize = 512;
mod client;
mod server;

#[cfg(feature = "bevy")]
pub mod bevy;

pub use client::SteamClientTransport;
pub use server::{AccessPermission, SteamServerConfig, SteamServerTransport};

Expand Down

0 comments on commit 9584c69

Please sign in to comment.