Difference between revisions of "LE-CODE"

From Custom Mario Kart
Jump to navigation Jump to search
(Cleanup)
 
(104 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[File:lecode-circ-160x160.png|right|thumb|LE-CODE logo, circle]]
+
{{LE-CODE Content}}
[[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]]. 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 will be able to use the LE-CODE in [[Wiimms Mario Kart Fun 2019-06]] which will be released this month. 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.
+
== 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.
  
=== History ===
+
=== Features from CT-CODE ===
  
; 2019-01-07 — Idea for LE-CODE
+
{| class="textbox grid sortable alt"
* [[Leseratte]] had the idea to consolidate all existing MKW-Fun and ct-code mods into one new structured system.
+
|+ CT-CODE Features
* 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).
+
! Feature
* 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).
+
! 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.
 +
|}
  
; 2019-01-11 — StaticR buffer
+
=== Bugfixes ===
* 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.
+
{| class="textbox grid sortable alt"
* After the game is loaded, the buffer is still kept in memory and can be used for custom mods with the LE-CODE.
+
|+ 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.
 +
|}
  
; 2019-01-30 — ct-code ported
+
=== Main Features ===
* As of January 30, all ct-code mods have been ported or rewritten to work with the LE-CODE.
+
{| class="textbox grid sortable alt"
* Most MKW-Fun mods have been ported as well.
+
|+ 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).
 +
|}
  
; 2019-02-10 — test script
+
=== Track Features ===
* 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.
+
{| 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.
 +
|}
  
; ~2019-02-14 — WLECT development
+
=== Battle Features ===
* Leseratte made a few changes to the LE-CODE to make it compatible with Wiimms tools.
+
{| class="textbox grid sortable alt"
* [[Wiimm]] started developing WLECT (Wiimms LE-CODE tool) so that we no longer have to create distributions manually.
+
|+ Battle Features
* At the same time, Wiimm implemented LE-CODE support in its distribution-generator.
+
! 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).
 +
|}
  
; 2019-02-15
+
=== Menu Features ===
* Leseratte developed a hacky way for LE-CODE to add additional ~20 slots to the game without breaking online support.
+
{| 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.
 +
|}
  
; 2019-02-25 — even more track IDs
+
== Version History ==
* The hack from above has been removed. Leseratte started development for actually supporting up to ~32000 tracks in online mode.
+
See [[LE-CODE/History]] for a full history.
* Korean games should now work properly and not freeze on track load.
+
{| class="wikitable"
 
+
! Version
; 2019-03-06 — track ID support finished
+
! Date of release
* Both online gameplay and online live view now support up to ~32000 tracks.
+
! Information
* Track icons changed from RGB5A3 to CMPR to reduce size.
+
|-
* LE-CODE artificially limits the number of tracks to 4096 (you'd run out of memory for cup icons at some point anyways).
+
| &mdash;
 
+
| 2019-01-07
; 2019-04-01 — first public test distribution
+
| Start of development
* [[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.
+
|-
* 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/2019-07-12.build-13.zip Build 13]
 
+
| 2019-07-12
; 2019-05-18 — various preparations for MKW Fun
+
| First release
* 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
+
|-
* 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-02-14.build-15.zip Build 15]
 
+
| 2020-02-14
; 2019-06-21 — release of [[Wiimms Mario Kart Fun 2019-06]]
+
|
* [[Wiimms Mario Kart Fun 2019-06]], the first real CT distribution based on the LE-CODE has been released.
+
* Added [[Extended Presence Flags]].
 
+
* Added Goomba Size Memory.
== What does the LE-CODE contain? ==
+
* Added Course Dependent Files for [[minigame.kmg]].
 
+
* Added Item Position Bug Fix
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.  
+
* Added Hidden Position Tracker.
 
+
* Fixed cutscene for Team Races.
=== List of features from the old ct-code and MKW-Fun, now included in LE-CODE ===
+
|-
 
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-03-04.build-16.zip Build 16]
* [[Slot_Usage|Extension to allow the game to load more than 32 race tracks]]
+
| 2020-03-04
* Custom menu system from the ct-code to add arrows to the track selection
+
|
* Online track selection time limit is displayed all the time
+
* Fixed Hidden Position Tracker for 4:3 field-of-view.
* Removed CTGP randomizer so picking "Random" actually votes "???"
+
* Fixed freeze that occurred when a player left a room which had a track using the Hidden Position Tracker loaded.
* [[Lap_%26_Speed_Modifier|Lap and speed modifier]]
+
|-
* [[User:Leseratte#Fix_the_mushroom-only-bug_online|Mushroom bugfix]]
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-04-08.build-18.zip Build 18]
* Cloud time modifier
+
| 2020-04-08
* [[Translations/Random|New random variants]] (All tracks, Nintendo tracks, Custom tracks, new tracks)
+
| Added Functional Chat Messages.
* 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)
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-06-16.build-20.zip Build 20]
* Room settings (friend room host can set options like vehicle restrictions or number of races)
+
| 2020-06-16
* No Lightning in team races
+
|
* Engine class probability modifier, engine class is no longer dependant on VR
+
* Added an option to avoid tracks being repicked for up to 50 times.
* Room stability indicator
+
* Added more Functional Chat Messages.
* Blue shell can be dragged behind a vehicle like other shells
+
* Added [[Epropeller Speed]].
 
+
|-
 
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-07-26.build-22.zip Build 22]
=== Changes / Bugfixes / New features with the LE-CODE ===
+
| 2020-07-26
 
+
| Fixed crash that occurred when a player went online with many locked drivers.
* Battle
+
|-
** Battle mode actually works
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-09-17.build-24.zip Build 24]
** Battle mode has proper time limit online (3:00.000 instead of 0:30.000)
+
| 2020-09-17
** Playing a battle no longer influences [https://tcrf.net/Mario_Kart_Wii#Online_Nametag_Drawdistance name tag view distance] in VS races played afterwards
+
| Fixed freeze that occurred when all players selected random when playing Battle Mode.
* Demo screen
+
|-
** Demo shows battle tracks as well
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2020-12-09.build-26.zip Build 26]
** Demo correctly switches modes in the proper order
+
| 2020-10-09
** Demo no longer randomly freezes sometimes
+
|
* General
+
* Added Custom Speedometer.
** New generic features
+
* Added both versions of [[Conditional Out of Bounds]].
*** The korean version of Mario Kart Wii is now supported
+
* Updated Hidden Position Tracker.
*** [[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)
+
* Fixed Host Always Wins Vote not working when Track Blocker was disabled.
*** 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
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2021-04-08.build-28.zip Build 28]
*** Tracks are now loaded from <tt>/Race/Course/<slot-id>.szs</tt>, removing the need for a file name table
+
| 2021-04-08
*** 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)
+
|
** New track-related features
+
* Added Debug Information.
*** Support for track-dependant [[ObjFlow.bin]] and GeoHitTable*.bin files - see section below.
+
* Added [[Item Cheat]].
*** 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
+
* Updated Custom Speedometer.
*** 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
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2021-09-03.build-30.zip Build 30]
*** 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.
+
| 2021-09-03
** Bugfixes
+
|
*** 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.  
+
* Added Thunder Cloud Time Modifier.
*** 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)
+
* Added Cheat Code System.
*** After playing a Time Trial the minimap driver icons will be correctly resized instead of staying large
+
* Added D-Pad Settings.
*** Playing a team GP no longer removes the Lightning from subsequent non-team GPs
+
* Added Cheat Modes.
*** The special random variants (new tracks, CTs, all tracks, Nintendo tracks) and the track variants now work offline as well
+
* Changed Draggable Blue Shells to an option.
*** Playing GPs on custom cups no longer breaks the savegame
+
* Fixed Debug Information always being enabled.
*** Fixed a bug that would cause the wrong trophy to be awarded in MKW-Fun due to cup reordering
+
* Fixed Item Cheat joystick position.
*** <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
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2022-05-13.build-32.zip Build 32]
** Fixed a bug that could have caused freezes and/or graphical glitches in the menu under some circumstances
+
| 2022-05-13
** In Time Trial mode, custom tracks are now hidden from the menu
+
| Added bigger display to allow longer track names.
** 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)
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2022-10-20.build-34.zip Build 34]
** 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
+
| 2022-10-20
* Not yet done, but likely to be added:  
+
|
** TT ranking selection menu in the Mario Kart Channel is no longer broken
+
* Added support for Random Texture Hacks.
 
+
* Removed Bullet Bill from Item Cheat when in Battle Mode.
=== List of features in old MKW-Fun that are no longer included in LE-CODE (yet?) ===
+
|-
 
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2022-12-15.build-36.zip Build 36]
* Speedometer
+
| 2022-12-15
* Change vehicle between online races (cheat code can fix it)
+
|
 
+
* Added support for [[LE-CODE/Distribution_Tutorial/LE-DEF#worldwide|Online Worldwides]].
== Information for CT creators ==
+
* 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.
The new LE-CODE contains a few features for CT creators:
+
* Extended [[LE-CODE/Distribution Tutorial/LE-DEF#flags|track flags]] from 8 to 16 bits.
 
+
* Increased internal version number.
* [[ObjFlow.bin]] and GeoHitTable*.bin files can be loaded from the "Common" subfolder in an SZS track file
+
|-
* [[Template:Cannon_characteristics|Cannon parameters]] can be loaded from a [[LEX_(File_Format)|course.lex]] file inside the SZS track file
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2023-08-05.build-38.zip Build 38]
* The {{obj-ref|woodbox}} object's setting S8 can be used to specify the height from which the box should drop
+
| 2023-08-05
* The {{obj-ref|penguin_m}} object can be configured to behave like a mushroom car
+
|
* A second [[KMP#KTPT|KTPT]] can be used to place the start line on the minimap.
+
* 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.
'''Details and techniques are described at »[[LE-CODE/Track FAQ]]«.'''
+
* Added [[LEX#RITP|Random Item Points]].
 
+
|-
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.
+
| [https://download.wiimm.de/lecode/distribution-support/lecode-bin/2024-02-17.build-40.zip Build 40]
 
+
| 2024-02-17
== Wiimms SZS Tools ==
+
|
 
+
* Added support for custom cup icon sizes from 8×8 up to 248×248 pixels in increments of 8.
[[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.
+
* Increased the track limit to 8,192.
 
+
|}
[[category: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)]]
 +
* [[Extended Presence Flags]]
 +
 +
{{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