diff options
Diffstat (limited to 'proto-vjoy')
-rw-r--r-- | proto-vjoy/CMakeLists.txt | 23 | ||||
-rw-r--r-- | proto-vjoy/ftnoir_protocol_vjoy.cpp | 33 | ||||
-rw-r--r-- | proto-vjoy/ftnoir_protocol_vjoy.h | 92 | ||||
-rw-r--r-- | proto-vjoy/ftnoir_protocol_vjoy_dialog.cpp | 22 | ||||
-rw-r--r-- | proto-vjoy/ftnoir_vjoy_controls.ui | 119 | ||||
-rw-r--r-- | proto-vjoy/images/vjoy.png | bin | 694 -> 0 bytes | |||
-rw-r--r-- | proto-vjoy/vjoy-protocol.qrc | 5 | ||||
-rw-r--r-- | proto-vjoy/vjoy.def | 5 |
8 files changed, 0 insertions, 299 deletions
diff --git a/proto-vjoy/CMakeLists.txt b/proto-vjoy/CMakeLists.txt deleted file mode 100644 index 50b23e47..00000000 --- a/proto-vjoy/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -if(WIN32) - set(SDK_VJOY "" CACHE PATH "VJoy SDK path") - if(SDK_VJOY) - if(opentrack-64bit) - set(arch 64) - else() - set(arch 32) - endif() - set(lib ${SDK_VJOY}/VJoy${arch}.dll) - if (MSVC) - set(implib "${SDK_VJOY}/VJoy${arch}.lib") - else() - set(implib "${lib}") - endif() - if(CMAKE_COMPILER_IS_GNUCXX) - set(link "-Wl,--enable-stdcall-fixup") - endif() - opentrack_boilerplate(opentrack-proto-vjoy LINK "${link}") - target_link_libraries(opentrack-proto-vjoy "${implib}") - target_include_directories(opentrack-proto-vjoy SYSTEM PUBLIC ${SDK_VJOY}) - install(FILES "${lib}" DESTINATION ${opentrack-hier-pfx} RENAME "VJoy.dll") - endif() -endif() diff --git a/proto-vjoy/ftnoir_protocol_vjoy.cpp b/proto-vjoy/ftnoir_protocol_vjoy.cpp deleted file mode 100644 index 24148c63..00000000 --- a/proto-vjoy/ftnoir_protocol_vjoy.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "ftnoir_protocol_vjoy.h" -#include "opentrack/plugin-api.hpp" - -FTNoIR_Protocol::FTNoIR_Protocol() -{ - static char meh[1] = {0}; - VJoy_Initialize(meh, meh); -} - -FTNoIR_Protocol::~FTNoIR_Protocol() -{ - VJoy_Shutdown(); -} - -void FTNoIR_Protocol::pose( const double *headpose ) { -#ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wmissing-field-initializers" -#endif - JOYSTICK_STATE state[2] = { 0 }; - - state[0].POV = (4 << 12) | (4 << 8) | (4 << 4) | 4; - - state[0].XAxis = std::min<int>(VJOY_AXIS_MAX, std::max<int>(VJOY_AXIS_MIN, headpose[Yaw] * VJOY_AXIS_MAX / 180.0)); - state[0].YAxis = std::min<int>(VJOY_AXIS_MAX, std::max<int>(VJOY_AXIS_MIN, headpose[Pitch] * VJOY_AXIS_MAX / 180.0)); - state[0].ZAxis = std::min<int>(VJOY_AXIS_MAX, std::max<int>(VJOY_AXIS_MIN, headpose[Roll] * VJOY_AXIS_MAX / 180.0)); - state[0].XRotation = std::min<int>(VJOY_AXIS_MAX, std::max<int>(VJOY_AXIS_MIN, headpose[TX] * VJOY_AXIS_MAX / 100.0)); - state[0].YRotation = std::min<int>(VJOY_AXIS_MAX, std::max<int>(VJOY_AXIS_MIN, headpose[TY] * VJOY_AXIS_MAX / 100.0)); - state[0].ZRotation = std::min<int>(VJOY_AXIS_MAX, std::max<int>(VJOY_AXIS_MIN, headpose[TZ] * VJOY_AXIS_MAX / 100.0)); - - VJoy_UpdateJoyState(0, state); -} - -OPENTRACK_DECLARE_PROTOCOL(FTNoIR_Protocol, VJoyControls, FTNoIR_ProtocolDll) diff --git a/proto-vjoy/ftnoir_protocol_vjoy.h b/proto-vjoy/ftnoir_protocol_vjoy.h deleted file mode 100644 index 8d75a3e0..00000000 --- a/proto-vjoy/ftnoir_protocol_vjoy.h +++ /dev/null @@ -1,92 +0,0 @@ -/* Homepage http://facetracknoir.sourceforge.net/home/default.htm * - * * - * ISC License (ISC) * - * * - * Copyright (c) 2015, Wim Vriend * - * * - * Permission to use, copy, modify, and/or distribute this software for any * - * purpose with or without fee is hereby granted, provided that the above * - * copyright notice and this permission notice appear in all copies. * - */ -#pragma once -#include "ui_ftnoir_vjoy_controls.h" -#include <cmath> -#include "opentrack/plugin-api.hpp" - -#define FT_PROGRAMID "FT_ProgramID" - -class FTNoIR_Protocol : public IProtocol -{ -public: - FTNoIR_Protocol(); - ~FTNoIR_Protocol() override; - bool correct() { - return true; - } - void pose( const double *headpose ); - QString game_name() { - return "Virtual joystick"; - } -private: -}; - -// Widget that has controls for FTNoIR protocol client-settings. -class VJoyControls: public IProtocolDialog -{ - Q_OBJECT -public: - - explicit VJoyControls(); - void register_protocol(IProtocol *) {} - void unregister_protocol() {} - -private: - Ui::UICVJoyControls ui; - void save(); - -private slots: - void doOK(); - void doCancel(); -}; - -class FTNoIR_ProtocolDll : public Metadata -{ -public: - QString name() { return QString("Joystick emulation -- VJoy"); } - QIcon icon() { return QIcon(":/images/vjoy.png"); } -}; - -#define VJOY_AXIS_MIN -32768 -#define VJOY_AXIS_NIL 0 -#define VJOY_AXIS_MAX 32767 - -#include <windows.h> - -#include <pshpack1.h> - -typedef struct _JOYSTICK_STATE -{ - UCHAR ReportId; // Report Id - SHORT XAxis; // X Axis - SHORT YAxis; // Y Axis - SHORT ZAxis; // Z Axis - SHORT XRotation; // X Rotation - SHORT YRotation; // Y Rotation - SHORT ZRotation; // Z Rotation - SHORT Slider; // Slider - SHORT Dial; // Dial - USHORT POV; // POV - UINT32 Buttons; // 32 Buttons -} JOYSTICK_STATE, * PJOYSTICK_STATE; - -#ifndef _MSC_VER -#define VJOY_API extern "C" -VJOY_API BOOL __stdcall VJoy_Initialize(PCHAR name, PCHAR serial); -VJOY_API VOID __stdcall VJoy_Shutdown(); -VJOY_API BOOL __stdcall VJoy_UpdateJoyState(int id, PJOYSTICK_STATE pJoyState); -#else -#define VJOY_API extern "C" -VJOY_API BOOL __stdcall VJoy_Initialize(PCHAR name, PCHAR serial); -VJOY_API VOID __stdcall VJoy_Shutdown(); -VJOY_API BOOL __stdcall VJoy_UpdateJoyState(int id, PJOYSTICK_STATE pJoyState); -#endif diff --git a/proto-vjoy/ftnoir_protocol_vjoy_dialog.cpp b/proto-vjoy/ftnoir_protocol_vjoy_dialog.cpp deleted file mode 100644 index f02dac06..00000000 --- a/proto-vjoy/ftnoir_protocol_vjoy_dialog.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include "ftnoir_protocol_vjoy.h" -#include "opentrack/plugin-api.hpp" - -VJoyControls::VJoyControls() -{ - ui.setupUi( this ); - connect(ui.btnOK, SIGNAL(clicked()), this, SLOT(doOK())); - connect(ui.btnCancel, SIGNAL(clicked()), this, SLOT(doCancel())); -} - -void VJoyControls::doOK() { - save(); - close(); -} - -void VJoyControls::doCancel() { - close(); -} - -void VJoyControls::save() { -} - diff --git a/proto-vjoy/ftnoir_vjoy_controls.ui b/proto-vjoy/ftnoir_vjoy_controls.ui deleted file mode 100644 index aa465b5c..00000000 --- a/proto-vjoy/ftnoir_vjoy_controls.ui +++ /dev/null @@ -1,119 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>UICVJoyControls</class> - <widget class="QWidget" name="UICVJoyControls"> - <property name="windowModality"> - <enum>Qt::NonModal</enum> - </property> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>280</width> - <height>69</height> - </rect> - </property> - <property name="windowTitle"> - <string>VJoy</string> - </property> - <property name="windowIcon"> - <iconset resource="vjoy-protocol.qrc"> - <normaloff>:/images/vjoy.png</normaloff>:/images/vjoy.png</iconset> - </property> - <property name="layoutDirection"> - <enum>Qt::LeftToRight</enum> - </property> - <property name="autoFillBackground"> - <bool>false</bool> - </property> - <layout class="QVBoxLayout" name="_vertical_layout"> - <item> - <widget class="QLabel" name="label"> - <property name="text"> - <string><html><head/><body><p>Go to <a href="http://headsoft.com.au/index.php?category=vjoy"><span style=" text-decoration: underline; color:#0000ff;">Headsoft's site</span></a> for driver download first.</p></body></html></string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - <property name="openExternalLinks"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <property name="sizeConstraint"> - <enum>QLayout::SetDefaultConstraint</enum> - </property> - <item> - <widget class="QPushButton" name="btnOK"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>100</width> - <height>0</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>100</width> - <height>16777215</height> - </size> - </property> - <property name="text"> - <string>OK</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="btnCancel"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>100</width> - <height>0</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>100</width> - <height>16777215</height> - </size> - </property> - <property name="text"> - <string>Cancel</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - </layout> - </widget> - <tabstops> - <tabstop>btnOK</tabstop> - <tabstop>btnCancel</tabstop> - </tabstops> - <resources> - <include location="vjoy-protocol.qrc"/> - </resources> - <connections/> - <slots> - <slot>startEngineClicked()</slot> - <slot>stopEngineClicked()</slot> - <slot>cameraSettingsClicked()</slot> - </slots> -</ui> diff --git a/proto-vjoy/images/vjoy.png b/proto-vjoy/images/vjoy.png Binary files differdeleted file mode 100644 index 8eb14be8..00000000 --- a/proto-vjoy/images/vjoy.png +++ /dev/null diff --git a/proto-vjoy/vjoy-protocol.qrc b/proto-vjoy/vjoy-protocol.qrc deleted file mode 100644 index 7b3741f1..00000000 --- a/proto-vjoy/vjoy-protocol.qrc +++ /dev/null @@ -1,5 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>images/vjoy.png</file> - </qresource> -</RCC> diff --git a/proto-vjoy/vjoy.def b/proto-vjoy/vjoy.def deleted file mode 100644 index aea590a4..00000000 --- a/proto-vjoy/vjoy.def +++ /dev/null @@ -1,5 +0,0 @@ -LIBRARY vjoy.dll -IMPORTS -VJoy_Initialize = _VJoy_Initialize -VJoy_Shutdown = _VJoy_Shutdown -VJoy_UpdateJoyState = _VJoy_UpdateJoyState |