Dune CD
Réduire
X
-
Bonjour et félicitations pour votre travail.
Je vais le tester dès que possible sur ma machine d'époque.
Je vous ferais un retour.
-
-
Il ne reste plus que les dossiers PK à PZ à corriger (5 sur 12, sachant que certains sont très courts).
Vive le spectrogramme d'Audacity pour repérer/corriger les clics les plus retors.
Les voix de Chani et de Harah sont notamment clairement de meilleure qualité désormais, sans les clics, pop, et le souffle.
Laisser un commentaire:
-
En outils de reversing gratuits sinon, j'ai vite tâté Reko et GHIDRA, mais rien de plus. Et ce serait encore plus compliqué que de "juste" déboguer le jeu avec DOSBox Debug et la "RBIL" : http://www.cs.cmu.edu/~ralf/files.html
Laisser un commentaire:
-
Merci.
Je suis à la moitié du dossier PF. Le plus long sera PO avec toutes ses variantes de voix pour les tribus.
Pour autant que je sache, la balance du son est sauvegardé dans la partie. Par défaut elle est un peu bizarre c'est vrai.
J'ai déjà modifié des jeux DOS avec la variante Debugger de DOSBox, mais c'était 1.dur 2. des petits NOPs au final (heureusement rien de plus compliqué !)
Sur VOGONS, j'ai vu une variante de DOSBox avec son debugger et des savestates. Sauf que je ne retrouve pas le lien. Peut-être que j'ai rêvé. Toujours pas de modification directement depuis DOSBox (comme dans OllyDbg), ce qui est le plus chiant.
Il y aussi un vieux patch pour le rendre compatible avec GDB : https://www.vogons.org/viewtopic.php?f=41&t=30538 mais pas à jour.
Peut-être que c'est mieux dans DOSBox-X (un soft fork avec comme objectifs d'émuler plus précisément DOS et Windows 9X), ou dosbox-staging (un hard fork). Mais j'en doute.
Edit: voici le petit programme pour automatiser audacirtty pour la V2. (C# 8 / .netcoreapp3.1).
(bon, le forum casse toute l'indentation quoi que je fasse...)Code:using System; using System.Collections.Generic; using System.Linq; using System.Diagnostics; using System.IO; using System.Threading.Tasks; namespace Clicks { class Program { const string ADUACITY_PATH = @"C:\Program Files (x86)\Audacity\audacity.exe"; const string OUTSIDE_VARIANT_KEY = "O"; const string OUTSIDE_VARIANT_KEY_B = "OB"; private static readonly string[] dirs = new string[]{"PF","PG","PH","PI","PJ","PK","PL","PM","PN","PO","PZ"}; static async Task Main() { var openedFiles = new List(); Environment.CurrentDirectory = Path.Combine(Environment.CurrentDirectory, "DuneFrenchVoicesFinal"); for(int subFolderIndex = 0; subFolderIndex < dirs.Length; subFolderIndex++) { foreach(var line in Directory.GetFiles(Path.Combine(Environment.CurrentDirectory, dirs[subFolderIndex]))) { var programInfo = new ProcessStartInfo() { UseShellExecute = true, FileName = ADUACITY_PATH }; var argument = Path.Combine(Environment.CurrentDirectory, dirs[subFolderIndex], line); var filenameWithoutExtension = Path.GetFileNameWithoutExtension(line); var end = filenameWithoutExtension.Length - OUTSIDE_VARIANT_KEY.Length; var otherEnd = filenameWithoutExtension.Length - OUTSIDE_VARIANT_KEY_B.Length; var outsideVariantFile = Path.Combine( Environment.CurrentDirectory, dirs[subFolderIndex], $"{filenameWithoutExtension[0..end]}{OUTSIDE_VARIANT_KEY}{Path.GetExtension(line)}"); if(filenameWithoutExtension.EndsWith("B", StringComparison.InvariantCultureIgnoreCase) || File.Exists(outsideVariantFile) == false) { outsideVariantFile = Path.Combine( Environment.CurrentDirectory, dirs[subFolderIndex], $"{filenameWithoutExtension[0..otherEnd]}{OUTSIDE_VARIANT_KEY_B}{Path.GetExtension(line)}"); } if(File.Exists(argument) && openedFiles.Contains(Path.GetFileName(argument)) == false && argument.Contains(outsideVariantFile, StringComparison.InvariantCultureIgnoreCase) == false) { programInfo.Arguments = argument; openedFiles.Add(Path.GetFileName(argument)); await StartAndWaitAsync(programInfo); if(argument != outsideVariantFile && File.Exists(argument) && File.Exists(outsideVariantFile)) { File.Copy(argument, outsideVariantFile, true); openedFiles.Add(Path.GetFileName(outsideVariantFile)); } } } } Console.WriteLine("finished!"); } static async Task StartAndWaitAsync(ProcessStartInfo processStartInfo) { var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true }; process.Start(); while(process.HasExited == false) { await Task.Delay(100).ConfigureAwait(false); } } } }
Laisser un commentaire:
-
Parfait, très bon travail The Uploader , dès que tous les dossiers sont traités en V2 je ferai une nouvelle version pour que nous puissions tous tester.Envoyé par The Uploader Voir le messageBon en fait tous les clics n'avaient pas disparu.
Je suis parti pour réécouter et corriger TOUS les clics de TOUS les fichiers.
Et aussi les sons en arrière-plan / souffle "VHS" quand c'est possible (pas recouvert par une voix ou un effet)
Status global V2 :
- Normalisation faite
- Clics corrigés à 99%, mais je refais une passe partout (sans l'index clicks.txt, pas 100% complet)
- Correction du souffle en même temps (quand je peux l'enlever sans rien perdre)
Dossiers entièrements corrigés :
- PA
- PB
- PC
- PD
- PE
Dossiers partiellement corrigés :
- Tout le reste
Dossiers normalisés :
- Tous
TODO : (en dernier)
- Réverbération
Tout est sur le Google Drive.
/dodo
Je referai ensuite plus tard, une version ensuite qui intégrera les réverbération
.
Petite question, il serai possible de régler automatiquement la balance du son ? Je sais pas si d'origine le jeu écris un fichier pour enregistrer ça.
Sinon je regarderai le code assembleur du jeu à l'avenir pour voir si on peut ajuster ça. Mais c'est beaucoup plus dur de débugger un jeu DOS qu'un jeu Windows.Dernière modification par Tgames, 13 mai 2020, 12h31.
Laisser un commentaire:
-
Bon en fait tous les clics n'avaient pas disparu.
Je suis parti pour réécouter et corriger TOUS les clics de TOUS les fichiers.
Et aussi les sons en arrière-plan / souffle "VHS" quand c'est possible (pas recouvert par une voix ou un effet)
Status global V2 :
- Normalisation faite
- Clics corrigés à 99%, mais je refais une passe partout (sans l'index clicks.txt, pas 100% complet)
- Correction du souffle en même temps (quand je peux l'enlever sans rien perdre)
Dossiers entièrements corrigés :
- PA
- PB
- PC
- PD
- PE
Dossiers partiellement corrigés :
- Tout le reste
Dossiers normalisés :
- Tous
TODO : (en dernier)
- Réverbération
Tout est sur le Google Drive.
/dodo
Laisser un commentaire:
-
Statut V2
--------------
- Clics : terminé.
- Bruits de fond : en partie enlevé. En partie car c'est souvent chaud de pas enlever une partie à garder.
- Normalisation[ terminé. À l'aide de plusieurs passes de l'outil normalize-audio en ayant d'abord temporairement mis tous les fichiers dans un seul dossier. J'ai jamais compris pourquoi il fallait plusieurs passes, mais au bout d'un moment à force de faire "normalize *.WAV" idit "not adjusting..." pour TOUS les fichiers.
À suivre :
--------------
- Réverbération
Laisser un commentaire:
-
Dommage que dans les 10 premières minutes, kann lustch soit assez imbuvable à écouter. Il est meilleur à l'écris qu'à l'oral.Envoyé par The Uploader Voir le messageEt la première partie est sur YT :
Dommage aussi qu'il ne vous cite pas en parlant juste d'un mod.
Laisser un commentaire:
-
Statut V2
----------------
- Réparation des clics : il ne reste plus que les dossiers PO et PZ.
Laisser un commentaire:
-
Pour ceux que ça intéresse encore, Kahn Lust continue son stream de Dune CD avec le patch VF.
Ce sera ce vendredi (le 8 mai donc) de 12h à 14h sur la chaine Twitch de Canard PC.
👍 1Laisser un commentaire:
-
Merci pour chacune de tes explications.
C'est un projet supers, il y à tout de même 5 123 vues !
Ca m'a donné des idées pour des projets du coup.
Je ne savais pas pour cette nouvelle série de DUNE !
Bon courage pour la suite et vivement le patch final
Laisser un commentaire:
Laisser un commentaire: