[Keyboard] ; uses a different format than the one used by sokuroll, ; full list of accessible codes accessible at https://handmade.network/forums/articles/t/2823-keyboard_inputs_-_scancodes%252C_raw_input%252C_text_input%252C_key_names ; ; common values ; ; numpad minus: 0x4A ; numpad plus : 0x4E ; ; U: 0x16 ; I: 0x17 ; ; 9=0x0A, ; 0=0x0B, ; ; -/_=0x0C ;=/+ = 0x0D ; decrease_delay_key=0x4A increase_delay_key=0x4E ; the key to switch on/off network staticstics. ; ; In character select scene, (latency[1]) and (preferred max rollbacks) are displayed in bottom. ; ; In battle, statistics are showed as following (left-to-right): ; bottom left: delay, (enemy's delay) ; bottom center: (latency[1]), (rollbacks[2]), (max rollbacks[3]) ; bottom right: FPS ; ; ( ): those enclosed in bracket are controlled by this option and `enable_network_stats_by_default`. ; [1]: half of maximal round-trip time (RTT) of the network in the last second, in milliseconds (ms). ; [2]: the actual maximal rollback value in the last second, in frames. ; [3]: the negotiated maximal rollback value of this battle, in frames. For more information, refer to the comments of `max_rollback_preference` toggle_network_stats=0x09 ; The keys used in character select scene to adjust maximal rollback preference temporarily. For more information, refer to the comments of `max_rollback_preference`. decrease_max_rollback_key=0x0A increase_max_rollback_key=0x0B exit_takeover=0x10 p1_takeover=0x21 p2_takeover=0x22 set_or_retry_takeover=0x13 [Netplay] default_delay=2 ; turn network staticstics on by default. For more information, refer to `toggle_network_stats`. enable_network_stats_by_default=yes enable_auto_delay=yes ; target rollback for auto delay, ; higher value=less delay ; recommend values between 1 and 3 auto_delay_rollback=2 ; Your favorite maximal rollback (in frames), ranged from 0 to 15, which can also be temporarily adjusted in character select scene. ; Roughly, with higher value, the game tends to use more rollbacks and less pauses; with lower value, the game tends to use less rollbacks and more pauses. ; The value used in battle will be automatically negotiated from the settings of both sides, which will be: ; 6, if one of them is less than 6 and the other one is greater than 6, or ; the one nearest to 6, otherwise. ; For example, 2 and 4 result in 4, 8 and 10 result in 8, 4 and 10 result in 6, and 6 and 10 result in 6. ; 6, 8 and 10 are recommended, but feel free to choose an other value if you know what it is and what you are doing. ; ; Some special values: ; 0: prefer no rollback[*] AT ALL. ; 6: default value. ; 8, 10: if your network is sometimes unstable, or you'd like to use low input delay with high latency (even with also high rollbacks), you can consider it. ; 15: highest value you can choose. ; ; [*]: if you refuse to rollback AT ALL, you should: ; 1. get agreement of your opponent, i.e. your opponent sets their preference to 0 too; ; 2. keep your input delay same with or higher than your opponent, referring to the following formula. ; ; WARNING: if the negatiated value as described above become too low/high, you might get too many pauses/rollbacks. ; More exactly, the game will pause when: ; max(your delay, enemy's delay) + negatiated max rollback <=half of round-trip time (RTT) of the network, ; and the actual highest rollbacks on your side will be: ; min(half of RTT, negatiated max rollback + max(your delay, enemy's delay)) - your delay. ; (Negative value means no rollback, and you can decrease your delay by its absolute value without new rollback.) ; ; Notice that when you make computation between delay, rollback (usually in frames) and RTT (usually in milliseconds), you may need to use a uniform unit. ; Conversion between frame and milliseconds (ms): 1 frames=(1000 / FPS) ms, where FPS = 60 or 62, depending on `enable_f62` option. max_rollback_preference=6 ; Make the camera move smoothly when rollbacking. ; If there is no rollback or rollbacks don't lead to any visual difference, whether this option is enabled will not change the graphics. smooth_camera=yes [SmoothCamera] ; TL; DR: The default values of these options may be updated in the future. Uncomment them only if you know what you are doing. ; Higher the value is, smoother but less precise the graphics will be; lower the value is, more precise but less smooth the graphics will be. ; Making them all 0 will result in the graphics rendered as `smooth_camera=no`. Following are details. ; ; This is the configurations of correction of smoothing. Smoothing itself is based on the code to move and scale the camera in vanilla Soku, ; which may be a bit slow with high rollbacks for those bullets moving along the edge of the camera. They should be at the edge of the camera, ; while what are actually displayed might be obviously away from the edge. ; ; To make it less obvious, a kind of "correction" were introduced to speed up it, based on smoothing as mentioned above, but with extra movement ; and scale towards the actual camera with a specific "half life" in frames, which means the time to halve the distance between displayed camera ; and the actual camera if there were not based smoothing but only the "extra" movement and scale. The actual time to halve the distance will be ; shorter than the configured half life, because of the based smoothing. ; ; If `smooth_camera=no`, or there is no rollback, or rollbacks don't lead to any visual difference, these options will not change the graphics. ;decreasing_scale_correction_half_life__=15 ;increasing_scale_correction_half_life__=60 ;x_correction_half_life__=21 ;y_correction_half_life__=21 [FramerateFix] ; spinning is used to "sleep" for sub millisecond intervals. This immensely increases CPU usage, but should improve frame pacing. Especially noticable on 60 hz screens. ; values above 1500 are unlikely to bring much of a positive effect. 0 disables spinning entirely spin_amount=1500 ; sets framerate to 62 FPS, used to play with Chinese players enable_f62=off [Misc] ; $ will be replaced with current giuroll version. Unicode is supported as long as your locale the characters, and % will be replaced with the original game title. ; The default value when loaded by SWRSToys: game_title="Touhou Hisoutensoku (Default Pack) + $" ; The default value when loaded by the loader: ;game_title="% + $" ; Temporary solution to set default character mod as soku2, untill soku2 team can set it themselves soku2_compatibility_mode=yes ; Enable println! which prints logs. `println!` sometimes crashes the game because of the error on printing. enable_println=no ; Enable "check mode" used to check whether rollbacks can cause desync. If this option is on, it can be activated by pressing C when loading a replay in replay mode. enable_check_mode=no ; Warn the player when the game is lagging: ; - show a red block under FPS number (for 2s) when the game cannot complete a frame on time (usually because of low performance). ; - show a yellow block under rollback number (for 2s) when the game is paused to wait for inputs from the opponent (usually because of unstable or too high network latency, too low input delay, too low max rollback, and/or opponent lagging). ; - show a yellow block under network latency number (for 2s) when the game is paused to wait for the confirmation from the opponent. (it is hard to trigger though.) ; Notice that it will be active only if the corresponding number is displayed. warning_when_lagging=yes ; Turn off all extra UIs which are not in the vanilla game. In an other word, visually behave as similarly as possible with the vanilla game. ; The default when loaded by SWRSToys: ;turning_off_all_extra_ui=no ; The default when loaded by the loader: ;turning_off_all_extra_ui=yes [Takeover] default_delay=0 ; Colors are written in "0xAARRGGBB", where the alpha channel (AA) is invalid in fact. progress_bar_outer_color=0xffff0000 progress_bar_inside_color=0xff0000ff progress_bar_progress_color=0xffffff00 takeover_color=0xff00ff00 progress_bar_center_x_p1=224 progress_bar_center_y_p1=428 progress_bar_center_x_p2=416 progress_bar_center_y_p2=428 progress_bar_inside_half_height=7 progress_bar_inside_half_width=58 progress_bar_outer_half_height=9 progress_bar_outer_half_width=60