2019-09-06 20:51:12 -07:00
|
|
|
#!/bin/sh
|
|
|
|
|
2021-02-07 00:23:37 -08:00
|
|
|
ent_for_mod()
|
|
|
|
{
|
2021-08-04 04:20:11 -07:00
|
|
|
# don't bother if we don't have sources
|
|
|
|
if ! [ -f "./$1/src/Makefile" ]; then
|
|
|
|
exit
|
|
|
|
fi
|
2019-09-06 20:51:12 -07:00
|
|
|
|
2021-08-04 04:20:11 -07:00
|
|
|
ENT_OUTFILE="./$1/entities.def"
|
2021-08-12 12:51:22 -07:00
|
|
|
echo '' > "$ENT_OUTFILE"
|
2021-08-04 04:20:11 -07:00
|
|
|
|
2022-12-06 15:04:07 -08:00
|
|
|
echo "Scanning for definitions inside the game directory."
|
2021-08-04 04:20:11 -07:00
|
|
|
find ./$1/src/ -type f \( -iname \*.qc \) | while read EDEF_N; do
|
2022-12-06 15:04:07 -08:00
|
|
|
echo "... $EDEF_N"
|
2021-08-04 04:20:11 -07:00
|
|
|
sed -n '/\/*QUAKED/,/*\//p' $EDEF_N >> "$ENT_OUTFILE"
|
|
|
|
done;
|
|
|
|
|
|
|
|
cat ./platform/entities.def >> $ENT_OUTFILE
|
2021-02-07 00:23:37 -08:00
|
|
|
}
|
|
|
|
|
2021-08-04 04:20:11 -07:00
|
|
|
# first dump all the general purpose entities
|
|
|
|
BASE_ENT="./platform/entities.def"
|
2021-08-12 12:51:22 -07:00
|
|
|
echo '' > "$BASE_ENT"
|
2020-11-07 01:41:27 -08:00
|
|
|
|
2022-12-06 15:04:07 -08:00
|
|
|
echo "Scanning for definitions inside the general entity codebase."
|
2021-03-03 20:04:14 -08:00
|
|
|
find ./src/gs-entbase/ -type f \( -iname \*.qc \) | while read EDEF_N; do
|
2022-12-06 15:04:07 -08:00
|
|
|
echo "... $EDEF_N"
|
2021-08-04 04:20:11 -07:00
|
|
|
sed -n '/\/*QUAKED/,/*\//p' $EDEF_N >> "$BASE_ENT"
|
2020-11-07 01:41:27 -08:00
|
|
|
done;
|
|
|
|
|
2021-08-04 04:20:11 -07:00
|
|
|
# each game gets its own ents + general purpose ents appended at the end
|
2021-08-13 23:49:40 -07:00
|
|
|
if [ $# -gt 0 ]; then
|
|
|
|
ent_for_mod $1
|
|
|
|
fi
|