[SNES] Captain Tsubasa 4

Questions en rapport avec nos traductions. http://generation9.kanshima.net

Modérateur : Génération IX

Avatar de l’utilisateur
Machin
Maître en Flood
Messages : 323
Inscription : 28 mai 2003, 16:25

Re: [SNES] Captain Tsubasa 4

Message non lu par Machin » 03 janv. 2012, 05:24

Enorme ! Je suis sur que plein de personne sont intéressé par ce magnifique jeu !
Machin

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [SNES] Captain Tsubasa 4

Message non lu par BahaBulle » 03 janv. 2012, 09:26

Je veux bien jeter un œil pour trouver les pointeurs ou comment agrandir les cadres mais vous vous débrouillez pour l'extraction/insertion.

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 03 janv. 2012, 11:04

Plus tard, tu as déjà plein de choses sur le feu :D (pour l'extraction/insertion, c'est un jeu qui se modifie à la main je pense, vu le peu de textes).

Les pointeurs, je les ai déjà sinon, c'est les pointeurs (24-bits) des tables de pointeurs qu'il manque, pour étendre la rom et tout déplacer.

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

Re: [SNES] Captain Tsubasa 4

Message non lu par GreatSkaori » 04 janv. 2012, 05:44

Peu de texte? Je peux me planter, mais il me semble qu'il y a un commentateur qui raconte sa vie tout le long des matchs, me trompé-je?
Your sins lay heavy upon you defiler of souls.
By the holy laws you shall be obliterated !

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 04 janv. 2012, 05:46

Oui, mais il dit souvent pareil, du style :

"Nom du joueur"
"Action"

Ou bien "But/Corner/Coup Franc" mais ça ne va pas beaucoup plus loin.

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [SNES] Captain Tsubasa 4

Message non lu par BahaBulle » 04 janv. 2012, 11:12

Hiei- a écrit :Edit : Je cherchais les pointeurs 24-bits de la première table des pointeurs, et je suis tombé sur 0x3000. La valeur "0x2EB0" me semble intéressante, car si on la modifie en "0x2EB1", tous les noms des joueurs changent dans le jeu, donc on dirait qu'il appelle une autre table de pointeurs.
En effet, en 0x3000, tu as une table de pointeurs pour plusieurs blocs de textes (pointeurs+textes)
Hiei- a écrit :J'ai imaginé que "80" était le numéro de bank comme BahaBulle m'a expliqué pour Lufia (même si pour Lufia, le numéro de bank n'était pas loin, mais pas à la suite), mais visiblement non (ça aurait été trop facile :-P )
Ne pas oublier qu'il y a 2 "types" de LOROM. Un dont le numéro de bank commence à $00 et l'autre à $80.
Et là, c'est $00 :-P
Donc le pointeur de ta table (en 0x3000) est $00:B000.

Et ce pointeur se trouve en 0x8E9 (1 octet = bank) et 0x8EF (2 octets = adresse).


Pour les cadres, faut me dire quoi, où et comment y arriver.


*** EDIT ***
Pffffiiiou, fatigué moi. En fait, je ne t'ai pas vraiment donné ce que tu voulais :-P
Toi tu voulais la bank qui va avec les pointeurs en 0x3000 (B02E, B748...) alors que je t'ai donné le pointeur de la table même.

Bref, cette bank est forcément 00.

Donc, tu ne pourras pas déplacer ces blocs où tu veux dans la rom sans modif ASM.
Je te fais ça dès que je peux vu que ça ne devrait pas être très long à faire.

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 04 janv. 2012, 22:58

Je remets ici le pm que j'ai envoyé comme réponse à Baha, pour les curieux qui voudraient suivre (Machin ?)
Image

Pour afficher ce menu il suffit de lancer le jeu, tu fais "START" lorsque l'écran de présentation apparait (avec "KICK OFF").

Tu choisis un nom au pif et tu valides (tu appuies sur A plusieurs fois).

Tu passes toute la scène de début, tu atteriras dans un menu. Dans ce menu, tu choisis la 3ème option en partant du haut (チームデータ) et tu tomberas sur le menu en question.

En décalant tous les noms d'un cran sur la gauche (en les collant aux numéros), ça ferait apparaître la lettre manquante du n°6 (un O).

En faisant pareil dans la colonne de droite, ça ferait aussi apparaitre la lettre maquante, un "I".

Le must serait d'essayer de coller les chiffres et le GK quasiment sur la bordure à gauche, pour grapiller quelques pixels et que la dernière lettre ne tappe plus dans la bordure. (Pareil pour la colonne de droite).

Pour les pointeurs, ça a l'air de fonctionner, j'ai mis plus de textes que l'original et ça ne semble pas poser de problème.
Pour le reste, j'avais bien, raison :

Image Image
Image Image
Image Image

Dès qu'on traduit, les noms, ça traduit dans le jeu. Le "くん" est en graphique dans le jeu, on peut le virer, il reste le "Tir" en bas.

Sauf que ça va décaler quelques autres trucs (d'autres noms).

Donc je pense que c'est mal barré à part d'avoir une VWF et de se contenter des 48 pixels pour chaque nom : 6x8 (voir au pire 7x8).
Dernière édition par Hiei- le 05 janv. 2012, 06:18, édité 3 fois.

Avatar de l’utilisateur
Machin
Maître en Flood
Messages : 323
Inscription : 28 mai 2003, 16:25

Re: [SNES] Captain Tsubasa 4

Message non lu par Machin » 04 janv. 2012, 23:09

C'est intéressant j'y connais pas grand chose au hack mais de voir l'évolution est très intéressant.
Machin

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

Re: [SNES] Captain Tsubasa 4

Message non lu par GreatSkaori » 05 janv. 2012, 04:34

Ah les noms des joueurs et des pays en katakana... ça me rappelle des souvenirs, c'est de cette manière que j'ai appris mes katakana. En lisant les noms des joueurs du jeu Captain Tsubasa 4 pendant 3h :D
Your sins lay heavy upon you defiler of souls.
By the holy laws you shall be obliterated !

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 05 janv. 2012, 05:29

Quelques infos que je poste pour moi, en tant que mémo, car ça m'arrive de "paumer/ne plus retrouver certaines infos/écraser certaines infos par erreur" lorsque j'en ai besoin (puis comme ça, comme dirait Skeud, autant partager, si je dispairais, ça ne restera pas vain comme ça :D) :

Liste des blocs déplacés par BahaBulle (Adresse SNES / Adresse PC) :
:

Code : Tout sélectionner

30:B02E => 0x18302E
30:B748 => 0x183748
30:BE28 => 0x183E28
30:C0F9 => 0x1840F9
30:C463 => 0x184463
30:C51D => 0x18451D
30:C5BB => 0x1845BB
30:C5EC => 0x1845EC
30:C630 => 0x184630
30:C660 => 0x184660
30:C688 => 0x184688
30:C690 => 0x184690
30:C6DD => 0x1846DD
30:C6F3 => 0x1846F3
30:C6FF => 0x1846FF
30:C70B => 0x18470B
30:C719 => 0x184719
30:C71F => 0x18471F
30:C72D => 0x18472D
30:C743 => 0x184743
30:C74B => 0x18474B
30:C757 => 0x184757
30:C763 => 0x184763
Commande Hareng-Tool pour extraire les 23 blocs (adresses déduites à partir de la liste précédente indiquant le début de chaque table de pointeurs) :
:

Code : Tout sélectionner

extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-01.TXT", 0x18322E, 0x183747, 0x18302E, 256, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-02.TXT", 0x183948, 0x183E27, 0x183748, 256, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-03.TXT", 0x183ED2, 0x1840F8, 0x183E28, 85, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-04.TXT", 0x184195, 0x184462, 0x1840F9, 78, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-05.TXT", 0x184485, 0x18451C, 0x184463, 17, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-06.TXT", 0x18453B, 0x1845BA, 0x18451D, 15, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-07.TXT", 0x1845C7, 0x1845EB, 0x1845BB, 6, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-08.TXT", 0x1845F8, 0x18462F, 0x1845EC, 6, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-09.TXT", 0x184638, 0x18465F, 0x184630, 4, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-10.TXT", 0x184668, 0x184687, 0x184660, 4, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-11.TXT", 0x18468A, 0x18468F, 0x184688, 1, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-12.TXT", 0x18469E, 0x1846DC, 0x184690, 7, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-13.TXT", 0x1846E1, 0x1846F2, 0x1846DD, 2, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-14.TXT", 0x1846F7, 0x1846FE, 0x1846F3, 2, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-15.TXT", 0x184703, 0x18470A, 0x1846FF, 2, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-16.TXT", 0x18470F, 0x184718, 0x18470B, 2, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-17.TXT", 0x18471B, 0x18471E, 0x184719, 1, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-18.TXT", 0x184723, 0x18472C, 0x18471F, 2, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-19.TXT", 0x184733, 0x184742, 0x18472D, 3, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-20.TXT", 0x184745, 0x18474A, 0x184743, 1, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-21.TXT", 0x18474D, 0x184756, 0x18474B, 1, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-22.TXT", 0x184759, 0x184762, 0x184757, 1, 2, "X-$8000", little_endian)
extraire("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-23.TXT", 0x184777, 0x1847AF, 0x184763, 10, 2, "X-$8000", little_endian)

Je ne mets pas celle de l'insertion pour l'instant, c'est la même avec "+8000" au lieu de +"8000". Je la posterai lorsque j'aurai tout bien redéplacé, un bloc par bank et que ce sera fonctionnel (pour les blocs 5-21, je vais tous les mettre dans une même bank car ça ne sert à rien de trop étendre la rom pour rien, vu le peu de pointeurs dans les blocs en question).

Edit : Commande Hareng-Tool pour réinsérer les 23 blocs (dans des banks séparées pour les 4 premiers blocs, et dans une seule bank pour les blocs 5-21) :
:

Code : Tout sélectionner

inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-01.TXT", 0x180430, 0x187FFF, 0x180230, 256, 2, "X+$8000", little_endian)

inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-02.TXT", 0x188200, 0x18FFFF, 0x188000, 256, 2, "X+$0", little_endian)

inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-03.TXT", 0x1900AA, 0x197FFF, 0x190000, 85, 2, "X+$8000", little_endian)

inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-04.TXT", 0x19809C, 0x19FFFF, 0x198000, 78, 2, "X+$0", little_endian)

inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-05.TXT", 0x1A0022, 0x1A0FFF, 0x1A0000, 17, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-06.TXT", 0x1A101E, 0x1A1FFF, 0x1A1000, 15, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-07.TXT", 0x1A200C, 0x1A27FF, 0x1A2000, 6, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-08.TXT", 0x1A280C, 0x1A2FFF, 0x1A2800, 6, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-09.TXT", 0x1A3008, 0x1A33FF, 0x1A3000, 4, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-10.TXT", 0x1A3408, 0x1A37FF, 0x1A3400, 4, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-11.TXT", 0x1A3802, 0x1A39FF, 0x1A3800, 1, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-12.TXT", 0x1A3A0E, 0x1A3DFF, 0x1A3A00, 7, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-13.TXT", 0x1A3E04, 0x1A3FFF, 0x1A3E00, 2, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-14.TXT", 0x1A4004, 0x1A41FF, 0x1A4000, 2, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-15.TXT", 0x1A4204, 0x1A43FF, 0x1A4200, 2, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-16.TXT", 0x1A4404, 0x1A45FF, 0x1A4400, 2, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-17.TXT", 0x1A4602, 0x1A47FF, 0x1A4600, 1, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-18.TXT", 0x1A4804, 0x1A49FF, 0x1A4800, 2, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-19.TXT", 0x1A4A06, 0x1A4BFF, 0x1A4A00, 3, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-20.TXT", 0x1A4C02, 0x1A4DFF, 0x1A4C00, 1, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-21.TXT", 0x1A4E02, 0x1A4FFF, 0x1A4E00, 1, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-22.TXT", 0x1A5002, 0x1A51FF, 0x1A5000, 1, 2, "X+$8000", little_endian)
inserer("CTIV_FR.smc", "CT4.tbl", "CT4-DUMP-23.TXT", 0x1A5214, 0x1A7FFF, 0x1A5200, 10, 2, "X+$8000", little_endian)
Nouveaux valeurs des pointeurs 24-bits :
:

Code : Tout sélectionner

308230
008031
008032
008033
008034
009034
00A034
00A834
00B034
00B434
00B834
00BA34
00BE34
00C034
00C234
00C434
00C634
00C834
00CA34
00CC34
00CE34
00D034
00D234
Edit : Mis à jour finale.
Dernière édition par Hiei- le 10 janv. 2012, 11:07, édité 5 fois.

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [SNES] Captain Tsubasa 4

Message non lu par BahaBulle » 05 janv. 2012, 10:13

Apparemment, tu as réussi à régler ton problème.
Et une bank fait 0x8000 octets donc ton tableau me semble correct :

Code : Tout sélectionner

Bank "30" : "0x180000-0x187FFF" (SNES : "30:8000-30:7FFF")
Bank "31" : "0x188000-0x18FFFF" (SNES : "31:8000-31:FFFF")
Bank "32" : "0x190000-0x197FFF" (SNES : "32:8000-32:7FFF")
Bank "33" : "0x198000-0x19FFFF" (SNES : "33:8000-33:FFFF")
Bank "34" : "0x1A0000-0x1A7FFF" (SNES : "34:8000-34:7FFF")
Pour ceux que ça intéresse, voilà le script ASM que j'ai fait pour transformer les pointeurs 16bits en 24bits de la table de pointeurs en 0x3000.

Code : Tout sélectionner

//----------------------------------------------------------------------------------------------------------------------
// CaptainTsubsaIV.asm - Script for xkas v0.14
// Description : Transforme les pointeurs 16 bits en 24 bits de la table en 0x3000
// Jeu         : Captain Tsubasa IV (SNES)
// Version     : 1.0 04/01/2012
// Auteur      : BahaBulle
//----------------------------------------------------------------------------------------------------------------------
// Execution   : xkas -o <output> <script.asm>
//----------------------------------------------------------------------------------------------------------------------

arch snes.cpu; lorom

//----------------------------------------------------------------------------------------------------------------------
// DEFINITION DES VARIABLES
//----------------------------------------------------------------------------------------------------------------------

define tbl_pt_bank   #$00        // Bank de la table de pointeurs à modifier
define tbl_pt_adr    $B000       // Adresse de la table de pointeurs à modifier
define read_24_adr   $308000     // Adresse où sera écrit la nouvelle routine
define size_bank     $8000       // Nombre d'octets à ajouter à la fin de la rom


//----------------------------------------------------------------------------------------------------------------------
// AGRANDISSEMENT DE LA ROM
//----------------------------------------------------------------------------------------------------------------------

print "Agrandissement de la rom de ", {size_bank}, " octets"

org {read_24_adr}
fill {size_bank}


//----------------------------------------------------------------------------------------------------------------------
// APPEL DE LA NOUVELLE ROUTINE
//----------------------------------------------------------------------------------------------------------------------

print "Transformation de pointeurs 16 bits en 24 bits"

org $0088DC
   JSL Read24
   JMP $88FB


//----------------------------------------------------------------------------------------------------------------------
// NOUVELLE ROUTINE DE LECTURE 24 BITS
//----------------------------------------------------------------------------------------------------------------------

org {read_24_adr}
Read24:
   XBA
   STA $C3
   ASL
   CLC
   ADC $C3
   TAX
   LDA #$00
   XBA
   REP #$30
   ASL
   TAY
   SEP #$20
   LDA {tbl_pt_bank}
   PHA
   PLB
   REP #$20
   LDA {tbl_pt_adr},x
   STA $C3
   SEP #$20
   LDA {tbl_pt_adr}+2,x
   STA $C5
   REP #$20
   LDA [$C3],y
   STA $C3
   SEP #$20
   RTL

//----------------------------------------------------------------------------------------------------------------------

print "Traitement termine"

//----------------------------------------------------------------------------------------------------------------------
Pour l'écran de la composition de l'équipe, on peut voir qu'il y a un tile à gauche et un tile à droite qui ne sont pas utilisés.
Alors autant s'en servir :D

Image -> Image

Et voilà le code ASM

Code : Tout sélectionner

//----------------------------------------------------------------------------------------------------------------------
// CTIV-CadreEquipe.asm - Script for xkas v0.14
// Description : Agrandi les cadres de la composition de l'équipe
// Jeu         : Captain Tsubasa IV (SNES)
// Version     : 1.0 05/01/2012
// Auteur      : BahaBulle
//----------------------------------------------------------------------------------------------------------------------
// Execution   : xkas -o <output> <script.asm>
//----------------------------------------------------------------------------------------------------------------------

arch snes.cpu; lorom

//----------------------------------------------------------------------------------------------------------------------
// DEFINITION DES VARIABLES
//----------------------------------------------------------------------------------------------------------------------

define size_frame_left  0C       // Nombre de colonne du cadre gauche (0B -> 0C)
define pos_frame_left   7C60     // Position en VRAM de la map du cadre gauche (7C61 -> 7C60)
define size_frame_right 09       // Nombre de colonne du cadre droit (08 -> 09)
define pos_frame_right  7C77     // Position en VRAM de la map du cadre gauche (7C77 -> 7C77)

//----------------------------------------------------------------------------------------------------------------------
// CADRE GAUCHE
//----------------------------------------------------------------------------------------------------------------------

print "Agrandissement du cadre gauche"

org $01A5CB
   db ${size_frame_left}

org $01A5CF
   db ${size_frame_left}


print "Deplacement de la map en VRAM du cadre gauche"

org $05C9B6
   LDA #${pos_frame_left}


print "Decalage d'un tile des noms des joueurs"

org $04E9AB
fill 4, $EA


//----------------------------------------------------------------------------------------------------------------------
// CADRE DROIT
//----------------------------------------------------------------------------------------------------------------------

print "Agrandissement du cadre droit"

org $01A602
   db ${size_frame_right}

org $01A606
   db ${size_frame_right}


// PAS UTILE - Mais on note au cas où :p
//print "Deplacement de la map en VRAM du cadre droit"
//org $05C99B
//   LDA #${pos_frame_right}

//----------------------------------------------------------------------------------------------------------------------

print "Traitement termine"

//----------------------------------------------------------------------------------------------------------------------
A tester avec des noms plus grands histoire d'être sûr qu'il n'y a pas d'autres modifs à faire ;)

Concernant l'espace avant les numéros et avant la fin du cadre, ils ne sont pas utilisables vu que le jeu utilise une tilemap. Et donc, chaque tile fait 8 pixels de large. Après faut voir si les cadres du milieu et de droite ne peuvent pas être réduits en fonction du texte dedans.


*** EDIT ***
Ajout du code pour décaler les noms des joueurs d'un tile vers la gauche (collé au numéro).

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 05 janv. 2012, 15:36

Non, elle plante toujours, je t'ai copier-collé ça sur IRC.

Il serait intéresser de réduire de quelques pixels le cadre du centre (vers la gauche), oui :

Image

Histoire que le 9ème caractère des noms, ici, un zéro, apparaisse complètement

Pour les noms, il faudrait réussir à aussi étendre/décaler les noms in-game, sinon on ne pourra pas en mettre de plus loin dans les menus

Image

Le nom en haut à gauche par exemple, sur la ligne où il y a "272", pour utiliser des noms dans les menus, il faudrait que ce morceau soit plus long, donc que le "272" soit plus à droite, qu'il s'arrête au milieu du terrain par exemple.

Image

Le cadre avec le 631 n'autorise que 6 lettres, alors qu'on est passé à 9 dans les menus.

Image

Il faudrait déplacer le nom encadré plus à gauche, pareil pour le truc "てきOF" en dessus. Décaler le cadre encadré au milieu un peu plus à droite (genre le centre dans le cadre), et décaler le "DF こうどう" plus à droite.

Image

Comme tu vois, le nom de gauche butte sur ceux du milieu lorsqu'il est trop long (8 caractères sur 9 s'affiche ici).

Image

Le nom du milieu butte sur le texte à droite (les actions) car il est trop long (encore 8 caractères sur 9). En décalant tout comme indiquant précédement, ça devrait passer.

Image

Même chose, et en plus le "シュート" n'est même pas centré en dessous du "DFこうどう", une fois décalé il le serait.

Image

On voit les limites des cadres, il faudrait pouvoir afficher 9 caractères pour le nom de gauche, 9 pour ceux du milieu, et les actions à droite sans bouffer de lettres sur un nom.

Image

Même chose.

Image

Là, comme je l'expliquais au début, on voit que le cadre de gauche n'accepte que 6 caractères. Le cadre de droite par contre a déjà l'air à la bonne taille, de vue, pour 9 caractères (enfin, si toute la taille est utilisable en tout cas, à voir. Tout simplement car le stamina de l'adversaire n'est jamais affiché).

Image

Même chose que les autres cadres.

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [SNES] Captain Tsubasa 4

Message non lu par BahaBulle » 05 janv. 2012, 17:09

Hiei- a écrit :Non, elle plante toujours, je t'ai copier-collé ça sur IRC.
Ce qu'il ne faut jamais oublier avec une lorom, c'est qu'une bank commence toujours en $XX:8000.
Donc si un pointeur 16 bits est inférieur à $8000, c'est qu'il y a un problème.
Bon, ça dépend du jeu vu que certains peuvent ajouter d'office $8000 mais ce n'est pas le cas ici ;)

J'imagine que tu utilises la même version du hareng que celle que j'ai (ou en tout, ça y ressemble).
Dans le fichier hareng-tool.lua, dans la fonction "inserer", tu as la ligne :

Code : Tout sélectionner

calcul = calcul .. string.format("+$%X", debut_txt)
Et ça, en gros, ça dit d'ajouter l'adresse de début des textes à la formule pour calculer les pointeurs.
Si je prend ton premier fichier :

Code : Tout sélectionner

inserer("CT4_BAHA-BUG.smc", "CT4.tbl", "CT4-DUMP-01.TXT", 0x180230, 0x187FFF, 0x180030, 256, 2, "X+$8000", little_endian)
Il va faire : 0x00 (valeur du pointeur) + 0x8000 (de la formule) + 0x180230 (adresse des textes) = 0x188230.
Notre premier pointeur sera donc 8230. Pas de souci.

Si on prend le 2ème fichier :

Code : Tout sélectionner

inserer("CT4_BAHA-BUG.smc", "CT4.tbl", "CT4-DUMP-02.TXT", 0x188200, 0x18FFFF, 0x188000, 256, 2, "X+$8000", little_endian)
0x00 + 0x8000 + 0x188200 = 0x190200
Notre premier pointeur sera 0200 et là... c'est le drame parce que pour la SNES, ce n'est pas une adresse en ROM mais plutôt en RAM.

Bref, tes fichiers 2 et 4 doivent avoir comme formule "X" et ça devrait rouler.

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 05 janv. 2012, 18:49

Ok, c'était ça, il n'y a plus de bug maintenant :)

Pour l'agrandissement des cadres "in-game" et le "montage" que tu m'as demandé, le revoilà (je te l'ai mis sur IRC, mais ce sera plus simple que de rechercher dans tes logs, si besoin).

L'original est là :

Image

Le montage est là :

Image

quelque chose de ce genre (j'ai rallongé les noms du milieu en faisant un copier coller, dans la rom, ils seront moins longs), et j'ai compté 8 pixels entre chaque colonne (là où il y a les traits rouges), donc un "tile".

Basiquement, faudrait décaler le nom de gauche d'un tile à gauche (voir toute la colonne entière s'il n'y a pas le choix, ce n'est pas gênant) pour faire apparaître le caractère manquant.

Décaler les noms (voir la colonne) du milieu d'un cran à droite, pour avoir une séparation avec celle de gauche (d'un tile), ce qui est représenté par le trait rouge vertical.

Décaler les noms (voir la colonne) de droite de 4 tiles vers la droite, pour laisser de la place pour les trois dernières lettres en plus du montage (6+3), donc 3 tiles plus un tile pour l'espace (le trait rouge vertical).

Plus le truc de stamina :

Image

Faudrait pouvoir rentrer GIL000000 (donc 3 caractères en plus), puis le nombre, "400". Le must serait de réussir à caser 10 caractères au lieu des 6, ce qui donnerait 9 caractères + un espace entre le nom et le chiffre. Maintenant, 9 serait déjà pas mal (l'original a aussi le nombre collé aux noms, donc ce n'est qu'un détail "visuel").

Après ça, je pense qu'il n'y aura plus rien d'autres à faire dans ce genre. Avec 9 lettres par nom, ça devrait le faire.

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [SNES] Captain Tsubasa 4

Message non lu par BahaBulle » 05 janv. 2012, 20:04

Hiei- a écrit :Pour l'agrandissement des cadres "in-game" et le "montage" que tu m'as demandé, le revoilà (je te l'ai mis sur IRC, mais ce sera plus simple que de rechercher dans tes logs, si besoin).
Surtout que je ne log pas :-P

Avatar de l’utilisateur
Machin
Maître en Flood
Messages : 323
Inscription : 28 mai 2003, 16:25

Re: [SNES] Captain Tsubasa 4

Message non lu par Machin » 05 janv. 2012, 20:13

BahaBulle a écrit :
Hiei- a écrit :Pour l'agrandissement des cadres "in-game" et le "montage" que tu m'as demandé, le revoilà (je te l'ai mis sur IRC, mais ce sera plus simple que de rechercher dans tes logs, si besoin).
Surtout que je ne log pas :-P
Surtout qu'il vient pas souvent sur irc :p
Machin

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 05 janv. 2012, 20:25

Si si, en ce moment, il est là tous les jours (en semaine) sur IRC depuis un petit moment.

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 05 janv. 2012, 20:28

Image

Et je pense aussi qu'il y a sûrement moyen d'agrandir un peu le cadre général, comme tu as fait dans les menus, pour qu'il prenne toute la largeur de l'écran.

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 06 janv. 2012, 01:51

Je rectifie une supposition de ma part, qui est éronnée :

Image

Même si le cadre à droite a l'air plus grand que les noms, il n'affiche quand même que 6 caractères (48 pixels), car le nom complet est "ZAGALLO" et il n'affiche que "ZAGALL".

Sinon, j'ai traduit pas mal de trucs ce soir, la moitié des noms du premier bloc (128 noms), Tous les tirs (bloc 4).

Et j'ai donc remarqué quelques trucs :

- Comme prévu, 9 lettres suffiront pour 99% des noms, pour le reste je me débrouillerai avec une petite DTE graphique ou autre.

- Le menu des tirs devra être un peu agrandi, mais chaque chose en son temps (sinon on tombe dans le royaume des abbréviations avec le nom des tirs, qui sont pour la plupart en anglais en version originale, encore heureux, traduit ce serait encore plus long :D).

- Quelques autres menus de formation d'équipe où apparaissent les noms de joueurs auront aussi besoin d'être agrandis, c'est le même style de menu que celui que tu as déjà agrandi un chouilla pour coller aux bords de l'écran.

- Le jeu utilise "シュート" (Shoot) pour l'action à choisir et l'action dans le jeu, du genre "Nom du perso SHOOT". Sauf qu'en français, l'action dans le menu est "Tir" ou "Tirer", et l'action dans le dialogue serait "Nom du perso TIRE". J'imagine qu'il sera possible de faire quelque chose, mais ce n'est qu'un détail pour l'instant.

Mais bon, le plus important pour l'instant est ce menu à retaper :

Image

Maintenant, ça ne presse pas du tout perso donc y'a le temps :)

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6450
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Re: [SNES] Captain Tsubasa 4

Message non lu par BahaBulle » 06 janv. 2012, 14:13

Bon, en voilà déjà une partie.

Dans les scripts, j'ai seulement modifier les valeurs pour agrandir les cadres, ce sera à toi de déplacer les textes en modifiant les valeurs dans la partie "Définition des variables".
Si tu retire 1, ça décale le texte à gauche, si tu ajoutes 1, ça le décale à droite.

Ne sachant pas ce qu'ils veulent dire, les textes sont numérotés dans l'ordre qu'ils apparaissent (lecture de gauche à droite et de haut en bas).
Le souci c'est qu’apparemment, il peut y avoir 1, 2, ou 3 noms dans la partie basse des cadres (noms des défenseurs je crois) et je n'ai pas pu avoir tous les cas donc il risque de manquer des valeurs.
Il se peut aussi qu'il manque le cadre lors d'un tir au but. J'ai eu quand l'autre équipe tire mais pas quand nous on tire. Vu que les cadres attaque et défense n'utilisent pas les mêmes valeurs, j'imagine que c'est pareil pour les tirs au but.

Pour que ce soit clair, j'ai fait un script par cadre.

Cadre lorsqu'on attaque :

Code : Tout sélectionner

//----------------------------------------------------------------------------------------------------------------------
// CTIV-CadreActionAttaque.asm - Script for xkas v0.14
// Description : Gestion du cadre des actions d'attaque
// Jeu         : Captain Tsubasa IV (SNES)
// Version     : 1.0 06/01/2012
// Auteur      : BahaBulle
//----------------------------------------------------------------------------------------------------------------------
// Execution   : xkas -o <output> <script.asm>
//----------------------------------------------------------------------------------------------------------------------

arch snes.cpu; lorom


//----------------------------------------------------------------------------------------------------------------------
print "Gestion de l'ecran des actions de jeu d'attaque"


//----------------------------------------------------------------------------------------------------------------------
// Définition des variables

define pos_frame     7E40     // Position de VRAM de la map du cadre (7E41 -> 7E40) !! ATTENTION !! Idem que pour défense et gardien
define size_frame    20       // Nombre de colonne du cadre (1E -> 20)
define pos_txt_1     02       // Position du texte 1 (02 -> ??)
define pos_txt_2     0B       // Position du texte 2 (0B -> ??)
define pos_txt_3     14       // Position du texte 3 (14 -> ??)
define pos_txt_4     02       // Position du texte 4 (02 -> ??)
define pos_txt_5     0A       // Position du texte 5 (0A -> ??)
define pos_txt_6     12       // Position du texte 6 (12 -> ??)
define pos_txt_7     03       // Position du texte 7 (03 -> ??)
define pos_txt_8     05       // Position du texte 8 (05 -> ??)


//----------------------------------------------------------------------------------------------------------------------
print "  Agrandissement du cadre"

org $07DF51
   LDA #${pos_frame}

org $01B9E1
   db ${size_frame}

org $01B9E5
   db ${size_frame}


//----------------------------------------------------------------------------------------------------------------------
print "  Deplacement des textes"

org $01B9E9
   db ${pos_txt_1}

org $01B9ED
   db ${pos_txt_2}

org $01B9F1
   db ${pos_txt_3}

org $01B9F5
   db ${pos_txt_4}

org $01B9F9
   db ${pos_txt_7}

org $01B9FD
   db ${pos_txt_8}

org $01BA01
   db ${pos_txt_5}

org $01BA0D
   db ${pos_txt_6}


//----------------------------------------------------------------------------------------------------------------------
Cadre lorsqu'on défend :

Code : Tout sélectionner

//----------------------------------------------------------------------------------------------------------------------
// CTIV-CadreActionDefense.asm - Script for xkas v0.14
// Description : Gestion du cadre des actions de défense
// Jeu         : Captain Tsubasa IV (SNES)
// Version     : 1.0 06/01/2012
// Auteur      : BahaBulle
//----------------------------------------------------------------------------------------------------------------------
// Execution   : xkas -o <output> <script.asm>
//----------------------------------------------------------------------------------------------------------------------

arch snes.cpu; lorom


//----------------------------------------------------------------------------------------------------------------------
print "Gestion de l'ecran des actions de jeu de defense"


//----------------------------------------------------------------------------------------------------------------------
// Définition des variables

define pos_frame     7E40     // Position de VRAM de la map du cadre (7E41 -> 7E40) !! ATTENTION !! Idem que pour attaque et gardien
define size_frame    20       // Nombre de colonne du cadre (1E -> 20)
define pos_txt_1     02       // Position du texte 1 (02 -> ??)
define pos_txt_2     0A       // Position du texte 2 (0A -> ??)
define pos_txt_3     14       // Position du texte 3 (14 -> ??)
define pos_txt_4     03       // Position du texte 4 (03 -> ??)
define pos_txt_5     0A       // Position du texte 5 (0A -> ??)
define pos_txt_6     12       // Position du texte 6 (12 -> ??)
define pos_txt_7     02       // Position du texte 7 (02 -> ??)
define pos_txt_8     0A       // Position du texte 8 (0A -> ??)
define pos_txt_9     0A       // Position du texte 9 (0A -> ??)


//----------------------------------------------------------------------------------------------------------------------
print "  Agrandissement du cadre"

org $07DF51
   LDA #${pos_frame}

org $01BA18
   db ${size_frame}

org $01BA1C
   db ${size_frame}


//----------------------------------------------------------------------------------------------------------------------
print "  Deplacement des textes"

org $01BA20
   db ${pos_txt_1}

org $01BA2C
   db ${pos_txt_2}

org $01BA3C
   db ${pos_txt_3}

org $01BA24
   db ${pos_txt_4}

org $01BA28
   db ${pos_txt_7}

org $01BA34
   db ${pos_txt_8}

org $01BA38
   db ${pos_txt_9}

org $01BA30
   db ${pos_txt_5}

org $01BA40
   db ${pos_txt_6}


//----------------------------------------------------------------------------------------------------------------------
Cadre lors d'un tir :

Code : Tout sélectionner

//----------------------------------------------------------------------------------------------------------------------
// CTIV-CadreActionDefense.asm - Script for xkas v0.14
// Description : Gestion du cadre des actions du gardien
// Jeu         : Captain Tsubasa IV (SNES)
// Version     : 1.0 06/01/2012
// Auteur      : BahaBulle
//----------------------------------------------------------------------------------------------------------------------
// Execution   : xkas -o <output> <script.asm>
//----------------------------------------------------------------------------------------------------------------------

arch snes.cpu; lorom


//----------------------------------------------------------------------------------------------------------------------
print "Gestion de l'ecran des actions de jeu du gardien"


//----------------------------------------------------------------------------------------------------------------------
// Définition des variables

define pos_frame     7E40     // Position de VRAM de la map du cadre (7E41 -> 7E40) !! ATTENTION !! Idem que pour attaque et défense
define size_frame    20       // Nombre de colonne du cadre (1E -> 20)
define pos_txt_1     02       // Position du texte 1 (02 -> ??)
define pos_txt_2     0B       // Position du texte 2 (0B -> ??)
define pos_txt_3     14       // Position du texte 3 (14 -> ??)
define pos_txt_4     02       // Position du texte 4 (02 -> ??)
define pos_txt_5     0A       // Position du texte 5 (0A -> ??)
define pos_txt_6     12       // Position du texte 6 (12 -> ??)
define pos_txt_7     03       // Position du texte 7 (03 -> ??)
define pos_txt_8     05       // Position du texte 8 (05 -> ??)


//----------------------------------------------------------------------------------------------------------------------
print "  Agrandissement du cadre"

org $07DF51
   LDA #${pos_frame}

org $01BA95
   db ${size_frame}

org $01BA99
   db ${size_frame}


//----------------------------------------------------------------------------------------------------------------------
print "  Deplacement des textes"

org $01BA9D
   db ${pos_txt_1}

org $01BAAD
   db ${pos_txt_2}

org $01BAB1
   db ${pos_txt_3}

org $01BAA1
   db ${pos_txt_4}

org $01BAA5
   db ${pos_txt_7}

org $01BAA9
   db ${pos_txt_8}

org $01BAB5
   db ${pos_txt_5}

org $01BAB9
   db ${pos_txt_6}


//----------------------------------------------------------------------------------------------------------------------
Sinon, dans ces cadres, je ne sais pas si tu as vu mais les accents sont gérés séparément. On devrait pouvoir utiliser le même système pour les accents FR au lieu de les redessiner dans le même tile que la lettre.

Faudra voir s'il y a besoin d'agrandir les cadres dans cet écran :
Image
Pièces jointes
SNES-CaptainTsubasa4.zip
Scripts ASM
(3.97 Kio) Téléchargé 108 fois

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 07 janv. 2012, 04:23

Pour le cadre lorsque tu tires au but, il n'y en a pas (si par cadre, tu veux dire le cadre du gardien qui apparait quand l'équipe adversaire tire dans ton but.). Tu choisis "tir", puis un tir spécial si ton perso en possède un et après, c'est automatique (pas comme les antibiotiques :P )

Oui, il manque les cas avec deux (voir trois défenseurs).

J'ai remarqué que l'adresse dans ton hack s'incrémentait de 4 en 4, dans l'ordre du menu (de gauche à droite.

J'ai donc essayé de remplacer :

Code : Tout sélectionner

org $01BA01
   db ${pos_txt_5}
par :

Code : Tout sélectionner

org $01BA05
   db ${pos_txt_5}
Et bingo, ça déplace bien le nom du deuxième défenseur à la place de celui du premier.

Je suis en train d'essayer de tomber sur le cas avec trois défenseurs puis j'éditerai mon message.

Edit :

Image

Par logique, j'ai fait comme au dessus, sauf que j'ai mis "01BA09" à la place de "01BA05", et ça déplace bien le nom du troisième défenseur, cf cette capture d'écran :

Edit :

Image

J'ai donc décidé de modifier un peu ton code ASM, je te le poste en dessous et tu me diras si c'est correct (en tout cas, ça a l'air de fonctionner. Si c'est correct, comme ça, tu auras une copie des modifications) :

Code : Tout sélectionner

//----------------------------------------------------------------------------------------------------------------------
// CTIV-CadreActionAttaque.asm - Script for xkas v0.14
// Description : Gestion du cadre des actions d'attaque
// Jeu         : Captain Tsubasa IV (SNES)
// Version     : 1.1 07/01/2012
// Auteur      : BahaBulle
// Modifié par : Hiei- (Ajout des valeurs "Nom du défenseur n°2/°3" et "Choix n°2/3 de l'attaquant")
//----------------------------------------------------------------------------------------------------------------------
// Execution   : xkas -o <output> <script.asm>
//----------------------------------------------------------------------------------------------------------------------

arch snes.cpu; lorom


//----------------------------------------------------------------------------------------------------------------------
print "Gestion de l'ecran des actions de jeu d'attaque"


//----------------------------------------------------------------------------------------------------------------------
// Définition des variables

define pos_frame     7E40     // Position de VRAM de la map du cadre (7E41 -> 7E40) !! ATTENTION !! Idem que pour défense et gardien
define size_frame    20       // Nombre de colonne du cadre (1E -> 20)
define pos_txt_1     02       // Position du texte "Dou suru?" (02 -> ??)
define pos_txt_2     0B       // Position du texte "Teki DF" (0B -> 0B)
define pos_txt_3     15       // Position du texte "OF koudou" (14 -> 15)
define pos_txt_4     01       // Position du texte "Nom de l'attaquant" (02 -> 01)
define pos_txt_5     0B       // Position du texte "Nom du défenseur n°1" (0A -> 0B)
define pos_txt_6     15       // Position du texte "Action n°1 de l'attaquant" (15 -> ??)
define pos_txt_7     03       // Position du texte "Guts" (03 -> ??)
define pos_txt_8     0B       // Position du texte "Nom du défenseur n°2" (0A -> 0B)
define pos_txt_9     15       // Position du texte "Action n°2 de l'attaquant" (15 -> ??)
define pos_txt_A     05       // Position du texte "Valeur de Guts" (05 -> ??)
define pos_txt_B     0B       // Position du texte "Nom du défenseur n°3" (0A -> 0B)
define pos_txt_C     15       // Position du texte "Action n°3 de l'attaquant" (15 -> ??)


//----------------------------------------------------------------------------------------------------------------------
print "  Agrandissement du cadre"

org $07DF51
   LDA #${pos_frame}

org $01B9E1
   db ${size_frame}

org $01B9E5
   db ${size_frame}


//----------------------------------------------------------------------------------------------------------------------
print "  Deplacement des textes"

org $01B9E9
   db ${pos_txt_1}

org $01B9ED
   db ${pos_txt_2}

org $01B9F1
   db ${pos_txt_3}

org $01B9F5
   db ${pos_txt_4}

org $01B9F9
   db ${pos_txt_7}

org $01B9FD
   db ${pos_txt_A}

org $01BA01
   db ${pos_txt_5}

org $01BA05
   db ${pos_txt_8}

org $01BA09
   db ${pos_txt_B}

org $01BA0D
   db ${pos_txt_6}

org $01BA11
   db ${pos_txt_9}

org $01BA15
   db ${pos_txt_C}


//----------------------------------------------------------------------------------------------------------------------
En gros, j'ai renommé l'ancienne valeur "txt_8" en "txt_9" (celle du chiffre tout en bas, première colonne), et j'ai rajouté deux valeurs, "txt_8" (nom du deuxième défenseur) et "txt_A" (nom du troisième défenseur), en rajoutant aussi ceci, évidemment :

Code : Tout sélectionner

org $01BA05
   db ${pos_txt_8}

org $01BA09
   db ${pos_txt_A}
BahaBulle a écrit :Faudra voir s'il y a besoin d'agrandir les cadres dans cet écran :
Image
Oui, ces cadres auront besoin d'un agrandissement.

Honnêtement, de toute façon, tout cadre est suceptible d'avoir besoin d'un agrandissement dans ce jeu, ou de déplacement de textes, donc n'hésite surtout pas lorsque tu en trouves un ^^;

Ce cadre, si tu veux savoir ce que c'est histoire de pouvoir mettre un nom à ton fichier et ne pas trop te paumer dans les divers menus, c'est le cadre des "Une-deux" (ワンツー => One-two). C'est l'action avec "bas" du "d-pad" lorsque tu attaques, de mémoire. "Gauche", ce sont les passes (パス), "Haut", les dribbles (ドリブル) et "Droite", les tirs (シュート).

Lorsque tu défends, "Haut", c'est "Tacle" (タックル), "Bas", c'est "Ne pas bouger" (うごかない), "Droite", c'est "Blocage" (ブロック), et "Gauche", c'est "Intercepter/Couper une passe" (パスカット").

Lorsque le ballon est en l'air, tu peux aussi avoir l'option "Amorti" (トラップ).

Je crois que j'ai fait le tour des commandes.

Evidemment, selon les persos, certains ont des mouvements spéciaux pour les dribbles, tirs, passes, tacles, etc... Dans ce cas, le jeu ouvre un nouveau menu et te demander de choisir. Tu peux essayer avec le n°8 de l'équipe de base lorsque tu commences (Tsubasa). Il a des mouvements spéciaux pour les passes, le dribble et le tir.

Le menu qui s'ouvrira en question aura besoin d'être agrandi d'ailleurs (surtout les tirs, mais j'imagine que c'est le même menu pour tous les mouvements spéciaux).

Edit : Je viens de tilter que lorsqu'il y a 3 défenseurs, il faut choisir 3 actions différentes à faire, et donc il va falloir trouver l'adresse des actions deux et trois, je suis en train de chercher, cf ma méthode pour les noms des défenseurs.

Edit 2 : Trouvé, c'est tout simplement les deux suivants par rapport au dernier de la liste (toujours en faisant +4), donc "1BA11" pour le choix 2 et "1BA15" pour le choix trois, j'ai modifié le code source posté plus haut en conséquence, donc certaines valeurs des variables "txt" que j'ai énoncé plus haut pourront avoir changé, j'ai mis la description du texte à chaque fois de toute façon.

Je pense qu'il ne manque plus de valeurs, sur ce cadre en tout cas. Je n'ai pas encore touché aux deux autres.

Voilà ce que ça donne pour le moment, une fois ce cadre terminé (avant/après) :

Image Image

Oui, tous les joueurs du jeu se nomment Bahabulle :P , c'est parfait car il y a pile 9 lettres dans ce pseudo.

D'ailleurs, si ça peut aider à l'avenir, voici un patch IPS à appliquer sur la rom japonaise originale, qui renomme tous les joueurs en "Bahabulle" et qui tient compte de la modification du cadre ci-dessous :

http://www.hiei-tf.fr/CT4_NEW.zip

(Si ça peut aider pour séparer les noms du joueurs du reste comme tu ne lis pas le japonais, c'est toujours ça de pris, et ça permet de voir visuellement la limite des 9 lettres, et donc les cadres qui ont un problème après ce passage de 6 à 9 lettres pour le nom des joueurs. J'ai vu par exemple, que le menu des passes avaient un problème, si tu approches le curseur d'un endroit où il y a plusieurs joueurs, il affiche les noms des 3 joueurs par exemple, et un des trois noms est bouffé, car il n'affiche que les 6 premières lettres, le deuxième nom bouffant les 3 lettres manquantes du premier).

J'ai aussi traduit rapidement quelques termes pour ce patch, laissé en anglais deux endroits ("Pass cut" & "Through") car je n'ai pris le temps de réfléchir à une adaptation ("Pass cut", c'est surtout pour ne pas prendre le temps de déplacer chaque bloc à la main, j'avoue :P ).

Je n'ai pas tenu compte du déplacement des blocs pour ce patch, donc j'ai raccourci des termes dont je suis sûr qu'ils n'apparaissent pas durant le premier match (des noms de tirs et autres) pour aller plus vite. J'ai également du faire quelques abbréviations dans les derniers blocs, assez petits (donc note à moi-même, il faudra bien que je déplace les blocs 5 à 21 manuellement et non les réinsérer à la suite, car il me faut un peu plus de place que les originaux :P ).

Lorsque plusieurs termes apparaissent plusieurs fois dans le bloc, j'ai rajouté "1", "2", "3", etc... à la fin pour pouvoir facilement les différencier.

Liste des quelques abbréviations actuelles, en attendant que je déplace tout proprement dans la rom :

DG1 => DEGAGEMENT 1
DG2 => DEGAGEMENT 2
DG3 => DEGAGEMENT 3
DG4 => DEGAGEMENT 4
AMO1 => AMORTI 1
AMO2 => AMORTI 2
TRH => THROUGH

A propos, comme je l'avais dit plus haut, si tu peux revoir le fichier CaptainTsubsaIV-CadreEquipe.asm et rajouter ce qu'il faut pour pouvoir redimensionner le cadre du milieu, ce serait top, car sinon il manque une lettre dans les noms du cadre droit. J'ai déjà trouvé comment déplacer le cadre droit, en décommentant les lignes en question, mais comme je ne connais pas les valeurs du cadre du milieu (c'est le menu de la formation, lorsque tu lances le jeu, après l'intro, tu as un menu, c'est la troisième option, ""チームデータ").

Soit ça, ou alors décaler les noms du cadre de droite d'un tile vers la gauche, comme tu l'as fait pour le cadre de gauche :

Code : Tout sélectionner

print "Decalage d'un tile des noms des joueurs"

org $04E9AB
fill 4, $EA
Il serait aussi intéressant de faire ce décalage dans le cadre du milieu.

(Soit les deux, soyons fous, redimensionnement du cadre du milieu et décalage d'un tile à gauche pour le cadre du milieu et pour le cadre de droite :P).

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 07 janv. 2012, 09:23

Trouvé quelques autres menus qui auraient besoin d'une modifications (j'ai mis plusieurs screens pour un même menu, quatre, histoire que tu vois comment y accéder, il suffit d'appuyer sur "A" entre chaque screen) :

Image Image
Image Image

Ici, il s'agit des deux derniers screens (en fait, le premier pourrait aussi bénéficier d'un agrandissement, car je doute que la traduction tienne dans la largeur actuelle du cadre), le curseur ne met en subrillance que 7 lettres, et le menu n'en affiche que 8/9. J'imagine qu'il faudra aussi déplacer un peu les textes car les trois mots du haut en gros, c'est "Force" (Kick) ["Puissance" est trop long :p], "Défense" (qu'on peut abbréger en "DEF") et "Course" (ou "Vitesse).

Pour le dernier screen, ça dépend du jeu. S'il est fait pour n'afficher que le nom de caractères actuels, çà va poser problème. Si on peut en rajouter, ça devrait aller, car je pense qu'il y a assez de place pour traduire sans déplacer les textes.

Image

Celui-là aussi (il suffit d'appuyer sur "B" lorsque tu es en possession du ballon pour le faire apparaître), les textes ne sont pas très bien alignés (autant essayer de garder le même alignement partout), et autant l'agrandir/centrer le cadre un peu, histoire de garder une cohérence visuelle et éviter les overlaps disgracieux de cadres à certains endroits.

Image

Celui-ci, c'est le cadre des mouvements spéciaux. Pour l'afficher, il te suffit de faire un tir avec le N°8. Il a aussi une passe spéciale et donc il y a le même type de cadre qui apparait, si tu veux voir si c'est exactement le même juste avec des textes différents (j'imagine que oui).

Pour ce cadre, il faudrait l'agrandir un peu vers la gauche (et peut être un chouilla vers la droite, à voir), car il va me falloir 25 caractères (26 avec l'espace devant le nombre). Actuellement, le cadre peut contenir 11 caractères + l'espace, il en manque donc 14. J'ai calculé rapidement à l'oeil, et il faudrait que le cadre prenne toute la largeur de l'écran pour pouvoir caser 25 caractères, mais est-ce possible niveau mémoire/place et autre, aucune idée :o Et une fois le cadre élargit, il faudrait évidemment pouvoir décaler les textes tout à gauche du cadre.

Pour les cadres de base, je suis pour l'instant revenu à la taille d'origine, sinon ca causait un petit bug graphique (lorsque le menu des tirs s'ouvrait au dessus, on voyait la fin du morceau de cadre à gauche, en fond, cf le screen un peu plus haut), et je n'ai pas besoin de tout l'écran pour l'instant. Mais bon, si j'en ai besoin, je remettrais la taille complète donc c'est pratique d'avoir la possibilité de modifier la taille des cadres :)

Sinon, je regardais les différents scripts ASM et je pense avoir compris comment ils fonctionnaient (le modèle est visiblement le même à chaque fois, ou presque) donc si tu m'expliques comment trouver les différentes valeurs (en supposant que ce soit toujours la même méthode), je devrais pouvoir me débrouiller moi-même pour la plupart des cadres j'imagine (agrandissement et déplacement).

Par exemple, pour décaler le texte du cadre de droite, j'imagine qu'il faudrait rajouter quelque chose du style :

Code : Tout sélectionner

print "Decalage d'un tile des noms des joueurs"

org $adresse
fill 4, $valeur
et pour le cadre du milieu :

Code : Tout sélectionner

//----------------------------------------------------------------------------------------------------------------------
// DEFINITION DES VARIABLES
//----------------------------------------------------------------------------------------------------------------------

define size_frame_left   0C       // Nombre de colonne du cadre gauche (0B -> 0C)
define pos_frame_left    7C60     // Position en VRAM de la map du cadre gauche (7C61 -> 7C60)
define size_frame_right  09       // Nombre de colonne du cadre droit (08 -> 09)
define pos_frame_right   7C77     // Position en VRAM de la map du cadre droit (7C77 -> 7C77)
define size_frame_middle ??       // Nombre de colonne du cadre du milieu (?? -> ??)
define pos_frame_middle  ??     // Position en VRAM de la map du cadre du milieu (?? -> ??)
et rajouter un morceau du genre :

Code : Tout sélectionner

//----------------------------------------------------------------------------------------------------------------------
// CADRE DU MILIEU
//----------------------------------------------------------------------------------------------------------------------

print "Agrandissement du cadre du milieu"

org $adresse
   db ${size_frame_middle}

org $adresse
   db ${size_frame_middle}


print "Deplacement de la map en VRAM du cadre du milieu"
org $adresse
   LDA #${pos_frame_middle}


//----------------------------------------------------------------------------------------------------------------------

print "Traitement termine"

//----------------------------------------------------------------------------------------------------------------------
Evidemment, il faut connaître les adresses pour finaliser le script ASM en question.

Edit :

Image

Cadre du gardien modifié :)

Edit 2 : Troisième et dernier cadre modifié :

Image

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 08 janv. 2012, 02:55

Bloc 01 (noms de joueurs) : traduit
Bloc 02 (nom de joueurs) : en cours
Bloc 03 (noms des clubs/équipes nationales) : traduit
Bloc 04 (actions => tirs) : traduit
Bloc 05 (actions => dribbles) : traduit
Bloc 06 (actions => tacles) : traduit
Bloc 07 (actions => passes) : traduit
Bloc 08 (actions => une-deux) : traduit
Bloc 09 (actions => interceptions de passes) : traduit
Bloc 10 (actions => blocages) : traduit
Bloc 11 (actions du gardien) : traduit
Bloc 12 (actions/noms de techniques) : traduit
Bloc 13 (actions) : traduit
Bloc 14 (actions) : traduit
Bloc 15 (actions) : traduit
Bloc 16 (actions) : traduit
Bloc 17 (actions) : traduit
Bloc 18 (actions) : traduit
Bloc 19 (actions) : traduit
Bloc 20 (actions) : traduit
Bloc 21 (actions du gardien) : traduit
Bloc 22 (actions du gardien)) : traduit
Bloc 23 (divers mots du commentateur) : traduit

Bon, rien d'exceptionnel car les blocs 5 à 21 sont assez petits (mes traductions tiennent déjà compte des accents même s'ils ne sont pas encore dans la rom, les dumps sont traduits avec majuscules/minuscules/accents et sont réinsérés uniquement en majuscules pour l'instant). Le plus long, c'est de trouver la bonne correspondance des noms (comme 99% des noms de techniques sont des noms anglais écrits en katakanas).
Dernière édition par Hiei- le 08 janv. 2012, 12:57, édité 1 fois.

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

Re: [SNES] Captain Tsubasa 4

Message non lu par Lestat » 08 janv. 2012, 12:52

En tout cas, tu as l'air de bien avancer :)

Hiei-

Re: [SNES] Captain Tsubasa 4

Message non lu par Hiei- » 08 janv. 2012, 12:59

Je viens de finir le bloc 1, plus que le bloc 2 que je verrais plus tard :) (256 noms pour le bloc 1 et 256 noms pour le bloc 2 donc c'est assez long pour ces deux-là).

Ensuite, en attendant la suite de la modification des cadres, je me mettrais en quête des dialogues entre les matchs pour voir, qui ne doivent pas être très durs à trouver (de mémoire, j'en avais trouvé un l'autre fois en cherchant 2 minutes).

Image Image

A leurs souhaits pour le second screen

Bon, le pseudo @ après le nom est normal, c'est pour marquer la limite des 9 caractères (je comble avec des @ en attendant et je finis les noms plus courts avec un "/"). Le "くん" est normal et à effacer. Pour la phrase de fin par contre, c'est visiblement différentes valeurs qui changent (nom de l'équipe/nom de l'action), il faudra sûrement inverser tout ça :)
Dernière édition par Hiei- le 10 janv. 2012, 10:23, édité 2 fois.

Répondre