Admiral H. Curtiss
41767daabc
GCMemcard: Remove obsolete commented out code, this is handled via InitActiveDirBat() and related.
2019-01-06 14:12:59 +01:00
Admiral H. Curtiss
111f0b38e0
GCMemcard: Update panic alerts and comments to refer to 1st/2nd dir/BAT blocks.
2019-01-06 14:12:59 +01:00
Admiral H. Curtiss
fa6782f841
GCMemcard: Required declaration before C++17.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
36d84c6959
GCMemcard: Slightly nicer definition of UNINITIALIZED_GAMECODE.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
ca2c7679df
GCMemcard: Rewrite DEntry_IconFmt() and DEntry_AnimSpeed() to make more sense.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
2351a60567
GCMemcard: Let GetDEntry() return std::optional<DEntry>.
2018-12-10 20:24:20 +01:00
Admiral H. Curtiss
860e003b0c
GCMemcard: Remove needless second definition of DENTRY_SIZE.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
3d77a43e67
GCMemcard: Use std::array for GCMBlock.m_block.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
ceb9cb53c6
GCMemcard: Rename GCMBlock.block to m_block to match naming conventions.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
fc70b60d8b
GCMemcard: Access active directory/BAT via methods instead of pointers.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
7ff65db3b2
GCMemcard: As far as I can tell, the directory and BAT blocks aren't really main and backup, but just two blocks that store data are written to alternately. So store them as an std::array of 2 blocks instead of an explicit 'backup' block.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
0aaf24b9cc
GCMemcard: Rename GCMemcard variables to match our naming conventions.
2018-12-09 22:28:58 +01:00
Admiral H. Curtiss
4d4b5442bd
GCMemcard: Use std::array and BigEndianValue for BlockAlloc.m_map.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
eb6cc3dbab
GCMemcard: Use BigEndianValue for BlockAlloc.m_last_allocated_block.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
d3b61c3ff0
GCMemcard: Use BigEndianValue for BlockAlloc.m_free_blocks.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
88bdab6fe6
GCMemcard: Use BigEndianValue for BlockAlloc.m_update_counter.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
0f776fb091
GCMemcard: Use BigEndianValue for Directory.m_update_counter.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
2d77096d63
GCMemcard: Use std::array for Directory's members.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
f8488f4561
GCMemcard: Use std::array for DEntry.m_unused_2.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
4175fdf28d
GCMemcard: Use std::array for DEntry.m_makercode.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
deadec608e
GCMemcard: Use std::array for DEntry.m_gamecode.
2018-12-09 22:28:57 +01:00
Admiral H. Curtiss
0c638ad858
GCMemcard: Use std::array for DEntry.m_filename.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
443729d2c3
GCMemcard: Use BigEndianValue for DEntry.m_comments_address.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
8a920dac93
GCMemcard: Use BigEndianValue for DEntry.m_block_count.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
675a549628
GCMemcard: Use BigEndianValue for DEntry.m_first_block.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
929fd2b41d
GCMemcard: Use BigEndianValue for DEntry.m_animation_speed.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
c3e9f53480
GCMemcard: Use BigEndianValue for DEntry.m_icon_format.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
65f6250faa
GCMemcard: Use BigEndianValue for DEntry.m_image_offset.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
1d25e249e8
GCMemcard: Use BigEndianValue for DEntry.m_modification_time.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
2f1ff80dd6
GCMemcard: Use std::array for Header members instead of raw C arrays.
2018-12-09 22:28:56 +01:00
Admiral H. Curtiss
256d336219
GCMemcard: Use BigEndianValue for Header.m_encoding.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
8eabcbf294
GCMemcard: Use BigEndianValue for Header.m_size_mb.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
bfbfcc72a2
GCMemcard: Use BigEndianValue for Header.m_device_id.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
b3ce882109
GCMemcard: Use BigEndianValue for Header.m_sram_language.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
905a16e7e7
GCMemcard: Use BigEndianValue for Header.m_format_time.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
9f03c2f358
GCMemcard: Rename BlockAlloc variables to match our naming conventions.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
17208f4c89
GCMemcard: Rename Directory variables to match our naming conventions.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
15f89d3e6f
GCMemcard: Rename DEntry variables to match our naming conventions.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
c419dac1d8
GCMemcard: Rename Header variables to match our naming conventions.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
4b1d891378
GCMemcard: Add a few static asserts for sizes of memory card structures.
2018-12-09 22:28:55 +01:00
Admiral H. Curtiss
431e6c42e1
GCMemcard: Fix incorrect directory block being accessed in RemoveFile().
...
When deleting files, block index data was always fetched from the first copy of the directory listing rather than the currently active one.
2018-11-21 00:15:58 +01:00
Admiral H. Curtiss
353e289fbf
GCMemcard: Fix mixed memcard-based and bat-based indices in definition and usage of NextFreeBlock().
2018-11-19 20:40:18 +01:00
Admiral H. Curtiss
f2fa63783b
Do not consider XFB copies for invalidating textures when loading a new texture.
...
This fixes severe image flickering in some cutscenes of Twin Snakes. The game appears to sometimes load a previously made XFB copy as a texture before it is actually rendered to the screen, which we took as an invitation to invalidate the XFB copy.
2018-09-15 13:56:45 +02:00
Admiral H. Curtiss
3e95d3c477
Stitch together overlapping XFB regions in order of XFB copy creation.
2018-09-14 19:41:27 +02:00
Admiral H. Curtiss
d97bc0d359
Correctly adjust the rendered XFB region at non-native internal resolutions when XFB was loaded from console RAM.
...
If, for whatever reason, the XFB has to be loaded from console memory, it's possible that the texture is returned at native resolution instead of EFB-scaled resolution. In this case, our xfb_rect.right adjustment must also happen at native resolution instead of scaled resolution.
2018-09-13 19:39:49 +02:00
Admiral H. Curtiss
5df424a1ec
Use simplified libpng PNG reading API to avoid PNG reading bugs.
2018-08-19 13:14:11 +02:00
Admiral H. Curtiss
2b1bfc886a
Update GameINI settings for the Japanese Pokémon Colosseum Bonus Discs.
...
These discs use the Pokémon Colosseum engine and thus need Safe Texture Cache for scrolling text to display correctly.
2018-06-03 01:50:29 +02:00
Admiral H. Curtiss
b2c40bf4c4
RenderBase: Let the Auto Adjust Window Size option request the final image size rather than the raw framebuffer size.
2017-01-28 11:40:53 +01:00
Admiral H. Curtiss
e1fa6c374f
RenderBase: Extract the framebuffer size to display size code into function.
2017-01-28 11:40:53 +01:00
Admiral H. Curtiss
4d2e9abba7
BootManager: Slightly clean up the config_cache stuff by pulling the save and restore into their own methods.
2015-12-22 00:30:25 +01:00
Admiral H. Curtiss
3149140052
Config: Hotfix to prevent per-game settings from ie. GameINIs being stored to the global user configuration.
2015-12-22 00:16:29 +01:00
Admiral H. Curtiss
1772eeb32f
State.cpp: Extract the savestate version logic into its own function for clarity.
2015-10-11 03:21:44 +02:00
Admiral H. Curtiss
429f4ea158
SaveState/DolphinWX: Display time and date of savestate next to the load/save/select slot menu options.
2015-10-10 22:20:05 +02:00
Admiral H. Curtiss
16272f4975
SaveState/DolphinWX: Display time and date of savestate when a slot is selected, or Empty if no savestate exists in the slot.
2015-10-10 22:14:22 +02:00
Admiral H. Curtiss
244e5224a7
Wiimote: Extend emulated Wiimote reconnect-on-button-press to attachments.
2015-07-30 20:06:27 +02:00
Admiral H. Curtiss
e473ebc2e3
Display a message on screen when the emulated software disconnects a Wiimote.
2015-07-16 19:08:25 +02:00
Admiral H. Curtiss
935292c6fc
DolphinWX: In Host_ConnectWiimote(), instead of calling CFrame::ConnectWiimote() directly, dispatch an event that will call it for us in the GUI thread.
...
This eliminates a possible stutter/short freeze that can happen during PowerPC::Pause().
2015-07-16 02:35:57 +02:00
Admiral H. Curtiss
5594b107eb
Wiimote: (Re-)Connect a disconnected real Wiimote when a button is pressed.
...
Where disconnected is defined as: The real physical device is still connected to the PC, but the emulated Wii sees the Wiimote as disconnected.
2015-07-16 02:35:55 +02:00
Admiral H. Curtiss
5c0033e6d9
DolphinWX: ParseHotkeys() should use the State::NUM_STATES constant instead of a hardcoded 10.
2015-07-12 05:18:54 +02:00
Admiral H. Curtiss
878629a2bf
DolphinWX: GetCmdForHotkey() should have Load Last Slot 9/10 as well.
2015-07-12 05:16:42 +02:00
Admiral H. Curtiss
b3471e0abc
DolphinWX: Add options to Load Last Slot 9/10 to menu.
2015-07-12 04:14:22 +02:00
Admiral H. Curtiss
e9b3f1154d
IniFile: Use a formatting for floats that makes them survive round-trips to a decimal string and back in all cases.
...
See https://randomascii.wordpress.com/2012/03/08/float-precisionfrom-zero-to-100-digits-2/
2015-07-11 21:12:06 +02:00
Admiral H. Curtiss
a48f2add68
StringUtil: Always use the default C locale for StringFromFormat() instead of a system-specific one.
2015-07-11 16:30:32 +02:00
Admiral H. Curtiss
e462422ef7
Wiimote: (Re-)Connect a disconnected emulated Wiimote when a mapped button is pressed.
2015-07-10 04:29:56 +02:00
Admiral H. Curtiss
6a33f174de
GC Adapter: Do not attempt to claim_interface when libusb_open() returns an error.
...
Fixes a crash / nullptr dereference when the adapter is plugged in but
no drivers are installed for it, on Windows.
2015-07-01 23:49:39 +02:00
Admiral H. Curtiss
08b952ef31
GC Adapter: Do not attempt to claim_interface when libusb_open() returns an error.
...
Fixes a crash / nullptr dereference when the adapter is plugged in but
no drivers are installed for it, on Windows.
2015-07-01 01:29:04 +02:00
Admiral H. Curtiss
c5b81b1aff
GameCubeConfig: Case insensitive compare & absolute path compare for the part-of-exe-dir check.
2015-06-27 18:34:54 +02:00
Admiral H. Curtiss
583e3fd9e0
GameCubeConfig: If the user selects a memcard file path within Dolphin's directory, store the path relative to it.
...
This makes Dolphin more portable in portable mode, since the memory card file is still found if the directory is moved somewhere else.
This also means that we have to explicitly compare absolute paths if we want to check for both slots containing the same file.
2015-06-27 01:11:44 +02:00
Admiral H. Curtiss
df70f50fdf
GetExeDirectory() shouldn't return paths with /../ in the middle.
2015-06-26 23:51:40 +02:00
Admiral H. Curtiss
69b7296fc2
WiimoteReal: Make sure that Wiimote thread isn't already running before starting it.
...
This fixes a crash when switching a Wiimote's internal slot or type in the Dolphin config.
2015-06-26 20:48:45 +02:00
Admiral H. Curtiss
716c54217a
WiimoteReal: Make sure that Wiimote thread isn't already running before starting it.
...
This fixes a crash when switching a Wiimote's internal slot or type in the Dolphin config.
2015-06-26 17:12:18 +02:00
Admiral H. Curtiss
84e42904a2
Netplay: Sync Video Mode settings. (Progressive Scan and PAL60)
...
Must match so that Wii games don't desync, especially PAL games.
2015-06-24 12:41:10 +02:00
Admiral H. Curtiss
7276d80adc
Boot: Decide setting.txt's country settings based on the game's video mode when no valid country code is found rather than defaulting to Europe.
2015-06-19 15:09:21 +02:00
Admiral H. Curtiss
1b8b99e9f1
ConfigManager: Set homebrew video mode based on Dolphin's PAL60 config instead of always using 50Hz.
...
This is a bit indirect, but since homebrew always boots in a European environment the framerate depends on the bPAL60 flag, which is always auto turned off if bNTSC is set to true as of 2e5e724f94 . By actually indicating that we're PAL on homebrew boot, the rest just falls into place.
2015-06-19 15:07:19 +02:00
Admiral H. Curtiss
277348cd75
Movie: Add the PAL60 setting to Movie files.
2015-06-14 17:10:34 +02:00
Admiral H. Curtiss
2e5e724f94
Boot: Automatically temporarily disable PAL60 for NTSC Wii games.
...
Fixes issues like https://code.google.com/p/dolphin-emu/issues/detail?id=7714 and https://code.google.com/p/dolphin-emu/issues/detail?id=8036 .
2015-06-14 17:10:12 +02:00
Admiral H. Curtiss
f9067cbf38
Boot: Setting overrides should be applied after all settings from ini/movie/netplay/... are read.
2015-06-14 17:03:45 +02:00
Admiral H. Curtiss
abb65515b9
Netplay: Sync GameCube SRAM.
2015-06-14 16:52:08 +02:00
Admiral H. Curtiss
8ffe745c09
Config: Allow PAL60 to be set by ini files.
...
Fixes issue https://code.google.com/p/dolphin-emu/issues/detail?id=7847 .
2015-06-13 02:10:44 +02:00
Admiral H. Curtiss
92447fb052
Config: Add a boolean for PAL60, like the Progressive Scan one.
...
This decouples the Dolphin PAL60 option from the currently set value in the Wii SYSCONF file.
2015-06-13 02:09:19 +02:00
Admiral H. Curtiss
33f5aaf956
GameCube Config: Add option to override the NTSC auto language change.
...
Some NTSC games have translations on the game disc that can be accessed via the system language byte.
2015-06-11 18:40:41 +02:00
Admiral H. Curtiss
ffe25da78a
Boot: Automatically temporarily set GameCube language to 0 when booting NTSC games.
...
NTSC GameCubes have no Language setting, so the language byte in SRAM is always 0. Some NTSC games do react oddly and display unfinished translations and similar when the byte is set to a nonzero value that corresponds to a non-English language on a PAL GameCube. See issue 7731: https://code.google.com/p/dolphin-emu/issues/detail?id=7731 .
2015-06-11 18:39:44 +02:00
Admiral H. Curtiss
63064aeaaa
GameCube SRAM: Add a struct for the "flags" parameter.
2015-06-08 02:40:02 +02:00
Admiral H. Curtiss
78903884e5
GameCube SRAM: Recalculate checksums after setting language.
...
This fixes a minor bug where the IPL thinks the SRAM has been corrupted and forces you to re-set date/time and settings when you change language in Config -> GameCube while not skipping the IPL on boot.
2015-06-08 02:40:02 +02:00
Admiral H. Curtiss
350f2fb40e
Fixes issue with PAL Wind Waker not displaying PAL60 option.
2015-06-08 02:29:35 +02:00
Admiral H. Curtiss
3520a1d123
Config: Fix incorrect array length detection for CPU Emulation Engine options.
2015-06-07 19:39:54 +02:00
Admiral H. Curtiss
a2ca4841e9
Properly set default video mode for PAL Wii games.
...
See https://github.com/dolphin-emu/dolphin/pull/2520 for a more detailed explanation.
2015-06-05 14:35:48 +02:00