|
Citation:
Sinon à vue de nez, si c'est le cas, je pense que j'aurais utilisés des MemoryStreams, c'est un flux ideal pour ce genre de choses. |
Oui, je peux connaître sans problème la longueur de chaque chose à être copié.
Si tu regardes dans le fichier 0008.csv ou 0008_v2.csv que j'ai mis en ligne, tu peux voir la colonne «EXTD Length» et «CLIP Length». C'est la longueur de chaque section à copier pour chaque sous-titre. |
Citation:
Je pense qu'une bonne solution serait de faire un tableau dynamique (TList) de TMemoryStreams, ou t'aurais un MemoryStream par "ligne" (du CSV). |
Citation:
Citation:
|
Un TStringsList est une classe descendente d'une TList, autrement dit une TList s'utilise pareil simplement qu'à la place d'ajouter des strings tu peux ajouter n'importe quoi.
En gros tu pourrais faire : Code:
var |
Au fait si ça interesse au projet...j'ai download des fichiers de traductions pour Shenmue 1 mais en Espagnol :D ,c'est pour la dremcast...
|
Merci pour l'exemple SiZiOUS !
Citation:
|
Salut ,
Apparemment chankast ne fonctionne qu’avec des iso autobootable ! Je cherche donc a créer une image disque montable par deamon tool sans avoir a graver un CD-R , car j’estime que downsampler un jeu tel que Shenmue 2 est un crime ! Quel outil puis-je utiliser ? ( mkisofs ne permet pas de créer un ISO multisession mixant Données et track audio ) |
Citation:
Si tu veux tu peux même faire une classe TSRFFile ou un truc comme ça, ou dedant en private tu aurais une TList générale ou chaque élément pourrait pointer sur un record (une struct). Dans ce record tu pourrais mettre le TMemoryStream que je te disais (avec tes trucs fixes), tes valeurs et tes TStringsList pour les sous-titres... Genre : Code:
type Si je peux t'aider encore pour quelque chose n'hésites pas. ;) Citation:
|
hey ! Sizious
c'est toi qui a ecrit le programe ipinj.exe et cdi4dc.exe ? pour cdi4dc peut on lui passer des track audio ( au format raw ou wav ) en plus de l'iso ? si non puis je avoir le code sources ( ah non tu dev en pascal :grr: ) et plus important as tu deja reussi a creer une image autobootable de Shenmue 2 ( ou d'un autre jeux utilisant des pistes audio ) et le faire passer dans Chankast |
Citation:
Citation:
Citation:
Mais exception, cdi4dc est bien écrit en C. Je l'ai même porté sous Unix. Je l'ai fait parce que lib_edc est écrite en C... et puis je me suis dit autant faire tout en C (bien que j'aurais pu compiler lib_edc et importer tout ça vers Delphi mais bon...). Citation:
T'es sur que Shenmue contient des tracks audios (si oui combien) ? Y'a pas qu'une piste de données ? Si y'a des tracks audio cdi4dc ne peut rien faire, ou sinon tu peux utiliser la technique ECHELON. |
Shenmue 2 contient 2 minuscule track audio de 8 seconde lol je pense que c'est des samples jouer juste avant le menu
ton programme cdi4dc rajoute bien une track audio avant la track de donnée ! non ? bon je vais mater cette lib_edc ! c'est une lib pour ecrire une image cdi ? bon je crois que je suis un peu hors sujet! Manic je vient tous juste d'extraire le fichier 0008.AFS avec l'utilitaire afs_extract j'ai obtenus 481 fichier adx. il semblerai que seul le dernier est un fichier de sous-titre et il semble identique a celui que tu as mis en ligne edit 1 : la regle de la secteurisation sur 2048 octets s'applique egalement sur le fichier dreamcast et par rapport a la version XBOX il manque le morceau EXTD |
Dans les afs de Shenmue 2, le dernier fichier dans l'archive est généralement le fichier contenant les sous-titres.
Mais une chose: il n'y a généralement pas de adx dans les afs, du moins pas dans ses afs là. La plupart du temps c'est des ahx. Je penses que ton extracteur d'AFS ne supporte pas les noms de fichiers et renomme tout en adx. |
Citation:
Citation:
Citation:
Citation:
Edit : Citation:
|
Citation:
il semblerait que les nom de fichier soit noter a la fin du fichier AFS ( c'est vraiment pas pratique ca !) ben si un jour tu compte rendre disponible ton extracteur ... je suis preneur |
Citation:
intéressé par les specification du format CDI ou autre supportant le multisession |
Citation:
|
Citation:
|
merci !
tu peut m'envoyer ca a l'adresse la.cible|AT|free.fr ! je suis egalement intérrssé par les sources ! si c'est pas trop te demmander ... sinon je vient de lancer le RIP de shenmue 1 |
Citation:
|
Citation:
Edit : ARF... J'avais oublié que Chankast émule parfaitement la DC donc je suis pas sur qu'il arrive à lire les images de plus de 700MB... quoique ! Faut essayer. |
Citation:
Edit: ce programme ne fonctionne pas avec les afs de Shenmue 1 malheureusement, d'après ce que j'ai testé. faudra revoir la structure du fichier pour l'adapter. |
Citation:
|
Arg, j'ai des problèmes avec les TMemoryStream là...
En fait, je dois copier une partie de mon TFileStream (mon srf) vers le TMemoryStream. Le problème: ça ne fonctionne pas. J'ai des erreurs de types incompatibles entre «TStream» et «TFileStream» ou entre «AStream» et «TMemoryStream». À noter que j'utilises une unité du composant Fundamentals (http://fundementals.sourceforge.net) qui modifie TFileStream en y ajoutant des fonctions. Alors je ne sais pas si le problème peut venir de ça. |
Citation:
Citation:
Bon vais m'coucher Manic, bonne chance et à plus tard. :hello: |
Avec ton exemple ça devrait être bon. J'avoue que ça aurait été plus simple pour moi de passer par un «array of Byte» dès le début.
|
Juste un post pour vous encourager les gars !! :bnc:
Je pige qu'un mot sur 30 mais je crois comprendre que ça avance alors je salue votre boulot et votre investissement dans le projet. |
Citation:
Citation:
|
Citation:
|
Citation:
bien évidemment cet image ne fonctionne pas sous chankast
et pour ton outils cdi4dc je pense qu'il est intéressant, même pour le homebrew, de pouvoir rajouter des tracks audio ! |
Citation:
Citation:
Citation:
|
+1. Moi non plus je comprends pas grand chose à vos explications mais je susi content que le projet reprenne de l'ampleur. Ce serait dommage d'arrêter. Toute unecommunauté l'attends avec impatience (y a qu'a voir les sujets sur d'autres forums)
Merci à vous ren tout les cas et bonne chance ! :jap: |
Arg, je déteste profondément les TList... comment je suis supposer récupérer mon MemoryStream une fois dans ma liste?
Je suis complètement perdu. Edit: ok, c'est bon maintenant, ça devrait fonctionner normalement. |
Citation:
Code:
MS := TMemoryStream(item[i]); |
Finalement, je me suis fait une classe qui me stock mes informations et une TList pour conserver le tout.
Mais là j'ai encore des problèmes avec le format de fichier... certaines sections de sous-titre n'ont pas de de référence à 'EXTD' ou à 'CLIP'... arg... mais bon, ça c'est autre chose. |
Citation:
|
AYEAH ! :bnc: j’ai enfin réussi a modifier les sous titres de la version Dreamcast et obtenir une image CDI qui passe dans chankast !
Et ça pas été de la tarte ! Tous d’abord , il est impossible de partir de son jeux originale car il faut hacker de nombreux fichiers binaire et faire sauter des protection . J’ai donc récupéré un backup déjà tous fait et auto-bootable sur le net ( celui d’echelon ) . A partir de ce backup j’ai tenté de recréer un image CDI après avoir récupéré tous les données sur mon disque dur . Et autant vous le dire tous de suite , avec le programme de sizious cdi4dc cela ne fonctionne pas , cela aurai été trop simple ! Voila comment j’ai du procéder pour recréer une image CDI : Tous d’adord mater la structure de l’image d’echelon : Code:
$cdirip e-shen2a.cdi -info Code:
$cdirip e-shen2a.cdi -iso Il faut donc malheureusement extraire le bootstrapeur ( se situant sur les 16 premier secteur de la piste 2 ) car on ne peut pas utilisé un fichier IP.BIN quelconque Code:
dd if=tdata02.iso of=SHEN_IP.BIN bs=2048 count=16 Code:
$mkdir data Code:
$mkisofs -C 0,45000 -M tdata01.iso -V NOM_DU_VOLUME -joliet -rock -l -o piste2.iso data Code:
$ipinj SHEN_IP.BIN piste2.iso Code:
$cdi4dc piste2.iso tmp.cdi
Reste plus qu’a modifier le fichier footer pour lui indiquer la nouvelle taille de la piste 2 ( j’ai écrit un programme a partir des sources de cdirip) et de recomposer l’image cdi avec la commande : Code:
$cat track1 track2 footer > shenmue.cdi Par contre Manic connaît tu l’encodage des sous-titres car des que je met des caractère supérieur a 127 j’obtient de jolie Kanji :) es ce de l’UTF8 ? |
Truc de dingue tout ça ! :|
Et ben... ça va pas être de la tarte pour beaucoup d'entre nous. Dis Manic comment tu vas faire pour distribuer la traduction du coup ? |
Le probleme de cet methode est quel fonctionne uniquement pour remplacer la 2eme piste et uniquement la 2eme de l'image cdi
a ce propos Sizious sait tu comment calculer la valeur LBA de la deuxieme piste ( sans graver la premeire ) , elle doit obligatoirement dependre de la taille de la premiere ! |
Citation:
|
Fuseau horaire GMT +1. Il est actuellement 17h30. |
|
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.