Skip to content

Implement Freeplay tabs#156

Merged
FixedData merged 11 commits intoNMVTeam:devfrom
x8c8r:freeplay-rewrite
Apr 8, 2026
Merged

Implement Freeplay tabs#156
FixedData merged 11 commits intoNMVTeam:devfrom
x8c8r:freeplay-rewrite

Conversation

@x8c8r
Copy link
Copy Markdown
Contributor

@x8c8r x8c8r commented Apr 7, 2026

This is a pretty rough implementation of Freeplay tabs.

Tabs are defined in the a data/freeplay.json file with the following format:

{
  "tabs": [
    {
      "title": "Tab Title",
      "songs": ["song-one", "song-two", "song-three"]
    }
  ]
}

If there are no tabs defined - The engine resorts back to old Freeplay behaviour and creates it using weeks instead.

Tabs can be scrolled through by pressing TAB. Holding shift makes you scroll backwards.

You may notice that none of the songs have icons:
image

That's because icon, bg color and display name for songs should be defined in the song's meta.json file like this:

{
    "songName": "dadbattle",
    "displayName": "Dad Battle",

    "freeplayColor": "#9457EB",
    "freeplayIcon": "dad"
}
image

If this gets merged I'll personally go through every single base game song and add metadata to them.
Edit: And i did.

Let me know if anything should be changed.

@x8c8r
Copy link
Copy Markdown
Contributor Author

x8c8r commented Apr 8, 2026

please speed

@BeastTornado
Copy link
Copy Markdown

Please speed I neeeed this. My Freeplay's kinda tabless....

mark them as potentially nullable and use json5 parsing
improve the cleanup
only show tabHint if there is more than 1 tab
@FixedData FixedData merged commit 270e236 into NMVTeam:dev Apr 8, 2026
1 of 2 checks passed
@x8c8r x8c8r mentioned this pull request Apr 10, 2026
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.

3 participants