Pulsar

From Custom Mario Kart
Jump to navigation Jump to search
Pulsar
Authors: Melg, Brawlboxgaming
Type: Riivolution
Creator Version: v1.3.7
Engine Version: v1.2.7
Date of latest version: 2024-06-22
Download: Pulsar Pack Creator
Source: GitHub
Discord Server: Pulsar
Pulsar Logo.png

Overview

Pulsar is a custom track distribution engine created by Melg and Brawlboxgaming. It comes with its own creator software, which makes pack creation and updating very simple, and a plethora of features, the biggest of which are completely flush Cup Select Expansion, ghost saving and in-game settings. The game engine is built on Kamek made by Treeki and the creator software is developed in C#.

Creating a Distribution

A Pulsar Pack is composed of four aspects:

  • A track folder in which the SZS files have been renamed.
  • An assets folder which contains all custom files necessary for the engine to function.
  • A binaries folder where the code binary and pack configuration file live. All binaries use the .pul extension (and it can be bound to the software for fast access).
  • A ghosts folder; each track has its own subfolder where ghosts are saved, and the folder also contains a text file to help users know which folder corresponds to which track.

The engine has been designed with ease of use as its upmost priority. After downloading and launching the creator software, you have two options for tracks:

  • You can fill each cup manually.
  • You can click the mass import button and copy/paste the track and cup information. You can then move all of your SZS files to the input folder (which can be opened using a button), select them all, and drag them to the first file name box.

Once your cups are defined, simply choose which options you would like your pack to contain, choose a Wiimmfi region, input a pack name and press the "Build Full Pack" button. Your pack will be created and be ready to use as-is.

Maintenance and Updating

In the software, you can open your Config.pul file with the software, or use the "Import Config" button. Your entire configuration will show in the software and you can modify. Any track update, for example, a different SZS file, will invalidate all ghosts made on the previous version. If the code binary itself has been updated since you created your pack, you can download it directly, but it is strongly recommended to instead update your software. Click the "Program Settings" button and then the "Update" button. If an update is found, wait for the software to reopen, and then import and build your configuration again.

Features

The engine currently does not include its own FAT library. Consequently, on console, it uses Riivolution's own library, meaning files get saved on the SD card, and on Dolphin it saves files on the NAND, located in "\Dolphin Emulator\Wii\shared2\Pulsar\PACKNAME".

Core

  • Fully functional cup select and slot expansion, including eight cups per page and BRSTM support (include a BRSTM of your choice to your My Stuff folder, and rename it to the track index or to the case-sensitive track name).
  • In-game settings, accessible both offline, on the main online menu, in friend rooms, and in the single-player menu.
  • Ghost saving, along with full support for staff ghosts, which reward players with trophies upon being beaten.
  • Up to four Time Trial modes (150cc, 150cc Feather, 200cc, and 200cc Feather).
  • My Stuff (via Riivolution) support: Pulsar does not modify any vanilla SZS, which allows players to use their own custom texture hacks or any SZS (such as the often modified MenuSingle/Race/Common) with no conflicts.

UI

The BRCTR, BRLYT and TPL of virtually all of Pulsar's UI modifications can be customized and are located in "PACKNAME/Assets/UIAssets.szs" and "PACKNAME/Assets/RaceAssets.szs".

  • A speedometer that is flush with the game UI.
  • In-game crediting of custom track authors, by virtue of a message at the start of a race. It is mandatory for pack creators to fill the author fields.
  • Between Races Change Combo, which is accessed via a button on the VR page, along with another button to completely randomize your next combo.
  • Team Selection, where the host of a room can manually set the team of each player. Team VS has been modified to play exactly as normal VS while keeping the colored minimap icons and the scoreboard after races. This makes it easy to play clan wars or any sort of group event.
  • Boot to Wiimmfi directly.
  • Better ghost replay which displays the normal race interface and allows multi-ghost watching and point-of-view switching. The time difference UI is shown for each ghost on the track and has been moved.

Gameplay

Optional:

  • 200cc.
  • Mega Thunder Clouds (model by Atlas).
  • Ultra Mini-Turbos: Inspired by Mario Kart 8 Deluxe, karts can charge a third tier of mini-turbos, which is both longer and gives a stronger speed boost than super mini-turbos, indicated by purple flames. Moreover, any boost (including other mini-turbos) that is released while the ultra mini-turbo is still going preserves the stronger boost.
  • CLF78 and stebler's Feather (model by Atlas).
  • Custom CC distribution.

Sound

  • BRSAR entry size patch to prevent any BRSTM from cutting off.
  • Conditional channel switch: The game will only switch channels (on Toad's Factory, Koopa Cape, Dry Dry Ruins, Moonview Highway, and Bowser's Castle) if the currently playing BRSTM has at least as many channels as the BRSAR entry requires.
  • BRSTM expansion: When you include any BRSTM in your My Stuff, you can either rename it to a vanilla BRSTM name, in which case the game will play said BRSTM on all tracks that use that vanilla track's slot, or you can rename it to the index of a track (Cup six, track three, would be 4 × 5 + 2 = 22.brstm) or the case-sensitive track name as it appears in-game directly (Amanita Abyss.brstm) to play that BRSTM on only a specific track. The latter naming has priority on the former.
  • Optional Music Speedup on final lap: Instead of switching to the _f.brstm file, the music simply gradually speeds up over five seconds. This makes the transition smooth but also completely circumvents the need for a _f.brstm.
  • Custom Wi-Fi Music: By placing a BRSTM named "wifi_bg.brstm" in your My Stuff, you can have custom background Wi-Fi music. This can support up to four streams.
  • Custom Offline Menu Music: By placing a BRSTM named "offline_bg.brstm" in your My Stuff, you can have custom background menu music for offline menus. This can support up to four streams.
  • Custom Title Music: By placing a BRSTM named "title_bg.brstm" in your My Stuff, you can have custom background music for the title screen. This can support only one stream.
  • Optional Disable Music setting:
    • Disable all music
    • Disable all race music

Network

  • Friend rooms can only be joined by people on the same pack (meaning the exact same configuration file).
  • Host Always Wins: Instead of going through track votes, the host of the room chooses the first track directly before starting the grand prix, and then each subsequent track is chosen at the end of the race through a custom menu.
  • Worldwides still function like on vanilla and all gameplay modifications are disabled.

Misc.

  • Display finish time instead of name on the results leaderboard
  • Do not hide position tracker at the end of races (MrBean35000vr)
  • Colored Minimap (Riidefi)
  • A file gets automatically created when the game crashes. That file is located in the pack folder. It can be opened with the creator to display crash information.
  • Some Common.szs files can be read from the root of a track SZS file, such as ObjFlow.bin.

Optional:

  • Mii Heads on Minimap (JoshuaMK)
  • Draggable Blue Shells (MrBean35000vr)
  • Battle Glitch (XeR)

Using Pulsar as a Library

Everything about Pulsar is open source. The code can be directly modified (for example if you want your own version of 200cc) but also expanded upon. An upcoming version of the Custom Track Testing Pack (the pack used to test tracks for bugs) as well as Variety Pack will show how to do so. Once you have made your code modifications and obtained your own Code.pul and added any files you need to the Assets.szs file, you can use the software as if you wanted to make a normal distribution, but instead use the "Build Config & Tracks" button.

Media

Pulsar Pack Creator Tutorial

Version History

Creator

Version Date of release Information
v1.0.0 2024-02-10 First release
v1.0.1 2024-02-11
  • Pasting is no longer possible in numbers-only boxes.
  • RKG dropping now functions as expected.
  • CC probabilities boxes now function better.
v1.1.0 2024-02-15
  • Now allows custom cup icons and names. They can both be mass imported. PNG is the recommended format for the images.
  • Galaxy Colosseum is now selectable as a music slot. Battle arenas are no longer selectable as track slots.
  • The input/output folders no longer get created at the wrong location when the software is started through a .pul file.
  • Attempt at making the mass import window work for everyone (the save button is somehow sometimes outside of the window and inaccessible), although this likely still does not address the issue.
  • Fixed massive trophy counts getting written to config files.
v1.1.1 2024-02-16
  • Import no longer fails for configs of over 100 cups.
  • No longer warns an infinite amount of times about names and icons for cup indexes over 100.
  • Backslashes are now allowed in track names, but should only be used for BMG formatting (e.g. for colored text).
v1.1.2 2024-02-17
  • Fixed pack creation for packs with more than 100 cups.
  • Fixed mass import window scaling issue.
  • Added CTBRSTM folder for BRSTM expansion files.
  • Added My Stuff folder.
v1.1.3 2024-02-17 Fixed XML typos.
v1.2.0 2024-02-24
  • Added a new tab to edit regular track expert ghosts. It is only visible if regular tracks are enabled.
  • Added a button to edit Pulsar's BMG files directly. Note that you will need to edit these BMGs every time, since BMG IDs could be removed, changed or added by any given update. For your own custom BMGs, taking MenuSingle_X.szs "Common.bmg" file, editing it to your needs and putting it in UIAssets.szs is a guaranteed permanent solution.
  • Cup names and icons are no longer limited to 100. If you use more than 100 icons, the image resolutions will gradually get reduced to preserve a small UIAssets.szs file.
  • Added DLL files from Wiimms SZS Tools.
  • No longer adds a space to every track on import.
  • Now asks if the XML should be created on a "Build Config Only" click.
  • Now creates semi-unique (the mod name and a random 0-255 number) Riivolution patch IDs on every build to prevent conflicts.
  • Only one instance of the software can now exist.
  • Fixed text being allowed in various number-only boxes leading to a crash.
  • Fixed bad date imports when trying to import config files built on a different locale.
  • Fixed bad CC distribution imports.
  • Improved build and import code.
v1.2.1 2024-02-26
  • Fixed battle arenas not working for music slots in the mass import window.
  • Fixed a crash on cups >100 when removing the name of the cup.
v1.3.0 2024-03-10
  • Config.pul now uses version 2. If you want to use the new features, you need to import and reexport your config file.
  • Build and Mass Import now use context menus for better accessibility.
  • "Build Config Only" now builds the config without checking for files. The resulting file cannot be used in-game, but can be imported and modified in the software as needed.
  • The previous "Build Config Only" behaviour is now executed by "Build Config & Tracks"
  • Cup names and icons can now be imported without first having to import tracks.
  • Building no longer deletes the already existing output folder if it fails.
  • Mass importing tracks no longer requires versions.
  • Alphabetize now ignores escape sequences.
  • Added option to choose the timer a host has to select a track in between races.
v1.3.1 2024-03-11 Fixed an infinite loop that happened when trying to build a pack with tracks containing escape sequences such as \c{red3}.
v1.3.2 2024-04-14
  • Fixed mass import window height issues (a bug that was previously fixed but came back due to a merge issue).
  • Fixed some import bugs.
  • Fixed Linux ghost folder issues due to case-sensitivity.
v1.3.3 2024-04-20
  • Fixed an import bug which caused some boxes to be empty.
  • Fixed alphabetization of escape sequences in track names.
v1.3.4 2024-04-24 Fixed a pasting issue in track name boxes which allowed invalid characters and could lead to a corrupted config.
v1.3.5 2024-05-27
  • Staff ghosts will now be put in an "Experts" folder. This folder no longer needs to be moved to the NAND.
  • Edited XML to reflect the various additions.
v1.3.6 2024-06-15
  • Fixed alphabetization ignoring versions.
  • Icon count is now correctly written to config files.
v1.3.7 2024-06-22 Fixed alphabetization incorrectly sorting escape sequences due to whitespace.

Engine

Version Date of release Information
v1.0.0 2024-02-10 First release
v1.1.0 2024-02-15
  • Pulsar data on dolphin now lives in Dolphin Emulator/Wii/shared2. It was previously in Dolphin Emulator/Wii/title/00010004 but some users' NAND had specific permissions prevent the use of that location.
  • Cup Select buttons are no longer mistakenly inaccessible.
  • If no controller input is made on the strap screen, boot to Wiimmfi will be skipped (as it stands, no way to determine which controller the player is attempting to use).
  • Fastest laps now work as expected.
  • RKG ghosts no longer get incorrectly overwritten on load (currently, this causes slightly slower ghost loading times which is especially noticeable on console).
  • Improved sample inheritance file for those wanting to write their own codes.
  • Settings can now be accessed on packs that have neither Feathers nor 200cc.
  • Fixed a crash that would occur on packs where cups got added.
  • Fixed BMG issue in Grand Prix mode.
  • Fixed race count related crash in friend rooms.
  • Fixed bad cup ordering on packs with eight or fewer total cups.
  • Fixed junk being written to leaderboard files.
v1.1.1 2024-02-16
  • Added new race settings to choose the speedometer location and to change its number of fractional part digits.
  • Added new host setting to allow/forbid the use of Mii heads in a friend room.
v1.1.2 2024-02-17 Fixed author display BMG issue in the VS race intro.
v1.1.5 2024-02-24
  • Added a Random button to Host Always Wins.
  • Speedometer assets (in RaceAssets.szs) are now called PULSpeedo to prevent conflicts with CTGP's speedometer.
  • Conditional Out of Bounds no longer activates on normal AREAs type 10.
  • Fixed a crash that occurred if you did not select a track after selecting a cup online.
  • Fixed an offline bug where a given SZS would get reused if it was on the same track slot as the previously played track.
  • Fixed a badly ported NTSC-U address that was causing a crash when an item landed on the Maple Treeway bridge.
  • Fixed infinite track randomizing issues.
  • Lap splits are now displayed for up to nine laps (credit to Wingcapman for the UI assets).
  • Rear-view inputs no longer get stored.
v1.2.0 2024-03-10
  • Added a Disable Music setting.
  • Now has an in-game option to use an alphabetical layout.
  • Grand Prix trophies and ranks are now tracked by the settings file.
  • Playing offline VS with the "In Order" setting no longer repeats the first selected track if it is not the first track of a cup.
  • The LAP BRCTR no longer causes crashes for non-English players.
  • Duplicate times now create a new RKG file.
  • Fixed a bug where picking DS Yoshi Falls as the host as the end of a race would instead pick a random track.
  • Fixed randomizer getting stuck (the previous bug fix got lost due to a merge issue).
  • Fixed a bad NTSC-U port that caused the music setting to crash.
  • Fixed a bad NTSC-K port that caused cup icons to be wrong.
v1.2.1 2024-03-11
  • Fixed a bad NTSC-U port that caused the music setting to crash.
  • Fixed a bad NTSC-K port that caused cup icons to be wrong.
v1.2.2 2024-04-14
  • Fixed speedometer player one being in the wrong location in Multiplayer.
  • Fixed softlock when no one picked a track in Battle.
  • Fixed music speedup not working correctly sometimes online.
  • Fixed ultra mini-turbo sparks not disappearing.
  • Fixed total trophy count not decreasing when a track gets replaced or removed.
v1.2.3 2024-04-20 Fixed a bad port in the Battle Glitch code.
v1.2.4 2024-04-24
  • Fixed a SELECT packet phase sync issue that was causing room hangs if the host disconnected.
  • Fixed the "Disable All" music option not disabling the Wi-Fi waiting music.
  • Fixed "In Order" offline VS mode.
v1.2.5 2024-05-27
  • Wi-Fi music can now be customized by putting a BRSTM called "wifi_bg.brstm" in My Stuff, supporting up to four streams.
  • Correctly kept the ghost that was being raced when retrying a race after setting a new time.
  • Fixed a settings bug where the total size of the file was miscalculated which was causing heap corruption and crashes on boot.
v1.2.6 2024-06-15
  • Main music can now be customized like Wi-Fi menu music by putting a BRSTM called "offline_bg.brstm" in My Stuff.
  • Fixed Wi-Fi menu music streams not playing in the correct sequence. The streams now match the vanilla ones.
  • Track blocking now works in friend rooms.
  • Track blocking now takes random votes into account.
  • The Blooper no longer has an erroneous initial timer.
  • Pressing watch replay after finishing a time trial no longer crashes the game. The crash was due to the game trying to extract data from the fanfare BRSTM which was not loaded if music was disabled.
  • Fixed friend room title BMG being hidden due to Settings.
v1.2.7 2024-06-22
  • Title screen music can now be customized like Wi-Fi menu and main menu music by putting a BRSTM called "title_bg.brstm" in My Stuff.
  • Fixed silent background music and related crashes when someone would have My Stuff on but no background BRSTMs – Riivolution would create an empty file no matter what.
  • Rewrote BuildPulsar.bat (previously BuildCode.bat) to use generic paths so that it works as is.
By the same author: Melg

Custom Track Distribution:
Skill Issue Pack

Game Modes:
TTs OnlineRandom LapsInvisibility ToggleRandomized Item & Object Collision

Miscellaneous:
Pulsar