Manually choosing LE-CODE Track Variants (Concept)

      Manually choosing LE-CODE Track Variants (Concept)

      LE-CODE track variant lists are mostly useful for texture hacks, because there's no real gameplay difference between the different texture hacks. You should theoretically be able to run the same time trial ghost on all texture hacks of a track and see them all produce the same result.

      However, it's annoying when in a custom track distribution, when the pack creator decides to lump all the different remakes (not texture hacks) of a particular retro track together into one track variant list, giving you no way to actually choose between them. Some retro track remakes may have slightly different strats than their other counterparts even if they appear on the surface to just be a glorified texture hack, and some retro track remakes are like completely different tracks altogether, giving you a real reason to want to choose a particular one over the other.

      As the developer of the pack, you could try to appease your players by separating the different versions of the retro tracks into their own visual slot, but that would ruin the aesthetic of having all the retros neatly organized into their cups as they appear in their original games.

      Here is my solution to this. The current track variant list we have right now will be called a "texture list" since it works best for textures. Introduce a new type of track variant list called a "version list," which works best with tracks that have different versions. Like the texture list, a version list can allow you to have more than 4 tracks within a cup. But the difference is that you are able to choose between the track variants in the version list with a sub-menu. In addition, you can nest a texture list within a version list.

      Here is a set of rules defining what I believe to be the most intuitive syntax to define an LE-CODE config file with this new capability:

      1. When a line is a string without any indentation, it is a cup header.
      2. When a line is a string followed by a V, it is a version list header.
      3. When a line is a string followed by a T, it is a texture list header.
      4. When a line is a string followed by a property slot, it is a track.
      5. Beneath a cup header, there can be up to 4 lines that are indented by 1 tab.
      6. Each of the lines beneath a cup header can either be a version list header, a texture list header, or a track.
      7. Beneath a version list header, there can be many lines (perhaps 12 max) indented by 2 tabs.
      8. Each of the lines below a version list header can either be a texture list header or a track.
      9. Beneath a texture list header, there can only be tracks (preferably texture hacks of each other), indented by 1 more tab than the texture hack header itself.

      A few more details on track lines:

      1. The string is assumed to be both the file name and the display name. Unless for some reason you want those to be different, in which case you can put two strings, with the first being the display name and the second being the file name.
      2. If you want the music slot to be different than the property slot, then you simply add another number after the property slot.
      3. If you want the track to have custom music to use with the Track Music Expander, you can add a string after the property slot and music slot which specifies the filename of the brstm you want assigned to that track.

      Another detail on cup headers:

      1. It's assumed that the image file for the cup icon has the same name as the cup itself. Unless for some reason you want those to be different, in which case you can add another string after the cup name which specifies the filename of the image file for the cup icon.

      Anything essential that's missing from my rules, let me know.

      In the following example I define the N64 Flower Cup using these rules. I chose this example because it shows how you can have a texture list nested within a version list.

      Quellcode

      1. "N64 Flower Cup"
      2. | "N64 Toad's Turnpike" V
      3. | | "N64 Toad's Turnpike (Original)" 4.2 "N64 Toad's turnpike (Cloou)"
      4. | | "N64 Toad's Turnpike (Torran)" 4.2 "N64 Toad's Turnpike (Paulygon)"
      5. | | "N64 Toad's Turnpike (MK8)" T
      6. | | | "N64 Toad's Turnpike (MK8) (Night)" 4.2 "N64 Toad's Turnpike (MK8)"
      7. | | | "N64 Toad's Turnpike (MK8) (Sunset)" 4.2 "N64 Toad's Turnpike (MK8) (Frontrunning)"
      8. | "N64 Frappe Snowland" V
      9. | | "N64 Frappe Snowland (Original)" 6.1
      10. | | "N64 Frappe Snowland (MKT)" 6.1 "N64 Sherbet Land (Fatcat)"
      11. | | "N64 Frappe Snowland (Cats4Life)" 6.1 "N64 Sherbet Land (The Consouls)"
      12. | "N64 Choco Mountain" V
      13. | | "N64 Choco Mountain (Original)" 8.3 "N64 Choco Mountain (Cloou)"
      14. | | "N64 Choco Mountain (MKT)" 8.3 "N64 Choco Mountain (MK8)"
      15. | "N64 Mario Raceway" T
      16. | | "N64 Mario Raceway (Original)" 5.4 "N64 Mario Raceway (Cloou)"
      17. | | "N64 Mario Raceway (Rainy)" 5.4 "N64 Mario Raceway (InsaneInTheRainMusic)"
      Alles anzeigen
      Here is a flowchart showing how the user would navigate this menu: https://drive.google.com/file/d/1vZkH__pXtmX9NofJ3tjarhvUJNkuR_cu/view?usp=sharing
      It's nice that you thought of a way to add these sub-menus to a definition file, but that's not the hard part. The hard part is actually implementing a submenu in the track selection screen (meaning, adding a custom menu to the game). This feature has already been requested a couple times, but I don't think I know enough about how MKWii's menus work to be able to properly add such a submenu to the game.

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      A good temporary solution (without creating a new menu) could be to let the player select a version using a c-stick input when they select the track. No c-stick input = first version, up on the c-stick = second version, up-right on the c-stick = third version, and so on, going clockwise around the c-stick to choose one of up to 9 different versions.