<commit_before> /***********************************************************************
 * This Source Code Form is subject to the terms of the Mozilla Public *
 * License, v. 2.0. If a copy of the MPL was not distributed with this *
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.            *
 ***********************************************************************/

#include <Menu.hpp>

#ifdef OLD_SFML_COMPAT
#define WHEELSCROLLEVENT        sf::Event::MouseWheelMoved
#define MOUSEWHEELSCROLLDELTA   mouseWheel.delta
#else
#define WHEELSCROLLEVENT        sf::Event::MouseWheelScrolled
#define MOUSEWHEELSCROLLDELTA   mouseWheelScroll.delta
#endif

static const struct {
  int           width;
  int           height;
  int           bytes_per_pixel; /* 2:RGB16, 3:RGB, 4:RGBA */
  unsigned char pixel_data[16 * 16 * 4 + 1];
} sfml_icon = {
  16, 16, 4,
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
  "\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\377\26k\0\377\26k\0\377\26k\0\377\0\0\0\377\377"
  "\377\377\377\31)x\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0\377\0\0\0\377"
  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0"
  "\377\26k\0\377\26k\0\377\26k\0\377\0\0\0\377\305\202\1\377\305\202\1\377"
  "\371\244\0\377\371\244\0\377\371\244\0\377\0\0\0\0\0\0\0\377\26k\0\377\26"
  "k\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0\377\0\0\0"
  "\377\371\244\0\377\371\244\0\377\371\244\0\377\371\244\0\377\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\377\0\0\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0\377"
  "\26k\0\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\377\377\377\377\377\377\377\377"
  "\377\377\377\377\377\377\377\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\377"
  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\0\0\0\377"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\377"
  "\377\377\377\377\377\377\377\377\377\377\0\0\0\377\377\377\377\377\0\0\0"
  "\377\0\0\0\377\377\377\377\377\377\377\377\377\0\0\0\377\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377"
  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\0\0\0\377\377\377"
  "\377\377\377\377\377\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\377\0\0\0\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
  "\377\377\377\377\377\0\0\0\377\377\377\377\377\377\377\377\377\377\377\377"
  "\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\377\377"
  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\377\377"
  "\377\377\377\377\377\377\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0",
};

Menu::Menu(){
	title_theme.openFromFile("res/sounds/title_theme.ogg");
	title_theme.setLoop(true);
	title_theme.play();
	window.create(sf::VideoMode(MENU_X_RESOLUTION, MENU_Y_RESOLUTION), "PapraGame ~ A game with Ducks !", sf::Style::Default);
	window.setIcon( sfml_icon.width,  sfml_icon.height,  sfml_icon.pixel_data );

	if (!font.loadFromFile("res/fonts/slkscr.ttf"))
		std::cout << "Error loading font" << std::endl;

	res_path = RES_PATH;
	biome_path = BIOME_PATH;
	ducks_path = DUCKS_PATH;
	maps_path = MAPS_PATH;
	menu_path = MENU_PATH;

	title_texture.loadFromFile(res_path + menu_path + TEXTURE_TITLE + TEXTURE_FILETYPE);
	background_texture.loadFromFile(res_path + menu_path + TEXTURE_BACKGROUND + TEXTURE_FILETYPE);
	about_texture.loadFromFile(res_path + menu_path + TEXTURE_ABOUT + TEXTURE_FILETYPE);
	title_sprite.setTexture(title_texture);
	background_sprite.setTexture(background_texture);
	about_sprite.setTexture(about_texture);
	background_sprite.setOrigin(0, - TITLE_HEIGHT);
<commit_msg>Setting a better i3wm compatibility under SFML 2.3<commit_after> /***********************************************************************
 * This Source Code Form is subject to the terms of the Mozilla Public *
 * License, v. 2.0. If a copy of the MPL was not distributed with this *
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.            *
 ***********************************************************************/

#include <Menu.hpp>

#ifdef OLD_SFML_COMPAT
#define WHEELSCROLLEVENT        sf::Event::MouseWheelMoved
#define MOUSEWHEELSCROLLDELTA   mouseWheel.delta
#else
#define WHEELSCROLLEVENT        sf::Event::MouseWheelScrolled
#define MOUSEWHEELSCROLLDELTA   mouseWheelScroll.delta
#endif

static const struct {
  int           width;
  int           height;
  int           bytes_per_pixel; /* 2:RGB16, 3:RGB, 4:RGBA */
  unsigned char pixel_data[16 * 16 * 4 + 1];
} sfml_icon = {
  16, 16, 4,
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
  "\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\377\26k\0\377\26k\0\377\26k\0\377\0\0\0\377\377"
  "\377\377\377\31)x\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0\377\0\0\0\377"
  "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0"
  "\377\26k\0\377\26k\0\377\26k\0\377\0\0\0\377\305\202\1\377\305\202\1\377"
  "\371\244\0\377\371\244\0\377\371\244\0\377\0\0\0\0\0\0\0\377\26k\0\377\26"
  "k\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0\377\0\0\0"
  "\377\371\244\0\377\371\244\0\377\371\244\0\377\371\244\0\377\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\377\0\0\0\377\26k\0\377\26k\0\377\26k\0\377\26k\0\377"
  "\26k\0\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\377\377\377\377\377\377\377\377"
  "\377\377\377\377\377\377\377\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\377"
  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\0\0\0\377"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\377"
  "\377\377\377\377\377\377\377\377\377\377\0\0\0\377\377\377\377\377\0\0\0"
  "\377\0\0\0\377\377\377\377\377\377\377\377\377\0\0\0\377\0\0\0\0\0\0\0\0"
  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377"
  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\0\0\0\377\377\377"
  "\377\377\377\377\377\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
  "\377\0\0\0\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
  "\377\377\377\377\377\0\0\0\377\377\377\377\377\377\377\377\377\377\377\377"
  "\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\377\377"
  "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\377\377"
  "\377\377\377\377\377\377\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0"
  "\0\0\0\0",
};

Menu::Menu(){
	title_theme.openFromFile("res/sounds/title_theme.ogg");
	title_theme.setLoop(true);
	title_theme.play();
	window.create(sf::VideoMode(MENU_X_RESOLUTION, MENU_Y_RESOLUTION), "PapraGame ~ A game with Ducks !",
#ifdef OLD_SFML_COMPAT
           sf::Style::Default
#else
           sf::Style::Close | sf::Style::Titlebar
#endif
           );
	window.setIcon( sfml_icon.width,  sfml_icon.height,  sfml_icon.pixel_data );

	if (!font.loadFromFile("res/fonts/slkscr.ttf"))
		std::cout << "Error loading font" << std::endl;

	res_path = RES_PATH;
	biome_path = BIOME_PATH;
	ducks_path = DUCKS_PATH;
	maps_path = MAPS_PATH;
	menu_path = MENU_PATH;

	title_texture.loadFromFile(res_path + menu_path + TEXTURE_TITLE + TEXTURE_FILETYPE);
	background_texture.loadFromFile(res_path + menu_path + TEXTURE_BACKGROUND + TEXTURE_FILETYPE);
	about_texture.loadFromFile(res_path + menu_path + TEXTURE_ABOUT + TEXTURE_FILETYPE);
	title_sprite.setTexture(title_texture);
	background_sprite.setTexture(background_texture);
	about_sprite.setTexture(about_texture);
	background_sprite.setOrigin(0, - TITLE_HEIGHT);

{'fraction_non_alphanumeric': 0.3008745733788396, 'fraction_numerical': 0.33052474402730375, 'mean_word_length': 2.271807397069086, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5470328', 'n_tokens_mistral': 6719, 'n_tokens_neox': 5577, 'n_words': 335}