Fix versioning.

- Generate a GSC instead since file functions are developer-only.
master
Icedream 2016-04-13 01:19:34 +02:00
parent 40b7706b66
commit 8e954ac94a
4 changed files with 15 additions and 43 deletions

2
.gitignore vendored
View File

@ -2,6 +2,6 @@ demos/
*.log *.log
*.log.??? *.log.???
missingasset.csv missingasset.csv
mod_*.csv maps/mp/mods/_modversion.gsc
*.iwd *.iwd
*.ff *.ff

View File

@ -8,8 +8,8 @@ iwd_files()
find "${WORKSPACE}/" -type f \ find "${WORKSPACE}/" -type f \
! -path "*.git*" \ ! -path "*.git*" \
! -name "README*" \ ! -name "README*" \
! -name "mod.ff" \ ! -name "mod.*" \
! -name "mod*.csv" \ ! -name "_modversion.gsc" \
! -name "missingasset.csv" \ ! -name "missingasset.csv" \
! -name "*.md" \ ! -name "*.md" \
! -name "*.log*" \ ! -name "*.log*" \
@ -22,8 +22,8 @@ iwd_files()
iwd_filelist="$(mktemp)" iwd_filelist="$(mktemp)"
iwd_files > "$iwd_filelist" iwd_files > "$iwd_filelist"
modversion_txt_file="mod_version.csv" modversion_txt_file="maps/mp/mods/_modversion.gsc"
git describe --tags --always --dirty > "$modversion_txt_file" echo "getModVersionString(){return \"$(git describe --tags --always --dirty)\";}" > "$modversion_txt_file"
echo "$modversion_txt_file" >> "$iwd_filelist" echo "$modversion_txt_file" >> "$iwd_filelist"
rm -f "hns.iwd" rm -f "hns.iwd"

View File

@ -62,6 +62,15 @@ main()
if (getdvar("mapname") == "mp_background") if (getdvar("mapname") == "mp_background")
return; return;
// Show version watermark at bottom right
versionHudElem = createServerFontString("default", 1.0);
versionHudElem setPoint("BOTTOMRIGHT", "BOTTOMRIGHT", -4, -14);
versionHudElem setText("Hide & Seek Version: " + getModVersionString());
versionHudElem.hideWhenInMenu = false;
versionHudElem.sort = 1001;
versionHudElem.foreground = false;
versionHudElem.alpha = 0.5;
// Define allowed seeker weapons // Define allowed seeker weapons
level.seekerWeapons = []; level.seekerWeapons = [];
level.seekerWeapons[0] = "m16"; level.seekerWeapons[0] = "m16";
@ -150,21 +159,11 @@ 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");

View File

@ -1,31 +1,4 @@
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() getModVersionString()
{ {
loadModVersionInfo(); return "developer";
if (!IsDefined(level.modVersionInfo.version))
return "";
return level.modVersionInfo.version;
} }