EIREXE cbb357d30a
CI / build-and-test (push) Successful in 2m11s
CI / production-build (push) Successful in 12m25s
Implement Melee-style knockback stacking (#97)
## Summary

- stack residual airborne knockback per axis after the configured launch-frame threshold
- apply DI after combining the launch vectors while retaining the second hit's hitstun
- preserve and decay residual knockback after hitstun
- make stacking state rollback-safe and include it in debug save states
- clear launch state on landing, ledge interactions, KO, and respawn

## Testing

- `cargo check --tests`
- `cargo test` (159 tests passed)
- `git diff --check`

## Asset configuration

For Melee timing, `knockback_stacking_window` should be set to `10`. The local ignored asset package has been updated accordingly.

Reviewed-on: #97
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-25 21:02:13 +00:00
2026-09-15 20:21:15 +00:00
2026-09-24 10:30:02 +00:00
2026-09-13 23:25:52 +02:00
2026-08-06 18:53:46 +02:00
2026-10-04 11:32:28 +00:00
2026-09-14 16:16:48 +00:00

Shinespark

Fancy heavily advanced platform fighting game

Debugging fixed-point values with lldb

If using CodeLLDB:

"preRunCommands": [
    "command script import ${workspaceFolder}/tools/lldb_fixed.py"
]

Direct P2P Debugging

# Process 1 owns player 0 and listens on 7000.
cargo run -- --debug-match --players 2 --local-port 7000 \
  --net-player 0=local --net-player 1=127.0.0.1:7001

# Process 2 owns player 1 and listens on 7001.
cargo run -- --debug-match --players 2 --local-port 7001 \
  --net-player 0=127.0.0.1:7000 --net-player 1=local

Hitbox viewer

Run the live attack-script previewer with a fighter manifest and attack:

cargo run --bin hitbox-editor -- \
  --manifest fighters/test/test.fighter.ron --attack jab

The timeline is read-only and refreshes through Bevy's asset hot reloading. Press Space to pause or resume, use the arrow keys to step, or click and drag the timeline to scrub.

Production Build

cargo run --locked \
  --bin process-assets --no-default-features --features debug_features
cargo build --locked \
  --profile production --no-default-features --features debug_features

Assets

Game assets are managed in Lore rather than Git. Install the Lore CLI, then bootstrap or update the local checkout with:

scripts/install-lore.sh
scripts/update-assets.sh

The default Lore branch is main; pass another branch explicitly when testing coordinated code and asset changes:

scripts/update-assets.sh my-feature-branch
S
Description
Next-gen platform fighter
Readme
41 MiB
Languages
Rust 97.8%
Python 1.1%
Shell 0.7%
WGSL 0.4%