|
| Consultas sobre LevelASM/Uber ASM. | |
| Autor | Mensaje |
---|
Moltz Goomba
Posts : 27
| Tema: Consultas sobre LevelASM/Uber ASM. Miér Sep 09, 2015 11:56 am | |
| Hace un tiempo he pensado en ponerle a mi hack todos esos efectos de gradientes, del layer 3 que esta detrás del BG y de cambiar de que forma actúa este, como por ejemplo agua normal.
El tema es que tengo la impresión de que el parche solo puede usarse una vez, o que este debe usarse cuando el hack esta a punto de ser terminado, y sin embargo al ver algunos videos de usuarios de la Central en el "work in progress" me da la idea que no es en realidad así.
A lo que va todo lo que es escrito es si alguien que lo haya usado antes me podria correjir o confirmar si esl parche en realidad se inserta una vez o es la excepción, o para agregar un efecto c/vez que termino un nivel uno ocupa el Xkas anti.
Última edición por Moltz el Jue Sep 10, 2015 8:45 pm, editado 1 vez |
| | | UrlGF Shelless Green Koopa
Posts : 6
| Tema: Re: Consultas sobre LevelASM/Uber ASM. Miér Sep 09, 2015 3:54 pm | |
| Pues yo siempre lo inserto a cada rato, supongamos que hice un gradiente para el lv 105, lo inserto y si en algún futuro quiero hacer uno para otro nivel, solo modifico el código y lo inserto de nuevo jamás he tenido un error ni nada con eso. Pero aveces siento que como usa Asar no se le asigna el mismo espacio así que para mi ROM final sólo lo insertaré una vez, pero ya tendría todo los códigos listos. |
| | | Moltz Goomba
Posts : 27
| Tema: Re: Consultas sobre LevelASM/Uber ASM. Miér Sep 09, 2015 6:27 pm | |
| ¿Así que se puede insertar cuantas veces uno quiera? Genial.
Ahora solo me queda buscar el código que hace que el layer 3 este detrás del BG al estilo de los pilares de castillo de SMB3, a menos que el effect tool ya pueda hacer eso. |
| | | lx5 Moderador Global
Posts : 2169
| Tema: Re: Consultas sobre LevelASM/Uber ASM. Jue Sep 10, 2015 12:04 am | |
| Que yo sepa el effect tool cubre todo eso; y si, puedes usar HDMA las veces que quieras en tu ROM, asar hace posible esto por la funcion "autoclean" con la que cuenta, que limpia el codigo que fue insertado para volverlo a insertar en el mismo lugar, a menos que haya cambiado de tamaño a grandes proporciones por alguna razon, pero no creo que unas tablas de HDMA causen esto. |
| | | Moltz Goomba
Posts : 27
| Tema: Re: Consultas sobre LevelASM/Uber ASM. Jue Sep 10, 2015 8:44 pm | |
| Gracias por la ayuda! Ahora si podre agregarles mas efectos al juego.
Ahora solo me falta averiguar como se insertan correctamente.
Intente agregarle una gradiente a un nivel x pegando el siguiente codigo en el level_init_code.asm:
levelinit1: JSL $1FB638 ;Load Gradient 1. RTS
El $1FB638 es donde inserte la gradiente en caso que necesite usarla para otro nivel, la cual es la sig: (inserte la gradiente como xkas y el levelasm con asar por si acaso)
;@xkas ;To be patched with xkas or asar.
header
lorom
ORG $1FB638 ;<-- Change this to some freespace.
;this is RATS tag, if you don't know what this is, don't touch it!!! db "STAR" dw RATS_End-RATS_Start-$01 dw RATS_End-RATS_Start-$01^$FFFF
RATS_Start: REP #$20 LDA #$3202 STA $4330 LDA #.RedGreenTable STA $4332 LDY.b #.RedGreenTable>>16 STY $4334 LDA #$3200 STA $4340 LDA #.BlueTable STA $4342 LDY.b #.BlueTable>>16 STY $4344 SEP #$20 LDA #$18 TSB $0D9F RTL
.RedGreenTable: ; db $0C : db $54, $24 ; db $06 : db $54, $27 ; db $06 : db $55, $28 ; db $06 : db $55, $2A ; db $06 : db $56, $2E ; db $06 : db $56, $30 ; db $06 : db $58, $31 ; db $06 : db $59, $33 ; db $80 : db $5A, $34 ; db $29 : db $5A, $34 ; db $01 : db $40, $20 ; db $00 ; db $00 ;
.BlueTable: ; db $0C : db $9B ; db $06 : db $9C ; db $06 : db $9C ; db $06 : db $9D ; db $06 : db $9D ; db $06 : db $9E ; db $06 : db $9E ; db $06 : db $9F ; db $80 : db $9F ; db $29 : db $9F ; db $01 : db $80 ; db $00 ;
RATS_End:
Intente meterme al nivel y el rom "crasheo" completamente. El tutorial el effect tool me decía que tiene que ir la gradiente en el level init, y a pesar de eso igual no sirve. (a menos que se referia a otro level init.)
¿...Ayuda? |
| | | Michael Administrador
Posts : 3580
| Tema: Re: Consultas sobre LevelASM/Uber ASM. Vie Sep 11, 2015 7:46 pm | |
| Sumale 8 al JSL $1FB638, quedara en JSL $1FB640 y ya con eso sale. Ahora, la verdad a mi no me gusta ese metodo ya que insertas el codigo a tu rom entero en vez de ser algo que solo estara ahi por un nivel (o bueno, segun en cuantos niveles lo pongas), asi que puedes tambien hacer esto: Copia todo lo que esta entre "RATS_Start" y "RATS_End" (sin contar esas labels) y lo pegas en levelinit. Eso si, no olvides cambiar el RTL por RTS y ponerle un RTS al final de todo, asi: - Código:
-
REP #$20 LDA #$3202 STA $4330 LDA #.RedGreenTable STA $4332 LDY.b #.RedGreenTable>>16 STY $4334 LDA #$3200 STA $4340 LDA #.BlueTable STA $4342 LDY.b #.BlueTable>>16 STY $4344 SEP #$20 LDA #$18 TSB $0D9F RTS
.RedGreenTable: ; db $0C : db $54, $24 ; db $06 : db $54, $27 ; db $06 : db $55, $28 ; db $06 : db $55, $2A ; db $06 : db $56, $2E ; db $06 : db $56, $30 ; db $06 : db $58, $31 ; db $06 : db $59, $33 ; db $80 : db $5A, $34 ; db $29 : db $5A, $34 ; db $01 : db $40, $20 ; db $00 ; db $00 ;
.BlueTable: ; db $0C : db $9B ; db $06 : db $9C ; db $06 : db $9C ; db $06 : db $9D ; db $06 : db $9D ; db $06 : db $9E ; db $06 : db $9E ; db $06 : db $9F ; db $80 : db $9F ; db $29 : db $9F ; db $01 : db $80 ; db $00 ; RTS Con eso no solo es mas rapido, sino que tomara menos espacio. Despues si lo quieres en otro nivel nada mas usas JSR levelinitXX, donde XX es el nivel en donde pusiste primero el codigo. |
| | | Moltz Goomba
Posts : 27
| Tema: Re: Consultas sobre LevelASM/Uber ASM. Vie Sep 11, 2015 9:53 pm | |
| - Michael escribió:
- Sumale 8 al JSL $1FB638, quedara en JSL $1FB640 y ya con eso sale. Ahora, la verdad a mi no me gusta ese metodo ya que insertas el codigo a tu rom entero en vez de ser algo que solo estara ahi por un nivel (o bueno, segun en cuantos niveles lo pongas), asi que puedes tambien hacer esto:
Copia todo lo que esta entre "RATS_Start" y "RATS_End" (sin contar esas labels) y lo pegas en levelinit. Eso si, no olvides cambiar el RTL por RTS y ponerle un RTS al final de todo, asi:
- Código:
-
codigo
Con eso no solo es mas rapido, sino que tomara menos espacio. Despues si lo quieres en otro nivel nada mas usas JSR levelinitXX, donde XX es el nivel en donde pusiste primero el codigo. Ahora si me funciona! ¿Al final lo que estaba mal del codigo era que en el medio el RTL tenia que ser RTS? Pregunto para no tener que hacer un nuevo tema/postear aquí cada vez que me salga algo mal. Mientras experimentaba con el descubrí que aún no logran arreglar ese bug en que el HDMA aparece por unos segundos al cambiar de nivel. Me pondré a experimentar con el parche haber que mas puedo hacer con el. |
| | | Michael Administrador
Posts : 3580
| Tema: Re: Consultas sobre LevelASM/Uber ASM. Vie Sep 11, 2015 9:57 pm | |
| No, ya que si estas insertandolo como parche el RTL esta bien ahi, el problema es que no puedes llamar el codigo con exactamente el mismo freespace que le pusiste, sino que debes sumarle 8 al numero. La razon no la tengo clara, pero asi es como funciona si usas el metodo de parches. |
| | | Contenido patrocinado
| Tema: Re: Consultas sobre LevelASM/Uber ASM. | |
| |
| | | | Consultas sobre LevelASM/Uber ASM. | |
|
Temas similares | |
|
| Permisos de este foro: | No puedes responder a temas en este foro.
| |
| |
| Donaciones |
Quieres ayudar al foro? Siéntete libre de donar la cantidad que quieras!
|
|