Linux: Fixed compilation errors/warnings

This commit is contained in:
Sour 2018-07-15 19:27:38 -04:00
parent 5f8ae4195f
commit 26b94f18cd
13 changed files with 36 additions and 24 deletions

View file

@ -588,7 +588,7 @@ private:
uint32_t _defaultPpuPalette[64] = { /* 2C02 */ 0xFF666666, 0xFF002A88, 0xFF1412A7, 0xFF3B00A4, 0xFF5C007E, 0xFF6E0040, 0xFF6C0600, 0xFF561D00, 0xFF333500, 0xFF0B4800, 0xFF005200, 0xFF004F08, 0xFF00404D, 0xFF000000, 0xFF000000, 0xFF000000, 0xFFADADAD, 0xFF155FD9, 0xFF4240FF, 0xFF7527FE, 0xFFA01ACC, 0xFFB71E7B, 0xFFB53120, 0xFF994E00, 0xFF6B6D00, 0xFF388700, 0xFF0C9300, 0xFF008F32, 0xFF007C8D, 0xFF000000, 0xFF000000, 0xFF000000, 0xFFFFFEFF, 0xFF64B0FF, 0xFF9290FF, 0xFFC676FF, 0xFFF36AFF, 0xFFFE6ECC, 0xFFFE8170, 0xFFEA9E22, 0xFFBCBE00, 0xFF88D800, 0xFF5CE430, 0xFF45E082, 0xFF48CDDE, 0xFF4F4F4F, 0xFF000000, 0xFF000000, 0xFFFFFEFF, 0xFFC0DFFF, 0xFFD3D2FF, 0xFFE8C8FF, 0xFFFBC2FF, 0xFFFEC4EA, 0xFFFECCC5, 0xFFF7D8A5, 0xFFE4E594, 0xFFCFEF96, 0xFFBDF4AB, 0xFFB3F3CC, 0xFFB5EBF2, 0xFFB8B8B8, 0xFF000000, 0xFF000000 };
uint32_t _currentPalette[64] = { 0xFF666666, 0xFF002A88, 0xFF1412A7, 0xFF3B00A4, 0xFF5C007E, 0xFF6E0040, 0xFF6C0600, 0xFF561D00, 0xFF333500, 0xFF0B4800, 0xFF005200, 0xFF004F08, 0xFF00404D, 0xFF000000, 0xFF000000, 0xFF000000, 0xFFADADAD, 0xFF155FD9, 0xFF4240FF, 0xFF7527FE, 0xFFA01ACC, 0xFFB71E7B, 0xFFB53120, 0xFF994E00, 0xFF6B6D00, 0xFF388700, 0xFF0C9300, 0xFF008F32, 0xFF007C8D, 0xFF000000, 0xFF000000, 0xFF000000, 0xFFFFFEFF, 0xFF64B0FF, 0xFF9290FF, 0xFFC676FF, 0xFFF36AFF, 0xFFFE6ECC, 0xFFFE8170, 0xFFEA9E22, 0xFFBCBE00, 0xFF88D800, 0xFF5CE430, 0xFF45E082, 0xFF48CDDE, 0xFF4F4F4F, 0xFF000000, 0xFF000000, 0xFFFFFEFF, 0xFFC0DFFF, 0xFFD3D2FF, 0xFFE8C8FF, 0xFFFBC2FF, 0xFFFEC4EA, 0xFFFECCC5, 0xFFF7D8A5, 0xFFE4E594, 0xFFCFEF96, 0xFFBDF4AB, 0xFFB3F3CC, 0xFFB5EBF2, 0xFFB8B8B8, 0xFF000000, 0xFF000000 };
static constexpr uint8_t _paletteLut[11][64] = {
const uint8_t _paletteLut[11][64] = {
/* 2C02 */ { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63 },
/* 2C03 */ { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,15,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,15,62,63 },
/* 2C04-0001 */ { 53,35,22,34,28,9,29,21,32,0,39,5,4,40,8,32,33,62,31,41,60,50,54,18,63,43,46,30,61,45,36,1,14,49,51,42,44,12,27,20,46,7,52,6,19,2,38,46,46,25,16,10,57,3,55,23,15,17,11,13,56,37,24,58 },

View file

@ -15,6 +15,10 @@ HistoryViewer::HistoryViewer(shared_ptr<Console> console)
_pollCounter = 0;
}
HistoryViewer::~HistoryViewer()
{
}
void HistoryViewer::SetHistoryData(std::deque<RewindData> &history)
{
_history = history;
@ -33,8 +37,8 @@ uint32_t HistoryViewer::GetHistoryLength()
void HistoryViewer::GetHistorySegments(uint32_t *segmentBuffer, uint32_t &bufferSize)
{
int segmentIndex = 0;
for(int i = 0; i < _history.size(); i++) {
size_t segmentIndex = 0;
for(size_t i = 0; i < _history.size(); i++) {
if(_history[i].EndOfSegment) {
segmentBuffer[segmentIndex] = i;
segmentIndex++;

View file

@ -18,6 +18,7 @@ private:
public:
HistoryViewer(shared_ptr<Console> console);
virtual ~HistoryViewer();
void SetHistoryData(std::deque<RewindData> &history);
@ -33,5 +34,5 @@ public:
void ProcessEndOfFrame();
// Inherited via IInputProvider
virtual bool SetInput(BaseControlDevice * device) override;
bool SetInput(BaseControlDevice * device) override;
};

View file

@ -7,12 +7,14 @@
IKeyManager* KeyManager::_keyManager = nullptr;
MousePosition KeyManager::_mousePosition = { 0, 0 };
atomic<int16_t> KeyManager::_xMouseMovement = 0;
atomic<int16_t> KeyManager::_yMouseMovement = 0;
atomic<int16_t> KeyManager::_xMouseMovement;
atomic<int16_t> KeyManager::_yMouseMovement;
EmulationSettings* KeyManager::_settings = nullptr;
void KeyManager::RegisterKeyManager(IKeyManager* keyManager)
{
_xMouseMovement = 0;
_yMouseMovement = 0;
_keyManager = keyManager;
}

View file

@ -249,7 +249,7 @@ bool MovieRecorder::CreateMovie(string movieFile, std::deque<RewindData> &data,
for(uint32_t i = startPosition; i < endPosition; i++) {
RewindData rewindData = data[i];
for(int i = 0; i < 30; i++) {
for(uint32_t i = 0; i < 30; i++) {
for(shared_ptr<BaseControlDevice> &device : devices) {
uint8_t port = device->GetPort();
if(i < rewindData.InputLogs[port].size()) {

View file

@ -1,4 +1,5 @@
#include "stdafx.h"
#include <algorithm>
#include "OggReader.h"
#include "OggMixer.h"

View file

@ -143,6 +143,7 @@
//
this.ctrlRenderer.Anchor = System.Windows.Forms.AnchorStyles.None;
this.ctrlRenderer.Location = new System.Drawing.Point(134, 89);
this.ctrlRenderer.Margin = new System.Windows.Forms.Padding(0, 0, 0, 0);
this.ctrlRenderer.Name = "ctrlRenderer";
this.ctrlRenderer.Size = new System.Drawing.Size(256, 240);
this.ctrlRenderer.TabIndex = 0;

View file

@ -121,6 +121,7 @@ namespace Mesen.GUI.Forms
{
InteropEmu.ScreenSize size = InteropEmu.GetScreenSize(false, InteropEmu.ConsoleId.HistoryViewer);
if(size.Width != ctrlRenderer.ClientSize.Width || size.Height != ctrlRenderer.ClientSize.Height) {
//MessageBox.Show(size.Height.ToString() + " vs " + ctrlRenderer.ClientSize.Height.ToString());
ctrlRenderer.ClientSize = new Size(size.Width, size.Height);
}

View file

@ -71,6 +71,7 @@ shared_ptr<Console> GetConsoleById(ConsoleId consoleId)
{
shared_ptr<Console> console;
switch(consoleId) {
case ConsoleId::Master: console = _console; break;
case ConsoleId::Slave: console = _console->GetDualConsole(); break;
case ConsoleId::HistoryViewer: console = _historyConsole; break;
}
@ -141,7 +142,7 @@ namespace InteropEmu {
#ifdef _WIN32
_renderer.reset(new Renderer(_console, (HWND)_viewerHandle, true));
#else
_renderer.reset(new SdlRenderer(_console, _viewerHandle));
_renderer.reset(new SdlRenderer(_console, _viewerHandle, true));
#endif
}
@ -174,7 +175,7 @@ namespace InteropEmu {
_dualRenderer.reset(new Renderer(slaveConsole, (HWND)viewerHandle, false));
_dualSoundManager.reset(new SoundManager(slaveConsole, (HWND)windowHandle));
#else
_dualRenderer.reset(new SdlRenderer(slaveConsole, viewerHandle));
_dualRenderer.reset(new SdlRenderer(slaveConsole, viewerHandle, false));
_dualSoundManager.reset(new SdlSoundManager(slaveConsole));
#endif
_console->Resume();
@ -205,7 +206,7 @@ namespace InteropEmu {
_historyRenderer.reset(new Renderer(_historyConsole, (HWND)viewerHandle, false));
_historySoundManager.reset(new SoundManager(_historyConsole, (HWND)windowHandle));
#else
_historyRenderer.reset(new SdlRenderer(_historyConsole, viewerHandle));
_historyRenderer.reset(new SdlRenderer(_historyConsole, viewerHandle, false));
_historySoundManager.reset(new SdlSoundManager(_historyConsole));
#endif
}

View file

@ -65,6 +65,7 @@ SOURCES_CXX := $(LIBRETRO_DIR)/libretro.cpp \
$(CORE_DIR)/HdPackLoader.cpp \
$(CORE_DIR)/HdPpu.cpp \
$(CORE_DIR)/HdVideoFilter.cpp \
$(CORE_DIR)/HistoryViewer.cpp \
$(CORE_DIR)/iNesLoader.cpp \
$(CORE_DIR)/KeyManager.cpp \
$(CORE_DIR)/LabelManager.cpp \

View file

@ -8,7 +8,7 @@
SimpleLock SdlRenderer::_reinitLock;
SimpleLock SdlRenderer::_frameLock;
SdlRenderer::SdlRenderer(shared_ptr<Console> console, void* windowHandle) : BaseRenderer(console), _windowHandle(windowHandle)
SdlRenderer::SdlRenderer(shared_ptr<Console> console, void* windowHandle, bool registerAsMessageManager) : BaseRenderer(console, registerAsMessageManager), _windowHandle(windowHandle)
{
_frameBuffer = nullptr;
SetScreenSize(256,240);
@ -115,10 +115,10 @@ void SdlRenderer::SetScreenSize(uint32_t width, uint32_t height)
ScreenSize screenSize;
_console->GetVideoDecoder()->GetScreenSize(screenSize, false);
if(_screenHeight != (uint32_t)screenSize.Height || _screenWidth != (uint32_t)screenSize.Width || _nesFrameHeight != height || _nesFrameWidth != width || _resizeFilter != EmulationSettings::GetVideoResizeFilter() || _vsyncEnabled != EmulationSettings::CheckFlag(EmulationFlags::VerticalSync)) {
if(_screenHeight != (uint32_t)screenSize.Height || _screenWidth != (uint32_t)screenSize.Width || _nesFrameHeight != height || _nesFrameWidth != width || _resizeFilter != _console->GetSettings()->GetVideoResizeFilter() || _vsyncEnabled != _console->GetSettings()->CheckFlag(EmulationFlags::VerticalSync)) {
_reinitLock.Acquire();
_vsyncEnabled = EmulationSettings::CheckFlag(EmulationFlags::VerticalSync);
_vsyncEnabled = _console->GetSettings()->CheckFlag(EmulationFlags::VerticalSync);
_nesFrameHeight = height;
_nesFrameWidth = width;
@ -127,7 +127,7 @@ void SdlRenderer::SetScreenSize(uint32_t width, uint32_t height)
_screenHeight = screenSize.Height;
_screenWidth = screenSize.Width;
_resizeFilter = EmulationSettings::GetVideoResizeFilter();
_resizeFilter = _console->GetSettings()->GetVideoResizeFilter();
SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, _resizeFilter == VideoResizeFilter::Bilinear ? "1" : "0");
_screenBufferSize = _screenHeight*_screenWidth;
@ -152,8 +152,8 @@ void SdlRenderer::Render()
return;
}
bool paused = EmulationSettings::IsPaused() && _console->IsRunning();
bool disableOverlay = EmulationSettings::CheckFlag(EmulationFlags::HidePauseOverlay);
bool paused = _console->IsPaused() && _console->IsRunning();
bool disableOverlay = _console->GetSettings()->CheckFlag(EmulationFlags::HidePauseOverlay);
shared_ptr<Debugger> debugger = _console->GetDebugger(false);
if(debugger && debugger->IsExecutionStopped()) {
paused = debugger->IsPauseIconShown();
@ -188,7 +188,7 @@ void SdlRenderer::Render()
SDL_Rect dest = {0, 0, (int)_screenWidth, (int)_screenHeight };
SDL_RenderCopy(_sdlRenderer, _sdlTexture, &source, &dest);
if(paused && !EmulationSettings::CheckFlag(EmulationFlags::HidePauseOverlay)) {
if(paused && !_console->GetSettings()->CheckFlag(EmulationFlags::HidePauseOverlay)) {
DrawPauseScreen(disableOverlay);
} else if(_console->GetVideoDecoder()->IsRunning()) {
DrawCounters();
@ -224,7 +224,7 @@ void SdlRenderer::DrawPauseScreen(bool disableOverlay)
XMFLOAT2 size = _largeFont->MeasureString(L"PAUSE");
_largeFont->DrawString(_sdlRenderer, L"PAUSE", (int)(_screenWidth / 2 - size.x / 2), (int)(_screenHeight / 2 - size.y / 2 - 8), 250, 235, 215);
string utf8Message = EmulationSettings::GetPauseScreenMessage();
string utf8Message = _console->GetSettings()->GetPauseScreenMessage();
if(utf8Message.size() > 0) {
std::wstring message = utf8::utf8::decode(utf8Message);
float width = MeasureString(message);

View file

@ -61,7 +61,7 @@ private:
bool ContainsCharacter(wchar_t character) override;
public:
SdlRenderer(shared_ptr<Console> console, void* windowHandle);
SdlRenderer(shared_ptr<Console> console, void* windowHandle, bool registerAsMessageManager);
virtual ~SdlRenderer();
void UpdateFrame(void *frameBuffer, uint32_t width, uint32_t height) override;

View file

@ -50,10 +50,10 @@ bool SdlSoundManager::InitializeAudio(uint32_t sampleRate, bool isStereo)
_sampleRate = sampleRate;
_isStereo = isStereo;
_previousLatency = EmulationSettings::GetAudioLatency();
_previousLatency = _console->GetSettings()->GetAudioLatency();
int bytesPerSample = 2 * (isStereo ? 2 : 1);
int32_t requestedByteLatency = (int32_t)((float)(sampleRate * EmulationSettings::GetAudioLatency()) / 1000.0f * bytesPerSample);
int32_t requestedByteLatency = (int32_t)((float)(sampleRate * _console->GetSettings()->GetAudioLatency()) / 1000.0f * bytesPerSample);
_bufferSize = (int32_t)std::ceil((double)requestedByteLatency * 2 / 0x10000) * 0x10000;
_buffer = new uint8_t[_bufferSize];
memset(_buffer, 0, _bufferSize);
@ -149,7 +149,7 @@ void SdlSoundManager::WriteToBuffer(uint8_t* input, uint32_t len)
void SdlSoundManager::PlayBuffer(int16_t *soundBuffer, uint32_t sampleCount, uint32_t sampleRate, bool isStereo)
{
uint32_t bytesPerSample = (SoundMixer::BitsPerSample / 8) * (isStereo ? 2 : 1);
uint32_t latency = EmulationSettings::GetAudioLatency();
uint32_t latency = _console->GetSettings()->GetAudioLatency();
if(_sampleRate != sampleRate || _isStereo != isStereo || _needReset || _previousLatency != latency) {
Release();
InitializeAudio(sampleRate, isStereo);
@ -187,8 +187,8 @@ void SdlSoundManager::ProcessEndOfFrame()
{
ProcessLatency(_readPosition, _writePosition);
uint32_t emulationSpeed = EmulationSettings::GetEmulationSpeed();
if(_averageLatency > 0 && emulationSpeed <= 100 && emulationSpeed > 0 && std::abs(_averageLatency - EmulationSettings::GetAudioLatency()) > 50) {
uint32_t emulationSpeed = _console->GetSettings()->GetEmulationSpeed();
if(_averageLatency > 0 && emulationSpeed <= 100 && emulationSpeed > 0 && std::abs(_averageLatency - _console->GetSettings()->GetAudioLatency()) > 50) {
//Latency is way off (over 50ms gap), stop audio & start again
Stop();
}