#!/usr/bin/env python3
"""Borra (llena con ceros) el WAD shareware de Doom embebido en doom-v0.1.0.wasm
(https://github.com/jacobenget/doom.wasm/releases/tag/v0.1.0) para no redistribuirlo.
Uso: python3 strip-shareware-wad.py doom-v0.1.0.wasm doom.wasm"""
import sys, struct
d = bytearray(open(sys.argv[1], 'rb').read())
o = d.find(b'IWAD\xf0\x04\x00\x00')          # cabecera del DOOM1.WAD shareware (1264 lumps)
assert o > 0, 'no se encontró el WAD embebido'
n, ofs = struct.unpack('<ii', d[o+4:o+12])
size = ofs + n * 16                          # fin del directorio = fin del WAD
assert size == 4196020, size                 # tamaño del DOOM1.WAD 1.9 shareware
d[o:o+size] = bytes(size)
open(sys.argv[2], 'wb').write(d)
print(f'WAD embebido borrado: offset {o}, {size} bytes')
