Mi make.bat

Chit chat general. Habla con los MojonTwins y con los amigos de los MojonTwins. Reza a Vah-ka. Delinque. Aviso: está PROHIBIDO tirarse peos fuerte. Si les cortas el pescuezo, vale.

Moderador: na_th_an

antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Mi make.bat

Mensajepor antoniovillena » Jue, 14 Nov 2013, 13:53

Este es el make.bat que considero óptimo después de bastantes cambios con respecto al original.
  • 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
')
Avatar de Usuario
son_link
Mensajes: 467
Registrado: Mar, 01 Oct 2013, 11:49
Ubicación: Atlantis, Galaxia Pegaso
Contactar:

Re: Mi make.bat

Mensajepor son_link » Jue, 14 Nov 2013, 14:20

Dame unos minutos y lo paso a BASH, o incluso quizás estaría bien un makefile.
LOAD TAPE ERROR
Image
antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: Mi make.bat

Mensajepor antoniovillena » Jue, 14 Nov 2013, 15:27

$this->bbcode_second_pass_quote('son_link', 'D')ame unos minutos y lo paso a BASH, o incluso quizás estaría bien un makefile.


Gracias