- No se hacen cambios de directorio. Se ejecuta en /dev y se generan ahí la mayoría de los archivos.
- Cambio el algoritmo compresor appack por el ZX7+RCS
- Funciona con los archivos TMX de Tiled en lugar de con los MAP de Mappy
- Empleo utilidades de conversión propias
- Para mayor rapidez no lo hace todo del tirón. Si escribo "make" sólo compila y genera la versión normal del TAP. Si escribo "make script", compila además el script. Si escribo "make color" te reduce el número de colores de los PNGs. Si escribo "make pant" te comprime las pantallas. Si escribo "make mapa" te actualiza los mapas y gráficos. Finalmente si escribo "make prod" te genera en lugar del TAP normal, versiones comprimidas en formato TAP, TZX y WAV.
- No hace falta ejecutar setenv.bat, lo hace automáticamente al comienzo.
- He puesto como variable local "nombre" para no tener que editar todo el make.bat en cada nuevo juego.
Espero que os sirva, o al menos rescatéis ideas para incorporarlas al vuestro.
$this->bbcode_second_pass_code('', '
@echo off
SETLOCAL
call c:\z88dk10\setenv.bat
rem Cambia "dogmole" por el nombre de tu güego y pantallas por el número de pantallas.
set nombre=Dogmole
set pantallas=24
if "%1"=="script" (
echo ### COMPILANDO SCRIPT ###
..\utils\msc %nombre%.spt msc.h %pantallas%
)
if "%1"=="color" (
echo -------------------------------------------------------------------------------
echo ### AJUSTANDO COLORES ###
..\utils\PosterizeZX ..\gfx\title.png ..\gfx\title.png
..\utils\PosterizeZX ..\gfx\ending.png ..\gfx\ending.png
..\utils\PosterizeZX ..\gfx\loading.png ..\gfx\loading.png
..\utils\PosterizeZX ..\gfx\work.png ..\gfx\work.png
)
if "%1"=="pant" (
echo -------------------------------------------------------------------------------
echo ### COMPRIMIENDO PANTALLAS ###
..\utils\Png2Rcs ..\gfx\title.png ..\gfx\title.rcs
..\utils\Png2Rcs ..\gfx\ending.png ..\gfx\ending.rcs
..\utils\Png2Rcs ..\gfx\loading.png ..\gfx\loading.rcs
if exist title.bin del title.bin
if exist ending.bin del ending.bin
if exist loading.bin del loading.bin
if exist loading.scr del loading.scr
..\utils\rcs -d ..\gfx\loading.rcs loading.scr
..\utils\zx7 ..\gfx\title.rcs title.bin
..\utils\zx7 ..\gfx\ending.rcs ending.bin
..\utils\zx7 ..\gfx\loading.rcs loading.bin
)
if "%1"=="mapa" (
echo -------------------------------------------------------------------------------
echo ### GENERANDO MAPA Y GRAFICOS ###
..\utils\TmxCompress ..\map\mapa.tmx mapa_comprimido.bin
..\utils\GfxCnv ..\gfx\chars.png ..\gfx\work.png ..\gfx\spriteset.png tileset.h sprites.h
..\utils\TmxCnv ..\map\mapa.tmx mapa.h enems.h
)
echo -------------------------------------------------------------------------------
echo ### COMPILANDO GUEGO ###
zcc +zx -vn %nombre%.c -o %nombre%.bin -lndos -lsplib2 -zorg=24200
echo -------------------------------------------------------------------------------
echo ### CONSTRUYENDO CINTA ###
if "%1"=="prod" (
if exist %nombre%.zx7 del %nombre%.zx7
..\utils\zx7 %nombre%.bin %nombre%.zx7
for /f %%i in (%nombre%.zx7) do echo define COMP_SIZE %%~zi > define.asm
call :generatape tap
call :generatape tzx
call :generatape wav
) else (
..\utils\Bas2Bin loader.bas
..\utils\GenTape %nombre%.tap ^
basic '%nombre%' 10 loader.bin ^
hdata 'SCREEN' 4000 loading.scr ^
hdata 'DZX7' 5d44 dzx7.bin ^
hdata 'GUEGO' 5e88 %nombre%.bin
)
echo -------------------------------------------------------------------------------
echo ### DONE ###
goto :eof
:generatape
..\utils\SjAsmPlus asmloader.asm
..\utils\GenTape %nombre%.%1 ^
basic '%nombre%' 0 asmloader.bin ^
data %nombre%.zx7
goto :eof
')