meos-2024/code/meosversion.cpp

166 lines
6.4 KiB
C++

/************************************************************************
MeOS - Orienteering Software
Copyright (C) 2009-2024 Melin Software HB
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Melin Software HB - software@melin.nu - www.melin.nu
Eksoppsvägen 16, SE-75646 UPPSALA, Sweden
************************************************************************/
#include "stdafx.h"
#include <vector>
#include "meos_util.h"
//ABCDEFGHIJKLMNOPQ
int getMeosBuild() {
string revision("$Rev: 1341 $");
return 174 + atoi(revision.substr(5, string::npos).c_str());
}
wstring getMeosDate() {
wstring date(L"$Date: 2024-04-06 22:32:45 +0200 (lör, 06 apr 2024) $");
return date.substr(7,10);
}
wstring getBuildType() {
return L"RC 1-onb"; // No parantheses (...)
}
wstring getMajorVersion() {
return L"4.0";
}
wstring getMeosFullVersion() {
wchar_t bf[256];
#ifdef _WIN64
const wchar_t *bits = L"64-bit";
#else
const wchar_t *bits = L"32-bit";
#endif
wstring maj = getMajorVersion();
if (getBuildType().empty())
swprintf_s(bf, L"Version X#%s.%d (%s), %s", maj.c_str(), getMeosBuild(), bits, getMeosDate().c_str());
else
swprintf_s(bf, L"Version X#%s.%d (%s), %s, %s", maj.c_str(), getMeosBuild(), bits, getBuildType().c_str(), getMeosDate().c_str());
return bf;
}
wstring getMeosCompectVersion() {
if (getBuildType().empty())
return getMajorVersion() + L"." + itow(getMeosBuild());
else
return getMajorVersion() + L"." + itow(getMeosBuild()) + L" (" + getBuildType() + L")";
}
void getSupporters(vector<wstring>& supp, vector<wstring>& developSupp)
{
supp.emplace_back(L"OK Gorm, Denmark");//2020-
supp.emplace_back(L"Nyköpings OK");
supp.emplace_back(L"Thomas Engberg, VK Uvarna");
supp.emplace_back(L"LG Axmalm, Sävedalens AIK");
supp.emplace_back(L"Martin Ivarsson");
supp.emplace_back(L"Falköpings AIK OK");
developSupp.push_back(L"Karlskrona SOK");
supp.emplace_back(L"Kristian Toustrup, OK Syd");
supp.emplace_back(L"Patrick NG, HKAYP");
supp.emplace_back(L"Lars Ove Karlsson, Västerås SOK");
supp.emplace_back(L"OK Milan");
supp.emplace_back(L"Åke Larsson, OK Hedströmmen");
developSupp.push_back(L"Västmanlands OF");
supp.emplace_back(L"OK Tyr, Karlstad");
developSupp.push_back(L"OK Orion");
supp.emplace_back(L"Mjölby OK");
supp.emplace_back(L"Malmö OK");
supp.emplace_back(L"OK Vilse 87");
supp.emplace_back(L"Rehns BK");
supp.emplace_back(L"Fredrik Magnusson, Laholms IF");
supp.emplace_back(L"KOB ATU Košice");
supp.emplace_back(L"Alfta-Ösa OK");
supp.emplace_back(L"IFK Kiruna");
supp.emplace_back(L"Smedjebackens OK");
supp.emplace_back(L"Gunnar Persson, Svanesunds GIF");
supp.emplace_back(L"Køge Orienteringsklub");
supp.emplace_back(L"Simrishamns OK");
supp.emplace_back(L"OK Fryksdalen");
supp.emplace_back(L"Magnus Asplund, Sundbybergs IK");
supp.emplace_back(L"Frölunda OL");
supp.emplace_back(L"Hjobygdens OK");
supp.emplace_back(L"OK Malmia");
supp.emplace_back(L"Säterbygdens OK");
supp.emplace_back(L"OK Orinto");
supp.emplace_back(L"Trosabygdens OK");
supp.emplace_back(L"Hans Wilhelmsson, Säffle OK");
supp.emplace_back(L"Cent Vallées Orientation 12 (C.V.O. 12)");
supp.emplace_back(L"OK Tyr, Karlstad");
supp.emplace_back(L"Miroslav Kollar, KOB Kysak");
supp.emplace_back(L"Zdenko Rohac, KOB ATU Košice");
supp.emplace_back(L"Hans Carlstedt, Sävedalens AIK");
supp.emplace_back(L"O-Liceo, Spain");
developSupp.emplace_back(L"Västerviks OK");
supp.emplace_back(L"Aarhus 1900 Orientering");
supp.emplace_back(L"Ljusne Ala OK");
supp.emplace_back(L"Sävedalens AIK");
supp.emplace_back(L"Foothills Wanderers Orienteering Club");
supp.emplace_back(L"OK Gripen");
supp.emplace_back(L"Per Ågren, OK Enen");
supp.emplace_back(L"OK Roslagen");
supp.emplace_back(L"OK Kolmården");
developSupp.emplace_back(L"Orienteering Queensland Inc.");
supp.emplace_back(L"Eksjö SOK");
supp.emplace_back(L"Kolding OK");
developSupp.emplace_back(L"Alfta-Ösa OK");
supp.emplace_back(L"Erik Almséus, IFK Hedemora OK");
supp.emplace_back(L"IK Gandvik, Skara");
supp.emplace_back(L"Mats Kågeson");
supp.emplace_back(L"Lerums SOK");
supp.emplace_back(L"OSC Hamburg");
developSupp.emplace_back(L"IFK Mora OK");
supp.emplace_back(L"OK Rodhen");
supp.emplace_back(L"Big Foot Orienteers");
developSupp.emplace_back(L"OK Måsen");
supp.emplace_back(L"Ligue PACA");
supp.emplace_back(L"Kamil Pipek, OK Lokomotiva Pardubice");
supp.emplace_back(L"Foothills Wanderers Orienteering Club");
supp.emplace_back(L"Per Eklöf / PE Design / PE Timing");
supp.emplace_back(L"HEYRIES, ACA Aix en Provence");
supp.emplace_back(L"Järla Orientering");
supp.emplace_back(L"Kvarnsvedens GOIF OK");
supp.emplace_back(L"Ingemar Lindström, OK Österåker");
supp.emplace_back(L"OK Österåker");
supp.emplace_back(L"Guntars Mankus, OK Saldus");
supp.emplace_back(L"Orienteering NSW");
developSupp.emplace_back(L"OK Enen");
supp.emplace_back(L"Hästveda OK");
supp.emplace_back(L"Ingemar Carlsson, Sävedalens AIK");
supp.emplace_back(L"Lunds OK");
supp.emplace_back(L"Ramblers Orienteering Club, Canada");
supp.emplace_back(L"CROCO");
supp.emplace_back(L"Nässjö OK");
supp.emplace_back(L"Silkeborg OK");
supp.emplace_back(L"IK Uven");
supp.emplace_back(L"Attunda OK");
supp.emplace_back(L"Gunnar Svanberg");
supp.emplace_back(L"Forsa OK");
supp.emplace_back(L"Långhundra IF");
supp.emplace_back(L"Mariestads friluftsklubb");
supp.emplace_back(L"Ligue PACA");
supp.emplace_back(L"SV Robotron Dresden");
supp.emplace_back(L"Mats Holmberg, OK Gränsen");
reverse(supp.begin(), supp.end());
}