MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / BackwardSelection

Method BackwardSelection

pcsx2-qt/Debugger/Memory/MemoryView.cpp:484–536  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

482}
483
484void MemoryViewTable::BackwardSelection()
485{
486 const s32 displayTypeWidth = MemoryViewTypeWidth[static_cast<s32>(displayType)];
487 const s32 displayTypeVisualWidth = MemoryViewTypeVisualWidth[static_cast<s32>(displayType)];
488
489 if (displayType == MemoryViewType::FLOAT)
490 {
491 if (!littleEndian)
492 {
493 // Bump to previous address if selection is at beginning of current float segment
494 if (selectedIndex <= 0)
495 {
496 UpdateSelectedAddress(selectedAddress - 4);
497 selectedIndex = displayTypeVisualWidth - 1;
498 }
499 else
500 {
501 selectedIndex--;
502 }
503 }
504 else
505 {
506 if (selectedIndex >= displayTypeVisualWidth - 1)
507 {
508 UpdateSelectedAddress(selectedAddress - 4);
509 selectedIndex = 0;
510 }
511 else
512 {
513 selectedIndex++;
514 }
515 }
516 }
517 else
518 {
519 if (!littleEndian)
520 {
521 if (!(selectedNibbleHI = !selectedNibbleHI))
522 UpdateSelectedAddress(selectedAddress - 1);
523 }
524 else
525 {
526 if (!(selectedNibbleHI = !selectedNibbleHI))
527 {
528 // It works
529 if ((selectedAddress & (static_cast<u32>(displayTypeWidth) - 1)) == (static_cast<u32>(displayTypeWidth) - 1))
530 UpdateSelectedAddress(selectedAddress - (displayTypeVisualWidth - 1));
531 else
532 UpdateSelectedAddress(selectedAddress + 1);
533 }
534 }
535 }
536}
537
538
539// We need both key and keychar because `key` is easy to use, but is case insensitive

Callers 1

KeyPressMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected