Registrarse

[Otros] [Pokecrystal] Remover intro Unown Suicune

Kammm

Profesional de WaH
Miembro del equipo
Staff
¡Hola!
Este tutorial está sacado directamente de la Wiki de Pokecrystal, así que las muchas gracias van dirigidas hacia ellos.

Requisitos:
1.
Leer los proyectos de decompilación:
Compilando Pokered o Pokecrystal con WSL Windows 10 o superior (Recomendado).
Compilando Pokecrystal con MSys2 Windows (Cualquier versión).
2. El editor de textos de su preferencia (Notepad, Sublime text, etc).

La introducción de Pokémon Crystal es bastante compleja de modificar y requiere un gran conocimiento de ensamblaje para modificarla. Afortunadamente, si planeas darle una nueva historia a tu hack, no es nada difícil simplemente eliminar la introducción. Este cambio saltará directamente a la pantalla de título directamente después de que se reproduzca la introducción de Game Freak con Ditto.

Abra la carpeta donde tiene su proyecto:
1725214834619.png

Entre a la carpeta engine, luego, entre a la carpeta movie, allí encontrará un archivo llamado intro.asm que deberá abrir con su editor de texto.
1725215401206.png

Usted encontrará este código (Abierto en Notepad++):
1725215632831.png

Buscamos IntroScenes en el código:
1725215907488.png

Esta es la sección en la que Crystal carga las animaciones de la introducción (es decir, Pichu, Unown aparece, Suicune se ejecuta). Puedes eliminar las líneas IntroScene1 a IntroScene27. Para que quede de esta manera:
Código:
IntroScenes:
    dw IntroScene28
Compila y abre la ROM. Ahora debería funcionar exactamente como se describe arriba, sin errores.

Opcionalmente, si desea reducir el espacio, ahora puede eliminar el código de todas las funciones del archivo, excepto CrystalIntro, IntroSceneJumper, IntroScenes e IntroScene28. Todo lo demás se puede eliminar.

Al hacer esto se ahorran aproximadamente 12,5 Kb de espacio, lo que representa el 0,625% de toda la ROM de 2 Mb.

Que quede tal que así:
Código:
CrystalIntro:
    ldh a, [rSVBK]
    push af
    ld a, BANK(wGBCPalettes)
    ldh [rSVBK], a
    ldh a, [hInMenu]
    push af
    ldh a, [hVBlank]
    push af
    call .InitRAMAddrs
.loop
    call JoyTextDelay
    ldh a, [hJoyLast]
    and BUTTONS
    jr nz, .ShutOffMusic
    ld a, [wJumptableIndex]
    bit 7, a
    jr nz, .done
    call IntroSceneJumper
    farcall PlaySpriteAnimations
    call DelayFrame
    jp .loop

.ShutOffMusic
    ld de, MUSIC_NONE
    call PlayMusic

.done
    call ClearBGPalettes
    call ClearSprites
    call ClearTilemap
    xor a
    ldh [hSCX], a
    ldh [hSCY], a
    ld a, 7
    ldh [hWX], a
    ld a, SCREEN_HEIGHT_PX
    ldh [hWY], a
    pop af
    ldh [hVBlank], a
    pop af
    ldh [hInMenu], a
    pop af
    ldh [rSVBK], a
    ret

.InitRAMAddrs:
    assert VBLANK_NORMAL == 0
    xor a
    ldh [hVBlank], a
    ld a, TRUE
    ldh [hInMenu], a
    xor a
    ldh [hMapAnims], a
    ld [wJumptableIndex], a
    ret

IntroSceneJumper:
    jumptable IntroScenes, wJumptableIndex

IntroScenes:
    dw IntroScene28

IntroScene28:
; Cut out when the music ends, and lead into the title screen.
    ld hl, wIntroSceneFrameCounter
    ld a, [hl]
    and a
    jr z, .done
    dec [hl]
    cp $18
    jr z, .clear
    cp $8
    ret nz

    ld de, SFX_INTRO_WHOOSH
    call PlaySFX
    ret

.clear
    call ClearBGPalettes
    ret

.done
    ld hl, wJumptableIndex
    set 7, [hl]
    ret
Aquí el resultado:
Muestra.gif
 

liovy

Usuario de bronce
Me gusta que estés activo tratando de revivir un poco el foro. El tutorial le será útil a muchos
 

zekrom007

Usuario de oro
El tutorial esta bueno ahorita hay gente que edita roms de gbc con decompilacion logrando resultados optimos se agradece mucho tu tutorial espero treigas el de como decompilar una rom de gbc de pokemon y traducirla por completo ya que las herramientas son antiguas y se usan metodos obsoletos
 

RevKenHack

Usuario de oro
No existe una herramienta mágica que te decompile una rom. Los proyectos de decomp tomaron años de investigación para recrear el código de los juegos oficiales en un formato legible. No es imposible de hacer, pero a menos que seas un pro en assembly con muchas horas libres y además entiendas cómo está estructurada la rom, no vale la pena. Mejor traducir a punta de hex editor.

PD: Buen tuto
 
Última edición:
Arriba