Merge pull request #17960 from hrydgard/control-mapping-fixes

Controls: Make the analog/digital mapping clash resolution more gentle.
This commit is contained in:
Henrik Rydgård 2023-08-24 09:52:40 +02:00 committed by GitHub
commit ca40de852a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 68 additions and 38 deletions

View file

@ -1127,7 +1127,9 @@ void EmuScreen::update() {
if (invalid_)
return;
controlMapper_.Update();
double now = time_now_d();
controlMapper_.Update(now);
if (pauseTrigger_) {
pauseTrigger_ = false;
@ -1147,7 +1149,7 @@ void EmuScreen::update() {
saveStatePreview_->SetFilename(fn);
if (!fn.empty()) {
saveStatePreview_->SetVisibility(UI::V_VISIBLE);
saveStatePreviewShownTime_ = time_now_d();
saveStatePreviewShownTime_ = now;
} else {
saveStatePreview_->SetVisibility(UI::V_GONE);
}
@ -1155,10 +1157,10 @@ void EmuScreen::update() {
if (saveStatePreview_->GetVisibility() == UI::V_VISIBLE) {
double endTime = saveStatePreviewShownTime_ + 2.0;
float alpha = clamp_value((endTime - time_now_d()) * 4.0, 0.0, 1.0);
float alpha = clamp_value((endTime - now) * 4.0, 0.0, 1.0);
saveStatePreview_->SetColor(colorAlpha(0x00FFFFFF, alpha));
if (time_now_d() - saveStatePreviewShownTime_ > 2) {
if (now - saveStatePreviewShownTime_ > 2) {
saveStatePreview_->SetVisibility(UI::V_GONE);
}
}