MostWantedRhythm is a rhythm "minigame" mod built and ported for Need for Speed: Most Wanted (2005). Originally, it was made for Need for Speed: Carbon.
Mod made by: giovannosaur [on YT known as: vannonosaur], link: https://github.com/giovannosaur/CarbonRhythm
Port/Fork made by: JayF10001 link: https://github.com/JayF10001/NFSMW-Rhythm


I [the person who made the Converter, and are sharing it with the NFSMW fork], am sharing here only The Converter [written by DeepSeek AI, but it works], which can convert Stepmania/Dance Dance Revolution Maps [and also Osu!Mania], which were firstly converted into JSON format used by FNF, into the Format for this Mod [CarbonRhythm or MostWantedRhythm].
So, This mod can also convert FNF maps which are in a JSON Format.

And you can download the CarbonRhythm Mod for Most Wanted here: https://nfsmods.xyz/mod/7548

## HOW TO USE THE CONVERTER TOOL

1. First, get your Stepmania Map ready. You can map it yourself using any tools for mapping Stepmania maps [like Arrow-Vortex], or you can download maps from here: https://zenius-i-vanisher.com/v5.2/simfiles.php Remember to download ZIP files [or "custom-ZIP" if the ZIP is empty and doesnt have the sm file]
2. Then, Unpack it, open the folder of your map, and then convert the .sm file using this Online converter: https://uncertainprod.github.io/SMToPsychFNF-Web/ Remember to select Difficulty by using "Select Chart".
3. Ensure, that you have PYTHON installed on your PC, specifically the "Python 3.10.11" version. [If you don't have it, install it, If you don't know how, Google it].
a) 	You can check what version you have/youre currently running, by running "py --version" command in CMD.
4. Open the "Converter" folder in the "CarbonRhythmAssets" folder.
5. Copy Your Converted Stepmania map [which now should end with ".json" extension (THIS WONT WORK WITH .sm EXTENSION)] into the "Converter" folder [so it's near the .py app].
6. Double-Click on the Convert-FNF-format-For-This.py to run it. 
a) 	If it doesn't open/run, then you have something wrong with your Python installation. Fix it!
7. Copy the FULL name of your Converted Stepmania Map [for example: if file is named "gangnam-style" then you copy it, paste it into the app, and add to it ".json" so it ends with it. It should be: "gangnam-style.json"], and paste it into the App. Hit Enter to confirm.
8. Now, the App will ask for the BPM of this Map. To be certain that you've used the correct BPM of a song [google results may vary], open the .json file, and find the "bpm" value [use Ctrl+F shortcut to find it easier]. There may be more than one "bpm" value in a file, it's preferred to use the First one, but you may tinker with it.
a)	Input the desired BPM [preferably the one from json file] into the App, and hit Enter to confirm.
9.The App will now Ask if you want to replace few Original Notes, so that they use the SPIN Buttons [Far-Left, and Far-Right] which make the Car Spin. Type "y" and hit Enter if you want them, Type "n" and hit Enter if you do not want them. Hitting only "Enter" will default to "n".
10. If you want to change the Title of a Song, you might now do so. Hit Enter when you're done, or if you do not want to change it.
11. If you want to change the Artist of a Song, you might now do so. Hit Enter when you're done. By Default [or if left Blank] will input this: "Unknown Artist".
12. After that the App will Close, and in the Same directory you should now have a file, that ends with "-converted.json". For example it might be named: "gangnam-style-converted.json".
13. Open this newest file, if you want to make any Manual changes, like changing the Difficulty name [by default it says "Medium", even if you choose "Challenge" in the Chart Selector when converting the .sm file. Dont worry, this is just visual text], etc.
14. Copy this newest file, into the "maps" directory which is in the "CarbonRhythmAssets" folder.
15. Now go back to where you had the folder of the Original Map [where the .sm file was]. In the same folder, there should be a .mp3, or a .ogg Audio file, which has the Song for THIS map. If it's in a Different format than .mp3 or .ogg, then it needs to be Converted.
16. Rename that file, so it has the same name as the Converted Stempania map [the one you converted from .sm through that Online website]. For example: IF the original converted map was named "gangnam-style.json", then the audio for it has to be named "gangnam-style.mp3" or "gangnam-style.ogg" depending what Audio Extension you have.
17. You can check if it is named correctly, by opening the Newest Converted Stepmania map [aka. the one converted by this Python Converter] file, and checking the "audio" value. For example, it should look like this: "CarbonRhythmAssets\\maps\\gangnam-style.mp3". PLEASE, Do Not change the "CarbonRhythmAssets\\maps\\" and DO NOT remove the Double Backslashes.
18. Also - You can rename the Newest Converted Stepmania map, so that it has a Difficulty name in it. For Example: "gangnam-style-hard.json". This won't [or rather should not] break things, and will make finding files easier.
19. After all of that, the Map should be converted Successfully. If you can't see it in the Menu, then Restart the Game! 
a)	If it is not working in game [like, there's no audio playing], then: You might have done something wrong, or the "audio" value might be incorrect [like, the audio might be named differently, etc.]. Use your brain to fix this.


The Results of this Tool might vary. It's preferred to Use Hard/Medium Difficulties Charts, but lower difficulties do also work. Very Difficulty Challenge charts might have too many notes to play/understand.
Also sometimes songs might have different BPMs in them. Sadly, this Mod doesn't support different BPMs, but the Tool will convert a Map with it nonetheless. But... The results might be bad [for example: Desynchro with song].
So please - Do remember that you can modify the .sm files [in for example: Arrow-Vortex] BEFORE Starting the Conversion, and fix issues yourself. [Also: Mines and other notes might just be ignored, Especially the Hold ones might just be converted into single notes].

## HOW TO CONVERT OSU!MANIA SONGS INTO JSON

1. Firstly, download this: https://gamebanana.com/tools/6992 And Unpack it somewhere.
2. Then, get your osu!mania map ready: For the most part when you download maps from osu!'s site, you get .osz files. You can just unpack them into a folder with any Archive tool [Winrar, 7zip], so that you'll have the Audio file + .osu file. There might be more than .osu file depending on how many difficulties there are, and you'll have to deduct them if you only want to convert one of the difficulties.
3. Now, open up the mapper.exe you downloaded from the gamebanana link, hit the Browse button, and select your .osu File.
4. After that, name it correctly, hit the "Only Plays:" button and make sure it's set to the Enemy.
5. Hit the "Browse" button on the right [FNF Folder]. This is the folder where .json file will be extracted/converted into.
6. DO NOT MESS WITH OTHER OPTIONS, as they might break the conversion. After you're done with the previous steps, hit the Convert button, wait for it to finish, and go to the location where you'll find the converted JSON.
7. Now, before we Use That Json with My Converter Tool, we need to make it "pretty". And for that, we will also be needing Python.
8. Open up CMD [by Opening up Search in your taskbar, and searching for CMD], and you'll have to manually go to the location where this json is in it [with CD, and DIR commands], Unless you know how to open CMD from Windows Explorer [by typing "CMD" in the Address Bar, it will open CMD already in this folder, This is useful a lot].
9. After that and making sure that you're in the right directory, Type this into CMD: python -m json.tool name.json name_pretty.json
a) 	just remember to change the "name" to whatever your json file is named.
10. After the command has been successfully inputed [without errors], then you should have your pretty json file, ready to be used with the Converter. Now go to the 6th point of the Instructions above this section.


## IF IT DOESN'T WORK:

- Ensure that you've Python Installed. I only tested this with version 3.10.11. I do not know if it works with newer, or older version of Python, but it should anyway.

## Credits & Thanks

vannonosaur (nismofan) for developing [ https://github.com/giovannosaur/CarbonRhythm ]
ThirteenAG for Ultimate ASI Loader
Zolika1351 for NFSC-SDK (references)
Veliona for testing
JayF10001 for porting [https://github.com/JayF10001/NFSMW-Rhythm ]
DeepSeek AI for guidance on how to Compile, and for writing this small Tool.


## License:

MinHook is licensed under the BSD 2-clause license.
nlohmann/json is licensed under the MIT license.
BASS is free for non-commercial use.


## Disclaimer:

This project is not affiliated with or endorsed by EA Games.
Need for Speed: Most Wanted 2005 is a property of Electronic Arts.
Need for Speed: Carbon is a property of Electronic Arts.