garcia / simfile

A modern simfile parsing & editing library for Python 3
MIT License
62 stars 7 forks source link

Feature request: #lastsecondhint as chart known property for .ssc charts #43

Open thedaryen opened 1 year ago

thedaryen commented 1 year ago

Currently, lastsecondhint is only supported as a simfile property for the entire simfile. However, it seems like Project Outfox (formerly Stepmania 5.3) supports lastsecondhint as a CHART property as well. Not only that, but it'll try to dynamically determine the appropriate #lastsecondhint for charts that do not explicitly specify that property, and, when generating the cached simfile, will ovewrite the ssc header #lastsecondhint (which is used in various capacities by themes) with the longest #lastsecondhint between all the charts contained within the ssc, including ones that were dynamically generated due to being empty.

Because of that, it'd be very useful if we could batch add a #lastsecondhint to all charts, avoiding the issue of one chart within the ssc messing up other charts intended lastsecondhint.

I'd appreciate if such a functionality was added to the API. I believe this can probably be achieved by setting strict simfile parsing to off, but I haven't been able to get it to work. For reference, here's the script I'm using: https://github.com/SheepyChris/PIU-Simfiles/blob/main/Scripts/ChartProcessing.py (currently only adds lastsecondhint to headers, not to each chart).