Página 2 de 18

Re: MK2 Game - Harbinger (128k)

Publicado: Jue, 13 Ago 2015, 21:01
por elborra
Acuerdate de activar de nuevo el scripting en config.h ya que si tienes activada WIN_CONDITION = 2 fijo, que es la de final por scripting.

Independientemente, acabo de ver que la cosa puede ser un poco más complicada para que te compile... te van a ir apareciendo otros errores de compilación.

Que na_th_an me corrija,
El tema es que en MK2 parece ser que se ha "reproducido el fallo" de usar MODE_128K sin COMPRESSED_LEVELS. Si bien se podría adaptar y corregir el motor como se hizo en un momento para "Las nuevas aventuras de Dogmole Tuppowsky" en la churrera, yo no le veo mucha practicidad. Ya que estas en 128K lo suyo (más sencillo, y tendrás aun más espacio en el binario principal) es hacerlo multi-level aunque sólo tenga un nivel.

Para hacer el cambio a multi-level hay que cambiar algunas cosillas (en config.h y sobre todo en make, aparte de que se usan otras herramientas para la creación de niveles). Si no me equivoco en el fichero whatsnew.txt podrás encontrar información de como hacerlo (busca lo de buildlevel ...)

Yo creo que por ahí van los tiros pero ya dirá na_th_an.

Re: MK2 Game - Harbinger (128k)

Publicado: Vie, 14 Ago 2015, 09:25
por na_th_an
La verdad es que entre que es muy temprano y que no tengo mucho tiempo para mirar estas cosas, ahora no sé que decirte :lol:

Sinceramente, no recuerdo cual era el fallo que mencionas :gay: Refréscame la memoria, tengo muchas cosas en la cabeza.

Quizá la versión de Espadewr tenga el modo 128K un poco roto. Os paso la versión más reciente que tengo, esa debería ir y tener el librarian correcto.

Es que hice una mezcla entre dos juegos paralelos para obtener la versión del Espadewr y seguro que me cargué algo :lol: Esta debería funcionar, porque la hemos usado en 48K, luego en 128K sin niveles, y finalmente en 128K con niveles (creo recordar).

Re: MK2 Game - Harbinger (128k)

Publicado: Vie, 14 Ago 2015, 12:18
por Cthonian Godkiller
asias titanes, , lo pruebo y os digo algo :twisted:

nada, sigue petando en el mismo sitio, intentaré lo del formato multinivel :cry:

Re: MK2 Game - Harbinger (128k)

Publicado: Vie, 14 Ago 2015, 12:31
por na_th_an
¿Pero dónde te peta?

Si lo que no te funciona es el librarian estarás usando un librarian incorrecto. El formato multi nivel no te va a solucionar nada.

Re: MK2 Game - Harbinger (128k)

Publicado: Vie, 14 Ago 2015, 12:34
por Cthonian Godkiller
$this->bbcode_second_pass_quote('na_th_an', 'L')a verdad es que entre que es muy temprano y que no tengo mucho tiempo para mirar estas cosas, ahora no sé que decirte :lol:

Sinceramente, no recuerdo cual era el fallo que mencionas :gay: Refréscame la memoria, tengo muchas cosas en la cabeza.

Quizá la versión de Espadewr tenga el modo 128K un poco roto. Os paso la versión más reciente que tengo, esa debería ir y tener el librarian correcto.

Es que hice una mezcla entre dos juegos paralelos para obtener la versión del Espadewr y seguro que me cargué algo :lol: Esta debería funcionar, porque la hemos usado en 48K, luego en 128K sin niveles, y finalmente en 128K con niveles (creo recordar).


al compilar da un error del librarian.h, elborra vio que al parecer pasa un argumento de mas en la función.
igual voy a tener que probar a hacerlo con el modo multinivel de ninjajar como dice el :cry:

$this->bbcode_second_pass_code('', '
void get_resource (unsigned char res, unsigned int dest) {
unpack_RAMn (resources [res].ramPage, resources [res].ramOffset, dest, 1);
}
')

Re: MK2 Game - Harbinger (128k)

Publicado: Vie, 14 Ago 2015, 12:35
por Cthonian Godkiller
$this->bbcode_second_pass_quote('na_th_an', 'Â')¿Pero dónde te peta?

Si lo que no te funciona es el librarian estarás usando un librarian incorrecto. El formato multi nivel no te va a solucionar nada.


perdona, no vi que habias contestado :P

$this->bbcode_second_pass_code('', '
### COMPILING ###
1 archivo(s) copiado(s).
1 archivo(s) copiado(s).
sccz80:"librarian.h" L:17 Warning:#2:Too many arguments in function call
sccz80:"./engine/enemsinit.h" L:42 Error:#42:Unknown symbol: level_data
sccz80:"./engine/enemsinit.h" L:42 Error:#36:Can't take member
Compilation aborted
')

make.bat
$this->bbcode_second_pass_code('', '
@echo off

rem set here the game name (used in filenames)

SET game=harbinger

echo ------------------------------------------------------------------------------
echo BUILDING %game%
echo ------------------------------------------------------------------------------






rem ###########################################################################
rem ## LEVELS
rem ###########################################################################

rem we will delegate on makelevels.bat - if your game supports several levels,etc
rem echo ### BUILDING LEVELS
rem cd ..\levels
rem call makelevels.bat

rem but for 48K/single level games...

echo ### MAKING MAPS ###

rem the "Force" parameter is to force 16 tiles maps even if the actual map data
rem has more tan 16 tiles. Extra tiles are written to extra.spt. Me have to move
rem that file to the script folder.

..\utils\map2bin.exe ..\map\mapa.MAP 8 5 15 bolts.bin map.bin
rem move map.bin.spt ..\script

echo ### MAKING ENEMS ###
..\utils\ene2bin.exe 3 6 1 ..\enems\enems.ene enems.bin hotspots.bin

echo ### MAKING TILESET ###
..\utils\ts2bin.exe ..\gfx\font.png ..\gfx\work.png ts.bin

echo ### MAKING SPRITESET ###
..\utils\sprcnv.exe ..\gfx\sprites.png sprites.h

rem If you use arrows and/or drops this will make the sprites binary:

rem ..\utils\spg2bin.exe ..\gfx\drop.png spdrop.bin
rem ..\utils\spg2bin.exe ..\gfx\arrow.png sparrow.bin

rem ###########################################################################
rem ## GAME TEXT
rem ###########################################################################

rem Each line in text.txt contains a text string for the game.
rem textstuffer.exe will compress and pack all text strings in
rem a binary file called texts.bin. The parameter "24" define how
rem many chars per line. Word wrapping is automatic.

rem echo ### MAKING TEXTS ###
rem cd ..\texts
rem ..\utils\textstuffer.exe texts.txt texts.bin 24
rem copy texts.bin ..\dev

rem ###########################################################################
rem ## GAME SCRIPT
rem ###########################################################################

rem The game script is compiled by msc3.exe. For 128K games use "rampage" at
rem the end so the script compiler generates code to stuff everything in
rem extra pages; the second parameter is the # of screens in your game.
rem i.e. "msc3.exe ninjajar.spt 21 rampage

echo ### MAKING SCRIPT ###
cd ..\script
..\utils\msc3.exe %game%.spt 40 rampage

rem If scripts and texts are going to share the same RAM page, use this line
rem (for 128K games)
rem This calculates an offset for the scripts binary automaticly.
rem ..\utils\sizeof.exe ..\bin\texts.bin 49152 "#define SCRIPT_INIT" >> msc-config.h

copy msc.h ..\dev
copy msc-config.h ..\dev
copy scripts.bin ..\dev
cd ..\dev

rem For 128K games with text + script sharing the same page, use this to
rem bundle both binaries...
rem echo ### BUNDLING TEXT + SCRIPT ###
rem copy /b ..\texts\texts.bin + ..\script\script.bin ..\bin\preload4.bin

rem ###########################################################################
rem ## FIXED SCREENS
rem ###########################################################################

echo ### MAKING FIXED ###
..\utils\png2scr.exe ..\gfx\title.png ..\gfx\title.scr
..\utils\apack.exe ..\gfx\title.scr title.bin
..\utils\png2scr.exe ..\gfx\ending.png ..\gfx\ending.scr
..\utils\apack.exe ..\gfx\ending.scr ending.bin

del ..\gfx\*.scr
echo ### MAKING LOADING
..\utils\png2scr.exe ..\gfx\loading.png loading.bin

rem ###########################################################################
rem ## COMPILATION AND TAPE BUILDING
rem ###########################################################################

echo * Building reubica
..\utils\pasmo reubica.asm reubica.bin

echo ### BUILDING RAMS ###
cd ..\bin
librarian.exe
copy ram?.bin ..\dev
copy librarian.h ..\dev
cd ..\dev


echo -------------------------------------------------------------------------------
echo ### COMPILANDO WYZ PLAYER ###
cd ..\mus
..\utils\pasmo WYZproPlay47aZXc.ASM ram1.bin
copy ram1.bin ..\dev
cd ..\dev



echo ### COMPILING ###
c:\z88dk10\bin\zcc +zx -vn %game%.c -o %game%.bin -lsplib2 -zorg=24200
echo ### MAKING TAPS ###
..\utils\bas2tap -a10 -sFINAL loader.bas loader.tap
..\utils\bin2tap -o reubica.tap -a 25000 reubica.bin
..\utils\bin2tap -o ram1.tap -a 32768 ram1.bin
..\utils\bin2tap -o ram3.tap -a 32768 ram3.bin
..\utils\bin2tap -o loading.tap -a 16384 loading.bin
..\utils\bin2tap -o main.tap -a 24200 %game%.bin
copy /b loader.tap + loading.tap + main.tap %game%.tap
echo ### LIMPIANDO ###
del loader.tap
del main.tap
del loading.tap
del %game%.bin
echo ### DONE ###
')

Re: MK2 Game - Harbinger (128k)

Publicado: Vie, 14 Ago 2015, 12:35
por na_th_an
Si te refieres a esto:

$this->bbcode_second_pass_code('', 'sccz80:"librarian.h" L:17 Warning:#2:Too many arguments in function call
sccz80:"./engine/enemsinit.h" L:42 Error:#42:Unknown symbol: level_data
sccz80:"./engine/enemsinit.h" L:42 Error:#36:Can't take member
Compilation aborte')

- La linea 42 (la de "level data") solo se incluye si tienes activado "COMPRESSED_LEVELS". Asegúrate de que no está activado.
- El warning de #2 no te debería salir si usas el librarian.exe que está en 0.89 y aplib.h también de 0.89. No mezcles versiones. En 0.89 sólo hay un librarian.exe en /utils.

A ver si has descomprimido 0.89 encima de tu proyecto y has montado un pequeño pifostio.

Re: MK2 Game - Harbinger (128k)

Publicado: Vie, 14 Ago 2015, 12:39
por Cthonian Godkiller
$this->bbcode_second_pass_quote('na_th_an', 'S')i te refieres a esto:

$this->bbcode_second_pass_code('', 'sccz80:"librarian.h" L:17 Warning:#2:Too many arguments in function call
sccz80:"./engine/enemsinit.h" L:42 Error:#42:Unknown symbol: level_data
sccz80:"./engine/enemsinit.h" L:42 Error:#36:Can't take member
Compilation aborte')

- La linea 42 (la de "level data") solo se incluye si tienes activado "COMPRESSED_LEVELS". Asegúrate de que no está activado.
- El warning de #2 no te debería salir si usas el librarian.exe que está en 0.89 y aplib.h también de 0.89. No mezcles versiones. En 0.89 sólo hay un librarian.exe en /utils.

A ver si has descomprimido 0.89 encima de tu proyecto y has montado un pequeño pifostio.


el compressed_levels esta desactivado, probare lo del librarian y te cuento :twisted: asias titan

Re: MK2 Game - Harbinger (128k)

Publicado: Vie, 14 Ago 2015, 12:46
por na_th_an
Definitivamente, estoy viendo tus sources y o bien no has actualizado bien a 0.89 o bien algo raro ha pasado, porque tu eneminit.h no es el que hay en la 0.89, es el de antes que tenía el bug :D

Te lo paso por privado debidamente actualizado en unos minutos.

Re: MK2 Game - Harbinger (128k)

Publicado: Vie, 14 Ago 2015, 12:49
por na_th_an
Vale, ya lo he visto: es que no lo tienes actualizado. Un moco más arriba he puesto un RAR con la 0.89. También está en el post pinchao principal de la sección MK2.

Desde Espadewr he corregido algunos bugs importantes, entre ellos el que te da el fallo.

Lo mejor es que te bajes la 0.89 y montes tu proyecto sobre la carpeta limpia, no descomprimas 0.89 sobre tu proyecto porque se puede montar un pifostio. He cambiado cosas de sitio.