Difference between revisions of "MKW-SP"

From Custom Mario Kart
Jump to navigation Jump to search
(Turns out stebler has a wiiki account)
(Cleaned article.)
Line 10: Line 10:
 
| v0.1.2
 
| v0.1.2
 
|-
 
|-
! Release:
+
! Date of latest version:
| 2022-02-27 <!-- Initial release was Jan 30, 2022 but it hasn't been onto the wiiki yet -->
+
| 2022-02-27
 
|-
 
|-
! Latest update:
+
! Download:  
| 2022-02-27
+
| [https://github.com/stblr/mkw-sp/releases/download/v0.1.2/mkw-sp-v0.1.2.zip GitHub]
 
|-
 
|-
 
! Website:
 
! Website:
| [https://www.mkw-sp.com/ mkw-sp.com]
+
| [https://www.mkw-sp.com mkw-sp.com]
 
|-
 
|-
! Download:
+
! Source code:
|[https://github.com/stblr/mkw-sp/releases/download/v0.1.2/mkw-sp-v0.1.2.zip GitHub]
 
|-
 
! Source Code:
 
 
| [https://github.com/stblr/mkw-sp GitHub]
 
| [https://github.com/stblr/mkw-sp GitHub]
 
|-
 
|-
! Discord Server:
+
! Discord server:
 
| [https://discord.gg/TPSKtyKgqD MKW-SP]
 
| [https://discord.gg/TPSKtyKgqD MKW-SP]
|-
 
 
|}
 
|}
  
 
== Overview ==
 
== Overview ==
'''Mario Kart Wii - Service Pack''' (abbreviated ''MKW-SP'') is an open source mod created by [[stebler]]. It features up to 6 different licenses, viewing up to 11 ghosts at a time, a custom speedometer, SD ghost saving, and more.
+
'''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:
+
<spoiler text="A quote from the author">
 
: ''MKW-SP is fully open-source and the code (including the whole history) and the issue tracker are available on [https://github.com/stblr/mkw-sp Github], and so is my [https://drive.google.com/drive/folders/1I1VRfeut3NtPeddePutfAaZhduVdKhhc Ghidra repository]. That means that anyone is free (and welcome) to implement new features. Feedback is also very appreciated and will be listened to.''
 
: ''MKW-SP is fully open-source and the code (including the whole history) and the issue tracker are available on [https://github.com/stblr/mkw-sp Github], and so is my [https://drive.google.com/drive/folders/1I1VRfeut3NtPeddePutfAaZhduVdKhhc Ghidra repository]. That means that anyone is free (and welcome) to implement new features. Feedback is also very appreciated and will be listened to.''
 +
</spoiler>
 +
 
=== Credits ===
 
=== Credits ===
 
* [[CLF78]], for his help with the initial release.
 
* [[CLF78]], for his help with the initial release.
* [[Lami]], [[Riidefi]], [[Seeky]] and StarMKWii for contributing on Github.
+
* [[Lami]], [[Riidefi]], [[Seeky]], and Star, for contributing on Github.
 
* All developers in the table below for creating code used in the mod.
 
* All developers in the table below for creating code used in the mod.
<!--Do contributors on github need to be listed individually here?-->
 
  
 
== Media ==
 
== Media ==
 
{{youtube-box||KF3y3nQneBo|Feature Showcase}}
 
{{youtube-box||KF3y3nQneBo|Feature Showcase}}
  
== Version History == <!--Does the wiiki want people to be linked in the changelogs?-->
+
== Features ==
{| class="wikitable"
+
{| class="textbox grid sortable alt"
! Version
 
! Date of release
 
! Information
 
|-
 
| [https://www.mkw-sp.com/2022/01/30/announcing-mkw-sp.html v0.1]
 
| 2022-02-27
 
| First release
 
|-
 
| [https://www.mkw-sp.com/2022/02/14/mkw-sp-0.1.1-released.html v0.1.1]
 
| 2022-02-27
 
|
 
'''File management'''
 
* The 12 character limit for ghost files has been removed. [stebler]
 
* On console, CTGP ghosts will be listed automatically. [stebler]
 
* Differential patching (_Dif files) is now supported for every szs archive. [stebler]
 
* The game no longer crashes when using _Dif files on top of certain archives. [stebler]
 
'''Translations'''
 
* Translations for MKW-SP-specific strings have been added. [MK Translation Project, see here for the list of authors]
 
* Dutch has been added (for both the base game and MKW-SP-specific). [MK Translation Project]
 
* All languages are now supported on all versions of the game. For now only Korean uses the Korean font. [stebler]
 
* The speedometer label graphic has been translated into 4 languages. [Syara]
 
'''Multi-ghost'''
 
* The character animations are now correctly applied (and unlike in live view, also for the non-spectated ghost). [stebler]
 
* The camera no longer wrongly follows the player when falling out-of-bounds or in cannons. [stebler]
 
* A bug where the UI overlay was shown when a non-spectated ghost was falling out-of-bounds has been fixed. [[[stebler]], riidefi]
 
* An option to remove leading zeros from ghost tags when using the finish time has been added. [riidefi]
 
* Several crashes and freezes when going back to the menu have been fixed. [[[stebler]], Seeky]
 
* The first 4 ghosts no longer desync due to the cones on Daisy Circuit. A fix is in the works to extend that limit. [stebler]
 
* Lakitu now follows the spectated ghost. [stebler]
 
* Sound is now configured in multi-ghost, with a new rule to choose between enabling sound for all ghosts, spectated only or none. [stebler]
 
'''Menus'''
 
* An license setting for instant menu transitions has been added. [riidefi]
 
* A button to change the license settings in the middle of a race or a replay has been added. [riidefi]
 
* A button to change the ghost selection has been added. [stebler]
 
* It is now possible to restart in more gamemodes, and also during the countdown. [stebler]
 
* Various improvements to the pause menus have been added. [stebler]
 
* It is now possible to access time trials even if savegame initialization failed. [stebler]
 
* The VS engine class shown has been corrected to handle 200cc. [stebler]
 
* A bug where the “About” button on the license selection UI wasn’t selectable has been fixed. [stebler]
 
'''HUD'''
 
* An input display has been implemented. It supports split-screen and 200cc. [riidefi]
 
* The speedometer now shows the correct speed in cannons, and applies the hard speed limit of 120/180 otherwise. [stebler]
 
* The Mii heads on minimap option has been disabled in split-screen (was previously showing random Miis). [stebler]
 
'''Miscellaneous'''
 
* GitHub Actions have been configured, which means that a build is generated on every proposed change, making life easier for both developers and testers. [Lami]
 
* Courses can now load faster on Dolphin if the host CPU and storage are fast enough. [riidefi]
 
* Colored minimaps are now supported for race tracks. [riidefi]
 
* Support for USB keyboard has been added to perform certain actions via commands. For now this only works on Dolphin on Windows. [riidefi]
 
* The gecko code check has been improved to work on console and the warning has been clarified. Note that support will only get worse when memory protection is implemented. [Star, [stebler]
 
* The shroom strategy is now saved in the MKW-SP ghost header. [stebler]
 
* The project has been renamed to “Service Pack”, which as some of you have guessed is inspired by Microsoft Windows and was the intent since the start (Support Packages also exist in computing but are not quite the same thing). [[[stebler]], Zach]
 
|-
 
| [https://www.mkw-sp.com/2022/02/27/mkw-sp-0.1.2-released.html v0.1.2]
 
| 2022-02-27
 
|
 
'''Robustness and security'''
 
* A critical corruption bug in YAZ1 compression used when saving ghost files has been fixed. For a ghost to be affected by it, the size of the compressed inputs has to be at least 4096 bytes. [stebler]
 
* Protection of most of the read-only parts of the main.dol and StaticR.rel has been implemented. 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. [Star]
 
* Because of its incompatibility with memory protection, the copy filter patch which could increase image sharpness on console has been temporarily removed. A rewrite is planned. [stebler]
 
* The exception handler has been revamped. It will now be displayed on the screen on console and show MKW-SP specific information. [riidefi, Star]
 
* A custom screen that will show up on some common crashes in custom tracks and display suggested fixes has been added. [riidefi]
 
* A crash occurring during the demo sequence on the title screen has been fixed. [stebler]
 
'''Miscellaneous'''
 
* Japanese, Korean and Dutch translations for MKW-SP strings have been updated. [MK Translation Project]
 
* Menu transitions will fade to black again. [riidefi]
 
|}
 
 
 
=== Features ===
 
 
 
{| class="textbox grid sortable"
 
 
|+ MKW-SP Features
 
|+ MKW-SP Features
 
! Feature
 
! Feature
Line 123: Line 50:
 
| Custom Save System
 
| Custom Save System
 
| [[stebler]]
 
| [[stebler]]
| The rksys.dat format is replaced with a custom system that can support more than 4 licenses (for now the UI can [https://www.mkw-sp.com/assets/6-licenses.png handle up to 6]) and [https://www.mkw-sp.com/assets/license-settings.png additional settings]. Ghosts are moved to separate files and everything is always unlocked. Riivolution’s redirect feature is used to store all files to the SD card (or equivalent) instead of the NAND.
+
| The rksys.dat format is replaced with a custom system that can support more than four licenses (for now, the UI can [https://www.mkw-sp.com/assets/6-licenses.png handle up to six]) and [https://www.mkw-sp.com/assets/license-settings.png additional settings]. Ghosts are moved to separate files and everything is always unlocked. [[Riivolution]]’s redirect feature is used to store all files to the SD card (or equivalent) instead of the NAND.
 
|-
 
|-
 
| 11-Way Multi-Ghost
 
| 11-Way Multi-Ghost
 
| [[stebler]]
 
| [[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 live view). The ghost selection UI has been [https://www.mkw-sp.com/assets/ghost-selection.png accordingly remade from scratch].
+
| 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 [https://www.mkw-sp.com/assets/ghost-selection.png accordingly remade from scratch].
 
|-
 
|-
 
| Tag Limit Increase
 
| Tag Limit Increase
 
| [[stebler]]
 
| [[stebler]]
| Up to 12 tags can be shown at once (from 3 in the vanilla game).
+
| Up to 12 tags can be shown at once (from three in the vanilla game).
 
|-
 
|-
 
| Speedometer
 
| Speedometer
 
| [[stebler]], [[Syara]]
 
| [[stebler]], [[Syara]]
| The speed of the player is shown in the HUD, including [https://www.mkw-sp.com/assets/som-moving-road.png moving road] and [https://www.mkw-sp.com/assets/som-moving-water.png moving water]. Split-screen [https://www.mkw-sp.com/assets/som-split-screen.png is supported]. The “SPEED” label has been translated into 4 languages.
+
| The player's speed is shown in the HUD, including [https://www.mkw-sp.com/assets/som-moving-road.png moving road] and [https://www.mkw-sp.com/assets/som-moving-water.png moving water]. Splitscreen [https://www.mkw-sp.com/assets/som-split-screen.png is supported]. The “SPEED” label has been translated into four languages.
 
|-
 
|-
 
| Additional Ghost Metadata
 
| Additional Ghost Metadata
 
| [[stebler]], [[Chadderz]], [[MrBean35000vr]], [[CLF78]]
 
| [[stebler]], [[Chadderz]], [[MrBean35000vr]], [[CLF78]]
| The sha-1 of the track, whether 200cc was enabled, more precise finish times and detected glitches are saved at the end of the 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 ghosts for the same purpose. The sha-1 computation doesn’t take _Dif files into account, allowing for e.g. custom textures.
+
| The track's SHA1, whether 200cc is enabled, more precise finish times and detected glitches are saved at the end of the 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]] ghosts for the same purpose. The SHA1 computation does not take _Dif files into account, allowing for custom textures.
 
|-
 
|-
 
| Pause Menu Improvements
 
| Pause Menu Improvements
Line 149: Line 76:
 
| All languages (plus Dutch) are supported in all versions of the game. Some of the MKW-SP-specific strings are also translated.
 
| All languages (plus Dutch) are supported in all versions of the game. Some of the MKW-SP-specific strings are also translated.
 
|-
 
|-
| My Stuff Folder
+
| [[My Stuff Folder]]
| N.A.
+
| [[MrBean35000vr]], [[Chadderz]]
| Allows for file replacements such as custom tracks, custom music and so on. For tracks and UI files, it is possible to replace only certain U8 subfiles by adding the _Dif suffix to the archive name (e.g. koopa_course_Dif.szs or MenuSingle_E_Dif.szs).
+
| Allows for file replacements such as [[custom track]]s, custom music and so on. For tracks and UI files, it is possible to replace only certain U8 subfiles by adding the _Dif suffix to the archive name (e.g. koopa_course_Dif.szs or MenuSingle_E_Dif.szs).
 
|-
 
|-
| Automatic BRSAR Patching
+
| [https://youtu.be/y2tOmsdoBjw Automatic BRSAR Patching]
 
| Elias_
 
| Elias_
| The revo_kart.brsar file is automatically patched to prevent music from cutting off mid-race.
+
| The [[revo_kart.brsar]] file will now be automatically patched to prevent music from cutting off mid-race.
 
|-
 
|-
 
| Rear View In Replay
 
| Rear View In Replay
Line 166: Line 93:
 
|-
 
|-
 
| 4:3 FOV in 16:9
 
| 4:3 FOV in 16:9
| Brandondorf9999]
+
| Brandondorf9999
 
| ''License setting.'' The wider 4:3 field-of-view is used in 16:9 mode
 
| ''License setting.'' The wider 4:3 field-of-view is used in 16:9 mode
 
|-
 
|-
 
| Mii Heads On Minimap
 
| Mii Heads On Minimap
 
| [[stebler]]
 
| [[stebler]]
| ''License setting.'' For local players and ghosts, the Mii replaces the character as minimap icon.
+
| ''License setting.'' For local players and ghosts, the [[Mii]] replaces the character as minimap icon.
 
|-
 
|-
 
| Instant Menu Transitions
 
| Instant Menu Transitions
Line 179: Line 106:
 
| Input Display
 
| Input Display
 
| [[Riidefi]]
 
| [[Riidefi]]
| ''License setting.'' The controller inputs are shown in the HUD. Split-screen and 200cc are supported.
+
| ''License setting.'' The controller inputs are shown in the HUD. Splitscreen and 200cc are supported.
 
|-
 
|-
 
| 200cc
 
| 200cc
 
| [[MrBean35000vr]]
 
| [[MrBean35000vr]]
| ''VS and time trial rule.'' A speed class with a 1.5x speed multiplier, brake drifting and fast falling.
+
| ''VS and Time Trial rule.'' A speed class with a 1.5&times; speed modifier, brake drifting and fast falling.
 
|-
 
|-
 
| Ghost Sorting
 
| Ghost Sorting
 
| [[stebler]]
 
| [[stebler]]
| ''Time trial rule.'' In the selection UI and in race ghosts can be sorted by finish time or by creation date.
+
| ''Time Trial rule.'' In the selection UI and in-race, ghosts can be sorted by finish time or by creation date.
 
|-
 
|-
 
| Ghost Tag Visibility
 
| Ghost Tag Visibility
 
| [[stebler]]
 
| [[stebler]]
| ''Time trial rule.'' Ghost tags can be shown for all, focused only or no ghost.
+
| ''Time Trial rule.'' Ghost tags can be shown for all, focused only or no ghost.
 
|-
 
|-
 
| Ghost Tag Content
 
| Ghost Tag Content
 
| [[stebler]]
 
| [[stebler]]
| ''Time trial rule.'' Ghost tags can be either the Mii name, [https://www.mkw-sp.com/assets/tag-time.png finish time] or [https://www.mkw-sp.com/assets/tag-date.png creation date.]
+
| ''Time Trial rule.'' Ghost tags can be either the Mii name, [https://www.mkw-sp.com/assets/tag-time.png finish time] or [https://www.mkw-sp.com/assets/tag-date.png creation date].
 
|-
 
|-
 
| Solid Ghosts
 
| Solid Ghosts
 
| [[stebler]]
 
| [[stebler]]
| ''Time trial rule.'' Transparency can be disabled for all, focused only or no ghost.
+
| ''Time Trial rule.'' Transparency can be disabled for all, focused only or no ghost.
 
|-
 
|-
 
| Ghost Sound
 
| Ghost Sound
 
| [[stebler]]
 
| [[stebler]]
| ''Time trial rule.'' Sound can be enabled for all, focused only or no ghost
+
| Time trial rule. Sound can be enabled for all, focused only or no ghost
 +
|}
 +
 
 +
== Version History ==
 +
{| class="wikitable"
 +
! Version
 +
! Date of release
 +
! Information
 +
|-
 +
| [https://github.com/stblr/mkw-sp/releases/download/v0.1/mkw-sp-v0.1.zip v0.1]
 +
| 2022-01-30
 +
| First release
 +
|-
 +
| [https://github.com/stblr/mkw-sp/releases/download/v0.1.1/mkw-sp-v0.1.1.zip 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 {{obj-ref|0x144|pylon01}} on [[Wii Daisy Circuit|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 splitscreen 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 splitscreen (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.
 +
|-
 +
| [https://github.com/stblr/mkw-sp/releases/download/v0.1.2/mkw-sp-v0.1.2.zip 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 track]]s 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.
 
|}
 
|}
  
==Limitations and known bugs==
+
== Known Bugs ==
 
* Ghost solidity is off by one frame when switching. See [https://github.com/stblr/mkw-sp/issues/44 issue 44].
 
* Ghost solidity is off by one frame when switching. See [https://github.com/stblr/mkw-sp/issues/44 issue 44].
* VS and battle settings aren’t saved. See [https://github.com/stblr/mkw-sp/issues/50 issue 50].
+
* VS and Battle settings are not saved. See [https://github.com/stblr/mkw-sp/issues/50 issue 50].
* Most gecko codes won’t work because of the different memory map. A warning is shown on the title screen if they are enabled. When memory protection is implemented, support will be dropped altogether.
+
* Most Gecko codes will not work because of the different memory map. A warning is shown on the title screen if they are enabled. When memory protection is implemented, support will be dropped altogether.
 +
 
 
[[Category:Other Mods]]
 
[[Category:Other Mods]]

Revision as of 20:51, 27 February 2022

MKW-SP
Author: stebler
Type: Riivolution
Version: v0.1.2
Date of latest version: 2022-02-27
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

  • CLF78, for his help with the initial release.
  • Lami, Riidefi, Seeky, and Star, for contributing on Github.
  • All developers in the table below for creating code used in the mod.

Media

Feature Showcase

Features

MKW-SP Features
Feature Author Information
Custom Save System stebler 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. Ghosts are moved to separate files and everything is always unlocked. Riivolution’s redirect feature is used to store all files to the SD card (or equivalent) instead of the NAND.
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.
Tag Limit Increase stebler Up to 12 tags can be shown at once (from three in the vanilla game).
Speedometer stebler, Syara The player's speed is shown in the HUD, including moving road and moving water. Splitscreen is supported. The “SPEED” label has been translated into four languages.
Additional Ghost Metadata stebler, Chadderz, MrBean35000vr, CLF78 The track's SHA1, whether 200cc is enabled, more precise finish times and detected glitches are saved at the end of the 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 ghosts for the same purpose. The SHA1 computation does not take _Dif files into account, allowing for custom textures.
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.
Translations stebler, MK Translation Project All languages (plus Dutch) are supported in all versions of the game. Some of the MKW-SP-specific strings are also translated.
My Stuff Folder MrBean35000vr, Chadderz Allows for file replacements such as custom tracks, custom music and so on. For tracks and UI files, it is possible to replace only certain U8 subfiles by adding the _Dif suffix to the archive name (e.g. koopa_course_Dif.szs or MenuSingle_E_Dif.szs).
Automatic BRSAR Patching Elias_ The revo_kart.brsar file will now be automatically patched to prevent music from cutting off mid-race.
Rear View In Replay stebler In ghost replay mode, cinematic view is replaced by rear view.
Hide HUD Labels stebler License setting. The TIME, LAP and SPEED HUD labels are hidden.
4:3 FOV in 16:9 Brandondorf9999 License setting. The wider 4:3 field-of-view is used in 16:9 mode
Mii Heads On Minimap stebler License setting. For local players and ghosts, the Mii replaces the character as minimap icon.
Instant Menu Transitions Riidefi License setting. This allows for much faster navigation.
Input Display Riidefi License setting. The controller inputs are shown in the HUD. Splitscreen and 200cc are supported.
200cc MrBean35000vr VS and Time Trial rule. A speed class with a 1.5× speed modifier, brake drifting and fast falling.
Ghost Sorting stebler Time Trial rule. In the selection UI and in-race, ghosts can be sorted by finish time or by creation date.
Ghost Tag Visibility stebler Time Trial rule. Ghost tags can be shown for all, focused only or no ghost.
Ghost Tag Content stebler Time Trial rule. Ghost tags can be either the Mii name, finish time or creation date.
Solid Ghosts stebler Time Trial rule. Transparency can be disabled for all, focused only or no ghost.
Ghost Sound stebler Time trial rule. Sound can be enabled for all, focused only or no ghost

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 splitscreen 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 splitscreen (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.

Known Bugs

  • Ghost solidity is off by one frame when switching. See issue 44.
  • VS and Battle settings are not saved. See issue 50.
  • Most Gecko codes will not work because of the different memory map. A warning is shown on the title screen if they are enabled. When memory protection is implemented, support will be dropped altogether.