Skip to content

Commit

Permalink
Persist pad button remaps across reboots (#1016)
Browse files Browse the repository at this point in the history
  • Loading branch information
Sulfrix authored Feb 2, 2025
1 parent cdf31e8 commit 4d6a293
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 6 deletions.
8 changes: 8 additions & 0 deletions _ark/dx/overshell/dx_controller_states.dta
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,7 @@
}
}
{set_elem {find $syscfg beatmatcher controller joypad slots} 1 {elem $dx_button_list $dx_button_0_array_num}}
{set $dx_joypad_pad_remap_0 {elem $dx_button_list $dx_button_0_array_num}}
}
{set $dx_list_pos 0}
)
Expand All @@ -342,6 +343,7 @@
}
}
{set_elem {find $syscfg beatmatcher controller joypad slots} 3 {elem $dx_button_list $dx_button_1_array_num}}
{set $dx_joypad_pad_remap_1 {elem $dx_button_list $dx_button_1_array_num}}
}
{set $dx_list_pos 1}
)
Expand All @@ -358,6 +360,7 @@
}
}
{set_elem {find $syscfg beatmatcher controller joypad slots} 5 {elem $dx_button_list $dx_button_2_array_num}}
{set $dx_joypad_pad_remap_2 {elem $dx_button_list $dx_button_2_array_num}}
}
{set $dx_list_pos 2}
)
Expand All @@ -374,6 +377,7 @@
}
}
{set_elem {find $syscfg beatmatcher controller joypad slots} 7 {elem $dx_button_list $dx_button_3_array_num}}
{set $dx_joypad_pad_remap_3 {elem $dx_button_list $dx_button_3_array_num}}
}
{set $dx_list_pos 3}
)
Expand All @@ -390,6 +394,7 @@
}
}
{set_elem {find $syscfg beatmatcher controller joypad slots} 9 {elem $dx_button_list $dx_button_4_array_num}}
{set $dx_joypad_pad_remap_4 {elem $dx_button_list $dx_button_4_array_num}}
}
{set $dx_list_pos 4}
)
Expand All @@ -406,6 +411,7 @@
}
}
{set_elem {find $syscfg beatmatcher controller joypad force_mercury} 1 {elem $dx_button_list $dx_button_5_array_num}}
{set $dx_joypad_pad_remap_5 {elem $dx_button_list $dx_button_5_array_num}}
}
{set $dx_list_pos 5}
)
Expand Down Expand Up @@ -529,6 +535,8 @@
}
)
(on_cancel
{if {! $dx_prompt_save}
{dx_settings_dta_writer}}
{$this show_state dxState_ControllerMenu}
)
)
30 changes: 30 additions & 0 deletions _ark/dx/read_write/dx_reader_macros.dta
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,36 @@
{elem {find $entry dx_joypad_pad_mapping} 1}
}
}
{if {== {elem $entry 0} {basename dx_joypad_pad_remap_0}}
{set $dx_joypad_pad_remap_0
{elem {find $entry dx_joypad_pad_remap_0} 1}
}
}
{if {== {elem $entry 0} {basename dx_joypad_pad_remap_1}}
{set $dx_joypad_pad_remap_1
{elem {find $entry dx_joypad_pad_remap_1} 1}
}
}
{if {== {elem $entry 0} {basename dx_joypad_pad_remap_2}}
{set $dx_joypad_pad_remap_2
{elem {find $entry dx_joypad_pad_remap_2} 1}
}
}
{if {== {elem $entry 0} {basename dx_joypad_pad_remap_3}}
{set $dx_joypad_pad_remap_3
{elem {find $entry dx_joypad_pad_remap_3} 1}
}
}
{if {== {elem $entry 0} {basename dx_joypad_pad_remap_4}}
{set $dx_joypad_pad_remap_4
{elem {find $entry dx_joypad_pad_remap_4} 1}
}
}
{if {== {elem $entry 0} {basename dx_joypad_pad_remap_5}}
{set $dx_joypad_pad_remap_5
{elem {find $entry dx_joypad_pad_remap_5} 1}
}
}
{if {== {elem $entry 0} {basename dx_instrument_icons}}
{set $dx_instrument_icons
{elem {find $entry dx_instrument_icons} 1}
Expand Down
6 changes: 6 additions & 0 deletions _ark/dx/read_write/dx_writer_macros.dta
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,12 @@
{dx_setting_saver dx_settings dx_joypad_type_keys $dx_joypad_type_keys}
{dx_setting_saver dx_settings dx_joypad_type_vocals $dx_joypad_type_vocals}
{dx_setting_saver dx_settings dx_joypad_pad_mapping $dx_joypad_pad_mapping}
{dx_setting_saver dx_settings dx_joypad_pad_remap_0 $dx_joypad_pad_remap_0}
{dx_setting_saver dx_settings dx_joypad_pad_remap_1 $dx_joypad_pad_remap_1}
{dx_setting_saver dx_settings dx_joypad_pad_remap_2 $dx_joypad_pad_remap_2}
{dx_setting_saver dx_settings dx_joypad_pad_remap_3 $dx_joypad_pad_remap_3}
{dx_setting_saver dx_settings dx_joypad_pad_remap_4 $dx_joypad_pad_remap_4}
{dx_setting_saver dx_settings dx_joypad_pad_remap_5 $dx_joypad_pad_remap_5}
{dx_setting_saver dx_settings dx_overshell_theme $dx_overshell_theme}
{dx_setting_saver dx_settings dx_player_icons $dx_player_icons}
{dx_setting_saver dx_settings dx_instrument_icons $dx_instrument_icons}
Expand Down
28 changes: 22 additions & 6 deletions _ark/dx/ui/dx_ui_init.dta
Original file line number Diff line number Diff line change
Expand Up @@ -712,6 +712,12 @@ DX_CURRENT_SONG_CLEAR
{set $dx_joypad_type_keys kControllerKeys}
{set $dx_joypad_type_vocals kControllerVocals}
{set $dx_joypad_pad_mapping joypad}
{set $dx_joypad_pad_remap_0 kPad_L2}
{set $dx_joypad_pad_remap_1 kPad_L1}
{set $dx_joypad_pad_remap_2 kPad_R1}
{set $dx_joypad_pad_remap_3 kPad_R2}
{set $dx_joypad_pad_remap_4 kPad_X}
{set $dx_joypad_pad_remap_5 kPad_Select}

;mtv overlay position for event mode
;{if $dx_event_mode
Expand Down Expand Up @@ -944,6 +950,22 @@ DX_CURRENT_SONG_CLEAR

{unless {== $dx_joypad_pad_mapping joypad} {do DX_REMAP_PAD}}

{set_elem {find $syscfg beatmatcher controller joypad slots} 1 $dx_joypad_pad_remap_0}
{set_elem {find $syscfg beatmatcher controller joypad slots} 3 $dx_joypad_pad_remap_1}
{set_elem {find $syscfg beatmatcher controller joypad slots} 5 $dx_joypad_pad_remap_2}
{set_elem {find $syscfg beatmatcher controller joypad slots} 7 $dx_joypad_pad_remap_3}
{set_elem {find $syscfg beatmatcher controller joypad slots} 9 $dx_joypad_pad_remap_4}
{set_elem {find $syscfg beatmatcher controller joypad force_mercury} 1 $dx_joypad_pad_remap_5}

{set $dx_button_0_array_num $dx_joypad_pad_remap_0}
{set $dx_button_1_array_num $dx_joypad_pad_remap_1}
{set $dx_button_2_array_num $dx_joypad_pad_remap_2}
{set $dx_button_3_array_num $dx_joypad_pad_remap_3}
{set $dx_button_4_array_num $dx_joypad_pad_remap_4}
{set $dx_button_5_array_num $dx_joypad_pad_remap_5}



;reset textures and angle if set to rb3
{do {dx_default_texture_var_reset} {dx_track_angle_var_reset}}

Expand All @@ -967,12 +989,6 @@ DX_CURRENT_SONG_CLEAR

{set $dx_last_song_has_tonic FALSE}

{set $dx_button_0_array_num kPad_L2}
{set $dx_button_1_array_num kPad_L1}
{set $dx_button_2_array_num kPad_R1}
{set $dx_button_3_array_num kPad_R2}
{set $dx_button_4_array_num kPad_X}
{set $dx_button_5_array_num kPad_Select}

;force a venue name. found in macros.dta.
;the following is all possible venue names internally
Expand Down

0 comments on commit 4d6a293

Please sign in to comment.