2016-05-04 19:24:41 +02:00
|
|
|
/*****************************************************************************
|
2020-07-21 15:04:34 +02:00
|
|
|
* Copyright (c) 2014-2020 OpenRCT2 developers
|
2016-05-04 19:24:41 +02:00
|
|
|
*
|
2018-06-15 14:07:34 +02:00
|
|
|
* For a complete list of all authors, please refer to contributors.md
|
|
|
|
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
|
2016-05-04 19:24:41 +02:00
|
|
|
*
|
2018-06-15 14:07:34 +02:00
|
|
|
* OpenRCT2 is licensed under the GNU General Public License version 3.
|
2016-05-04 19:24:41 +02:00
|
|
|
*****************************************************************************/
|
|
|
|
|
2017-02-03 14:11:58 +01:00
|
|
|
#pragma once
|
2015-12-02 23:28:00 +01:00
|
|
|
|
2016-01-13 23:37:13 +01:00
|
|
|
#include "common.h"
|
|
|
|
|
2020-07-21 23:22:48 +02:00
|
|
|
#include <string>
|
|
|
|
|
2018-06-22 23:25:16 +02:00
|
|
|
#define OPENRCT2_NAME "OpenRCT2"
|
2021-11-21 22:06:59 +01:00
|
|
|
#define OPENRCT2_VERSION "0.3.5.1"
|
2016-08-19 01:18:09 +02:00
|
|
|
|
2016-08-28 16:54:38 +02:00
|
|
|
#if defined(__amd64__) || defined(_M_AMD64)
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_ARCHITECTURE "x86-64"
|
2016-08-28 16:54:38 +02:00
|
|
|
#elif defined(__i386__) || defined(_M_IX86)
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_ARCHITECTURE "x86"
|
2019-10-15 06:47:49 +02:00
|
|
|
#elif defined(__aarch64__) || defined(_M_ARM64)
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_ARCHITECTURE "AArch64"
|
2016-08-28 16:54:38 +02:00
|
|
|
#elif defined(__arm__) || defined(_M_ARM)
|
2018-07-21 16:17:06 +02:00
|
|
|
# if defined(__ARM_ARCH_7A__)
|
|
|
|
# define OPENRCT2_ARCHITECTURE "arm-v7a"
|
|
|
|
# else
|
|
|
|
# define OPENRCT2_ARCHITECTURE "arm"
|
|
|
|
# endif
|
2016-11-24 13:10:10 +01:00
|
|
|
#elif defined(__powerpc__) || defined(_M_PPC)
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_ARCHITECTURE "PowerPC"
|
2017-06-15 14:22:15 +02:00
|
|
|
#elif defined(__mips64)
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_ARCHITECTURE "mips64"
|
2017-06-15 14:22:15 +02:00
|
|
|
#elif defined(__mips__)
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_ARCHITECTURE "mips"
|
2018-09-03 10:22:36 +02:00
|
|
|
#elif defined(__riscv)
|
|
|
|
# define OPENRCT2_ARCHITECTURE "RISC-V"
|
2016-08-28 16:54:38 +02:00
|
|
|
#endif
|
2017-09-04 23:18:51 +02:00
|
|
|
#ifdef __EMSCRIPTEN__
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_ARCHITECTURE "Emscripten"
|
2017-09-04 23:18:51 +02:00
|
|
|
#endif
|
2016-08-28 16:54:38 +02:00
|
|
|
|
|
|
|
#ifndef OPENRCT2_ARCHITECTURE
|
2018-07-21 16:17:06 +02:00
|
|
|
# error "OPENRCT2_ARCHITECTURE is undefined. Please add identification."
|
2016-08-19 01:18:09 +02:00
|
|
|
#endif
|
2015-12-02 23:28:00 +01:00
|
|
|
|
|
|
|
// Platform
|
2017-06-12 19:00:15 +02:00
|
|
|
#ifdef _WIN32
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_PLATFORM "Windows"
|
2016-01-13 23:37:13 +01:00
|
|
|
#endif
|
2017-06-15 14:22:15 +02:00
|
|
|
#if defined(__linux__) && !defined(__ANDROID__)
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_PLATFORM "Linux"
|
2015-12-02 23:28:00 +01:00
|
|
|
#endif
|
2017-06-12 19:00:15 +02:00
|
|
|
#if (defined(__APPLE__) && defined(__MACH__))
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_PLATFORM "macOS"
|
2015-12-02 23:28:00 +01:00
|
|
|
#endif
|
2017-06-12 19:00:15 +02:00
|
|
|
#ifdef __FreeBSD__
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_PLATFORM "FreeBSD"
|
2016-12-28 14:18:04 +01:00
|
|
|
#endif
|
2019-12-22 17:07:40 +01:00
|
|
|
#ifdef __NetBSD__
|
|
|
|
# define OPENRCT2_PLATFORM "NetBSD"
|
|
|
|
#endif
|
2017-06-15 14:22:15 +02:00
|
|
|
#ifdef __ANDROID__
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_PLATFORM "Android"
|
2017-06-15 14:22:15 +02:00
|
|
|
#endif
|
2017-06-25 21:25:55 +02:00
|
|
|
#ifdef __OpenBSD__
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_PLATFORM "OpenBSD"
|
2017-06-25 21:25:55 +02:00
|
|
|
#endif
|
2017-09-04 23:18:51 +02:00
|
|
|
#ifdef __EMSCRIPTEN__
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_PLATFORM "Emscripten"
|
2017-09-04 23:18:51 +02:00
|
|
|
#endif
|
2015-12-02 23:28:00 +01:00
|
|
|
#ifndef OPENRCT2_PLATFORM
|
2018-07-21 16:17:06 +02:00
|
|
|
# error Unknown platform!
|
2015-12-02 23:28:00 +01:00
|
|
|
#endif
|
|
|
|
|
2017-12-25 22:51:35 +01:00
|
|
|
#ifndef OPENRCT2_CUSTOM_INFO
|
2018-07-21 16:17:06 +02:00
|
|
|
# define OPENRCT2_CUSTOM_INFO ""
|
2017-12-25 22:51:35 +01:00
|
|
|
#endif
|
2015-12-02 23:28:00 +01:00
|
|
|
|
2018-02-01 18:49:14 +01:00
|
|
|
extern const char gVersionInfoFull[];
|
2020-07-21 23:22:48 +02:00
|
|
|
extern const char gVersionInfoTag[];
|
|
|
|
struct NewVersionInfo
|
|
|
|
{
|
|
|
|
std::string tag;
|
|
|
|
std::string name;
|
|
|
|
std::string changelog;
|
|
|
|
std::string url;
|
|
|
|
};
|
|
|
|
|
|
|
|
NewVersionInfo get_latest_version();
|