Pulsar

From Custom Mario Kart
Revision as of 17:24, 10 March 2024 by Brawlboxgaming (talk | contribs) (Changed version in table)
Jump to navigation Jump to search
Pulsar
Authors: Melg, Brawlboxgaming
Type: Riivolution
Creator Version: v1.3.0
Engine Version: v1.2.0
Date of latest version: 2024-03-10
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 4 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 all of your tracks' 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 8 cups per page and BRSTM support (include a BRSTM of your choice to your My Stuff, 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, and in friend rooms.
  • 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 coloured 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 UMT 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 6 track 3 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 5 seconds. This makes the transition smooth but also completely circumvents the need for a _f.brstm.

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 GP, 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)
  • Coloured 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.

Optional:

  • Mii heads (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, you can use the software as if you wanted to make a normal distribution, but instead use the "Build Config Only" 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 coloured 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 images resolution will gradually get reduced to preserve a small UIAssets.szs file.
  • Added the 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 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.

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).
  • Flaps 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 GP mode.
  • Fixed race count related crash in friend rooms.
  • Fixed bad cup ordering on packs with 8 or fewer total cups.
  • Fixed junk being written to leaderboard files.
v1.1.1 2024-02-16
  • New race settings to choose the speedometer location and to change its number of fractional part digits.
  • 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 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 didn't 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.
  • GPs 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).
By the same author: Melg

Custom Track Distribution:
Skill Issue Pack

Game Modes:
TTs OnlineRandom LapsInvisibility ToggleRandomized Item & Object Collision

Miscellaneous:
Pulsar