Difference between revisions of "LE-CODE"

From Custom Mario Kart
Jump to navigation Jump to search
(Cleanup)
 
(54 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
{{LE-CODE Content}}
 
{{LE-CODE Content}}
[[File:lecode-circ-160x160.png|right|thumb|LE-CODE logo, circle]]
 
[[File:lecode-hor-160x36.png|right|thumb|LE-CODE logo, horizontal]]
 
[[File:lecode-ver-36x160.png|right|thumb|LE-CODE logo, vertical]]
 
  
== What is the LE-CODE? ==
+
== 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]].
  
The LE-CODE (short for Leseratte-Code) is a code extension for Mario Kart Wii which has been written by [[User:Leseratte|Leseratte]]. [[Wiimm]] also provided code. 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.  
+
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.
  
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.
+
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].
  
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]).  
+
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.
  
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 can use the LE-CODE in [[Wiimms Mario Kart Fun 2019-06]] which has been released in June 2019. A source code release currently isn't planned.
+
== 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>
  
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]
+
== 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.
  
== What does the LE-CODE contain? ==
+
=== Features from CT-CODE ===
  
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.  
+
{| 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.
 +
|}
  
=== List of features from the old ct-code and MKW-Fun, now included in LE-CODE ===
+
=== Bugfixes ===
 +
{| class="textbox grid sortable alt"
 +
|+ 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 [[mariowiki:Mii|Mii]]s.
 +
|-
 +
| 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.
 +
|}
  
* [[Slot_Usage|Extension to allow the game to load more than 32 race tracks]]
+
=== Main Features ===
* 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
+
|+ Main Features
* 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
+
| NTSC-K Support
* [[Translations/Random|New random variants]] (All tracks, Nintendo tracks, Custom tracks, new tracks)
+
| Adds support for the [[NTSC-K|Korean version]] of the game.
* 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)
+
| More Than 256 Tracks
* Room settings (friend room host can set options like vehicle restrictions or number of races)
+
| Extends the track limit to 4,096 or 8,192.
* No Lightning in team races
+
|-
* Engine class probability modifier, engine class is no longer dependant on VR
+
| Crash Handler
* Room stability indicator
+
| Adds a proper crash handler to the game that displays data about the crash.
* Blue shell can be dragged behind a vehicle like other shells
+
|-
* Speedometer
+
| 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
* Loading [[minigame.kmg]] from track's szs.
+
! Information
* Demo screen
+
|-
** Demo shows battle tracks as well
+
| Working Battle Mode
** Demo correctly switches modes in the proper order
+
| Makes Battle Mode work properly.
** Demo no longer randomly freezes sometimes
+
|-
* General
+
| Battle Mode Time Limit Fix
** New generic features
+
| Fixes the Battle Mode time limit (0:30 to 3:00).
*** The Korean version of Mario Kart Wii is now supported
+
|}
*** [[Slot_Usage#LE-CODE|256 track limit removed]] ⇒ [[Slot Usage#LE-CODE|LE-CODE Slot Usage]]. New limit: 4028 CTs.
 
*** 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
 
*** 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] (either console only, or Console+Dolphin)
 
** New track-related features
 
*** Support for track-dependant [[ObjFlow.bin]] and GeoHitTable*.bin files - see section below.
 
*** Special feature for [[DS_Airship_Fortress_(Sniki)|DS Airship Fortress]] (usable in all other tracks as well): The {{obj-ref|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.  
 
*** Special feature for tracks like [[GCN Mushroom Bridge]] and [[GCN Mushroom City]]: The {{obj-ref|penguin_m}} object's settings can be used to make it behave like a mushroom car (spitting out a mushroom when hit) - thanks to [[User:KHacker35000vr|Kevin]] for the code to do that
 
*** The finish line on the map can be freely placed anywhere (using a second [[KMP#KTPT|KTPT]] entry with player index -1) and will automatically be rotated properly in mirror mode, fixing the [[Start Line Bug]]. See [[LE-CODE/Track_FAQ#ktp2|Track FAQ]] for details.
 
*** Full implementation of new [[Extended presence flags]] including the [[LEX#TEST|simulation of scenarios]].
 
*** Goombas restored to scaled size after hit.
 
*** For online races, the range for items can be increased to larger values than ±131071 (see [[LEX]]:[[LEX#SET1|SET1]]).
 
*** The position tracker can be hidden dependent on offline/online, current lap and current check point (see [[LEX]]:[[LEX#HIPT|HIPT]]).
 
*** [[Conditional Out of Bounds (Riidefi)]] implemented (for AREA type 10 where route=0xff)
 
*** [[Conditional Out of Bounds (kHacker35000vr)]] implemented (for AREA types 10 where route=1)
 
  
** Bugfixes
+
=== Menu Features ===
*** The icache is properly handled, this means that LE-CODE will work on Dolphin >=5.0-9000. On older versions of Dolphin, it will most likely freeze at boot.
+
{| class="textbox grid sortable alt"
*** 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)
+
|+ Menu Features
*** After playing a Time Trial the minimap driver icons will be correctly resized instead of staying large
+
! Feature
*** Playing a team GP no longer removes the Lightning from subsequent non-team GPs
+
! Information
*** The special random variants (new tracks, CTs, all tracks, Nintendo tracks) and the track variants now work offline as well
+
|-
*** Playing GPs on custom cups no longer breaks the savegame
+
| Custom Cup Icon Sizes
*** Fixed a bug that would cause the wrong trophy to be awarded in MKW-Fun due to cup reordering
+
| Adds support for custom cup icon sizes from 8×8 up to 248×248 pixels in increments of 8. The default is 128×128.
*** <s>Fixed the recently discovered [[User:Leseratte#480p_graphics_fix|480p graphics glitch]] caused by a bug in the Nintendo SDK</s> ''due to the way this fix works it can't be embedded in the LE-CODE and has to be applied directly to the game''
+
|-
* Menu
+
| Demo Screen Battle Mode
** Fixed a bug that could have caused freezes and/or graphical glitches in the menu under some circumstances
+
| Adds Battle Mode to the Demo Screen.
** 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")
+
| Demo Screen Fix
** Scrolling through the cup list auto-updates the track list (also, as in previous versions, one can scroll in the bottom row as well)
+
| Fixes random Demo Screen crashes.
** 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:
+
| Custom Track Removal in Time Trials
** TT ranking selection menu in the Mario Kart Channel is no longer broken
+
| 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.
 +
|}
  
=== List of features in old MKW-Fun that are no longer included in LE-CODE (yet?) ===
+
== Version History ==
 
+
See [[LE-CODE/History]] for a full history.
* Change vehicle between online races (cheat code can fix it)
+
{| class="wikitable"
 
+
! Version
== History ==
+
! Date of release
 
+
! Information
; 2019-01-07 — Idea for LE-CODE
+
|-
* [[Leseratte]] had the idea to consolidate all existing MKW-Fun and ct-code mods into one new structured system.
+
| &mdash;
* He started looking for ways to extend the game code, possibly by placing it at the end of the heap (like MKW-Fun and CTGP 1.03 do).
+
| 2019-01-07
* However, that would either require position-independant code (complicated), usage of the game's internal linker (even more complicated) or a fixed-length FST (would break if ISO is modified).
+
| Start of development
 
+
|-
; 2019-01-11 — StaticR buffer
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2019-07-12.build-13.zip Build 13]
* The idea to use the heap has been discarded. Leseratte found a roughly 900 KB buffer within the StaticR.rel that is only used at game load.
+
| 2019-07-12
* After the game is loaded, the buffer is still kept in memory and can be used for custom mods with the LE-CODE.
+
| First release
 
+
|-
; 2019-01-30 — ct-code ported
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-02-14.build-15.zip Build 15]
* As of January 30, all ct-code mods have been ported or rewritten to work with the LE-CODE.
+
| 2020-02-14
* Most MKW-Fun mods have been ported as well.
+
|
 
+
* Added [[Extended Presence Flags]].
; 2019-02-10 — test script
+
* Added Goomba Size Memory.
* Leseratte made a small script to patch LE-CODE support into an image so Wiimm and Leseratte were able to do a few online tests.
+
* Added Course Dependent Files for [[minigame.kmg]].
 
+
* Added Item Position Bug Fix
; ~2019-02-14 — WLECT development
+
* Added Hidden Position Tracker.
* Leseratte made a few changes to the LE-CODE to make it compatible with Wiimms tools.
+
* Fixed cutscene for Team Races.
* [[Wiimm]] started developing WLECT (Wiimms LE-CODE tool) so that we no longer have to create distributions manually.
+
|-
* At the same time, Wiimm implemented LE-CODE support in its distribution-generator.
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-03-04.build-16.zip Build 16]
 
+
| 2020-03-04
; 2019-02-15
+
|
* Leseratte developed a hacky way for LE-CODE to add additional ~20 slots to the game without breaking online support.
+
* 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.
; 2019-02-25 — even more track IDs
+
|-
* The hack from above has been removed. Leseratte started development for actually supporting up to ~32000 tracks in online mode.
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-04-08.build-18.zip Build 18]
* Korean games should now work properly and not freeze on track load.
+
| 2020-04-08
 
+
| Added Functional Chat Messages.
; 2019-03-06 — track ID support finished
+
|-
* Both online gameplay and online live view now support up to ~32000 tracks.
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-06-16.build-20.zip Build 20]
* Track icons changed from RGB5A3 to CMPR to reduce size.
+
| 2020-06-16
* LE-CODE artificially limits the number of tracks to 4096 (you'd run out of memory for cup icons at some point anyways).
+
|
 
+
* Added an option to avoid tracks being repicked for up to 50 times.
; 2019-04-01 — first public test distribution
+
* Added more Functional Chat Messages.
* [[Wiimm]] and [[Leseratte]] released a [[LE-CODE_Test_Distribution|public test version]] of Wiimms [[Intermezzo]] built with the LE-CODE to do some online tests with more people.  
+
* Added [[Epropeller Speed]].
* From now on, all new builds of Wiimms [[Intermezzo]] (released every Tuesday) will be built using the LE-CODE.
+
|-
 
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-07-26.build-22.zip Build 22]
; 2019-05-18 — various preparations for MKW Fun
+
| 2020-07-26
* During the last months Wiimm and Leseratte did some cleanup of the LE-CODE and the MKW Fun build system to prepare the first MKW-Fun distribution with the LE-CODE
+
| Fixed crash that occurred when a player went online with many locked drivers.
* A "mushroom car" feature (for tracks like [[GCN Mushroom City (Tock)|GCN Mushroom City]]) has been added to the LE-CODE (thanks to [[User:KHacker35000vr|Kevin (KHacker35000vr)]] for the code for that)
+
|-
 
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-09-17.build-24.zip Build 24]
; 2019-06-21 — release of [[Wiimms Mario Kart Fun 2019-06]]
+
| 2020-09-17
* [[Wiimms Mario Kart Fun 2019-06]], the first real CT distribution based on the LE-CODE has been released.
+
| Fixed freeze that occurred when all players selected random when playing Battle Mode.
 
+
|-
; 2019-07-12 — official release of the binary files of [[#b13|LE-CODE build 13]].
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-12-09.build-26.zip Build 26]
* [[#b13|First official release]] of LE-CODE to the public. So other distributions can use it.
+
| 2020-10-09
 
+
|
; 2020-01-25 — [[Extended presence flags]], Goombas and more
+
* Added Custom Speedometer.
* Partial implementation of new [[Extended presence flags]] including the [[LEX#TEST|simulation of scenarios]].
+
* Added both versions of [[Conditional Out of Bounds]].
* Goombas restored to scaled size after hit.
+
* Updated Hidden Position Tracker.
* Finish cut scene for team races fixed.
+
* Fixed Host Always Wins Vote not working when Track Blocker was disabled.
* Loading [[minigame.kmg]] from track's szs works now.
+
|-
 
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2021-04-08.build-28.zip Build 28]
; 2020-02-07 — [[Extended presence flags]], Position Tracker
+
| 2021-04-08
* Full implementation of new [[Extended presence flags]] including the [[LEX#TEST|simulation of scenarios]].
+
|
* For online races, the range for items can be increased to larger values than ±131071 (see [[LEX]]:[[LEX#SET1|SET1]]).
+
* Added Debug Information.
* The position tracker can be hidden dependent on offline/online, current lap and current check point (see [[LEX]]:[[LEX#HIPT|HIPT]]).
+
* Added [[Item Cheat]].
 
+
* Updated Custom Speedometer.
; 2020-02-14 — official release of the binary files of [[#b15|LE-CODE build 15]].
+
|-
 
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2021-09-03.build-30.zip Build 30]
; 2020-02-29 — fixed ''hide-position-tracker'' functionality
+
| 2021-09-03
* Fixed the ''hide-position-tracker'' functionality for 4:3 screens.
+
|
* Fixed a freeze bug that occasionally occurs when a player leaves a room and the current track uses the ''hide-position-tracker'' feature.
+
* Added Thunder Cloud Time Modifier.
 
+
* Added Cheat Code System.
; 2020-03-04 — official release of the binary files of [[#b16|LE-CODE build 16]].
+
* Added D-Pad Settings.
 
+
* Added Cheat Modes.
; 2020-04-08 — official release of the binary files of [[#b18|LE-CODE build 18]].
+
* Changed Draggable Blue Shells to an option.
* Free distribution of [[LPAR (File Format)#chatmsg|special functions to all chat messages]] in private rooms.
+
* Fixed Debug Information always being enabled.
 
+
* Fixed Item Cheat joystick position.
; 2020-04-17 — block tracks
+
|-
* Block previously used tracks for the next 0–50 races. (see [[LPAR#block-track|LPAR parameter BLOCK-TRACK]])
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2022-05-13.build-32.zip Build 32]
* More chat messages and up to 2 modes for each chat message. ([[LPAR#chatmsg|details]])
+
| 2022-05-13
 
+
| Added bigger display to allow longer track names.
; 2020-04-21 — [[Epropeller Speed]]
+
|-
* [[Cheat code]] »[[Epropeller Speed]]« implemented.
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2022-10-20.build-34.zip Build 34]
 
+
| 2022-10-20
; 2020-06-16 — official release of the binary files of [[#b20|LE-CODE build 20]].
+
|
 
+
* Added support for Random Texture Hacks.
; 2020-07-26 — official release of the binary files of [[#b22|LE-CODE build 22]].
+
* Removed Bullet Bill from Item Cheat when in Battle Mode.
* The game doesn't crash anymore if a player goes online with many locked drivers.
+
|-
 
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2022-12-15.build-36.zip Build 36]
; 2020-09-05 — bug fixed
+
| 2022-12-15
* The game does not longer freeze if all players select ''random'' while selecting a battle arena.
+
|
 
+
* Added support for [[LE-CODE/Distribution_Tutorial/LE-DEF#worldwide|Online Worldwides]].
; 2020-09-17 — official release of the binary files of [[#b24|LE-CODE build 24]].
+
* 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.
; 2020-10-09
+
* Extended [[LE-CODE/Distribution Tutorial/LE-DEF#flags|track flags]] from 8 to 16 bits.
* Speedometer implemented. Enable it by [[LPAR]].
+
* Increased internal version number.
* [[Conditional Out of Bounds (Riidefi)]] implemented (for AREA type 10 where route=0xff)
+
|-
* [[Conditional Out of Bounds (kHacker35000vr)]] implemented (for AREA types 10 where route=1)
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2023-08-05.build-38.zip Build 38]
* For more information about these conditional out-of-bounds patches, see [[Conditional Out of Bounds]].
+
| 2023-08-05
* ''hide-position-tracker'' updated.
+
|
 
+
* Made [[LPAR#STATICR-POINTS|Custom VS Point Scheme]] toggleable.
== <span id=download>Public releases and downloads</span> ==
+
* 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]].
You will find all official releases at [https://download.wiimm.de/lecode/distribution-support/lecode-bin/ download.wiimm.de].
+
|-
 
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2024-02-17.build-40.zip Build 40]
; <span id=b13>[https://download.wiimm.de/lecode/distribution-support/lecode-bin/2019-07-12.build-13.zip 2019-07-12, build 13]</span> (zip,77K)
+
| 2024-02-17
* First official release of LE-CODE.
+
|
 
+
* Added support for custom cup icon sizes from 8×8 up to 248×248 pixels in increments of 8.
; <span id=b15>[https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-02-14.build-15.zip 2020-02-14, build 15]</span> (zip,90K)
+
* Increased the track limit to 8,192.
* Full implementation of new [[Extended presence flags]] including the [[LEX#TEST|simulation of scenarios]].
+
|}
* Goombas restored to scaled size after hit.
 
* Finish cut scene for team races fixed.
 
* Loading [[minigame.kmg]] from track's szs.  
 
* For online races, the range for items can be increased to larger values than ±131071 (see [[LEX]]:[[LEX#SET1|SET1]]).
 
* The position tracker can be hidden dependent on offline/online, current lap and current check point (see [[LEX]]:[[LEX#HIPT|HIPT]]).
 
 
 
; <span id=b16>[https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-03-04.build-16.zip 2020-03-04, build 16]</span> (zip,90K)
 
* Fixed the ''hide-position-tracker'' functionality for 4:3 screens.
 
* Fixed a freeze bug that occasionally occurs when a player leaves a room and the current track uses the ''hide-position-tracker'' feature.
 
 
 
; <span id=b18>[https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-04-08.build-18.zip 2020-04-08, build 18]</span> (zip,91K)
 
* Free distribution of [[LPAR (File Format)#chatmsg|special functions to all chat messages]] in private rooms.
 
 
 
; <span id=b20>[https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-06-16.build-20.zip 2020-06-16, build 20]</span> (zip,99K)
 
* Online, a track that has been played wont be re-picked for the next 0–50 races.
 
* More chat messages and up to 2 modes for each chat message.
 
* New chat messages modes to limit drivers by size and/or vehicle types.
 
* [[Cheat code]] »[[Epropeller Speed]]« implemented.
 
* Fix a bug that sometimes causes the game to freeze when loading a track.
 
 
 
; <span id=b22>[https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-07-26.build-22.zip 2020-07-26, build 22]</span> (zip,99K)
 
* The game doesn't crash anymore if a player goes online with many locked drivers.
 
 
 
; <span id=b24>[https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-09-17.build-24.zip 2020-09-17, build 24]</span> (zip,99K)
 
* The game does not longer freeze if all players select ''random'' while selecting a battle arena.
 
 
 
== Information for CT creators ==
 
 
 
See »[[LE-CODE/Track FAQ|LE-CODE FAQ for track creators]]«.
 
 
 
== Information for distribution creators ==
 
 
 
See »[[LE-CODE/Distribution Tutorial|LE-CODE Distribution Tutorial]]« and »[[LE-CODE/Distribution FAQ|LE-CODE FAQ for distribution creators]]«.
 
 
 
== 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.
 
 
 
== Wiki Links ==
 
  
 +
== Other Articles ==
 
* [[LE-CODE/Distribution Tutorial|LE-CODE Distribution Tutorial]]
 
* [[LE-CODE/Distribution Tutorial|LE-CODE Distribution Tutorial]]
* [[LE-CODE/Distribution FAQ|LE-CODE FAQ for distribution creators]]
+
* [[LE-CODE/Distribution FAQ|LE-CODE Distribution FAQ]]
* [[LE-CODE/Track FAQ|LE-CODE FAQ for track creators]]
+
* [[LE-CODE/Track FAQ|LE-CODE Track FAQ]]
 
* [[Slot Usage]]
 
* [[Slot Usage]]
 
* [[LEX (File Format)]]
 
* [[LEX (File Format)]]
* [[Extended presence flags]]
+
* [[Extended Presence Flags]]
  
[[category:LE-CODE]]
+
{{User-Wiimm-Link}}
 +
[[Category:In Progress/Update]]
 +
[[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