Overshell
The Overshell is the updated menu system introduced in Rock Band 3, and was also used in Rock Band 4. It allows individual players to change settings, characters, and drop in and out whenever they want without a separate "band quickplay" mode like the previous games. The name "Overshell" comes from the fact it draws over the "shell," or the main game/menus.
The Overshell was designed to replace the older, single player focused "shell" menu system dating all the way back to the earliest days of Guitar Hero. The older "shell" system is much easier to modify and create your own menus, as each menu was their own thing and could simply be copied over, renamed and modified however you want. The Overshell merges everything into one, making the process a bit harder than just copy and modify a whole file.
Functions
The Overshell does many things, enables/disables modifiers, changes system settings (tv overscan, volumes), character selection, and dropping in and out at will, even while in a song!
Menus
The menus in the Overshell are defined as a state in ui/overshell/slot_states.dta
, and list (.lst) states are usually defined in ui/overshell/overshell_dir.dta
(but can also be defined in slot_States). For most things, the only one necessary to change is slot_states, as it mostly overwrites overshell_dir's instructions.
Many of the menu lists were designed to be unchanging, the line (setup_static_lists)
in overshell_dir.dta tells this pretty well.