Difference between revisions of "LE-CODE"

From Custom Mario Kart
Jump to navigation Jump to search
(Cleanup)
 
(130 intermediate revisions by 9 users not shown)
Line 1: Line 1:
== What is the LE-CODE? ==
+
{{LE-CODE Content}}
  
The LE-CODE (short for Leseratte-Code) is a code extension for Mario Kart Wii which has been written by [[User:Leseratte|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.  
+
== Overview ==
 +
'''LE-CODE''' (short for '''Leseratte-Code''') is a code extension of [[Mario Kart Wii]] initially written by [[Leseratte]]. After the initial phase, the code was jointly developed by [[Leseratte]] and [[Wiimm]]. It has been named after [[CT-CODE]], the name of the old code extension by [[MrBean35000vr]] and [[Chadderz]].  
  
Leseratte has started the development of the LE-CODE in January 2019. The build system is taken from the [[Wiimmfi/Update|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 [[Filesystem/rel/StaticR.rel|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.
+
Development started in January 2019, using the build system taken from the [[Wiimmfi/Update|Wiimmfi updater]]. This means that it supports writing C source code instead of Assembly code for its modifications, and is designed to be loaded into the [[StaticR.rel]] relocation buffer as soon as it has been loaded and linked into memory, which has about 900 KB of usable space for modifications.
  
Wiimm has adapted his [[Wiimms SZS Tools|SZS tools]] and wrote a new tool called "wlect" ([https://szs.wiimm.de/wlect/ Wiimms LE-CODE tool]).  
+
To use this code extension in other mods, [[Wiimm]] added support for management of LE-CODE and its additional features to [[Wiimms SZS Tools]], called Wiimms LE-CODE Tool. Additional documentation can be found [https://szs.wiimm.de/wlect here].
  
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 first few test versions were tested by [[Wiimm]] and [[Leseratte]] in February 2019, with the first version for a few more private testers being released on February 20th. LE-CODE could be used by the public after the release of [[Wiimms Mario Kart Fun 2019-06]], which happened in June 2019.
  
The LE-CODE can either be discussed on the talk page, or in this forum thread: [https://forum.wii-homebrew.com/index.php/Thread/59107-Mario-Kart-Wii-Mod-LE-CODE-by-Leseratte/ click]
+
== Media ==
 +
<gallery>
 +
LE-CODE Logo (Circle).png|none|thumb|Circular logo
 +
LE-CODE Logo (Horizontal).png|none|thumb|Horizontal logo
 +
LE-CODE Logo (Vertical).png|none|thumb|Vertical logo
 +
</gallery>
  
== What does the LE-CODE contain? ==
+
== Features ==
 +
LE-CODE's features are based on a list of modifications that were included in the [[Wiimms Mario Kart Fun]] series. It includes nearly all features that [[CT-CODE]] has and all features of the former mentioned series.
  
Leseratte developed the LE-CODE as a complete build system for all modifications Wiimm and Leseratte are doing to [[Wiimms_Mario_Kart_Fun|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.
+
=== Features from CT-CODE ===
  
=== List of features from the old ct-code and MKW-Fun, now included in LE-CODE ===
+
{| class="textbox grid sortable alt"
 +
|+ CT-CODE Features
 +
! Feature
 +
! Information
 +
|-
 +
| More Racing Tracks
 +
| Adds more slots to the game by editing the game's [[Slot Usage|slot usage]] to have more than 4000 tracks in a [[distribution]].
 +
|-
 +
| Custom Menu System
 +
| Adds more cups and two arrows to the track selection.
 +
|-
 +
| Wi-Fi Timer
 +
| Makes the timer display always when selecting a track online.
 +
|-
 +
| Random Track Fix
 +
| Fixes the random button from the track selection.
 +
|-
 +
| [[Lap & Speed Modifier]]
 +
| Adds support to have modifier lap and speed amounts.
 +
|-
 +
| Mushroom Only Bug Fix
 +
| Fixes {{obj-ref|0x65|item boxes}} only giving Mushrooms after the 18th item online.
 +
|-
 +
| [[LPAR#THCLOUD-TIME|Thunder Cloud Time Modifier]]
 +
| Allows the Thunder Cloud to strike earlier or later.
 +
|-
 +
| [[LE-CODE/Distribution Tutorial/LE-DEF#random|Random Track from Group]]
 +
| Adds random groups to the track selection, allowing to vote randomly in a set of tracks. (All tracks, Nintendo tracks, custom tracks, new tracks, texture hacks)
 +
|-
 +
| Track Variants
 +
| Allows tracks to function like [[Wii U Animal Crossing|Animal Crossing]] from [[Mario Kart 8]].
 +
|-
 +
| [[LPAR#STATICR-POINTS|Custom VS Point Scheme]]
 +
| Changes the amount of points a player gets when finishing a race.
 +
|-
 +
| No Lightning in Team Races
 +
| Disables the Lightning item in Team Races.
 +
|-
 +
| Engine Class Probability Modifier
 +
| Removes calculations based on VR and uses a fixed probability instead.
 +
|-
 +
| [[LPAR#DRAG-BLUE-SHELL|Draggable Blue Shells]]
 +
| Allows the Blue Shell to be dragged behind a player's vehicle, like Green and Red Shells.
 +
|}
  
* [[Slot_Usage|Extension to allow the game to load more than 32 race tracks]]
+
=== Bugfixes ===
* Custom menu system from the ct-code to add arrows to the track selection
+
{| class="textbox grid sortable alt"
* Online track selection time limit is displayed all the time
+
|+ Bugfixes
* Removed CTGP randomizer so picking "Random" actually votes "???"
+
! Feature
* [[Lap_%26_Speed_Modifier|Lap and speed modifier]]
+
! Information
* [[User:Leseratte#Fix_the_mushroom-only-bug_online|Mushroom bugfix]]
+
|-
* Cloud time modifier
+
| Icache Fix
* [[Translations/Random|New random variants]] (All tracks, Nintendo tracks, Custom tracks, new tracks)
+
| Handles the icache properly, making the mod compatible with Dolphin 5.0-9000 and higher.
* Track variants (like Animal Crossing in Mario Kart 8)
+
|-
* [[Filesystem/rel/StaticR.rel#Change_the_points_a_player_gets_for_winning_a_race|VS point scheme changed]] (25 points instead of 15 points)
+
| 4-Player Mii Crash
* Room settings (friend room host can set options like vehicle restrictions or number of races)
+
| Fixes 4-player mode with [[mariowiki:Mii|Mii]]s.
* No Lightning in team races
+
|-
* Engine class probability modifier, engine class is no longer dependant on VR
+
| Minimap Icon Size Fix
* Room stability indicator
+
| Fixes the size of the minimap's character icons when playing another game after Time Trials.
* Blue shell can be dragged behind a vehicle like other shells
+
|-
 +
| Battle Mode Name Tag Fix
 +
| Fixes the render distance of player's name tags when returning to VS races.
 +
|-
 +
| Grand Prix Savegame Fix
 +
| Fixes playing Grand Prix on custom cups from corrupting the savegame.
 +
|-
 +
| Trophy Fix
 +
| Fixes the game awarding the wrong trophy due to the additional cups.
 +
|}
  
 +
=== Main Features ===
 +
{| class="textbox grid sortable alt"
 +
|+ Main Features
 +
! Feature
 +
! Information
 +
|-
 +
| NTSC-K Support
 +
| Adds support for the [[NTSC-K|Korean version]] of the game.
 +
|-
 +
| More Than 256 Tracks
 +
| Extends the track limit to 4,096 or 8,192.
 +
|-
 +
| Crash Handler
 +
| Adds a proper crash handler to the game that displays data about the crash.
 +
|-
 +
| Multiplayer File Removal
 +
| Removes the need for Multiplayer files and picks the regular track if it is not present.
 +
|-
 +
| Track Directory
 +
| Adds a track directory to the game's filesystem.
 +
|-
 +
| Performance Monitor
 +
| Adds the option to display a performance monitor on screen.
 +
|-
 +
| Custom Speedometer
 +
| Adds a speedometer with some settings.
 +
|-
 +
| [[LPAR#debug|Debug Information]]
 +
| Adds the option to turn on various debug information.
 +
|-
 +
| [[LE-CODE/Item Cheat|Item Cheat]]
 +
| Adds an Item Cheat to the game.
 +
|-
 +
| [[LE-CODE/Distribution Tutorial/LE-DEF#texture-hacks|Random Texture Hacks]]
 +
| Adds support for organization of [[texture hack]]s.
 +
|-
 +
| [[LPAR#DEF-ONLINE-SEC|Custom Online Time Limit]]
 +
| Allows the online time limit to be customizable between 30 and 65535 seconds (18:12:15).
 +
|}
  
=== Changes / Bugfixes / New features with the LE-CODE ===
+
=== Track Features ===
 +
{| class="textbox grid sortable alt"
 +
|+ Track Features
 +
! Feature
 +
! Information
 +
|-
 +
| [[LE-CODE/Track FAQ#common|Course Dependent Files]]
 +
| Adds the option to read [[ObjFlow.bin]], [[GeoHitTableItem.bin]], [[GeoHitTableItemObj.bin]], [[GeoHitTableKart.bin]], [[GeoHitTableKartObj.bin]], and [[minigame.kmg]] from the track file itself.
 +
|-
 +
| [[LE-CODE/Track FAQ#woodbox|Woodbox Height Respawn Modifier]]
 +
| Modifies the height at which the {{obj-ref|0x70|woodbox}} object respawns.
 +
|-
 +
| [[LE-CODE/Track FAQ#cannon|Cannon Parameters]]
 +
| Adds the option to have custom cannon parameters through a [[LEX]] file.
 +
|-
 +
| [[LE-CODE/Track FAQ#mcar|Mushroom Car]]
 +
| Changes the {{obj-ref|0xd8|penguin_m}} object to function like a [[mariowiki:Mushroom Car|Mushroom Car]] from [[Mario Kart: Double Dash!!]]
 +
|-
 +
| [[LE-CODE/Track FAQ#ktpt2|Movable Finish Line]]
 +
| Adds the option to add a second starting position to display the finish line on the minimap in a different location.
 +
|-
 +
| [[Extended Presence Flags]]
 +
| Adds more options to [[Nintendo]]'s [[presence flag]]s.
 +
|-
 +
| Goomba Size Memory
 +
| Remembers the original size of a {{obj-ref|0x191|Goomba}} when respawning it.
 +
|-
 +
| [[LE-CODE/Track FAQ#itempos|Item Position Bug Fix]]
 +
| Fixes the [[Item Position Bug]] through a [[LEX]] file.
 +
|-
 +
| [[LE-CODE/Track FAQ#hidepos|Hidden Position Tracker]]
 +
| Hides the position tracker depending on the player's checkpoint information through a [[LEX]] file.
 +
|-
 +
| [[Epropeller Speed]]
 +
| Changes the {{obj-ref|0x1a6|Epropeller}} object to define another scale for the rotation speed.
 +
|-
 +
| [[Conditional Out of Bounds]]
 +
| Adds support for both versions of Conditional Out of Bounds.
 +
|-
 +
| [[LPAR#DEF-ONLINE-SEC|Custom Online Time Limit]]
 +
| Allows the online time limit to be customizable between [[LPAR#MIN-ONLINE-SEC|LPAR:MIN-ONLINE-SEC]] and LPAR:MAX-ONLINE-SEC.
 +
|-
 +
| [[LEX#RITP|Random Item Points]]
 +
| Allows item routes to be picked at random.
 +
|}
  
* Battle
+
=== Battle Features ===
** Battle mode actually works
+
{| class="textbox grid sortable alt"
** Battle mode has proper time limit online (3:00.000 instead of 0:30.000)
+
|+ Battle Features
** Playing a battle no longer influences [https://tcrf.net/Mario_Kart_Wii#Online_Nametag_Drawdistance name tag view distance] in VS races played afterwards
+
! Feature
* Demo screen
+
! Information
** Demo shows battle tracks as well
+
|-
** Demo correctly switches modes in the proper order
+
| Working Battle Mode
** Demo no longer randomly freezes sometimes
+
| Makes Battle Mode work properly.
* General
+
|-
** New features
+
| Battle Mode Time Limit Fix
*** The korean version of Mario Kart Wii is now supported
+
| Fixes the Battle Mode time limit (0:30 to 3:00).
*** [[Slot_Usage#LE-CODE|256 track limit removed]] ⇒ [[Slot Usage#LE-CODE|LE-CODE Slot Usage]]. New limit: 32700 CTs (more likely limited by maximum ISO size of 9 GB)
+
|}
*** 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
 
*** 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 <tt>/Race/Course/<slot-id>.szs</tt>, removing the need for a file name table
 
*** MrBeans performance monitor is included and can be enabled / disabled with [https://szs.wiimm.de/wlect/ Wiimms LE-CODE tool] (console only, not on Dolphin)
 
*** Special feature for [[DS_Airship_Fortress_(Sniki)|DS Airship Fortress]] (usable in all other tracks as well): The [[Object#woodbox|woodbox object]] uses setting 8 for the drop height so it doesn't land on the wrong floor
 
*** Loading [[Template:Cannon_characteristics|cannon parameters]] from a [[LEX_(File_Format)|course.lex]] file inside a track so CT authors can define own cannon parameters.  
 
** Bugfixes
 
*** The icache is properly handled, this means that LE-CODE should properly work on Dolphin
 
*** 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)
 
*** After playing a Time Trial the minimap driver icons will be correctly resized instead of staying large
 
*** Playing a team GP no longer removes the Lightning from subsequent non-team GPs
 
*** 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:  
 
** 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?) ===
+
=== Menu Features ===
 +
{| class="textbox grid sortable alt"
 +
|+ Menu Features
 +
! Feature
 +
! Information
 +
|-
 +
| Custom Cup Icon Sizes
 +
| Adds support for custom cup icon sizes from 8×8 up to 248×248 pixels in increments of 8. The default is 128×128.
 +
|-
 +
| Demo Screen Battle Mode
 +
| Adds Battle Mode to the Demo Screen.
 +
|-
 +
| Demo Screen Fix
 +
| Fixes random Demo Screen crashes.
 +
|-
 +
| Custom Track Removal in Time Trials
 +
| Removes the ability to play custom tracks in Time Trials.
 +
|-
 +
| Track Selection Scrolling
 +
| Automatically updates the track names when scrolling through the cups. The arrows can also be used from the bottom row of cups.
 +
|-
 +
| [[LPAR#chatmsg|Functional Chat Messages]]
 +
| Adds functionality to room chat messages.
 +
|-
 +
| Online Worldwides
 +
| Adds support for worldwides to play on tracks and battle arenas online.
 +
|}
  
* Speedometer
+
== Version History ==
* Change vehicle between online races
+
See [[LE-CODE/History]] for a full history.
 +
{| class="wikitable"
 +
! Version
 +
! Date of release
 +
! Information
 +
|-
 +
| &mdash;
 +
| 2019-01-07
 +
| Start of development
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2019-07-12.build-13.zip Build 13]
 +
| 2019-07-12
 +
| First release
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-02-14.build-15.zip Build 15]
 +
| 2020-02-14
 +
|
 +
* Added [[Extended Presence Flags]].
 +
* Added Goomba Size Memory.
 +
* Added Course Dependent Files for [[minigame.kmg]].
 +
* Added Item Position Bug Fix
 +
* Added Hidden Position Tracker.
 +
* Fixed cutscene for Team Races.
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-03-04.build-16.zip Build 16]
 +
| 2020-03-04
 +
|
 +
* Fixed Hidden Position Tracker for 4:3 field-of-view.
 +
* Fixed freeze that occurred when a player left a room which had a track using the Hidden Position Tracker loaded.
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-04-08.build-18.zip Build 18]
 +
| 2020-04-08
 +
| Added Functional Chat Messages.
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-06-16.build-20.zip Build 20]
 +
| 2020-06-16
 +
|
 +
* Added an option to avoid tracks being repicked for up to 50 times.
 +
* Added more Functional Chat Messages.
 +
* Added [[Epropeller Speed]].
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-07-26.build-22.zip Build 22]
 +
| 2020-07-26
 +
| Fixed crash that occurred when a player went online with many locked drivers.
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-09-17.build-24.zip Build 24]
 +
| 2020-09-17
 +
| Fixed freeze that occurred when all players selected random when playing Battle Mode.
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-12-09.build-26.zip Build 26]
 +
| 2020-10-09
 +
|
 +
* Added Custom Speedometer.
 +
* Added both versions of [[Conditional Out of Bounds]].
 +
* Updated Hidden Position Tracker.
 +
* Fixed Host Always Wins Vote not working when Track Blocker was disabled.
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2021-04-08.build-28.zip Build 28]
 +
| 2021-04-08
 +
|
 +
* Added Debug Information.
 +
* Added [[Item Cheat]].
 +
* Updated Custom Speedometer.
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2021-09-03.build-30.zip Build 30]
 +
| 2021-09-03
 +
|
 +
* Added Thunder Cloud Time Modifier.
 +
* Added Cheat Code System.
 +
* Added D-Pad Settings.
 +
* Added Cheat Modes.
 +
* Changed Draggable Blue Shells to an option.
 +
* Fixed Debug Information always being enabled.
 +
* Fixed Item Cheat joystick position.
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2022-05-13.build-32.zip Build 32]
 +
| 2022-05-13
 +
| Added bigger display to allow longer track names.
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2022-10-20.build-34.zip Build 34]
 +
| 2022-10-20
 +
|
 +
* Added support for Random Texture Hacks.
 +
* Removed Bullet Bill from Item Cheat when in Battle Mode.
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2022-12-15.build-36.zip Build 36]
 +
| 2022-12-15
 +
|
 +
* Added support for [[LE-CODE/Distribution_Tutorial/LE-DEF#worldwide|Online Worldwides]].
 +
* Added Random Texture Hacks option to [[LE-CODE/Distribution Tutorial/LE-DEF#random|Random Track from Group]].
 +
* Updated Random Track from Group to function for battle arenas.
 +
* Extended [[LE-CODE/Distribution Tutorial/LE-DEF#flags|track flags]] from 8 to 16 bits.
 +
* Increased internal version number.
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2023-08-05.build-38.zip Build 38]
 +
| 2023-08-05
 +
|
 +
* Made [[LPAR#STATICR-POINTS|Custom VS Point Scheme]] toggleable.
 +
* Added Custom Online Time Limit for [[distribution]]s and [[custom track]]s in [[LPAR#DEF-ONLINE-SEC|LPAR:DEF-ONLINE-SEC]] and [[LEX#APPLY-ONLINE-SEC|LEX:SET1:APPLY-ONLINE-SEC]] respectively.
 +
* Added [[LEX#RITP|Random Item Points]].
 +
|-
 +
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2024-02-17.build-40.zip Build 40]
 +
| 2024-02-17
 +
|
 +
* Added support for custom cup icon sizes from 8×8 up to 248×248 pixels in increments of 8.
 +
* Increased the track limit to 8,192.
 +
|}
  
== Information for CT creators ==
+
== Other Articles ==
 +
* [[LE-CODE/Distribution Tutorial|LE-CODE Distribution Tutorial]]
 +
* [[LE-CODE/Distribution FAQ|LE-CODE Distribution FAQ]]
 +
* [[LE-CODE/Track FAQ|LE-CODE Track FAQ]]
 +
* [[Slot Usage]]
 +
* [[LEX (File Format)]]
 +
* [[Extended Presence Flags]]
  
The new LE-CODE contains a few features for CT creators:
+
{{User-Wiimm-Link}}
 
+
[[Category:In Progress/Update]]
* [[ObjFlow.bin]] and GeoHitTable*.bin files can be loaded from the "Common" subfolder in an SZS track file
+
[[Category:LE-CODE]]
* [[Template:Cannon_characteristics|Cannon parameters]] can be loaded from a [[LEX_(File_Format)|course.lex]] file inside the SZS track file
 
* The {{obj-ref|woodbox}} object's setting S8 can be used to specify the height from which the box should drop
 
 
 
=== Detailed information ===
 
 
 
Certain files that would usually be loaded from the [[Common.szs]] can be loaded from a track file. Currently, the following files are supported:  
 
 
 
* [[ObjFlow.bin]]
 
* [[GeoHitTableItem.bin]]
 
* [[GeoHitTableItemObj.bin]]
 
* [[GeoHitTableKart.bin]]
 
* [[GeoHitTableKartObj.bin]]
 
 
 
If you wish to include such customized files in your CT for Wiimms MKW Fun, you have to create a folder <tt>Common</tt> 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.
 
 
 
== Wiimms SZS Tools ==
 
 
 
[[Wiimms SZS Tools]] support the LE-CODE extension like the [[CT-CODE]] extension before. The new tool ''wlect'' was created for LE-CODE and [[LEX]] support. If using tool ''wctct'' with option ''--lecode'', it switch internally to LE-CODE support and accepts track definition files in [[CT-CODE]] syntax. So you can use the same definition file for CT-CODE and for LE-CODE.
 
 
 
[[category:LE-CODE]]
 

Latest revision as of 14:08, 17 February 2024

Overview

LE-CODE (short for Leseratte-Code) is a code extension of Mario Kart Wii initially written by Leseratte. After the initial phase, the code was jointly developed by Leseratte and Wiimm. It has been named after CT-CODE, the name of the old code extension by MrBean35000vr and Chadderz.

Development started in January 2019, using the build system taken from the Wiimmfi updater. This means that it supports writing C source code instead of Assembly code for its modifications, and is designed to be loaded into the StaticR.rel relocation buffer as soon as it has been loaded and linked into memory, which has about 900 KB of usable space for modifications.

To use this code extension in other mods, Wiimm added support for management of LE-CODE and its additional features to Wiimms SZS Tools, called Wiimms LE-CODE Tool. Additional documentation can be found here.

The first few test versions were tested by Wiimm and Leseratte in February 2019, with the first version for a few more private testers being released on February 20th. LE-CODE could be used by the public after the release of Wiimms Mario Kart Fun 2019-06, which happened in June 2019.

Media

Features

LE-CODE's features are based on a list of modifications that were included in the Wiimms Mario Kart Fun series. It includes nearly all features that CT-CODE has and all features of the former mentioned series.

Features from CT-CODE

CT-CODE Features
Feature Information
More Racing Tracks Adds more slots to the game by editing the game's slot usage to have more than 4000 tracks in a distribution.
Custom Menu System Adds more cups and two arrows to the track selection.
Wi-Fi Timer Makes the timer display always when selecting a track online.
Random Track Fix Fixes the random button from the track selection.
Lap & Speed Modifier Adds support to have modifier lap and speed amounts.
Mushroom Only Bug Fix Fixes item boxes only giving Mushrooms after the 18th item online.
Thunder Cloud Time Modifier Allows the Thunder Cloud to strike earlier or later.
Random Track from Group Adds random groups to the track selection, allowing to vote randomly in a set of tracks. (All tracks, Nintendo tracks, custom tracks, new tracks, texture hacks)
Track Variants Allows tracks to function like Animal Crossing from Mario Kart 8.
Custom VS Point Scheme Changes the amount of points a player gets when finishing a race.
No Lightning in Team Races Disables the Lightning item in Team Races.
Engine Class Probability Modifier Removes calculations based on VR and uses a fixed probability instead.
Draggable Blue Shells Allows the Blue Shell to be dragged behind a player's vehicle, like Green and Red Shells.

Bugfixes

Bugfixes
Feature Information
Icache Fix Handles the icache properly, making the mod compatible with Dolphin 5.0-9000 and higher.
4-Player Mii Crash Fixes 4-player mode with Miis.
Minimap Icon Size Fix Fixes the size of the minimap's character icons when playing another game after Time Trials.
Battle Mode Name Tag Fix Fixes the render distance of player's name tags when returning to VS races.
Grand Prix Savegame Fix Fixes playing Grand Prix on custom cups from corrupting the savegame.
Trophy Fix Fixes the game awarding the wrong trophy due to the additional cups.

Main Features

Main Features
Feature Information
NTSC-K Support Adds support for the Korean version of the game.
More Than 256 Tracks Extends the track limit to 4,096 or 8,192.
Crash Handler Adds a proper crash handler to the game that displays data about the crash.
Multiplayer File Removal Removes the need for Multiplayer files and picks the regular track if it is not present.
Track Directory Adds a track directory to the game's filesystem.
Performance Monitor Adds the option to display a performance monitor on screen.
Custom Speedometer Adds a speedometer with some settings.
Debug Information Adds the option to turn on various debug information.
Item Cheat Adds an Item Cheat to the game.
Random Texture Hacks Adds support for organization of texture hacks.
Custom Online Time Limit Allows the online time limit to be customizable between 30 and 65535 seconds (18:12:15).

Track Features

Track Features
Feature Information
Course Dependent Files Adds the option to read ObjFlow.bin, GeoHitTableItem.bin, GeoHitTableItemObj.bin, GeoHitTableKart.bin, GeoHitTableKartObj.bin, and minigame.kmg from the track file itself.
Woodbox Height Respawn Modifier Modifies the height at which the woodbox object respawns.
Cannon Parameters Adds the option to have custom cannon parameters through a LEX file.
Mushroom Car Changes the penguin_m object to function like a Mushroom Car from Mario Kart: Double Dash!!
Movable Finish Line Adds the option to add a second starting position to display the finish line on the minimap in a different location.
Extended Presence Flags Adds more options to Nintendo's presence flags.
Goomba Size Memory Remembers the original size of a Goomba when respawning it.
Item Position Bug Fix Fixes the Item Position Bug through a LEX file.
Hidden Position Tracker Hides the position tracker depending on the player's checkpoint information through a LEX file.
Epropeller Speed Changes the Epropeller object to define another scale for the rotation speed.
Conditional Out of Bounds Adds support for both versions of Conditional Out of Bounds.
Custom Online Time Limit Allows the online time limit to be customizable between LPAR:MIN-ONLINE-SEC and LPAR:MAX-ONLINE-SEC.
Random Item Points Allows item routes to be picked at random.

Battle Features

Battle Features
Feature Information
Working Battle Mode Makes Battle Mode work properly.
Battle Mode Time Limit Fix Fixes the Battle Mode time limit (0:30 to 3:00).

Menu Features

Menu Features
Feature Information
Custom Cup Icon Sizes Adds support for custom cup icon sizes from 8×8 up to 248×248 pixels in increments of 8. The default is 128×128.
Demo Screen Battle Mode Adds Battle Mode to the Demo Screen.
Demo Screen Fix Fixes random Demo Screen crashes.
Custom Track Removal in Time Trials Removes the ability to play custom tracks in Time Trials.
Track Selection Scrolling Automatically updates the track names when scrolling through the cups. The arrows can also be used from the bottom row of cups.
Functional Chat Messages Adds functionality to room chat messages.
Online Worldwides Adds support for worldwides to play on tracks and battle arenas online.

Version History

See LE-CODE/History for a full history.

Version Date of release Information
2019-01-07 Start of development
Build 13 2019-07-12 First release
Build 15 2020-02-14
  • Added Extended Presence Flags.
  • Added Goomba Size Memory.
  • Added Course Dependent Files for minigame.kmg.
  • Added Item Position Bug Fix
  • Added Hidden Position Tracker.
  • Fixed cutscene for Team Races.
Build 16 2020-03-04
  • Fixed Hidden Position Tracker for 4:3 field-of-view.
  • Fixed freeze that occurred when a player left a room which had a track using the Hidden Position Tracker loaded.
Build 18 2020-04-08 Added Functional Chat Messages.
Build 20 2020-06-16
  • Added an option to avoid tracks being repicked for up to 50 times.
  • Added more Functional Chat Messages.
  • Added Epropeller Speed.
Build 22 2020-07-26 Fixed crash that occurred when a player went online with many locked drivers.
Build 24 2020-09-17 Fixed freeze that occurred when all players selected random when playing Battle Mode.
Build 26 2020-10-09
  • Added Custom Speedometer.
  • Added both versions of Conditional Out of Bounds.
  • Updated Hidden Position Tracker.
  • Fixed Host Always Wins Vote not working when Track Blocker was disabled.
Build 28 2021-04-08
  • Added Debug Information.
  • Added Item Cheat.
  • Updated Custom Speedometer.
Build 30 2021-09-03
  • Added Thunder Cloud Time Modifier.
  • Added Cheat Code System.
  • Added D-Pad Settings.
  • Added Cheat Modes.
  • Changed Draggable Blue Shells to an option.
  • Fixed Debug Information always being enabled.
  • Fixed Item Cheat joystick position.
Build 32 2022-05-13 Added bigger display to allow longer track names.
Build 34 2022-10-20
  • Added support for Random Texture Hacks.
  • Removed Bullet Bill from Item Cheat when in Battle Mode.
Build 36 2022-12-15
Build 38 2023-08-05
Build 40 2024-02-17
  • Added support for custom cup icon sizes from 8×8 up to 248×248 pixels in increments of 8.
  • Increased the track limit to 8,192.

Other Articles