[SMD] Phantasy Star: o Fim do Milênio V 1.0a

Iniciado por Mad Dentist, Fevereiro 14, 2021, 20:58:19 PM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

Mad Dentist

PHANTASY STAR: O FIM DO MILÊNIO (IV)(MEGA DRIVE) - VERSÃO PARA JOGAR DE NOVO! - V1.0a por Mad Dentist e Mad Nurse

<<Patch disponível no anexo dessa postagem; onde fica um desenho de um clip. Download acessível apenas para usuários logados aqui no forum >>

14/02/2021 - versão 1.0: versão inicial
11/10/2021 - versão 1.0a: correções no texto (melhoria no português e correção de certas inconsistências)

Feliz Ano novo, pessoal. Sou o mesmo dentista maluco que retraduziu Phantasy Star do Master System!
Desta vez, retraduzi também o Phantasy Star II e o Phantasy: O Fim do Milênio (o IV)!

  << patches disponíveis no anexo desta mensagem ou no link ao final do texto >>

Link para retradução do Phantasy Star (Master): https://www.romhacking.net.br/index.php?topic=1004.0
Link para retradução do Phantasy Star II (MEGA): http://www.romhacking.net.br/index.php?topic=1767.0
Link para retradução do Phantasy Star III Sucessores do Tempo (MEGA): http://www.romhacking.net.br/index.php?topic=1912.0

Já foi feita uma ótima tradução brasileira deste jogo por Hyllian e sua equipe, baseado no PSIV americano. Ele até cedeu uns arquivos que tinha para eu estudar a questão da acentuação, mas o disassembler que eles usaram é bem diferente daquele que eu consegui atualmente, o do lory90. Agradeço ao Hyllian pela gentileza e presteza em tentar ajudar.
Esta tradução, porém, foi refeita do zero, a partir de um script baseado na versão americana com alguns extras. Mais detalhes abaixo.

Por que o Mad Dentist está traduzindo a franquia clássica de Phantasy Star?
- Incomodava-me muito a inconsistência de nomes entre as versões daqui do ocidente, por exemplo: no PS1 era Noah e no PS2/4 foi Lutz; no PS1 era Dark Falz e no restante foi Dark Force; no PS1 era Luveno e no PS4 foi Lubetz; no PS1 era Lassic e PS4 foi LaShiec... Então, para corrigir essa zona toda, eu fiz duas versões de cada jogo para que haja consistência desses nomes. Então, quem jogar a versão "classica" daqui, verá Noah nos 3 jogos. E quem jogar a versão "original" verá Lutz nos 3 jogos. Mais sobre as versões abaixo.
- Porque gosto muito da franquia clássica de Phantasy Star
- Porque é uma forma de contribuir para a comunidade de fãs de Phantasy Star
- Porque quero que minha filha pequena jogue esses jogos.




O que temos de novidade nesta retradução do PSIV?
-------------------------------------------------

- Esta tradução foi baseada no script publicado em uma relocalização em inglês do PSIV por GhaleonUnlimited ( https://gamesdonelegit.com/phantasy-star-iv-generation-4-psiv-romhack-relocalization/ ). Na verdade, o enredo e o texto é muito parecido com o texto original americano, porém, em alguns pontos foi acrescentado alguns detalhes no sentido de esclarecer algumas pontas soltas, complementar informação e melhorar a caracterização das personagens, isso tudo com informações extraídas de compêndios, reportagens e entrevistas. Eu joguei antes essa versão dele e gostei. Daí, eu revisei o texto dele e praticamente fiz uma tradução total do jogo, do zero. Milagrosamente, consegui editar o nome do jogo na tela de início "O fim do milênio" (trabalhoso pra caramba!) e consegui acentuação em praticamente 100% do jogo.
- Esse jogo carrega uma tonelada de correções de bugs pelo disassembler de lory90, dentre eles a possibilidade de alcançar o nível 99 sem problemas, e o jogo não bugar após a segunda luta contra Zio (ocorria isso se apenas Gryz e Demi fossem os sobreviventes).
Mais detalhes das correções aqui, em inglês:  (  http://www.romhacking.net/hacks/genesis/patches/4142readme.txt  )
- Uma outra melhora foi reduzir a intensidade do flash da tela quando ocorre um golpe crítico nas lutas. O flash era forte demais e isso era péssimo para quem tem fotossensibilidade.
- Segui um resultado de um enquete na comunidade Phantasy Star do Facebook: os nomes dos vilões permanecem em inglês.

- Como de costume, fiz duas versões de tradução: a "clássica" e a "original":

## versão clássica: Usa os nomes da versão americana de "Phantasy Star: The End of the Millennium" (exceto Lutz, que agora volta a ser Noah) tais como Chaz Ashley, Alys Brangwin, Rune, Gryz, Rika, Demi, Wren, Kyra, Seth, "Noah", Alis Landale, Dark Falz, Lassic, Rykros (o quarto planeta)

## versão original: Usa os nomes da versão japonesa do mesmo jogo, tais como Rudy Ashleigh, Lyla Brangwen, Thray, Pyke, Fal, Freyna, Forren, Shess, Shiam, "Lutz", Alisa Landeel, Dark Force, LaShiec, Ryucross (o quarto planeta)
(só citei as diferenças, pois os outros nomes são iguais nas duas versões).

OBS: O nome original japonês para Dark Falz/Force é "Dark Phallus". O termo "phallus" é bem polêmico... logo resolvi evitá-lo e substituí-lo por Dark Force.
OBS 2: Para possibilitar o uso de alguns nomes de heróis com mais de 4 letras (Thray, Freyna, Forren, Shess e Shiam), eu tive que redesenhar a fonte dos menus para ficar só em letras maiúsculas.
* Phantasy Star IV tem dois tipos de fontes: uma maior, que é usada nos diálogos, cenas, prólogo, final e créditos; e uma menor, que é usada nos menus e batalhas. A fonte maior continua como o original americano, só que acentuada. A menor foi a que teve que ser modificada para possibilitar o uso dos nomes mais extensos que citei.
      
Os patches e como aplicá-los?
-----------------------------

Favor, ler o arquivo PS4 LEIA.txt incluído no pacote de patches.
 

FAQs
----

  ----P: Uê? Como coube nas janelinhas os nomes maiores que 4 letras, como Forren, na versão "original"?
  ----R: Graças à minha tecnologia (  :-D  ) de imprensar 5 ou 6 letras num espaço que só cabem 4 letras. Para isso ser possível, na versão original, a segunda fonte só aparece em maiúsculo (detalhes na OBS2 da versão original)
 
  ----P: E a compatibilidade de saves ".srm" entre essas versões?
  ----R: O save que você tiver da versão americana ou da versão brasileira mais antiga pode ser jogada só na versão "clássica". Também, não é compatível o uso de um mesmo save entre essas duas versões, clássica e original, pois haveria bagunça nos nomes dos heróis, devido a alteração das fontes na versão original. Saves da versão original não serve em nenhuma outra versão de PSIV.
         OBS: Mesmo não podendo escolher os nomes como no PSII, o save armazena os nomes predeterminados no jogo. Curioso, não é? Se vocês usar um mesmo save e outra versão, verá os mesmos nomes da versão que você iniciou o jogo. Se você iniciou coma "original" e usar o save em outro PSIV, você verá os nomes orientais, sendo que os nomes mais extensos serão uma bugunça só.
 
  ----P: E save states?
  ----R: Save state só funciona em uma só versão de um jogo e num mesmo emulador.
 
  ----P: Qual o melhor emulador para rodar esse jogo?
  ----R: Roda bem no Gens, Kega e no Retroarch com núcleos GenesisPlus e Picodrive. Deve rodar bem em outros emuladores também. O melhor emulador para você é aquele que roda melhor na sua máquina
 
  ----P: Roda no Everdrive e Mega Mini?
  ----R: Creio que sim, mas eu não tenho esses dispositivos para testar. Por favor, informem por aqui se conseguiram rodar bem esse jogo (ou se não conseguiram). Obrigado.
 
  ----P: Ah, mas a tradução americana (90% base deste trabalho) não é boa, a melhor seria traduzida direto do japonês...
  ----R: Eu não sei japonês :-D  . Se alguém souber japonês e quiser desenvolver uma tradução mais fiel possível, procure-me e a gente conversa!
 
  ----P: Você é um dentista mesmo? E a sua irmã seria uma enfermeira?
  ----R: Sim, isso mesmo!  :-D
 
Créditos:
---------
 
  - Mad Dentist (eu): tradução, manejo de código, manipulação gráfica (fontes e título), testes, geração dos patches;
  - Mad Nurse, minha irmã, ajudou-me na tradução, revisão do texto e nos testes do jogo;
  - GhaleonUnlimited, por ter escrito um belo script e me orientado no início do trabalho;
  - BGE, tradutor da versão francesa de PSIV e colaborador do disassembler do lory90, foi o meu primeiro mestre que me ajudou na questão da acentuação dos caracteres;
  - lory90, o gênio criador do disassembler que permite trabalhar no jogo, criador de várias correções e meu segundo mestre;
  - SEGA, por ter criado este clássico e icônico jogo.
  - Deus, por tudo.
 
 
Informações legais
------------------

   Esta tradução foi um trabalho voluntário, sem fim lucrativo algum; logo não deve ser
comercializada de maneira alguma. Se verificarem alguma atividade comercial ligada a
esta tradução, denunciem, e, divulguem que disponibilizamos gratuitamente nos sites
conhecidos.
   Disponibilizamos apenas os patchs de tradução, que devem ser aplicados em uma ROM
do "Phantasy Star: the End of the Millennium" original americano. Como obter a ROM? Compre (importe) um cartucho
original e faça a ripagem da sua ROM, e, não distribua para ninguém.
   "Phantasy Star: the End of the Millennium" é um jogo de videogame publicado pela SEGA, detentora dos direitos
relacionados.
DON'T BE LAZY: BRUSH YOUR TEETH!

Anime_World

Sinceramente não gostei do trabalho executado continuou com muitas abreviações. Não adianta ter os disassemblies do lory90 em mãos, se não souber o que está fazendo vai dar na mesma.
nonononono

Mad Dentist

Olá. Que abreviações você se refere? Seriam os itens ou o texto em si?
Os itens comportam no máximo uns 10 ou 11 caracteres. Porém, se você for comprar ou vender, o nome aparecerá por completo no diálogo, coisa que antes não ocorria.
Se for sobre o texto em si em relação ao script original em japonês, eu lamento: não sei japonês. Se eu tivesse tal script em mãos, eu aplicaria. No entanto, o texto tem vários extras. No começo, a parte perceptível fica nas estantes da academia. Ao jogar o restante do jogo, você verá perceberá o restante. Além de se beneficiar com as correções do disassembler do lory90, que por sua vez é um cara muito educado e prestativo. Enviei o trabalho para ele e ele elogiou alguns feitos, principalmente no Phantasy Star II. Sendo assim, já fiquei feliz pelo trabalho, já que não sou programador ou da área de TI, sou apenas um fã de Phantasy Star que se atreveu a botar a mão na massa :-)
DON'T BE LAZY: BRUSH YOUR TEETH!

Mad Dentist

#3
Hum... Se for para usar outras palavras nos menus, é fácil de resolver. Porém, existe a limitação na quantidade de letras.
Você poderia sugerir termos melhores? Eu os incluirei em uma próxima versão!
É importante que muita gente jogue para apresentar eventuais erros ou sugerir melhorias.
Daí, eu colherei tais dados e farei nova versão, que seria a 1.1
DON'T BE LAZY: BRUSH YOUR TEETH!

ajkmetiuk

Citação de: Mad Dentist online Fevereiro 15, 2021, 07:41:39 AM
Olá. Que abreviações você se refere? Seriam os itens ou o texto em si?
traduzindo o que ele disse para vc: se vc tem o disassembly, era esperado que os menus fossem expandidos para evitar abreviação, no caso ai os menus das batalhas estão com 4 letras, mas como vc não sabia alterar o source por não entender, ficou do mesmo jeito. Com disassembly vc pode conseguir fazer algumas mágicas que originalmente é difícil só alterando um script ou editando no editor hexadecimal por exemplo.
supremex!

Altieres Lima

Parabéns, realmente é uma evolução ao original da Tectoy. :parabens:

Deus ROMHacker Ondinha

#6
Parabéns! Você trabalhou duro nesses scripts. Vou jogar assim que possível. Estou passando para abençoar este trabalho.

Lembro que a tradução do Hyllian estava faltando os acentos na fonte das cutscenes, e essa parte era o que mais me incomodava, mas parece que foi resolvido.

Não sou muito de ligar pra mitologia de série, nome disso e daquilo, melhor que isso, são bugs resolvidos. Obrigado pelo tempo dispensado neste trabalho!

Às vezes vale mais um script bem trabalhado, executado com esmero e orientado por quem realmente sabe, que enfiar 666 alterações, se perder, o jogo travar em algum momento e ficar por isso mesmo.

Mad Dentist

Citação de: ajkmetiuk online Fevereiro 15, 2021, 19:23:03 PM
Citação de: Mad Dentist online Fevereiro 15, 2021, 07:41:39 AM
Olá. Que abreviações você se refere? Seriam os itens ou o texto em si?
traduzindo o que ele disse para vc: se vc tem o disassembly, era esperado que os menus fossem expandidos para evitar abreviação, no caso ai os menus das batalhas estão com 4 letras, mas como vc não sabia alterar o source por não entender, ficou do mesmo jeito. Com disassembly vc pode conseguir fazer algumas mágicas que originalmente é difícil só alterando um script ou editando no editor hexadecimal por exemplo.

Entendi. Realmente sou bem leigo em assembler, pois não sou da área de TI. Logo, eu procuro focar mais nos textos e em alguns recursos gráficos. Eu só me atrevi a traduzir apenas os jogos da série clássica de Phantasy Star, pois eles vinham carentes de atenção, e, sei que tem muita gente que aprecia esses jogos. Queria eu ter o nível de conhecimento de vários camaradas por aí que fizeram trabalhos excelentes, como o pessoal que traduziu o Persona IV; ali o pessoal caprichou total! Sou fã deles!
DON'T BE LAZY: BRUSH YOUR TEETH!

Anime_World

Citação de: Mad Dentist online Fevereiro 15, 2021, 21:15:28 PM
Citação de: ajkmetiuk online Fevereiro 15, 2021, 19:23:03 PM
Citação de: Mad Dentist online Fevereiro 15, 2021, 07:41:39 AM
Olá. Que abreviações você se refere? Seriam os itens ou o texto em si?
traduzindo o que ele disse para vc: se vc tem o disassembly, era esperado que os menus fossem expandidos para evitar abreviação, no caso ai os menus das batalhas estão com 4 letras, mas como vc não sabia alterar o source por não entender, ficou do mesmo jeito. Com disassembly vc pode conseguir fazer algumas mágicas que originalmente é difícil só alterando um script ou editando no editor hexadecimal por exemplo.

Entendi. Realmente sou bem leigo em assembler, pois não sou da área de TI. Logo, eu procuro focar mais nos textos e em alguns recursos gráficos. Eu só me atrevi a traduzir apenas os jogos da série clássica de Phantasy Star, pois eles vinham carentes de atenção, e, sei que tem muita gente que aprecia esses jogos. Queria eu ter o nível de conhecimento de vários camaradas por aí que fizeram trabalhos excelentes, como o pessoal que traduziu o Persona IV; ali o pessoal caprichou total! Sou fã deles!

Recomendo você expandir os menus e remover as abreviação deles e dos itens. Vai dar outro aspecto a tradução.

Esse Phantasy Star é o mais tranquilo de mexer, com um pouco de calma você expande os menus para remover as abreviações.


E essa é minha versão do PS3, já está todo traduzido e revisado, deve sair em breve assim que eu terminar de ajustar a VWF:

nonononono

Mad Dentist

Vou ver se consigo fazer essa expansão na janela, assim fica bem melhor mesmo.
O PSIII está com um aspecto muito bom! Qual é o teu script fonte? Americano ou japonês?
DON'T BE LAZY: BRUSH YOUR TEETH!

Anime_World

Citação de: Mad Dentist online Fevereiro 16, 2021, 09:47:38 AM
Vou ver se consigo fazer essa expansão na janela, assim fica bem melhor mesmo.
O PSIII está com um aspecto muito bom! Qual é o teu script fonte? Americano ou japonês?

JP
nonononono

Mad Dentist

#11
Citação de: Anime_World online Fevereiro 16, 2021, 09:54:50 AM
Citação de: Mad Dentist online Fevereiro 16, 2021, 09:47:38 AM
Vou ver se consigo fazer essa expansão na janela, assim fica bem melhor mesmo.
O PSIII está com um aspecto muito bom! Qual é o teu script fonte? Americano ou japonês?

JP

OPA! Legal! Esse eu quero jogar!

Estou analisando aqui como expandir as janelas no PS4. Vou tentar. Tomara que eu consiga!
DON'T BE LAZY: BRUSH YOUR TEETH!

ajkmetiuk

Citação de: Mad Dentist online Fevereiro 16, 2021, 15:06:23 PM
Estou analisando aqui como expandir as janelas no PS4. Vou tentar. Tomara que eu consiga!

por que vc não entra lá no grupo do discord de romhacking? clica lá em "Chat RHBR", se não tiver conta, cria uma. O Anime tá sempre on lá, ele pode ajudar vc a expandir isso como vc viu nas fotos lá em cima e vc pode ir tentando ajustar e postar seu feedback de como está ficando por lá mesmo em vez de ficar só aqui no fórum. Pelo menos lá fica mais fácil compartilhar seu progresso. Fica a dica!
supremex!

Mad Dentist

Citação de: ajkmetiuk online Fevereiro 16, 2021, 15:33:50 PM
Citação de: Mad Dentist online Fevereiro 16, 2021, 15:06:23 PM
Estou analisando aqui como expandir as janelas no PS4. Vou tentar. Tomara que eu consiga!

por que vc não entra lá no grupo do discord de romhacking? clica lá em "Chat RHBR", se não tiver conta, cria uma. O Anime tá sempre on lá, ele pode ajudar vc a expandir isso como vc viu nas fotos lá em cima e vc pode ir tentando ajustar e postar seu feedback de como está ficando por lá mesmo em vez de ficar só aqui no fórum. Pelo menos lá fica mais fácil compartilhar seu progresso. Fica a dica!

Meu irmão, eu nunca me adaptei ao discord... Fico perdido.
Estou expandindo várias janelas de menu já!
Porém, o mais difícil é nas batalhas, pois há um limite para as palavras mesmo a janelinha estando já expandida. Ainda preciso descobrir como mexer nesse limite de palavras nas lutas...  :tonto:
DON'T BE LAZY: BRUSH YOUR TEETH!

Anime_World

#14
Citação de: Mad Dentist online Fevereiro 16, 2021, 23:39:03 PM
Citação de: ajkmetiuk online Fevereiro 16, 2021, 15:33:50 PM
Citação de: Mad Dentist online Fevereiro 16, 2021, 15:06:23 PM
Estou analisando aqui como expandir as janelas no PS4. Vou tentar. Tomara que eu consiga!

por que vc não entra lá no grupo do discord de romhacking? clica lá em "Chat RHBR", se não tiver conta, cria uma. O Anime tá sempre on lá, ele pode ajudar vc a expandir isso como vc viu nas fotos lá em cima e vc pode ir tentando ajustar e postar seu feedback de como está ficando por lá mesmo em vez de ficar só aqui no fórum. Pelo menos lá fica mais fácil compartilhar seu progresso. Fica a dica!

Meu irmão, eu nunca me adaptei ao discord... Fico perdido.
Estou expandindo várias janelas de menu já!
Porém, o mais difícil é nas batalhas, pois há um limite para as palavras mesmo a janelinha estando já expandida. Ainda preciso descobrir como mexer nesse limite de palavras nas lutas...  :tonto:


Nessa parte:

loc_27E6E8:
dc.b $67, " COMD", $FF
dc.b $67, " MACR", $FF
dc.b $67, " RUN ", $FF


Criamos 3 novos ponteiros inserindo um label para cada texto:

loc_27E6E8:
text_battlemenu_cmd:
dc.b $67, " COMANDO", $FF
text_battlemenu_macro:
dc.b $67, " MACRO  ", $FF
text_battlemenu_run:
dc.b $67, " FUGIR  ", $FF


E depois na rotina do menu de batalha:

; -----------------------------------------------------------------
Battle_OpenMainOptions:
bset #7, (Battle_Routine_2).l
bne.w loc_1228
clr.b (Battle_Command_Data).l
lea ($FFFF2540).l, a0
lea ($FFFF8200).w, a1
moveq #$28, d1
moveq #$11, d2
jsr (PlaneMapToRAM).l
lea ($FFFF3500).l, a0
movea.l a0, a2
moveq #8, d1
moveq #7, d2
jsr (Battle_SetupWindow).l
lea ($FFFF0286).l, a1
jsr (PlaneMapToRAM).l
lea ($FFFF0308).l, a1
lea (loc_27E6E8).l, a0
moveq #1, d1
jsr (loc_27DB92).l
lea $100(a1), a1

if revision=0
addq.w #8, a0
else
addq.w #7, a0
endif

clr.w d1
jsr (loc_27DB92).l
lea $100(a1), a1

if revision=0
addq.w #6, a0
else
addq.w #7, a0
endif

jsr (loc_27DB92).l
moveq #8, d1
moveq #7, d2
lea ($FFFF0286).l, a0
movea.l a2, a1
jsr (loc_27DD04).l
moveq #4, d7
lea ($FFFF410C).l, a0
loc_120A:
move.w #6, (a0)
addq.w #4, a0
dbf d7, loc_120A
clr.w (a0)
addq.w #4, a0
clr.w (a0)
clr.l (Macro_Item_Slot_1).w
clr.b (Macro_Item_Slot_5).w
clr.w ($FFFF418C).l
loc_1228:
moveq #8, d1
moveq #7, d2
lea ($FFFF3500).l, a0
lea ($FFFF8286).w, a1
jsr Battle_CreateWindow(pc)
rts
move.w #2, (Battle_Routine_2).l ; => Battle_MainOptions
rts
; -----------------------------------------------------------------


Substituimos as instruções addq pelos novos ponteiros de texto:

; -----------------------------------------------------------------
Battle_OpenMainOptions:
bset #7, (Battle_Routine_2).l
bne.w loc_1228
clr.b (Battle_Command_Data).l
lea ($FFFF2540).l, a0
lea ($FFFF8200).w, a1
moveq #$28, d1
moveq #$11, d2
jsr (PlaneMapToRAM).l
lea ($FFFF3500).l, a0
movea.l a0, a2
moveq #8, d1
moveq #7, d2
jsr (Battle_SetupWindow).l
lea ($FFFF0286).l, a1
jsr (PlaneMapToRAM).l
lea ($FFFF0308).l, a1
lea (text_battlemenu_cmd).l, a0        ; <- Ponteiro do menu COMD
moveq #1, d1
jsr (loc_27DB92).l
lea $100(a1), a1

if revision=0
addq.w #8, a0
else
lea (text_battlemenu_macro).l, a0   ; <- Aqui substituímos o addq pelo ponteiro do menu MACRO
endif

clr.w d1
jsr (loc_27DB92).l
lea $100(a1), a1

if revision=0
addq.w #6, a0
else
lea (text_battlemenu_run).l, a0     ; <- Aqui substituímos o addq pelo ponteiro do menu RUN
endif

jsr (loc_27DB92).l
moveq #8, d1
moveq #7, d2
lea ($FFFF0286).l, a0
movea.l a2, a1
jsr (loc_27DD04).l
moveq #4, d7
lea ($FFFF410C).l, a0
loc_120A:
move.w #6, (a0)
addq.w #4, a0
dbf d7, loc_120A
clr.w (a0)
addq.w #4, a0
clr.w (a0)
clr.l (Macro_Item_Slot_1).w
clr.b (Macro_Item_Slot_5).w
clr.w ($FFFF418C).l
loc_1228:
moveq #8, d1
moveq #7, d2
lea ($FFFF3500).l, a0
lea ($FFFF8286).w, a1
jsr Battle_CreateWindow(pc)
rts
move.w #2, (Battle_Routine_2).l ; => Battle_MainOptions
rts
; -----------------------------------------------------------------


Por fim atualizamos o tamanho da janela, criando uma constante para configuração e alterando os valores d1 que é o parametro de largura enviado pra subrotina de desenho:

; -----------------------------------------------------------------

BattleWindowWidth = 11                ; <-- Cria a constante para configurar largura da janela
Battle_OpenMainOptions:
bset #7, (Battle_Routine_2).l
bne.w loc_1228
clr.b (Battle_Command_Data).l
lea ($FFFF2540).l, a0
lea ($FFFF8200).w, a1
moveq #$28, d1
moveq #$11, d2
jsr (PlaneMapToRAM).l
lea ($FFFF3500).l, a0
movea.l a0, a2
moveq #BattleWindowWidth, d1          ; <- Insere a constante aqui
moveq #7, d2
jsr (Battle_SetupWindow).l
lea ($FFFF0286).l, a1
jsr (PlaneMapToRAM).l
lea ($FFFF0308).l, a1
lea (text_battlemenu_cmd).l, a0
moveq #1, d1
jsr (loc_27DB92).l
lea $100(a1), a1

if revision=0
addq.w #8, a0
else
lea (text_battlemenu_macro).l, a0
endif

clr.w d1
jsr (loc_27DB92).l
lea $100(a1), a1

if revision=0
addq.w #6, a0
else
lea (text_battlemenu_run).l, a0
endif

jsr (loc_27DB92).l
moveq #BattleWindowWidth, d1          ; <- Insere a constante aqui
moveq #7, d2
lea ($FFFF0286).l, a0
movea.l a2, a1
jsr (loc_27DD04).l
moveq #4, d7
lea ($FFFF410C).l, a0
loc_120A:
move.w #6, (a0)
addq.w #4, a0
dbf d7, loc_120A
clr.w (a0)
addq.w #4, a0
clr.w (a0)
clr.l (Macro_Item_Slot_1).w
clr.b (Macro_Item_Slot_5).w
clr.w ($FFFF418C).l
loc_1228:
moveq #BattleWindowWidth, d1          ; <- Insere a constante aqui
moveq #7, d2
lea ($FFFF3500).l, a0
lea ($FFFF8286).w, a1
jsr Battle_CreateWindow(pc)
rts
move.w #2, (Battle_Routine_2).l ; => Battle_MainOptions
rts
; -----------------------------------------------------------------


Pronto, menu de batalha expandido.



As outras janelas acho que você já descobriu aonde fica a tabela de atributo que configura elas, mas em todo caso:


; =================================================================
WinGroup_System:
                ;L   A    X    Y
dc.b $1B, $09, $04, $02 ; 0
dc.l Win_System

dc.b $09, $06, $1A, $0B ; 1
dc.l Win_SaveSlots

dc.b $12, $03, $0B, $10 ; 2
dc.l Win_MessageSpeed

dc.b $12, $03, $0B, $10 ; 3
dc.l Win_BattleSpeed

dc.b $14, $0F, $0F, $04 ; 4
dc.l Win_ButtonSettings

dc.b $06, $04, $04, $0F ; 5
dc.l Win_SaveOverwriteConfirm

dc.b $19, $04, $07, $15 ; 6
dc.l Win_SettingsMessage

dc.b $23, $17, $02, $02 ; 7
dc.l Win_Debug
; =================================================================



A Sequencia dos atributos é Largura, Altura, Posição X e Posição Y (segue o eixo cartesiano)





E não esqueça de colocar os créditos pela ajuda! Abraços!

PS: Recomendo também que participe no Discord. É mais fácil ajudar por lá.
nonononono