Author Id: 12479 Author Name: eing Post Content: Vale fallo garrafal mío, por falta de práctica. La estructura de un offset, que apunta a otra dirección es un offset permutado. Es decir, en la dirección de la ram, hayarás la direccion fisica donde se haya el gráfico, pero permutada. Así mismo, el offset que carga el mini: 02020648 --> A0 00 3A 08 (si te fijas es la dirección fisica que buscamos en el search for cheats, pero permutada) Así que como estamos en la ram, hay que editar esa dirección, mediante WBTO, poniendo la nueva direccion fisica de nuestro nuevo mini. Así que deberiamos colocarlo así.. writebytetooffset 0x40 0x02020648 writebytetooffset 0x0C 0x02020649 writebytetooffset 0x3A 0x0202064A De manera que si vamos al visual viewer a la dirección "02020648", encontraremos la siguiente combinacion de bytes. --> 40 0C 3A 08 Y guala! ya tendremos nuestro sprite cambiado con éxito -Si es la misma paleta- Si no es la misma paleta, tocará poner unos 30 WBTO más para cambiar toda la paleta del sprite, ya que no he podido encontrar como carga la paleta el sprite.. PD:Ah, y no olvides poner scripts de nivel en TODOS los mapas donde interactues con el mini cambiado, con el WBTO, ya que al refrescar la pantalla, los cambios se pierden y vuelven al por defecto. PD2: De paso, te pondré para que sirve cada pointer.. ANIM POINTER= Animacion del mini. (Te aconsejo cambiarla si el mini no tiene la misma animacion, para evitar problemas) POINTER 1 = WIDTH del mini POINTER 2= HEIGHT del mini POINTER 3= Informacion de mini. (con todas sus frames) PD3: Adjunto foto... [IMG]http://www.subeimagenes.com/img/fr-01-308142.png[/IMG] (No cambie la paleta, por eso se ve con la paleta del protagonista.. para eso como dije anteriormente hacen falta 30 wbto más.. si los quieres hacer allá tu, pero es mejor usar distinto mini, misma paleta..) ----------------------------- EDIT: Me he molestado en hacer yo TOOODO el script, para obtener un cambio de mini del protagonista, al policia de FR.. IMAGEN: [IMG]http://www.subeimagenes.com/img/fr-02-308170.png[/IMG] Y el script os lo dejo en un spoiler ^^ [spoiler=script] [quote]#org 0x16575C faceplayer writebytetooffset 0xC0 0x02020648 writebytetooffset 0x04 0x02020649 writebytetooffset 0x3A 0x0202064A writebytetooffset 0x5F 0x020377FA writebytetooffset 0x5B 0x020377FB writebytetooffset 0xFE 0x020377FC writebytetooffset 0x4A 0x020377FD writebytetooffset 0x5B 0x020377FE writebytetooffset 0x3A 0x020377FF writebytetooffset 0x0F 0x02037800 writebytetooffset 0x21 0x02037801 writebytetooffset 0x7F 0x02037802 writebytetooffset 0x27 0x02037803 writebytetooffset 0xBA 0x02037804 writebytetooffset 0x12 0x02037805 writebytetooffset 0x90 0x02037806 writebytetooffset 0x01 0x02037807 writebytetooffset 0x34 0x02037808 writebytetooffset 0x76 0x02037809 writebytetooffset 0x4D 0x0203780A writebytetooffset 0x5D 0x0203780B writebytetooffset 0xE8 0x0203780C writebytetooffset 0x30 0x0203780D writebytetooffset 0xDD 0x0203780E writebytetooffset 0x21 0x0203780F writebytetooffset 0x15 0x02037810 writebytetooffset 0x1D 0x02037811 writebytetooffset 0xC9 0x02037812 writebytetooffset 0x18 0x02037813 writebytetooffset 0xFF 0x02037814 writebytetooffset 0x7F 0x02037815 writebytetooffset 0x00 0x02037816 writebytetooffset 0x00 0x02037817 end[/quote][/spoiler] Espacio minimo necesitado (en bytes): 198 bytes. (Lo que viene a ser 12 lineas de código..) ¿Mucho? Sí, pero el espacio está para gastarlo ¿no? PD: Esto también se podría hacer por ASM... y se vería notablemente reducido el espacio usado, ya que con asm puedes manejar cadenas de 32 bits (4bytes) y tan solo ocupariamos un par de lineas, ya que con una funcion cargamos el mini anterior, cargamos el mini nuevo, y con 4 funciones mas cargamos toda una paleta.. (4x4=16^^) Saludos..