git repos / blockattack-game

blame: source/code/HelpAboutState.cpp

normal view · raw

5147de4e Poul Sander 2018-05-06 12:59 1
/*
5147de4e Poul Sander 2018-05-06 12:59 2
===========================================================================
5147de4e Poul Sander 2018-05-06 12:59 3
blockattack - Block Attack - Rise of the Blocks
5147de4e Poul Sander 2018-05-06 12:59 4
Copyright (C) 2005-2018 Poul Sander
5147de4e Poul Sander 2018-05-06 12:59 5
5147de4e Poul Sander 2018-05-06 12:59 6
This program is free software: you can redistribute it and/or modify
5147de4e Poul Sander 2018-05-06 12:59 7
it under the terms of the GNU General Public License as published by
5147de4e Poul Sander 2018-05-06 12:59 8
the Free Software Foundation, either version 2 of the License, or
5147de4e Poul Sander 2018-05-06 12:59 9
(at your option) any later version.
5147de4e Poul Sander 2018-05-06 12:59 10
5147de4e Poul Sander 2018-05-06 12:59 11
This program is distributed in the hope that it will be useful,
5147de4e Poul Sander 2018-05-06 12:59 12
but WITHOUT ANY WARRANTY; without even the implied warranty of
5147de4e Poul Sander 2018-05-06 12:59 13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5147de4e Poul Sander 2018-05-06 12:59 14
GNU General Public License for more details.
5147de4e Poul Sander 2018-05-06 12:59 15
5147de4e Poul Sander 2018-05-06 12:59 16
You should have received a copy of the GNU General Public License
5147de4e Poul Sander 2018-05-06 12:59 17
along with this program.  If not, see http://www.gnu.org/licenses/
5147de4e Poul Sander 2018-05-06 12:59 18
5147de4e Poul Sander 2018-05-06 12:59 19
Source information and contacts persons can be found at
5147de4e Poul Sander 2018-05-06 12:59 20
https://blockattack.net
5147de4e Poul Sander 2018-05-06 12:59 21
===========================================================================
5147de4e Poul Sander 2018-05-06 12:59 22
*/
5147de4e Poul Sander 2018-05-06 12:59 23
d7f4a888 sago007 2020-06-28 09:22 24
#include "DialogBox.hpp"
46404443 sago007 2020-06-28 08:53 25
#include "HelpCommon.hpp"
5147de4e Poul Sander 2018-05-06 12:59 26
#include "HelpAboutState.hpp"
5147de4e Poul Sander 2018-05-06 12:59 27
#include "global.hpp"
5147de4e Poul Sander 2018-05-06 12:59 28
#include "common.h"
5147de4e Poul Sander 2018-05-06 12:59 29
#include "MenuSystem.h"
b344a21b sago007 2018-05-10 10:22 30
#include "sstream"
b344a21b sago007 2018-05-10 10:22 31
#include "version.h"
8cb016a5 sago007 2019-03-09 15:41 32
#include "sago/SagoMisc.hpp"
caa0eb2c Poul Sander 2022-01-30 20:26 33
#include "fmt/core.h"
caa0eb2c Poul Sander 2022-01-30 20:26 34
caa0eb2c Poul Sander 2022-01-30 20:26 35
caa0eb2c Poul Sander 2022-01-30 20:26 36
template <class T>
caa0eb2c Poul Sander 2022-01-30 20:26 37
std::string sdl_verison_as_string(const T& version) {
caa0eb2c Poul Sander 2022-01-30 20:26 38
	std::string ret = fmt::format("{}.{}.{}", version.major, version.minor, version.patch);
caa0eb2c Poul Sander 2022-01-30 20:26 39
	return ret;
caa0eb2c Poul Sander 2022-01-30 20:26 40
}
5147de4e Poul Sander 2018-05-06 12:59 41
b344a21b sago007 2018-05-10 10:22 42
5147de4e Poul Sander 2018-05-06 12:59 43
HelpAboutState::HelpAboutState() {
0e662388 sago007 2019-03-09 12:21 44
	SDL_RendererInfo renderInfo;
0e662388 sago007 2019-03-09 12:21 45
	SDL_version compiled;
0e662388 sago007 2019-03-09 12:21 46
	SDL_version linked;
b344a21b sago007 2018-05-10 10:22 47
	SDL_GetRendererInfo(globalData.screen, &renderInfo);
0e662388 sago007 2019-03-09 12:21 48
	SDL_VERSION(&compiled);
0e662388 sago007 2019-03-09 12:21 49
	SDL_GetVersion(&linked);
0e662388 sago007 2019-03-09 12:21 50
	const char* audio_driver_name = SDL_GetCurrentAudioDriver();
0e662388 sago007 2019-03-09 12:21 51
	if (!audio_driver_name) {
0e662388 sago007 2019-03-09 12:21 52
		audio_driver_name = _("No audio driver");
0e662388 sago007 2019-03-09 12:21 53
	}
b344a21b sago007 2018-05-10 10:22 54
	std::stringstream infoStream;
0082cd9a sago007 2018-05-13 14:31 55
	infoStream << _("Name:") << " " << _("Block Attack - Rise of the Blocks") << "\n";
0082cd9a sago007 2018-05-13 14:31 56
	infoStream << _("Original name:") << " Block Attack - Rise of the Blocks" << "\n";
0082cd9a sago007 2018-05-13 14:31 57
	infoStream << _("Version:") << " " << VERSION_NUMBER << "\n";
0082cd9a sago007 2018-05-13 14:31 58
	infoStream << _("Homepage:") << " " << "https://blockattack.net\n";
0082cd9a sago007 2018-05-13 14:31 59
	infoStream << _("Github page:") << " " << "https://github.com/blockattack/blockattack-game\n";
0082cd9a sago007 2018-05-13 14:31 60
	infoStream << _("SDL render:") << " " << renderInfo.name << "\n";
0e662388 sago007 2019-03-09 12:21 61
	infoStream << _("SDL audio driver:") << " " << audio_driver_name << "\n";
caa0eb2c Poul Sander 2022-01-30 20:26 62
	infoStream << _("SDL compiled version:") << " " << sdl_verison_as_string(compiled) << "\n";
caa0eb2c Poul Sander 2022-01-30 20:26 63
	infoStream << _("SDL linked version:") << " " << sdl_verison_as_string(linked) << "\n";
caa0eb2c Poul Sander 2022-01-30 20:26 64
	SDL_IMAGE_VERSION(&compiled);
52c0a77a Poul Sander 2022-01-30 20:37 65
	const SDL_version *sdl_link_version=IMG_Linked_Version();
caa0eb2c Poul Sander 2022-01-30 20:26 66
	infoStream << _("SDL_image compiled version:") << " " << sdl_verison_as_string(compiled) << "\n";
52c0a77a Poul Sander 2022-01-30 20:37 67
	infoStream << _("SDL_image linked version:") << " " << sdl_verison_as_string(*sdl_link_version) << "\n";
52c0a77a Poul Sander 2022-01-30 20:37 68
	SDL_MIXER_VERSION(&compiled);
52c0a77a Poul Sander 2022-01-30 20:37 69
	sdl_link_version = Mix_Linked_Version();
52c0a77a Poul Sander 2022-01-30 20:37 70
	infoStream << _("SDL_mixer compiled version:") << " " << sdl_verison_as_string(compiled) << "\n";
52c0a77a Poul Sander 2022-01-30 20:37 71
	infoStream << _("SDL_mixer linked version:") << " " << sdl_verison_as_string(*sdl_link_version) << "\n";
52c0a77a Poul Sander 2022-01-30 20:37 72
	SDL_TTF_VERSION(&compiled);
52c0a77a Poul Sander 2022-01-30 20:37 73
	sdl_link_version = TTF_Linked_Version();
52c0a77a Poul Sander 2022-01-30 20:37 74
	infoStream << _("SDL_ttf compiled version:") << " " << sdl_verison_as_string(compiled) << "\n";
52c0a77a Poul Sander 2022-01-30 20:37 75
	infoStream << _("SDL_ttf linked version:") << " " << sdl_verison_as_string(*sdl_link_version) << "\n";
caa0eb2c Poul Sander 2022-01-30 20:26 76
	PHYSFS_Version physfs_compiled_version;
caa0eb2c Poul Sander 2022-01-30 20:26 77
	PHYSFS_Version physfs_linked_version;
caa0eb2c Poul Sander 2022-01-30 20:26 78
	PHYSFS_VERSION(&physfs_compiled_version);
caa0eb2c Poul Sander 2022-01-30 20:26 79
	PHYSFS_getLinkedVersion(&physfs_linked_version);
caa0eb2c Poul Sander 2022-01-30 20:26 80
	infoStream << _("PhysFS compiled version:") << " " << sdl_verison_as_string(physfs_compiled_version) << "\n";
caa0eb2c Poul Sander 2022-01-30 20:26 81
	infoStream << _("PhysFS linked version:") << " " << sdl_verison_as_string(physfs_linked_version) << "\n";
0082cd9a sago007 2018-05-13 14:31 82
	infoStream << _("Save folder:") << " " << PHYSFS_getWriteDir() << "\n";
0082cd9a sago007 2018-05-13 14:31 83
	infoStream << _("Locale:") << " " << setlocale( LC_CTYPE, nullptr ) << "\n";
caa0eb2c Poul Sander 2022-01-30 20:26 84
	infoStream << "SHAREDIR: " << SHAREDIR << "\n";
dfebdcd4 Poul Sander 2022-01-30 18:12 85
	setHelp30FontThinOutline(&globalData.spriteHolder->GetDataHolder(), titleField, _("About"));
46404443 sago007 2020-06-28 08:53 86
	setHelpBoxFont(&globalData.spriteHolder->GetDataHolder(), infoBox, infoStream.str().c_str());
8cb016a5 sago007 2019-03-09 15:41 87
	sago::WriteFileContent("about.txt", infoStream.str());
5147de4e Poul Sander 2018-05-06 12:59 88
}
5147de4e Poul Sander 2018-05-06 12:59 89
5147de4e Poul Sander 2018-05-06 12:59 90
HelpAboutState::~HelpAboutState() {
5147de4e Poul Sander 2018-05-06 12:59 91
}
1970-01-01 00:00 92