Resource icon

Dynamic Music v3 3.0

I made sure my file(s) follow the Submissions Guidelines
  1. Yes
it's a music mod lol

I'm sure just about everyone is aware of the existing music mods for Kart, things like Encore Music, Final Lap Music, SPB Music, and similar mods. These mods all do really neat things, but have seen next to no use among the populated servers. Why? It's because music is either packaged with the mods, or additional Lua scripts are necessary to configure them. This essentially forces joiners to either download somewhere around 30-40 megabytes of music, or to download additional Lua scripts that are specifically configured for one guy's music. With problems like that, it's not hard to see why no one is using them.

And that's where Dynamic Music comes in.

This mod is a combined version of some of the mods mentioned above, specifically Encore Music, Final Lap Music, SPB Music, and Megamix Themes. It includes two exclusive mods as well, those being My Music (I'll elaborate later) and Victory Themes. It operates differently from the previous mods mentioned: for starters, it includes NO music. At all. The base package is just Lua scripts, meaning any server can add it without creating a mandatory 40MB download. In addition, the mod is configured not through additional Lua scripts, but through console commands. The game will load a .cfg file containing a list of commands the first time a level is loaded, allowing players to define and load their preferences instantly when connecting to a server. No more bothering people with your music or being bothered by their music, instead, everyone chooses what they want to hear.

All functionality in this mod is disabled by default. This is done to make things seamless for those joining netgames without dynmusic.cfg configured. In the downloads is a completely optional sample pack that serves as a simple demonstration of what the mod can do, coupled with its config. The sample pack config will automatically load the included music, so adding it yourself is not necessary. Additionally, a pack of final lap songs assembled by Snu is also available.
NOTE: All commands that take a track lump do not require the prefix (O_), issues may arise if used.

SPB Music
Plays a unique song during SPB rush. Can be set to randomize between multiple tracks.

spbmusic
(CVAR) Turns SPB Music on or off.
EXAMPLE: spbmusic on

spbrandomize
(CVAR) Enables or disables the randomizer.
EXAMPLE: spbrandomize on

addspbmusic
Adds SPB music to the list. The list can be viewed with "listspbmusic", and a label can optionally be provided to make identifying the lump easier.
EXAMPLE: addspbmusic LUMP "This is a track lump!"

delspbmusic
Removes a song from the SPB music list
EXAMPLE: delspbmusic LUMP

listspbmusic
Lists the current SPB music table
EXAMPLE: listspbmusic

setspbmusic
Sets preferred SPB music. Supports track numbers and lump names.
EXAMPLE: setspbmusic LUMP

mapspbmusic
Sets SPB music for a specific map. Supply the map first, and then the track number or lump. This example sets track LUMP to MAP01.
EXAMPLE: mapspbmusic MAP01 LUMP

spbmapoverride
Overrides map specific SPB music. Use this if you want your preferred song to take over without getting rid of your map-specific settings.
EXAMPLE: spbmapoverride on

spbblacklist
Disables SPB music on a specific map.
EXAMPLE: spbblacklist MAPH0

setspbdefault
Changes the default SPB music lump. Useful if a server forcibly replaces SPBRUN
EXAMPLE: setspbdefault SPB1

addcharspbmusic
Adds character-specific SPB music. This overrides any other SPB music set
EXAMPLE: addcharspbmusic sonic LUMP

delcharspbmusic
Removes character-specific SPB music
EXAMPLE: delcharspbmusic sonic

Encore Music
Allows defining a unique song on a specific map in Encore Mode.

encoremusic
(CVAR) Turns Encore Music on or off.
EXAMPLE: encoremusic on

addencoremusic
Adds encore music to the list for the given map. Like SPB music, an optional label can be provided.
EXAMPLE: addencoremusic MAP01 LUMP "This is an encore track lump!"

delencoremusic
Removes a map from the encore music list
EXAMPLE: delencoremusic MAP01

listencoremusic
Lists the current encore music table
EXAMPLE: listencoremusic

Final Lap Music
Changes the song on the final lap. Can be synced with a specific My Music track lump, or set to trigger in Encore Mode.

finallapmusic
(CVAR) Turns Final Lap Music on or off.
EXAMPLE: finallapmusic on

addflmusic
Adds final lap music to the given music lump. (FLUMP in this example)
EXAMPLE: addflmusic KMAP01 FLUMP

Alternatively, you can use globalmusic to add final lap music for all music lumps that don't have their own final lap music defined
EXAMPLE: addflmusic globalmusic KMAP01

delflmusic
Removes a map from the final lap music list
EXAMPLE: delflmusic KMAP01

clearflmusic
Clears final lap music from all maps
EXAMPLE: clearflmusic

listflmusic
Lists all final lap music currently defined for music lumps.
EXAMPLE: listflmusic

addencoreflmusic
Adds encore final lap music to the given map
EXAMPLE: addencoreflmusic MAP01 FLUMP

My Music
Allows defining multiple songs for a level, which the game will choose from randomly at the start of the race. Final Lap Music can also be tied to My Music lumps.

mymusic
(CVAR) Turns My Music on or off.
EXAMPLE: mymusic on

addmapmusic
Adds a song to My Music for the provided map. Like SPB music, an optional label can be provided.
EXAMPLE: addmapmusic MAP01 LUMP "This is a My Music lump!"

setdefaultmapmusic
Changes the default music lump for the provided map
EXAMPLE: setdefaultmapmusic MAP01 LUMP

overrideintermission
Overrides the intermission music
EXAMPLE: overrideintermission LUMP

addvotemusic
Adds voting music to randomize between
EXAMPLE: addvotemusic LUMP1 LUMP2 LUMP3

setdefaultvotemusic
Changes the default music lumps for voting
setdefaultvotemusic LUMP1 LUMP2 LUMP3

delmapmusic
Removes a song from My Music for the specified map
EXAMPLE: delmapmusic MAP01 LUMP

delmapdefault
Removes custom default music from a map
EXAMPLE: delmapdefault MAP01

delvotemusic
Removes additional voting music
EXAMPLE: delvotemusic 1

delintermissionoverride
Removes overridden intermission music
EXAMPLE: delintermissionoverride

listmapmusic
Lists the current My Music table for the given map
EXAMPLE: listmapmusic MAP01

listmapdefaults
Lists the changed map music defaults
EXAMPLE: listmapdefaults

listvotemusic
Lists voting music set by the player
EXAMPLE: listvotemusic

queue
Queues a song to play. More than one lump can be used to create a playlist.
EXAMPLE: queue LUMP1 LUMP2

listqueue
Lists the current queue.
EXAMPLE: listqueue

clearqueue
Clears the queue.
EXAMPLE: clearqueue

Victory Themes
Allows defining a unique top half finish theme for a specific skin.

victorythemes
(CVAR) Turns Victory Themes on or off.
EXAMPLE: victorythemes on

addvictorytheme
Adds victory music for the given skin. Like SPB music, an optional label can be provided.
EXAMPLE: addvictorytheme sonic LUMP "This is a victory theme!"

addokayfinishtheme
Adds a victory theme for top half finishes on the given skin. Supports labels.
EXAMPLE: addokayfinishtheme sonic LUMP "This is an okay finish theme!"

delvictorytheme
Removes the victory theme for the given skin
EXAMPLE: delvictorytheme sonic

listvictorythemes
Lists the current victory theme table
EXAMPLE: listvictorythemes

Megamix Themes
Allows changing invincibility or growth music for a specific character.

megamixthemes
(CVAR) Enables Megamix Themes
EXAMPLE: megamixthemes on

addinvincibilitytheme
Adds a invincibility theme for a given skin.
EXAMPLE: addinvincibilitytheme sonic LUMP "This is an invincibility theme!"

addgrowththeme
Adds a growth theme for a given skin.
EXAMPLE: addgrowththeme sonic LUMP "This is a growth theme!"

delmegamixthemes
Deletes Megamix Themes from a given skin.
EXAMPLE: delmegamixthemes sonic

listmegamixthemes
Lists the current Megamix Themes table
EXAMPLE: listmegamixthemes
All documentation listed here is also in dynmusic-doc.cfg, included with the download.
(I'm writing this before any questions have been asked, but I figured I might as well address them here.)

Q: I created a music/sound mod and I'd like to get it included in DynMusic, how can I do that?
A: Send me a PM (or a DM, @wolfs#2997 on Discord) and I'll look over it. If it seems useful enough, I'll see about including it!

Q: Why are none of my customizations working? Help!
A: You probably forgot to enable whatever module you're using. Check the command reference (or the example config) to find what you're missing.

Q: Can I repackage this with music?
A: Absolutely not.

Q: Can I repackage this at all?
A: Not without permission, no.

Q: I can't understand the code, can you help me?
A: No.
SPB Music was originally written by TehRealSalt, rewritten by james, and later expanded by wolfs

Final Lap Music was originally written by Zeverous and Snu, and later rewritten by Snu

Encore Music was written by SteelT

My Music was written by wolfs

Victory Themes was written by zxyspku and Lat'

Megamix Themes was written by Snu

A large portion of the helper lumps were written by james. He's the only reason this thing came out remotely functional!

The included sample pack uses the following songs:
  • Cornered (Phoenix Wright: Ace Attorney) - GaMetal
  • Mikansei Love Mapputatsu! - Symphogear XV
  • Overkill Scythe Hell - Symphogear GX
  • Down in the Base - Sonic Adventure 2
  • Atomic Waste Zone Act 2 - Michael Staple
  • Eggman Empire Zone Act 2 - Michael Staple
  • You Can Do Anything - Sonic & All-Stars Racing Transformed
  • Robotnik's Revenge - Virtual Sonic

Lastly, I'd like to thank some of the Kart community regulars for helping out with testing, you know who you are :P


The code for the Lua lumps can be found on our repo here. Changelogs can be found on the releases page here.

NOTE: The README.txt file in the FLMusic pack is outdated. Use the FLMPack.txt file included with v2 instead.

Supporters / Co-Authors:
  • dm.png
    dm.png
    64.4 KB · Views: 510
Author
wolfs
Downloads
1,922
Views
4,378
First release
Last update

More resources from wolfs

Share this resource

Latest reviews

This mod is great, I really like being able to customize music so heavily, especially per-character. My one big issue though is that for all the different modules, with victory and ok results, there is no support for losing themes for some reason? Also there is no battle mode support either, which absolutely sucks
Upvote 0
Back
Top