Eddiedenput
Eddienput (prononcé « edd-input ») est un contrôleur virtuel programmable principalement destiné à améliorer le mode entraînement pour tous les jeux de combat sur PC.
Conditions préalables :
Installez ViGEmBusSetup_x64.msi (fourni avec le programme)
Instructions de construction :
- Remarque : Cette partie est principalement destinée aux développeurs, les utilisateurs peuvent simplement récupérer la dernière version sur la page des versions.
- Cloner le dépôt dans un dossier local
- Installer Python 3.12
- Installer la poésie
-
cd
dans le répertoire racine du dépôt cloné - Exécuter
poetry shell
- Exécutez
./build.bat
Le répertoire distribuable contenant l'exécutable Eddienput doit se trouver sous /dist/Eddienput
Usage:
Le scénario d'utilisation le plus courant serait de définir des lectures/mixages dans un fichier de lectures, de charger le fichier et de le lire. Vous pouvez le faire en suivant ces étapes :
- Démarrez Eddienput.exe avec votre propre contrôleur déjà connecté (un deuxième contrôleur virtuel doit être connecté au démarrage du programme)
- Définissez les playbacks/mixups dans un fichier de playbacks (format txt) selon la syntaxe décrite ci-dessous, enregistrez-le et chargez le fichier de playbacks dans le programme (glisser-déposer)
- Passez maintenant en mode entraînement dans votre jeu et sélectionnez « contrôleur » comme action factice. Si le jeu vous demande d'appuyer sur start sur le contrôleur P2, appuyez sur la touche "home" de votre clavier pour simuler un appui sur start sur le contrôleur virtuel (obligatoire dans certains jeux).
- Vous pouvez maintenant appuyer sur F3 sur votre clavier ou sur un bouton mappé sur votre contrôleur pour lire la lecture en simulant les pressions sur les boutons du contrôleur P2.
Vous pouvez également partager vos fichiers de lectures avec d'autres joueurs de votre communauté afin de partager des combos, des mixups et bien plus encore. Vous pouvez trouver quelques exemples de fichiers de lecture dans le dossier des lectures.
Raccourcis clavier :
- Côté Joueur 1 - F1
- Côté Joueur 2 - F2
- Séquence de lecture - F3 / Personnalisée
- Séquence d'arrêt - F4
- Recharger le script - F5
- Diminuer le nombre de répétitions - F6
- Augmenter le nombre de répétitions - F7
- Basculer le son de début/fin de séquence - F8
- Bouton de lecture de la carte - F9
- Appuyez sur Démarrer sur le contrôleur P2 - Touche Accueil
- Appuyez sur Sélectionner sur le contrôleur P2 - Touche de fin
- Basculer le contrôle manuel P2 (pour le mappage) - Insérer la clé
Les Hoykeys peuvent être supprimés en activant Suppress Hotkeys
dans la fenêtre GUI.
Notation:
- # - Démarrer une ligne de commentaire
- Numéro W - Attendez un certain nombre d'images ( le nombre étant un entier positif)
- X - Appuyez sur X et relâchez l'image suivante
- [ X ] - Maintenez X
- ] X [ - Version X
- Remarque - Pour les directions, si vous souhaitez passer directement d'une direction retenue à une autre direction retenue, ne relâchez pas la direction retenue entre les deux. Par exemple, si vous souhaitez aller du bas vers l'avant, faites simplement
[2] W10 [6]
au lieu de [2] W10 ]2[+[6]
- ** Ce qui précède ne s'applique pas si les directions sont mappées aux touches du clavier (expérimental)
- + - Ajouter une entrée au même cadre
Exemple:
configsgg.json
# <- Indicates this line is a comment and is ignored by the parser
# The assumed game for this example is Guilty Gear XRD Rev2
# The first line (configgg.json) indicates that we use the symbols and mappings defined in that file (that fit Guilty Gear notation)
# In the next line, we tell the dummy to perform a Gunflame (Asumming Sol Badguy is selected as P2), and then wait 60 frames (one second)
2 3 6+P W60
# Now dash forward (tap forward, wait one frame, then hold forward) for 20 frames and then stop (release forward)
6 W1 [6] W20 ]6[
# Now enter IK mode
K+P+S+H
Mélanges :
- Les mélanges se composent de plusieurs options définies par l'utilisateur, dont l'une est choisie au hasard en fonction du poids des options.
- Une ligne composée du mot-clé startmix indique le début d'une définition de mixup
- Les options sont définies avec une ligne composée du mot clé option suivi éventuellement d'un poids (entier non négatif)
- Le poids par défaut d'une option est 1
- Les actions dans les lignes suivant l'option seront effectuées si l'option est choisie
- Fermez la définition de mixup avec une ligne composée du mot-clé endmix
- Les mélanges imbriqués ne sont pas pris en charge
Exemple:
configsgg.json
# Classic Eddie high/low mixup (assuming Guilty Gear Accent Core +R)
# Fixed Mawaru setup (always performed)
2 3 6 H W4 [K] W11 ]K[ W20
# Start defining a mixup (Indentation is optional but recommended for readability)
startmix
# Now one of the following options will be performed:
# 1) dash 6K option (overhead) - 60% to be performed:
option 60
6 W1 [6] W10 K
# 2) dash 5K option (low) - 40% to be performed:
option 40
6 W1 [6] W10 ]6[ W9 K
endmix
# Can now add more actions to be performed after the initial mixup ended (including other mixups)
En boucle :
- Les actions peuvent être répétées plusieurs fois en définissant une boucle
- Une ligne composée du mot-clé startloop suivi du nombre de répétitions (un entier positif) indique le début d'une définition de boucle
- Les actions dans les lignes suivant la définition de la boucle seront répétées selon le nombre de répétitions défini
- Fermez la définition de la boucle avec une ligne composée du mot-clé endloop
- Les mixups définis à l'intérieur d'une boucle doivent être fermés avant de quitter la boucle
- Les boucles peuvent être définies à l'intérieur de mixups tant que le mixup ne se termine pas à l'intérieur de la boucle
- Les boucles imbriquées ne sont pas prises en charge
Exemple:
configssf.json
# The assumed game for this example is Street Fighter 5 with Ken as P2
# Perform heavy tatsu 5 times waiting 180 frames (3 seconds) between each:
# Indentation is optional (recommended for readability)
loop 5
2 1 4+HK W180
endloop
# End with an ex shoryuken
6 2 3+MP+HP
Fichiers de configuration :
Vous pouvez définir des symboles, réaffecter des symboles à d'autres boutons et configurer des macros dans un fichier de configuration JSON (voir configsgg.json pour un exemple).
La première ligne d'un fichier de lecture doit toujours être le chemin (absolu ou relatif) du fichier de configuration à utiliser.
Symboles réservés :
- Numéro W
- +
- démarrer le mix
- option
- mélange final
- [
- ]
- boucle
- boucle de fin
Boutons de contrôleur virtuel pris en charge pour mapper un symbole à :
Cliquez pour agrandir
- "BtnA"
- "BtnB"
- "BtnX"
- "BtnY"
- "BtnÉpauleR"
- "BtnÉpauleL"
- "BtnRetour"
- "BtnDémarrer"
- "DéclencheurR"
- "DéclencheurL"
- { "Dpad": "vers le bas" }
- { "Dpad": "gauche" }
- { "Dpad": "à droite" }
- { "Dpad": "en haut" }
- { "Dpad": "down_left" }
- { "Dpad": "down_right" }
- { "Dpad": "up_left" }
- { "Dpad": "up_right" }
Boutons du clavier virtuel pris en charge pour mapper un symbole (expérimental) :
Cliquez pour agrandir
- 'changement'
- '0'
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- 'un'
- 'b'
- 'c'
- 'd'
- 'e'
- 'f'
- 'g'
- 'h'
- 'je'
- 'j'
- 'k'
- 'je'
- 'je'
- 'n'
- 'o'
- 'p'
- 'q'
- 'r'
- 's'
- 't'
- 'tu'
- 'v'
- 'w'
- 'x'
- 'y'
- 'z'
- 'numpad_enter'
- 'pavé numérique_1'
- 'pavé numérique_2'
- 'pavé numérique_3'
- 'pavé numérique_4'
- 'pavé numérique_5'
- 'pavé numérique_6'
- 'pavé numérique_7'
- 'pavé numérique_8'
- 'pavé numérique_9'
- 'pavé numérique_0'
- '-'
- '+'
- 'gauche'
- 'en haut'
- 'droite'
- 'vers le bas'
- 'espace'
- 'entrer'
Enregistrement:
Le programme peut écouter les entrées du contrôleur et générer des fichiers de lecture Eddienput. Un contrôleur doit être connecté au démarrage du programme pour activer cette fonctionnalité.
L'enregistrement est lancé en appuyant sur F10 sur le clavier. Une fois arrêtées en appuyant sur le bouton de sélection du contrôleur, les entrées enregistrées seront écrites dans un fichier de lecture. Le fichier json de configuration d'enregistrement chargé détermine les symboles vers lesquels chaque bouton sera traduit, qui doivent correspondre aux symboles définis dans le fichier de configuration pour le fichier de lecture généré. Si le fichier de configuration d'enregistrement chargé ne définit pas de mappage entre un bouton et un symbole, ce bouton est ignoré. Voir rec_configs/rec.json
ou rec_configs/rec_bb.json
pour des exemples.
Autres:
Jouer des sons
Exemple:
configsgg.json
# Assuming Guilty Gear Accent Core +R with Eddie as P2, Perform Eddie's reversal super and beep right when a slashback should be inputted
6 3 2 1 4 6+H W63 beep
Pour associer un symbole à un signal audio, dans le fichier de configuration, ajoutez un mappage du symbole à son fichier .wav
respectif (voir configsgg.json
pour un exemple).
Fichier de configuration générale
En plus du fichier de configuration spécifique au plyaback, Eddienput charge également certains paramètres d'un fichier de configuration générale dans son répertoire config.json
lors de son démarrage. Les paramètres pouvant être configurés sont :
-
playback
: Un chemin vers un fichier de lecture à charger au démarrage du programme. -
playback_start_end_sound
: défini sur true
ou false
, définit s'il faut lire un son lorsqu'une lecture commence/termine la lecture. -
hot_reload
: Soit défini sur true
ou false
, définit si le fichier de lecture doit être rechargé automatiquement lors de la lecture. -
side
: Réglez sur P1
ou P2
, définit le côté du lecteur à utiliser au démarrage du programme. -
record_to
: Définissez l’emplacement par défaut vers lequel enregistrer. -
rec_config
: Un chemin vers la configuration par défaut à utiliser pour l'enregistrement.
Problèmes connus :
KOF2002 UM :
- Les entrées sont incohérentes lorsque les symboles sont mappés à un contrôleur virtuel. Ils sont plus cohérents lorsqu'ils sont mappés aux touches du clavier (utilisez
configskof_keyboard.json
)
Noyau d'accentuation de Guilty Gear +R :
- Les touches de mouvement P2 ne sont pas reconnues lorsqu'elles sont mappées aux touches du clavier (utilisez
gg.json
). Si vous êtes claviériste, exécutez deux instances du programme en même temps (ou connectez-en à un vrai contrôleur si vous en avez un) afin que le deuxième contrôleur virtuel soit traité comme celui de P2.
Touhou 7.5 : Suimusou - Pouvoir immatériel et manquant
- Le mappage avec les touches fléchées du clavier ne fonctionne pas. Attribuez les touches de mouvement du jeu pour P2 à d'autres touches (voir configsiamp_keyboard.json)
Mappage du bouton de lecture sur un bouton du contrôleur
- Uniquement pris en charge sur les contrôleurs XInput. Si vous utilisez un pad PS4, une solution possible serait d'utiliser DS4Windows
Entrées incohérentes :
- Il est recommandé de désactiver la prise en charge des contrôleurs Xbox de Steam, car cela introduit des incohérences d'entrée (cela s'applique très probablement aux contrôleurs XInput en général)