Releases: Zephiles/TTYD-Practice-Codes
v4.0
Edit: March 23, 2025: The files in this release were updated to fix possible issues with cache-clearing code.
The majority of the project has been rewritten, mainly to be easier to work with and to have cleaner code in general.
With this update, V3
of the REL Loader
is now required to load this project. The gecko codes for it can be found here, the premade GCI file with the REL Loader
save can be found here, and a GCI file can have the REL Loader
file manually applied to it here.
The following is a list of all of the notable functionality changes with this release:
Generic Changes:
- In the Japanese version, the heap used for battles is now dynamic, similar to how it is in the US/EU versions
- All menus can now be auto-incremented through via the D-Pad directions
- The settings file has been completely reworked, so previous settings files are imcompatible. The internal name for the settings file has been changed, so previous versions will not cause issues.
- If the settings file does not contain any memory watches and/or custom states, then the ones that are currently in memory will not be cleared.
Inventory:
- Added
Swap Items
andMove Item
options - Invalid items will no longer crash, and instead will be displayed with red text. You will be able to delete them using the
Delete
option, or change them via theChange By Id
orChange By Icon
options.
Cheats:
- Added
Lock Partner's HP To Its Max
- Fixed off-by-one errors in
Manage Flags
menu - All of the options in
Disable Certain Sounds
are now saved to the settings. - Renamed
Lock Mario's HP To Max
toLock Mario's HP To Its Max
.
Stats:
- In Mario's portion of the menu, added an option to change the character that Mario currently is. The options are
Mario
Bowser
Peach
andX-Naut
- Added all of the available options for followers in the
Bring Follower Out
option in theFollowers
menu
Settings:
- Removed the
Rename Settings File
option, since previous versions of the settings file are not supported - Updated some of the displayed messages for when a memory card opteration succeeds/fails, and made them last longer on the screen
- Added
Change Window Color
, which handles adjusting the main window color via RGBA format. Additioanlly, all subwindows will use the main window's alpha for its alpha.
Memory:
- Added
Swap Watches
andMove Watch
options - Updated the maximum amount of memory watches to 100
- Memory watches now have a
name
variable, which is now displayed on the first page rather than the watch's value - Memory watches now have a
scale
parameter, which allows resizing them - Memory watches can now have up to a maximum of 20 pointer levels
Battles:
- The page number on the first page will no longer appear unless there are actually entries beyond the first page
Displays:
- All displays now have dynamic positioning, in which the current line will be adjusted when a display is drawn, depending on where it is drawn on the screen
- All displays that draw text can now be manually positioned and scaled (excluding
Star Power Value
, which is tied to the status window) - All displays with generic button inputs for doing things (such as
Jump Storage
, in which pressingY
three times set the flag for it) can now be changed to any button combo - The
Hit Check Visualization
display should now work properly on console - For the
Memory Usage
display, theMap
heap (and theBattle Map
heap inUS
/EU
versions) will now properly display their used memory and chunk counts - The
Memory Usage
display options are now stored in the settings file - Added a simplified display for
Palace Skip
, which only shows thePST
value
Warps:
- Added an
Equip Badges
option to theWarp By Event
menu, which will restore all equipped badges when enabled (note that this will not adjust the total BP/available BP, so the available BP can easily become negative because of this option). IfKeep Inventory
is disabled, thenEquip Badges
will be disabled as well, and you will not be able to enable it unlessKeep Inventory
is enabled. - Fixed the order of the current map/entrance and new map/entrance in the
Warp By Index
menu - Updated the maximum amount of custom states to 25
- Added
Swap States
andMove State
options to theCustom States
menu
v3.0.56
Edit: April 16, 2023: The files in this release were updated to fix various issues with horizontal controls in the menus. This mainly effects the Inventory menu, specifically when navigating through the Standard and Important items.
Edit: March 20, 2023: The files in this release were updated to fix the Cheats menu being broken for some submenus.
Added a display for Jabbi Hive Skip. The first field in this display tells you how well your pause jump was (pressed D-Pad Left first, pressed A first, or pressed both buttons at the same time). FBP is the amount of frames between pressing D-Pad Left and A to do the unspin jump, and FBUP is the amount of frames between the two A presses for closing the menu.
Moved Custom States from the Cheats menu to the Warps menu.
Changed the button to reset the info in the displays Yoshi Skip, Palace Skip, Bridge Skip, and Blimp Ticket Skip from Y to B to not interfere with the Jump Storage display.
Added the Map Heaps to the Memory Usage display.
Fixed the Settings file failing to load depending on how many Custom States are in it.
Fixed the game crashing from a negative value being passed into animPoseMain. When this would occur, an error message will now be displayed, and gthe function will be prevented from running.
v3.0.55
v3.0.54
Edit: May 17, 2022: The files in this release were updated to fix a crash that would occur when warping to a room whose name contains 8 or more characters.
Edit: April 24, 2022: The files in this release were updated to fix several cutscenes from causing heap corruptions just before the second Shadow Queen
fight.
Added a cheat for creating custom states. The things that these keep track of are as follows:
- All of your current standard items, important items, badges (also equipped badges), and stored items
- The current Sequence Position
- The following data for Mario:
- Current HP
- Max HP
- Current FP
- Max FP
- Current SP
- Max SP
- Available BP
- Max BP
- Rank
- Level
- Star Powers
- Star Points
- Coins
- All of the partners' current stats
- Which partner/follower is currently out
- Whether or not Mario is currently in Boat Mode
- The current map and loading zone
Added a display for showing how much Star Power you have, which is displayed under the HUD. If this is enabled, then the Jump Storage display is moved down to avoid overlapping.
Added an option to change Yoshi's name.
Several texts are now right-aligned. These are as follows:
- The values in the Stats menu in Mario's menu (the special moves icons are unchanged).
- The values in the statuses part of the Battles menu.
- The version number on the root of the menu.
- The page numbers on the menus that use it, excluding one instance in the Memory Watches menu where it needs to be left-aligned.
Several texts now have a width limit, in which the text will be shrunk on the X axis if it would exceed this limit. These are as follows:
- The names for items/badges in the Inventory menu
- The values in the Stats menu for Mario
- On-Screen Timer
- Frame Counter
Made a small adjustment to the Memory Editor, in which the numbers above each column of bytes depend on the current address.
Rewrote almost all of the code used for drawing text.
Made various other changes to reduce memory usage.
v3.0.53
Edit: February 10, 2022: The files in this release were updated to not check for drawing the title screen info and file select screen info every frame, which should improve performance slightly.
The internal filename for the settings file has been changed from rel_settings
to Practice Codes Settings
. As such, if you previously had a settings file made, you must change the internal filename to be able to use it with this version of the Practice Codes. To do so, simply enter the Settings menu and select Rename Settings File. Upon doing so, you will need to select Load Settings to manually load the settings for this session, but all future sessions will load the settings file automatically.
Added a cheat for advancing the game one frame at a time. Note that this cheat is still in an experimental state, and some things do not work properly when using it.
Added a cheat for modifying Mario's coordinates.
Added a cheat for disabling background music and environment effects. This has been placed where Disable Pause Menu/Z Menu Sounds used to be, and now handles this functionality inside of it.
The Settings menu now displays confirmation windows before performing any actions.
The Settings menu now has options to rename (as in change the old internal filename to the new internal filename) and delete your current settings file.
Both Memory Watches and the Memory Editor now support the uncached region of memory, which goes from 0xC0000000
to 0xC17FFFFF
.
Adjusted the Generate Lag Spike cheat to work properly when playing the game via Nintendont.
Made small improvements to the Save Anywhere cheat, as well as fixing a possible instance of it not working properly.
(Hopefully) fixed being able to trigger a battle and reload the room via the Reload Room cheat at the same time. This should also fix being able to trigger a battle and warping via the Warps menu at the same time.
Fixed a small bug with pressing B not working correctly for the window used for the Spawn Item cheat.
Improved checking if in a battle for the Battles menu.
The backtrace screen (the screen that is shown when the game crashes) in JP now scrolls like the one in US/PAL.
Made various changes to reduce memory usage.
v3.0.52
The Settings menu now has an option to choose which memory card slot to save/load to/from.
When trying to load/save settings, checks will be done to make sure that the game's vanilla code isn't currently doing memory card stuff, as trying to do other stuff at the same time could break things.
When this project is loaded, the settings file can now be loaded from either memory card slot. If a settings file exists on both memory cards, then the one in slot A will be used.
Made several adjustments/fixes to the memory card code.
v3.0.51
Edit: April 15, 2021: The files in this release were updated to adjust the Enemy Encounter Notifier display to only show its text for 3 seconds instead of 5, as 5 seemed a bit too long for this specific display.
Edit: April 11, 2021: The files in this release were updated to adjust the Enemy Encounter Notifier display, so that non-cutscene battles are always disabled while it is on.
Added a new display for showing when a non-cutscene battle would normally occur upon touching an enemy. The message will be displayed for about 5 seconds, and will reset back to 5 seconds if an enemy is touched again.
Made several other memory-saving adjustments.
v3.0.50
v3.0.49
Edit: August 31, 2020: The files in this release were updated to fix a bug with the Save Anywhere cheat that could potentially cause it to not work correctly.
Added a memory editor to the Memory menu. The controls for it can be found in the User Manual here.
Fixed being able to open the Spawn Item dialog when repositioning memory watches.
Adjusted how custom text is drawn, which should reduce slowdown in most cases where custom text is drawn via this mod.
Made various other modifications for optimization and reduced memory usage.
v3.0.48
Edit: July 26, 2020: The files in this release were updated to fix a crash with the Guard/Superguard Timings display that would occur if the menu was opened to delay the countdown timer for the display, and then the menu was closed when the battle had ended.
The following unused maps can now be warped to via the Warp By Index menu:
- tik_09
- tik_10
- tik_14
- rsh_05_b
- rsh_05_c
- rsh_06_b
- rsh_06_c