parent
aa5cb35c86
commit
9de7ef6d8d
|
@ -424,7 +424,7 @@ void DolphinAnalytics::MakePerGameBuilder()
|
||||||
// Controller information
|
// Controller information
|
||||||
// We grab enough to tell what percentage of our users are playing with keyboard/mouse, some kind
|
// We grab enough to tell what percentage of our users are playing with keyboard/mouse, some kind
|
||||||
// of gamepad
|
// of gamepad
|
||||||
// or the official gamecube adapter.
|
// or the official GameCube adapter.
|
||||||
builder.AddData("gcadapter-detected", GCAdapter::IsDetected(nullptr));
|
builder.AddData("gcadapter-detected", GCAdapter::IsDetected(nullptr));
|
||||||
builder.AddData("has-controller", Pad::GetConfig()->IsControllerControlledByGamepadDevice(0) ||
|
builder.AddData("has-controller", Pad::GetConfig()->IsControllerControlledByGamepadDevice(0) ||
|
||||||
GCAdapter::IsDetected(nullptr));
|
GCAdapter::IsDetected(nullptr));
|
||||||
|
|
|
@ -147,7 +147,7 @@ void CEXIETHERNET::XLinkNetworkInterface::ReadThreadHandler(
|
||||||
if (!self->IsActivated())
|
if (!self->IsActivated())
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// XLink supports jumboframes but Gamecube BBA does not. We need to support jumbo frames
|
// XLink supports jumboframes but GameCube BBA does not. We need to support jumbo frames
|
||||||
// *here* because XLink *could* send one
|
// *here* because XLink *could* send one
|
||||||
std::size_t bytes_read = 0;
|
std::size_t bytes_read = 0;
|
||||||
if (self->m_sf_socket.receive(self->m_in_frame, std::size(self->m_in_frame), bytes_read, sender,
|
if (self->m_sf_socket.receive(self->m_in_frame, std::size(self->m_in_frame), bytes_read, sender,
|
||||||
|
|
|
@ -24,7 +24,7 @@ constexpr u32 GCS_DENTRY_OFFSET = 0x110;
|
||||||
|
|
||||||
bool HasSameIdentity(const DEntry& lhs, const DEntry& rhs)
|
bool HasSameIdentity(const DEntry& lhs, const DEntry& rhs)
|
||||||
{
|
{
|
||||||
// The Gamecube BIOS identifies two files as being 'the same' (that is, disallows copying from one
|
// The GameCube BIOS identifies two files as being 'the same' (that is, disallows copying from one
|
||||||
// card to another when both contain a file like it) when the full array of all of m_gamecode,
|
// card to another when both contain a file like it) when the full array of all of m_gamecode,
|
||||||
// m_makercode, and m_filename match between them.
|
// m_makercode, and m_filename match between them.
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,8 @@ enum class ReadSavefileErrorCode
|
||||||
DataCorrupted,
|
DataCorrupted,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Reads a Gamecube memory card savefile from a file.
|
// Reads a GameCube memory card savefile from a file.
|
||||||
// Supported formats are GCI, GCS (Gameshark), and SAV (MaxDrive).
|
// Supported formats are GCI, GCS (GameShark), and SAV (MaxDrive).
|
||||||
std::variant<ReadSavefileErrorCode, Savefile> ReadSavefile(const std::string& filename);
|
std::variant<ReadSavefileErrorCode, Savefile> ReadSavefile(const std::string& filename);
|
||||||
|
|
||||||
enum class SavefileFormat
|
enum class SavefileFormat
|
||||||
|
@ -33,7 +33,7 @@ enum class SavefileFormat
|
||||||
SAV,
|
SAV,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Writes a Gamecube memory card savefile to a file.
|
// Writes a GameCube memory card savefile to a file.
|
||||||
bool WriteSavefile(const std::string& filename, const Savefile& savefile, SavefileFormat format);
|
bool WriteSavefile(const std::string& filename, const Savefile& savefile, SavefileFormat format);
|
||||||
|
|
||||||
// Generates a filename (without extension) for the given directory entry.
|
// Generates a filename (without extension) for the given directory entry.
|
||||||
|
|
|
@ -184,7 +184,7 @@ struct LogicalMemoryView
|
||||||
};
|
};
|
||||||
|
|
||||||
// Dolphin allocates memory to represent four regions:
|
// Dolphin allocates memory to represent four regions:
|
||||||
// - 32MB RAM (actually 24MB on hardware), available on Gamecube and Wii
|
// - 32MB RAM (actually 24MB on hardware), available on GameCube and Wii
|
||||||
// - 64MB "EXRAM", RAM only available on Wii
|
// - 64MB "EXRAM", RAM only available on Wii
|
||||||
// - 32MB FakeVMem, allocated in GameCube mode when MMU support is turned off.
|
// - 32MB FakeVMem, allocated in GameCube mode when MMU support is turned off.
|
||||||
// This is used to approximate the behavior of a common library which pages
|
// This is used to approximate the behavior of a common library which pages
|
||||||
|
|
|
@ -79,7 +79,7 @@ bool CSIDevice_GCSteeringWheel::GetData(u32& hi, u32& low)
|
||||||
|
|
||||||
// We must double these values because we are mapping half of a stick range to a 0..255 value.
|
// We must double these values because we are mapping half of a stick range to a 0..255 value.
|
||||||
// We're only getting half the precison we could potentially have,
|
// We're only getting half the precison we could potentially have,
|
||||||
// but we'll have to redesign our gamecube controller input to fix that.
|
// but we'll have to redesign our GameCube controller input to fix that.
|
||||||
|
|
||||||
// All 8 bits (Accelerate)
|
// All 8 bits (Accelerate)
|
||||||
low |= u32(std::clamp(accel_value * 2, 0, 0xff)) << 24;
|
low |= u32(std::clamp(accel_value * 2, 0, 0xff)) << 24;
|
||||||
|
|
|
@ -560,7 +560,7 @@ bool BeginRecordingInput(const ControllerTypeArray& controllers,
|
||||||
// Wiimotes cause desync issues if they're not reset before launching the game
|
// Wiimotes cause desync issues if they're not reset before launching the game
|
||||||
if (!Core::IsRunningAndStarted())
|
if (!Core::IsRunningAndStarted())
|
||||||
{
|
{
|
||||||
// This will also reset the wiimotes for gamecube games, but that shouldn't do anything
|
// This will also reset the Wiimotes for GameCube games, but that shouldn't do anything
|
||||||
Wiimote::ResetAllWiimotes();
|
Wiimote::ResetAllWiimotes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ TEST(IsMMIOAddress, SpecialAddresses)
|
||||||
EXPECT_FALSE(MMIO::IsMMIOAddress(0xCC0000E0));
|
EXPECT_FALSE(MMIO::IsMMIOAddress(0xCC0000E0));
|
||||||
|
|
||||||
// And lets check some valid addresses too
|
// And lets check some valid addresses too
|
||||||
EXPECT_TRUE(MMIO::IsMMIOAddress(0x0C0000E0)); // Gamecube MMIOs
|
EXPECT_TRUE(MMIO::IsMMIOAddress(0x0C0000E0)); // GameCube MMIOs
|
||||||
EXPECT_TRUE(MMIO::IsMMIOAddress(0x0D00008C)); // Wii MMIOs
|
EXPECT_TRUE(MMIO::IsMMIOAddress(0x0D00008C)); // Wii MMIOs
|
||||||
EXPECT_TRUE(MMIO::IsMMIOAddress(0x0D800F10)); // Mirror of Wii MMIOs
|
EXPECT_TRUE(MMIO::IsMMIOAddress(0x0D800F10)); // Mirror of Wii MMIOs
|
||||||
|
|
||||||
|
|
|
@ -1109,7 +1109,7 @@ static std::vector<uint8_t> fnt_to_bmp(const std::vector<uint8_t>& input)
|
||||||
return bitmap;
|
return bitmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generates a gamecube font file
|
// Generates a GameCube font file
|
||||||
static std::vector<uint8_t> generate_fnt(
|
static std::vector<uint8_t> generate_fnt(
|
||||||
font_type type,
|
font_type type,
|
||||||
const std::vector<uint8_t>& widths,
|
const std::vector<uint8_t>& widths,
|
||||||
|
@ -1230,7 +1230,7 @@ static void freetype_to_fnt_data(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Converts a freetype font to a gamecube compressed font
|
// Converts a freetype font to a GameCube compressed font
|
||||||
static std::vector<uint8_t> freetype_to_fnt(const std::vector<uint8_t>& font_buf, font_type type, bool dither)
|
static std::vector<uint8_t> freetype_to_fnt(const std::vector<uint8_t>& font_buf, font_type type, bool dither)
|
||||||
{
|
{
|
||||||
// Get font table from font type
|
// Get font table from font type
|
||||||
|
|
Loading…
Reference in New Issue