Registrarse

[Rutina] FR| ASM| Nombre personalizado.

Naren Jr.

Puto amo
Usuario de Platino
Bueno para las personas que quieran que el player tenga un nombre Pre-Establecido esto es posible con esta rutina ASM de FBI

Para implementar el sistema es sencillo solo buscan los 7 bytes de espacio donde colocaran el nombre que quiere que tenga el prota, y colocan el nombre en Hex, toman el puntero donde comienza el texto y lo colocan ya sea en chico o en chica.


Rutina:
Código:
.text
.align 2
.thumb
.thumb_func

main:
	push {r0-r2, lr}
	ldr r0, .Name
	ldr r0, [r0]
	add r1, r0, #0x1
	ldrb r1, [r1]
	cmp r1, #0x1 @girl
	beq Girl
	ldr r1, .CustomNameBoy
	ldr r2, [r1]
	add r1, r1, #0x4
	ldr r1, [r1]
	str r2, [r0]
	add r0, r0, #0x4
	str r1, [r0]
	pop {r0-r2, pc}

Girl:
	ldr r1, .CustomNameGirl
	ldr r2, [r1]
	add r1, r1, #0x4
	ldr r1, [r1]
	str r2, [r0]
	add r0, r0, #0x4
	str r1, [r0]
	pop {r0-r2, pc}


.align 2
.Name:
	.word 0x300500C

.CustomNameBoy:
	.word 0x08'Puntero del nombre (chico)'

.CustomNameGirl:
	.word 0x0'Puntero del nombre (chica)'

OJO solo se permiten 7 bytes de longitud para el nombre.


Si colocan mas de los bytes necesarios no se que ocurrirá x'D

Ahora ¿Qué valores se deben colocar para los nombres?

Aquí les dejo una lista de los valores de las letras en Hex


Para los flojos les dejo este programa:


Listo espero que les sea útil :D saludos!

Créditos a FBI.
 

Guilly Alpha

It's eleven o'clock
Ole ole ole, graaan aporte señores!!!
Un aporte muy util para la gente que que quiere un hack con nombre predefinido (como servidor)
Aunque tengo una duda, ¿inserto la rutina y ya se pone el nombre automaticamente?
Muchas gracias!!
 

Xiros

¡Pokémon Omega con actualización del 30/8!
Miembro de honor
Gran aporte! Sin duda en pokeco están mucho más adelantados que nosotros.

Vamos a tener que ponernos las pilas :)
 

Adke

weeeh
Si haces callasm 0x09FC91 te sale la pantalla para insertar un nombre y al terminar se abre el menú start con el nombre ya cambiado.

Espero que sirva ^^

PD: el script termina automáticamente al cambiar el nombre.
 

Naren Jr.

Puto amo
Usuario de Platino
Si haces callasm 0x09FC91 te sale la pantalla para insertar un nombre y al terminar se abre el menú start con el nombre ya cambiado.

Espero que sirva ^^
Esa es la rutina pre-establecida del juego, el inconveniente es que carga el menú y si estas en un script de nivel te lo corta totalmente x'D.
 

Gold

Porrero a tiempo parcial
Miembro insignia
Ya sabía desde hace mucho de esta rutina, ya que la uso, por lo que pude probar el juego simplemente se niega a leer más de 7 carácteres por nombre.
 

eing

Miembro de honor
Miembro de honor
Ya sabía desde hace mucho de esta rutina, ya que la uso, por lo que pude probar el juego simplemente se niega a leer más de 7 carácteres por nombre.

No, es que los nombres, son words (8 bytes) o varchar(8).
Y los demás cadenas de texto.
Por eso nunca podrás poner una largura mayor a la establecida por ellos (pensaron que 8 digitos es suficiente..),al no ser que cambies dicha restriccion, y de paso los gráficos que tienen que ver con esos 8 bytes.


Respecto a la rutina.. Es muy simple, diria que de las primeras que hizo fbi, puesto que eso mismo se podría hacer con writebytetooffset.
 

Gold

Porrero a tiempo parcial
Miembro insignia
No, es que los nombres, son words (8 bytes) o varchar(8).
Y los demás cadenas de texto.
Por eso nunca podrás poner una largura mayor a la establecida por ellos (pensaron que 8 digitos es suficiente..),al no ser que cambies dicha restriccion, y de paso los gráficos que tienen que ver con esos 8 bytes.


Respecto a la rutina.. Es muy simple, diria que de las primeras que hizo fbi, puesto que eso mismo se podría hacer con writebytetooffset.
¿Seguro que con WBTO se puede hacer? cuando pedí ayuda me dijeron eso mismi, incluso me dieron las direcciones para hacerlo así, pero al probarlo no funcionaba por el problema de la RAM protegida de FR, lo mismo me pasaba con el cambio de género, solo funcionaba con ASM.
 

eing

Miembro de honor
Miembro de honor
¿Seguro que con WBTO se puede hacer? cuando pedí ayuda me dijeron eso mismi, incluso me dieron las direcciones para hacerlo así, pero al probarlo no funcionaba por el problema de la RAM protegida de FR, lo mismo me pasaba con el cambio de género, solo funcionaba con ASM.
Realmente esa funcion asm hace lo mismo que un wbto xd
Y el cambio de genero (no de mini) igual xd

Ldr r0.sexo
Mov r1,#0x1
Strb r1,[r0,#0x0]


Es lo mismo que: writebytetooffset 0x1 0xoffset_sexo.

El asm es realmente util para modificar rutinas o crear nuevas de 0, con una nueva utilidad.
No para hacer cosas simples..
 

Gold

Porrero a tiempo parcial
Miembro insignia
Han visto el "potencial" de esta rutina???

Me explico, esta rutina puede cambiar el nombre del prota ¿no?. Algo muy util, supongo, mira me explico:

Supongamos que estamos haciendo un hack, en el que habrá instancias en las que ya no tengamos que jugar con nuestro "prota" y nos toca jugar con un personaje "secundario", el caso es que sería cutre que estemos jugando con el personaje secundario y éste tenga el nombre de nuestro prota; ahí es donde entra la rutina de FBI, quizá, si se modifica un poco, podemos hacer que la rutina se llame desde un callasm (si ya no lo hace), o por ahi, modificarla que halla una tabla de nombres, para que al aplicarle por ejemplo un setvar, se nos cambie el nombre del prota, algo como ésto:

setvar 0x4023 0x0

donde el "0x4023" sería el que cargue los nombres del prota, si éste fuese chico, y el "0x0" el nombre que estamos cargando.

Y si nuestro personaje es chica (género femenino, no el sprite de la chica) se carguen otra tabla de nombres, utilizando otro setvar, teniendo así, el chico su propia tabla de nombres, y la chica otra, siendo ámbas tablas, una independiente de la otra.

Especulo que en el estado actuál de la rutina, se puede hacer algo un poquis parecido a lo que dije más arriba, pero tendríamos que meter la mísma rutina una y otra vez, para que hallan muchos nombres que podamos usar tanto para el chico y la chica, cuando sería más comodo y noa ahorraría muco espacio en el rom, hacer una sola rutina en la que se puedan cambiar el nombre del chico y la chica mediante el uso de setvar.

Se que me desbié un poco del tema original (espero que no me sancionen por ello) pero creo que este tema ameritaba que yo o alguien planteara esto.
Prongo que se habra un nuevo tema para debatir lo que plantee.


Por otra parte: @NarenJr. Has hecho muy bien en traer ésta rutina a WHA, ya tengo decidido como la implementaré ;). Buen aprte!!!

Se despide Subzero
Salu2

edito: el setvar 0x4023 0x0 lo pongo como ejemplo ;)
Hasta donde recuerdo, esta rutina sirve para darle un nombre predefinido al prota cuando nos saltamos la intro y no le hemos puesto nombre al prota, no se si funcione si el prota ya tiene nombre definido.
 

Bugrhak

A long time ago I used to call myself "Subzero".
Hasta donde recuerdo, esta rutina sirve para darle un nombre predefinido al prota cuando nos saltamos la intro y no le hemos puesto nombre al prota, no se si funcione si el prota ya tiene nombre definido.
Creo que ya dejé claro que se eso (si mal no recuerdo), pero mi punto es, que esa rutina es 90% editable para que se pueda acceder a ella mediante con un setvar o un callasm, para así poder cambiarle el nombre al prota, las veces que en tu hack, sea necesario...
 
Arriba