- Added 'Never Pause IGT' to help transition the IL sheet to QFT without breaking IGT ILs
- Changed the code size alert to a confirm box to let the user choose whether to proceed anyway
- Fixed the warning when trying to download Intro Skip or memory card patches as GCI only
Updated the GCI codes with the latest build and fix an misconfigured value in regards to the code limit.
Added GCI (+ xxx) Download (Experimental).
Added dependencies information to generated ini/txt
- Fixed the bug that background color cannot be changed in 'Controller Input Display'
- Ported 'FastForward', 'InstantRestart', 'SpawnYoshi', 'StageIntroSkip' to all versions
The peaceful plaza (after unlocking Ricco and Gelato) is now available as C↘ + Y, later plazas have their shortcuts moved clockwise, and the post-Corona plaza no longer has a dedicated shortcut. To access it, simply load Corona (X with neutral C stick) or Bowser (C↖ + Y + L) then exit to the plaza.
- Added font for NTSC-U
- Fixed the encoding of NTSC-U and PAL (should be Windows-1252 instead of latin1)
Fix preview of Controller Input Display
Set the correct BH/RH/GB unlock flag
Disable Z menu for Instant Level Select to prevent broken texture
- Added 'Mario State Savestate'
- Added 'No Shine Get Animation'
- Added 'Fruit Never Time Out'
- Added 'In-Stage Attempt Counter'
- Added 'Manual Attempt Counter'
- Added 'Deathless Blooper Surfing'
- Added 'In-Game Time Savestate'
- Added 'QF Time Savestate'
- Added 'Red Coin Savestate'
- Added 'Previous Downloaded Codes' as a preset
Overwrite button input value to prevent Level Select being activated when AreaLock is enabled
Support signed int32 and int16 for fields
Fixed the hex value of multi-byte char in format string
Display controller input
Display attempt count and success count of current area
- Rewrote with C2
- Go to level instantly without transition
Calculate and display section times whenever Quarterframe Timer freezes
- Rewrote with C2 + separated config 06
- Remove label option
- Rewrote with C2
- Implemented a more complex assembler/compiler to support function call
- Add options
- Invincibility Timer
- Pollution Degree
- Spin Jump Condition Check
- Reduced parameters to struct pointer + format string + varargs
- Rewrote QFT, Pattern Selector, Customized Display with the new drawText function
- Added PAL font (TODO: NTSC-U)
- Merged P/A/S Display and Speed Display to Customized Display
- Provided background options to Pattern Selector and Customized Display
Added the following options to freeze QFT:
- When Mario holds, throws, puts down an object
- When Mario triple jumps, spin jumps, ledge grabs, wall kicks, bounces, rope jumps
Reworked the existing freezes and added the option to freeze when mounting Yoshi
- Gave the timer a 1 frame headstart to make it more accurate to SGT and IL retiming rules
- Ported the customizable visuals and freeze conditions to the US and PAL versions
Added CAngle
for 'Customized Display' to show camera angle
To make Piantissimo go as fast as he will in a level, you need to beat him with an in-game time under 25 seconds and grab his Shine. Or you could just use this code.
Add NTSC-U version of Instant Restart
- Make PatternSelector shorter and make its appearance customizable (v0.3)
- Render CustomizedDisplay later than water/juice (v0.3)
- Fix FastForward code (wrong button value)
- [QFT v1.2] Fix QFT background when 112*fontSize is not an integer
- Add StageIntroSkip, SpawnYoshi, FastForward, InstantLevelSelect
- Add preview for selected codes (for NTSC-J)
- Add CustomizedDisplay
- Add instructions to create/update codes with configuration in Readme.md
Shoutouts to plankton for touching the Pinna 1 Shine before its spawn cutscene started, in which case the timer would stop around 8 seconds early.
Force coin count to be reset to 0 on restart
- Pattern Selector, Instant Restart, drawText
- QFT, PAS/Speed display with drawText
- Alert message
generatorconfig.alert.gct
when code size > 5000 bytes and download format isGCT
- Alert message
generatorconfig.alert.dolphin
when code size > 3256 bytes (excluding header(00D0) and footer(F000)) and download format isDolphin INI
orCheatManager TXT
.
- Shorten QFT's freeze code by replacing C2 with 04(bl@event) and 07.
- Reserve
817F0348
~817F039B
(84 bytes) - Change freezing config from [duration for each event] to [one duration + toggle for each event]
Reduce 240 bytes of PS by replacing switch case with lookup table.
Codes are getting too big for Nintendont, reverting to a simpler version while we figure out ways to make everything fit.
- Appearance: location, font size, font color, background color (GMSJ01 only)
- Freezing the timer
- Add code info in
Codes.xml
as other code, but you should specify<id>
and available versions with<source version="XXX"></source>
(the code in<source>
will be ignored). - Create directory
site/.vuepress/components/codes/YOUR_CODE_NAME
, and create the following two files (file names are arbitrary):codegen.js
: export default acodegen(version: string): string
function, whereversion
is the game version (e.g.GMSJ01
), and the return value is the gecko code string. The config of the code can be read from localStorage (with key =config/YOUR_CODE_ID
as convention) directly.config.vue
: The vue component of the config UI, which is shown below the<description>
given inCodes.xml
. When the config is changed, store the new config into localStorage (with key =config/YOUR_CODE_ID
as convention).
- Register
codegen.js
insite/.vuepress/components/codes/codegen.js
andconfig.vue
insite/.vuepress/components/codes/ui.js
. Note that the name used in export must match the<id>
of the code.
Restarts the area without pausing.
Add <dependencies>
tag in <code>
(e.g. <dependencies>dep1,dep2,dep3</dependencies>
)
to specify dependencies (separated by ,
if multiple).
The system will find code with id specified with <id>
tag in <code>
(e.g. <id>dep1</id>
)
In addition, to specify dependencies for specific version, add the version
attribute. e.g.
<dependencies version="GMSJ01">dep1,dep4</dependencies>
To prevent internal library being shown on code list,
specify the category as lib
(i.e. <category>lib</category>
).
void drawText(int x, int y, int fontSize, uint32_t colorTop, uint32_t colorBot, const char *fmt, ...);
Reserve 817F0238
to 817F0347
(0x110 bytes) for this function.
Select pattern of Chain Chomp (PV4) and Chain Chomplets (PV1).
This code use drawText
as dependencies.
Use drawText
function to simplify the code.
- Moved speed display codes from misc to metadata display
- Made codes in the category exclusive
Displays a health bar above Shadow Mario.
Fixed a crash when leaving certain levels.
- The timer now freezes upon grabbing blue or red coins.
- The timer now rounds to the frame for end times, entry times and blue coin grabs, as more precision in those cases would be meaningless.
- Revamped reset behavior; this code is now fully compatible with Shine Get Timer, and no longer depends on any loader code.
- The timer now freezes upon hitting a loading zone (similarly to Shine Get Timer) or exiting area.
- Fixed possible overflows when entering a loading zone after staying in the same area for a very long time.
- Adjusted speed to match real time on 30fps. The timer will run slightly faster than real time on 25fps PAL, just as the game itself does.
- Fixed the ability for the timer to eventually roll back to 0:00.000; it will now stop at 99:59.994 (the highest achievable time below 100 minutes).
- Fixed the ability for the timer to eventually resume while waiting on a Shine textbox; it will now keep displaying the end time forever (well, until the next area transition).
Speed Display is a more compact version of Position/angle/speed Display, and Shiny Shines simply makes all Shines yellow whether collected or not.
-
A new timer that aims to circumvent the Shine Get Timer's inconsistencies, and allow timing full levels where SGT would be interrupted by the in-game timer.
The stage randomizer was outdated by the more powerful stage loader. Removing save boxes has little use for practice and is banned for individual level runs, though it is still possible using 'Fast Any%' or the stage loader.
Allows you to save and load your coin counts using the DPad. The mapping uses the same combination as the one for position saves/loads to simplify usage.
Changed C-down + X from Sirena 5 casino to Sirena 4 casino. This shortcut was originally put in place to work around an old practice codes bug, but it now seems more sensible to repurpose it as a quick access to casino skip.
Nothing really ever was broken, you simply need to select the correct encoding for your memory card.
Nozzle Lock is very easy to activate by accident during practice, and its underwater behavior has confused many beginners.
The timer now freezes as soon as you touch a loading zone, allowing you to see your entry time.
When enabling 60Hz mode (PAL) or progressive mode (other versions), the confirmation message would incorrectly reappear on the Dolby logo screen. This is no longer the case.
The previous version would just crash the game on boot. Good job me.
For verification purposes, this code now changes the color of the stripe behind the coin count in the HUD when in Sirena 1.
Enabling this code no longer prevents you from saving through the pause menu.
Memory card encoding is one of the very few differences between the US and Korean versions, using the wrong version of this code will have no effect.
Turns out Nintendont was doing things right all along, but some loaders like Gecko OS don't.
Fixed a crash on NTSC-U when using Remove Dialogue: Always.
You can now use Start instead of Z in any shortcut.
The community widely uses Shine Get Timer now, Shine Touch has become more confusing than actually useful.
Fixes a Nintendont issue with memory card encoding.
Added shortcuts for the Noki 3 bottle (C-down-left + X) and the Red Coin Fish subarea (Y + L).
You can now load different versions of the plaza using Y + C-stick, and the airstrip using X + L. The FLUDD cutscenes on the airstrip no longer reset the timer or accept level shortcuts.
Forces events to happen on certain versions of the plaza.
The code no longer sets the life count to 99, which would persist on save files.
Use FMV Skips instead.
Fixed a buffer overflow which caused a crash upon starting the manta fight, and ported the code to JP 1.1.
Fixed a timing issue which caused a crash when reloading the Sirena 8 hotel with Level Select.
The coin counter is now reset upon entering a main world.
The timer now pauses during load times.
Added a new reset shortcut, Y, which doesn’t reload into the park or the hotel.
Respawns Shines obtained from the bells, the Shine Gate and Shine graffitis.
Improved compatibility with ISO hacks.
The previous update made them start at the wrong time on all versions except PAL.
The box game timer is no longer affected by the timer codes.
Allows to reach the title screen faster upon booting or resetting the game.
Resetting in Pinna 1 can no longer bring up the park owner's dialogue or the Shine spawn, resetting in Sirena 5 no longer loads Sirena 4, episode names fixed when resetting into the park or hotel.
The shortcut for any episode 1 would reset the game and all shortcuts in the Secrets category would load Bianco 3.
Z can now reload main levels that weren't initially entered using Level Select, and Hotel Delfino without letting Mario move earlier than normal. Reloading Casino Delfino with Z is no longer possible unless it was specifically loaded with C-down + X.
Prevents Yoshi from running out of juice and despawning.
Position codes now save camera angle.
'Shine Touch Timer' now starts on the last black frame before taking control of Mario, matching the timing method for IL leaderboards on speedrun.com.
Fixed Pinna 8 always skipping to the Shine after you beat it once.
Fixed a error in the US and PAL codes that caused wrong output on Dolphin and a crash on console.
Not available on JP A for now as it was made using the C kit.
A new variant of the in-game timer, starting on the last black frame before taking control of Mario rather than before the demo.
Added a remote grab code in place of Yoshi/nozzles unlock (X + Up), which exists as standalone codes.
Fixed gpApplication address for US and JP A.
Mashing through cutscenes with B no longer causes the game to reset.
Fixed some repeated/missing segments in the presets and 'Not in Pinna' FMV skips for JP A.
The blue coin counter now increases as normal and gets reset on area transitions.
The code is now able to load the airstrip and any version of the plaza. Added new presets with plaza movement, including 96 Shines and 120 Shines. Added new route endings. Changed the conditional FMV skips option from 'Not in Pinna 1' to 'Not in Pinna', no longer making the Pinna unlock cutscene skippable.
Skipping Yes/No textboxes now acts as a Yes.
Its only noticeable effect was to break the timer codes.
Yoshi still asks for a specific fruit but bringing him another one will open the egg anyway.
Makes FMVs skippable in newly created save files.
Prevents the codes that only need to run once from running every frame.
Use Shine Get/Touch timer instead.
The previous version didn’t reset properly after the first use if the route ending was the title screen, and reloaded the last level upon exiting area in Corona.
You can now select the Gooper Blooper fight from Ricco 1, the rollercoaster ride from Pinna 8, the King Boo fight from Sirena 5, the bottle from Noki 3 and the underwater area from Noki 8.
The timer didn’t reset in Corona.
Previously only available for NTSC-U.
An error in the generator caused it to output malformed codes.
Standalone code and extra feature for X+Up on the DPad Functions.
Standalone equivalent to X+Up on the DPad Functions.
Fixed the injection address.
Exiting area or dying now reloads the current stage instead of moving on.
Added options for what to do after the last level; removed Corona and Bowser from the regular level choices.
Integrated Noki Doki’s Stage Loader into the Generator.
Shortened the code by a few lines.
Makes the correct episode names appear in the demo cutscenes and the pause menu in Fast Any%.
Adds the option to have save boxes removed outside of 'Fast Any%'
Makes it possible to use the Shine Get and Shine Touch timer in combination with Fast Any%
Added additional information based on questions asked on the Discord.
Added JP-A port for all codes.
Added a guide on how to install IOS58.
Added Plaza Yoshi Unlock.
Always enables FMV Skips outside Pinna 1.
Added option to download codes formatted for the Gecko Cheat Manager.
Timers now also allow to time Corona properly, by stopping them when hitting the last platform during the bowser fight.
Fixed 'Free Pause' incompatibility with 'Shine Get Timer' caused by them injecting code in the same address.
Added download button to get the codes formatted for Dolphin.
Same concept as 'Fast Any%'.
Seperated these two codes again since they don't depend on each other.
The Original Ingame Timer has been marked as deprecated. You can still find it on the bottom of the codelist though if you still want to use it. Instead, there are now two other timers:
- Shine Touch Timer: Starts on the last black frame of the loading screen and ends when you touch the shine.
- Shine Get Timer: Starts on the last black frame of the loading screen and ends when the Shine Get animation starts (similiar to the x-cam timer of SM64).
Since the Shine Get timer contained a way better Level Select, the Level Select code has been replaced with the one from the timer. It includes the most recent fixes and also has some maintenance advantages.
- Resets on death.
- Resets when using Shine Select.
- Only uses existing timers for Piantissimo, Sirena/Pianta 6 and Ricco 2 underground.
- Fixed Pinna 8 HUD.
- Can't reset Pinna 8 properly after finishing the rollercoaster. Use the cannon to reenter or reset the game instead.
- Box game timer doesn't work properly.
- Mashing A during loading screens doesn't affect your level selection anymore.
- Pinna game resets have been fixed.
- Level Names in the intro have been fixed (shoutouts to Noki Doki).
- Sirena 5 now loads the right casino.
- Reloading Sirena does no longer respawn you in the Hotel. Reason: You can move earlier than usual if you do that, making it too inaccurate for practice.
- Merged the two codes.
'Free Pause' replaces 'Enable Pause Mid-Air' and 'Enable Exit Area Everywhere'. It now also allows you to pause during cutscenes.
Fixed timer resetting during wrong cutscenes when using 'Exit Area' after touching a Shine.
Allows you to choose 'Exit Area' in the pause menu on Plaza.
New functions have been added to the DPad Functions:
- X+D-Pad left: No FLUDD in secrets
- X+D-Pad right: Always FLUDD in secrets
- X+D-Pad up: Unlock Yoshi in stages
- X+D-Pad down: Defauld FLUDD behaviour for secrets
Allows you to pause mid-air.
Always wear glasses and the shirt.
Fixed the download button not working for Firefox.
-
Loads a random stage after exiting of finishing a level.