[SNES] Arabian Nights - Sabaku no Seirei Ou

Le groupe de ceux qui n'ont pas de groupe. Vous vous êtes mis à plusieurs sur un projet et souhaitez en discuter ? Vous voulez montrer l'avancement de votre traduction ? Cette partie vous est dédiée !
Avatar de l’utilisateur
Skeud
Oook ?
Messages : 3799
Inscription : 25 févr. 2002, 22:01
Localisation : Loompaland
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Skeud » 09 mars 2011, 21:32

Ti Dragon a écrit :Voilà du grand art : http://membres.multimania.fr/meradrin/
*verse une larme de nostalgie*
Ahh... ces bastons contre Copernic et Readiosys.... :D
Si tu ressens l'envie de travailler, assieds-toi, et attends qu'elle te passe....
A mon niveau, on ne croit pas, on sait. (Docteur Helmut Perchut)

Meradrin
Je suis Kebekois et alors ? ça se voit ?
Messages : 332
Inscription : 17 févr. 2002, 11:11
Localisation : Canada (Québec)
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Meradrin » 10 mars 2011, 05:08

Vous dites : « Meradrin ça fait un baille que tu n’as pas posté une réponse ! ». Et bien je vous rétorquerais bande d’impatient ! J’ai tenté de faire le plus vite que je pouvais.

Premièrement je bosse 40 heures semaine. Le résultat est quand j’arrive chez nous je suis souvent épuiser et donc bosse moins vite que la normale !

Deuxièmement, si vous voulez des nouvelles du projet passé sur le Channel de #G9 ! J’y ai élu domicile et je squatte la place. Même si je ne fais pas partie de ce groupe et que personne de G9 bosse sur le projet. Jes fait aussi pire que moi de toute façon. D’ailleurs je profite du message pour dire que je remercie tous les gens qui passe leurs temps à m’écouter ou m’encourager :D

Troisièmement, si vous vous dites : Bon quoi de neuf depuis les dernier 5 jours ?
  • Expansion de la rom à 3meg.
  • Création d’un outil pour dumper les textes
  • Création d’une nouvelle font (Pas trop sexy, mais lisible :D)
  • Création d’un outil pour inséré la font (Vive le 2bpp encodé en 16x14, c’est batard à souhait !)
  • Création d’un outil pour me généré le code source de la rom original (Mon petit BTrace2Src, que j’ai fais)
  • Création d’un system de table de pointeur de 24bit (Les pointeur son en très grande partie hardcoder dans une sorte byte-code d’un métalangage)
  • Création d’outil pour insérer les textes.
Voici le résultat en image :
Image
Image
Image
Image
Image

Et bien oui ça demande une VWF au plus vite, voir au moins une font fixe baissé à 8x14 ;)

Lestat entre deux clopes et un brulage de cartouche. Ma demander si je voulais qu’il me fasse une font. J’ai dis tiens, j’étais après faire ma font temporaire ! Vas-y si le cœur t’en dit :D Le résultat est prometteur mais va redemandé des retouche car c’est vraiment dure à lire pour le moment :D Mais voici le résultat :)

Image

Bon, maintenant vous vous dites : « Mera!!! Ton journal de bord, ta petit FAQ, ta trace de savoir sur l’humanité !!! Elle est où ? »

Calmé vous ! Je suis épuisé y a pas un soir que je ne me suis pas couché avant 2h00 du matin voir plus et je devais me lever pour 8h00. Donc ce soir je veux aller me coucher à une heure plus raisonnable du genre minuit :D Et tristement pour arriver à tous produire ceci plus rapidement. J’ai arrêté de maintenir mon journal de bord. Car je voulais que les outils soit le plus vite possible disponible pour Le Noble Bahamut !
Donc, je vais vous offrir une version abrégé du travaille qui a été fait. Après avoir dumpé se que je croyais les pointeurs de dialogues. Bahamut, ma dit qu’il manquait des textes et que pas mal de pointeur n’étais pas des textes. Damnation !! J’ai donc survolé et lu le code ASM, une vision d’expérience peut agréable du passé à apparu en face de mois.

Finalement les pointeurs que j’avais trouvé pointait vers des bloques de data d’exécution, texte et divers chose. C’était une sorte de métalangage pour tous simplement programmé la « Game Logic » du jeu. Deuxième catastrophe pas de table de pointeur pour les dialogues. Par exemple les textes sont tous placé dans le même bloque de data. Si vous avez lu le premier topique du forum. C’est le pointeur de texte qui pointe sur ce bloque. Quand au bloque de texte lui, possède des sous-pointeurs hardcodé dans le script. Se qui veut dire c’est qu’ils sont un peu partout dans le script. Tous c’est pointeur sont relatif à la position tu pointeur principal du bloc de texte. Je voulais déplacer les textes ou je veux. Mais pour arrivé je devrais déplacer carrément le bloque de data divers et textes. Ceci était une solution un peu démente considérant qu’il n’y a sûrement pas les textes qui on des sous pointeur de relatif. Donc si je déplace de quoi je me devais de tous recalculé c’est sous pointeur que je n’ai aucun idée ou ils sont et comment les recalculé. Pour arrivé à tous connaître ceci demanderais de carrément tous lire le code source de se métalangage. Mais je ne veux pas avoir le savoir pour modifier le jeux lui, même je veux seulement traduire le jeux :D

Donc j’ai médité à divers solution. Reprogrammé la routine de lecture de texte, me semblait une bonne solution, de plus que les modifications pour arrivé ne devrais pas être trop drastique. J’ai donc débuté par me dumpé un bon gros chunk de code source et j’ai lu comment marchais le chargement de texte. En grande partie c’est simple, il travaille en Adressage Indirect Post-Indexé 24bit. Alors si je change la valeur se sont pointeur je peux lire ou je veux dans la rom sans trop de problème. J’ai donc fouillé pour trouver la routine de chargement du sous-pointeur.

Une fois cette routine trouvé, j’ai médité à divers algorithme pour faire une association du texte à mon nouveau system de table de pointeur. Première idée, ça été une table de correspondance de la position du texte présent avec la nouvelle position des textes. Sauf que l’algorithme se temps en O(N). Ça me trouait un peu le cul comme idée. Car j’ai environ plus de 2000 pointeur de texte. Au lieu, j’ai opté pour l’écriture de l’index du nouveau pointeur dans les deux premiers octets de l’ancien texte. Ainsi on a un l’algorithme en temps O(1). Donc la routine de sous-pointeur, va lire les deux premiers octets, charge le pointeur 24bit dans la table. Et hop on charge le vrai pointeur et on fait pointer le sous-pointeur à l’index 0. Bon vite comme ça ! Peut-être que ça vous parles pas tous ça.

Donc voici à quoi ressemble mon patch asm. Comme vous allez voir j’ai du faire un patch aussi pour remettre l’état du pointeur normal, comme si rien ne s’était passé. Car j’avais un bug qui continuait à détecter du texte après la lecture de l’index :D

Code : Tout sélectionner

hirom

!DiagPtrTable	= $e88000
!SavedSubPtr    = $7ffffb
!SavedPtr		= $7ffffd

; Expension de la rom a 3meg
org $e80000
{
	fillbyte $ff : fill $80000
}

; On va faire une redirection du code dans notre expension
; Pour changé le pointeur de chargement de texte

org $c02ed2
{
	jmp.l LoadDiagPtrSystem
}

org $c05c51
{
	jmp.l UnloadDiagPtrSystem
}

org $e80000
{
LoadDiagPtrSystem:
	; Charge le sous pointeur
	sta.w $11f2
	iny
	lda.b [$a1],y

	; Notre hack commence ici ;)
	phy

	; On sauvegarde le pointeur courant dans une case mémoire qu'on espère libre
	pha
	sta.l !SavedSubPtr
	lda.b $ac
	sta.l !SavedPtr
	lda.b $ad
	sta.l !SavedPtr+1
	pla

	; On charge les deux premier octect du pointeur de texte original
	tay
	lda.b [$ac],y

	; On va par la suite se servire de cette valeur 16bit comme index
	; dans notre nouvelle table de poiteur 24bit ;)
	asl
	clc
	adc.b [$ac],y
	phx
	tax
	lda.l !DiagPtrTable,x
	sta.l $ac
	lda.l !DiagPtrTable+1,x
	sta.l $ad
	plx

	; On s'assure que le sous-pointeur pointe toujours au zero
	lda #$0000
	sta.b $5b

	; On s'assure de remettre les variable dans un état correct
	ply
	lda #$00ff

	; On retourne au code d'origine
	jmp.l $c02edd


UnloadDiagPtrSystem:
	; On va restauré le pointeur de texte original
	; Et le sous pointeur ou il devrait être si ça aurait été le texte lu original
	pha
	phy
	lda.l !SavedPtr
	sta.b $ac
	lda.l !SavedPtr+1
	sta.b $ad
	lda.l !SavedSubPtr
	tay
	iny
	iny
LoopToEnd:
	lda.b [$ac],y
	iny
	and #$00ff
	cmp #$0000
	beq SkipEnd
	cmp #$00ff
	beq SkipTwoByte
	bra LoopToEnd
SkipTwoByte:
	iny
	bra LoopToEnd
SkipEnd:
	tya
	sta.b $5b
	ply
	pla

	; On execute le code original et on retourne
	lda #$0001
	bit.w $122d
	jmp.l $c05c57
}
Bon après se gentil patch, j’ai bâti mon inséreur et voilà le résultat que vous avez vu précédemment.

Bon, maintenant ! Je vais sûrement m’attaqué à faire une VWF, ou trouvé les textes que Bahamut me dira de trouvé ! Je vais attendre la confirmation de Bahamut pour continuer et je vais aussi attendre son opinion s’il veut que je release publiquement mes outils.

Avatar de l’utilisateur
Ommnislash
Super technique ultime
Messages : 2754
Inscription : 04 juin 2004, 21:57
Localisation : dans mon plumard
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Ommnislash » 10 mars 2011, 10:09

:maitre: :maitre:
étonnant, n'est-ce pas ?


http://beinart.org/

Meradrin
Je suis Kebekois et alors ? ça se voit ?
Messages : 332
Inscription : 17 févr. 2002, 11:11
Localisation : Canada (Québec)
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Meradrin » 11 mars 2011, 06:25

Bon, ça n'a pas été une journée hyper productive pour ma part. Car je suis pas mal fatigué et on est dans un rush au boulot.

Mais Bahamut, lui n’a pas chômé et à traduit du dialogue en petit enragé ! Comme si il n’avait pas de lendemain !! À grand coups de 15% d’un coups :D

Quand à moi, j’ai bossé sur un outil visuel pour aider Bahamut à indenté les textes correctement avec la VWF. Je le programme tous gentiment en C# question qu’il soit prêt le plus rapidement.

Et en même temps j’ai documenté le code source qui affiche une lettre de texte de la ROM jusqu'à là VRAM.

Demain, j’ai une soirée poker donc je ne vais sûrement pas avoir le temps de finir ma routine. Mais voici à quoi ressemble la routine original documenter par votre fidèle serviteur :)

Bon désolé pour la qualité du français que vous verrez dans ce fichier .asm. Mon cerveau pensait plus en assembleur qu'en français. ;) Donc résultat c’est du Meradrin « old school » :D

Code : Tout sélectionner

; Tous ce code est séquentiellement écrit dans la ROM. 
; La routine d'écriture de la lettre ne commence pas là :D
; Mais plutôt $C0CB58

org $c0cba1
{
Lbl_c0cba1:
assume mx:%00

;=============================================================================
; Mes variables extern
;=============================================================================

; 16bit $40 est le numéro de la colomne courante
;       - Le concepte des column sont en 12 pixel de large
;	    - Range [0x00-0x18] si aucun visage
;	    - Range [0x00-0x14] avec visage
;       - Aucun protection n'est pas fait pour le dépassement !
;         Donc si je fais une insertion en cochon sans m'assuré
;         que les lignes ne dépasse pas je vais pété le rendu.
;       - Pour avoir le numéro de la ligne on doit divisé par
;         $12 ou 18 (le nombre de caractère par ligne).

; 16bit $42 est le charactère à affiché
;	    - Range [0x000-0x1fe]

;=============================================================================
; Calcule la position de lecture du tiles dans la table de tiles
; Et le charge dans le X
;=============================================================================
	lda.b $42
	sec
	sbc #$0010
	sep #$20
	sta.w $211b
	xba
	sta.w $211b
	lda #$38
	sta.w $211c
	ldx.w $2134

;=============================================================================
; Calcule la position ou écrire le tiles en RAM
; Et store le résultat dans 4 pointeur de 24bit
; Soit $00, $03, $06 et $09
;=============================================================================

; 16bit $32 Sert a stocké le nuéro de ligne courante 

; On charge l'index de la column et les mes dans les registres hardware de
; Division
	lda.b $40
	sta.w $4204
	lda.b $41
	sta.w $4205
	lda #$12		; On le divise par $12 ou 18 le nombre de caractère maximum par ligne :D
	sta.w $4206
	
; Va initialisé tous les bank à $7F
	lda #$7f
	sta.b $02
	sta.b $05
	sta.b $08
	sta.b $0b
	
	stz.w $121d ; <----- Fait quoi cette variable :D Serait bon de la savoir,
                ; J'ai l'impression que c'est lier au V-BLANK pour dire que le 
				; Rendu du caractère est fini peut-être et nous on s'assure
				; de le remettre à zero ca on va affiché un NOUVEAU :D

	rep #$20
	lda.w $4216		 
	sta.b $32	; Le résultat de la division est le numéro de ligne
				; On l'affect à notre variable $32

	and #$fffe		
	ora #$1800		
	sta.w $4202		
	lda.b $32		
	and #$0001		
	asl a			
	asl a
	asl a
	asl a
	adc.w $4216		
	adc #$0002		
	
; La on a le début du tiles calculé
; Sérieux y a vraiment place a simplification, en fesant la VWF :D
	sta.b $00
	adc #$0010		
	sta.b $03		
	adc #$01ee		
	sta.b $06		
	adc #$0010
	sta.b $09

;=============================================================================
; Va écrire le tiles de la ROM vers la RAM toute en gardant le 
; concepte de column de 12 pixel
;=============================================================================

; 16bit $30 Va être utilisé comme index de la boucle en gros on pourrat
;           Le considéré comme étant notre ligne courante à affiché
;           Durant une boucle il déssigne les 4 tiles en même temps qu'il a
;           Besoin pour formé un tiles de 12x14
;           Donc il faut gardé à l'esprit qu'il n'a que 7 lignes (et non 8) à
;           déssiné pour un tile
;           Car la font écrit dans la ROM en 14pixel de haut
	
	stz.b $30 ;On init à zero

Lbl_c0cc06:

; Regarde si la column est impair
	lda #$0001
	bit.b $40
; Si la column est impair alors on va devoir le décalé de 4pixel à droite
	bne Lbl_c0cc43
; Sinon

; Lit une ligne et la store dans les variable
; $28, $29, $2A, $2B, $2C, $2D, $2E et $2F
Lbl_c0cc0d:
	sep #$20
	lda.l $cf1005,x
	sta.b $28
	lda.l $cf1007,x
	sta.b $29
	lda.l $cf1004,x
	sta.b $2a
	lda.l $cf1006,x
	sta.b $2b
	lda.l $cf1021,x
	sta.b $2c
	lda.l $cf1023,x
	sta.b $2d
	lda.l $cf1020,x
	sta.b $2e
	lda.l $cf1022,x
	sta.b $2f
	rep #$20
	bra Lbl_c0cc96

; La column est impair donc
; On lit une ligne et la décale de 4pixel
; pour ensuite l'écrire à $28, $29, $2A, $2B, $2C, $2D, $2E et $2F
Lbl_c0cc43:
	lda.b $32
	cmp #$0011
	beq Lbl_c0cc0d
	lda.l $cf1004,x
	lsr a
	lsr a
	lsr a
	lsr a
	sta.b $20
	lda.l $cf1006,x
	lsr a
	lsr a
	lsr a
	lsr a
	sta.b $22
	lda.l $cf1020,x
	lsr a
	lsr a
	lsr a
	lsr a
	sta.b $24
	lda.l $cf1022,x
	lsr a
	lsr a
	lsr a
	lsr a
	sta.b $26
	sep #$20
	lda.b $21
	sta.b $28
	lda.b $23
	sta.b $29
	lda.b $20
	sta.b $2a
	lda.b $22
	sta.b $2b
	lda.b $25
	sta.b $2c
	lda.b $27
	sta.b $2d
	lda.b $24
	sta.b $2e
	lda.b $26
	sta.b $2f
	rep #$20


; Ensuite on écrit les variable au bonne endroit la RAM
Lbl_c0cc96:

	lda.b $30
	asl a
	tay
	lda.b [$00],y
	ora.b $28
	sta.b [$00],y
	lda.b [$03],y
	ora.b $2a
	sta.b [$03],y
	lda.b [$06],y
	ora.b $2c
	sta.b [$06],y
	lda.b [$09],y
	ora.b $2e
	sta.b [$09],y
	txa
	adc #$0004
	tax

	inc.b $30
	lda.b $30
	cmp #$0007

	bcs Lbl_c0ccc3
	jmp.w Lbl_c0cc06

;=============================================================================
; Prépare le copie pour le DMA :D
;=============================================================================

; Info util sur le copie de la RAM vers la VRAM
; Voici un exemple capté sur fif d'un copie d'un caractère.

; DMA[6]: write Mode: 1 0x7F0060->0x2118 Bytes: 32 (inc) V-Line:223 VRAM: 51B0 (1,0) word
; DMA[7]: write Mode: 1 0x7F0260->0x2118 Bytes: 32 (inc) V-Line:224 VRAM: 5230 (1,0) word
; Le mapping semble déjà copier ;)

; Variable pour l'execution du DMA Channel 6
; 16bit $0f Destination en VRAM de la copie des 2 tiles du HAUT du caractère
; 16bit $11 Source en VRAM de la copie des 2 tiles du HAUT du caractère

; Variable pour l'execution du DMA Channel 7
; 16bit $13 Destination en VRAM de la copie des 2 tiles du BAS du caractère
; 16bit $15 Source en VRAM de la copie des 2 tiles du BAS du caractère

Lbl_c0ccc3:
	lda.b $40
	asl a
	tax
	lda.l $cfec40,x ; Table qui nous dit selon la column ou copier les tiles en VRAM :D
	lsr a			; On divise par 2 car on va utilisé la copie de type WORD (2 octect)
	
	; On défini la destination de nos 2 tiles en VRAM ;)
	adc #$5180 ; Donc on peut voir que les tiles commence à 5180 dans la VRAM :D
	sta.b $0f
	adc #$0080
	sta.b $13

	; On défini la source de nos 2 tiles en RAM
	lda.b $32
	and #$fffe
	ora #$1800
	sta.w $4202
	lda.b $32
	and #$0001
	asl a
	asl a
	asl a
	asl a
	adc.w $4216
	adc #$0000
	sta.b $11
	adc #$0200
	sta.b $15

	; Peut-être une indication pour dire au prochain VBlank
	; Aller on copie les caractère en VRAM
	; À vérifier, mais je m'en fou un peu :D
	lda #$0001
	tsb.w $121e		
	rts
}
On devrait sérieusement modifier la balise de phpBB

Code : Tout sélectionner

 pour supporté [code=65816]  (Il existe déjà [code=php] par defaut).  Ainsi ça lookerais mieux :D Je suis volontaire pour le faire lorsque j’aurais du temps. Voir même pour tous un t’as d’assembleur ! Ça serait déjà pas mal simplement coloré les mnémonique et les commentaires :D

Sur ce je vais au lit ;)

Avatar de l’utilisateur
Lestat
céréal floddeur
Messages : 935
Inscription : 15 avr. 2004, 04:45
Localisation : France
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Lestat » 11 mars 2011, 21:38

Rah mera, tu t'es planté de fonte!!!!!
Création d’une nouvelle font (Pas trop sexy, mais lisible :D)
roudidiou :grr:

j'en veux pour preuve le des qui est en fait un dcs (dual crew shining???)

Et au final cette fonte est faite pour du VWF ! et faudrait savoir tu veux quoi tu 8x14? ou 16*14? :mad:

Sinon tu t'es offert une seconde jeunesse ou quoi? :-o quelle fougue!

bon courage à l'équipe!!!!
(bah quoi j'en fais pas parti moi, je suis juste un grapheux qui traine :p)

:maitre: :fouet:

Meradrin
Je suis Kebekois et alors ? ça se voit ?
Messages : 332
Inscription : 17 févr. 2002, 11:11
Localisation : Canada (Québec)
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Meradrin » 14 mars 2011, 07:50

Voici une petite news rapide avant d’aller me couché, j’ai été pas mal occupé en fin de semaine à faire plein de trucs sauf bosser sur Arabian comme je l’aurais aimée ! Mais bon durant un rush cette nuit j’ai eu le temps de finir la VWF des dialogues et c’est vraiment mieux visuellement. J’ai aussi augmenté la largeur maximal de la font à 16x16. (Plus cool et plus simple à calculé :D)

Quand à Bahamut, lui y a pas chaumé y a une journée de ça il était à environ entre 50% à 55% des dialogues de traduit.

Lestat quand à lui révisé ça font et elle look vraiment bien :) Mais je n’ai pas encore ça table de largeur pour l’inséré dans la rom, donc je n’ai pas plus faire de screenshot avec :(

Voici des petits screenshot juste pour vous :
Image
Image
Image
Image
Image

Et si y en que ça leurs intéresse de lire environ 1000 lignes de code ASM trop peu commenté ! C’est les divers hack de fait sur Arabian pour l’instant :

Code : Tout sélectionner

hirom

!DiagPtrTable	= $e88000
!SavedSubPtr    = $7ffffb
!SavedPtr		= $7ffffd

; Expension de la rom a 3meg
org $e80000
{
	fillbyte $ff : fill $80000
}

;=================================================================================================
; Nouveau system de chargement de pointeur de texte.
; On va passé par une table de pointeur 24 bit
;=================================================================================================

; On va faire une redirection du code dans notre expension
; Pour changé le pointeur de chargement de texte

org $c02ed2
{
	jmp.l LoadDiagPtrSystem
}

org $c05c51
{
	jmp.l UnloadDiagPtrSystem
}

org $e80000
{
LoadDiagPtrSystem:
	; Charge le sous pointeur
	sta.w $11f2
	iny
	lda.b [$a1],y

	; Notre hack commence ici ;)
	phy

	; On sauvegarde le pointeur courant dans une case mémoire qu'on espère libre
	pha
	sta.l !SavedSubPtr
	lda.b $ac
	sta.l !SavedPtr
	lda.b $ad
	sta.l !SavedPtr+1
	pla

	; On charge les deux premier octect du pointeur de texte original
	tay
	lda.b [$ac],y

	; On va par la suite se servire de cette valeur 16bit comme index
	; dans notre nouvelle table de poiteur 24bit ;)
	asl
	clc
	adc.b [$ac],y
	phx
	tax
	lda.l !DiagPtrTable,x
	sta.b $ac
	lda.l !DiagPtrTable+1,x
	sta.b $ad
	plx

	; On s'assure que le sous-pointeur pointe toujours au zero
	lda #$0000
	sta.b $5b

	; On s'assure de remettre les variable dans un état correct
	ply
	lda #$00ff

	; On retourne au code d'origine
	jmp.l $c02edd


UnloadDiagPtrSystem:
	; On va restauré le pointeur de texte original
	pha
	phy
	lda.l !SavedPtr
	sta.b $ac
	lda.l !SavedPtr+1
	sta.b $ad
	lda.l !SavedSubPtr
	tay
	iny
	iny
LoopToEnd:
	lda.b [$ac],y
	iny
	and #$00ff
	cmp #$0000
	beq SkipEnd
	cmp #$00ff
	beq SkipTwoByte
	bra LoopToEnd
SkipTwoByte:
	iny
	bra LoopToEnd
SkipEnd:
	tya
	sta.b $5b
	ply
	pla

	; On execute le code original et on retourne
	lda #$0001
	bit.w $122d
	jmp.l $c05c57
}
EndDiagPtrSystem:

;=================================================================================================
; Nouveau system de rendu de la font en VWF 16x16
; Et changement du fonctionnement des variable, d'indexation du texte
;=================================================================================================

!NewFont		= $e8c000
!FontWidth		= $e8bf00
!CurrentWidth	= $7ffffb

org $c02f42
{
	jmp.l ResetTextVar1
}

org $c01040
{
	jmp.l ResetTextVar2
}

org $c05bfe
{
	jmp.l NewLineReturn
}

org $c0cba1
{
	jmp.l NewFontPrintLetter
}

org $c0cdaa
{
	jmp.l NewAddLetter
}

org $e80100
{
NewAddLetter:
	assume mx:%10
	ldx.b $40
	stx.w $4204
	lda #$1b
	sta.w $4206

	rep #$20
	lda.b $40
	jsr.w IncLetter
	asl a
	asl a
	tax
	lda #$0240
	adc.l NewTileMap,x
	sta.w $2116
	adc #$0020
	sta.b $28

	lda.w $4216
	cmp #$001a
	beq EndofLine

	lda.l NewTileMap+2,x
	sta.w $2118
	inc
	sta.w $2118
	adc #$000f
	sta.b $2a
	inc
	sta.b $2c
	lda.b $28
	sta.w $2116
	lda.b $2a
	sta.w $2118
	lda.b $2c
	sta.w $2118
	jmp.l $c0cdf6

EndofLine:
	lda.l NewTileMap+2,x
	sta.w $2118
	clc
	adc #$0010
	sta.b $2a
	lda.b $28
	sta.w $2116
	lda.b $2a
	sta.w $2118
	jmp.l $c0cdf6

IncLetter:
assume mx:%00
	pha
	phx
	lda.b $42
	tax
	lda.l !FontWidth,x
	and #$00ff
	adc.l !CurrentWidth
	pha
	and #$0007
	sta.l !CurrentWidth
	pla
	and #$fff8
	lsr
	lsr
	lsr
	clc
	adc.b $40
	sta.b $40
	plx
	pla
	rts

NewLineReturn:
	assume mx:%00
	lda #$0001
	trb.w $121d
	lda #$00ff
	trb.w $1220
	inc.b $44
	lda.b $44
	cmp #$0004
	beq MaxLine
; On va calculé la nouvelle valeur du $40
; Et on va rester CurrentWidth
	sta.b $28 		
	asl
	pha
	clc
	adc.b $28
	sta.b $28
	pla
	asl
	asl
	pha
	clc
	adc.b $28
	sta.b $28
	pla
	asl
	clc
	adc.b $28
	sta.b $28
	lda.w $122d	    ; Regarde si un visage est là 
	and #$0001
	cmp #$0001
	bne AddNoFace
	lda #$0006	
AddNoFace:	
	adc.b $28
	sta.b $40		; Et voilà le 40 a été adapté ;)
	pha
	lda #$0000
	sta.l !CurrentWidth
	pla
	jmp.l $c05c29
MaxLine:
	stz.b $44		
	lda #$0002
	jmp.l $c05c2f

ResetTextVar2:
	assume mx:%00
	cmp #$0001
	bne NoFace2
	lda #$0006	
NoFace2:
	sta.b $40
	stz.b $44
	pha
	lda #$0000
	sta.l !CurrentWidth
	pla
	jmp.l $c01046 

ResetTextVar1:
	assume mx:%00
	cmp #$0001
	bne NoFace
	lda #$0006	
NoFace:
	sta.b $40
	stz.b $44
	pha
	lda #$0000
	sta.l !CurrentWidth
	pla
	jmp.l $c02f48 

MoveToRight:
	assume mx:%00
	cpy #$0000
	beq MoveToRight0
	cpy #$0001
	beq MoveToRight1
	cpy #$0002
	beq MoveToRight2
	cpy #$0003
	beq MoveToRight3
	cpy #$0004
	beq MoveToRight4
	cpy #$0005
	beq MoveToRight5
	cpy #$0006
	beq MoveToRight6
	cpy #$0007
	beq MoveToRight7
	lsr
MoveToRight7:
	lsr
MoveToRight6:
	lsr
MoveToRight5:
	lsr
MoveToRight4:
	lsr
MoveToRight3:
	lsr
MoveToRight2:
	lsr
MoveToRight1:
	lsr
MoveToRight0:
	rts

MoveToLeft:
	assume mx:%00
	cpy #$0007
	beq MoveToLeft7
	cpy #$0006
	beq MoveToLeft6
	cpy #$0005
	beq MoveToLeft5
	cpy #$0004
	beq MoveToLeft4
	cpy #$0003
	beq MoveToLeft3
	cpy #$0002
	beq MoveToLeft2
	cpy #$0001
	beq MoveToLeft1
	asl
MoveToLeft1:
	asl
MoveToLeft2:
	asl
MoveToLeft3:
	asl
MoveToLeft4:
	asl
MoveToLeft5:
	asl
MoveToLeft6:
	asl
MoveToLeft7:
	asl
	rts

NewFontPrintLetter:
	assume mx:%00
; Calcule la position de la source du caractère
;-----------------------------------------------
	lda.b $42
	sec
	sbc #$0010
	asl
	asl
	asl
	asl
	asl
	asl
	tax

; Calcule la position de la destination du caractère
;----------------------------------------------------
	; Va initialisé tous les bank à $7F
	sep #$20

	lda.b $40
	sta.w $4204
	lda.b $41
	sta.w $4205
	lda #$1b
	sta.w $4206

	lda #$7f
	sta.b $02
	sta.b $05
	sta.b $08
	sta.b $0b
	
	stz.w $121d ; <----- Fait quoi cette variable :D Serait bon de la savoir,
                ; J'ai l'impression que c'est lier au V-BLANK pour dire que le 
				; Rendu du caractère est fini peut-être et nous on s'assure
				; de le remettre à zero ca on va affiché un NOUVEAU :D

	rep #$20
	lda.w $4216		 
	sta.b $32	; Le résultat du la modulo est la column de la ligne courante
	asl
	asl
	asl
	asl
	sta.b $00
	adc #$0010
	sta.b $03
	adc #$01f0
	sta.b $06
	adc #$0010
	sta.b $09

; Copie le tile en destination
;----------------------------------------------------
	phx
	stz.b $30
LoopTilesLeft:
	; On charge le décalage du caractère courrant dans le Y
	lda.l !CurrentWidth
	tay

	; On copie la première colone de tile (8x16)
	sep #$20

	lda.l !NewFont+1,x
	jsr.w MoveToRight
	sta.b $28
	lda.l !NewFont+3,x
	jsr.w MoveToRight
	sta.b $29

	lda.l !NewFont+1,x
	jsr.w MoveToLeft
	sta.b $2a
	lda.l !NewFont+3,x
	jsr.w MoveToLeft
	sta.b $2b

	lda.l !NewFont+33,x
	jsr.w MoveToRight
	sta.b $2c
	lda.l !NewFont+35,x
	jsr.w MoveToRight
	sta.b $2d

	lda.l !NewFont+33,x
	jsr.w MoveToLeft
	sta.b $2e
	lda.l !NewFont+35,x
	jsr.w MoveToLeft
	sta.b $2f

	rep #$20
		
	lda.b $30
	asl a
	tay
	lda.b [$00],y
	ora.b $28
	sta.b [$00],y
	lda.b [$03],y
	ora.b $2a
	sta.b [$03],y
	lda.b [$06],y
	ora.b $2c
	sta.b [$06],y

	lda.b [$09],y
	ora.b $2e
	sta.b [$09],y

	txa
	adc #$0004
	tax
	inc.b $30
	lda.b $30
	cmp #$0008
	bcs FinishTilesLeft
	jmp.w LoopTilesLeft
FinishTilesLeft:

; On décale la sortie d'une column de tiles
	lda.b $00
	clc
	adc #$0010
	sta.b $00

	sta.b $03
	clc
	adc #$0010
	sta.b $03

	lda.b $06
	clc
	adc #$0010
	sta.b $06

	lda.b $09
	clc
	adc #$0010
	sta.b $09
	
	plx
	stz.b $30
LoopTilesRight:
	; On charge le décalage du caractère courrant dans le Y
	lda.l !CurrentWidth
	tay

	; On copie la première colone de tile (8x16)
	sep #$20

	lda.l !NewFont,x
	jsr.w MoveToRight
	sta.b $28
	lda.l !NewFont+2,x
	jsr.w MoveToRight
	sta.b $29

	lda.l !NewFont,x
	jsr.w MoveToLeft
	sta.b $2a
	lda.l !NewFont+2,x
	jsr.w MoveToLeft
	sta.b $2b

	lda.l !NewFont+32,x
	jsr.w MoveToRight
	sta.b $2c
	lda.l !NewFont+34,x
	jsr.w MoveToRight
	sta.b $2d

	lda.l !NewFont+32,x
	jsr.w MoveToLeft
	sta.b $2e
	lda.l !NewFont+34,x
	jsr.w MoveToLeft
	sta.b $2f

	rep #$20
		
	lda.b $30
	asl a
	tay

	lda.b [$00],y
	ora.b $28
	sta.b [$00],y
	lda.b [$03],y
	ora.b $2a
	sta.b [$03],y

	lda.b [$06],y
	ora.b $2c
	sta.b [$06],y
	lda.b [$09],y
	ora.b $2e
	sta.b [$09],y

	txa
	adc #$0004
	tax
	inc.b $30
	lda.b $30
	cmp #$0008
	bcs FinishTilesRight
	jmp.w LoopTilesRight
FinishTilesRight:

	; On défini la destination de tiles en VRAM
	lda.b $40
	asl a
	tax
	lda.l NewVramMap,x
	lsr a
	adc #$5180 
	sta.b $0f
	adc #$0080
	sta.b $13

	; On défini la source de nos 2 tiles en RAM
	lda.b $32
	asl
	asl
	asl
	asl
	sta.b $11
	adc #$0200
	sta.b $15

	; Peut-être une indication pour dire au prochain VBlank
	; Aller on copie les caractère en VRAM
	; À vérifier, mais je m'en fou un peu :D
	lda #$0001
	tsb.w $121e		
	jmp.l $c0ccfd
}

; Table crée rapidement et leurs existance n'a de sens que du
; au fait que je n'ai pas trop voulu modifier le comportement original
org $e8b000
{
NewTileMap:
	; Le mapping des lignes
	; Line 1
	db $03, $0c, $30, $24
	db $04, $0c, $31, $24
	db $05, $0c, $32, $24
	db $06, $0c, $33, $24
	db $07, $0c, $34, $24
	db $08, $0c, $35, $24
	db $09, $0c, $36, $24
	db $0a, $0c, $37, $24
	db $0b, $0c, $38, $24
	db $0c, $0c, $39, $24
	db $0d, $0c, $3a, $24
	db $0e, $0c, $3b, $24
	db $0f, $0c, $3c, $24
	db $10, $0c, $3d, $24
	db $11, $0c, $3e, $24
	db $12, $0c, $50, $24
	db $13, $0c, $51, $24
	db $14, $0c, $52, $24
	db $15, $0c, $53, $24
	db $16, $0c, $54, $24
	db $17, $0c, $55, $24
	db $18, $0c, $56, $24
	db $19, $0c, $57, $24
	db $1a, $0c, $58, $24
	db $1b, $0c, $59, $24
	db $1c, $0c, $5a, $24
	db $1d, $0c, $5b, $24
	
	; Line 2
	db $43, $0c, $5c, $24
	db $44, $0c, $5d, $24
	db $45, $0c, $5e, $24
	db $46, $0c, $70, $24
	db $47, $0c, $71, $24
	db $48, $0c, $72, $24
	db $49, $0c, $73, $24
	db $4a, $0c, $74, $24
	db $4b, $0c, $75, $24
	db $4c, $0c, $76, $24
	db $4d, $0c, $77, $24
	db $4e, $0c, $78, $24
	db $4f, $0c, $79, $24
	db $50, $0c, $7a, $24
	db $51, $0c, $7b, $24
	db $52, $0c, $7c, $24
	db $53, $0c, $7d, $24
	db $54, $0c, $7e, $24
	db $55, $0c, $90, $24
	db $56, $0c, $91, $24
	db $57, $0c, $92, $24
	db $58, $0c, $93, $24
	db $59, $0c, $94, $24
	db $5a, $0c, $95, $24
	db $5b, $0c, $96, $24
	db $5c, $0c, $97, $24
	db $5d, $0c, $98, $24
	
	; Ligne 3
	db $83, $0c, $99, $24
	db $84, $0c, $9a, $24
	db $85, $0c, $9b, $24
	db $86, $0c, $9c, $24
	db $87, $0c, $9d, $24
	db $88, $0c, $9e, $24
	db $89, $0c, $b0, $24
	db $8a, $0c, $b1, $24
	db $8b, $0c, $b2, $24
	db $8c, $0c, $b3, $24
	db $8d, $0c, $b4, $24
	db $8e, $0c, $b5, $24
	db $8f, $0c, $b6, $24
	db $90, $0c, $b7, $24
	db $91, $0c, $b8, $24
	db $92, $0c, $b9, $24
	db $93, $0c, $ba, $24
	db $94, $0c, $bb, $24
	db $95, $0c, $bc, $24
	db $96, $0c, $bd, $24
	db $97, $0c, $be, $24
	db $98, $0c, $d0, $24
	db $99, $0c, $d1, $24
	db $9a, $0c, $d2, $24
	db $9b, $0c, $d3, $24
	db $9c, $0c, $d4, $24
	db $9d, $0c, $d5, $24
	
	; Ligne 4
	db $c3, $0c, $d6, $24
	db $c4, $0c, $d7, $24
	db $c5, $0c, $d8, $24
	db $c6, $0c, $d9, $24
	db $c7, $0c, $da, $24
	db $c8, $0c, $db, $24
	db $c9, $0c, $dc, $24
	db $ca, $0c, $dd, $24
	db $cb, $0c, $de, $24
	db $cc, $0c, $f0, $24
	db $cd, $0c, $f1, $24
	db $ce, $0c, $f2, $24
	db $cf, $0c, $f3, $24
	db $d0, $0c, $f4, $24
	db $d1, $0c, $f5, $24
	db $d2, $0c, $f6, $24
	db $d3, $0c, $f7, $24
	db $d4, $0c, $f8, $24
	db $d5, $0c, $f9, $24
	db $d6, $0c, $fa, $24
	db $d7, $0c, $fb, $24
	db $d8, $0c, $fc, $24
	db $d9, $0c, $fd, $24
	db $da, $0c, $fe, $24
	db $db, $0c, $10, $25
	db $dc, $0c, $11, $25
	db $dd, $0c, $12, $25

NewVramMap:
	db $00, $00
	db $10, $00
	db $20, $00
	db $30, $00
	db $40, $00
	db $50, $00
	db $60, $00
	db $70, $00
	db $80, $00
	db $90, $00
	db $a0, $00
	db $b0, $00
	db $c0, $00
	db $d0, $00
	db $e0, $00
	db $00, $02
	db $10, $02
	db $20, $02
	db $30, $02
	db $40, $02
	db $50, $02
	db $60, $02
	db $70, $02
	db $80, $02
	db $90, $02
	db $a0, $02
	db $b0, $02
	
	db $c0, $02
	db $d0, $02
	db $e0, $02
	db $00, $04
	db $10, $04
	db $20, $04
	db $30, $04
	db $40, $04
	db $50, $04
	db $60, $04
	db $70, $04
	db $80, $04
	db $90, $04
	db $a0, $04
	db $b0, $04
	db $c0, $04
	db $d0, $04
	db $e0, $04
	db $00, $06
	db $10, $06
	db $20, $06
	db $30, $06
	db $40, $06
	db $50, $06
	db $60, $06
	db $70, $06
	db $80, $06

	db $90, $06
	db $a0, $06
	db $b0, $06
	db $c0, $06
	db $d0, $06
	db $e0, $06
	db $00, $08
	db $10, $08
	db $20, $08
	db $30, $08 
	db $40, $08
	db $50, $08
	db $60, $08
	db $70, $08
	db $80, $08
	db $90, $08
	db $a0, $08
	db $b0, $08
	db $c0, $08
	db $d0, $08
	db $e0, $08
	db $00, $0a
	db $10, $0a
	db $20, $0a
	db $30, $0a
	db $40, $0a
	db $50, $0a

	db $60, $0a
	db $70, $0a
	db $80, $0a
	db $90, $0a
	db $a0, $0a
	db $b0, $0a
	db $c0, $0a
	db $d0, $0a 
	db $e0, $0a 
	db $00, $0c
	db $10, $0c
	db $20, $0c
	db $30, $0c
	db $40, $0c
	db $50, $0c
	db $60, $0c
	db $70, $0c
	db $80, $0c
	db $90, $0c
	db $a0, $0c
	db $b0, $0c
	db $c0, $0c
	db $d0, $0c
	db $e0, $0c
	db $00, $0e
	db $10, $0e
	db $20, $0e
}
Et je le dirais jamais asse merci à tous les supporteurs ;)

Hiei-

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Hiei- » 14 mars 2011, 07:52

Classe :)

"1000 lignes", :o

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 761
Inscription : 17 juin 2004, 16:47

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par kogami » 14 mars 2011, 17:33

Lenoblebahamut et toi, vous êtes en grande forme :D
Ça fais plaisir à voir 8)

EDIT:

Le script principale pèse combien ? Tu a utilisé qu'elle assembler ?
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

Avatar de l’utilisateur
Skeud
Oook ?
Messages : 3799
Inscription : 25 févr. 2002, 22:01
Localisation : Loompaland
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Skeud » 14 mars 2011, 21:09

A vue de nez je dirais xkas 0.6.
Si tu ressens l'envie de travailler, assieds-toi, et attends qu'elle te passe....
A mon niveau, on ne croit pas, on sait. (Docteur Helmut Perchut)

Meradrin
Je suis Kebekois et alors ? ça se voit ?
Messages : 332
Inscription : 17 févr. 2002, 11:11
Localisation : Canada (Québec)
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Meradrin » 14 mars 2011, 23:45

kogami a écrit :Le script principale pèse combien ? Tu a utilisé qu'elle assembler ?
250k sans vraiment de balise et oui c'est Xkas 0.6.

Avatar de l’utilisateur
bahramut
Nouveau Floodeur
Messages : 16
Inscription : 29 déc. 2005, 07:22

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par bahramut » 22 mars 2011, 23:00

Bonjour tout le monde

superbe cette idee de traduction pour arabian Night

en lisant le tropic j'ai eu une interrogation quant aux écrit de Lenoblebahamut
Pour la traduction, par exemple,
j'ai commencé le jeu et voilà que je bloquais déjà sur un nom!
Comment bien le traduire!?
スレイマン peut donner
SUREIMAN
SULEYMAN

Mais en réfléchissant bien, je garderai SOLIMAN, version francisée de Suleyman depuis le Moyen-Age! ^^

je me demandais si il ne serait pas plus judicieux de garder le nom original (Suleyman) et de ne pas francisée le nom

je m'explique il m'est souvent agacent de voir les noms changer dans les différentes version d'un même jeux par exemple dans FFVII cloud qui devient Clad dans la VF
(bison, vega balroge :tetemur: ) sans parler du folklore dissiper par le club dorothée :grr: (ken Montélimar :grr: )
voila je me demandais car en lisant le nom soliman m'a un peut sauté a oeil comme un dénommé Clad ^^


pour moi une bonne traduction FR doit conserver le maximum du cachet du texte d'origine

enfin je ne suis pas un romhacker et encore moins un traducteur de roms mais juste un amoureux des jeux
Non personne n'est séquestré, mais s'est tout comme

Meradrin
Je suis Kebekois et alors ? ça se voit ?
Messages : 332
Inscription : 17 févr. 2002, 11:11
Localisation : Canada (Québec)
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Meradrin » 23 mars 2011, 08:04

Salut, l’ami ! Je ne peux pas te répondre pour la traduction. Je fais confiance en Bahamut, et il en a sous le chapeau des traductions ! Donc tu peux débattre avec lui du pourquoi du comment ! Mais bon tous se que j’ai a t’offrir c’est une news sur l’avancement et mon hack !

Donc pour ma part, je viens de finir la reprogrammation de l’intro pour supporter la traduction du titre et des textes comme le new game etc…
Le titre est sur le BG2 et le New Game etc… est sur le BG1. Les deux utilise les même palettes et les même tiles, j’ai donc bâtis l’outil pour gardé ça à l’esprit ;)

Pour tester que l’insertion marchait bien j’ai pris mon paint et éditer le BMP en champion graphiste que je suis !

Voilà un vidéo du chef d'oeuvre !
http://www.youtube.com/watch?v=VPldf9R8SJc

Mais sinon, j’ai dumpé pas mal de texte compressé Object, Carte, Magie, et leurs description respective et le « Diary » de l’héroïne ! Le menu va avoir pas mal de hack asm et c’est déjà en cours pour un lifthing, je suis après faire une VWF 8x8 voir si ça vos le coup. On verra ;)

Niveau traduction Bahamut à tous fini les textes que je lui ai donner :D Donc c’est à moi de produire plus vite ! Sinon, il est tard et je vais dormir :) Sur ce faite attention à vous et buvez pour moi ;)

Si vous vous dites : Mera!! Ils sont ou tes tutos de hack, ne vous iniquité pas ça va venir :D

Avatar de l’utilisateur
Inexpugnable
Dieu Suprême du flood
Messages : 940
Inscription : 30 avr. 2010, 22:11

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Inexpugnable » 23 mars 2011, 08:10

Mortelle la vidéo :-D
Chaméléon. Est-ce que ne rien prendre. Ah oui mon coeur c'est vrai. Qu'est-ce que ça, qu'est-ce que c'est ? Donnez-moi ton argent. Donnez-moi ton fromage. Je donne tu mon amour et je allume ton chauffage.

https://www.youtube.com/watch?v=9eYAyYo5638

Avatar de l’utilisateur
Lenoblebahamut
Super Floodeur
Messages : 153
Inscription : 23 oct. 2009, 11:50
Localisation : La Réunion (974)

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Lenoblebahamut » 23 mars 2011, 10:39

Sacrée vidéo! ^_-
Un must de l'Art graphique! :boire:

Avatar de l’utilisateur
GreatSkaori
Chooser of the Slain
Chooser of the Slain
Messages : 8736
Inscription : 17 févr. 2002, 20:06
Localisation : Ailleurs
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par GreatSkaori » 23 mars 2011, 10:44

Fantastique, plus la peine de traduire, le jeu est parfait comme ça :D
Your sins lay heavy upon you defiler of souls.
By the holy laws you shall be obliterated !

Avatar de l’utilisateur
pinktagada
Mauvaise ROMhackeuse débutarte
Messages : 2337
Inscription : 10 mars 2010, 10:39
Localisation : Midgard
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par pinktagada » 23 mars 2011, 10:46

Je VEUX ce graphiste hors pair. Mera, tu cloues Lyan au poteau, là. Personne n'atteint ton immense talent :D :D :D

(Et bravo pour l'inserteur ^^)
MAIS Y A PLUS DE PLACE A L'ÉCRAN! NON DE MERDE MÊME SI JE TE DONNE TOUS LA PLACE DU MONDE DANS LA ROM!! TU POURRAIS PAS EN FAIRE AFFICHÉ PLUS A L'ÉCRAN!!!
Un grand philosophe...

Image

Avatar de l’utilisateur
Ti Dragon
Est devenu grand
Messages : 12441
Inscription : 25 févr. 2002, 18:25
Localisation : Dans mon lit c'est mieux
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Ti Dragon » 23 mars 2011, 11:26

NAN MAIS OH ! ON ME BARRE PAS COMME ÇA !

...

Sinon, pour répondre à bahramut, je suis assez de son avis pour "Soulayman" - je prendrais celui-ci car il s'agit du prénom d'un calife (bien qu'il existe des tas de graphies comme Suleyman, Suleymane, Süleyman, Souleiman, Suleiman, Soliman, Slimane ou Schlomo selon Wikipédia - tous ces noms étant des équivalents de Salomon, célèbre pour avoir été porté par un roi de la Bible). Mais je dois lui rappeler, d'une part que les japonais écrivent en phonétique (et que, là, vraisemblablement, puisqu'il s'agit d'un prénom étranger, il est écrit en katakana - "su le ma n" je suppose), d'autre part que le traducteur a toute latitude pour franciser un nom, surtout que, dans ce cas précis, son choix est motivé par une équivalence (même si je ne suis pas d'accord mais chacun ses goûts). Comment traduirais-tu "a ru be ru to" ? Albert ou Alberto ? À chacun d'adapter selon le contexte.

Le cas de Ken le Survivant est à part : les traducteurs voulaient adoucir la brutalité du dessin animé et de ses dialogues. Pire que ça : je persiste à croire que ce genre de dérision colle tout à fait à la manière de faire des Japonais et que, par-là même, ils subliment la série dans sa VF (ce qui l'a par ailleurs rendue si populaire par chez nous). Pareil pour City Hunter, dans un certain sens. Quant à Montélimar, il s'agissait surtout d'une réplique à la question "D'où viens-tu Ryuga", ce qui implique un jeu de mots tellement pourri que j'en ris encore (le Ryuga de Montélimar - Skaiboy n'aurait pas fait mieux, c'est dire).

Voilà pour la digression :P

Et mon Wild Ham, il est où ? T'avais pas promis de me le ramener, Mera :P ?
"Heureusement qu'il n'avait que deux mots à nous dire... je plains son auditoire lorsqu'il doit faire un long discours"
(c) Le gardien du square
--
La scène de la traduction francophone : http://traf.romhack.org/

Hiei-

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Hiei- » 23 mars 2011, 11:40

Pour "Hokuto no Ken", je ne suis pas très d"accord.

Les dialogues n'ont rien de "très méchant", au contraire (pour avoir vu la VO).

Mais bon, les doubleurs de la série étaient un peu cons.

Déjà, pour confondre le drapeau de la croix du sud et un truc Nazi, faut y aller...

Avatar de l’utilisateur
Ti Dragon
Est devenu grand
Messages : 12441
Inscription : 25 févr. 2002, 18:25
Localisation : Dans mon lit c'est mieux
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Ti Dragon » 23 mars 2011, 12:25

On peut discuter les détails tant qu'on voudra. Mais je suis très loin de blâmer leur travail. Après, chacun a sa propre opinion et je dois être l'un des rares à défendre cette position :P Mais les pseudo puristes m'exaspèrent parfois car ils n'ont bien souvent pas la connaissance de la VO (ou simplement au travers... d'autres traductions...), du contexte ou de la culture dans son ensemble.

C'est un débat sans fin, de toute façon.
"Heureusement qu'il n'avait que deux mots à nous dire... je plains son auditoire lorsqu'il doit faire un long discours"
(c) Le gardien du square
--
La scène de la traduction francophone : http://traf.romhack.org/

Hiei-

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Hiei- » 23 mars 2011, 12:33

Si c'était un truc amateur, je n'aurais rien contre, sauf que là c'est pourrir le boulot de ceux qui ont fait le manga en rendant la série débile (je m'étonne d'ailleurs qu'ils n'aient jamais faire interdire cette version, quoi qu'ils ne sont peut-être même pas au courant).

Qu'ils disent "on voulait tripper, on a fait des conneries", ça ok.

Mais qu'ils sortent l'excuse des dialogues, qui ne tient pas debout, ça pour moi, non.

Si la série n'était pas adaptée à un public d'enfant, ça c'est leur avis et dans ce cas, il ne fallait juste pas la diffuser, tout simplement (et la sortir uniquement en vidéo, par exemple, comme les OAV d'époques).

"City Hunter" s'en tire mieux, je trouve amusant que les pseudos-méchants aient des voix de "gros boulets", ça colle bien avec ce genre de types (par contre, les restaurants végétariens... Les enfants voient et entendent bien pire dans les films/séries au même âge, je doute qu'ils soient choqués car "Ryô" veut emmener les femmes de la série à l'hôtel, qui serait d'ailleurs plus vague que dans la VO).

Pareil, que les punks de "Hokuto no Ken" déblattèrent des conneries, je trouve que ça colle bien.

Les persos principaux par contre, non.

Après pareil, oui, mon opinion n'engage que moi et si certains aiment bien la VF, tant mieux :)
Dernière édition par Hiei- le 25 mars 2011, 17:40, édité 2 fois.

Avatar de l’utilisateur
Ti Dragon
Est devenu grand
Messages : 12441
Inscription : 25 févr. 2002, 18:25
Localisation : Dans mon lit c'est mieux
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Ti Dragon » 23 mars 2011, 12:48

D'ailleurs, j'ai cru comprendre que les délires des doubleurs ne concernaient que la deuxième partie de la série. Après, oui, il y en a peut-être de trop (mais, "Ryuga de Montélimar", c'est tout simplement l'un de mes favoris :D). Par contre, OK, avoir renommé Raoh en Raoul, c'était moyen (sauf que j'en rigole encore, désolé :D).
"Heureusement qu'il n'avait que deux mots à nous dire... je plains son auditoire lorsqu'il doit faire un long discours"
(c) Le gardien du square
--
La scène de la traduction francophone : http://traf.romhack.org/

Hiei-

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Hiei- » 23 mars 2011, 12:52

Oui, le début est assez épargné par ce genre de choses, de mémoire.

Le coup de "Raoh => Raoul", ça ne me choque pas perso.

Avatar de l’utilisateur
bahramut
Nouveau Floodeur
Messages : 16
Inscription : 29 déc. 2005, 07:22

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par bahramut » 23 mars 2011, 20:03

Meradrin a écrit :Salut, l’ami ! Je ne peux pas te répondre pour la traduction. Je fais confiance en Bahamut, et il en a sous le chapeau des traductions ! Donc tu peux débattre avec lui du pourquoi du comment ! Mais bon tous se que j’ai a t’offrir c’est une news sur l’avancement et mon hack !

Donc pour ma part, je viens de finir la reprogrammation de l’intro pour supporter la traduction du titre et des textes comme le new game etc…
Le titre est sur le BG2 et le New Game etc… est sur le BG1. Les deux utilise les même palettes et les même tiles, j’ai donc bâtis l’outil pour gardé ça à l’esprit ;)

Pour tester que l’insertion marchait bien j’ai pris mon paint et éditer le BMP en champion graphiste que je suis !

Voilà un vidéo du chef d'oeuvre !
http://www.youtube.com/watch?v=VPldf9R8SJc

Mais sinon, j’ai dumpé pas mal de texte compressé Object, Carte, Magie, et leurs description respective et le « Diary » de l’héroïne ! Le menu va avoir pas mal de hack asm et c’est déjà en cours pour un lifthing, je suis après faire une VWF 8x8 voir si ça vos le coup. On verra ;)

Niveau traduction Bahamut à tous fini les textes que je lui ai donner :D Donc c’est à moi de produire plus vite ! Sinon, il est tard et je vais dormir :) Sur ce faite attention à vous et buvez pour moi ;)

Si vous vous dites : Mera!! Ils sont ou tes tutos de hack, ne vous iniquité pas ça va venir :D
merci pour les infos !!!! le projet a l'air de bien avancer
tiptop la video
je vais poser des vacance pour la sorti du patch....
(vivement la retraite)

Ti Dragon a écrit : Sinon, pour répondre à bahramut, je suis assez de son avis pour "Soulayman" - je prendrais celui-ci car il s'agit du prénom d'un calife (bien qu'il existe des tas de graphies comme Suleyman, Suleymane, Süleyman, Souleiman, Suleiman, Soliman, Slimane ou Schlomo selon Wikipédia - tous ces noms étant des équivalents de Salomon, célèbre pour avoir été porté par un roi de la Bible). Mais je dois lui rappeler, d'une part que les japonais écrivent en phonétique (et que, là, vraisemblablement, puisqu'il s'agit d'un prénom étranger, il est écrit en katakana - "su le ma n" je suppose), d'autre part que le traducteur a toute latitude pour franciser un nom, surtout que, dans ce cas précis, son choix est motivé par une équivalence (même si je ne suis pas d'accord mais chacun ses goûts). Comment traduirais-tu "a ru be ru to" ? Albert ou Alberto ? À chacun d'adapter selon le contexte.
la francisation (je sais pas si ca existe) des mots ne doit pas être appliquer aux noms propres
cela crée des confusion a mon avis
Ti Dragon a écrit :le Ryuga de Montélimar
:oops: je suis passé a coté du jeux de mots

pour city Hunter c'est plus de la censure non ?
car il est vrais qu'il est direct dans la VO
Non personne n'est séquestré, mais s'est tout comme

Avatar de l’utilisateur
Ti Dragon
Est devenu grand
Messages : 12441
Inscription : 25 févr. 2002, 18:25
Localisation : Dans mon lit c'est mieux
Contact :

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Ti Dragon » 25 mars 2011, 17:01

bahramut a écrit : la francisation (je sais pas si ca existe) des mots ne doit pas être appliquer aux noms propres
cela crée des confusion a mon avis
On parle de translittération et de transcription.

Donc, si j'ai bien compris ton raisonnement, tu préfères qu'il écrives "Suleman" (katakana) que Solimane ? Et, dans le cas que je citais, tu préfères "Aruberuto" à "Albert"/"Alberto" ? Tu te rends compte de l'hérésie ?

Les katakana sont là pour indiquer que les prénoms sont d'origine étrangère : le traducteur DOIT PAR CONSÉQUENT en tenir compte et ne pas translittérer/transcrire comme un malpropre. Le Noble Bahamut peut être considéré comme un expert dans la traduction Jap -> Fr et, par conséquent, compétent pour comprendre ce genre de chose avec naturel. La seule chose qu'on peut lui "reprocher", c'est cette adaptation. Sujette à débat néanmoins.

Si un personnage s'appelle 冴羽獠, je serais bien évidemment d'accord avec toi : il faut l'appeler "Ryō Saeba" et pas "Nicky Larson" (spéciale dédicace à mon braza). Par contre, si le héros s'appelle パスカル, on devrait l'appeler "Pascal" et pas "Pasukaru" (on l'écrirait en revanche ainsi s'il était écrit sous la forme ぱすかる :P).

Enfin, tu parles de confusion... Mais de quelle confusion ? Les japanisants vont y jouer en version originale quand les gens comme toi et moi vont y jouer dans une langue plus compréhensible... Ce genre d'argument n'est valable que dans le domaine de l'anime car tu écoutes et lis en même temps. Là, il n'y a pas de sous-titre. Donc, à mon sens, pas de confusion possible... ou alors, confusion avec des articles du net concernant le jeu et qui auraient choisi une autre traduction ?
bahramut a écrit : pour city Hunter c'est plus de la censure non ?
car il est vrais qu'il est direct dans la VO
Oui... comme pour Ken le Survivant, finalement ;) Sauf qu'on a aussi censuré certaines images (mais je rejoins l'avis de Hiei- : le rendu final était sympathique et, pour ma part, était assez fidèle à l'esprit japonais de déconnade à plein tube).
"Heureusement qu'il n'avait que deux mots à nous dire... je plains son auditoire lorsqu'il doit faire un long discours"
(c) Le gardien du square
--
La scène de la traduction francophone : http://traf.romhack.org/

Avatar de l’utilisateur
Lenoblebahamut
Super Floodeur
Messages : 153
Inscription : 23 oct. 2009, 11:50
Localisation : La Réunion (974)

Re: [SNES] Arabian Nights - Sabaku no Seirei Ou

Message non lu par Lenoblebahamut » 25 mars 2011, 18:54

Il est vrai qu'une "francisation" trop franche peut gêner! ^^
Et j'ai toujours écouté ce qu'on pouvait penser de telles ou telles choses! ^_-

Alors ce sera Suleyman! ^^
Dans un sens, je préfère aussi. Peut-être suis-je "presque" trop francisation! ^^

Après, je me souviens que dans Star Ocean 2 / Blue Sphère, Claude n'a jamais été Claude mais Crawd (écrit tel quel, alphabet latin, dans la rom jap).
Mais par souci de continuïté, Lyan a bien voulu modifier ce prénom (version graphique) en Claude! ^^

Désolé d'avoir répondu si tard,
mais les congés ont pris fin!
J'ai repris le boulot depuis Jeudi!

Répondre