Commit Graph
145 Commits
Author SHA1 Message Date
EIREXE 88ec5fe69e Deploy Steam builds to Shinespark beta
CI / build-and-test (pull_request) Successful in 1m48s
CI / production-build (pull_request) Successful in 10m47s
2026-10-27 09:21:31 +01:00
EIREXE cbb357d30a Implement Melee-style knockback stacking (#97)
CI / build-and-test (push) Successful in 2m11s
CI / production-build (push) Successful in 12m25s
## 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
EIREXE 7f720119fa Fix hitbox editor and add dair
CI / build-and-test (push) Canceled after 0s
CI / production-build (push) Canceled after 0s
2026-10-22 11:53:38 +02:00
EIREXE 9dfae1de77 Implement land from below, fix attacks not lifting fighters off the ground (#96)
CI / build-and-test (push) Successful in 1m44s
CI / production-build (push) Successful in 12m17s
Reviewed-on: #96
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-14 18:33:17 +00:00
EIREXE 4185bd90d5 Add waveland snapping (#95)
CI / build-and-test (push) Successful in 2m16s
CI / production-build (push) Successful in 12m36s
Reviewed-on: #95
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-14 06:27:51 +00:00
EIREXE 472a0b6a19 Improve ECB behaviour, add ECB interpolation, wall/ceiling support etc (#94)
CI / build-and-test (push) Successful in 1m43s
CI / production-build (push) Successful in 11m52s
Reviewed-on: #94
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-13 19:20:29 +00:00
EIREXE f1da5c1172 Add ledge getup, ledge intangibility limit & fix walk-off velocity (#93)
CI / production-build (push) Successful in 12m14s
CI / build-and-test (push) Successful in 1m40s
Reviewed-on: #93
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-13 15:52:10 +00:00
EIREXE 4fe1b24b1a Fix fighter material not removing the original material. (#92)
CI / build-and-test (push) Failing after 16s
CI / production-build (push) Successful in 12m10s
Reviewed-on: #92
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-13 08:24:45 +00:00
EIREXE f53e67d8ad Fix ledge transitions and root motion loops (#91)
CI / production-build (push) Successful in 12m8s
CI / build-and-test (push) Successful in 1m39s
## Summary

- resolve each ledge action to the walkable segment on the stage-interior side
- preserve repeating root-motion displacement across every animation cycle
- add regression coverage for left/right ledge segments and multiple root-motion wraps
- Implement ledge intangibility

Reviewed-on: #91
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-12 21:38:23 +00:00
EIREXE 9b974d0dd6 Initial work on ledge & improved baking of root motion. (#90)
CI / build-and-test (push) Successful in 2m15s
CI / production-build (push) Successful in 12m24s
Reviewed-on: #90
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-12 20:58:27 +00:00
EIREXE 0642a9234b Fix one frame visual transform delay (#89)
CI / build-and-test (push) Successful in 2m28s
CI / production-build (push) Successful in 12m18s
Reviewed-on: #89
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-12 20:21:11 +00:00
EIREXE 97f2fe7065 Implement up smash, dacus and further improve input system. (#88)
CI / build-and-test (push) Successful in 2m42s
CI / production-build (push) Successful in 13m1s
Reviewed-on: #88
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-09 09:15:18 +00:00
EIREXE a1595d841a Fix determinism being broken due to bone matrix shenanigans (#87)
CI / build-and-test (push) Successful in 5m27s
CI / production-build (push) Successful in 22m11s
Reviewed-on: #87
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-07 19:31:01 +00:00
EIREXE 3dfe2fa000 Optimize rollback sync-test performance (#86)
CI / build-and-test (push) Successful in 2m11s
CI / production-build (push) Successful in 11m44s
## Summary

- remove immutable stage geometry and derived animation/collision data from rollback snapshots
- avoid a duplicate full skeletal hierarchy traversal during root-motion sampling
- cache root-motion cycle deltas per animation clip
- optimize the game crate in development builds
- make Tracy profiling opt-in via the `tracy` feature

Reviewed-on: #86
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-07 15:50:45 +00:00
EIREXE 259dada54f Implement grounded fighter pushing (#85)
CI / build-and-test (push) Successful in 1m30s
CI / production-build (push) Successful in 11m7s
Reviewed-on: #85
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-07 07:29:02 +00:00
EIREXE 7a9adbd6a4 Implement animation root motion deltas (#84)
CI / build-and-test (push) Successful in 1m33s
CI / production-build (push) Successful in 12m5s
Implements root motion and adds a dash attack.

Reviewed-on: #84
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-05 20:04:35 +00:00
EIREXE 5c277a00f0 Implement tap jump and clean some fluff (#83)
CI / build-and-test (push) Successful in 1m33s
CI / production-build (push) Successful in 11m45s
Reviewed-on: #83
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-05 15:01:31 +00:00
EIREXE d2d649b059 Attack system revamp (#82)
CI / build-and-test (push) Successful in 1m35s
CI / production-build (push) Successful in 11m29s
- Add crouch cancelling
- Add IASA for aerial attacks
- Add scaffolding for autocancel
- Add hitbox group system
- Add new ergonomic features for attack scripting
- Add more information to the hitbox viewer
- Improve the looks of debug capsules

Reviewed-on: #82
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-04 18:57:29 +00:00
EIREXE 04aceb05a9 Implement hitbox viewer (#81)
CI / build-and-test (push) Successful in 1m26s
CI / production-build (push) Successful in 12m55s
Reviewed-on: #81
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-04 11:32:28 +00:00
EIREXE 02d444f749 Implement invulnerability/intangibility and sakurai angle (#78)
CI / build-and-test (push) Successful in 1m22s
CI / production-build (push) Successful in 11m48s
Reviewed-on: #78
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-03 10:47:00 +00:00
EIREXE aca3886113 Rework input buffer to match HDR closer (#79)
CI / build-and-test (push) Successful in 1m24s
CI / production-build (push) Successful in 11m47s
## Summary

- Preserve distinct same-action bindings in rollback input frames.
- Add independent command lifetimes with tap and state-scoped hold buffering.
- Detect second shield bindings and consume shield commands for air dodge.
- Fix duplicate keyboard mappings being overwritten.

Reviewed-on: #79
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-03 09:20:56 +00:00
EIREXE 47f7ae1e69 Disable GameCube adapter on Windows (#80)
CI / build-and-test (push) Successful in 1m24s
CI / production-build (push) Successful in 11m34s
## Summary
- add a feature flag for the GameCube adapter driver
- keep the driver enabled by default on supported platforms
- exclude the adapter dependency and polling systems on Windows

Reviewed-on: #80
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-10-02 11:19:01 +00:00
EIREXE adf83ba03f Fix match state remaining mutable after and of match and implement initial work on aerials (#77)
CI / build-and-test (push) Successful in 2m7s
CI / production-build (push) Successful in 11m36s
Reviewed-on: #77
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-29 12:40:14 +00:00
EIREXE 88ad9ed951 Implement post-match screen and match finishing. (#76)
CI / build-and-test (push) Failing after 2m8s
CI / production-build (push) Successful in 11m40s
Reviewed-on: #76
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-28 18:29:01 +00:00
EIREXE 3af36c4bc8 Add pulsing effect when invulnerable/intangible, make airdodge make the player intangible. (#75)
CI / build-and-test (push) Successful in 2m3s
CI / production-build (push) Successful in 15m42s
Reviewed-on: #75
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-28 15:44:50 +00:00
EIREXE ccf2657d29 Fix various minor issues (#74)
CI / production-build (push) Canceled after 0s
CI / build-and-test (push) Canceled after 29s
Reviewed-on: #74
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-28 15:08:39 +00:00
EIREXE e02dff58e5 Fix bone resampling breaking hitbox interpolation (#73)
CI / build-and-test (push) Successful in 1m57s
CI / production-build (push) Successful in 11m37s
Reviewed-on: #73
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-27 15:52:42 +00:00
EIREXE 6f1d8a7706 Add the ability to respawn and improve controller port mapping (#72)
CI / build-and-test (push) Successful in 2m2s
CI / production-build (push) Successful in 12m18s
Reviewed-on: #72
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-27 11:54:08 +00:00
EIREXE bb238d2cbc Add spawn points (#71)
CI / build-and-test (push) Successful in 2m1s
CI / production-build (push) Successful in 11m33s
Reviewed-on: #71
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-27 10:06:55 +00:00
EIREXE ce00af0809 Add the ability to debug draw blastzones & update blastzone formatting (#69)
CI / build-and-test (push) Successful in 1m45s
CI / production-build (push) Successful in 11m22s
Reviewed-on: #69
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-26 18:05:10 +00:00
EIREXE 0d1b98d406 Implement filled gizmos (#70)
CI / production-build (push) Canceled after 0s
CI / build-and-test (push) Canceled after 1m57s
Reviewed-on: #70
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-26 17:55:35 +00:00
EIREXE 90412fa80d Add the ability to pause singleplayer matches (#68)
CI / build-and-test (push) Successful in 1m54s
CI / production-build (push) Successful in 11m11s
Reviewed-on: #68
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-26 16:25:36 +00:00
EIREXE 94e292026e Fix fighter visuals after landing snap (#67)
CI / build-and-test (push) Successful in 1m47s
CI / production-build (push) Successful in 11m8s
## Summary

- Mark landing position corrections as presentation discontinuities.
- Render and frame fighters from the current position for the snap frame.
- Keep previous translation history unchanged for gameplay collision and attack logic.

Reviewed-on: #67
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-26 15:54:25 +00:00
EIREXE 62aa598324 Make triggers be bound to airdodge on non-gamecube controllers (#66)
CI / build-and-test (push) Successful in 1m51s
CI / production-build (push) Successful in 11m10s
Reviewed-on: #66
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-26 13:07:11 +00:00
EIREXE a58b5eeec7 Allow airborne fighters to pass through platforms while holding down (#65)
CI / build-and-test (push) Successful in 1m50s
CI / production-build (push) Canceled after 18s
## Summary
- Ignore soft-platform collision while an airborne fighter holds down.
- Preserve existing momentum and collision with solid floors.
- Add regression coverage for soft and solid platform behavior.

Reviewed-on: #65
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-26 12:07:38 +00:00
EIREXE 615872f29c Implement being able to drop through soft platforms (#64)
CI / build-and-test (push) Successful in 1m47s
CI / production-build (push) Successful in 10m53s
Reviewed-on: #64
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-26 10:38:51 +00:00
EIREXE 66a817cd05 Add mechanism to ignore platforms (#63)
CI / build-and-test (push) Successful in 1m30s
CI / production-build (push) Successful in 10m48s
Reviewed-on: #63
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-25 21:43:49 +00:00
EIREXE 946bbc4cbd Implement crouching (#62)
CI / build-and-test (push) Successful in 1m29s
CI / production-build (push) Successful in 10m48s
Reviewed-on: #62
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-25 18:14:09 +00:00
EIREXE b56b7b0421 Merge pull request 'Add shifting ECB based on bone positions (melee-like)' (#61) from ecb into master
CI / build-and-test (push) Successful in 1m32s
CI / production-build (push) Successful in 11m4s
Reviewed-on: #61
2026-09-25 14:42:54 +00:00
EIREXE 84e731fbc8 Fix various runtime shenanigans
CI / build-and-test (pull_request) Successful in 1m32s
CI / production-build (pull_request) Successful in 10m22s
2026-09-25 16:29:11 +02:00
EIREXE 65727ed04f Remove gizmo shenanigans 2026-09-25 16:00:21 +02:00
EIREXE 0cb81ec2e9 Add shifting ECB based on bone positions (melee-like)
CI / build-and-test (pull_request) Successful in 1m33s
CI / production-build (pull_request) Successful in 10m48s
2026-09-25 15:45:55 +02:00
EIREXE d521461625 Add authoritative fighter surface state (#60)
CI / build-and-test (push) Successful in 1m28s
CI / production-build (push) Successful in 11m59s
## Summary
- add a rollback-tracked `FighterSurfaceState` as the single source of truth for stage contact
- move active stage line ownership out of individual grounded fighter states
- update landing, airborne motion, ledge departure, hit reactions, and debug save states to maintain surface contact
- add tests for contact lifecycle, connected-segment traversal, and ledge departure

Reviewed-on: #60
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-25 10:45:27 +00:00
EIREXE 3daf8f2e21 Fix GameCube poll thread shutdown and error backoff (#55)
CI / build-and-test (push) Successful in 1m42s
CI / production-build (push) Successful in 10m57s
## Summary
- signal GameCube poll thread shutdown unconditionally when the snapshot is dropped
- retain and join the poll thread during resource cleanup
- add bounded, shutdown-aware backoff for recoverable parse and short-read errors
- add unit coverage for backoff capping and shutdown-aware waits

Fixes #25

Reviewed-on: #55
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-25 08:04:35 +00:00
EIREXE aea1cf35ff Merge pull request 'Fix debug UI not working at all' (#59) from ui_fix into master
CI / build-and-test (push) Successful in 1m37s
CI / production-build (push) Successful in 10m55s
Reviewed-on: #59
2026-09-24 20:56:45 +00:00
EIREXE 2e06cbb4b7 Fix debug UI not working at all
CI / build-and-test (pull_request) Successful in 1m30s
CI / production-build (pull_request) Successful in 10m51s
2026-09-24 22:29:34 +02:00
EIREXE 9a3a1383ff Pin Blender for CI asset processing (#58)
CI / production-build (push) Successful in 13m8s
CI / build-and-test (push) Successful in 1m31s
Reviewed-on: #58
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-24 14:45:37 +00:00
EIREXE 1ba29b817b Implement .blend asset processor (#56)
CI / build-and-test (push) Successful in 1m51s
CI / production-build (push) Successful in 12m11s
Reviewed-on: #56
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-24 10:47:19 +00:00
EIREXE 2874d496ee Integrate lore CI (#57)
CI / build-and-test (push) Canceled after 0s
CI / production-build (push) Canceled after 0s
Reviewed-on: #57
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-24 10:30:02 +00:00
EIREXE f7bb8cc345 Remove UI multi cam setup (#54)
CI / build-and-test (push) Successful in 1m19s
CI / production-build (push) Successful in 9m38s
Reviewed-on: #54
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
2026-09-20 17:34:11 +00:00