Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b5f3d8280b | ||
|
|
de5d8eb030 |
@@ -97,3 +97,31 @@ jobs:
|
|||||||
- name: Verify production binary is not Bevy/Rust dynamically linked
|
- name: Verify production binary is not Bevy/Rust dynamically linked
|
||||||
run: |
|
run: |
|
||||||
! readelf -d target/production/shinespark | grep -E 'libbevy_dylib|libstd-.*\.so'
|
! readelf -d target/production/shinespark | grep -E 'libbevy_dylib|libstd-.*\.so'
|
||||||
|
|
||||||
|
- name: Package Linux Steam depot
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
||||||
|
run: |
|
||||||
|
mkdir -p build/linux
|
||||||
|
cp target/production/shinespark build/linux/shinespark
|
||||||
|
cp -R assets build/linux/assets
|
||||||
|
cp -R imported_assets build/linux/imported_assets
|
||||||
|
|
||||||
|
- if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
||||||
|
uses: CyberAndrii/steam-totp@v1
|
||||||
|
name: Generate Steam TOTP
|
||||||
|
id: steam-totp
|
||||||
|
with:
|
||||||
|
shared_secret: ${{ secrets.STEAM_SHARED_SECRET }}
|
||||||
|
|
||||||
|
- name: Deploy Linux build to Steam
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
||||||
|
uses: game-ci/steam-deploy@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.STEAM_USERNAME }}
|
||||||
|
password: ${{ secrets.STEAM_PASSWORD }}
|
||||||
|
totp: ${{ steps.steam-totp.outputs.code }}
|
||||||
|
appId: 3409670
|
||||||
|
buildDescription: ${{ github.sha }}
|
||||||
|
rootPath: build
|
||||||
|
depot1Path: linux
|
||||||
|
releaseBranch: master
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
use bevy::{
|
use bevy::{
|
||||||
app::ScheduleRunnerPlugin,
|
app::ScheduleRunnerPlugin,
|
||||||
asset::{AssetMode, AssetPlugin, processor::AssetProcessor, processor::ProcessorState},
|
asset::{AssetMode, AssetPlugin, processor::AssetProcessor, processor::ProcessorState},
|
||||||
|
gltf::GltfPlugin,
|
||||||
|
image::ImagePlugin,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
tasks::block_on,
|
tasks::block_on,
|
||||||
|
text::TextPlugin,
|
||||||
};
|
};
|
||||||
use shinespark::AssetProcessingPlugin;
|
use shinespark::AssetProcessingPlugin;
|
||||||
use std::{process::ExitCode, time::Duration};
|
use std::{process::ExitCode, time::Duration};
|
||||||
@@ -15,6 +18,7 @@ fn main() -> ExitCode {
|
|||||||
use_asset_processor_override: Some(true),
|
use_asset_processor_override: Some(true),
|
||||||
..default()
|
..default()
|
||||||
})
|
})
|
||||||
|
.add_plugins((ImagePlugin::default(), TextPlugin, GltfPlugin::default()))
|
||||||
.add_plugins(AssetProcessingPlugin)
|
.add_plugins(AssetProcessingPlugin)
|
||||||
.add_systems(Update, finish_when_processed);
|
.add_systems(Update, finish_when_processed);
|
||||||
|
|
||||||
|
|||||||
+25
-6
@@ -32,7 +32,13 @@ use clap::Parser;
|
|||||||
use ron_asset_manager::RonAssetPlugin;
|
use ron_asset_manager::RonAssetPlugin;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
camera::MatchCameraPlugin, fighter::manifest::FighterManifest, game_settings::GameSettings, schedule::GameplaySchedulePlugin, stage::manifest::StageManifest, ui::InGameUIPlugin,
|
camera::MatchCameraPlugin,
|
||||||
|
fighter::manifest::FighterManifest,
|
||||||
|
game_settings::GameSettings,
|
||||||
|
menus::style::FGUiStyle,
|
||||||
|
schedule::GameplaySchedulePlugin,
|
||||||
|
stage::manifest::StageManifest,
|
||||||
|
ui::InGameUIPlugin,
|
||||||
};
|
};
|
||||||
|
|
||||||
mod args;
|
mod args;
|
||||||
@@ -80,6 +86,20 @@ pub enum AppState {
|
|||||||
#[derive(Default)]
|
#[derive(Default)]
|
||||||
pub struct GamePlugin;
|
pub struct GamePlugin;
|
||||||
|
|
||||||
|
/// Registers every custom asset loader used by the game and asset processor.
|
||||||
|
pub struct GameAssetPlugin;
|
||||||
|
|
||||||
|
impl Plugin for GameAssetPlugin {
|
||||||
|
fn build(&self, app: &mut App) {
|
||||||
|
app.add_plugins((
|
||||||
|
RonAssetPlugin::<FighterManifest>::create("fighter.ron"),
|
||||||
|
RonAssetPlugin::<StageManifest>::create("stage.ron"),
|
||||||
|
RonAssetPlugin::<GameSettings>::create("ron"),
|
||||||
|
RonAssetPlugin::<FGUiStyle>::create("stylesheet.ron"),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl Plugin for GamePlugin {
|
impl Plugin for GamePlugin {
|
||||||
fn build(&self, app: &mut App) {
|
fn build(&self, app: &mut App) {
|
||||||
// Each module owns its own systems, rollback registrations and
|
// Each module owns its own systems, rollback registrations and
|
||||||
@@ -99,9 +119,7 @@ impl Plugin for GamePlugin {
|
|||||||
scripting::importer::FighterScriptImportPlugin,
|
scripting::importer::FighterScriptImportPlugin,
|
||||||
stage::StagePlugin,
|
stage::StagePlugin,
|
||||||
MatchCameraPlugin,
|
MatchCameraPlugin,
|
||||||
RonAssetPlugin::<FighterManifest>::create("fighter.ron"),
|
GameAssetPlugin,
|
||||||
RonAssetPlugin::<StageManifest>::create("stage.ron"),
|
|
||||||
RonAssetPlugin::<GameSettings>::create("ron"),
|
|
||||||
InGameUIPlugin,
|
InGameUIPlugin,
|
||||||
))
|
))
|
||||||
.add_plugins(menus::MenuPlugin)
|
.add_plugins(menus::MenuPlugin)
|
||||||
@@ -155,13 +173,14 @@ impl Plugin for GamePlugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Registers only the custom asset processors used by CI and release builds.
|
/// Registers the custom asset loaders and processors used by CI and release
|
||||||
/// The processing binary adds this plugin without starting the game.
|
/// builds. The processing binary adds this plugin without starting the game.
|
||||||
pub struct AssetProcessingPlugin;
|
pub struct AssetProcessingPlugin;
|
||||||
|
|
||||||
impl Plugin for AssetProcessingPlugin {
|
impl Plugin for AssetProcessingPlugin {
|
||||||
fn build(&self, app: &mut App) {
|
fn build(&self, app: &mut App) {
|
||||||
app.add_plugins((
|
app.add_plugins((
|
||||||
|
GameAssetPlugin,
|
||||||
scripting::importer::FighterScriptImportPlugin,
|
scripting::importer::FighterScriptImportPlugin,
|
||||||
fighter::baked_animation::BakedAnimationAssetProcessingPlugin,
|
fighter::baked_animation::BakedAnimationAssetProcessingPlugin,
|
||||||
));
|
));
|
||||||
|
|||||||
+1
-4
@@ -6,12 +6,10 @@ use bevy::{
|
|||||||
prelude::*,
|
prelude::*,
|
||||||
};
|
};
|
||||||
|
|
||||||
use ron_asset_manager::RonAssetPlugin;
|
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
AppState,
|
AppState,
|
||||||
game_settings::CommonAssets,
|
game_settings::CommonAssets,
|
||||||
menus::{character_select::CharacterSelectScreen, main_menu::MainMenu, style::FGUiStyle},
|
menus::{character_select::CharacterSelectScreen, main_menu::MainMenu},
|
||||||
};
|
};
|
||||||
pub mod button;
|
pub mod button;
|
||||||
pub mod character_select;
|
pub mod character_select;
|
||||||
@@ -222,7 +220,6 @@ impl Plugin for MenuPlugin {
|
|||||||
//---------
|
//---------
|
||||||
// STAGE SELECT END
|
// STAGE SELECT END
|
||||||
//---------
|
//---------
|
||||||
.add_plugins(RonAssetPlugin::<FGUiStyle>::create("stylesheet.ron"))
|
|
||||||
.add_systems(
|
.add_systems(
|
||||||
Update,
|
Update,
|
||||||
(
|
(
|
||||||
|
|||||||
Reference in New Issue
Block a user