cristian64 / mkdd-extender

A tool for extending Mario Kart: Double Dash!! with extra courses.
GNU General Public License v3.0
18 stars 4 forks source link

Option to never use custom music #8

Closed Miepee closed 1 year ago

Miepee commented 1 year ago

I'd like the option to never use a custom track's custom music. I don't know much about DD hacking, but seems that tracks already provide a replaces and replaces_music option, which could be used to determine which vanilla song to use for the track. It'd also likely drastically reduce iso size, as custom tracks don't always provide the auxillary_audio_track option.

cristian64 commented 1 year ago

I was hoping the auxiliary_audio_track field would gain more traction over time. But, as far as I know, only the MKDD Reverse tracks define it at the moment.

I guess an option to use the replacee's audio track (e.g. --use-replacee-audio-track) can be trivially added.

Miepee commented 1 year ago

Is auxiliary_audio_track a field defined by the "standard" from the mkdd patcher / a way to set it from there? As a somewhat outsider, it seems redudant to have two fields which basically do the same (auxiliary_audio_track and replaces_music).

cristian64 commented 1 year ago

The auxiliary_audio_track field was introduced for the MKDD Extender; the MKDD Track Patcher is not aware of it.

The purpose of the replaces_music field is not entirely clear to me. I raised it with the author [of the MKDD Track Patcher] at the time, but we couldn't really determine a real use case. There is no known custom track whose replaces_music field is different to their replaces field: they always match.

In most cases, the auxiliary_audio_track field can be displaced by the replaces field, but not in all cases. Think of a custom track that replaces Daisy Cruiser (e.g. a boat-like track), but whose theme rather matches the theme in Bowser's Castle (e.g. some sort of dark boat). In that case, the modder would define the fields like:

replaces = Daisy Cruiser
auxiliary_audio_track = Bowser's Castle

Therefore, I think the auxiliary_audio_track will stay, since it fills a small gap, and keeping it is cost free.

--use-replacee-audio-track can still be added to force all tracks [that do not define the auxiliary_audio_track field] to use their replacee's audio track, which in most cases it will fit just fine.

Miepee commented 1 year ago

Think of a custom track that replaces Daisy Cruiser (e.g. a boat-like track), but whose theme rather matches the theme in Bowser's Castle (e.g. some sort of dark boat).

That's what I thought "replaces_music" purpose was.

cristian64 commented 1 year ago

Think of a custom track that replaces Daisy Cruiser (e.g. a boat-like track), but whose theme rather matches the theme in Bowser's Castle (e.g. some sort of dark boat).

That's what I thought "replaces_music" purpose was.

The name of that field is at least a bit unfortunate, I think.

Prior to the existence of the MKDD Extender, when only the MKDD Track Patcher existed, why would any custom track define a different value in replaces_music... Why would it replace a different audio track than the one assigned to the course it's supposed to replace... By looking at the code in the MKDD Track Patcher, the purpose is a bit odd. Definitely the field was not intended as a mean to specifying a fallback audio track, hence that the auxiliary_audio_track was brought up.

Miepee commented 1 year ago

I see. Maybe replaces_music purpose should just get reworked then if it doesn't have a real purpose right now?

cristian64 commented 1 year ago

The MKDD Extender does not read that field from the .ini file at the moment. I guess it'd be the MKDD Track Patcher that needs to stop parsing the field in favor of the replaces field (which already matches in all known custom tracks).