Here is where I will dump patches and other miscellaneous stuff for Rez – the 2001 musical rail shooter.
These are for and have only been tested on the European Dreamcast release of the game.
To effectively use this cheat code, you will need an emulator such as Flycast to overclock the CPU by 100MHz, otherwise the game or emulator can lag, slow down, or activate sort of frameskip back down to 30 FPS.
020d06e4 e401d105 020d06e8 2142000b
The game can run at 60 FPS, it is this way in the menus and in the "how to play" demo. It just isn't this way in-game because the original hardware can't handle it stably.
The way this patch works is it patches the function each level module calls to change the "frame stabilizer" interval to make it always set it to 1 – the value for 60 FPS (whereas 2 is 30 FPS) – regardless of what the callee specified.
All other resources I saw only told you how to activate it with DEmul and Cheat Engine, and didn't provide any cheat code.
(I forget if using this touches your game save or not, so to be safe make a copy of the one you properly play with before using this.)
To use this, insert a keyboard into port D and a mouse into port B. Alternatively, you can use a controller in port B instead.
Interestingly, Rez Infinite still has support for Gindows — the windowing system used for debugging in the original Dreamcast release — albeit not in a usable state due to input not working and it seemingly not being available in the new menu UIs.
With my copy of the game (SHA1 of REZ.exe: bad86a0271e5015445bcf32bf2c37845e3370a7b. Dated around May 2023), the byte the debug enablement bit flag is in is located at the address
140583EF9. If you change it to a value such as
C5 while on the intro where you see Eden or you're in-game, you should be able to see the Gindows cursor in the top left for a short period until it fades out. However, due to lack of functioning input code there's nothing else you can do.
If you somehow manage to interact with it, please let me know. I may revisit this in the future.
As of writing, Rez Infinite on Wine has issues with its audio, mainly with it being desynced (that being most noticeable during level transitions). Alleviating these issues turns out to be quite a simple job to do.
- Download the June 2010 DirectX Redist and then extract it to a folder of your choice. There should then be a whole bunch of different CAB files.
- Extract "Feb2010_X3DAudio_x64.cab" and "Jun2010_XAudio_x64.cab".
Copy over the following DLLs from the CABs just extracted to "C:/Windows/system32" inside the Wine prefix (usually located at ~/.wine).
winecfg, go to the Libraries tab and in the "New override for library:" combo box, enter and add each DLL mentioned in the list earlier without the ".dll" suffix. Click "Apply" on the winecfg window once finished.
- Launch the game. The game should start and now have no noticeable audio desyncs in-game. If the game doesn't start at all and remains on a black screen, try forcing Microsoft DirectX 11 instead of DXVK.
If you're using Proton, Wine prefixes for each game are located in the compatdata folder inside your steamapps folder. DLL overrides can be done by putting a
WINEDLLOVERRIDES parameter inside the launch parameters within Steam. Instructions for this are not included as reports on ProtonDB as of the time of writing show no issues, implying they fix this automatically anyway.
The Dreamcast release of the game has incomplete/partial mouse support. It only works if the mouse is inserted into port A. (Saving should still be possible as the game scans all ports for controllers with a VMU.)
|Left click||A (Shoot)|
|Right click||B (Overdrive)|
|Middle click||Start (Pause, skip intro)|
|Scroll wheel||Up/down (Menu)|
Certain parts of the UI such as the refresh rate selector when you start the game and the dialogs that show throughout do not fully work with this as you cannot properly select an option. As such, you may have to keep switching between a controller and a mouse.
Mouse movement in-game unfortunately isn't very good to use. Movement is slow and wonky and it isn't a very enjoyable experience.
(To grab your mouse in Flycast, press Left Ctrl and Left Alt simultaneously.)
Should a patch be made in the future, the enhancements made would be as follows:
- Faster and more accurate mouse movement
- Fully support all menus
- Use vibration/jump/puru puru pack of all controllers (as currently you can't get vibrations at all)
The addresses listed here are according to the European release. These may help and provide a head start if you wish to tinker with this.
||Function||Controller/mouse input thing||
Checks current input type and processes inputs accordingly.
For the mouse, it also does some calculations from the mouse X and Y scale.
||Float||Mouse X scale|
||Float||Mouse Y scale|
||Integer||Current input type||
1 = Controller
Much other input data is stored in around this area.