Difference between revisions of "LE-CODE"

From Custom Mario Kart
Jump to navigation Jump to search
Line 46: Line 46:
 
* General
 
* General
 
** The icache is properly managed, this means that LE-CODE should properly work on Dolphin
 
** The icache is properly managed, this means that LE-CODE should properly work on Dolphin
** [[Slot_Usage#LE-CODE|256 track limit removed]]
+
** [[Slot_Usage#LE-CODE|256 track limit removed]] ⇒ [[Slot Usage#LE-CODE|LE-CODE Slot Usage]]
 
** The game now has a proper crash handler (like the "DSI exception" screen in homebrew) that displays data for the developers when the game crashes
 
** The game now has a proper crash handler (like the "DSI exception" screen in homebrew) that displays data for the developers when the game crashes
 
** 4-player offline mode with Miis no longer crashes (LE-CODE no longer wastes memory with useless copies of unnecessarily large data structures like CT-CODE did)
 
** 4-player offline mode with Miis no longer crashes (LE-CODE no longer wastes memory with useless copies of unnecessarily large data structures like CT-CODE did)
Line 64: Line 64:
 
** GPs on custom cups no longer ruin the savegame
 
** GPs on custom cups no longer ruin the savegame
 
** TT ranking selection menu in the Mario Kart Channel is no longer broken
 
** TT ranking selection menu in the Mario Kart Channel is no longer broken
 
  
 
=== List of features in old MKW-Fun that are no longer included (yet?) ===
 
=== List of features in old MKW-Fun that are no longer included (yet?) ===

Revision as of 11:51, 22 February 2019

What is the LE-CODE?

The LE-CODE (short for Leseratte-Code) is a code extension for Mario Kart Wii which has been written by Leseratte. The name has been chosen by Wiimm in the style of the CT-CODE, the name of the old Mario Kart Wii code extension by MrBean and Chadderz.

Leseratte has started the development of the LE-CODE in January 2019. The build system is taken from the Wiimmfi updater, which means, it supports writing C source code instead of Assembly code for the game code modifications, and is designed to be loaded into the StaticR.rel relocation buffer as soon as the StaticR.rel has been loaded and linked into memory, which has about 900 KB of usable space for mods.

Wiimm has adapted his SZS tools and wrote a new tool called "wlect" (Wiimms LE-CODE tool).

First test versions of the LE-CODE have been tested by Wiimm and Leseratte in February 2019, with the first version for a few more private testers being released on February 20th. The public will most likely be able to use the LE-CODE features as of Wiimms MKW Fun 2019-06. A system to use the LE-CODE in other custom distributions is planned, but not available yet. A source code release currently isn't planned.

The LE-CODE can either be discussed on the talk page, or in this forum thread: click

What does the LE-CODE contain?

Leseratte developed the LE-CODE as a complete build system for all modifications Wiimm and Leseratte are doing to Wiimms MKW-Fun distributions. It includes nearly all features of the old ct-code (even though all of them have either been rewritten (C or ASM) or heavily modified to fix quite a few bugs), and it includes all of the features in the MKW-Fun distributions.

List of features from the old ct-code and MKW-Fun, now included in LE-CODE

  • Extension to allow the game to load more than 32 race tracks
  • Custom menu system from the ct-code to add arrows to the track selection
  • Online track selection time limit is displayed all the time
  • Removed CTGP randomizer so picking "Random" actually votes "???"
  • Lap and speed modifier
  • Mushroom bugfix
  • Cloud time modifier
  • New random variants (All tracks, Nintendo tracks, Custom tracks, new tracks)
  • Track variants (like Animal Crossing in Mario Kart 8)
  • VS point scheme changed (25 points instead of 15 points)
  • Room settings (friend room host can set options like vehicle restrictions or number of races)
  • No Lightning in team races
  • Engine class probability modifier, engine class is no longer dependant on VR
  • Room stability indicator
  • Blue shell can be dragged behind a vehicle like other shells


Changes / Bugfixes / New features with the LE-CODE

  • Battle
    • Battle mode actually works
    • Battle mode has proper time limit online (3:00.000 instead of 0:30.000)
    • Playing a battle no longer influences name tag view distance in VS races played afterwards
  • Demo screen
    • Demo shows battle tracks as well
    • Demo correctly switches modes in the proper order
    • Demo no longer randomly freezes sometimes
  • General
    • The icache is properly managed, this means that LE-CODE should properly work on Dolphin
    • 256 track limit removedLE-CODE Slot Usage
    • The game now has a proper crash handler (like the "DSI exception" screen in homebrew) that displays data for the developers when the game crashes
    • 4-player offline mode with Miis no longer crashes (LE-CODE no longer wastes memory with useless copies of unnecessarily large data structures like CT-CODE did)
    • Playing a team GP no longer removes the Lightning from subsequent non-team GPs
    • Special multiplayer variants (_d.szs) no longer mandatory, if they are missing, the non-multiplayer version is loaded instead
    • Support for track-dependant ObjFlow.bin and GeoHitTable*.bin files - see section below.
    • Tracks are now loaded from /Race/Course/<slot-id>.szs, removing the need for a file name table
    • The special random variants (new tracks, CTs, all tracks, Nintendo tracks) and the track variants now work offline as well
  • Menu
    • Fixed a bug that could have caused freezes and/or graphical glitches in the menu under some circumstances
    • In Time Trial mode, custom tracks are now hidden from the menu
    • The Worldwide button on the online menu has been removed (instead of just being labeled "don't use")
    • Scrolling through the cup list auto-updates the track list (also, as in previous versions, one can scroll in the bottom row as well)
    • The algorithm that selected a track to be loaded when "???" is selected was slightly off and not every track had the exact same probability of winning the random lottery
  • Not yet done, but likely to be added:
    • Support for korean images
    • GPs on custom cups no longer ruin the savegame
    • TT ranking selection menu in the Mario Kart Channel is no longer broken

List of features in old MKW-Fun that are no longer included (yet?)

  • Speedometer
  • Change vehicle between online races

Information for CT creators

The new LE-CODE contains a new feature for CT creators: Certain files that would usually be loaded from the Common.szs can be loaded from a track file. Currently, the following files are supported:

If you wish to include such customized files in your CT for Wiimms MKW Fun, you have to create a folder Common in your SZS track file and place the file(s) in there. For your own testing, you then have to replace them in the Common.szs as well, because the original, non-modded game doesn't load them from a track file.

In the future, we also plan to allow for track variants being loaded in different modes, for example, a different SZS for offline and online mode. The exact modes / distinctions we'll support aren't known yet, If you would like to create a CT that behaves differently in certain modes (offline/online, 1P/2P/3P/4P), and that track is likely to be included in MKW-Fun, let Wiimm and Leseratte know which different versions your track will have, and we will try to implement that.