Por mi genial!
Gracias por tu tiempo na_th_an!
Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)
Moderador: na_th_an
Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)
Antes que nada, ¿Qué versión de la churrera estás usando?
Como diría Rorshach: "Urm..."
Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)
Vale. Si abres el archivo extern.h verás que sólo contiene esto:
$this->bbcode_second_pass_code('', '// External custom code to be run from a script
void do_extern_action (unsigned char n) {
// Add custom code here.
}
')
Lo que vas a hacer es borrar todo eso y sustituirlo por el código necesario para imprimir los mensajes que puse más arriba que, si te fijas, añade código a la función do_extern_action además de definir otras funciones auxiliares que le son necesarias y los textos.
Luego, asegúrate que:
1.- ACTIVATE_SCRIPTING está activado en config.h, y has seleccionado una tecla de acción (SCRIPTING_DOWN, por ejemplo). También debe estar activado ENABLE_EXTERN_CODE.
2.- Estamos compilando bien el script. En make.bat, por el principio, vienen originalmente este código:
$this->bbcode_second_pass_code('', 'rem no olvides cambiar NPANT por el nº de pantallas
msc %1.spt msc.h NPANT')
Esa es la llamada al compilador de scripts. Asegúrate que en vez de "NPANT" estás poniendo el número total de pantallas de tu güego.
3.- Tenemos el script donde debe estar: en el directorio script debe haber un archivo que se llame igual que tu juego con extensión .spt (debe tener el mismo nombre que el que le pusiste a churromain.c, pero con .spt).
4.- Que en el script estemos referenciando la pantalla correcta (en PRESS_FIRE AT SCREEN n) y la posición correcta (en IF PLAYER_TOUCHES x, y). También es importante que el número que pasamos al EXTERN sea 1, 2 o 3, ya que en el ejemplo sólo hay tres textos.
$this->bbcode_second_pass_code('', '// External custom code to be run from a script
void do_extern_action (unsigned char n) {
// Add custom code here.
}
')
Lo que vas a hacer es borrar todo eso y sustituirlo por el código necesario para imprimir los mensajes que puse más arriba que, si te fijas, añade código a la función do_extern_action además de definir otras funciones auxiliares que le son necesarias y los textos.
Luego, asegúrate que:
1.- ACTIVATE_SCRIPTING está activado en config.h, y has seleccionado una tecla de acción (SCRIPTING_DOWN, por ejemplo). También debe estar activado ENABLE_EXTERN_CODE.
2.- Estamos compilando bien el script. En make.bat, por el principio, vienen originalmente este código:
$this->bbcode_second_pass_code('', 'rem no olvides cambiar NPANT por el nº de pantallas
msc %1.spt msc.h NPANT')
Esa es la llamada al compilador de scripts. Asegúrate que en vez de "NPANT" estás poniendo el número total de pantallas de tu güego.
3.- Tenemos el script donde debe estar: en el directorio script debe haber un archivo que se llame igual que tu juego con extensión .spt (debe tener el mismo nombre que el que le pusiste a churromain.c, pero con .spt).
4.- Que en el script estemos referenciando la pantalla correcta (en PRESS_FIRE AT SCREEN n) y la posición correcta (en IF PLAYER_TOUCHES x, y). También es importante que el número que pasamos al EXTERN sea 1, 2 o 3, ya que en el ejemplo sólo hay tres textos.
Como diría Rorshach: "Urm..."
Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)
He hecho lo que me dices y me salen errores al compilar
$this->bbcode_second_pass_code('', '### COMPILANDO SCRIPT ###
msc-config.h
msc.h
2 archivos copiados.
-------------------------------------------------------------------------------
### REGENERANDO MAPA ###
** WARNING **
MapCnv convierte un archivo raw de mappy (mapa.map, por ejemplo)
a un array directamente usable por los juegos de la churrera.
Si metes mal los parámetros ocurrirán cosas divertidas.
packed
Se escribió mapa.h con 24 pantallas empaquetadas (1800 bytes).
Se encontraron 2 cerrojos.
1 archivos copiados.
-------------------------------------------------------------------------------
### COMPILANDO GUEGO ###
1 archivos copiados.
1 archivos copiados.
sccz80:"engine.h" L:139 Warning:#4:Function returns different type to prototype
sccz80:"engine.h" L:139 Warning:#5:Prototype is signed int fn
sccz80:"engine.h" L:139 Warning:#6:Function is unsigned char fn
sccz80:"mainloop.h" L:4 Warning:#4:Function returns different type to prototype
sccz80:"mainloop.h" L:4 Warning:#5:Prototype is signed int fn
sccz80:"mainloop.h" L:4 Warning:#6:Function is void fn
Error at file 'C:\DOCUME~1\Carlos\CONFIG~1\Temp\s3j4_.asm' module 'DOGMOLE': Symbol not defined in e
xpression '_DRAW_TEXT'
1 errors occurred during assembly
Key to filenames:
C:\DOCUME~1\Carlos\CONFIG~1\Temp\s3j4_.o = dogmole.c
Error at file 'C:\DOCUME~1\Carlos\CONFIG~1\Temp\s3j4_.asm' module 'DOGMOLE': Symbol not defined in e
xpression '_DRAW_TEXT'
-------------------------------------------------------------------------------
### CONSTRUYENDO CINTA ###
BAS2TAP v2.5 by Martijn van der Heide of ThunderWare Research Center
Creating output file loader.tap
Done! Listing contains 1 line.
Input file open failed!
loader.tap
screen.tap
1 archivos copiados.
-------------------------------------------------------------------------------
### LIMPIANDO ###
No se encuentra C:\Dogmole\dev\main.tap
No se encuentra C:\Dogmole\dev\dogmole.bin
-------------------------------------------------------------------------------
### DONE ###')
$this->bbcode_second_pass_code('', '### COMPILANDO SCRIPT ###
msc-config.h
msc.h
2 archivos copiados.
-------------------------------------------------------------------------------
### REGENERANDO MAPA ###
** WARNING **
MapCnv convierte un archivo raw de mappy (mapa.map, por ejemplo)
a un array directamente usable por los juegos de la churrera.
Si metes mal los parámetros ocurrirán cosas divertidas.
packed
Se escribió mapa.h con 24 pantallas empaquetadas (1800 bytes).
Se encontraron 2 cerrojos.
1 archivos copiados.
-------------------------------------------------------------------------------
### COMPILANDO GUEGO ###
1 archivos copiados.
1 archivos copiados.
sccz80:"engine.h" L:139 Warning:#4:Function returns different type to prototype
sccz80:"engine.h" L:139 Warning:#5:Prototype is signed int fn
sccz80:"engine.h" L:139 Warning:#6:Function is unsigned char fn
sccz80:"mainloop.h" L:4 Warning:#4:Function returns different type to prototype
sccz80:"mainloop.h" L:4 Warning:#5:Prototype is signed int fn
sccz80:"mainloop.h" L:4 Warning:#6:Function is void fn
Error at file 'C:\DOCUME~1\Carlos\CONFIG~1\Temp\s3j4_.asm' module 'DOGMOLE': Symbol not defined in e
xpression '_DRAW_TEXT'
1 errors occurred during assembly
Key to filenames:
C:\DOCUME~1\Carlos\CONFIG~1\Temp\s3j4_.o = dogmole.c
Error at file 'C:\DOCUME~1\Carlos\CONFIG~1\Temp\s3j4_.asm' module 'DOGMOLE': Symbol not defined in e
xpression '_DRAW_TEXT'
-------------------------------------------------------------------------------
### CONSTRUYENDO CINTA ###
BAS2TAP v2.5 by Martijn van der Heide of ThunderWare Research Center
Creating output file loader.tap
Done! Listing contains 1 line.
Input file open failed!
loader.tap
screen.tap
1 archivos copiados.
-------------------------------------------------------------------------------
### LIMPIANDO ###
No se encuentra C:\Dogmole\dev\main.tap
No se encuentra C:\Dogmole\dev\dogmole.bin
-------------------------------------------------------------------------------
### DONE ###')
Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)
Vale, eso es porque el código del ramiro tenía funciones que se llamaban de otra forma.
En extern.h, cambia la llamada a draw_text por print_str, en la linea 70 o asín:
$this->bbcode_second_pass_code('', 'print_str (x, y, c, cad);')
Es que en la churrera vieja la función de imprimir cadenas se llamaba de otra forma
Para quitar los warnings que salen, edita definitions.h y escribe esto al final:
$this->bbcode_second_pass_code('', 'unsigned char rand (void);
void saca_a_todo_el_mundo_de_aqui (void);')
Con esos dos cambios te debería compilar sin problemas
En extern.h, cambia la llamada a draw_text por print_str, en la linea 70 o asín:
$this->bbcode_second_pass_code('', 'print_str (x, y, c, cad);')
Es que en la churrera vieja la función de imprimir cadenas se llamaba de otra forma
Para quitar los warnings que salen, edita definitions.h y escribe esto al final:
$this->bbcode_second_pass_code('', 'unsigned char rand (void);
void saca_a_todo_el_mundo_de_aqui (void);')
Con esos dos cambios te debería compilar sin problemas
Como diría Rorshach: "Urm..."
Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)
Uyyyyy, casi!
Ahora termina de compilar bien, pero tras cargar el loading screen, se cuelga.
Venga que ya estamos más cerca
Te dejo el tap para que veas lo que te comento.
Gracias nathan!
Ahora termina de compilar bien, pero tras cargar el loading screen, se cuelga.
Venga que ya estamos más cerca
Te dejo el tap para que veas lo que te comento.
Gracias nathan!
- Adjuntos
-
- dogmole.tap
- (43.15 KiB) Descargado 310 veces
Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)
Con el tap no veo nada Necesito tu /dev.
Como diría Rorshach: "Urm..."
Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)
Ah, pues sí que ha sido suficiente con el tap.
Se cuelga porque ocupa demasiado, 37131 bytes... Y el máximo para tu versión es de 36455 bytes.
¿Cuánto ocupa tu mapa? ¿Qué motores estás activando? A lo mejor vas a tener que pedir ayuda a Antonio Villena para comprimir el mapa y ganar algo de espacio.
Se cuelga porque ocupa demasiado, 37131 bytes... Y el máximo para tu versión es de 36455 bytes.
¿Cuánto ocupa tu mapa? ¿Qué motores estás activando? A lo mejor vas a tener que pedir ayuda a Antonio Villena para comprimir el mapa y ganar algo de espacio.
Como diría Rorshach: "Urm..."
Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)
Jejeje, el tap era solo para recrear el momento dle "pete"
Pues que raro, porque es el mapa original del Dogmole, solo que he ido añadiendo ya algunos tiles extra a las pantallas mediante script.
Pero vamos, no creo que eso le haga aumentar demasiado el tamaño.
Mira, te dejo 2 dev comprimidos en un mismo zip:
El dev1 es el que peta. Este es al que le he modificado el config.h, extern.h y script como tu me indicabas.
El dev2 NO peta, y es como lo tenía antes de intentar mostrar texto en pantalla.
A ver si con eso puedes averiguar algo más, y si no, pues paso de meter texto y arreando! jejeje
Pues que raro, porque es el mapa original del Dogmole, solo que he ido añadiendo ya algunos tiles extra a las pantallas mediante script.
Pero vamos, no creo que eso le haga aumentar demasiado el tamaño.
Mira, te dejo 2 dev comprimidos en un mismo zip:
El dev1 es el que peta. Este es al que le he modificado el config.h, extern.h y script como tu me indicabas.
El dev2 NO peta, y es como lo tenía antes de intentar mostrar texto en pantalla.
A ver si con eso puedes averiguar algo más, y si no, pues paso de meter texto y arreando! jejeje
- Adjuntos
-
- dev.zip
- (112.18 KiB) Descargado 319 veces
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 69 invitados