Skip to content

Allow the script manager to extract scripts with empty or non-unique names - #179

Merged
melody-rs merged 7 commits into
Astrabit-ST:devfrom
white-axe:script-manager
Aug 11, 2026
Merged

melody-rs merged 7 commits into
Astrabit-ST:devfrom
white-axe:script-manager

Conversation

@white-axe

Copy link
Copy Markdown
Collaborator

Description
Some games have multiple scripts with the same name or scripts with empty names. Previously, those could not be extracted correctly, so I've changed the script manager to extract scripts by prepending the script filename with the index of the script (e.g. "001:name.rb" instead of simply "name.rb"). I've also changed the script manager to URI-escape the extracted filenames to handle scripts whose names contain characters that are not allowed in filenames.

Testing
I was trying to use Luminol earlier to extract the script files from the free trial version of the game Shukyusho Gakuen Gaiden: The Legend of Hanpane Island because someone reported issues running this game in mkxp-z, but that game has two scripts with identical names and Luminol only extracts the second one, and so the game doesn't run anymore if you extract the scripts and then create the Scripts.rvdata from the extracted scripts (specifically it throws an exception as soon as you start a new game using the newly created Scripts.rvdata). It should be able to do round-trip extracting and creating of the Scripts.rvdata now without causing an exception when you start a new game.

Checklist

  • Run cargo fmt.
  • Run cargo clippy. If applicable, add:
    • --target wasm32-unknown-unknown -Z build-std=std,panic_abort
  • Run cargo build --release
  • If applicable, run trunk build --release

@white-axe

Copy link
Copy Markdown
Collaborator Author

GitHub Actions is experiencing another outage so it might take a while for CI to pass.

@white-axe

Copy link
Copy Markdown
Collaborator Author

It seems the CI is cursed today, so I'm going to close and reopen this pull request to see if that triggers it.

@white-axe white-axe closed this Aug 7, 2026
@white-axe white-axe reopened this Aug 7, 2026
@melody-rs
melody-rs merged commit 8a87412 into Astrabit-ST:dev Aug 11, 2026
4 checks passed
@white-axe
white-axe deleted the script-manager branch August 11, 2026 23:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants