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
Sinceramente, no recuerdo cual era el fallo que mencionas
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
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
nada, sigue petando en el mismo sitio, intentaré lo del formato multinivel
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
Sinceramente, no recuerdo cual era el fallo que mencionas
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
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
$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
$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 ###
')