MKW-SP

From Custom Mario Kart
Jump to navigation Jump to search
MKW-SP
Author: stebler
Type: Homebrew Application
Version: v0.1.12
Date of latest version: 2023-05-29
Download: GitHub
Website: mkw-sp.com
Source code: GitHub
Discord server: MKW-SP

Overview

MKW-SP (short for Mario Kart Wii - Service Pack) is an open-source mod created by stebler. It features up to six different licenses, viewing up to 11 ghosts at a time, a custom speedometer, SD ghost saving, and more.

A quote from the author


Credits

Media

v0.1.9 Performance Overlay Showcase
Time Trials Showcase

Features

UI

UI Features
Feature Author Information
Bigger Explanation Text Wingcapman Allows explanation text of settings to have a second line.
Custom Course Selection stebler, vabold Redesigns the course selection. It removes the cup system and instead displays a scrollable roster of tracks, displayed with their thumbnail and name.
Extended Regions Atlas, Zachruff Adds custom in-game flags and texts to regions that are not available originally.
Pick The Same Character Palapeli Turns the "Pick The Same Character" split-screen glitch into a feature.

Time Trials

Time Trial Features
Feature Author Information
11-Way Multi-Ghost stebler It is possible to race against or watch up to 11 ghosts at once. One can switch between ghosts during a replay (similar to a live view). The ghost selection UI has been accordingly remade from scratch.
Additional Ghost Metadata stebler, Chadderz, MrBean35000vr, CLF78 The track's SHA1, whether 200cc was enabled, more precise finish times and detected glitches are saved at the end of a new ghost file. The first two properties are used to only show ghosts for the correct track and engine class. The equivalent fields can be read from CTGP Revolution's ghosts for the same purpose. The SHA1 computation does not take "_Dif" files into account, allowing for e.g. custom textures.
Ghost Settings stebler, Riidefi Tag count, tag content, ghost opacity, ghost sound, and ghost sorting can be configured.
Mirror Mode henry Adds Mirror Mode to Time Trials.
Position Tracker stebler The position tracker can be enabled in Time Trials.
Rear View In Replay stebler In Ghost Replay mode, cinematic view is replaced by rear view.
Vanilla Mode stebler Disables most features to accompany competitive Time Trials better.

Races

Race Features
Feature Author Information
200cc MrBean35000vr A speed class with a 1.5× speed modifier, brake drifting and fast falling.
4:3 FOV in 16:9 Brandondorf9999 The wider 4:3 field-of-view is used in 16:9 mode.
Mega Thunder Cloud Hibyehello, Zachruff Makes the Thunder Cloud give a Mega Mushroom effect instead of shrinking the player.
Pause Menu Improvements stebler, Riidefi Additional buttons have been added to the pause menus, notably one to change the settings and another to go back directly to the ghost selection.

Battle and Team Mode

Battle and Team Mode Features
Feature Author Information
Colorblind Palette stebler Adds a colorblind-friendly palette for team colors.
Colored Timer stebler Gives the timer the player's team color.
Custom Team Size stebler, GnomedDev, Palapeli Allows Battle and team mode to be played with up to six teams. This option can be randomized.
FFA stebler Adds free-for-alls to Battle Mode.
Friendly Fire stebler Allows players to hit their own teammates.
Scores on Minimap stebler Displays the current scores of the match on the minimap.

HUD

HUD Features
Feature Author Information
Disable Minimap Star Disables the minimap.
Hidden HUD Labels stebler The "TIME", "LAP" and "SPEED" labels can be hidden.
Input Display Riidefi, stebler, Lydeum The controller inputs are shown in the HUD. Split-screen and 200cc are supported. Currently, the only controller display used is a GameCube Controller.
Mii Heads On Minimap stebler Replaces character icons on the minimap with Mii heads.
Speedometer stebler, Gaberboo, GnomedDev, Syara The player's speed is shown in the HUD, including moving road and moving water. Split-screen is supported. The "SPEED" label is supported by different languages.
Tag Limit Increase stebler, Star The amount of maximum tags displayed on screen has been increased from three to 12. It defaults to three.
Tag Render Distance Star Turns the "Battle Glitch" into a feature.

Sound

Sound Features
Feature Author Information
Final Lap Settings stebler, Melg, CLF78 The final lap jingle and final lap music can be configured.
Item Music Setting stebler The Star, Mega Mushroom, shocked, and squished music effects can be disabled.
Volume Settings stebler Allows the configuration of the master volume and music volume.

Video

Video Features
Feature Author Information
Force FPS GnomedDev Forces 30 or 60 frames per second.

My Stuff

My Stuff Features
Feature Author Information
BRSTM Fixup stebler BRSTMs that are too long or have the wrong number of channels will not cut off. The revo_kart.brsar is also automatically patched.
Layered Archives stebler For track and UI files, it is possible to replace only certain subfiles by adding the "_Dif" suffix to the archive name (e.g. koopa_course_Dif.szs or MenuSingle_E_Dif.szs).
LZMA Compression stebler The standalone LZMA format can be used in place of YAZ0, allowing for smaller file sizes.
Random BRSTMs stebler Multiple BRSTMs can be placed in a folder with the name of the replaced files and will be picked at random.
Sound Archive Subfile Replacement stebler Individual sounds from revo_kart.brsar can be replaced by BRSTMs. It works per sound ID. This is not compatible with the Random BRSTMs feature.

Miscellaneous

Other Features
Feature Author Information
Custom Discord Status Riidefi, IPG On Dolphin 5.0-17155 and later, the game can configure a custom Discord status.
Custom Save System stebler, Riidefi, Star The rksys.dat format is replaced with a custom system that can support more than four licenses (for now, the UI can handle up to six) and additional settings. Character, vehicle and course selections are saved. Ghosts are moved to separate files and everything is always unlocked. All files are stored on the SD card or a USB device.
Disc Change Explanation Lami, thepikachugamer Explains how to change discs on Dolphin.
Improved Logging and Crash Reports stebler, Riidefi, Star A log is stored to a file on the SD/USB and crash reports contain more details. By default, they are deleted after one week. Some bugs in custom tracks have specific checks with associated explanation messages.
In-Game Updater stebler, Star, Palapeli, Zachruff The distribution can be updated in-game.
Instant Menu Transitions Riidefi Removes the menu transitions the game uses.
No NTSC-K Region Lock stebler, Palapeli The NTSC-K version of the game can be played on global consoles.
Performance Overlay stebler The CPU, GPU and RAM usage can be displayed as bars on the screen.
Security Mitigations Star Several security mitigations such as DEP, stack canaries or ASLR are implemented to make the game harder to exploit by malicious custom files or in case of a vulnerability in the networking code.
Simplified Controls stebler Simplifies the controls to use ZL (CC/CCP) or Y (GCN) to trick or wheelie.
Storage Benchmark stebler The speed of the SD/USB devices can be tested in various workloads.
Thumbnail Generator stebler Creates thumbnails for tracks and battle arenas in the mkw-sp/thumbnails/ folder.
Translations stebler, Translation Project All languages (plus Dutch) are supported in all versions of the game. Some of the MKW-SP-specific strings are also translated.
Visual Checkpoints Riidefi The checkpoints can now be displayed as an overlay.
Visual Collision Model Riidefi The collision model (KCL) can now be displayed as an overlay or in place of the course model.
Wii Menu Channel stebler, Palapeli, Zachruff The distribution has its own channel in the Wii Menu.

Version History

Version Date of release Information
v0.1 2022-01-30 First release
v0.1.1 2022-02-14
  • File Management:
    • Removed 12 character limit for ghost files.
    • On console, CTGP ghosts will now be listed automatically.
    • Supported differential patching (_Dif files) for every SZS archive.
    • The game no longer crashes when using _Dif files on top of certain archives.
  • Translations:
    • Added translations for MKW-SP-specific strings.
    • Added Dutch for both the base game and MKW-SP-specific strings.
    • All languages are now supported on all versions of the game.
      • For now, only NTSC-K uses the Korean font.
    • Added four language translations for the speedometer label graphic.
  • Multi-Ghost:
    • The character animations are now correctly applied (and unlike in live view, also for the non-spectated ghost).
    • The camera no longer wrongly follows the player when falling out of bounds or in cannons.
    • Fixed a bug where the UI overlay was shown when a non-spectated ghost was falling out of bounds.
    • Added an option to remove leading zeros from ghost tags when using the finish time.
    • Fixed several crashes and freezes when going back to the menu.
    • The first four ghosts no longer desync due to the pylon01 on Daisy Circuit.
      • A fix is in the works to extend that limit.
    • Lakitu now follows the spectated ghost.
    • Sound is now configured in multi-ghost mode, with a new rule to choose between enabling sound for all ghosts, spectated only or none.
  • Menus:
    • Added a license setting for instant menu transitions.
    • Added a button to change the license settings in the middle of a race or a replay.
    • Added a button to change the ghost selection.
    • It is now possible to restart in more game modes, and also during the countdown.
    • Added various improvements to the pause menus.
    • It is now possible to access Time Trials, even if savegame initialization failed.
    • Corrected VS engine class to handle 200cc.
    • Fixed a bug where the “About” button on the license selection UI was not selectable.
  • HUD:
    • Implemented an input display, which supports split-screen and 200cc.
    • The speedometer now shows the correct speed in cannons and applies the hard speed limit of 120/180 otherwise.
    • Disabled Mii Heads on Minimap option in split-screen (was previously showing random Miis).
  • Miscellaneous:
    • Configured GitHub Actions, which means that a build is generated on every proposed change, making life easier for both developers and testers.
    • Tracks can now load faster on Dolphin if the host CPU and storage are fast enough.
    • Added colored minimaps support for race tracks.
    • Added USB keyboard support to perform certain actions via commands.
      • For now, this only works on Dolphin on Windows.
    • Improved Gecko code check to work on console and clarified warning.
      • Note that support will only get worse when memory protection is implemented.
    • The Mushroom strategy is now saved in the MKW-SP ghost header.
v0.1.2 2022-02-27
  • Robustness and Security:
    • Fixed a critical corruption bug in YAZ1 compression used when saving ghost files. For a ghost to be affected by it, the size of the compressed inputs has to be at least 4,096 bytes.
    • Implemented protection of most main.dol and StaticR.rel read-only parts. This uses the MI interface, which can prevent writes not only from the CPU but also from some external devices.
      • This only works on console and will break Gecko codes even more.
    • Temporarily removed copy filter patch to increase image sharpness on console due to its incompatibility with memory protection.
    • Revamped exception handler. It will now be displayed on the screen on console and show MKW-SP-specific information.
    • Added custom screen that will show up on some common crashes in custom tracks and display suggested fixes.
    • Fixed crash occurring during the demo sequence on the title screen.
  • Miscellaneous:
    • Updated Japanese, Korean and Dutch translations for MKW-SP strings.
    • Menu transitions will fade to black again.
v0.1.3 2022-03-01 The game no longer crashes when there is no internet connectivity on console.
v0.1.4 2022-03-01 CTGP 200cc ghosts set with Baby Peach, Toad, Dry Bones, Mario, Peach, Diddy Kong, Waluigi, or Donkey Kong no longer desync when accelerating from a low speed.
v0.1.5 2022-07-06
  • New applications:
    • Added Homebrew Channel support.
    • Added USB 2.0 support.
    • Added NTSC-K console support.
    • Rewrote settings system.
    • Added MKW-SP channel.
    • Added in-game updater.
    • Added MKW-SP menu.
  • Time Trials:
    • Fixed wheelie particle effect with multi-ghost.
    • Fixed wrong race end animation with multi-ghost.
    • Fixed dynamic ghost transparency for all vehicle parts.
    • Muted invisible Lakitus.
  • Performance:
    • Improved YAZ0 compression speed.
    • Moved ghost listing to background.
    • Reduced memory usage of font archives.
    • Allowed concurrently readable and decompressable archives.
    • Added LZMA compression support.
    • Allowed tracks to be loaded in the Time Trials menu.
    • Prioritized Dolphin clock overrides which caused sound glitches.
    • Increased ghost count limit to 4096.
  • Graphics:
    • Readded copy patch filter.
    • Added BRRES Anti-flicker.
    • Allowed loading screen to be a customizable color.
  • HUD:
    • Improved input display layout.
    • Added optional position tracker in Time Trials.
    • Made HUD labels setting dynamic.
  • Security:
    • Added memory write-protection.
    • ASLR is now applied to thread stacks.
    • Disabled code execution in MEM2 and top of MEM1.
    • Added stack canaries.
  • Miscellaneous:
    • Added in-game command console.
    • Added details to crash reports.
  • In-progress features:
    • Added a way to replace files from a server on the local network.
    • Added the possibility to replace BRSAR subfiles independantly.
    • Added support for multiple My Stuff folders.
v0.1.6 2022-07-07
  • Fixed NAND issue on Dolphin.
  • Delayed payload write-protection.
v0.1.7 2022-07-07
  • Fixed coding typo.
  • Fixed log file implementation.
  • Fixed log messages.
  • Fixed Wii U detection.
v0.1.8 2022-07-21
  • Sound:
    • Multiple BRSTMs can now replace a single one by creating a folder with its original name.
    • BRSTMs with the wrong amount of channels now still play.
    • Added settings for the final lap speedup.
    • Added settings to enable/disable music effects from items.
    • Added option to play the final lap jingle in replays.
  • Other features:
    • Added vanilla mode.
    • Added SD/USB/network storage benchmark.
    • Added NTSC-K disc support for non-Korean consoles.
  • Bug fixes:
    • Fixed channel not loading on console.
    • Fixed log file writing blocking the main thread.
    • Fixed VS speed class rule in split-screen.
    • Fixed 200cc speed class not showing in award ceremonies.
    • Fixed setting instruction text not correctly resetting.
    • Crash screens now use consistent background color schemes based on region lines.
    • Removed update checks.
    • Fixed crash when going to battle mode from Change Ghost Data option.
    • Fixed GCN keyboard controller crash.
    • Ghost file names now use the Mii name and not the creator's name.
  • Other:
    • Updated Dutch translations.
    • Added start for Mission Mode support.
v0.1.9 2022-08-13
  • Features:
    • Added Performance Overlay.
    • Added Custom Discord Status.
    • Readded GCN rumble setting.
    • Added Tag Count setting.
  • Improvements:
    • Remade Sound Archive Subfile Replacement.
    • Reduced loading times.
    • Added Storage Device Locater.
    • Translated "SPEED" HUD label into German.
    • Updated Dutch translations.
    • Added line breaks in setting names.
  • Bug fixes:
    • Correctly positioned "Race" and "Watch" buttons in 16:9 mode.
    • Fixed the results screen music being sped up with the Dynamic Speedup setting enabled.
    • Fixed exception handler error.
v0.1.10 2023-05-21
  • Features:
    • Added Visual Collision Model.
    • Added Visual Checkpoints.
    • Added Thumbnail Generator.
    • Readded Battle and Team Mode.
    • Added Custom Team Size.
    • Added Friendly Fire.
    • Added FFAs for Battle Mode.
    • Added Colorblind Palette.
    • Added Scores on Minimap.
    • Added Colored Timer.
    • Added Mirror Mode for Time Trials.
    • Added Pick The Same Character.
    • Added Extended Regions.
    • Added Disable Minimap.
    • Added Tag Render Distance.
    • Added Bigger Explanation Text.
    • Added missing Battle Mode pause menu button.
    • Added Force FPS.
    • Added memory allocation failure as a fatal error.
    • Added a stack overflow check.
    • Added additional file format checks.
    • Added Simplified Controls.
    • Readded several base game settings.
    • Added Disc Change Explanation.
    • Added Mega Thunder Cloud.
  • Updates:
    • Redesigned course selection.
    • Updated Speedometer to support more metrics.
    • Updated Tag Limit Increase to be three by default.
    • Improved memory protection.
    • Improved performance of some mitigations.
    • Erased some functions.
    • Updated Custom Discord Status.
    • Updated Improved Logging and Crash Reports.
    • Improved crash handlers.
    • Optimized certain standard library functions.
    • Changed the author list in the Homebrew Channel to "The MKW-SP Developers".
  • Bug fixes:
    • Fixed Time Difference using the wrong ghost for calculations.
    • Fixed Input Display being flipped in Mirror Mode.
    • Fixed the color of the OK button in Multiplayer.
    • Fixed lag spike issue when loading a BRSTM.
    • Fixed an issue where the final lap jingle would not play if the speedup was disabled.
    • Fixed game running at 50 frames per second.
    • Fixed console display in interlaced modes.
    • Fixed license unlocker breaking when the license's Mii was deleted.
    • Fixed BlueBomb vulerability exploit.
v0.1.11 2023-05-22 Fixed crash if the system language was set to Dutch.
v0.1.12 2023-05-29
  • Fixed a bug where a player could get points for hitting their own teammates.
  • Fixed enemy routes.
  • Improved some crash screens.
  • Updated ghost saving to no longer truncate the folder name.
  • Fixed NTSC regions on Dolphin.
  • Fixed Japanese translation.

Known Bugs

A list of bugs and planned features can be found here.