@ECHO OFF
SETLOCAL
SET BATDIR=%~dp0

REM//SET USE_3D=1
REM//SET USE_TEXTURE=1
REM//SET USE_SPRITE=1
REM//SET USE_CBKQUE=1
REM//SET USE_SOUND=1
REM//SET USE_SOUND_SEQUENCER=1
REM//SET USE_MUSIC=1
REM//SET USE_TCPIP=1
REM//SET USE_BISON_FLEX=1
REM//SET USE_LOT=1
REM//SET USE_DIR=1
REM//SET USE_LED=1
REM//SET USE_REG=1
REM//SET USE_ENM=1
REM//SET USE_PRP=1
REM//SET USE_FSM=1
REM//SET USE_EVENT_TIMER=1
SET SIMPLIFY=1

REM *** アプリケーションを単純にする ***
IF "%SIMPLIFY%" NEQ "" (
  ECHO アプリケーションを単純にします。
  onigsed.exe -f simplify.sed -i~ app.h app.c Makefile && (DEL simplify.sed) && (DEL *~)
)

REM ** 3Dモデル ***
IF "%USE_3D%" EQU "" (
  ECHO 3Dモデルを削除します。
  RMDIR /S /Q mqo
  onigsed.exe -e "/CUBE/d" -i~ grp\TexDef.txt && (DEL grp\*~)
) ELSE (
  REM #//{{併用不可
  onigsed.exe -e "s/^#\+\(USE_3D=\)/\1/" -i~ Makefile && (DEL *~)
  REM #//onigsed.exe -e "s/^#\+\(USE_RENDF=\)/\1/" -i~ Makefile && (DEL *~)
  REM #//}}併用不可
)

REM *** テクスチャ ***
IF "%USE_TEXTURE%" EQU "" (
  ECHO テクスチャを削除します。
  RMDIR /S /Q grp
  DEL texture.h
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_TEXTURE=\)/\1/" -i~ Makefile && (DEL *~)
  REM #//{{省略可
  onigsed.exe -e "s/^#\+\(USE_VQTC=\)/\1/" -i~ Makefile && (DEL *~)
  onigsed.exe -e "/^FRAM_OBJS/a\\tframbary.o framvqtd.o \\\\" -i~ Makefile && (DEL *~)
  REM #//}}省略可
)

REM *** スプライト ***
IF "%USE_SPRITE%" EQU "" (
  ECHO スプライトを削除します。
  DEL sprite.h
  DEL grp\SprDef.txt
  RMDIR /S /Q anm
  RMDIR /S /Q ncs
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_SPRITE=\)/\1/" -i~ Makefile && (DEL *~)
  REM #//{{省略可
  onigsed.exe -e "s/^#\+\(USE_ANM=\)/\1/" -i~ Makefile && (DEL *~)
  onigsed.exe -e "s/^#\+\(USE_NCS=\)/\1/" -i~ Makefile && (DEL *~)
  REM #//}}省略可
)

REM *** コールバックキュー ***
IF "%USE_CBKQUE%" EQU "" (
  REM /** no job **/
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_CBKQUE=\)/\1/" -i~ Makefile && (DEL *~)
)

REM *** サウンド ***
IF "%USE_SOUND%" EQU "" (
  ECHO サウンドを削除します。
  RMDIR /S /Q snd
  DEL sound.h
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_SOUND=\)/\1/" -i~ Makefile && (DEL *~)
  REM #//{{省略可,併用不可
  REM #//onigsed.exe -e "s/^#\+\(USE_2BIT_ADPCM=\)/\1/" -i~ Makefile && (DEL *~)
  REM #//onigsed.exe -e "/^FRAM_OBJS/a\\tframadp.o \\\\" -i~ Makefile && (DEL *~)
  onigsed.exe -e "s/^#\+\(USE_TRUESPEECH=\)/\1/" -i~ Makefile && (DEL *~)
  onigsed.exe -e "/^FRAM_OBJS/a\\tframtsp.o \\\\" -i~ Makefile && (DEL *~)
  REM #//}}省略可,併用不可
)

REM *** サウンドシーケンサ ***
IF "%USE_SOUND_SEQUENCER%" EQU "" (
  ECHO サウンドシーケンサを削除します。
  DEL snd\TapDef*.txt
  DEL snd\PhsDef.txt
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_SOUND_SEQUENCER=\)/\1/" -i~ Makefile && (DEL *~)
  REM #//{{省略可
  onigsed.exe -e "s/^#\+\(USE_SOUND_MIXER=\)/\1/" -i~ Makefile && (DEL *~)
  REM #//}}省略可
)

REM *** 音楽 ***
IF "%USE_MUSIC%" EQU "" (
  ECHO 音楽を削除します。
  RMDIR /S /Q mus
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_MUSIC=\)/\1/" -i~ Makefile && (DEL *~)
)

REM *** TCP/IP ***
IF "%USE_TCPIP%" EQU "" (
  ECHO TCP/IPを削除します。
  DEL tcpip.h
  DEL tcpip.c
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_TCPIP=\)/\1/" -i~ Makefile && (DEL *~)
)

REM *** Bison/Flex ***
IF "%USE_BISON_FLEX%" EQU "" (
  ECHO Bison/Flexを削除します。
  DEL y.tab.y
  DEL lex.yy.l
  DEL program.txt
  DEL extclip.h
  DEL winapp.h
  DEL winapp.c
  DEL winapp.mk
  DEL winapp.dsw
  DEL winapp.dsp
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_BISON_FLEX=\)/\1/" -i~ Makefile && (DEL *~)
)

REM *** 抽選テーブル ***
IF "%USE_LOT%" EQU "" (
  ECHO 抽選テーブルを削除します。
  RMDIR /S /Q lot
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_LOT=\)/\1/" -i~ Makefile && (DEL *~)
)

REM *** 演出シーケンサ ***
IF "%USE_DIR%" EQU "" (
  ECHO 演出シーケンサを削除します。
  RMDIR /S /Q dir
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_DIR=\)/\1/" -i~ Makefile && (DEL *~)
)

REM *** LEDシーケンサ ***
IF "%USE_LED%" EQU "" (
  ECHO LEDシーケンサを削除します。
  RMDIR /S /Q led
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_LED=\)/\1/" -i~ Makefile && (DEL *~)
)

REM *** レジストリテーブル ***
IF "%USE_REG%" EQU "" (
  ECHO レジストリテーブルを削除します。
  RMDIR /S /Q reg
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_REG=\)/\1/" -i~ Makefile && (DEL *~)
)

REM *** 列挙定義 ***
IF "%USE_ENM%" EQU "" (
  ECHO 列挙定義を削除します。
  RMDIR /S /Q enm
  onigsed.exe -e "/^#include \"EnmDef\.h\"/d" -i~ prp\PrpTbl.txt && (DEL prp\*~)
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_ENM=\)/\1/" -i~ Makefile && (DEL *~)
)

REM *** プロパティテーブル ***
IF "%USE_PRP%" EQU "" (
  ECHO プロパティテーブルを削除します。
  RMDIR /S /Q prp
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_PRP=\)/\1/" -i~ Makefile && (DEL *~)
)

REM *** 有限状態機械 ***
IF "%USE_FSM%" EQU "" (
  ECHO 有限状態機械を削除します。
  RMDIR /S /Q fsm
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_FSM=\)/\1/" -i~ Makefile && (DEL *~)
  onigsed.exe -e "s/{}/{``}/;s/\[\]/[`1`]/" -i~ fsm\FsmMap.txt && (DEL fsm\*~)
)

REM *** イベントタイマ ***
IF "%USE_EVENT_TIMER%" EQU "" (
  ECHO イベントタイマを削除します。
  RMDIR /S /Q evt
) ELSE (
  onigsed.exe -e "s/^#\+\(USE_EVENT_TIMER=\)/\1/" -i~ Makefile && (DEL *~)
)

REM *** このバッチファイルを削除する ***
DEL %0
