2016-05-04 19:24:41 +02:00
|
|
|
/*****************************************************************************
|
2023-01-01 11:58:01 +01:00
|
|
|
* Copyright (c) 2014-2023 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"
|
Release v0.4.3
- Feature: [#17782] The Flying Coaster now has access to boosters and can draw outside loops.
- Feature: [#17997] The Log Flume can now draw steep pieces down (if vehicle allows it).
- Feature: [#18312, objects#220, OpenSFX#13] New sound effects for the Hybrid and Single Rail roller coasters.
- Feature: [#18675] [Plugin] Plugins can refer to g2 image icons by name.
- Feature: [objects#173] Add alpine coaster vehicle.
- Feature: [objects#221] Add two extra jungle walls.
- Feature: [objects#225] Add log cabin roofs.
- Feature: [OpenMusic#14, OpenMusic#15, OpenMusic#18] Added Galaxy, Acid and Dodgems ride music styles.
- Improved: [#18013, #18016, #18018, #18019, #18514, objects#224] Added colour presets to Spiral Slide, Dodgems, Boat Hire, Flying Saucers, and Car Ride.
- Improved: [#18024] Clearer error messages when loading incompatible .park files.
- Improved: [#18192] Tycoon Park has been added to the Extras tab.
- Improved: [#18214] Competition scenarios have received their own section.
- Improved: [#18250] Added modern style file and folder pickers on Windows.
- Improved: [#18332] Allow Inverted Roller Coaster to draw boosters.
- Improved: [#18350] Changed ride vehicle list to have less padding.
- Improved: [#18422] Allow adding images to music objects.
- Improved: [#18428] [Plugin] Add widget description interfaces to documentation.
- Improved: [#18487] Mini Helicopters track can now draw spinning tunnels.
- Improved: [#18591] Order RollerCoaster Tycoon 2 scenarios by difficulty.
- Improved: [#18607] A new tab for all UCES Scenarios, if it’s installed.
- Improved: [#18621] OpenGL performance.
- Change: [#17677] Open campaign window from finished campaign news.
- Change: [#17998] Show cursor when using inverted mouse dragging.
- Change: [#18230] Make the large flat to steep pieces available on the corkscrew roller coaster without cheats.
- Change: [#18381] Convert custom invisible paths to the built-in ones.
- Change: [OpenSFX#11, OpenMusic#19] First implementation of official replacement asset packs for sound effects & music.
- Fix: [#1491] Clearance of the Cash Machine is too low (original bug).
- Fix: [#1519] “See-through rides” doesn't affect all rides (original bug).
- Fix: [#6341] “Unlock vehicle limits” does not allow setting fewer vehicles than the vehicle type requires.
- Fix: [#14312] Research ride type message incorrect.
- Fix: [#14425] Ride ratings do not skip unallocated ride ids.
- Fix: [#15969] Guests heading for ride use vanilla behaviour
- Fix: [#17067] Random Staff Patrol Area clicks.
- Fix: [#17316] Sides of River Rapids’ corners overlay other parts of the track.
- Fix: [#17657] When switching from buying land rights to buying construction rights, grid disables and won't re-enable afterwards.
- Fix: [#17763] Missing validation on invalid characters in file name.
- Fix: [#17853] Invention name tears while being dragged.
- Fix: [#18064] Unable to dismiss notification messages.
- Fix: [#18070] Underground entrance/exit shows through terrain walls (original bug).
- Fix: [#18094] Underground shops & facilities don't show when adjacent to non-underground path (original bug).
- Fix: [#18122] Ghosts count towards “Great scenery!” guest thought.
- Fix: [#18134] Underground on-ride photo section partially clips through adjacent terrain edge.
- Fix: [#18244] Invention DragWindow's starting position is inconsistent.
- Fix: [#18245] Guests stopping dead in their tracks at railway crossings.
- Fix: [#18257] Guests ‘waiting’ on extended railway crossings.
- Fix: [#18354] Overwrite alert does not show when save name has different casing on Windows.
- Fix: [#18379] Tunnel entrances for underground Mini Golf Hole E are not rendered correctly.
- Fix: [#18442] About window background is clickable.
- Fix: [#18449] [Plugin] Change type of listview widgets from 'scroll_view' to 'listview'.
- Fix: [#18453] Slow walking guests don't get across level crossings in time.
- Fix: [#18469] Land rights window buttons incorrectly disabled and markers remain visible indefinitely.
- Fix: [#18459] ‘Highlight path issues’ hides fences for paths with additions.
- Fix: [#18552] Trains clipping through helixes.
- Fix: [#18576] Cannot open parks with certain types of corrupt tile elements.
- Fix: [#18606] JSON objects do not take priority over the DAT files they supersede.
- Fix: [#18620] [Plugin] Crash when reading widget properties from windows that have both static and tab widgets.
- Fix: [#18653] Negative ratings multipliers do not appear in Vehicle tab.
- Fix: [#18696] Construction rights cannot be viewed after all are purchased.
- Fix: [#18720] Upwards helix is enabled for the Alpine Coaster, even when cheats are off.
- Fix: [#18755] Ferris Wheel and Circus ghosts not coloured correctly.
- Fix: [#18802] Game could crash when determining if a mechanic is heading to fix the ride blocking the path.
2022-12-14 13:22:08 +01:00
|
|
|
#define OPENRCT2_VERSION "0.4.3"
|
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
|
|
|
|
|
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();
|