Commit Graph

27310 Commits

Author SHA1 Message Date
0e8aa213a3 Qt/MappingButton: Enforce more consistent size 2018-05-20 21:20:45 +02:00
b4f1c489a3 Qt/MappingIndicator: Center trigger labels 2018-05-20 21:16:14 +02:00
4284952538 Merge pull request #6919 from lioncash/nop
Interpreter_LoadStore: No-op dcbt and dcbtst if HID0.NOOPTI is set
2018-05-20 20:33:38 +02:00
d05c1b257c Interpreter_LoadStore: No-op dcbt and dcbtst if HID0.NOOPTI is set
If HID0.NOOPTI is set, then dcbt and dcbtst are no-oped globally. We
currently don't perform data cache emulation, but we put this in anyway
so this detail isn't forgotten about if data cache emulation is
introduced at some point in the future.
2018-05-20 14:23:51 -04:00
5ce1b83d97 Merge pull request #6918 from lioncash/cast
Interpreter_LoadStore: Remove unnecessary cast in lhzx()
2018-05-20 20:21:16 +02:00
940f41f593 Interpreter_LoadStore: Remove unnecessary cast in lhzx()
This is only moving a smaller unsigned integral type into a larger
unsigned integral type, so there's no loss of information that could
occur.
2018-05-20 14:06:59 -04:00
4b0f8d9f85 ES: Implement VerifySign
This implements ES_VerifySign which is notably used by the system menu
when importing saves.

Now *all* ES commands that are actually used by titles are implemented.
2018-05-20 20:04:53 +02:00
cec7fded60 IOSC: Implement VerifyPublicKeySign for ECC 2018-05-20 20:04:53 +02:00
b86f1ea7b3 ES / IOSC: Add support for ECC certificates 2018-05-20 20:04:53 +02:00
67ce7e34e9 UnitTests: Add basic tests for ec crypto code
Verifies that PrivToPub and ComputeSharedSecret give expected results.
2018-05-20 19:59:26 +02:00
355b1b5d5b ec: Improve readability and clarity
- Move all of the ec functions into the Common::ec namespace.

- Give the public functions better names and some usage information.

- Move all of the "elt" related functions into an "elt" class including
  all of the arithmetic operations, so that the logic becomes clearer
  and feels less like assembly.

  This also makes it much more obvious what the parameters are, instead
  of only using unsigned char* (which doesn't tell anything about what
  the pointer is used for or the size).

- Similarly, add a new "Point" class and move point functions there.
  Overload the arithmetic operators to make calculations easier to read
2018-05-20 19:59:26 +02:00
e83591f188 ec: Avoid exposing internal function 2018-05-20 19:59:26 +02:00
b9dd94b9b2 bn: Use int instead of u32 for sizes
The loops relied on unsigned integer overflow, which is not immediately
obvious. Replace them with less clever variants that are clearer.

Also implement bn_compare using std::memcmp.
2018-05-20 19:59:26 +02:00
b0b14853c4 Qt/MappingIndicator: Improve render quality 2018-05-20 17:50:26 +02:00
cc42b4354d Reimplement custom PNG banners in game list
Fixes https://bugs.dolphin-emu.org/issues/10938
and makes PNG banners available in DolphinQt2 for the first time.
2018-05-20 15:34:03 +02:00
10ff6d73c2 Fix compatibility with versions of libpng older than 1.5 2018-05-20 13:44:42 +02:00
c51ae9c62a Remove SOIL altogether from the project. 2018-05-20 13:44:42 +02:00
6d0143647e VideoCommon: Remove a workaround mutex used for SOIL 2018-05-20 13:44:41 +02:00
17e65a7167 VideoCommon: Replace SOIL with libpng for hires textures 2018-05-20 13:44:38 +02:00
0706add584 Merge pull request #6699 from 404-Name-Not-Found/alphabetize-gecko-qt
Adds a toggleable function for sorting the gecko codes alphabetically to the gecko code menu
2018-05-20 11:13:38 +02:00
c7f0c7484d GeckoCodeWidget: Add a Sort button 2018-05-20 11:05:11 +02:00
eae45e0e2c Merge pull request #6911 from lioncash/analyst
PPCAnalyst: Replace memset usages with list initialization
2018-05-20 10:45:44 +02:00
464bfb073e Merge pull request #6912 from spycrab/qt_jit_widget
Qt/JITWidget: Add object name
2018-05-20 10:44:21 +02:00
f7b188c7b4 Qt/JITWidget: Add object name 2018-05-20 03:58:54 +02:00
ced806a00a PPCAnalyst: Replace memset usages with list initialization
Allows the use of non-trivially-copyable objects within the relevant
structs should it ever be needed.
2018-05-19 18:37:54 -04:00
07e0b9c0d2 Merge pull request #6907 from spycrab/qt_gfx_sr_backend
Qt/SoftwareRendererWidget: Fix backend info not getting updated properly
2018-05-19 23:33:24 +02:00
ef803613d0 Qt/SoftwareRendererWidget: Fix backend info not getting updated properly 2018-05-19 23:28:23 +02:00
5de99288bf PPCAnalyst: Clean up indexing expressions in Analyze()
Given we just access the same member repeatedly, just use a reference
and avoid repeated unnecessary indexing.
2018-05-19 15:31:38 -04:00
c6bd237534 Merge pull request #6908 from Tilka/warnings
Fix -Wignored-qualifiers warnings
2018-05-19 21:06:29 +02:00
49f8d5aefb Qt/AdvancedWidget: Save progressive scan when toggled 2018-05-19 20:59:30 +02:00
1993eb436c Fix -Wignored-qualifiers warnings 2018-05-19 17:18:45 +01:00
bc504d9f84 Qt/GraphicsWindow: Show display name in title 2018-05-19 17:44:22 +02:00
7a8b2da55e Qt/ToolBar: Fix checkbox not properly reflecting toolbar visibility 2018-05-19 15:50:21 +02:00
fc525bdf8f Merge pull request #6898 from leoetlino/certreader
ES/Formats: Deduplicate signed blob reading code
2018-05-19 12:11:02 +02:00
d399b0f59e Merge pull request #6900 from lioncash/buffer
PPCAnalyst: Make CodeBuffer an alias for std::vector<CodeOp>
2018-05-19 12:10:19 +02:00
bf0fbdbc52 Merge pull request #6893 from spycrab/qt_gc_checkboxes
Qt/GameConfigWidget: Fix checkboxes not being saved properly
2018-05-19 03:34:24 +02:00
adcaf3c581 Merge pull request #6887 from spycrab/qt_slider_accuracy
Qt/HacksWidget: Fix slider not showing overridden settings
2018-05-19 03:00:34 +02:00
9ad7d9ff87 Jit64/JitArm64: Remove unnecessary code buffer parameter for DoJit()
This function in both JITs is only ever called by passing the JIT's code
buffer into it. Given this is already accessible, since the functions
are part of the respective JIT class, we can just remove this parameter.
This also cleans up accesses with the new code buffer, as we don't need
to do janky looking dereference-then-index expressions.
2018-05-18 17:19:49 -04:00
3a8a67025e PPCAnalyst: Make CodeBuffer an alias for std::vector<CodeOp>
This class effectively acted as a "discount vector", that would simply
allocate memory and then delete it in the destructor when it goes out of
scope.

We can just use a std::vector directly to reduce this boilerplate.
2018-05-18 17:19:45 -04:00
33c5fd6f5a IOSC: Verify that RSA signature size is correct 2018-05-18 23:12:07 +02:00
964d00447d IOSC: Reuse CertReader for cert imports 2018-05-18 23:12:07 +02:00
90e86fa9a6 ES/Formats: Move sha1 calculation to SignedBlobReader 2018-05-18 22:40:38 +02:00
fbf79f837f Merge pull request #6896 from leoetlino/title-import
ES: Fix content check in ImportTitleDone
2018-05-18 22:38:55 +02:00
69a6724b34 Merge pull request #6897 from lioncash/sw-efb
EfbInterface: Minor changes
2018-05-18 22:38:00 +02:00
505d45a233 EfbInterface: Move buffer constant from the header to the cpp file
This is only ever used internally, so we can limit its scope to the only
usage point.
2018-05-18 16:23:34 -04:00
5eef8ba984 EfbInterface: Make efb and perf_values std::arrays 2018-05-18 16:23:29 -04:00
dc788042ef MMU: Use Common::BitCast where applicable
Gets rid of more memcpy boilerplate for properly reinterpreting bits.
2018-05-18 16:05:49 -04:00
c58b5e9b9b EfbInterface: Make perf_values internally linked
Instead, expose functions to operate with it. This way we keep the
internal representation concealed.
2018-05-18 15:35:08 -04:00
f3a8874214 EfbInterface: Move efb array into the EfbInterface namespace 2018-05-18 15:09:37 -04:00
f82e2f0b92 ES: Fix content check in ImportTitleDone
ImportTitleDone only checks if all required contents have been imported
for system titles.

This fixes the system menu not being able to recreate title directories
to copy a save back to the NAND by using title import functionality.
2018-05-18 20:59:33 +02:00