What I wanted from it: `ui_layout::rest()`. At47f423fa trailing run of identical keyframes was always treated as the exit, so an element with no exit animation rested at its invisible pre-roll -- `ptframe1`/`ptframe2`, the main menu's circuit bracket, which a capture of the running game plainly shows. Pinned atb436e5arather than5e6cf0dwhere the fix was written, becauseb436e5ais where it carries its disc-wide check: 30 of 13 991 elements move, 4 become visible, 0 become invisible. The rule shipped is the RE agent's, not the condition this port proposed -- mine was too loose and would have erased the word PAUSE on `pgptitle.rat`, whose trailing run is two identical TRANSPARENT frames. A trailing run is the hold exactly when it is VISIBLE. The re-export shows the change was contained: two files differ, and within them exactly four `rest` blocks -- ptframe1/ptframe2 on both main menus, t=16 alpha 0x00 at the pre-roll position becoming t=62 alpha 0xff at the arrived one. Every diff line pairs. The other ten screens are byte-identical, no sprite changed, and `pteff02` correctly did not move.
31 lines
1.5 KiB
TOML
31 lines
1.5 KiB
TOML
[package]
|
|
name = "sylpheed-export"
|
|
description = "Convert a Project Sylpheed disc into the open asset tree the Godot port reads"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[dependencies]
|
|
# The decoders, PINNED BY REVISION. Not vendored and not reimplemented: they are
|
|
# disc-wide verified in their own repository, and floating the pin would let a
|
|
# decoder change land mid-milestone -- exactly the confusion this prevents.
|
|
#
|
|
# `sylpheed_formats::media` in particular owns the cases where one playable thing
|
|
# is not one archive entry (segment-spanning reads, multi-sub-wave banks, and the
|
|
# continuous cutscene-voice stream). Do not re-derive those here.
|
|
#
|
|
# Pin moved 8b6dbcf -> 5414db3 on 2026-08-28. WHAT I WANTED FROM IT: the fix to
|
|
# `ui_layout::rest()`. At 8b6dbcf a trailing run of identical keyframes was
|
|
# always treated as the exit, so an element with no exit animation rested at its
|
|
# invisible pre-roll -- `ptframe1`/`ptframe2`, the main menu's circuit bracket,
|
|
# which a capture of the running game plainly shows. 5414db3 is the revision at
|
|
# which that fix carries its disc-wide check (30 of 13 991 elements move, 4
|
|
# become visible, 0 become invisible), not merely the one where it was written.
|
|
sylpheed-formats = { git = "https://git.mc02.dev/fabi/Syplheed-Reborn.git", rev = "5414db3" }
|
|
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
anyhow = "1"
|
|
clap = { version = "4", features = ["derive", "env"] }
|
|
image = { version = "0.25", default-features = false, features = ["png"] }
|