Skip to content

Commit f558e7f

Browse files
committed
Initial rumble feature commit
This commit adds a "rumble" option to the gamepad menu. Enabling it will add controller vibration to various parts of the game. Currently these events trigger a vibration, at varying degrees of intensity: - Deaths - Screen shakes - Touching checkpoints or teleporters - Touching gravity lines or gravity tokens - Collecting a trinket Further testing is likely needed. So far I have tested the feature using an 8bitdo SN30 Pro+ controller, in both Xinput and Switch modes. The rumble has different quality in either mode, and mileage may vary between other controllers, which I haven't fully tested.
1 parent 0edbf63 commit f558e7f

File tree

21 files changed

+140
-2
lines changed

21 files changed

+140
-2
lines changed

desktop_version/lang/ca/strings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,16 @@
142142
<string english="bind menu" translation="assigna menú" explanation="menu option"/>
143143
<string english="bind restart" translation="assigna reinici" explanation="menu option. In-game death key to restart at checkpoint"/>
144144
<string english="bind interact" translation="assigna interacció" explanation="menu option"/>
145+
<string english="toggle rumble" translation="" explanation="menu option, controller rumble (vibration) feature"/>
145146
<string english="Flip is bound to: " translation="El gir està assignat a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
146147
<string english="Enter is bound to: " translation="El retorn està assignat a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
147148
<string english="Menu is bound to: " translation="El menú està assignat a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
148149
<string english="Restart is bound to: " translation="El reinici està assignat a: " explanation="in-game death key to restart at checkpoint. Controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
149150
<string english="Interact is bound to: " translation="La interacció està assignada a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
151+
<string english="Rumble" translation="" explanation="title" max="20"/>
152+
<string english="Turn gamepad rumble on or off." translation="" explanation="" max="38*3"/>
153+
<string english="Rumble is ON." translation="" explanation="" max="38*2"/>
154+
<string english="Rumble is OFF." translation="" explanation="" max="38*2"/>
150155
<string english="ERROR: No language files found." translation="ERROR: No s’ha trobat cap fitxer de llengua." explanation="" max="38*3"/>
151156
<string english="Language folder:" translation="Carpeta de llengua:" explanation="" max="39"/>
152157
<string english="Repository language folder:" translation="Carpeta de llengua del repositori:" explanation="Language folder from the Git repository" max="39"/>

desktop_version/lang/de/strings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,16 @@
142142
<string english="bind menu" translation="menü zuweisen" explanation="menu option"/>
143143
<string english="bind restart" translation="neustart zuweisen" explanation="menu option. In-game death key to restart at checkpoint"/>
144144
<string english="bind interact" translation="interagieren zuweisen" explanation="menu option"/>
145+
<string english="toggle rumble" translation="" explanation="menu option, controller rumble (vibration) feature"/>
145146
<string english="Flip is bound to: " translation="Flippen ist belegt mit: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
146147
<string english="Enter is bound to: " translation="Enter ist belegt mit: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
147148
<string english="Menu is bound to: " translation="Menü ist belegt mit: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
148149
<string english="Restart is bound to: " translation="Neustart ist belegt mit: " explanation="in-game death key to restart at checkpoint. Controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
149150
<string english="Interact is bound to: " translation="Interagieren ist belegt mit: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
151+
<string english="Rumble" translation="" explanation="title" max="20"/>
152+
<string english="Turn gamepad rumble on or off." translation="" explanation="" max="38*3"/>
153+
<string english="Rumble is ON." translation="" explanation="" max="38*2"/>
154+
<string english="Rumble is OFF." translation="" explanation="" max="38*2"/>
150155
<string english="ERROR: No language files found." translation="FEHLER: keine Sprachdateien gefunden." explanation="" max="38*3"/>
151156
<string english="Language folder:" translation="Sprachordner:" explanation="" max="39"/>
152157
<string english="Repository language folder:" translation="Repository-Sprachordner:" explanation="Language folder from the Git repository" max="39"/>

desktop_version/lang/en/strings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,16 @@
142142
<string english="bind menu" translation="" explanation="menu option"/>
143143
<string english="bind restart" translation="" explanation="menu option. In-game death key to restart at checkpoint"/>
144144
<string english="bind interact" translation="" explanation="menu option"/>
145+
<string english="toggle rumble" translation="" explanation="menu option, controller rumble (vibration) feature"/>
145146
<string english="Flip is bound to: " translation="" explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
146147
<string english="Enter is bound to: " translation="" explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
147148
<string english="Menu is bound to: " translation="" explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
148149
<string english="Restart is bound to: " translation="" explanation="in-game death key to restart at checkpoint. Controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
149150
<string english="Interact is bound to: " translation="" explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
151+
<string english="Rumble" translation="" explanation="title" max="20"/>
152+
<string english="Turn gamepad rumble on or off." translation="" explanation="" max="38*3"/>
153+
<string english="Rumble is ON." translation="" explanation="" max="38*2"/>
154+
<string english="Rumble is OFF." translation="" explanation="" max="38*2"/>
150155
<string english="ERROR: No language files found." translation="" explanation="" max="38*3"/>
151156
<string english="Language folder:" translation="" explanation="" max="39"/>
152157
<string english="Repository language folder:" translation="" explanation="Language folder from the Git repository" max="39"/>

desktop_version/lang/eo/strings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,16 @@
142142
<string english="bind menu" translation="agordi menubutonon" explanation="menu option"/>
143143
<string english="bind restart" translation="agordi rekomencbutonon" explanation="menu option. In-game death key to restart at checkpoint"/>
144144
<string english="bind interact" translation="agordi interagbutonon" explanation="menu option"/>
145+
<string english="toggle rumble" translation="baskuligi vibradon" explanation="menu option, controller rumble (vibration) feature"/>
145146
<string english="Flip is bound to: " translation="Renversiĝo agordita al: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
146147
<string english="Enter is bound to: " translation="ENTER agordita al: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
147148
<string english="Menu is bound to: " translation="Menuo agordita al: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
148149
<string english="Restart is bound to: " translation="Rekomenco agordita al: " explanation="in-game death key to restart at checkpoint. Controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
149150
<string english="Interact is bound to: " translation="Interago agordita al: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
151+
<string english="Rumble" translation="Vibrado" explanation="title" max="20"/>
152+
<string english="Turn gamepad rumble on or off." translation="Ebligi aŭ malebligi regilan vibradon." explanation="" max="38*3"/>
153+
<string english="Rumble is ON." translation="Vibrado estas ŜALTA." explanation="" max="38*2"/>
154+
<string english="Rumble is OFF." translation="Vibrado estas MALŜALTA." explanation="" max="38*2"/>
150155
<string english="ERROR: No language files found." translation="ERARO: Neniuj lingvodosieroj troviĝis." explanation="" max="38*3"/>
151156
<string english="Language folder:" translation="Lingvodosierujo:" explanation="" max="39"/>
152157
<string english="Repository language folder:" translation="Deponeja lingvodosierujo:" explanation="Language folder from the Git repository" max="39"/>

desktop_version/lang/es/strings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,16 @@
142142
<string english="bind menu" translation="asignar menú" explanation="menu option"/>
143143
<string english="bind restart" translation="asignar reiniciar" explanation="menu option. In-game death key to restart at checkpoint"/>
144144
<string english="bind interact" translation="asignar interactuar" explanation="menu option"/>
145+
<string english="toggle rumble" translation="" explanation="menu option, controller rumble (vibration) feature"/>
145146
<string english="Flip is bound to: " translation="Giro está asignado a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
146147
<string english="Enter is bound to: " translation="Entrar está asignado a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
147148
<string english="Menu is bound to: " translation="Menú está asignado a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
148149
<string english="Restart is bound to: " translation="Reinicio está asignado a: " explanation="in-game death key to restart at checkpoint. Controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
149150
<string english="Interact is bound to: " translation="Interactuar está asignado a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
151+
<string english="Rumble" translation="" explanation="title" max="20"/>
152+
<string english="Turn gamepad rumble on or off." translation="" explanation="" max="38*3"/>
153+
<string english="Rumble is ON." translation="" explanation="" max="38*2"/>
154+
<string english="Rumble is OFF." translation="" explanation="" max="38*2"/>
150155
<string english="ERROR: No language files found." translation="ERROR: No se han detectado archivos de idioma." explanation="" max="38*3"/>
151156
<string english="Language folder:" translation="Carpeta de idioma:" explanation="" max="39"/>
152157
<string english="Repository language folder:" translation="Carpeta de idioma de repositorio:" explanation="Language folder from the Git repository" max="39"/>

desktop_version/lang/fr/strings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,16 @@
142142
<string english="bind menu" translation="lier menu" explanation="menu option"/>
143143
<string english="bind restart" translation="lier recommencer" explanation="menu option. In-game death key to restart at checkpoint"/>
144144
<string english="bind interact" translation="lier interagir" explanation="menu option"/>
145+
<string english="toggle rumble" translation="" explanation="menu option, controller rumble (vibration) feature"/>
145146
<string english="Flip is bound to: " translation="Renverser est lié à : " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
146147
<string english="Enter is bound to: " translation="Entrer est lié à : " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
147148
<string english="Menu is bound to: " translation="Menu est lié à : " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
148149
<string english="Restart is bound to: " translation="Recommencer est lié à : " explanation="in-game death key to restart at checkpoint. Controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
149150
<string english="Interact is bound to: " translation="Interagir est lié à : " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
151+
<string english="Rumble" translation="" explanation="title" max="20"/>
152+
<string english="Turn gamepad rumble on or off." translation="" explanation="" max="38*3"/>
153+
<string english="Rumble is ON." translation="" explanation="" max="38*2"/>
154+
<string english="Rumble is OFF." translation="" explanation="" max="38*2"/>
150155
<string english="ERROR: No language files found." translation="ERREUR : aucun fichier de langue trouvé." explanation="" max="38*3"/>
151156
<string english="Language folder:" translation="Dossier de langue :" explanation="" max="39"/>
152157
<string english="Repository language folder:" translation="Dossier de langue du dépôt :" explanation="Language folder from the Git repository" max="39"/>

desktop_version/lang/it/strings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,16 @@
142142
<string english="bind menu" translation="assegna menu" explanation="menu option"/>
143143
<string english="bind restart" translation="assegna ricomincia" explanation="menu option. In-game death key to restart at checkpoint"/>
144144
<string english="bind interact" translation="assegna interagisci" explanation="menu option"/>
145+
<string english="toggle rumble" translation="" explanation="menu option, controller rumble (vibration) feature"/>
145146
<string english="Flip is bound to: " translation="Capovolgi è assegnato a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
146147
<string english="Enter is bound to: " translation="Invio è assegnato a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
147148
<string english="Menu is bound to: " translation="Menu è assegnato a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
148149
<string english="Restart is bound to: " translation="Ricomincia è assegnato a: " explanation="in-game death key to restart at checkpoint. Controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
149150
<string english="Interact is bound to: " translation="Interagisci è assegnato a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
151+
<string english="Rumble" translation="" explanation="title" max="20"/>
152+
<string english="Turn gamepad rumble on or off." translation="" explanation="" max="38*3"/>
153+
<string english="Rumble is ON." translation="" explanation="" max="38*2"/>
154+
<string english="Rumble is OFF." translation="" explanation="" max="38*2"/>
150155
<string english="ERROR: No language files found." translation="ERRORE: Nessun file di lingua trovato." explanation="" max="38*3"/>
151156
<string english="Language folder:" translation="Cartella lingue:" explanation="" max="39"/>
152157
<string english="Repository language folder:" translation="Cartella repository lingue:" explanation="Language folder from the Git repository" max="39"/>

desktop_version/lang/nl/strings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,16 @@
142142
<string english="bind menu" translation="menu toewijzen" explanation="menu option"/>
143143
<string english="bind restart" translation="herstarten toewijzen" explanation="menu option. In-game death key to restart at checkpoint"/>
144144
<string english="bind interact" translation="interactie toewijzen" explanation="menu option"/>
145+
<string english="toggle rumble" translation="" explanation="menu option, controller rumble (vibration) feature"/>
145146
<string english="Flip is bound to: " translation="Omkeren is toegewezen aan: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
146147
<string english="Enter is bound to: " translation="Enter is toegewezen aan: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
147148
<string english="Menu is bound to: " translation="Menu is toegewezen aan: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
148149
<string english="Restart is bound to: " translation="Herstarten is toegewezen aan: " explanation="in-game death key to restart at checkpoint. Controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
149150
<string english="Interact is bound to: " translation="Interactie is toegewezen aan: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
151+
<string english="Rumble" translation="" explanation="title" max="20"/>
152+
<string english="Turn gamepad rumble on or off." translation="" explanation="" max="38*3"/>
153+
<string english="Rumble is ON." translation="" explanation="" max="38*2"/>
154+
<string english="Rumble is OFF." translation="" explanation="" max="38*2"/>
150155
<string english="ERROR: No language files found." translation="FOUT: Geen taalbestanden gevonden." explanation="" max="38*3"/>
151156
<string english="Language folder:" translation="Talenmap:" explanation="" max="39"/>
152157
<string english="Repository language folder:" translation="Talenmap van repository:" explanation="Language folder from the Git repository" max="39"/>

desktop_version/lang/pt_BR/strings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,16 @@
142142
<string english="bind menu" translation="vincular menu" explanation="menu option"/>
143143
<string english="bind restart" translation="vincular reiniciar" explanation="menu option. In-game death key to restart at checkpoint"/>
144144
<string english="bind interact" translation="vincular interagir" explanation="menu option"/>
145+
<string english="toggle rumble" translation="" explanation="menu option, controller rumble (vibration) feature"/>
145146
<string english="Flip is bound to: " translation="Virar está vinculado a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
146147
<string english="Enter is bound to: " translation="Confirmar está vinculado a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
147148
<string english="Menu is bound to: " translation="Menu está vinculado a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
148149
<string english="Restart is bound to: " translation="Reiniciar está vinculado a: " explanation="in-game death key to restart at checkpoint. Controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
149150
<string english="Interact is bound to: " translation="Interagir está vinculado a: " explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
151+
<string english="Rumble" translation="" explanation="title" max="20"/>
152+
<string english="Turn gamepad rumble on or off." translation="" explanation="" max="38*3"/>
153+
<string english="Rumble is ON." translation="" explanation="" max="38*2"/>
154+
<string english="Rumble is OFF." translation="" explanation="" max="38*2"/>
150155
<string english="ERROR: No language files found." translation="ERRO: Nenhum arquivo de idioma encontrado." explanation="" max="38*3"/>
151156
<string english="Language folder:" translation="Pasta de idioma:" explanation="" max="39"/>
152157
<string english="Repository language folder:" translation="Pasta de idioma do repositório:" explanation="Language folder from the Git repository" max="39"/>

0 commit comments

Comments
 (0)