DDRCardDraw icon indicating copy to clipboard operation
DDRCardDraw copied to clipboard

Custom cards per game

Open albshin opened this issue 1 year ago • 5 comments

Allow customizable cards per game. For example, maimai charts have Standard and Deluxe version of songs and it is important to differentiate between the versions. We need some visual indicator on the card itself.

albshin avatar Apr 07 '24 05:04 albshin

Can you show me an example (or just explain) how standard and deluxe charts are displayed in game? Do they have different jacket art? Different colors in the UI? etc

Is this something that's already handled in performai card draw? If so, how does it work there?

noahm avatar Apr 07 '24 06:04 noahm

It's an icon that shown above the album art. Deluxe is the white background with rainbow text and standard is the light blue background with white text.

Probably not the best example since the levels are different but there are Standard and Deluxe charts with the same level and difficulty.

Deluxe

Screenshot 2024-04-07 at 2 41 25 AM

Standard

Screenshot 2024-04-07 at 2 41 16 AM

I currently handle this on PerformaiCardDraw by replacing the BPM text with text that says either "STD" or "DX".

albshin avatar Apr 07 '24 06:04 albshin

Ah, I see. So some charts (but not all) will have an alternate "mirror version" of themselves available that's technically a completely different chart, and to identify it from the other options you need to see both the difficulty category (e.g. master) and whether it's the standard or deluxe version. And it looks like you represent this in the data file as flags on the charts for being one or the other version.

I've understood for a while that some games (dancerush) just don't care to display bpm at all and I would like to have an easy way to display other info there depending on what makes sense for each game. The existing app already has special logic to display an icon for DDR charts when the shock flag is present, and I've wanted to make that something specific to the games own configuration rather than baked into the app's UI.

I'll think about this a bit more, but I'm already on a line of thinking where a game's data file can also include some extra JavaScript that can control what the appearance of cards looks like for that game. I'm not exactly sure how this will work yet, but I think this will be what is needed to allow the level of flexibility I'd like to see.

noahm avatar Apr 07 '24 16:04 noahm

Just a thought but perhaps an easy way to do this would be allowing each game to implement their own Song Card which would enable custom styling per-game and also per-game logic. This way things like the shock arrow and isDegrs code can be moved to a DDR Song Card instead of being a part of the eligible-charts logic.

albshin avatar Apr 07 '24 21:04 albshin