mirror of https://github.com/stella-emu/stella.git
Convert some raw arrays to std::array.
Some fixes for warnings from Coverity.
This commit is contained in:
parent
f08bc8843d
commit
025eeba38c
|
@ -33,7 +33,9 @@ static constexpr char CTRL_DELIM = '^';
|
||||||
PhysicalJoystickHandler::PhysicalJoystickHandler(
|
PhysicalJoystickHandler::PhysicalJoystickHandler(
|
||||||
OSystem& system, EventHandler& handler)
|
OSystem& system, EventHandler& handler)
|
||||||
: myOSystem(system),
|
: myOSystem(system),
|
||||||
myHandler(handler)
|
myHandler(handler),
|
||||||
|
myLeftMode(EventMode::kEmulationMode),
|
||||||
|
myRightMode(EventMode::kEmulationMode)
|
||||||
{
|
{
|
||||||
Int32 version = myOSystem.settings().getInt("event_ver");
|
Int32 version = myOSystem.settings().getInt("event_ver");
|
||||||
// Load previously saved joystick mapping (if any) from settings
|
// Load previously saved joystick mapping (if any) from settings
|
||||||
|
|
|
@ -42,7 +42,9 @@ static constexpr int MOD3 = KBDM_ALT;
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
PhysicalKeyboardHandler::PhysicalKeyboardHandler(OSystem& system, EventHandler& handler)
|
PhysicalKeyboardHandler::PhysicalKeyboardHandler(OSystem& system, EventHandler& handler)
|
||||||
: myOSystem(system),
|
: myOSystem(system),
|
||||||
myHandler(handler)
|
myHandler(handler),
|
||||||
|
myLeftMode(EventMode::kEmulationMode),
|
||||||
|
myRightMode(EventMode::kEmulationMode)
|
||||||
#ifdef BSPF_UNIX
|
#ifdef BSPF_UNIX
|
||||||
, myAltKeyCounter(0)
|
, myAltKeyCounter(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -46,8 +46,10 @@ StaggeredLogger::StaggeredLogger(const string& message, Logger::Level level)
|
||||||
myCurrentIntervalFactor(1),
|
myCurrentIntervalFactor(1),
|
||||||
myCooldownTime(1000),
|
myCooldownTime(1000),
|
||||||
myTimer(new TimerManager()),
|
myTimer(new TimerManager()),
|
||||||
|
myTimerId(0),
|
||||||
myTimerCallbackId(0)
|
myTimerCallbackId(0)
|
||||||
{}
|
{
|
||||||
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
StaggeredLogger::~StaggeredLogger()
|
StaggeredLogger::~StaggeredLogger()
|
||||||
|
|
|
@ -26,13 +26,15 @@
|
||||||
#include "bspf.hxx"
|
#include "bspf.hxx"
|
||||||
#include "TimerManager.hxx"
|
#include "TimerManager.hxx"
|
||||||
#include "Logger.hxx"
|
#include "Logger.hxx"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class buffers log events and logs them after a certain time window has expired.
|
* This class buffers log events and logs them after a certain time window has expired.
|
||||||
* The timout increases after every log line by a factor of two until a maximum is reached.
|
* The timout increases after every log line by a factor of two until a maximum is reached.
|
||||||
* If no events are reported, the window size decreases again.
|
* If no events are reported, the window size decreases again.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class StaggeredLogger {
|
class StaggeredLogger
|
||||||
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
StaggeredLogger(const string& message, Logger::Level level);
|
StaggeredLogger(const string& message, Logger::Level level);
|
||||||
|
|
|
@ -167,8 +167,16 @@ int main(int ac, char* av[])
|
||||||
if (isProfilingRun(ac, av)) {
|
if (isProfilingRun(ac, av)) {
|
||||||
ProfilingRunner runner(ac, av);
|
ProfilingRunner runner(ac, av);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
return runner.run() ? 0 : 1;
|
return runner.run() ? 0 : 1;
|
||||||
}
|
}
|
||||||
|
catch(const runtime_error& e)
|
||||||
|
{
|
||||||
|
cerr << e.what() << endl;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
unique_ptr<OSystem> theOSystem;
|
unique_ptr<OSystem> theOSystem;
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ TiaZoomWidget::TiaZoomWidget(GuiObject* boss, const GUI::Font& font,
|
||||||
myZoomLevel = 2;
|
myZoomLevel = 2;
|
||||||
myNumCols = (_w - 4) / myZoomLevel;
|
myNumCols = (_w - 4) / myZoomLevel;
|
||||||
myNumRows = (_h - 4) / myZoomLevel;
|
myNumRows = (_h - 4) / myZoomLevel;
|
||||||
myOffX = myOffY = 0;
|
myOffX = myOffY = myOffXLo = myOffYLo = 0;
|
||||||
|
|
||||||
myMouseMoving = false;
|
myMouseMoving = false;
|
||||||
myClickX = myClickY = 0;
|
myClickX = myClickY = 0;
|
||||||
|
|
|
@ -123,7 +123,8 @@ void CartridgeCDF::setInitialState()
|
||||||
myMode = 0xFF;
|
myMode = 0xFF;
|
||||||
|
|
||||||
myBankOffset = myLDAimmediateOperandAddress = myJMPoperandAddress = 0;
|
myBankOffset = myLDAimmediateOperandAddress = myJMPoperandAddress = 0;
|
||||||
myFastJumpActive = 0;
|
myFastJumpActive = myFastJumpStream = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -26,7 +26,8 @@ CartridgeDPC::CartridgeDPC(const ByteBuffer& image, size_t size,
|
||||||
mySize(size),
|
mySize(size),
|
||||||
myAudioCycles(0),
|
myAudioCycles(0),
|
||||||
myFractionalClocks(0.0),
|
myFractionalClocks(0.0),
|
||||||
myBankOffset(0)
|
myBankOffset(0),
|
||||||
|
myDpcPitch(0.0)
|
||||||
{
|
{
|
||||||
// Make a copy of the entire image
|
// Make a copy of the entire image
|
||||||
std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin());
|
std::copy_n(image.get(), std::min(myImage.size(), size), myImage.begin());
|
||||||
|
|
|
@ -821,7 +821,7 @@ void Console::setControllers(const string& romMd5)
|
||||||
const bool swappedPorts = myProperties.get(PropType::Console_SwapPorts) == "YES";
|
const bool swappedPorts = myProperties.get(PropType::Console_SwapPorts) == "YES";
|
||||||
|
|
||||||
// Try to detect controllers
|
// Try to detect controllers
|
||||||
if(image != nullptr || size != 0)
|
if(image != nullptr && size != 0)
|
||||||
{
|
{
|
||||||
leftType = ControllerDetector::detectType(image, size, leftType,
|
leftType = ControllerDetector::detectType(image, size, leftType,
|
||||||
!swappedPorts ? Controller::Jack::Left : Controller::Jack::Right, myOSystem.settings());
|
!swappedPorts ? Controller::Jack::Left : Controller::Jack::Right, myOSystem.settings());
|
||||||
|
|
|
@ -242,14 +242,14 @@ void EventHandler::poll(uInt64 time)
|
||||||
myOSystem.png().updateTime(time);
|
myOSystem.png().updateTime(time);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#ifdef GUI_SUPPORT
|
||||||
else if(myOverlay)
|
else if(myOverlay)
|
||||||
{
|
{
|
||||||
#ifdef GUI_SUPPORT
|
|
||||||
// Update the current dialog container at regular intervals
|
// Update the current dialog container at regular intervals
|
||||||
// Used to implement continuous events
|
// Used to implement continuous events
|
||||||
myOverlay->updateTime(time);
|
myOverlay->updateTime(time);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Turn off all mouse-related items; if they haven't been taken care of
|
// Turn off all mouse-related items; if they haven't been taken care of
|
||||||
// in the previous ::update() methods, they're now invalid
|
// in the previous ::update() methods, they're now invalid
|
||||||
|
@ -1006,28 +1006,14 @@ bool EventHandler::changeStateByEvent(Event::Type type)
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void EventHandler::setActionMappings(EventMode mode)
|
void EventHandler::setActionMappings(EventMode mode)
|
||||||
{
|
{
|
||||||
int listsize = 0;
|
|
||||||
ActionList* list = nullptr;
|
|
||||||
|
|
||||||
switch(mode)
|
switch(mode)
|
||||||
{
|
{
|
||||||
case EventMode::kEmulationMode:
|
case EventMode::kEmulationMode:
|
||||||
listsize = EMUL_ACTIONLIST_SIZE;
|
// Fill the EmulActionList with the current key and joystick mappings
|
||||||
list = ourEmulActionList;
|
for(auto& item: ourEmulActionList)
|
||||||
break;
|
|
||||||
case EventMode::kMenuMode:
|
|
||||||
listsize = MENU_ACTIONLIST_SIZE;
|
|
||||||
list = ourMenuActionList;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fill the ActionList with the current key and joystick mappings
|
|
||||||
for(int i = 0; i < listsize; ++i)
|
|
||||||
{
|
{
|
||||||
Event::Type event = list[i].event;
|
Event::Type event = item.event;
|
||||||
list[i].key = "None";
|
item.key = "None";
|
||||||
string key = myPKeyHandler->getMappingDesc(event, mode);
|
string key = myPKeyHandler->getMappingDesc(event, mode);
|
||||||
|
|
||||||
#ifdef JOYSTICK_SUPPORT
|
#ifdef JOYSTICK_SUPPORT
|
||||||
|
@ -1041,7 +1027,33 @@ void EventHandler::setActionMappings(EventMode mode)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(key != "")
|
if(key != "")
|
||||||
list[i].key = key;
|
item.key = key;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case EventMode::kMenuMode:
|
||||||
|
// Fill the MenuActionList with the current key and joystick mappings
|
||||||
|
for(auto& item: ourMenuActionList)
|
||||||
|
{
|
||||||
|
Event::Type event = item.event;
|
||||||
|
item.key = "None";
|
||||||
|
string key = myPKeyHandler->getMappingDesc(event, mode);
|
||||||
|
|
||||||
|
#ifdef JOYSTICK_SUPPORT
|
||||||
|
string joydesc = myPJoyHandler->getMappingDesc(event, mode);
|
||||||
|
if(joydesc != "")
|
||||||
|
{
|
||||||
|
if(key != "")
|
||||||
|
key += ", ";
|
||||||
|
key += joydesc;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if(key != "")
|
||||||
|
item.key = key;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1222,12 +1234,12 @@ StringList EventHandler::getActionList(EventMode mode) const
|
||||||
switch(mode)
|
switch(mode)
|
||||||
{
|
{
|
||||||
case EventMode::kEmulationMode:
|
case EventMode::kEmulationMode:
|
||||||
for(uInt32 i = 0; i < EMUL_ACTIONLIST_SIZE; ++i)
|
for(const auto& item: ourEmulActionList)
|
||||||
l.push_back(EventHandler::ourEmulActionList[i].action);
|
l.push_back(item.action);
|
||||||
break;
|
break;
|
||||||
case EventMode::kMenuMode:
|
case EventMode::kMenuMode:
|
||||||
for(uInt32 i = 0; i < MENU_ACTIONLIST_SIZE; ++i)
|
for(const auto& item: ourMenuActionList)
|
||||||
l.push_back(EventHandler::ourMenuActionList[i].action);
|
l.push_back(item.action);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -1288,21 +1300,21 @@ StringList EventHandler::getActionList(const Event::EventSet& events, EventMode
|
||||||
switch(mode)
|
switch(mode)
|
||||||
{
|
{
|
||||||
case EventMode::kMenuMode:
|
case EventMode::kMenuMode:
|
||||||
for(uInt32 i = 0; i < MENU_ACTIONLIST_SIZE; ++i)
|
for(const auto& item: ourMenuActionList)
|
||||||
for(const auto& event : events)
|
for(const auto& event : events)
|
||||||
if(EventHandler::ourMenuActionList[i].event == event)
|
if(item.event == event)
|
||||||
{
|
{
|
||||||
l.push_back(EventHandler::ourMenuActionList[i].action);
|
l.push_back(item.action);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
for(uInt32 i = 0; i < EMUL_ACTIONLIST_SIZE; ++i)
|
for(const auto& item: ourEmulActionList)
|
||||||
for(const auto& event : events)
|
for(const auto& event : events)
|
||||||
if(EventHandler::ourEmulActionList[i].event == event)
|
if(item.event == event)
|
||||||
{
|
{
|
||||||
l.push_back(EventHandler::ourEmulActionList[i].action);
|
l.push_back(item.action);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1317,7 +1329,7 @@ VariantList EventHandler::getComboList(EventMode /**/) const
|
||||||
ostringstream buf;
|
ostringstream buf;
|
||||||
|
|
||||||
VarList::push_back(l, "None", "-1");
|
VarList::push_back(l, "None", "-1");
|
||||||
for(uInt32 i = 0; i < EMUL_ACTIONLIST_SIZE; ++i)
|
for(uInt32 i = 0; i < ourEmulActionList.size(); ++i)
|
||||||
{
|
{
|
||||||
Event::Type event = EventHandler::ourEmulActionList[i].event;
|
Event::Type event = EventHandler::ourEmulActionList[i].event;
|
||||||
// exclude combos events
|
// exclude combos events
|
||||||
|
@ -1342,7 +1354,7 @@ StringList EventHandler::getComboListForEvent(Event::Type event) const
|
||||||
for(uInt32 i = 0; i < EVENTS_PER_COMBO; ++i)
|
for(uInt32 i = 0; i < EVENTS_PER_COMBO; ++i)
|
||||||
{
|
{
|
||||||
Event::Type e = myComboTable[combo][i];
|
Event::Type e = myComboTable[combo][i];
|
||||||
for(uInt32 j = 0; j < EMUL_ACTIONLIST_SIZE; ++j)
|
for(uInt32 j = 0; j < ourEmulActionList.size(); ++j)
|
||||||
{
|
{
|
||||||
if(EventHandler::ourEmulActionList[j].event == e)
|
if(EventHandler::ourEmulActionList[j].event == e)
|
||||||
{
|
{
|
||||||
|
@ -1366,10 +1378,10 @@ void EventHandler::setComboListForEvent(Event::Type event, const StringList& eve
|
||||||
{
|
{
|
||||||
assert(events.size() == 8);
|
assert(events.size() == 8);
|
||||||
int combo = event - Event::Combo1;
|
int combo = event - Event::Combo1;
|
||||||
for(int i = 0; i < 8; ++i)
|
for(uInt32 i = 0; i < 8; ++i)
|
||||||
{
|
{
|
||||||
int idx = atoi(events[i].c_str());
|
uInt32 idx = atoi(events[i].c_str());
|
||||||
if(idx >= 0 && idx < EMUL_ACTIONLIST_SIZE)
|
if(idx < ourEmulActionList.size())
|
||||||
myComboTable[combo][i] = EventHandler::ourEmulActionList[idx].event;
|
myComboTable[combo][i] = EventHandler::ourEmulActionList[idx].event;
|
||||||
else
|
else
|
||||||
myComboTable[combo][i] = Event::NoType;
|
myComboTable[combo][i] = Event::NoType;
|
||||||
|
@ -1385,7 +1397,7 @@ int EventHandler::getEmulActionListIndex(int idx, const Event::EventSet& events)
|
||||||
// ordered by 'ourEmulActionList'!
|
// ordered by 'ourEmulActionList'!
|
||||||
Event::Type event = Event::NoType;
|
Event::Type event = Event::NoType;
|
||||||
|
|
||||||
for(uInt32 i = 0; i < EMUL_ACTIONLIST_SIZE; ++i)
|
for(uInt32 i = 0; i < ourEmulActionList.size(); ++i)
|
||||||
{
|
{
|
||||||
for(const auto& item : events)
|
for(const auto& item : events)
|
||||||
if(EventHandler::ourEmulActionList[i].event == item)
|
if(EventHandler::ourEmulActionList[i].event == item)
|
||||||
|
@ -1399,7 +1411,7 @@ int EventHandler::getEmulActionListIndex(int idx, const Event::EventSet& events)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(uInt32 i = 0; i < EMUL_ACTIONLIST_SIZE; ++i)
|
for(uInt32 i = 0; i < ourEmulActionList.size(); ++i)
|
||||||
if(EventHandler::ourEmulActionList[i].event == event)
|
if(EventHandler::ourEmulActionList[i].event == event)
|
||||||
return i;
|
return i;
|
||||||
|
|
||||||
|
@ -1457,13 +1469,13 @@ Event::Type EventHandler::eventAtIndex(int idx, Event::Group group) const
|
||||||
switch(group)
|
switch(group)
|
||||||
{
|
{
|
||||||
case Event::Group::Menu:
|
case Event::Group::Menu:
|
||||||
if(index < 0 || index >= MENU_ACTIONLIST_SIZE)
|
if(index < 0 || index >= int(ourMenuActionList.size()))
|
||||||
return Event::NoType;
|
return Event::NoType;
|
||||||
else
|
else
|
||||||
return ourMenuActionList[index].event;
|
return ourMenuActionList[index].event;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if(index < 0 || index >= EMUL_ACTIONLIST_SIZE)
|
if(index < 0 || index >= int(ourEmulActionList.size()))
|
||||||
return Event::NoType;
|
return Event::NoType;
|
||||||
else
|
else
|
||||||
return ourEmulActionList[index].event;
|
return ourEmulActionList[index].event;
|
||||||
|
@ -1478,13 +1490,13 @@ string EventHandler::actionAtIndex(int idx, Event::Group group) const
|
||||||
switch(group)
|
switch(group)
|
||||||
{
|
{
|
||||||
case Event::Group::Menu:
|
case Event::Group::Menu:
|
||||||
if(index < 0 || index >= MENU_ACTIONLIST_SIZE)
|
if(index < 0 || index >= int(ourMenuActionList.size()))
|
||||||
return EmptyString;
|
return EmptyString;
|
||||||
else
|
else
|
||||||
return ourMenuActionList[index].action;
|
return ourMenuActionList[index].action;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if(index < 0 || index >= EMUL_ACTIONLIST_SIZE)
|
if(index < 0 || index >= int(ourEmulActionList.size()))
|
||||||
return EmptyString;
|
return EmptyString;
|
||||||
else
|
else
|
||||||
return ourEmulActionList[index].action;
|
return ourEmulActionList[index].action;
|
||||||
|
@ -1499,13 +1511,13 @@ string EventHandler::keyAtIndex(int idx, Event::Group group) const
|
||||||
switch(group)
|
switch(group)
|
||||||
{
|
{
|
||||||
case Event::Group::Menu:
|
case Event::Group::Menu:
|
||||||
if(index < 0 || index >= MENU_ACTIONLIST_SIZE)
|
if(index < 0 || index >= int(ourMenuActionList.size()))
|
||||||
return EmptyString;
|
return EmptyString;
|
||||||
else
|
else
|
||||||
return ourMenuActionList[index].key;
|
return ourMenuActionList[index].key;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if(index < 0 || index >= EMUL_ACTIONLIST_SIZE)
|
if(index < 0 || index >= int(ourEmulActionList.size()))
|
||||||
return EmptyString;
|
return EmptyString;
|
||||||
else
|
else
|
||||||
return ourEmulActionList[index].key;
|
return ourEmulActionList[index].key;
|
||||||
|
@ -1710,7 +1722,7 @@ void EventHandler::exitEmulation()
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
EventHandler::ActionList EventHandler::ourEmulActionList[EMUL_ACTIONLIST_SIZE] = {
|
EventHandler::EmulActionList EventHandler::ourEmulActionList = { {
|
||||||
{ Event::Quit, "Quit", "" },
|
{ Event::Quit, "Quit", "" },
|
||||||
{ Event::ReloadConsole, "Reload current ROM/load next game", "" },
|
{ Event::ReloadConsole, "Reload current ROM/load next game", "" },
|
||||||
{ Event::ExitMode, "Exit current Stella menu/mode", "" },
|
{ Event::ExitMode, "Exit current Stella menu/mode", "" },
|
||||||
|
@ -1887,10 +1899,10 @@ EventHandler::ActionList EventHandler::ourEmulActionList[EMUL_ACTIONLIST_SIZE] =
|
||||||
{ Event::Combo14, "Combo 14", "" },
|
{ Event::Combo14, "Combo 14", "" },
|
||||||
{ Event::Combo15, "Combo 15", "" },
|
{ Event::Combo15, "Combo 15", "" },
|
||||||
{ Event::Combo16, "Combo 16", "" }
|
{ Event::Combo16, "Combo 16", "" }
|
||||||
};
|
} };
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
EventHandler::ActionList EventHandler::ourMenuActionList[MENU_ACTIONLIST_SIZE] = {
|
EventHandler::MenuActionList EventHandler::ourMenuActionList = { {
|
||||||
{ Event::UIUp, "Move Up", "" },
|
{ Event::UIUp, "Move Up", "" },
|
||||||
{ Event::UIDown, "Move Down", "" },
|
{ Event::UIDown, "Move Down", "" },
|
||||||
{ Event::UILeft, "Move Left", "" },
|
{ Event::UILeft, "Move Left", "" },
|
||||||
|
@ -1913,7 +1925,7 @@ EventHandler::ActionList EventHandler::ourMenuActionList[MENU_ACTIONLIST_SIZE] =
|
||||||
{ Event::UIPrevDir, "Parent directory", "" },
|
{ Event::UIPrevDir, "Parent directory", "" },
|
||||||
{ Event::ToggleFullScreen, "Toggle fullscreen", "" },
|
{ Event::ToggleFullScreen, "Toggle fullscreen", "" },
|
||||||
{ Event::Quit, "Quit", "" }
|
{ Event::Quit, "Quit", "" }
|
||||||
};
|
} };
|
||||||
|
|
||||||
// Event groups
|
// Event groups
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -388,18 +388,6 @@ class EventHandler
|
||||||
void removePhysicalJoystick(int index);
|
void removePhysicalJoystick(int index);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static constexpr Int32
|
|
||||||
COMBO_SIZE = 16,
|
|
||||||
EVENTS_PER_COMBO = 8,
|
|
||||||
#ifdef PNG_SUPPORT
|
|
||||||
PNG_SIZE = 2,
|
|
||||||
#else
|
|
||||||
PNG_SIZE = 0,
|
|
||||||
#endif
|
|
||||||
EMUL_ACTIONLIST_SIZE = 139 + PNG_SIZE + COMBO_SIZE,
|
|
||||||
MENU_ACTIONLIST_SIZE = 18
|
|
||||||
;
|
|
||||||
|
|
||||||
// Define event groups
|
// Define event groups
|
||||||
static const Event::EventSet MiscEvents;
|
static const Event::EventSet MiscEvents;
|
||||||
static const Event::EventSet AudioVideoEvents;
|
static const Event::EventSet AudioVideoEvents;
|
||||||
|
@ -449,9 +437,6 @@ class EventHandler
|
||||||
// all possible controller modes
|
// all possible controller modes
|
||||||
unique_ptr<MouseControl> myMouseControl;
|
unique_ptr<MouseControl> myMouseControl;
|
||||||
|
|
||||||
// The event(s) assigned to each combination event
|
|
||||||
Event::Type myComboTable[COMBO_SIZE][EVENTS_PER_COMBO];
|
|
||||||
|
|
||||||
// Indicates the current state of the system (ie, which mode is current)
|
// Indicates the current state of the system (ie, which mode is current)
|
||||||
EventHandlerState myState;
|
EventHandlerState myState;
|
||||||
|
|
||||||
|
@ -469,9 +454,28 @@ class EventHandler
|
||||||
// of the 7800 (for now, only the switches are notified)
|
// of the 7800 (for now, only the switches are notified)
|
||||||
bool myIs7800;
|
bool myIs7800;
|
||||||
|
|
||||||
|
// These constants are not meant to be used elsewhere; they are only used
|
||||||
|
// here to make it easier for the reader to correctly size the list(s)
|
||||||
|
static constexpr Int32
|
||||||
|
COMBO_SIZE = 16,
|
||||||
|
EVENTS_PER_COMBO = 8,
|
||||||
|
#ifdef PNG_SUPPORT
|
||||||
|
PNG_SIZE = 3,
|
||||||
|
#else
|
||||||
|
PNG_SIZE = 0,
|
||||||
|
#endif
|
||||||
|
EMUL_ACTIONLIST_SIZE = 138 + PNG_SIZE + COMBO_SIZE,
|
||||||
|
MENU_ACTIONLIST_SIZE = 18
|
||||||
|
;
|
||||||
|
|
||||||
|
// The event(s) assigned to each combination event
|
||||||
|
Event::Type myComboTable[COMBO_SIZE][EVENTS_PER_COMBO];
|
||||||
|
|
||||||
// Holds static strings for the remap menu (emulation and menu events)
|
// Holds static strings for the remap menu (emulation and menu events)
|
||||||
static ActionList ourEmulActionList[EMUL_ACTIONLIST_SIZE];
|
using EmulActionList = std::array<ActionList, EMUL_ACTIONLIST_SIZE>;
|
||||||
static ActionList ourMenuActionList[MENU_ACTIONLIST_SIZE];
|
static EmulActionList ourEmulActionList;
|
||||||
|
using MenuActionList = std::array<ActionList, MENU_ACTIONLIST_SIZE>;
|
||||||
|
static MenuActionList ourMenuActionList;
|
||||||
|
|
||||||
// Following constructors and assignment operators not supported
|
// Following constructors and assignment operators not supported
|
||||||
EventHandler() = delete;
|
EventHandler() = delete;
|
||||||
|
|
|
@ -56,7 +56,8 @@ FrameBuffer::FrameBuffer(OSystem& osystem)
|
||||||
myGrabMouse(false),
|
myGrabMouse(false),
|
||||||
myHiDPIAllowed(false),
|
myHiDPIAllowed(false),
|
||||||
myHiDPIEnabled(false),
|
myHiDPIEnabled(false),
|
||||||
myCurrentModeList(nullptr)
|
myCurrentModeList(nullptr),
|
||||||
|
myTIAMaxZoom(1.0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -178,7 +178,7 @@ bool ProfilingRunner::runOne(const ProfilingRun run)
|
||||||
|
|
||||||
EmulationTiming emulationTiming(frameLayout, consoleTiming);
|
EmulationTiming emulationTiming(frameLayout, consoleTiming);
|
||||||
uInt64 cycles = 0;
|
uInt64 cycles = 0;
|
||||||
uInt64 cyclesTarget = run.runtime * emulationTiming.cyclesPerSecond();
|
uInt64 cyclesTarget = uInt64(run.runtime) * emulationTiming.cyclesPerSecond();
|
||||||
|
|
||||||
DispatchResult dispatchResult;
|
DispatchResult dispatchResult;
|
||||||
dispatchResult.setOk(0);
|
dispatchResult.setOk(0);
|
||||||
|
|
|
@ -44,7 +44,10 @@ FrameLayout FrameLayoutDetector::detectedLayout() const{
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
FrameLayoutDetector::FrameLayoutDetector()
|
FrameLayoutDetector::FrameLayoutDetector()
|
||||||
: myState(State::waitForVsyncStart)
|
: myState(State::waitForVsyncStart),
|
||||||
|
myNtscFrames(0),
|
||||||
|
myPalFrames(0),
|
||||||
|
myLinesWaitingForVsyncToStart(0)
|
||||||
{
|
{
|
||||||
reset();
|
reset();
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,11 @@ enum Metrics: uInt32 {
|
||||||
YStartDetector::YStartDetector()
|
YStartDetector::YStartDetector()
|
||||||
: myState(State::waitForVsyncStart),
|
: myState(State::waitForVsyncStart),
|
||||||
myVblankMode(VblankMode::floating),
|
myVblankMode(VblankMode::floating),
|
||||||
|
myLinesWaitingForVsyncToStart(0),
|
||||||
|
myCurrentVblankLines(0),
|
||||||
|
myLastVblankLines(0),
|
||||||
|
myVblankViolations(0),
|
||||||
|
myStableVblankFrames(0),
|
||||||
myVblankViolated(false)
|
myVblankViolated(false)
|
||||||
{
|
{
|
||||||
reset();
|
reset();
|
||||||
|
|
|
@ -51,6 +51,8 @@ EventMappingWidget::EventMappingWidget(GuiObject* boss, const GUI::Font& font,
|
||||||
myLastAxis(JoyAxis::NONE),
|
myLastAxis(JoyAxis::NONE),
|
||||||
myLastDir(JoyDir::NONE),
|
myLastDir(JoyDir::NONE),
|
||||||
myLastHatDir(JoyHatDir::CENTER),
|
myLastHatDir(JoyHatDir::CENTER),
|
||||||
|
myMod(0),
|
||||||
|
myLastKey(0),
|
||||||
myLastButton(JOY_CTRL_NONE),
|
myLastButton(JOY_CTRL_NONE),
|
||||||
myFirstTime(true)
|
myFirstTime(true)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue