If you don't like reading my time-wasting nonsense professional hardcore user manual, or if you prefer to explore on your own, here are some important sections. I think it's still better to read them.
That's a good question. This proves you've touched upon the most fundamental and important core concept of this project. So what exactly is it?
Isn't that obvious? The name says it all. No need to ask such simple questions. What? You thought I would actually write the user manual in a serious and formal tone? No, no, no, that's not my style. If I really wanted to write seriously, I might as well let AI help me write it - it would do a better job than me anyway.
Well, after my detailed introduction, I'm sure you already know what this project is for, so let's continue. Actually, I didn't say anything at all
To prevent you from thinking the manual is too long and not wanting to read it, I need to state some important notes upfront.
Note: It is recommended to use the latest public beta of the game for the best compatibility.
Click here to see how to switch
After extracting, besides this manual, you should also see the main folder. Go into it, select all, copy to the directory where your rhythm doctor.exe is located, and paste. That's it. The next time you run the game, the mod will run smoothly.
Before really starting to explain how to use the mod, you need to understand some basic concepts of the native editor. I'm actually not very knowledgeable in this area either, so I'll just briefly summarize. If you don't want to read it, just skip ahead.
There are six tabs in the editor, which can be switched by pressing number keys 1-6 on the main keyboard. They are: 1 Sounds, 2 Rows, 3 Actions, 4 Rooms, 5 Sprites, and 6 Windows. Each tab manages different types of events.
You can think of events as instructions that tell the game what to do and when.
Various actions in a level can be called events. For example, playing music, nurse voice prompts, various effects, dialogues, and various beats.
Rows are equivalent to the "patients" you need to "treat". All beat events occur on rows.
Rooms are used to control screen splitting and layout display, somewhat similar to split-screen. A level can only have four rooms at the same time. Each room can only have a maximum of four rows. In other words, a level can have a maximum of 16 rows.
In the main menu, find Level Editor, this feature is still not compatible with narration., and press enter to enter.
Wait, didn't you say this mod makes it support narration? Well, don't worry about those details.
Anyway, if this is your first time entering, you'll need to agree to a terms of service. Press down arrow to read it, then find agree and press enter. PS: Wait, what does this have to do with "A Dance of Fire and Ice"?
Ahem, let's get back to the topic. When you press enter, you'll definitely notice that the music from level1 suddenly starts playing, but don't panic. This is because the editor loads a simple demo level by default when opening, and the level starts directly mainly because the game's operation keys conflict with the mod's. But it's not a big deal, it only happens occasionally with a few dialogs. You just need to calmly press P, and the level will pause. Or would you rather listen to the song?
After agreeing to the terms, you can try pressing left and right arrows to browse the events in the current tab. However, this demo level only has three events, located in the Sounds, Rows, and Actions tabs. If you can hear the screen reader announce the event name and location, that proves you've successfully entered the editor.
If you can't wait to show off your skills and create a level, please don't rush. Before that, you need to understand the following preparation work:
In any dialog/menu, you can press arrow keys to browse controls, and enter to confirm. Press tab to switch between clickable items. If there are links in the text, you can press the space key to open the link list, use up/down arrows to select a link, and press enter to open it in the browser.
When in the level editor main interface, you can press f10 to open/close the editor's main menu. In this menu, you can create new levels, open levels, publish levels, and other operations. Of course, most of these operations have more convenient shortcuts, see the appendix.
On the editing page, left/right arrow keys switch between events in the current tab, enter jumps to the event's location and plays.
However, there are two exceptions. When you're in the Rows or Sprites tab, you need to first press up/down arrows to switch to a row or sprite, then you can press left/right arrows to browse events. At the same time, you can also press shift+enter to edit rows. Editing sprites is not currently supported.
Press insert or f2 under a tab, and a menu will pop up listing the available event types for the current tab. Use up/down arrows to select, and press enter to create. If you're in the Rows tab, the created event will be placed on the currently selected row by default.
In the Rows or Sprites tab, press ctrl+insert or ctrl+f2 to create a new row or sprite, the operation is the same as creating an event.
Tip: When adding an event, pressing ctrl+enter directly will create the event and automatically open the event editor at the same time.
The mod provides a simple set of shortcuts to adjust the beat position of events. This set of shortcuts, aside from different keys and different adjustment targets, has a lot in common with the edit cursor. As follows:
Note 1: If the selected event doesn't have a beat property, pressing z and x will change to moving forward/backward by 1 bar, and modifier keys are not supported.
Note 2: The above shortcuts are effective for all selected events.
Note 3: If the selected events include both events with beat properties and events without beat properties, they cannot be moved.
There is also a set of shortcuts to quickly adjust some basic properties of events. As follows:
Although the above two sets of shortcuts are convenient, they also have some shortcomings:
Therefore, if you need more precise adjustment, you can press ctrl+enter to open the external editor for editing. For more information about the external editor, please refer to Chapter 6.
Now let me introduce a special shortcut: ctrl+shift+enter. Depending on the type of event you currently have selected, it performs several different actions. They are as follows:
The quick actions above may not be perfect. If you have any ideas for improvement, feel free to give me your feedback.
The grid divides the timeline into equal units at a fixed ratio, helping you align beats more precisely. If you've used a digital audio workstation, this concept should be familiar.
A grid unit is expressed as a fraction 1/x, meaning each beat is divided equally into x parts.
If the above explanation confused you, don't worry — you'll naturally understand it after using it for a while.
Here's how to use it.
Press alt+g in the editor to open the grid settings menu. This menu supports up/down arrow key navigation and number key shortcuts for quick selection. You can also press esc to close the menu or enter to confirm at any time.
The menu contains nine options. The first eight are preset common options that cover most situations. If those aren't enough, the editor also supports a custom grid. Navigate to the custom grid option with up/down arrows or press number key 9, then press enter to apply directly, or ctrl+enter to set a custom grid size. Your custom value is saved until you close the level editor — even if you switch to another grid unit, you can easily switch back.
You might ask: the grid is set up, but how do I use it?
Patience — you'll find out shortly.
To make it more convenient for visually impaired players, the mod introduces the edit cursor feature. The edit cursor is a player-controllable temporary anchor point that doesn't move with playback and can be freely adjusted in position, making it convenient for players to quickly locate when creating events and other scenarios. Below are its shortcut key instructions.
PS: I know some people definitely didn't understand the definition of edit cursor above, but trust me, after reading the shortcut key instructions you should understand... I hope...
In addition to quick jumping, the edit cursor's applicable scope also includes:
Virtual selection is a more flexible selection system than the native editor's, independent of the native editor's selection. Using both selections together can improve efficiency when performing complex event selections. Hopefully this can somewhat compensate for the inability of visually impaired players to use mouse drag selection.
Below are its shortcut key instructions.
The extension menu contains the following operations:
Meananing: Let the editor actually select all events in the virtual selection, so you can batch operate them, such as changing their positions uniformly or deleting them.
Meaning: Add all events currently selected in the editor to the virtual selection, making it easier to create event chains, etc. (see below for details).
The event chain feature allows you to save fixed combinations of events as presets, so when you need to reuse them, you don't have to insert each event one by one — just insert a pre-created event chain and all events will automatically appear in the level. Event chains for each level are stored independently and cannot be used across levels. If your level has custom game mechanics, this feature might be helpful.
Are you wondering why this feature is discussed together with virtual selection? Don't worry, take a look at the usage instructions and you'll understand.
To use this feature, you only need to remember two shortcuts:
When selecting an event chain, you can press left/right arrows to adjust the speed multiplier, which affects the spacing between events after insertion. The default is 1x (the original spacing of the event chain). At 0.5x the spacing will be stretched to twice the original, at 2x it will be compressed to half, and so on.
Note: Event chains are stored in the .RDLEAccess/EventChains folder under the current level directory. If you want to use them in another level, you need to copy them manually. This is for easier organization and management.
If you want certain event(s) to only trigger when specific conditions are met, you can use conditions. The following only covers how to use the conditions system through the mod; for more detailed rules on writing conditions, please search for RDLE tutorials on your own.
Select an event, then press alt+c to open the conditions menu. The following operations are supported in this menu:
Yes, this section is that short. After all, the operations themselves aren't difficult — the tricky part is planning and writing the conditions. So the rest is up to you to find tutorials. This is a mod user manual, not an editor user manual.
As levels grow larger, finding the event you're looking for among a sea of events becomes increasingly difficult. Therefore, the mod provides a feature that quickly matches events based on rules you define.
In the editor, press ctrl+f to open the search dialog, where you can set filtering rules for events. In this menu, press tab/shift+tab to switch between various options, up/down arrows to adjust the value of an option, and enter to attempt matching events that meet the criteria and automatically select them.
Once you've set up your match rules, you can press f3 and shift+f3 at any time to search backward/forward from the edit cursor for events matching the criteria. If you want to change the match rules, simply press ctrl+f again to readjust.
In the editor, you can press shift+main keyboard 0 to toggle tag mode. This is a feature of the native editor itself, but the mod handles it differently from the original. When tag mode is enabled, the mod's behavior changes as follows:
In the dedicated tag editing dialog, in addition to manually entering tags, you can also quickly insert some commonly used tags. Feel free to explore.
Note: Support for tag mode is experimental. I'm not sure if this is necessary, and I hope to hear your feedback.
On the main page, you can press number key 0 on the main keyboard at any time to open the metadata editing page. Here you can edit some basic information about the level.
Because the official inspector panel is quite complex and troublesome to adapt, I simply made a separate external editor. This editor is completely rendered using Windows native UI, so screen readers can operate it very conveniently. It is currently used to edit events, rows, and metadata.
When you select an event or row in the level editor, or press number key 0 on the main keyboard, the helper will launch. It will generate UI based on the object currently being edited, and you can directly use the screen reader to navigate between properties. After editing is complete, just click the OK button to apply it to the game. If you want to abandon the edit, just press esc or click the Cancel button.
Additionally, if the focus is on a sound list, you can press the space key to play the currently selected sound effect.
During editing, if the helper freezes or fails to launch for any reason and you cannot perform any operations, you can quickly press esc five times in the game to force terminate it. Note: Do not do this if the helper is working normally, or all changes you made in the helper will be lost.
This mod still has many features waiting to be improved. The following lists currently known issues and limitations. The issues in the list will be attempted to be resolved one by one in future versions.
But then again, I hope the official version will support accessibility soon, so this mod won't need to keep updating.
If you have the Steam version of the game, follow these steps:
You can find ways to contact me in 9.3 Contact Information.
First, please describe your problem and steps to reproduce it in detail. Also, it's best to attach the logs from when the problem occurred.
How to view logs:
[Logging.Console] and set Enabled = true.Enabled = false.Please make sure your execution steps are: enter the main folder, select all and copy, paste in the game's main program directory, rather than directly copying the entire main folder over.
If you're just randomly trying to open it by pressing enter, it's perfectly normal that it won't open; if you can't open it when you want to edit an event in the game, and there's an error dialog, please download .NET Framework 4.8 and try installing it.
This is a low-probability event, and I'm not sure what the problem is. This is why I mentioned earlier about developing the good habit of saving frequently. If you have this habit, then you're lucky; if not...
After my testing, this seems to be a problem with the game itself? Because I tried the same operation without running the mod, and the problem can still be reproduced. You can only press alt+f4, then save or discard, exit the game and re-enter to solve it. But this is much better than the previous situation, isn't it?
Note: This only lists some commonly used shortcuts, not a complete list. If you want to see a more complete one, it's better to look for official documentation.
| Shortcut | Function | Notes |
|---|---|---|
| ctrl+n | New level | None |
| ctrl+o | Open level | None |
| ctrl+shift+o | Open last edited level | None |
| ctrl+u | Open URL | None |
| ctrl+s | Save | None |
| ctrl+shift+s | Save as | Strange, why doesn't it work for me? |
| ctrl+shift+r | Run current level as standalone | None |
| ctrl+shift+p | Export for publishing | None |
| alt+s | Level editor settings | None |
| alt+q | Exit | None |
| ctrl+z | Undo | None |
| ctrl+shift+z/ctrl+y | Redo | None |
| ctrl+x | Cut | None |
| ctrl+c | Copy | None |
| ctrl+v | Paste | The original game behavior is to paste at the center of the view, the mod changes it to paste at the edit cursor. |
| ctrl+b/ctrl+shift+v | Paste to next bar | None |
| ctrl+d | Clone selected event | None |
| a | Toggle auto mode | None |
| f | Toggle fullscreen | In fullscreen mode, the timeline is hidden, mainly used for previewing levels. In this state, the edit cursor may not work as expected. |
| m | Toggle metronome | None |
| p | Play/Pause | None |
| delete/backspace | Delete selected event | None |
| Number keys 1-6 | Switch between six different tabs | None |
| ctrl+Number keys 1-4 | Switch to different rooms | If currently in another tab, will automatically switch to the Rows tab. |
| home | Return to level start | None |
| pageup/pagedown | Rewind/Fast forward? | I personally don't find it very useful. |
| shift+home | Select all events before the currently selected event in the current tab (or row) | I know this is a bit convoluted. |
| shift+end | Select all events after the currently selected event in the current tab (or row) | I also know this is convoluted too. |
| ctrl+shift+home | Select all events before the currently selected event | This is much better. |
| ctrl+shift+end | Select all events after the currently selected event | This too. |
| shift+0 | Toggle tag mode | See 5.4 Tag Mode for details. The mod currently has limited support for tag mode. When in this mode, while using arrow keys to browse events, the mod no longer announces event positions, but instead announces event tags. |
| esc | Exit Full Screen/Deselect | None |
| Shortcut | Function | Notes |
|---|---|---|
| Up/Down arrows | Browse between menu items | None |
| enter | Activate selected item | None |
| space | Open link | None |
| Shortcut | Function | Notes |
|---|---|---|
| f10 | Open/close editor main menu | None |
| ` (backtick) | Toggle single/two-player mode | This is only for testing how the level behaves in different modes; it does not change level data. |
| Left/Right arrows | Browse events in current tab (or row) | None |
| Up/Down arrows | Switch rows/sprites in Rows/Sprites tab | None |
| enter | Jump to selected event's position and start playing | None |
| alt+g | Open grid settings menu | See 4.5 Grid System for details. |
| ctrl+f | Open search dialog | See 5.3 Event Search for details. |
| f3/shift+f3 | Search backward/forward from edit cursor for events matching search rules | None |
| Shortcut | Function | Notes |
|---|---|---|
| ctrl+enter | Open helper to edit event | None |
| ctrl+shift+enter | Execute quick action for the corresponding event | See 4.4.4 Quick Actions for details. |
| shift+enter | Open helper to edit row | None |
| Number key 0 | Open helper to edit metadata | None |
| insert or f2 | Insert event at edit cursor | None |
| ctrl+insert or ctrl+f2 | Add row/sprite to room (only valid in Rows/Sprites tab) | None |
| z/x | Move selected event forward/backward by 1 grid unit (or 1 bar) | Add shift for 0.1 beat, add alt for 0.01 beat, add shift and alt for 1 bar. See 4.4.1 Moving Events for details. |
| c | Snap event to nearest grid | None |
| e/shift+e | Switch target property to adjust | See 4.4.2 Editing Event Properties for details. |
| r/t | Adjust property value | Supports modifier keys, see 4.4.2 Editing Event Properties for details. |
| alt+c | Open the conditions menu for the selected event | See 5.2 Conditions System for details. |
| Shortcut | Function | Notes |
|---|---|---|
| / (slash) | Move edit cursor to playhead position | None |
| shift+/ | Announce edit cursor's current position | None |
| ctrl+/ | Snap edit cursor to nearest grid | None |
| ctrl+shift+/ | Open edit cursor jump dialog | None |
| alt+/ | Jump to edit cursor's position and start playing | None |
| , (comma) and . (period) | Move edit cursor forward/backward by 1 grid unit | Add shift for 0.1 beat, add alt for 0.01 beat, add shift and alt for 1 bar. |
| Shortcut | Function | Notes |
|---|---|---|
| shift+space | Add/remove currently selected event to/from virtual selection | None |
| ctrl+shift+space | Clear virtual selection | None |
| - (minus)/= (equals) | Browse events in virtual selection | Add shift to quickly jump to the first/last item. |
| ctrl+shift+x | Cut all events in virtual selection | None |
| ctrl+shift+c | Copy all events in virtual selection | None |
| ctrl+alt+space | Open virtual selection extension menu | None |
| ctrl+; (semicolon) | Save all events in virtual selection as an event chain | None |
| ; | Insert an event chain at the current edit cursor position | None |
Email: huangzitong94@gmail.com
QQ: 1528344627
If this mod has been helpful to you and you'd like to support my development work, in addition to recommending it to more people, you can also consider giving me some financial support. Please note that sponsorship here is directed to me personally and has nothing to do with 7th Beat Games.
Since this project uses AI assistance, I need to continuously invest funds to purchase AI API credits during development. If accumulated over time, the total cost of developing this mod will become increasingly high. Therefore, all sponsorship funds will be used entirely to purchase AI model usage credits to ease my financial pressure.
Sponsorship is entirely voluntary. Whether or not you sponsor, it will not affect your full use of any features in this mod, and I will not treat you differently in terms of issue reporting or future maintenance.
Note: Due to geographic limitations, I can only accept sponsorships via WeChat Pay and Alipay. If you cannot use these two platforms, please feel free to ignore this section.

