Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Various GH chart parsing issues causing unexpected output #345

Open
shockdude opened this issue Jun 1, 2021 · 8 comments
Open

[BUG] Various GH chart parsing issues causing unexpected output #345

shockdude opened this issue Jun 1, 2021 · 8 comments
Labels
Branch: Alpha-5 Bugs related to Alpha V mainline (0.5.x) Mode: gdgf Affects gddf Mode NotesLoader: CHART CH - Guitar Notes Loader NotesLoader: MIDI MIDI - Guitar Notes Loader Status: In Progress We are working on this one! Status: Investigating We are looking into this one! Status: Not Implemented Yet! This is a request that has no codepath or is incomplete/not implemented yet in the codebase

Comments

@shockdude
Copy link

shockdude commented Jun 1, 2021

Please give System Info

OS: Windows 10
CPU: Intel i7-4720HQ
GPU: NVIDIA GTX 860M
Storage: SSD

Please give your StepMania Info

StepMania Version: Project OutFox 5.3 Alpha 4.9.8
Theme: Default

Describe the problem

Various GH chart parsing issues that I've encountered so far which result in unexpected output.

  • .chart
    • Fever does not include the note at the beginning of the fever phrase, and incorrectly includes the note at the end of the fever phrase
    • HOPOs don't appear after an open note, only strum notes.
    • HOPOs don't appear after a HOPO chord, only strum notes.
    • Resolution variable is not accounted for - this variable represents the number of ticks per beat and can vary per chart. Fixed in 4.11.0
  • .mid
    • HOPO chords get transformed into single notes, they should include all notes in the chord.
    • In some charts, a few tap notes are not marked as taps.
    • In some charts, if a fever section ends with a hold, that last hold does not get marked with Fever.

Test charts for HOPOs & fever attached: HOPO Test Charts.zip

Current .chart output
hopotestchart

Current .mid output
hopotestmidi

Expected output (manually edited .ssc)
hopotestssc

@Scraticus Scraticus added Mode: gdgf Affects gddf Mode Status: In Progress We are working on this one! Status: Investigating We are looking into this one! Status: Not Implemented Yet! This is a request that has no codepath or is incomplete/not implemented yet in the codebase NotesLoader: CHART CH - Guitar Notes Loader NotesLoader: MIDI MIDI - Guitar Notes Loader labels Jun 8, 2021
@Scraticus
Copy link
Member

Thanks for the bug report, we'll add these notes to the to-do list for finishing the guitar mode.

will leave this open until we get round to finishing the mode's loaders.

@shockdude
Copy link
Author

Edited OP to document more issues I've found

  • .mid
    • In some charts, a few tap notes are not marked as taps.
    • In some charts, if a fever section ends with a hold, that last hold does not get marked with Fever.

@Scraticus
Copy link
Member

Can you update on this one to let us know what the current state of play is with this please

@shockdude
Copy link
Author

In 4.9.10, all issues described in the OP are still present

@TheNathannator
Copy link

Did some testing in 4.10:
I have a couple additions for .chart parsing, and a (not great, but works) video comparing .chart HOPOs in Outfox to what is expected in Clone Hero, for reference
(Top is 480 res, bottom is 192 res)
https://youtu.be/2L2PNTMkjUA

  • If a note is the same color as one of the notes in a preceding chord. it does not get marked as a HOPO
  • Haven't looked into this, just noticed it when watching the finished video: Fever marking appears broken on the 192 res chart in Outfox

@Scraticus
Copy link
Member

can this be updated please?

@TheNathannator
Copy link

TheNathannator commented Dec 14, 2021

HOPO marking does not seem to be fixed in either regard, and it seems that Fever marking is broken entirely now lol, at least in .chart

@MrThatKid MrThatKid added the Branch: Alpha-5 Bugs related to Alpha V mainline (0.5.x) label May 24, 2022
@TheNathannator
Copy link

TheNathannator commented Jul 31, 2022

To ensure it doesn't get lost in the testing channels somewhere, I'm posting the list of current chart parsing issues that I've compiled over time here. I haven't gotten the chance yet to verify that everything on this list still occurs in 4.16.0, so bear with me if something here was fixed already lol

.chart parsing issues:

  • Resolution is not respected for HOPO thresholds, it always assumes a resolution of 192 ticks per 1/4th step
  • Fever phrases don't include notes at the first tick of the phrase, and incorrectly include notes at the last tick of the phrase (that is, a phrase starting on tick 0 with a length of 192 should not include the note at tick 192, but currently it does)
  • Open HOPOs are turned into open strums
  • A note that comes after a chord which contains that note does not get naturally marked as a HOPO; this behavior should only apply to .mid but it's being applied to .chart as well
  • Non-x/4 time signatures are not parsed
  • Tracks that only have Fever and/or text events and no notes are not ignored
  • Charts that rely on the audio being named in a specific way instead of making use of the .chart audio metadata don't get all of their stems loaded

.mid parsing issues:

  • The presence of 6-fret tracks makes 5-fret tracks get ignored
  • HOPO chords are not parsed correctly, only the top-most note of the chord survives parsing
  • The last note of a SysEx-marked tap note phrase does not get turned into a tap
  • Open HOPOs are turned into open strums
  • SysEx-based open notes aren't getting marked in the correct places, they seem to be one note behind where they should be (forced-HOPO opens seem to be getting marked in the right place, but the incorrectly-marked open still exists in these cases)
    • I can't figure out a real logic for this lol, it's just busted
  • Lead Guitar and lower difficulties of all instruments are always available whether or not they are in the chart

.mid features not yet implemented:

  • Note-based tap marker (MIDI note 104)
  • Note-based open notes (MIDI notes 95, 83, 71, and 59 for each difficulty) and the [ENHANCED_OPENS] text event to enable them

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Branch: Alpha-5 Bugs related to Alpha V mainline (0.5.x) Mode: gdgf Affects gddf Mode NotesLoader: CHART CH - Guitar Notes Loader NotesLoader: MIDI MIDI - Guitar Notes Loader Status: In Progress We are working on this one! Status: Investigating We are looking into this one! Status: Not Implemented Yet! This is a request that has no codepath or is incomplete/not implemented yet in the codebase
Projects
None yet
Development

No branches or pull requests

4 participants