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.???
|
||||
missingasset.csv
|
||||
mod_*.csv
|
||||
*.iwd
|
||||
|
|
20
build_iwd.sh
20
build_iwd.sh
|
@ -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"
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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