Commit Graph
35 Commits
Author SHA1 Message Date
Pokechu22 78bfd25964 Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
Pokechu22 59a1a603ff FifoDataFile: Improve error handling when reading 2021-08-06 15:55:50 -07:00
Pierre Bourdon e149ad4f0a treewide: convert GPLv2+ license info to SPDX tags
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
Shawn Hoffman 84128d9532 rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
Lioncash a0f9b041a0 Core: Convert logging over to fmt pt.2
Continues the core migration of logs up to the EXI handling code.
2020-11-20 10:05:44 -05:00
JosJuice b7db7ebbc7 Don't assume fixed width for "Emulated memory size mismatch!" message
Panic alerts don't use fixed width fonts, and translators are
unlikely to preserve the exact spacing unless they are given
specific instructions to do so and are willing to fight against
the Transifex interface a bit.
2020-05-01 13:40:34 +02:00
Minty-Meeo cc858c63b8 Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini
Changed several enums from Memmap.h to be static vars and implemented Get functions to query them. This seems to have boosted speed a bit in some titles? The new variables and some previously statically initialized items are now initialized via Memory::Init() and the new AddressSpace::Init(). s_ram_size_real and the new s_exram_size_real in particular are initialized from new OnionConfig values "MAIN_MEM1_SIZE" and "MAIN_MEM2_SIZE", only if "MAIN_RAM_OVERRIDE_ENABLE" is true.

GUI features have been added to Config > Advanced to adjust the new OnionConfig values.

A check has been added to State::doState to ensure savestates with memory configurations different from the current settings aren't loaded. The STATE_VERSION is now 115.

FIFO Files have been updated from version 4 to version 5, now including the MEM1 and MEM2 sizes from the time of DFF creation. FIFO Logs not using the new features (OnionConfig MAIN_RAM_OVERRIDE_ENABLE is false) are still backwards compatible. FIFO Logs that do use the new features have a MIN_LOADER_VERSION of 5. Thanks to the order of function calls, FIFO logs are able to automatically configure the new OnionConfig settings to match what is needed. This is a bit hacky, though, so I also threw in a failsafe for if the conditions that allow this to work ever go away.

I took the liberty of adding a log message to explain why the core fails to initialize if the MIN_LOADER_VERSION is too great.

Some IOS code has had the function "RAMOverrideForIOSMemoryValues" appended to it to recalculate IOS Memory Values from retail IOSes/apploaders to fit the extended memory sizes. Worry not, if MAIN_RAM_OVERRIDE_ENABLE is false, this function does absolutely nothing.

A hotfix in DolphinQt/MenuBar.cpp has been implemented for RAM Override.
2020-04-28 12:10:50 -05:00
iwubcode 5a372020ea FifoPlayer: Generate fake VideoInterface updates 2017-11-17 22:11:29 -06:00
Lioncash dd4203bec8 Core: Remove unnecessary includes
Also moves a cpp file's related header file to the top of the inclusions if it isn't already there.
2017-06-15 18:52:22 -04:00
JosJuice f09ceaa735 Move IOFile to a separate file
Reduces the number of files that need to be recompiled
when making changes to FileUtil.h.
2017-06-15 21:33:50 +02:00
Lioncash b676edd80c Core: include what you use
Eliminates a swath of indirectly included standard headers
2017-06-07 01:20:48 -04:00
Michael Maltese 82d0f6edb2 FifoDataFile: static_assert that structs are right size 2017-04-25 17:43:37 -07:00
Michael Maltese 6a6bfa0dbb FifoPlayer: subsume FifoFileStruct.h into FifoDataFile.cpp
There's no reason for it to be in its own file, and it's confusing.
2017-04-25 17:36:36 -07:00
Lioncash 780dffcb13 FifoDataFile: In-class initialize member variables where applicable 2017-03-21 15:41:05 -04:00
Florent Castelli a7bf9271b5 Fix missing includes 2017-01-24 03:31:51 +01:00
Stenzek 438989668e FifoDataFile: Add support for storing texture memory state
This bumps the file version to 4.
2017-01-03 21:16:04 +10:00
Lioncash 396ae89e5c FifoDataFile: Convert FifoFrameInfo's fifoData member into a vector 2016-06-29 02:54:49 -04:00
Lioncash 437b1294bb FifoDataFile: Convert MemoryUpdate data member to std::vector 2016-06-29 02:29:34 -04:00
Lioncash 8943d23a4c FifoDataFile: Make Load return a unique_ptr 2016-06-28 21:23:55 -04:00
Pierre Bourdon 3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Scott Mansell e6274284b0 Fifoplayer: Load the Correct version number. 2015-11-08 01:24:08 +13:00
Scott Mansell 008386fc7f Just a minor cleanup. Totally not the cause of random FifoCi failures.
This 'absolutely not' a read of uninitialized memory is '100% not'
the cause of our non-deterministic behavior on the Intel NUC.

If there was a such an error, it would show up on all FifoCi
backends equally. This is 'probably' unrelated to the fact that
the Intel NUC is the only fifoci runner not running under virtualization.
2015-11-04 23:23:35 +13:00
Pierre Bourdon a2b3cdc393 FifoDataFile: Revert PadFile changes from 4.0-1127.
Fixes #9006.
2015-10-04 13:53:01 +02:00
Scott Mansell aa1fec6fc3 FifoPlayer: Fixup style of types. 2015-09-23 00:03:43 +12:00
Scott Mansell a355d9868e FifoRecorder: Use Video Common to record efb2ram correctly.
Texture updates have been moved into TextureCache, while
TMEM updates where moved into bpmem. Code for handling
efb2ram updates was added to TextureCache.

There was a bug for preloaded RGBA8 textures, it only copied
half the texture. The TODO was wrong too.
2015-09-22 23:59:16 +12:00
Tillmann Karras 30ebb2459e Set copyright year to when a file was created 2015-05-25 13:22:31 +02:00
Tillmann Karras cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
Shawn Hoffman 043ea31f14 msvc: resolve all warnings in Core.
Note: vs14 will support empty macro parameter as used by MMIO.
2014-08-19 22:33:46 -07:00
Lioncash 4759510f70 Get rid of instances of "using namespace std;" in the project 2014-08-17 02:05:33 -04:00
Lioncash 73a3a6726d Add the algorithm header to a few FifoPlayer cpp files.
Both of them use std::min and std::max, but this header wasn't included.
2014-03-29 10:42:28 -04:00
Lioncash a82675b7d5 Kill off some usages of c_str.
Also changes some function params, but this is ok.
Some simplifications were also able to be made (ie. killing off strcmps with ==, etc).
2014-03-14 13:51:23 -04:00
Tillmann Karras d802d39281 clang-modernize -use-nullptr
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09 21:14:26 +01:00
Tillmann Karras c89f04a7c5 clang-modernize -loop-convert
and some manual adjustments
2014-03-09 21:11:59 +01:00
Lioncash 2afe215271 Convert all includes to relative paths. 2014-02-18 02:19:10 -05:00
Jasper St. Pierre 34692ab826 Remove unnecessary Src/ folders 2013-12-31 14:03:19 -05:00