WohlSoft / LunaLua

LunaLua - LunaDLL with Lua, is a free extension mod for SMBX 1.3 game engine, core of the X2 project.
https://codehaus.moe/
GNU General Public License v3.0
33 stars 12 forks source link

"Audio.music" system with music overriding #77

Open SolaceEllery opened 4 months ago

SolaceEllery commented 4 months ago

I am back with a new pull request! Here's a new addition that goes great with "Audio.sounds": "Audio.music"!

2024-06-22 18-21-12

Basically, the system for SFXs have been ported over to now include music. Below is information on how it works, along with code that will need to be added to SMBX2 itself:

Music Category IDs

Track IDs

Depending on the category ID, track IDs are the music IDs located under "music.ini".

New Functions

SMBX2 Lua Code to Add

As for what should be added to SMBX2's Lua side for this to work, check out the codes I wrote for "main.lua" and "classexpander.lua" here: https://pastebin.com/v9tb3vGt

Conclusion

This system is useful for changing the Special Music and World Music in Lua, since changing music in those categories are either possible (World Music filepaths, but it needs extra Lua code to make it possible), or actually impossible outside of this pull request (Special Music filepaths, which can't be changed outside of editing music.ini)

So, there's the answer on how useful this will be.

Hopefully, this pull request gets accepted at some point in time!