maxton/LibForge

RBMid creation

maxton opened this issue · 0 comments

The most important thing when it comes to customs. This is already underway, but I will itemize the specific things that are working/not working here.

Unlike previous games, in RB4 and RBVR the midi file is preprocessed (probably to help loading times). The original midi data is kept around, but in order to create an RBMid we have to do nearly everything the previous engines did under the hood ahead of time (this happens in RBMidConverter.cs):

  • Overdrive / solo section markers
  • Vocal phrase markers, type 1 (partially done but not correctly, esp. for HARM tracks)
    • These are autogenerated somehow and don't match the authored phrases.
    • Black betty percussion break: phrase split is missed
  • UNKSTRUCT1 - this usually only has one value in one track for any given song, no clue what it's for.
  • Vocal tacets? These structs are created during long breaks in the vocal track. (partially done)
    • These are OK in e.g. bestdayever, but broken in e.g. abc
  • Vocal range markers - this might be done already?
  • Unknown uints
  • Unknown floats
  • Other toplevel unknowns
  • Vocal phrase markers, type 2
    • These seem to match the authored phrase markers
  • Lyrics (one struct for each instrument track, but only containing lyrics for vocal tracks)
  • Drum fills (used for fills and BREs)
  • Pro drum tom markers (both in the gem track and in their own array)
  • Roll/tremolo markers
  • Trill markers
  • Drum mix markers
  • Gems
  • HOPOs
  • Vocal notes and portamentos (completed, except for the parts dealing with phrases)
  • Vocal percussion
  • Guitar / bass hand maps
  • Guitar / bass hand positions
  • Guitar / bass strum maps
  • Tempos
  • Time signatures
  • Beats
  • Midi track data
  • Preview start/end

RB4-only features

  • MarkupSoloNotes - notes found during solo sections on the MARKUP track
  • SoloLoops - something to do with freestyle solos, from the MARKUP track
  • MarkupChord - freestyle vocal permitted pitches

Not supported in RB4?

  • Keys animations (partially done, but there are still some unknowns)