# Maintainer: exponential <echo ZXhwb25lbnRpYWxtYXRyaXhAcHJvdG9ubWFpbC5jb20K | base64 -d>
_pkgname=MegaMario
pkgname=megamario
pkgver=1.7
pkgrel=1
pkgdesc="Mega Mario is a Super Mario Bros. 1 clone."
depends=('libsdl1.2debian'
         'libsdl-mixer1.2' 
         'libsdl-ttf2.0-0'
         'libsdl-image1.2')
makedepends=('libsdl1.2-dev'
             'libsdl-mixer1.2-dev'
             'libsdl-ttf2.0-dev'
             'libsdl-image1.2-dev'
             'sed'
             'ffmpeg')
arch=('i386' 'amd64')
license=('LGPL2')
url="http://sourceforge.net/projects/mmario"
source=("http://sourceforge.net/projects/mmario/files/Mega%20Mario%20Full%20Game/Mega%20Mario%20v1.7%20%28Full%20Game%2C%20high%20Quality%20music%29/MegaMario_v${pkgver}_full.zip")
noextract=("${_pkgname}_v${pkgver}_full.zip")
b2sums=('9912c0bbecdebf7cfbfb1306de7084c061c6189f68aaa2f443f5b189a329813389f7ced40b08e40ffeb1af7c1a65066777f9d83afdc691c070997fd40907d401')

prepare(){
  cd "${srcdir}"
  # extract archive
  mkdir -p "${pkgname}-${pkgver}"
  bsdtar -xf "${_pkgname}_v${pkgver}_full.zip" -C "${pkgname}-${pkgver}"
  cd "${pkgname}-${pkgver}"
  # fix compilation
  sed -i 's/#include <stdlib.h>/#include <stdlib.h>\n#include <limits.h>/' src/Global.h
  sed -i 's!	$(CXX) $(LDFLAGS) -o $@ $^!	$(CXX) -o $@ $^ $(LDFLAGS) -s!' Makefile
  # fix install
  sed -i "s!bin!games!g" Makefile
  sed -i "s!mp3music!/usr/share/games/${pkgname}/mp3music!g" src/functions.cpp src/main.cpp
  # home
  sed -i 's!	snprintf(szIniFile, MAX_PATH, "%s/.megamario",!	snprintf(szIniFile, MAX_PATH, "%s/.cache/megamario", home_dir? home_dir:".");\n	check_and_create_dir(szIniFile);\n	snprintf(szIniFile, MAX_PATH, "%s/.local/share/megamario",  home_dir? home_dir:".");\n	check_and_create_dir(szIniFile);\n	snprintf(szIniFile, MAX_PATH, "%s/.config/megamario",!;s!	snprintf(szIniFile, MAX_PATH, "%s/.megamario/mario.ini",!	snprintf(szIniFile, MAX_PATH, "%s/.config/megamario/mario.ini",!' src/main.cpp
  sed -i "s!\.${pkgname}/cheats.txt!\.config/${pkgname}/cheats.txt!g" src/global.cpp
  sed -i "s!\.${pkgname}/levellist.txt!\.local/share/${pkgname}/levellist.txt!g" src/global.cpp src/menu.cpp
  sed -i "s!\.${pkgname}/save.sav!\.local/share/${pkgname}/save.sav!g" src/levels.cpp
  sed -i 's!out_logfile.open ("log.txt");!out_logfile.open(std::string(home_dir ? home_dir : ".") + "/.cache/megamario/megamario.log");!' src/main.cpp
  # corrections
  sed -i 's/\r//' *.txt
  sed -i -e 's@Canyon.jpg@canyon.jpg@g' data/levels/grasslevels/grassland
  sed -i 's!PNG!png!' data/levels/3_2/main data/levels/Edit2/main
  # rm junk
  rm data/save.sav data/levels/1/1 data/levels/11/mai
}

build() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  make -j $(nproc) PREFIX=/usr DATADIR="/usr/share/games/${pkgname}" CFLAGS="-g -Wall -O2 -fsigned-char"
  ffmpeg -y -i data/gfx/characters/small/player1r.PNG -filter_complex "[0:v]colorkey=0xFF00FF:0.01:0.0[BlackToTransparancy]" -map [BlackToTransparancy] "${pkgname}.png"
}

package() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  # Creating Directories
  install -m755 -d $pkgdir/usr/{games,share/{applications,pixmaps,games/${pkgname},doc/$pkgname}}
  # install
  make PREFIX=${pkgdir}/usr DATADIR="${pkgdir}/usr/share/games/${pkgname}" install
  cp -r mp3music "${pkgdir}/usr/share/games/${pkgname}"
  # .desktop
  install -Dm644 "${pkgname}.png" "$pkgdir/usr/share/pixmaps/${pkgname}.png"
  install -Dm644 "${pkgname}.desktop" "$pkgdir/usr/share/applications/${pkgname}.desktop"
  # doc
  install -Dm644 readme.txt "$pkgdir/usr/share/doc/$pkgname/readme"
  install -Dm644 CONTROLS.txt "$pkgdir/usr/share/doc/$pkgname/controls"
  install -Dm644 fixes_v1.7.txt "$pkgdir/usr/share/doc/$pkgname/changelog"
  gzip "$pkgdir/usr/share/doc/$pkgname/changelog"
  ln -s /usr/share/common-licenses/LGPL-2.1 "$pkgdir/usr/share/doc/$pkgname/"
}