openbsd-ports/games/mars/patches/patch-src_System_window_cpp
2016-09-01 16:50:56 +00:00

90 lines
4.2 KiB
Plaintext

$OpenBSD: patch-src_System_window_cpp,v 1.2 2016/09/01 16:50:56 pascal Exp $
No joystick support in SFML on OpenBSD.
Use sf::Shader::bind() correctly after latest update of SFML's API.
From:
https://github.com/kenkeiras/M.A.R.S./commit/a97d0d6a19b5b43e3c53081e36f1f1747b6674e6
but not merged in main tree.
--- src/System/window.cpp.orig Fri Jun 29 15:43:13 2012
+++ src/System/window.cpp Wed Aug 31 17:48:23 2016
@@ -31,6 +31,7 @@ this program. If not, see <http://www.gnu.org/license
# include "defines.hpp"
# include <SFML/OpenGL.hpp>
+# include <GL/glu.h>
# include <sstream>
# include <time.h>
# include <sys/stat.h>
@@ -131,26 +132,6 @@ namespace window {
if (menus::visible() && event.mouseButton.button == sf::Mouse::Left)
menus::mouseLeft(false);
}
- else if (event.type == sf::Event::JoystickButtonPressed) {
- if (timer::realTotalTime() - joyButtonTimer_ > 0.1f) {
- if (!menus::visible())
- controllers::singleKeyEvent(Key(event.joystickButton.joystickId, event.joystickButton.button));
- menus::keyEvent(true, Key(event.joystickButton.joystickId, event.joystickButton.button));
- joyButtonTimer_ = timer::realTotalTime();
- }
- }
- else if (event.type == sf::Event::JoystickButtonReleased)
- menus::keyEvent(false, Key(event.joystickButton.joystickId, event.joystickButton.button));
- else if (event.type == sf::Event::JoystickMoved) {
- Key key(event.joystickMove.joystickId, event.joystickMove.axis, event.joystickMove.position);
- if (key.strength_ >= 95 && timer::realTotalTime() - joyButtonTimer_ > 0.1f) {
- if (!menus::visible())
- controllers::singleKeyEvent(key);
- if(key.strength_ >= 95)
- menus::keyEvent(true, key);
- joyButtonTimer_ = timer::realTotalTime();
- }
- }
else if (event.type == sf::Event::MouseWheelMoved) {
if (menus::visible())
menus::mouseWheelMoved(Vector2f(event.mouseWheel.x - (window_.getSize().x - viewPort_.x_)/2, event.mouseWheel.y - (window_.getSize().y - viewPort_.y_)/2), event.mouseWheel.delta);
@@ -307,13 +288,11 @@ namespace window {
window_.setActive(true);
glEnable(GL_TEXTURE_2D);
- if (shader)
- shader->bind();
+ sf::Shader::bind(shader);
window_.draw(toBeDrawn, states);
- if (shader)
- shader->unbind();
+ sf::Shader::bind(NULL);
window_.popGLStates();
glPopMatrix();
@@ -327,17 +306,6 @@ namespace window {
return 100;
break;
- case Key::kJoyButton:
- if (sf::Joystick::isButtonPressed(key.joyID_, key.code_.joyButton_))
- return 100;
- break;
-
- case Key::kJoyAxis:
- sf::Joystick::Axis tmp(Key::convertToSFML(key.code_.joyAxis_));
- int strength(sf::Joystick::getAxisPosition(key.joyID_, tmp));
- std::pair<Key::AxisType, int> result(Key::convertFromSFML(tmp,strength));
- return result.first == key.code_.joyAxis_ ? result.second : 0;
- break;
}
return 0;
}
@@ -362,7 +330,7 @@ namespace window {
std::stringstream filename;
filename << "ScreenShot_" << timeinfo->tm_year << timeinfo->tm_mon << timeinfo->tm_mday << timeinfo->tm_hour << timeinfo->tm_min << timeinfo->tm_sec << "." << settings::C_screenShotFormat;
- # ifdef __linux__
+ # ifdef __unix__
mkdir((settings::C_configPath + "screenshots/").c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
if (shot.saveToFile(settings::C_configPath + "screenshots/" + filename.str())) {
std::cout << "Saved screenshot to " << settings::C_configPath << "screenshots/" << filename.str() << "." << std::endl;