Skip to content

new/secret_list is improperly being set in Jubeat #107

@Subject38

Description

@Subject38

The 3 lists under the new node in jubeat's profile have nothing to do with unlocks. They exist to mark whether a song/marker/background are "new". This marker exists to display the "new" text over the item. As such, the default value really should be a full bitarray of 1s because the game sets them to 0 after a song has been played or the marker/background have been selected at least once in the options. I would just submit this code change but personally I don't even like that behavior for songs so in my own fork I just changed to a full array of 0. I'm thinking to maybe add a button on the profile page to fix the list to only mark songs that haven't been played as new and mark all others as not, or perhaps mark all songs or no songs as new. The flag could be hacked to be a "favorite song" marker or as a reminder to the player that they haven't played it in the last 30 days (maybe the player resets the list every month). I'm just spitballing ideas but I'm raising the issue because the current implementation is definitely broken...

# I have no idea what these are for. I figured it was for the server to grant songs/themes/markers
# outside of gameplay, but the game doesn't seem to react to setting values here. So, lets set them
# to all 1's and move on. Tracing the handling of this shows that the game usually sets the same bit
# in both the secret list above and this one, and doesn't seem to care about parsing the values as
# they come in.
new = Node.void("new")
item.add_child(new)
new.add_child(
Node.s32_array(
"secret_list",
([-1] * 64) if force_unlock else self.create_owned_items(owned_secrets, 64),
)
)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions