2013-07-22 02:21:56 -06:00
|
|
|
// Copyright 2013 Dolphin Emulator Project
|
2015-05-17 17:08:10 -06:00
|
|
|
// Licensed under GPLv2+
|
2013-07-22 02:21:56 -06:00
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
2014-02-10 11:54:46 -07:00
|
|
|
#pragma once
|
2013-07-22 02:21:56 -06:00
|
|
|
|
2015-08-15 22:08:09 -06:00
|
|
|
#include <array>
|
2015-05-08 15:28:03 -06:00
|
|
|
#include <vector>
|
2014-09-07 19:06:58 -06:00
|
|
|
#include "Common/CommonTypes.h"
|
2017-01-20 13:33:43 -07:00
|
|
|
#include "Core/HW/EXI/EXI_Device.h"
|
2013-07-22 02:21:56 -06:00
|
|
|
|
|
|
|
struct NetSettings
|
|
|
|
{
|
2016-06-24 02:43:46 -06:00
|
|
|
bool m_CPUthread;
|
|
|
|
int m_CPUcore;
|
2016-07-04 17:48:04 -06:00
|
|
|
bool m_EnableCheats;
|
2016-06-24 02:43:46 -06:00
|
|
|
int m_SelectedLanguage;
|
|
|
|
bool m_OverrideGCLanguage;
|
|
|
|
bool m_ProgressiveScan;
|
|
|
|
bool m_PAL60;
|
|
|
|
bool m_DSPHLE;
|
|
|
|
bool m_DSPEnableJIT;
|
|
|
|
bool m_WriteToMemcard;
|
2016-12-23 18:37:23 -07:00
|
|
|
bool m_CopyWiiSave;
|
2016-06-24 02:43:46 -06:00
|
|
|
bool m_OCEnable;
|
|
|
|
float m_OCFactor;
|
2017-03-18 15:46:05 -06:00
|
|
|
ExpansionInterface::TEXIDevices m_EXIDevice[2];
|
2013-07-22 02:21:56 -06:00
|
|
|
};
|
|
|
|
|
2017-08-07 01:22:33 -06:00
|
|
|
struct NetTraversalConfig
|
|
|
|
{
|
|
|
|
NetTraversalConfig() = default;
|
|
|
|
NetTraversalConfig(bool use_traversal_, std::string traversal_host_, u16 traversal_port_)
|
|
|
|
: use_traversal{use_traversal_}, traversal_host{std::move(traversal_host_)},
|
|
|
|
traversal_port{traversal_port_}
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
bool use_traversal = false;
|
|
|
|
std::string traversal_host;
|
|
|
|
u16 traversal_port = 0;
|
|
|
|
};
|
|
|
|
|
2013-09-06 22:27:35 -06:00
|
|
|
extern NetSettings g_NetPlaySettings;
|
2016-10-29 06:01:00 -06:00
|
|
|
extern u64 g_netplay_initial_rtc;
|
2013-09-06 22:27:35 -06:00
|
|
|
|
2013-07-22 02:21:56 -06:00
|
|
|
struct Rpt : public std::vector<u8>
|
|
|
|
{
|
2016-06-24 02:43:46 -06:00
|
|
|
u16 channel;
|
2013-07-22 02:21:56 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
// messages
|
|
|
|
enum
|
|
|
|
{
|
2016-06-24 02:43:46 -06:00
|
|
|
NP_MSG_PLAYER_JOIN = 0x10,
|
|
|
|
NP_MSG_PLAYER_LEAVE = 0x11,
|
2013-07-22 02:21:56 -06:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
NP_MSG_CHAT_MESSAGE = 0x30,
|
2013-07-22 02:21:56 -06:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
NP_MSG_PAD_DATA = 0x60,
|
|
|
|
NP_MSG_PAD_MAPPING = 0x61,
|
|
|
|
NP_MSG_PAD_BUFFER = 0x62,
|
2013-07-22 02:21:56 -06:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
NP_MSG_WIIMOTE_DATA = 0x70,
|
|
|
|
NP_MSG_WIIMOTE_MAPPING = 0x71,
|
2013-07-22 02:21:56 -06:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
NP_MSG_START_GAME = 0xA0,
|
|
|
|
NP_MSG_CHANGE_GAME = 0xA1,
|
|
|
|
NP_MSG_STOP_GAME = 0xA2,
|
|
|
|
NP_MSG_DISABLE_GAME = 0xA3,
|
2016-07-10 02:13:34 -06:00
|
|
|
NP_MSG_GAME_STATUS = 0xA4,
|
2013-07-22 02:21:56 -06:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
NP_MSG_TIMEBASE = 0xB0,
|
|
|
|
NP_MSG_DESYNC_DETECTED = 0xB1,
|
2015-03-08 04:50:47 -06:00
|
|
|
|
2016-07-13 16:45:38 -06:00
|
|
|
NP_MSG_COMPUTE_MD5 = 0xC0,
|
|
|
|
NP_MSG_MD5_PROGRESS = 0xC1,
|
|
|
|
NP_MSG_MD5_RESULT = 0xC2,
|
|
|
|
NP_MSG_MD5_ABORT = 0xC3,
|
|
|
|
NP_MSG_MD5_ERROR = 0xC4,
|
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
NP_MSG_READY = 0xD0,
|
|
|
|
NP_MSG_NOT_READY = 0xD1,
|
2013-07-22 02:21:56 -06:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
NP_MSG_PING = 0xE0,
|
|
|
|
NP_MSG_PONG = 0xE1,
|
|
|
|
NP_MSG_PLAYER_PING_DATA = 0xE2,
|
2015-06-14 05:59:41 -06:00
|
|
|
|
2016-06-24 02:43:46 -06:00
|
|
|
NP_MSG_SYNC_GC_SRAM = 0xF0,
|
2013-07-22 02:21:56 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
2016-06-24 02:43:46 -06:00
|
|
|
CON_ERR_SERVER_FULL = 1,
|
|
|
|
CON_ERR_GAME_RUNNING = 2,
|
|
|
|
CON_ERR_VERSION_MISMATCH = 3
|
2013-07-22 02:21:56 -06:00
|
|
|
};
|
|
|
|
|
2015-08-15 22:00:59 -06:00
|
|
|
using NetWiimote = std::vector<u8>;
|
2016-06-24 02:43:46 -06:00
|
|
|
using MessageId = u8;
|
|
|
|
using PlayerId = u8;
|
|
|
|
using FrameNum = u32;
|
2015-08-15 22:08:09 -06:00
|
|
|
using PadMapping = s8;
|
|
|
|
using PadMappingArray = std::array<PadMapping, 4>;
|
2015-08-15 22:00:59 -06:00
|
|
|
|
2014-02-16 21:51:41 -07:00
|
|
|
namespace NetPlay
|
|
|
|
{
|
2016-06-24 02:43:46 -06:00
|
|
|
bool IsNetPlayRunning();
|
2014-09-11 11:00:40 -06:00
|
|
|
}
|