Mod versioning with watermark at the bottom right.

We will eventually remove the watermark again when the mod is stable and finished.
master
Icedream 2016-04-12 23:58:03 +02:00
parent 76f545a5c5
commit 1e99421928
4 changed files with 53 additions and 10 deletions

1
.gitignore vendored
View File

@ -2,4 +2,5 @@ demos/
*.log
*.log.???
missingasset.csv
mod_*.csv
*.iwd

View File

@ -1,4 +1,4 @@
#!/bin/sh -e
#!/bin/bash -e
if [ -z "${WORKSPACE}" ]; then
export WORKSPACE="$(pwd)"
fi
@ -9,7 +9,7 @@ iwd_files()
! -path "*.git*" \
! -name "README*" \
! -name "mod.ff" \
! -name "mod.csv" \
! -name "mod*.csv" \
! -name "missingasset.csv" \
! -name "*.md" \
! -name "*.log*" \
@ -19,14 +19,14 @@ iwd_files()
sed "s:${WORKSPACE}/::g"
}
gen_iwd_filelist()
{
iwd_filelist="$(mktemp)"
iwd_files > "$iwd_filelist"
echo $iwd_filelist
}
iwd_filelist="$(mktemp)"
iwd_files > "$iwd_filelist"
modversion_txt_file="mod_version.csv"
git describe --tags --always --dirty > "$modversion_txt_file"
echo "$modversion_txt_file" >> "$iwd_filelist"
iwd_filelist="$(gen_iwd_filelist)"
rm -f "hns.iwd"
7z a -tzip -mx9 "hns.iwd" @"$iwd_filelist"
rm -f "$iwd_filelist"
rm -f "$iwd_filelist" "$modversion_txt_file"

View File

@ -2,6 +2,7 @@
#include maps\mp\_utility;
#include maps\mp\perks\_perks;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\mods\_modversion;
#include maps\mp\mods\disableClassMenu;
#include maps\mp\mods\helpingHints;
@ -152,11 +153,21 @@ main()
maps\mp\gametypes\_tweakables::setTweakableValue("hardpoint", "allowhelicopter", "scr_hardpoint_allowhelicopter", 0);
level disableClassMenu();
level showVersionWatermark();
initGameFlags();
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()
{
logPrint("onPrecacheGametype called");

View File

@ -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;
}