Mod versioning with watermark at the bottom right.
We will eventually remove the watermark again when the mod is stable and finished.master
parent
76f545a5c5
commit
1e99421928
|
@ -2,4 +2,5 @@ demos/
|
||||||
*.log
|
*.log
|
||||||
*.log.???
|
*.log.???
|
||||||
missingasset.csv
|
missingasset.csv
|
||||||
|
mod_*.csv
|
||||||
*.iwd
|
*.iwd
|
||||||
|
|
20
build_iwd.sh
20
build_iwd.sh
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh -e
|
#!/bin/bash -e
|
||||||
if [ -z "${WORKSPACE}" ]; then
|
if [ -z "${WORKSPACE}" ]; then
|
||||||
export WORKSPACE="$(pwd)"
|
export WORKSPACE="$(pwd)"
|
||||||
fi
|
fi
|
||||||
|
@ -9,7 +9,7 @@ iwd_files()
|
||||||
! -path "*.git*" \
|
! -path "*.git*" \
|
||||||
! -name "README*" \
|
! -name "README*" \
|
||||||
! -name "mod.ff" \
|
! -name "mod.ff" \
|
||||||
! -name "mod.csv" \
|
! -name "mod*.csv" \
|
||||||
! -name "missingasset.csv" \
|
! -name "missingasset.csv" \
|
||||||
! -name "*.md" \
|
! -name "*.md" \
|
||||||
! -name "*.log*" \
|
! -name "*.log*" \
|
||||||
|
@ -19,14 +19,14 @@ iwd_files()
|
||||||
sed "s:${WORKSPACE}/::g"
|
sed "s:${WORKSPACE}/::g"
|
||||||
}
|
}
|
||||||
|
|
||||||
gen_iwd_filelist()
|
iwd_filelist="$(mktemp)"
|
||||||
{
|
iwd_files > "$iwd_filelist"
|
||||||
iwd_filelist="$(mktemp)"
|
|
||||||
iwd_files > "$iwd_filelist"
|
modversion_txt_file="mod_version.csv"
|
||||||
echo $iwd_filelist
|
git describe --tags --always --dirty > "$modversion_txt_file"
|
||||||
}
|
echo "$modversion_txt_file" >> "$iwd_filelist"
|
||||||
|
|
||||||
iwd_filelist="$(gen_iwd_filelist)"
|
|
||||||
rm -f "hns.iwd"
|
rm -f "hns.iwd"
|
||||||
7z a -tzip -mx9 "hns.iwd" @"$iwd_filelist"
|
7z a -tzip -mx9 "hns.iwd" @"$iwd_filelist"
|
||||||
rm -f "$iwd_filelist"
|
|
||||||
|
rm -f "$iwd_filelist" "$modversion_txt_file"
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include maps\mp\_utility;
|
#include maps\mp\_utility;
|
||||||
#include maps\mp\perks\_perks;
|
#include maps\mp\perks\_perks;
|
||||||
#include maps\mp\gametypes\_hud_util;
|
#include maps\mp\gametypes\_hud_util;
|
||||||
|
#include maps\mp\mods\_modversion;
|
||||||
#include maps\mp\mods\disableClassMenu;
|
#include maps\mp\mods\disableClassMenu;
|
||||||
#include maps\mp\mods\helpingHints;
|
#include maps\mp\mods\helpingHints;
|
||||||
|
|
||||||
|
@ -152,11 +153,21 @@ main()
|
||||||
maps\mp\gametypes\_tweakables::setTweakableValue("hardpoint", "allowhelicopter", "scr_hardpoint_allowhelicopter", 0);
|
maps\mp\gametypes\_tweakables::setTweakableValue("hardpoint", "allowhelicopter", "scr_hardpoint_allowhelicopter", 0);
|
||||||
|
|
||||||
level disableClassMenu();
|
level disableClassMenu();
|
||||||
|
level showVersionWatermark();
|
||||||
|
|
||||||
initGameFlags();
|
initGameFlags();
|
||||||
gameFlagInit("seekers_released", false);
|
gameFlagInit("seekers_released", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
showVersionWatermark()
|
||||||
|
{
|
||||||
|
versionHudElem = createServerFontString("objective", 0.75);
|
||||||
|
versionHudElem setPoint("BOTTOMRIGHT", "BOTTOMRIGHT", -4, -4);
|
||||||
|
versionHudElem setText("Version: " + getModVersionString());
|
||||||
|
versionHudElem.hideWhenInMenu = false;
|
||||||
|
versionHudElem.alpha = 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
onPrecacheGametype()
|
onPrecacheGametype()
|
||||||
{
|
{
|
||||||
logPrint("onPrecacheGametype called");
|
logPrint("onPrecacheGametype called");
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
loadModVersionInfo()
|
||||||
|
{
|
||||||
|
if (IsDefined(level.modVersionInfo))
|
||||||
|
return;
|
||||||
|
|
||||||
|
level.modVersionInfo = SpawnStruct();
|
||||||
|
|
||||||
|
// Open and read mod_version.csv
|
||||||
|
filenum = OpenFile("mod_version.csv", "read");
|
||||||
|
if (filenum == -1)
|
||||||
|
{
|
||||||
|
level.modVersionInfo.hasVersion = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
verinfo = StrTok(FReadLn(filenum), ",");
|
||||||
|
CloseFile(filenum);
|
||||||
|
|
||||||
|
assert(versionString.size >= 1);
|
||||||
|
level.modVersionInfo.hasVersion = true;
|
||||||
|
level.modVersionInfo.version = versionString[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
getModVersionString()
|
||||||
|
{
|
||||||
|
loadModVersionInfo();
|
||||||
|
|
||||||
|
if (!IsDefined(level.modVersionInfo.version))
|
||||||
|
return "";
|
||||||
|
|
||||||
|
return level.modVersionInfo.version;
|
||||||
|
}
|
Loading…
Reference in New Issue