Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
49b23110ff | ||
|
|
9ba8697d57 | ||
|
|
7d9b6aeafc | ||
|
|
ab6aec70c5 |
+11
-5
@@ -21,6 +21,8 @@ jobs:
|
||||
sh -s -- -y --profile minimal
|
||||
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
|
||||
"$HOME/.cargo/bin/rustup" toolchain install nightly-2026-09-14 --profile minimal
|
||||
"$HOME/.cargo/bin/rustup" target add x86_64-pc-windows-msvc --toolchain nightly-2026-09-14
|
||||
"$HOME/.cargo/bin/cargo" install cargo-xwin --locked
|
||||
|
||||
- name: Cache Rust dependencies and build artifacts
|
||||
uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
|
||||
@@ -41,6 +43,7 @@ jobs:
|
||||
libx11-dev \
|
||||
libxkbcommon-dev \
|
||||
libxkbcommon-x11-0 \
|
||||
lld \
|
||||
mesa-vulkan-drivers \
|
||||
mold \
|
||||
pkg-config
|
||||
@@ -94,6 +97,9 @@ jobs:
|
||||
- name: Build production binary
|
||||
run: cargo build --locked --profile production --no-default-features --features debug_features -j 4
|
||||
|
||||
- name: Build Windows production binary
|
||||
run: cargo xwin build --locked --target x86_64-pc-windows-msvc --profile production --no-default-features --features debug_features -j 4 --bin shinespark
|
||||
|
||||
- name: Verify production binary is not Bevy/Rust dynamically linked
|
||||
run: |
|
||||
! readelf -d target/production/shinespark | grep -E 'libbevy_dylib|libstd-.*\.so'
|
||||
@@ -101,10 +107,10 @@ jobs:
|
||||
- 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
|
||||
mkdir -p build/game
|
||||
cp target/production/shinespark build/game/shinespark
|
||||
cp target/x86_64-pc-windows-msvc/production/shinespark.exe build/game/shinespark.exe
|
||||
cp -R imported_assets build/game/imported_assets
|
||||
|
||||
- if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
||||
uses: CyberAndrii/steam-totp@v1
|
||||
@@ -123,5 +129,5 @@ jobs:
|
||||
appId: 3409670
|
||||
buildDescription: ${{ github.sha }}
|
||||
rootPath: build
|
||||
depot1Path: linux
|
||||
depot1Path: game
|
||||
releaseBranch: master
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
@@ -1,8 +1,11 @@
|
||||
use bevy::{
|
||||
app::ScheduleRunnerPlugin,
|
||||
asset::{AssetMode, AssetPlugin, processor::AssetProcessor, processor::ProcessorState},
|
||||
gltf::GltfPlugin,
|
||||
image::{CompressedImageFormats, ImageLoader, ImagePlugin},
|
||||
prelude::*,
|
||||
tasks::block_on,
|
||||
text::TextPlugin,
|
||||
};
|
||||
use shinespark::AssetProcessingPlugin;
|
||||
use std::{process::ExitCode, time::Duration};
|
||||
@@ -15,6 +18,8 @@ fn main() -> ExitCode {
|
||||
use_asset_processor_override: Some(true),
|
||||
..default()
|
||||
})
|
||||
.add_plugins((ImagePlugin::default(), TextPlugin, GltfPlugin::default()))
|
||||
.register_asset_loader(ImageLoader::new(CompressedImageFormats::NONE))
|
||||
.add_plugins(AssetProcessingPlugin)
|
||||
.add_systems(Update, finish_when_processed);
|
||||
|
||||
|
||||
+25
-6
@@ -32,7 +32,13 @@ use clap::Parser;
|
||||
use ron_asset_manager::RonAssetPlugin;
|
||||
|
||||
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;
|
||||
@@ -80,6 +86,20 @@ pub enum AppState {
|
||||
#[derive(Default)]
|
||||
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 {
|
||||
fn build(&self, app: &mut App) {
|
||||
// Each module owns its own systems, rollback registrations and
|
||||
@@ -99,9 +119,7 @@ impl Plugin for GamePlugin {
|
||||
scripting::importer::FighterScriptImportPlugin,
|
||||
stage::StagePlugin,
|
||||
MatchCameraPlugin,
|
||||
RonAssetPlugin::<FighterManifest>::create("fighter.ron"),
|
||||
RonAssetPlugin::<StageManifest>::create("stage.ron"),
|
||||
RonAssetPlugin::<GameSettings>::create("ron"),
|
||||
GameAssetPlugin,
|
||||
InGameUIPlugin,
|
||||
))
|
||||
.add_plugins(menus::MenuPlugin)
|
||||
@@ -155,13 +173,14 @@ impl Plugin for GamePlugin {
|
||||
}
|
||||
}
|
||||
|
||||
/// Registers only the custom asset processors used by CI and release builds.
|
||||
/// The processing binary adds this plugin without starting the game.
|
||||
/// Registers the custom asset loaders and processors used by CI and release
|
||||
/// builds. The processing binary adds this plugin without starting the game.
|
||||
pub struct AssetProcessingPlugin;
|
||||
|
||||
impl Plugin for AssetProcessingPlugin {
|
||||
fn build(&self, app: &mut App) {
|
||||
app.add_plugins((
|
||||
GameAssetPlugin,
|
||||
scripting::importer::FighterScriptImportPlugin,
|
||||
fighter::baked_animation::BakedAnimationAssetProcessingPlugin,
|
||||
));
|
||||
|
||||
+1
-4
@@ -6,12 +6,10 @@ use bevy::{
|
||||
prelude::*,
|
||||
};
|
||||
|
||||
use ron_asset_manager::RonAssetPlugin;
|
||||
|
||||
use crate::{
|
||||
AppState,
|
||||
game_settings::CommonAssets,
|
||||
menus::{character_select::CharacterSelectScreen, main_menu::MainMenu, style::FGUiStyle},
|
||||
menus::{character_select::CharacterSelectScreen, main_menu::MainMenu},
|
||||
};
|
||||
pub mod button;
|
||||
pub mod character_select;
|
||||
@@ -222,7 +220,6 @@ impl Plugin for MenuPlugin {
|
||||
//---------
|
||||
// STAGE SELECT END
|
||||
//---------
|
||||
.add_plugins(RonAssetPlugin::<FGUiStyle>::create("stylesheet.ron"))
|
||||
.add_systems(
|
||||
Update,
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user