27 Commits

Author SHA1 Message Date
Glenn Rice 88156cff05 Link wiiuse statically in linux.
Fixes issue 2562


git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5384 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-18 14:50:21 +00:00
Glenn Rice 1b7065d8b4 Change the textctrl->SetLabel's to textctrl->SetValue's in stable too.
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5369 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-14 23:39:36 +00:00
Glenn Rice 909f36017b Fixed segfault in linux when the control chooser dialog of GCPadNew is closed.
Also disabled some code in the same place that caused the application to hang in linux.  This means that if you select keys from the key list you will have to click Set to make it take effect.  At least until I can figure out how to get that working.


git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5368 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-14 20:29:46 +00:00
Shawn Hoffman 631df2d903 stable: ensure SubWCRev.exe doesn't run...heh
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5350 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-13 00:52:51 +00:00
Glenn Rice 789045e1b2 Make sure Keyboard::Key::GetState returns either 0 or 1 in linux to make sure key presses are registered.
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5325 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-10 22:49:57 +00:00
Glenn Rice 19551fb864 Set GCPadNew as the default in linux. By request of nakeee!
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5324 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-10 22:29:38 +00:00
Glenn Rice 449e28f9a6 Add linux fixes to GCPadNew from trunk.
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5323 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-10 21:56:12 +00:00
Shawn Hoffman 45db281360 stable: nogui buildfix
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5322 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-10 21:36:10 +00:00
Jordan Woyak cb38303531 stable: Applied the same fixes/cleanups to GCPadNew.cpp as the last commit by glennrics.
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5299 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-08 22:47:58 +00:00
nakeee 1310052bd7 Stable: wiimote fix and memarena fix from trunk
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5295 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-08 13:50:20 +00:00
nakeee 9d786b6440 Stable: another small HLE fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5294 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-08 13:41:35 +00:00
nakeee 9734e39530 Stable:
Changed version to 2.0
Backported HLE changed from trunk


git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5293 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-08 13:32:09 +00:00
Jordan Woyak ed4318b949 stable: Added GCPadNew Plugin. Set it to default on windows.
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5291 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-08 05:39:52 +00:00
Shawn Hoffman 21a240547e stable: Don't enable selection of mic device if dolphin is not compiled with portaudio support.
Restrict SI AM Baseboard device to port 1.

git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5279 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-04 19:26:10 +00:00
NeoBrainX cfd83be9a1 stable: Apply JIT/Int fixes from stable.
Fixes shadows in Animal Crossing and Matter Splatter Galaxy in SMG.
(fixes by godisgovernment and possibly others)


git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5276 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-04 18:14:37 +00:00
j4ck.fr0st 620c263582 stable: Fix game-specific dual-core checkbox, include the fix for scons bundle
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5257 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-31 16:41:45 +00:00
Sonicadvance1 559bfa3112 Put my JIT fixes in stable
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5214 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-18 17:58:33 +00:00
Glenn Rice dff7aa5ed6 Same as my last trunk commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5210 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-17 18:59:24 +00:00
Glenn Rice 8d826b4f62 Backport of my recent changes to fullscreen and render to main in linux, and some of my other little bug fixes.
Also backported godisgovernment's removal of wiimote led and speaker status.  I hope this is okay with you.


git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5208 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-17 13:06:10 +00:00
j4ck.fr0st f77140336d reverted the svnrev.h change, removed revision generation from scons (linux and osx should also get RC1 now instead of the revision number)
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5198 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-15 17:53:42 +00:00
Glenn Rice 29cb2ddd87 Add shared library scons options to stable tree.
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5197 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-15 12:23:19 +00:00
skidau 88af328437 Merged r5172 to stable branch.
(Added a null check when stopping the DSPHLE plugin with the DSound back-end.  Fixes the DSPHLE crash on stop.)

git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5173 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-08 08:16:08 +00:00
Shawn Hoffman 318abc4ece stable: remove the svn:ignore on svnrev.h
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5171 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-08 00:22:06 +00:00
Shawn Hoffman d4ba991dd3 should fix wii homebrew (loading) on osx. can't test atm though...
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5169 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-07 19:23:47 +00:00
Shawn Hoffman 9ea17949ef addendum to last commit: need static svnrev.h for stable build
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5168 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-07 19:16:17 +00:00
Shawn Hoffman fc74ce36c6 stable: mark as "2.0 RC1"
git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5167 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-07 19:13:44 +00:00
hrydgard d42a27937d Branch off Stable, since Dolphin is in a pretty good state. This branch will become the official release we'll do shortly.
This opens up the trunk for more experimental coding work again.

Nakee, I appoint you Release Manager :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/branches/stable@5164 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-06 11:33:51 +00:00
4024 changed files with 1163722 additions and 31795 deletions
-31
View File
@@ -1,31 +0,0 @@
# Ignore image thumbnail files created by windows
Thumbs.db
# Ignore Finder view option files created by OS X
.DS_Store
# Ignore autogenerated source files
Source/Core/Common/scmrev.h
# Ignore files output by build
/[Bb]uild*/
/[Bb]inary/
/obj/
# Android cmake builds to here then copies to Source/Android.
/libs/
# Ignore various files created by visual studio/msbuild
*.ipch
*.opensdf
*.sdf
*.suo
*.vcxproj.user
*.obj
*.tlog
# Ignore build info file created by QtCreator
CMakeLists.txt.user
# Ignore files created by posix people
*~
# Ignore transifex configuration directory
.tx
# Ignore kdevelop files/dirs
*.kdev4
# Ignore IDEA/Clion files/dirs
/.idea/
*xcuserdata*
-7
View File
@@ -1,7 +0,0 @@
[submodule "Externals/Qt"]
path = Externals/Qt
url = https://github.com/dolphin-emu/ext-win-qt.git
branch = master
[submodule "dolphin"]
path = dolphin
url = https://github.com/dolphin-emu/dolphin.git
-54
View File
@@ -1,54 +0,0 @@
# This file exists to enable "git shortlog -s" to group by person.
Andrew de los Reyes <adlr@gmail.com> <adlr@chromium.org>
Augustin Cavalier <waddlesplash@gmail.com> <ajcsweb@gmail.com>
Benjamin Przybocki <buddybenj@gmail.com>
Dolphin Bots <noreply@dolphin-emu.org> <dolphin-emu-bot@users.noreply.github.com>
Dolphin Bots <noreply@dolphin-emu.org> <contact+i18n@dolphin-emu.org>
Dolphin Bots <noreply@dolphin-emu.org> <buildbot@ubuntu.ubuntu.dolphin-emu.org>
Grant Paul <git@grantpaul.com> <chpwn@chpwn.com>
Henrik Rydgård <hrydgard@gmail.com>
Jack Frost <bhaal@0x1337.org> <j4ck.fr0st@gmail.com>
James Dunne <james.jdunne@gmail.com>
John Chadwick <johnwchadwick@gmail.com> <johnwchadwick>
John Peterson <john.s.peterson@live.com>
John Peterson <john.s.peterson@live.com> <jpeterson57@gmail.com>
Jordan Cristiano <jordan.cristi@gmail.com> <jordan.cristi AT [Google mail]>
Jordan Cristiano <jordan.cristi@gmail.com> <jordan.cristi [AT] gmail.com>
Jordan Woyak <jordan.woyak@gmail.com> <jordan@bill-laptop.lan>
Jordan Woyak <jordan.woyak@gmail.com> <Billiard26@gmail.com>
Jules Blok <jules.blok@gmail.com> Armada <jules.blok@gmail.com>
Lioncash <mathew1800@gmail.com>
Lioncash <mathew1800@gmail.com> Lioncash <nope>
Lioncash <mathew1800@gmail.com> <mathew1900@hotmail.com>
Maarten ter Huurne <maarten@treewalker.org> <mth@lexx-9122.trinair2002>
Marcos Vitali <marcosvitali@gmail.com>
Markus Wick <markus+github@selfnet.de> <wickmarkus@web.de>
Matthew Parlane <parlane@gmail.com>
Matthew Parlane <parlane@gmail.com> <matthew@phantuntu.(none)>
Oussama Danba <Shadoxfix@gmail.com>
Pascal Jouy <pascal.jouy@hotmail.fr>
Pierre <pierre@pirsoft.de>
Pierre Bourdon <delroth@gmail.com> <delroth@lse.epita.fr>
Rodolfo Bogado <rodolfoosvaldobogado@gmail.com>
Rog <rdragoon@optonline.net>
RolandMunsil <roland@munsil.com> <RolandMunsil@users.noreply.github.com>
Runo <i.am.runo@hotmail.com>
Ryan Houdek <sonicadvance1@gmail.com>
Ryan Houdek <sonicadvance1@gmail.com> <Sonicadvance1@gmail.com>
Ryan Houdek <sonicadvance1@gmail.com> <ryan.houdek@codethink.co.uk>
Ryan Houdek <sonicadvance1@gmail.com> <sonicadvance1@Ryan-Desktop.(none)>
Sacha <xsacha@gmail.com>
Sean Maas <seanmaas27@gmail.com>
Shawn Hoffman <godisgovernment@gmail.com>
Steven V. <Stevoisiak@gmail.com>
Steven V. <Stevoisiak@gmail.com> <S.Vascellaro@gmail.com>
Tony Wasserka <neobrainx@gmail.com> <NeoBrainX@googlemail.com>
Tony Wasserka <neobrainx@gmail.com> <NeoBrainX@gmail.com>
TotalNerd <xtrafear@gmail.com>
booto <remornicus@gmail.com> <booto+dolphin@justanothercoder.com>
i418c <starfield94@aol.com> <i418c@users.noreply.github.com>
luisr142004 <luisr142004@gmail.com> <luisr142004@yahoo.com>
magumagu <magumagu9@gmail.com>
masken <masken3@gmail.com> <masken@emulation64.com>
nitsuja <nitsuja-@hotmail.com>
skidau <skidau@gmail.com>
-183
View File
@@ -1,183 +0,0 @@
// Copyright 2009 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include "AudioCommon/AudioCommon.h"
#include "AudioCommon/Mixer.h"
#include "AudioCommon/NullSoundStream.h"
#include "OpenEmuAudioStream.h"
#include "Common/Common.h"
#include "Common/FileUtil.h"
#include "Common/Logging/Log.h"
#include "Core/ConfigManager.h"
// This shouldn't be a global, at least not here.
std::unique_ptr<SoundStream> g_sound_stream;
static bool s_audio_dump_start = false;
static bool s_sound_stream_running = false;
namespace AudioCommon
{
static const int AUDIO_VOLUME_MIN = 0;
static const int AUDIO_VOLUME_MAX = 100;
void InitSoundStream()
{
g_sound_stream = std::make_unique<OpenEmuAudioStream>();
if (!g_sound_stream->Init())
{
WARN_LOG(AUDIO, "Could not initialize backend");
g_sound_stream = std::make_unique<NullSound>();
}
UpdateSoundStream();
SetSoundStreamRunning(true);
if (SConfig::GetInstance().m_DumpAudio && !s_audio_dump_start)
StartAudioDump();
}
void ShutdownSoundStream()
{
INFO_LOG(AUDIO, "Shutting down sound stream");
if (SConfig::GetInstance().m_DumpAudio && s_audio_dump_start)
StopAudioDump();
SetSoundStreamRunning(false);
g_sound_stream.reset();
INFO_LOG(AUDIO, "Done shutting down sound stream");
}
std::string GetDefaultSoundBackend()
{
std::string backend = "oeaudio";
return backend;
}
std::vector<std::string> GetSoundBackends()
{
std::vector<std::string> backends;
backends.push_back("oeaudio");
return backends;
}
DPL2Quality GetDefaultDPL2Quality()
{
return DPL2Quality::High;
}
bool SupportsDPL2Decoder(const std::string& backend)
{
return false;
}
bool SupportsLatencyControl(const std::string& backend)
{
return false;
}
bool SupportsVolumeChanges(const std::string& backend)
{
// FIXME: this one should ask the backend whether it supports it.
// but getting the backend from string etc. is probably
// too much just to enable/disable a stupid slider...
return false;
}
void UpdateSoundStream()
{
if (g_sound_stream)
{
int volume = SConfig::GetInstance().m_IsMuted ? 0 : SConfig::GetInstance().m_Volume;
g_sound_stream->SetVolume(volume);
}
}
void SetSoundStreamRunning(bool running)
{
if (!g_sound_stream)
return;
if (s_sound_stream_running == running)
return;
s_sound_stream_running = running;
if (g_sound_stream->SetRunning(running))
return;
if (running)
ERROR_LOG(AUDIO, "Error starting stream.");
else
ERROR_LOG(AUDIO, "Error stopping stream.");
}
void SendAIBuffer(const short* samples, unsigned int num_samples)
{
if (!g_sound_stream)
return;
if (SConfig::GetInstance().m_DumpAudio && !s_audio_dump_start)
StartAudioDump();
else if (!SConfig::GetInstance().m_DumpAudio && s_audio_dump_start)
StopAudioDump();
Mixer* pMixer = g_sound_stream->GetMixer();
if (pMixer && samples)
{
pMixer->PushSamples(samples, num_samples);
}
g_sound_stream->Update();
}
void StartAudioDump()
{
std::string audio_file_name_dtk = File::GetUserPath(D_DUMPAUDIO_IDX) + "dtkdump.wav";
std::string audio_file_name_dsp = File::GetUserPath(D_DUMPAUDIO_IDX) + "dspdump.wav";
File::CreateFullPath(audio_file_name_dtk);
File::CreateFullPath(audio_file_name_dsp);
g_sound_stream->GetMixer()->StartLogDTKAudio(audio_file_name_dtk);
g_sound_stream->GetMixer()->StartLogDSPAudio(audio_file_name_dsp);
s_audio_dump_start = true;
}
void StopAudioDump()
{
if (!g_sound_stream)
return;
g_sound_stream->GetMixer()->StopLogDTKAudio();
g_sound_stream->GetMixer()->StopLogDSPAudio();
s_audio_dump_start = false;
}
void IncreaseVolume(unsigned short offset)
{
SConfig::GetInstance().m_IsMuted = false;
int& currentVolume = SConfig::GetInstance().m_Volume;
currentVolume += offset;
if (currentVolume > AUDIO_VOLUME_MAX)
currentVolume = AUDIO_VOLUME_MAX;
UpdateSoundStream();
}
void DecreaseVolume(unsigned short offset)
{
SConfig::GetInstance().m_IsMuted = false;
int& currentVolume = SConfig::GetInstance().m_Volume;
currentVolume -= offset;
if (currentVolume < AUDIO_VOLUME_MIN)
currentVolume = AUDIO_VOLUME_MIN;
UpdateSoundStream();
}
void ToggleMuteVolume()
{
bool& isMuted = SConfig::GetInstance().m_IsMuted;
isMuted = !isMuted;
UpdateSoundStream();
}
} // namespace AudioCommon
-55
View File
@@ -1,55 +0,0 @@
// Copyright (c) 2018, OpenEmu Team
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// * Neither the name of the OpenEmu Team nor the
// names of its contributors may be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY OpenEmu Team ''AS IS'' AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL OpenEmu Team BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Copyright 2008 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#ifndef OpenEmuAudioStream_hpp
#define OpenEmuAudioStream_hpp
#include "AudioCommon/SoundStream.h"
/* the sample rate is hardcoded in the initializer of the SoundStream
* base class */
#define OE_SAMPLERATE 48000
/* max amount of bytes pullable at once
* should be <= Mixer::MAX_SAMPLES * sizeof(short) * 2 (= 16384)
* however we can't use Mixer::MAX_SAMPLES because it is private */
#define OE_SIZESOUNDBUFFER (16384 / 2)
class OpenEmuAudioStream final : public SoundStream
{
public:
bool Init() override { return true; }
bool SetRunning(bool running) override;
static bool isValid() { return true; }
int readAudio(void *buffer, int len);
~OpenEmuAudioStream() {};
private:
bool running;
};
#endif /* OpenEmuAudioStream_hpp */
-48
View File
@@ -1,48 +0,0 @@
// Copyright (c) 2018, OpenEmu Team
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// * Neither the name of the OpenEmu Team nor the
// names of its contributors may be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY OpenEmu Team ''AS IS'' AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL OpenEmu Team BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Copyright 2008 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include <Foundation/Foundation.h>
#include "DolphinGameCore.h"
#include "OpenEmuAudioStream.h"
bool OpenEmuAudioStream::SetRunning(bool r)
{
running = r;
return r;
}
int OpenEmuAudioStream::readAudio(void *buffer, int len)
{
if (!running)
return 0;
Mixer *mix = m_mixer.get();
int bytePerSample = 2 * sizeof(short);
return mix->Mix((short *)buffer, len / bytePerSample) * bytePerSample;
}
File diff suppressed because it is too large Load Diff
-102
View File
@@ -1,102 +0,0 @@
// Copyright 2016 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include <algorithm>
#include <cstring>
#include <map>
#include "Common/Config/Config.h"
#include "Common/Config/Layer.h"
namespace Config
{
ConfigLayerLoader::ConfigLayerLoader(LayerType layer) : m_layer(layer)
{
}
ConfigLayerLoader::~ConfigLayerLoader() = default;
LayerType ConfigLayerLoader::GetLayer() const
{
return m_layer;
}
Layer::Layer(LayerType type) : m_layer(type)
{
}
Layer::Layer(std::unique_ptr<ConfigLayerLoader> loader)
: m_layer(loader->GetLayer()), m_loader(std::move(loader))
{
Load();
}
Layer::~Layer()
{
Save();
}
bool Layer::Exists(const Location& location) const
{
const auto iter = m_map.find(location);
return iter != m_map.end() && iter->second.has_value();
}
bool Layer::DeleteKey(const Location& location)
{
m_is_dirty = true;
bool had_value = false;
const auto iter = m_map.find(location);
if (iter != m_map.end() && iter->second.has_value())
{
iter->second.reset();
had_value = true;
}
return had_value;
}
void Layer::DeleteAllKeys()
{
m_is_dirty = true;
for (auto& pair : m_map)
{
pair.second.reset();
}
}
Section Layer::GetSection(System system, const std::string& section)
{
return Section{m_map.lower_bound(Location{system, section, ""}),
m_map.lower_bound(Location{system, section + '\001', ""})};
}
ConstSection Layer::GetSection(System system, const std::string& section) const
{
return ConstSection{m_map.lower_bound(Location{system, section, ""}),
m_map.lower_bound(Location{system, section + '\001', ""})};
}
void Layer::Load()
{
if (m_loader)
m_loader->Load(this);
m_is_dirty = false;
}
void Layer::Save()
{
return;
}
LayerType Layer::GetLayer() const
{
return m_layer;
}
const LayerMap& Layer::GetLayerMap() const
{
return m_map;
}
} // namespace Config
-7
View File
@@ -1,7 +0,0 @@
// TODO: get values from git repo
#define SCM_REV_STR "OEDolphin"
#define SCM_DESC_STR "OEDolphin"
#define SCM_BRANCH_STR "master"
#define SCM_IS_MASTER 1
#define SCM_DISTRIBUTOR_STR "Duckey77"
#define SCM_UPDATE_TRACK_STR "none"
File diff suppressed because it is too large Load Diff
-157
View File
@@ -1,157 +0,0 @@
// Copyright 2017 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include "Core/Config/GraphicsSettings.h"
#include <string>
#include "Common/Config/Config.h"
#include "VideoCommon/VideoConfig.h"
namespace Config
{
// Configuration Information
// Graphics.Hardware
const Info<bool> GFX_VSYNC{{System::GFX, "Hardware", "VSync"}, false};
const Info<int> GFX_ADAPTER{{System::GFX, "Hardware", "Adapter"}, 0};
// Graphics.Settings
const Info<bool> GFX_WIDESCREEN_HACK{{System::GFX, "Settings", "wideScreenHack"}, false};
//OpenEmu change apect to stretch
const Info<AspectMode> GFX_ASPECT_RATIO{{System::GFX, "Settings", "AspectRatio"}, AspectMode::Stretch};
const Info<AspectMode> GFX_SUGGESTED_ASPECT_RATIO{{System::GFX, "Settings", "SuggestedAspectRatio"},
AspectMode::Auto};
const Info<bool> GFX_CROP{{System::GFX, "Settings", "Crop"}, false};
const Info<int> GFX_SAFE_TEXTURE_CACHE_COLOR_SAMPLES{
{System::GFX, "Settings", "SafeTextureCacheColorSamples"}, 128};
const Info<bool> GFX_SHOW_FPS{{System::GFX, "Settings", "ShowFPS"}, false};
const Info<bool> GFX_SHOW_NETPLAY_PING{{System::GFX, "Settings", "ShowNetPlayPing"}, false};
const Info<bool> GFX_SHOW_NETPLAY_MESSAGES{{System::GFX, "Settings", "ShowNetPlayMessages"}, false};
const Info<bool> GFX_LOG_RENDER_TIME_TO_FILE{{System::GFX, "Settings", "LogRenderTimeToFile"},
false};
const Info<bool> GFX_OVERLAY_STATS{{System::GFX, "Settings", "OverlayStats"}, false};
const Info<bool> GFX_OVERLAY_PROJ_STATS{{System::GFX, "Settings", "OverlayProjStats"}, false};
const Info<bool> GFX_DUMP_TEXTURES{{System::GFX, "Settings", "DumpTextures"}, false};
const Info<bool> GFX_DUMP_MIP_TEXTURES{{System::GFX, "Settings", "DumpMipTextures"}, true};
const Info<bool> GFX_DUMP_BASE_TEXTURES{{System::GFX, "Settings", "DumpBaseTextures"}, true};
const Info<bool> GFX_HIRES_TEXTURES{{System::GFX, "Settings", "HiresTextures"}, false};
const Info<bool> GFX_CACHE_HIRES_TEXTURES{{System::GFX, "Settings", "CacheHiresTextures"}, false};
const Info<bool> GFX_DUMP_EFB_TARGET{{System::GFX, "Settings", "DumpEFBTarget"}, false};
const Info<bool> GFX_DUMP_XFB_TARGET{{System::GFX, "Settings", "DumpXFBTarget"}, false};
const Info<bool> GFX_DUMP_FRAMES_AS_IMAGES{{System::GFX, "Settings", "DumpFramesAsImages"}, false};
const Info<bool> GFX_USE_FFV1{{System::GFX, "Settings", "UseFFV1"}, false};
const Info<std::string> GFX_DUMP_FORMAT{{System::GFX, "Settings", "DumpFormat"}, "avi"};
const Info<std::string> GFX_DUMP_CODEC{{System::GFX, "Settings", "DumpCodec"}, ""};
const Info<std::string> GFX_DUMP_ENCODER{{System::GFX, "Settings", "DumpEncoder"}, ""};
const Info<std::string> GFX_DUMP_PATH{{System::GFX, "Settings", "DumpPath"}, ""};
const Info<int> GFX_BITRATE_KBPS{{System::GFX, "Settings", "BitrateKbps"}, 25000};
const Info<bool> GFX_INTERNAL_RESOLUTION_FRAME_DUMPS{
{System::GFX, "Settings", "InternalResolutionFrameDumps"}, false};
const Info<bool> GFX_ENABLE_GPU_TEXTURE_DECODING{
{System::GFX, "Settings", "EnableGPUTextureDecoding"}, false};
const Info<bool> GFX_ENABLE_PIXEL_LIGHTING{{System::GFX, "Settings", "EnablePixelLighting"}, false};
const Info<bool> GFX_FAST_DEPTH_CALC{{System::GFX, "Settings", "FastDepthCalc"}, true};
const Info<u32> GFX_MSAA{{System::GFX, "Settings", "MSAA"}, 1};
const Info<bool> GFX_SSAA{{System::GFX, "Settings", "SSAA"}, false};
const Info<int> GFX_EFB_SCALE{{System::GFX, "Settings", "InternalResolution"}, 1};
const Info<int> GFX_MAX_EFB_SCALE{{System::GFX, "Settings", "MaxInternalResolution"}, 8};
const Info<bool> GFX_TEXFMT_OVERLAY_ENABLE{{System::GFX, "Settings", "TexFmtOverlayEnable"}, false};
const Info<bool> GFX_TEXFMT_OVERLAY_CENTER{{System::GFX, "Settings", "TexFmtOverlayCenter"}, false};
const Info<bool> GFX_ENABLE_WIREFRAME{{System::GFX, "Settings", "WireFrame"}, false};
const Info<bool> GFX_DISABLE_FOG{{System::GFX, "Settings", "DisableFog"}, false};
const Info<bool> GFX_BORDERLESS_FULLSCREEN{{System::GFX, "Settings", "BorderlessFullscreen"},
false};
const Info<bool> GFX_ENABLE_VALIDATION_LAYER{{System::GFX, "Settings", "EnableValidationLayer"},
false};
#if defined(ANDROID)
const Info<bool> GFX_BACKEND_MULTITHREADING{{System::GFX, "Settings", "BackendMultithreading"},
false};
const Info<int> GFX_COMMAND_BUFFER_EXECUTE_INTERVAL{
{System::GFX, "Settings", "CommandBufferExecuteInterval"}, 0};
#else
const Info<bool> GFX_BACKEND_MULTITHREADING{{System::GFX, "Settings", "BackendMultithreading"},
true};
const Info<int> GFX_COMMAND_BUFFER_EXECUTE_INTERVAL{
{System::GFX, "Settings", "CommandBufferExecuteInterval"}, 100};
#endif
//////OpenEmu change ShaderCache True, WaitForShaders false, Compiler and Precompiler thread -1
const Info<bool> GFX_SHADER_CACHE{{System::GFX, "Settings", "ShaderCache"}, true};
const Info<bool> GFX_WAIT_FOR_SHADERS_BEFORE_STARTING{
{System::GFX, "Settings", "WaitForShadersBeforeStarting"}, false};
const Info<ShaderCompilationMode> GFX_SHADER_COMPILATION_MODE{
{System::GFX, "Settings", "ShaderCompilationMode"}, ShaderCompilationMode::Synchronous};
const Info<int> GFX_SHADER_COMPILER_THREADS{{System::GFX, "Settings", "ShaderCompilerThreads"}, -1};
const Info<int> GFX_SHADER_PRECOMPILER_THREADS{
{System::GFX, "Settings", "ShaderPrecompilerThreads"}, -1};
const Info<bool> GFX_SAVE_TEXTURE_CACHE_TO_STATE{
{System::GFX, "Settings", "SaveTextureCacheToState"}, true};
const Info<bool> GFX_SW_ZCOMPLOC{{System::GFX, "Settings", "SWZComploc"}, true};
const Info<bool> GFX_SW_ZFREEZE{{System::GFX, "Settings", "SWZFreeze"}, true};
const Info<bool> GFX_SW_DUMP_OBJECTS{{System::GFX, "Settings", "SWDumpObjects"}, false};
const Info<bool> GFX_SW_DUMP_TEV_STAGES{{System::GFX, "Settings", "SWDumpTevStages"}, false};
const Info<bool> GFX_SW_DUMP_TEV_TEX_FETCHES{{System::GFX, "Settings", "SWDumpTevTexFetches"},
false};
const Info<int> GFX_SW_DRAW_START{{System::GFX, "Settings", "SWDrawStart"}, 0};
const Info<int> GFX_SW_DRAW_END{{System::GFX, "Settings", "SWDrawEnd"}, 100000};
const Info<bool> GFX_PREFER_GLES{{System::GFX, "Settings", "PreferGLES"}, false};
// Graphics.Enhancements
const Info<bool> GFX_ENHANCE_FORCE_FILTERING{{System::GFX, "Enhancements", "ForceFiltering"},
false};
const Info<int> GFX_ENHANCE_MAX_ANISOTROPY{{System::GFX, "Enhancements", "MaxAnisotropy"}, 0};
const Info<std::string> GFX_ENHANCE_POST_SHADER{
{System::GFX, "Enhancements", "PostProcessingShader"}, ""};
const Info<bool> GFX_ENHANCE_FORCE_TRUE_COLOR{{System::GFX, "Enhancements", "ForceTrueColor"},
true};
const Info<bool> GFX_ENHANCE_DISABLE_COPY_FILTER{{System::GFX, "Enhancements", "DisableCopyFilter"},
true};
const Info<bool> GFX_ENHANCE_ARBITRARY_MIPMAP_DETECTION{
{System::GFX, "Enhancements", "ArbitraryMipmapDetection"}, true};
const Info<float> GFX_ENHANCE_ARBITRARY_MIPMAP_DETECTION_THRESHOLD{
{System::GFX, "Enhancements", "ArbitraryMipmapDetectionThreshold"}, 14.0f};
// Graphics.Stereoscopy
const Info<StereoMode> GFX_STEREO_MODE{{System::GFX, "Stereoscopy", "StereoMode"}, StereoMode::Off};
const Info<int> GFX_STEREO_DEPTH{{System::GFX, "Stereoscopy", "StereoDepth"}, 20};
const Info<int> GFX_STEREO_CONVERGENCE_PERCENTAGE{
{System::GFX, "Stereoscopy", "StereoConvergencePercentage"}, 100};
const Info<bool> GFX_STEREO_SWAP_EYES{{System::GFX, "Stereoscopy", "StereoSwapEyes"}, false};
const Info<int> GFX_STEREO_CONVERGENCE{{System::GFX, "Stereoscopy", "StereoConvergence"}, 20};
const Info<bool> GFX_STEREO_EFB_MONO_DEPTH{{System::GFX, "Stereoscopy", "StereoEFBMonoDepth"},
false};
const Info<int> GFX_STEREO_DEPTH_PERCENTAGE{{System::GFX, "Stereoscopy", "StereoDepthPercentage"},
100};
// Graphics.Hacks
const Info<bool> GFX_HACK_EFB_ACCESS_ENABLE{{System::GFX, "Hacks", "EFBAccessEnable"}, true};
const Info<bool> GFX_HACK_EFB_DEFER_INVALIDATION{
{System::GFX, "Hacks", "EFBAccessDeferInvalidation"}, false};
const Info<int> GFX_HACK_EFB_ACCESS_TILE_SIZE{{System::GFX, "Hacks", "EFBAccessTileSize"}, 64};
const Info<bool> GFX_HACK_BBOX_ENABLE{{System::GFX, "Hacks", "BBoxEnable"}, false};
const Info<bool> GFX_HACK_FORCE_PROGRESSIVE{{System::GFX, "Hacks", "ForceProgressive"}, true};
const Info<bool> GFX_HACK_SKIP_EFB_COPY_TO_RAM{{System::GFX, "Hacks", "EFBToTextureEnable"}, true};
const Info<bool> GFX_HACK_SKIP_XFB_COPY_TO_RAM{{System::GFX, "Hacks", "XFBToTextureEnable"}, true};
const Info<bool> GFX_HACK_DISABLE_COPY_TO_VRAM{{System::GFX, "Hacks", "DisableCopyToVRAM"}, false};
const Info<bool> GFX_HACK_DEFER_EFB_COPIES{{System::GFX, "Hacks", "DeferEFBCopies"}, true};
const Info<bool> GFX_HACK_IMMEDIATE_XFB{{System::GFX, "Hacks", "ImmediateXFBEnable"}, false};
const Info<bool> GFX_HACK_SKIP_DUPLICATE_XFBS{{System::GFX, "Hacks", "SkipDuplicateXFBs"}, true};
const Info<bool> GFX_HACK_COPY_EFB_SCALED{{System::GFX, "Hacks", "EFBScaledCopy"}, true};
const Info<bool> GFX_HACK_EFB_EMULATE_FORMAT_CHANGES{
{System::GFX, "Hacks", "EFBEmulateFormatChanges"}, false};
const Info<bool> GFX_HACK_VERTEX_ROUDING{{System::GFX, "Hacks", "VertexRounding"}, false};
// Graphics.GameSpecific
const Info<bool> GFX_PERF_QUERIES_ENABLE{{System::GFX, "GameSpecific", "PerfQueriesEnable"}, false};
} // namespace Config
-318
View File
@@ -1,318 +0,0 @@
// Copyright 2010 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include "InputCommon/ControllerInterface/ControllerInterface.h"
//OpenEmu undefine the OSX settings
#ifdef CIFACE_USE_OSX
#undef CIFACE_USE_OSX
#endif
//OpenEmu include OE input header
#include "OpenEmuInput.h"
#include <algorithm>
#include "Common/Logging/Log.h"
#include "Core/HW/WiimoteReal/WiimoteReal.h"
#ifdef CIFACE_USE_WIN32
#include "InputCommon/ControllerInterface/Win32/Win32.h"
#endif
#ifdef CIFACE_USE_XLIB
#include "InputCommon/ControllerInterface/Xlib/XInput2.h"
#endif
#ifdef CIFACE_USE_OSX
#include "InputCommon/ControllerInterface/OSX/OSX.h"
#include "InputCommon/ControllerInterface/Quartz/Quartz.h"
#endif
#ifdef CIFACE_USE_SDL
#include "InputCommon/ControllerInterface/SDL/SDL.h"
#endif
#ifdef CIFACE_USE_ANDROID
#include "InputCommon/ControllerInterface/Android/Android.h"
#endif
#ifdef CIFACE_USE_EVDEV
#include "InputCommon/ControllerInterface/evdev/evdev.h"
#endif
#ifdef CIFACE_USE_PIPES
#include "InputCommon/ControllerInterface/Pipes/Pipes.h"
#endif
#ifdef CIFACE_USE_DUALSHOCKUDPCLIENT
#include "InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.h"
#endif
ControllerInterface g_controller_interface;
void ControllerInterface::Initialize(const WindowSystemInfo& wsi)
{
if (m_is_init)
return;
m_wsi = wsi;
// Allow backends to add devices as soon as they are initialized.
m_is_init = true;
m_is_populating_devices = true;
#ifdef CIFACE_USE_WIN32
ciface::Win32::Init(wsi.render_window);
#endif
#ifdef CIFACE_USE_XLIB
// nothing needed
#endif
#ifdef CIFACE_USE_OSX
if (m_wsi.type == WindowSystemType::MacOS)
ciface::OSX::Init(wsi.render_window);
// nothing needed for Quartz
#endif
#ifdef CIFACE_USE_SDL
ciface::SDL::Init();
#endif
#ifdef CIFACE_USE_ANDROID
// nothing needed
#endif
#ifdef CIFACE_USE_EVDEV
ciface::evdev::Init();
#endif
#ifdef CIFACE_USE_PIPES
// nothing needed
#endif
#ifdef CIFACE_USE_DUALSHOCKUDPCLIENT
ciface::DualShockUDPClient::Init();
#endif
//OpenEmu initalize OpenEmu Input
Input::Openemu_Input_Init();
RefreshDevices();
//OpenEmu set populating devices to false
m_is_populating_devices = false;
}
void ControllerInterface::ChangeWindow(void* hwnd)
{
if (!m_is_init)
return;
// This shouldn't use render_surface so no need to update it.
m_wsi.render_window = hwnd;
RefreshDevices();
}
void ControllerInterface::RefreshDevices()
{
if (!m_is_init)
return;
//OpenEmu comment out this section so we can maintain our controller input
// {
// std::lock_guard lk(m_devices_mutex);
// m_devices.clear();
// }
m_is_populating_devices = true;
// Make sure shared_ptr<Device> objects are released before repopulating.
InvokeDevicesChangedCallbacks();
#ifdef CIFACE_USE_WIN32
ciface::Win32::PopulateDevices(m_wsi.render_window);
#endif
#ifdef CIFACE_USE_XLIB
if (m_wsi.type == WindowSystemType::X11)
ciface::XInput2::PopulateDevices(m_wsi.render_window);
#endif
#ifdef CIFACE_USE_OSX
if (m_wsi.type == WindowSystemType::MacOS)
{
ciface::OSX::PopulateDevices(m_wsi.render_window);
ciface::Quartz::PopulateDevices(m_wsi.render_window);
}
#endif
#ifdef CIFACE_USE_SDL
ciface::SDL::PopulateDevices();
#endif
#ifdef CIFACE_USE_ANDROID
ciface::Android::PopulateDevices();
#endif
#ifdef CIFACE_USE_EVDEV
ciface::evdev::PopulateDevices();
#endif
#ifdef CIFACE_USE_PIPES
ciface::Pipes::PopulateDevices();
#endif
#ifdef CIFACE_USE_DUALSHOCKUDPCLIENT
ciface::DualShockUDPClient::PopulateDevices();
#endif
WiimoteReal::ProcessWiimotePool();
m_is_populating_devices = false;
InvokeDevicesChangedCallbacks();
}
// Remove all devices and call library cleanup functions
void ControllerInterface::Shutdown()
{
if (!m_is_init)
return;
// Prevent additional devices from being added during shutdown.
m_is_init = false;
{
std::lock_guard lk(m_devices_mutex);
for (const auto& d : m_devices)
{
// Set outputs to ZERO before destroying device
for (ciface::Core::Device::Output* o : d->Outputs())
o->SetState(0);
}
m_devices.clear();
}
// This will update control references so shared_ptr<Device>s are freed up
// BEFORE we shutdown the backends.
InvokeDevicesChangedCallbacks();
#ifdef CIFACE_USE_WIN32
ciface::Win32::DeInit();
#endif
#ifdef CIFACE_USE_XLIB
// nothing needed
#endif
#ifdef CIFACE_USE_OSX
ciface::OSX::DeInit();
ciface::Quartz::DeInit();
#endif
#ifdef CIFACE_USE_SDL
ciface::SDL::DeInit();
#endif
#ifdef CIFACE_USE_ANDROID
// nothing needed
#endif
#ifdef CIFACE_USE_EVDEV
ciface::evdev::Shutdown();
#endif
#ifdef CIFACE_USE_DUALSHOCKUDPCLIENT
ciface::DualShockUDPClient::DeInit();
#endif
}
void ControllerInterface::AddDevice(std::shared_ptr<ciface::Core::Device> device)
{
// If we are shutdown (or in process of shutting down) ignore this request:
if (!m_is_init)
return;
{
std::lock_guard lk(m_devices_mutex);
const auto is_id_in_use = [&device, this](int id) {
return std::any_of(m_devices.begin(), m_devices.end(), [&device, &id](const auto& d) {
return d->GetSource() == device->GetSource() && d->GetName() == device->GetName() &&
d->GetId() == id;
});
};
const auto preferred_id = device->GetPreferredId();
if (preferred_id.has_value() && !is_id_in_use(*preferred_id))
{
// Use the device's preferred ID if available.
device->SetId(*preferred_id);
}
else
{
// Find the first available ID to use.
int id = 0;
while (is_id_in_use(id))
++id;
device->SetId(id);
}
NOTICE_LOG(SERIALINTERFACE, "Added device: %s", device->GetQualifiedName().c_str());
m_devices.emplace_back(std::move(device));
}
if (!m_is_populating_devices)
InvokeDevicesChangedCallbacks();
}
void ControllerInterface::RemoveDevice(std::function<bool(const ciface::Core::Device*)> callback)
{
{
std::lock_guard lk(m_devices_mutex);
auto it = std::remove_if(m_devices.begin(), m_devices.end(), [&callback](const auto& dev) {
if (callback(dev.get()))
{
NOTICE_LOG(SERIALINTERFACE, "Removed device: %s", dev->GetQualifiedName().c_str());
return true;
}
return false;
});
m_devices.erase(it, m_devices.end());
}
if (!m_is_populating_devices)
InvokeDevicesChangedCallbacks();
}
// Update input for all devices if lock can be acquired without waiting.
void ControllerInterface::UpdateInput()
{
// Don't block the UI or CPU thread (to avoid a short but noticeable frame drop)
if (m_devices_mutex.try_lock())
{
std::lock_guard lk(m_devices_mutex, std::adopt_lock);
for (const auto& d : m_devices)
d->UpdateInput();
}
}
void ControllerInterface::SetAspectRatioAdjustment(float value)
{
m_aspect_ratio_adjustment = value;
}
Common::Vec2 ControllerInterface::GetWindowInputScale() const
{
const auto ar = m_aspect_ratio_adjustment.load();
if (ar > 1)
return {1.f, ar};
else
return {1 / ar, 1.f};
}
// Register a callback to be called when a device is added or removed (as from the input backends'
// hotplug thread), or when devices are refreshed
// Returns a handle for later removing the callback.
ControllerInterface::HotplugCallbackHandle
ControllerInterface::RegisterDevicesChangedCallback(std::function<void()> callback)
{
std::lock_guard<std::mutex> lk(m_callbacks_mutex);
m_devices_changed_callbacks.emplace_back(std::move(callback));
return std::prev(m_devices_changed_callbacks.end());
}
// Unregister a device callback.
void ControllerInterface::UnregisterDevicesChangedCallback(const HotplugCallbackHandle& handle)
{
std::lock_guard<std::mutex> lk(m_callbacks_mutex);
m_devices_changed_callbacks.erase(handle);
}
// Invoke all callbacks that were registered
void ControllerInterface::InvokeDevicesChangedCallbacks() const
{
std::lock_guard<std::mutex> lk(m_callbacks_mutex);
for (const auto& callback : m_devices_changed_callbacks)
callback();
}
-102
View File
@@ -1,102 +0,0 @@
// Copyright 2010 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include <vector>
#include "Common/FileUtil.h"
#include "Common/IniFile.h"
#include "Common/MsgHandler.h"
#include "Common/StringUtil.h"
#include "Core/ConfigManager.h"
#include "Core/Core.h"
#include "Core/HW/Wiimote.h"
#include "InputCommon/ControllerEmu/ControlGroup/ControlGroup.h"
#include "InputCommon/ControllerEmu/ControllerEmu.h"
#include "InputCommon/ControllerEmu/Setting/NumericSetting.h"
#include "InputCommon/ControllerInterface/ControllerInterface.h"
#include "InputCommon/InputConfig.h"
#include "InputCommon/InputProfile.h"
InputConfig::InputConfig(const std::string& ini_name, const std::string& gui_name,
const std::string& profile_name)
: m_ini_name(ini_name), m_gui_name(gui_name), m_profile_name(profile_name)
{
}
InputConfig::~InputConfig() = default;
bool InputConfig::LoadConfig(bool isGC)
{
//OpenEmu Stub
return false;
}
void InputConfig::SaveConfig()
{
std::string ini_filename = File::GetUserPath(D_CONFIG_IDX) + m_ini_name + ".ini";
IniFile inifile;
inifile.Load(ini_filename);
for (auto& controller : m_controllers)
controller->SaveConfig(inifile.GetOrCreateSection(controller->GetName()));
inifile.Save(ini_filename);
}
ControllerEmu::EmulatedController* InputConfig::GetController(int index)
{
return m_controllers.at(index).get();
}
void InputConfig::ClearControllers()
{
m_controllers.clear();
}
bool InputConfig::ControllersNeedToBeCreated() const
{
return m_controllers.empty();
}
std::size_t InputConfig::GetControllerCount() const
{
return m_controllers.size();
}
void InputConfig::RegisterHotplugCallback()
{
// Update control references on all controllers
// as configured devices may have been added or removed.
m_hotplug_callback_handle = g_controller_interface.RegisterDevicesChangedCallback([this] {
for (auto& controller : m_controllers)
controller->UpdateReferences(g_controller_interface);
});
}
void InputConfig::UnregisterHotplugCallback()
{
g_controller_interface.UnregisterDevicesChangedCallback(m_hotplug_callback_handle);
}
void InputConfig::OnControllerCreated(ControllerEmu::EmulatedController& controller)
{
controller.SetDynamicInputTextureManager(&m_dynamic_input_tex_config_manager);
}
bool InputConfig::IsControllerControlledByGamepadDevice(int index) const
{
if (static_cast<size_t>(index) >= m_controllers.size())
return false;
const auto& controller = m_controllers.at(index).get()->GetDefaultDevice();
// Filter out anything which obviously not a gamepad
return !((controller.source == "Quartz") // OSX Quartz Keyboard/Mouse
|| (controller.source == "XInput2") // Linux and BSD Keyboard/Mouse
|| (controller.source == "Android" &&
controller.name == "Touchscreen") // Android Touchscreen
|| (controller.source == "DInput" &&
controller.name == "Keyboard Mouse")); // Windows Keyboard/Mouse
}
-110
View File
@@ -1,110 +0,0 @@
typedef struct
{
int openemuButton;
int value;
} keymap;
typedef struct
{
keymap gc_pad_keymap[22] = {
{OEGCButtonUp, 0},
{OEGCButtonDown, 0},
{OEGCButtonLeft, 0},
{OEGCButtonRight, 0},
{OEGCAnalogUp, 0},
{OEGCAnalogDown, 0},
{OEGCAnalogLeft, 0},
{OEGCAnalogRight, 0},
{OEGCAnalogCUp, 0},
{OEGCAnalogCDown, 0},
{OEGCAnalogCLeft, 0},
{OEGCAnalogCRight, 0},
{OEGCButtonA, 0},
{OEGCButtonB, 0},
{OEGCButtonX, 0},
{OEGCButtonY, 0},
{OEGCButtonL, 0},
{OEGCButtonR, 0},
{OEGCButtonZ, 0},
{OEGCButtonStart, 0},
{OEGCDigitalL, 0},
{OEGCDigitalR, 0},
};
} gc_pad;
void setGameCubeButton(int pad_num, int button , int value);
void setGameCubeAxis(int pad_num, int button , float value);
void init_Callback();
static gc_pad GameCubePads[4];
typedef struct
{
keymap wiimote_keymap[54] = {
{OEWiiMoteButtonLeft, 0},
{OEWiiMoteButtonRight, 0},
{OEWiiMoteButtonDown, 0},
{OEWiiMoteButtonUp, 0},
{OEWiiMoteButtonA, 0},
{OEWiiMoteButtonB, 0},
{OEWiiMoteButton1, 0},
{OEWiiMoteButton2, 0},
{OEWiiMoteButtonPlus, 0},
{OEWiiMoteButtonMinus, 0},
{OEWiiMoteButtonHome, 0},
{OEWiiMoteTiltForward, 0},
{OEWiiMoteTiltBackward, 0},
{OEWiiMoteTiltLeft, 0},
{OEWiiMoteTiltRight, 0},
{OEWiiMoteShake, 0},
{OEWiiMoteSwingUp, 0},
{OEWiiMoteSwingDown, 0},
{OEWiiMoteSwingLeft, 0},
{OEWiiMoteSwingRight, 0},
{OEWiiMoteSwingForward, 0},
{OEWiiMoteSwingBackward, 0},
{OEWiiNunchukAnalogUp, 0},
{OEWiiNunchukAnalogDown, 0},
{OEWiiNunchukAnalogLeft, 0},
{OEWiiNunchukAnalogRight, 0},
{OEWiiNunchukButtonC, 0},
{OEWiiNunchukButtonZ, 0},
{OEWiiNunchukShake, 0},
{OEWiiClassicButtonUp, 0},
{OEWiiClassicButtonDown, 0},
{OEWiiClassicButtonLeft, 0},
{OEWiiClassicButtonRight, 0},
{OEWiiClassicAnalogLUp, 0},
{OEWiiClassicAnalogLDown, 0},
{OEWiiClassicAnalogLLeft, 0},
{OEWiiClassicAnalogLRight, 0},
{OEWiiClassicAnalogRUp, 0},
{OEWiiClassicAnalogRDown, 0},
{OEWiiClassicAnalogRLeft, 0},
{OEWiiClassicAnalogRRight, 0},
{OEWiiClassicButtonA, 0},
{OEWiiClassicButtonB, 0},
{OEWiiClassicButtonX, 0},
{OEWiiClassicButtonY, 0},
{OEWiiClassicButtonL, 0},
{OEWiiClassicButtonR, 0},
{OEWiiClassicButtonZl, 0},
{OEWiiClassicButtonZr, 0},
{OEWiiClassicButtonStart, 0},
{OEWiiClassicButtonSelect, 0},
{OEWiiClassicButtonHome, 0},
{OEWiimoteSideways, 0},
{OEWiimoteUpright, 0},
};
OEWiiConType wiimoteType;
ControlState dx, dy;
} wii_remote;
void setWiiButton(int pad_num, int button , int value);
void setWiiAxis(int pad_num, int button , float value);
static wii_remote WiiRemotes[4];
-86
View File
@@ -1,86 +0,0 @@
#include "DolphinGameCore.h"
#include "DolHost.h"
#include "OpenEmuInput.h"
#include "OpenEmuController.h"
#include "Core/ConfigManager.h"
void input_poll_f()
{
//This is called every chance the Dolphin Emulator has to poll input from the frontend
// OpenEmu handles this, so it could be used to perfom a task per per input polling
return;
};
int16_t input_state_f(unsigned port, unsigned device, unsigned index, unsigned button)
{
if (SConfig::GetInstance().bWii && !SConfig::GetInstance().m_bt_passthrough_enabled)
{
//This is where we must translate the OpenEmu frontend keys presses stored in the keymap to bitmasks for Dolphin.
return WiiRemotes[port].wiimote_keymap[button].value;
} else {
return GameCubePads[port].gc_pad_keymap[button].value;
}
};
void init_Callback() {
//Dolphin Polling Callback
Input::openemu_set_input_poll(input_poll_f);
//Controller input Callbacks
Input::openemu_set_input_state(input_state_f);
}
void setGameCubeButton(int pad_num, int button , int value) {
GameCubePads[pad_num].gc_pad_keymap[button].value = value;
}
void setGameCubeAxis(int pad_num, int button , float value)
{
switch (button)
{
case OEGCAnalogUp:
case OEGCAnalogLeft:
case OEGCAnalogCUp:
case OEGCAnalogCLeft:
value *= -0x8000;
break;
default:
value *= 0x7FFF;
break;
}
GameCubePads[pad_num].gc_pad_keymap[button].value = value;
}
void setWiiButton(int pad_num, int button , int value) {
WiiRemotes[pad_num].wiimote_keymap[button].value = value;
}
void setWiiAxis(int pad_num, int button , float value)
{
switch (button)
{
case OEWiiMoteTiltLeft:
case OEWiiMoteTiltForward:
value *= -180;
break;
case OEWiiMoteTiltRight:
case OEWiiMoteTiltBackward:
value *= 180;
break;
case OEWiiNunchukAnalogUp:
case OEWiiNunchukAnalogLeft:
case OEWiiClassicAnalogLUp:
case OEWiiClassicAnalogLLeft:
case OEWiiClassicAnalogRUp:
case OEWiiClassicAnalogRLeft:
value *= -0x8000;
break;
default:
value *= 0x7FFF;
break;
}
WiiRemotes[pad_num].wiimote_keymap[button].value = value;
}
-542
View File
@@ -1,542 +0,0 @@
#include <algorithm>
#include <array>
#include <cassert>
#include "Common/Common.h"
#include "Common/CommonTypes.h"
#include "Common/IniFile.h"
#include "Core/ConfigManager.h"
#include "Core/HW/GCKeyboard.h"
#include "Core/HW/GCPad.h"
#include "Core/HW/GCPadEmu.h"
#include "Core/HW/Wiimote.h"
#include "Core/HW/WiimoteEmu/Extension/Classic.h"
#include "Core/HW/WiimoteEmu/Extension/Nunchuk.h"
#include "Core/HW/WiimoteEmu/WiimoteEmu.h"
#include "Core/HW/WiimoteReal/WiimoteReal.h"
#include "Core/Host.h"
#include "OpenEmuInput.h"
#include "InputCommon/ControlReference/ControlReference.h"
#include "InputCommon/ControlReference/ExpressionParser.h"
#include "InputCommon/ControllerEmu/Control/Control.h"
#include "InputCommon/ControllerEmu/ControlGroup/Attachments.h"
#include "InputCommon/ControllerEmu/Setting/NumericSetting.h"
#include "InputCommon/ControllerInterface/ControllerInterface.h"
#include "InputCommon/GCAdapter.h"
#include "InputCommon/GCPadStatus.h"
#include "InputCommon/InputConfig.h"
#include "DolHost.h"
static Input::openemu_input_state_t input_cb;
static Input::openemu_input_poll_t poll_cb;
static const std::string source = "OpenEmu";
static unsigned input_types[4];
static bool init_wiimotes = false;
static std::string GetDeviceName(unsigned device)
{
switch (device)
{
case OEDolDevJoy:
return "Joypad";
case OEDolDevAnalog:
return "Analog";
case OEDolDevPointer:
return "Pointer";
case OEDolDevLightGun:
return "LightGun";
case OEDolDevKeyboard:
return "Keyboard";
case OEDolDevMouse:
return "Mouse";
}
return "Unknown";
}
static std::string GetQualifiedName(unsigned port, unsigned device)
{
return ciface::Core::DeviceQualifier(source, port, GetDeviceName(device)).ToString();
}
class OEDevice : public ciface::Core::Device
{
private:
class Button : public ciface::Core::Device::Input
{
public:
Button(unsigned port, unsigned device, unsigned index, unsigned id, const char* name)
: m_port(port), m_device(device), m_index(index), m_id(id), m_name(name)
{
}
std::string GetName() const override { return m_name; }
ControlState GetState() const override {
return input_cb(m_port, m_device, m_index, m_id);
}
private:
const unsigned m_port;
const unsigned m_device;
const unsigned m_index;
const unsigned m_id;
const char* m_name;
};
class Axis : public ciface::Core::Device::Input
{
public:
Axis(unsigned port, unsigned device, unsigned index, unsigned id, s16 range, const char* name)
: m_port(port), m_device(device), m_index(index), m_id(id), m_range(range), m_name(name)
{
}
std::string GetName() const override { return m_name; }
ControlState GetState() const override
{
return std::max(0.0, input_cb(m_port, m_device, m_index, m_id) / m_range);
}
private:
const unsigned m_port;
const unsigned m_device;
const unsigned m_index;
const unsigned m_id;
const ControlState m_range;
const char* m_name;
};
class Motor : public ciface::Core::Device::Output
{
public:
Motor(u8 port) : m_port(port) {}
std::string GetName() const override { return "Rumble"; }
void SetState(ControlState state) override
{
uint16_t str = std::min(std::max(0.0, state), 1.0) * 0xFFFF;
}
private:
const u8 m_port;
};
void AddButton(unsigned id, const char* name, unsigned index = 0)
{
AddInput(new Button(m_port, m_device, index, id, name));
}
void AddAxis(unsigned id, s16 range, const char* name, unsigned index = 0)
{
AddInput(new Axis(m_port, m_device, index, id, range, name));
}
void AddMotor() { AddOutput(new Motor(m_port)); }
public:
OEDevice(unsigned device, unsigned port);
void UpdateInput() override
{
poll_cb();
}
std::string GetName() const override { return GetDeviceName(m_device); }
std::string GetSource() const override { return source; }
unsigned GetPort() const { return m_port; }
private:
unsigned m_device;
unsigned m_port;
};
OEDevice::OEDevice(unsigned device, unsigned p) : m_device(device), m_port(p)
{
switch (device)
{
case OEDolDevJoy:
//GC
AddButton(OEGCButtonB, "B");
AddButton(OEGCButtonY, "Y");
AddButton(OEGCButtonStart, "Start");
AddButton(OEGCButtonUp, "Up");
AddButton(OEGCButtonDown, "Down");
AddButton(OEGCButtonLeft, "Left");
AddButton(OEGCButtonRight, "Right");
AddButton(OEGCButtonA, "A");
AddButton(OEGCButtonX, "X");
AddButton(OEGCDigitalL, "L");
AddButton(OEGCDigitalR, "R");
AddButton(OEGCButtonZ, "Z");
//Wiimote
AddButton(OEWiiMoteButtonUp, "Up");
AddButton(OEWiiMoteButtonDown, "Down");
AddButton(OEWiiMoteButtonLeft, "Left");
AddButton(OEWiiMoteButtonRight, "Right");
AddButton(OEWiiMoteButtonA, "A");
AddButton(OEWiiMoteButtonB, "B");
AddButton(OEWiiMoteButton1, "1");
AddButton(OEWiiMoteButton2, "2");
AddButton(OEWiiMoteButtonPlus, "+");
AddButton(OEWiiMoteButtonMinus, "-");
AddButton(OEWiiMoteButtonHome, "Home");
AddButton(OEWiiMoteShake, "wmShake");
//Special Buttons
AddButton(OEWiimoteSideways, "Sideways");
AddButton(OEWiimoteUpright, "Upright");
//Nunchuk
AddButton(OEWiiNunchukButtonC, "C");
AddButton(OEWiiNunchukButtonZ, "Z");
AddButton(OEWiiNunchukShake, "ncShake");
//Classic
AddButton(OEWiiClassicButtonUp, "Up");
AddButton(OEWiiClassicButtonDown, "Down");
AddButton(OEWiiClassicButtonLeft, "Left");
AddButton(OEWiiClassicButtonRight, "Right");
AddButton(OEWiiClassicButtonA, "A");
AddButton(OEWiiClassicButtonB, "B");
AddButton(OEWiiClassicButtonX, "X");
AddButton(OEWiiClassicButtonY, "Y");
AddButton(OEWiiClassicButtonL, "L");
AddButton(OEWiiClassicButtonR, "R");
AddButton(OEWiiClassicButtonZl, "Zl");
AddButton(OEWiiClassicButtonZr, "Zr");
AddButton(OEWiiClassicButtonStart, "Start");
AddButton(OEWiiClassicButtonSelect, "Select");
AddButton(OEWiiClassicButtonHome, "Home");
return;
case OEDolDevAnalog:
AddAxis(OEGCAnalogLeft, -0x8000, "X0-", 0);
AddAxis(OEGCAnalogRight, 0x7FFF, "X0+", 0);
AddAxis(OEGCAnalogUp, -0x8000, "Y0-", 0);
AddAxis(OEGCAnalogDown, 0x7FFF, "Y0+", 0 );
AddAxis(OEGCAnalogCLeft, -0x8000, "X1-", 1);
AddAxis(OEGCAnalogCRight, 0x7FFF, "X1+", 1);
AddAxis(OEGCAnalogCUp, -0x8000, "Y1-", 1);
AddAxis(OEGCAnalogCDown, 0x7FFF, "Y1+", 1);
AddAxis(OEGCButtonL, 0x7FFF, "LTrigger0+");
AddAxis(OEGCButtonR, 0x7FFF, "RTrigger1+");
//Wiimote
AddAxis(OEWiiMoteTiltForward, -180, "TiltY0-", 2);
AddAxis(OEWiiMoteTiltBackward, 180, "TiltY0+", 2 );
AddAxis(OEWiiMoteTiltLeft, -180, "TiltX0-", 2);
AddAxis(OEWiiMoteTiltRight, 180, "TiltX0+", 2);
AddAxis(OEWiiMoteSwingUp,-0x8000, "SwingY0-", 3);
AddAxis(OEWiiMoteSwingDown,0x7FFF, "SwingY0+", 3);
AddAxis(OEWiiMoteSwingLeft,-0x8000, "SwingX0-", 3);
AddAxis(OEWiiMoteSwingRight,0x7FFF, "SwingX0+", 3);
AddAxis(OEWiiMoteSwingForward, -0x8000, "SwingZ0-", 3);
AddAxis(OEWiiMoteSwingBackward,0x7FFF, "SwingZ0+", 3);
//Nunchuk
AddAxis(OEWiiNunchukAnalogUp, -0x8000, "ncY0-", 4);
AddAxis(OEWiiNunchukAnalogDown,0x7FFF, "ncY0+", 4);
AddAxis(OEWiiNunchukAnalogLeft,-0x8000, "ncX0-", 4);
AddAxis(OEWiiNunchukAnalogRight,0x7FFF, "ncX0+", 4);
//Classic
AddAxis(OEWiiClassicAnalogLUp, -0x8000, "ccY0-", 5);
AddAxis(OEWiiClassicAnalogLDown,0x7FFF, "ccY0+", 5);
AddAxis(OEWiiClassicAnalogLLeft,-0x8000, "ccX0-", 5);
AddAxis(OEWiiClassicAnalogLRight,0x7FFF, "ccX0+", 5);
AddAxis(OEWiiClassicAnalogRUp,-0x8000, "ccY1-", 6);
AddAxis(OEWiiClassicAnalogRDown,0x7FFF, "ccY1+", 6);
AddAxis(OEWiiClassicAnalogRLeft,-0x8000, "ccX1-", 6);
AddAxis(OEWiiClassicAnalogRRight,0x7FFF, "ccX1+", 6);
AddAxis(OEWiiClassicButtonL, 0x7FFF, "ccLTrigger0+");
AddAxis(OEWiiClassicButtonR, 0x7FFF, "ccRTrigger1+");
return;
}
}
static void AddDevicesForPort(unsigned port)
{
g_controller_interface.AddDevice(std::make_shared<OEDevice>(OEDolDevJoy, port));
g_controller_interface.AddDevice(std::make_shared<OEDevice>(OEDolDevAnalog, port));
g_controller_interface.AddDevice(std::make_shared<OEDevice>(OEDolDevPointer, port));
}
static void RemoveDevicesForPort(unsigned port)
{
g_controller_interface.RemoveDevice([&port](const auto& device) {
return device->GetSource() == source
&& (device->GetName() == GetDeviceName(OEDolDevAnalog)
|| device->GetName() == GetDeviceName(OEDolDevJoy)
|| device->GetName() == GetDeviceName(OEDolDevPointer))
&& dynamic_cast<const OEDevice *>(device)->GetPort() == port;
});
}
void Input::Openemu_Input_Init()
{
g_controller_interface.Initialize(DolHost::GetInstance()->GetWSI());
g_controller_interface.AddDevice(std::make_shared<OEDevice>(OEDolDevKeyboard, 0));
Pad::Initialize();
Keyboard::Initialize();
if (SConfig::GetInstance().bWii && !SConfig::GetInstance().m_bt_passthrough_enabled)
{
init_wiimotes = true;
Wiimote::Initialize(Wiimote::InitializeMode::DO_NOT_WAIT_FOR_WIIMOTES);
}
}
void Shutdown()
{
Wiimote::ResetAllWiimotes();
Wiimote::Shutdown();
init_wiimotes = false;
Keyboard::Shutdown();
Pad::Shutdown();
g_controller_interface.Shutdown();
}
void OpenEmu_Input_Update()
{
}
void Input::ResetControllers()
{
for (int port = 0; port < 4; port++)
Input::openemu_set_controller_port_device(port, input_types[port]);
}
void Input::openemu_set_input_state(Input::openemu_input_state_t cb)
{
input_cb = cb;
}
void Input::openemu_set_input_poll(Input::openemu_input_poll_t cb)
{
poll_cb = cb;
}
void Input::openemu_set_controller_port_device(unsigned port, unsigned device)
{
if (port > 4)
return;
input_types[port] = device;
std::string devJoypad = GetQualifiedName(port, OEDolDevJoy);
std::string devAnalog = GetQualifiedName(port, OEDolDevAnalog);
std::string devMouse = GetQualifiedName(port, OEDolDevMouse);
std::string devPointer = GetQualifiedName(port, OEDolDevPointer);
RemoveDevicesForPort(port);
if ((device & 0xff) != OEDolDevNone)
AddDevicesForPort(port);
GCPad* gcPad = (GCPad*)Pad::GetConfig()->GetController(port);
// load an empty inifile section, clears everything
IniFile::Section sec;
gcPad->LoadConfig(&sec);
gcPad->SetDefaultDevice(devJoypad);
ControllerEmu::ControlGroup* gcButtons = gcPad->GetGroup(PadGroup::Buttons);
ControllerEmu::ControlGroup* gcMainStick = gcPad->GetGroup(PadGroup::MainStick);
ControllerEmu::ControlGroup* gcCStick = gcPad->GetGroup(PadGroup::CStick);
ControllerEmu::ControlGroup* gcDPad = gcPad->GetGroup(PadGroup::DPad);
ControllerEmu::ControlGroup* gcTriggers = gcPad->GetGroup(PadGroup::Triggers);
ControllerEmu::ControlGroup* gcRumble = gcPad->GetGroup(PadGroup::Rumble);
#if 0
ControllerEmu::ControlGroup* gcMic = gcPad->GetGroup(PadGroup::Mic);
ControllerEmu::ControlGroup* gcOptions = gcPad->GetGroup(PadGroup::Options);
#endif
gcButtons->SetControlExpression(0, "A"); // A
gcButtons->SetControlExpression(1, "B"); // B
gcButtons->SetControlExpression(2, "X"); // X
gcButtons->SetControlExpression(3, "Y"); // Y
gcButtons->SetControlExpression(4, "Z"); // Z
gcButtons->SetControlExpression(5, "Start"); // Start
gcMainStick->SetControlExpression(0, "`" + devAnalog + ":Y0-`"); // Up
gcMainStick->SetControlExpression(1, "`" + devAnalog + ":Y0+`"); // Down
gcMainStick->SetControlExpression(2, "`" + devAnalog + ":X0-`"); // Left
gcMainStick->SetControlExpression(3, "`" + devAnalog + ":X0+`"); // Right
gcCStick->SetControlExpression(0, "`" + devAnalog + ":Y1-`"); // Up
gcCStick->SetControlExpression(1, "`" + devAnalog + ":Y1+`"); // Down
gcCStick->SetControlExpression(2, "`" + devAnalog + ":X1-`"); // Left
gcCStick->SetControlExpression(3, "`" + devAnalog + ":X1+`"); // Right
gcDPad->SetControlExpression(0, "Up"); // Up
gcDPad->SetControlExpression(1, "Down"); // Down
gcDPad->SetControlExpression(2, "Left"); // Left
gcDPad->SetControlExpression(3, "Right"); // Right
gcTriggers->SetControlExpression(0, "L"); // L-trigger
gcTriggers->SetControlExpression(1, "R"); // R-trigger
gcTriggers->SetControlExpression(2, "`" + devAnalog + ":LTrigger0+`"); // L-trigger Analog
gcTriggers->SetControlExpression(3, "`" + devAnalog + ":RTrigger1+`"); // R-trigger Analog
gcRumble->SetControlExpression(0, "Rumble");
gcPad->UpdateReferences(g_controller_interface);
Pad::GetConfig()->SaveConfig();
if (SConfig::GetInstance().bWii && !SConfig::GetInstance().m_bt_passthrough_enabled)
{
WiimoteEmu::Wiimote* wm = (WiimoteEmu::Wiimote*)Wiimote::GetConfig()->GetController(port);
// load an empty inifile section, clears everything
IniFile::Section sec;
wm->LoadConfig(&sec);
wm->SetDefaultDevice(devJoypad);
using namespace WiimoteEmu;
if (device == OEWiimoteCC || device == OEWiimoteCC_Pro)
{
ControllerEmu::ControlGroup* ccButtons = wm->GetClassicGroup(ClassicGroup::Buttons);
ControllerEmu::ControlGroup* ccTriggers = wm->GetClassicGroup(ClassicGroup::Triggers);
ControllerEmu::ControlGroup* ccDpad = wm->GetClassicGroup(ClassicGroup::DPad);
ControllerEmu::ControlGroup* ccLeftStick = wm->GetClassicGroup(ClassicGroup::LeftStick);
ControllerEmu::ControlGroup* ccRightStick = wm->GetClassicGroup(ClassicGroup::RightStick);
ccButtons->SetControlExpression(0, "A"); // A
ccButtons->SetControlExpression(1, "B"); // B
ccButtons->SetControlExpression(2, "X"); // X
ccButtons->SetControlExpression(3, "Y"); // Y
ccButtons->SetControlExpression(4, "Zl"); // ZL
ccButtons->SetControlExpression(5, "Zr"); // ZR
ccButtons->SetControlExpression(6, "-"); // -
ccButtons->SetControlExpression(7, "+"); // +
ccButtons->SetControlExpression(8, "Home"); // Home
ccTriggers->SetControlExpression(0, "L"); // L-trigger
ccTriggers->SetControlExpression(1, "R"); // R-trigger
ccTriggers->SetControlExpression(2, "`" + devAnalog + "ccLTrigger0+`"); // L-trigger Analog
ccTriggers->SetControlExpression(3, "`" + devAnalog + "ccRTrigger1+`"); // R-trigger Analog
ccDpad->SetControlExpression(0, "Up"); // Up
ccDpad->SetControlExpression(1, "Down"); // Down
ccDpad->SetControlExpression(2, "Left"); // Left
ccDpad->SetControlExpression(3, "Right"); // Right
ccLeftStick->SetControlExpression(0, "`" + devAnalog + ":ccY0-`"); // Up
ccLeftStick->SetControlExpression(1, "`" + devAnalog + ":ccY0+`"); // Down
ccLeftStick->SetControlExpression(2, "`" + devAnalog + ":ccX0-`"); // Left
ccLeftStick->SetControlExpression(3, "`" + devAnalog + ":ccX0+`"); // Right
ccRightStick->SetControlExpression(0, "`" + devAnalog + ":ccY1-`"); // Up
ccRightStick->SetControlExpression(1, "`" + devAnalog + ":ccY1+`"); // Down
ccRightStick->SetControlExpression(2, "`" + devAnalog + ":ccX1-`"); // Left
ccRightStick->SetControlExpression(3, "`" + devAnalog + ":ccX1+`"); // Right
}
else //if (device != OEWiiMoteReal)
{
ControllerEmu::ControlGroup* wmButtons = wm->GetWiimoteGroup(WiimoteGroup::Buttons);
ControllerEmu::ControlGroup* wmDPad = wm->GetWiimoteGroup(WiimoteGroup::DPad);
ControllerEmu::ControlGroup* wmIR = wm->GetWiimoteGroup(WiimoteGroup::Point);
ControllerEmu::ControlGroup* wmShake = wm->GetWiimoteGroup(WiimoteGroup::Shake);
ControllerEmu::ControlGroup* wmTilt = wm->GetWiimoteGroup(WiimoteGroup::Tilt);
ControllerEmu::ControlGroup* wmHotkeys = wm->GetWiimoteGroup(WiimoteGroup::Hotkeys);
#if 0
ControllerEmu::ControlGroup* wmSwing = wm->GetWiimoteGroup(WiimoteGroup::Swing);
#endif
wmButtons->SetControlExpression(0, "A | `" + devMouse + ":Left`"); // A
wmButtons->SetControlExpression(1, "B | `" + devMouse + ":Right`"); // B
if (device == OEWiimoteNC)
{
ControllerEmu::ControlGroup* ncButtons = wm->GetNunchukGroup(NunchukGroup::Buttons);
ControllerEmu::ControlGroup* ncStick = wm->GetNunchukGroup(NunchukGroup::Stick);
ControllerEmu::ControlGroup* ncShake = wm->GetNunchukGroup(NunchukGroup::Shake);
#if 0
ControllerEmu::ControlGroup* ncTilt = wm->GetNunchukGroup(NunchukGroup::Tilt);
ControllerEmu::ControlGroup* ncSwing = wm->GetNunchukGroup(NunchukGroup::Swing);
#endif
ncButtons->SetControlExpression(0, "C"); // C
ncButtons->SetControlExpression(1, "Z"); // Z
ncStick->SetControlExpression(0, "`" + devAnalog + ":ccY0-`"); // Up
ncStick->SetControlExpression(1, "`" + devAnalog + ":ccY0+`"); // Down
ncStick->SetControlExpression(2, "`" + devAnalog + ":ccX0-`"); // Left
ncStick->SetControlExpression(3, "`" + devAnalog + ":ccX0+`"); // Right
ncShake->SetControlExpression(0, "ncShake"); // X
ncShake->SetControlExpression(1, "ncShake"); // Y
ncShake->SetControlExpression(2, "ncShake"); // Z
wmButtons->SetControlExpression(2, "1"); // 1
wmButtons->SetControlExpression(3, "2"); // 2
wmButtons->SetControlExpression(4, "-"); // -
wmButtons->SetControlExpression(5, "+"); // +
}
else
{
wmButtons->SetControlExpression(2, "1"); // 1
wmButtons->SetControlExpression(3, "2"); // 2
wmButtons->SetControlExpression(4, "-"); // -
wmButtons->SetControlExpression(5, "+"); // +
}
wmButtons->SetControlExpression(6, "Home"); // Home
wmDPad->SetControlExpression(0, "Up"); // Up
wmDPad->SetControlExpression(1, "Down"); // Down
wmDPad->SetControlExpression(2, "Left"); // Left
wmDPad->SetControlExpression(3, "Right"); // Right
wmIR->SetControlExpression(0, "`" + devPointer + ":Y0-`"); // Up
wmIR->SetControlExpression(1, "`" + devPointer + ":Y0+`"); // Down
wmIR->SetControlExpression(2, "`" + devPointer + ":X0-`"); // Left
wmIR->SetControlExpression(3, "`" + devPointer + ":X0+`"); // Right
wmShake->SetControlExpression(0, "wmShake"); // X
wmShake->SetControlExpression(1, "wmShake"); // Y
wmShake->SetControlExpression(2, "wmShake"); // Z
wmTilt->SetControlExpression(0, "`" + devAnalog + ":TiltY0-`"); // Forward
wmTilt->SetControlExpression(1, "`" + devAnalog + ":TiltY0+`"); // Backward
wmTilt->SetControlExpression(2, "`" + devAnalog + ":TiltX0-`"); // Left
wmTilt->SetControlExpression(3, "`" + devAnalog + ":TiltX0+`"); // Right
#if 0
wmHotkeys->SetControlExpression(0, "Sideways"); // Sideways Toggle
wmHotkeys->SetControlExpression(1, "Upright"); // Upright Toggle
wmHotkeys->SetControlExpression(2, "Sideways"); // Sideways Hold
wmHotkeys->SetControlExpression(3, "Upright"); // Upright Hold
#endif
}
ControllerEmu::ControlGroup* wmRumble = wm->GetWiimoteGroup(WiimoteGroup::Rumble);
ControllerEmu::ControlGroup* wmOptions = wm->GetWiimoteGroup(WiimoteGroup::Options);
ControllerEmu::Attachments* wmExtension =
(ControllerEmu::Attachments*)wm->GetWiimoteGroup(WiimoteGroup::Attachments);
static_cast<ControllerEmu::NumericSetting<double>*>(wmOptions->numeric_settings[0].get())
->SetValue(0); // Speaker Pan [-100, 100]
static_cast<ControllerEmu::NumericSetting<double>*>(wmOptions->numeric_settings[1].get())
->SetValue(95); // Battery [0, 100]
static_cast<ControllerEmu::NumericSetting<bool>*>(wmOptions->numeric_settings[2].get())
->SetValue(false); // Upright Wiimote
static_cast<ControllerEmu::NumericSetting<bool>*>(wmOptions->numeric_settings[3].get())
->SetValue(false); // Sideways Wiimote
wmRumble->SetControlExpression(0, "Rumble");
switch (device)
{
case OEWiimote:
wmExtension->SetSelectedAttachment(ExtensionNumber::NONE);
WiimoteCommon::SetSource(port, WiimoteSource::Emulated);
break;
case OEWiimoteSW:
wmExtension->SetSelectedAttachment(ExtensionNumber::NONE);
static_cast<ControllerEmu::NumericSetting<bool>*>(wmOptions->numeric_settings[2].get())
->SetValue(true); // Sideways Wiimote
WiimoteCommon::SetSource(port, WiimoteSource::Emulated);
break;
case OEWiimoteNC:
wmExtension->SetSelectedAttachment(ExtensionNumber::NUNCHUK);
WiimoteCommon::SetSource(port, WiimoteSource::Emulated);
break;
case OEWiimoteCC:
case OEWiimoteCC_Pro:
wmExtension->SetSelectedAttachment(ExtensionNumber::CLASSIC);
WiimoteCommon::SetSource(port, WiimoteSource::Emulated);
break;
case OEWiiMoteReal:
//desc = Libretro::Input::descEmpty;
WiimoteCommon::SetSource(port, WiimoteSource::Real);
default:
//desc = Libretro::Input::descGC;
WiimoteCommon::SetSource(port, WiimoteSource::None);
break;
}
wm->UpdateReferences(g_controller_interface);
::Wiimote::GetConfig()->SaveConfig();
}
}
-79
View File
@@ -1,79 +0,0 @@
//Dolphins Internal Controll expression Reference
//Wiimote
//m_buttons->SetControlExpression(0, "A");
//m_buttons->SetControlExpression(1, "B");
//m_buttons->SetControlExpression(2, "`1`");
//m_buttons->SetControlExpression(3, "`2`");
//m_buttons->SetControlExpression(4, "-");
//m_buttons->SetControlExpression(5, "+");
//m_buttons->SetControlExpression(6, "Home");
//m_dpad->SetControlExpression(0, "UP");
//m_dpad->SetControlExpression(1, "DOWN");
//m_dpad->SetControlExpression(2, "LEFT");
//m_dpad->SetControlExpression(3, "RIGHT");
//m_ir->SetControlExpression(0, "Cursor Y-");
//m_ir->SetControlExpression(1, "Cursor Y+");
//m_ir->SetControlExpression(2, "Cursor X-");
//m_ir->SetControlExpression(3, "Cursor X+");
//Tilt:
//m_imu_gyroscope->SetControlExpression(0, "Tilt Backward");
//m_imu_gyroscope->SetControlExpression(1, "Tilt Forward");
//m_imu_gyroscope->SetControlExpression(2, "Tilt Left");
//m_imu_gyroscope->SetControlExpression(3, "Tilt Right");
//m_imu_gyroscope->SetControlExpression(3, "Tilt Modifier");
//Swing:
//m_imu_accelerometer->SetControlExpression(0, "Accel Up");
//m_imu_accelerometer->SetControlExpression(1, "Accel Down");
//m_imu_accelerometer->SetControlExpression(2, "Accel Left");
//m_imu_accelerometer->SetControlExpression(3, "Accel Right");
//m_imu_accelerometer->SetControlExpression(4, "Accel Forward");
//m_imu_accelerometer->SetControlExpression(5, "Accel Backward");
//Gyro:
//m_imu_gyroscope->SetControlExpression(0, "Gyro Pitch Up");
//m_imu_gyroscope->SetControlExpression(1, "Gyro Pitch Down");
//m_imu_gyroscope->SetControlExpression(2, "Gyro Roll Left");
//m_imu_gyroscope->SetControlExpression(3, "Gyro Roll Right");
//m_imu_gyroscope->SetControlExpression(4, "Gyro Yaw Left");
//m_imu_gyroscope->SetControlExpression(5, "Gyro Yaw Right");
typedef enum _OEDolDev
{
OEDolDevNone,
OEDolDevJoy,
OEDolDevMouse,
OEDolDevKeyboard,
OEDolDevLightGun,
OEDolDevAnalog,
OEDolDevPointer
} OEDolDevs;
typedef enum _OEGCDigital
{
OEGCDigitalL = 21,
OEGCDigitalR
} OEGCDigital;
typedef enum _OEWiiConType
{
OEWiimote = 1,
OEWiimoteSW,
OEWiimoteNC,
OEWiimoteCC,
OEWiimoteCC_Pro,
OEWiiMoteReal
} OEWiiConType;
namespace Input
{
typedef int16_t (*openemu_input_state_t)(unsigned port, unsigned device, unsigned index, unsigned id);
typedef void (*openemu_input_poll_t)();
void openemu_set_controller_port_device(unsigned port, unsigned device);
void openemu_set_input_state(openemu_input_state_t);
void openemu_set_input_poll(openemu_input_poll_t);
void Openemu_Input_Init();
void OpenEmu_Input_Update();
void ResetControllers();
}
-88
View File
@@ -1,88 +0,0 @@
// Copyright 2012 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include "DolphinGameCore.h"
#include "Core/ConfigManager.h"
#include <OpenGL/gl3.h>
#include "Common/GL/GLInterface/AGL.h"
#include "Common/Logging/Log.h"
static bool UpdateCachedDimensions(NSView* view, u32* width, u32* height)
{
return true;
}
static bool AttachContextToView(NSOpenGLContext* context, NSView* view, u32* width, u32* height)
{
return true;
}
GLContextAGL::~GLContextAGL()
{
}
bool GLContextAGL::IsHeadless() const
{
return false;
}
void GLContextAGL::Swap()
{
[_current.renderDelegate didRenderFrameOnAlternateThread];
}
// Create rendering window.
// Call browser: Core.cpp:EmuThread() > main.cpp:Video_Initialize()
bool GLContextAGL::Initialize(const WindowSystemInfo& wsi, bool stereo, bool core)
{
MakeCurrent();
// Control window size and picture scaling
if(SConfig::GetInstance().bWii) {
m_backbuffer_width = 854;
m_backbuffer_height = 480;
} else {
m_backbuffer_width = 640;
m_backbuffer_height = 480;
}
return true;
}
std::unique_ptr<GLContext> GLContextAGL::CreateSharedContext()
{
return nullptr;
}
bool GLContextAGL::MakeCurrent()
{
[_current.renderDelegate willRenderFrameOnAlternateThread];
// Set the background color of the context to black
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
Swap();
return true;
}
bool GLContextAGL::ClearCurrent()
{
return true;
}
void GLContextAGL::Update()
{
if(SConfig::GetInstance().bWii) {
m_backbuffer_width = 854;
m_backbuffer_height = 480;
} else {
m_backbuffer_width = 640;
m_backbuffer_height = 480;
}
return;
}
void GLContextAGL::SwapInterval(int interval)
{
}
File diff suppressed because it is too large Load Diff
-255
View File
@@ -1,255 +0,0 @@
//// Copyright 2008 Dolphin Emulator Project
//// Licensed under GPLv2+
// Copyright 2008 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
// IMPORTANT: UI etc should modify g_Config. Graphics code should read g_ActiveConfig.
// The reason for this is to get rid of race conditions etc when the configuration
// changes in the middle of a frame. This is done by copying g_Config to g_ActiveConfig
// at the start of every frame. Noone should ever change members of g_ActiveConfig
// directly.
#pragma once
#include <string>
#include <vector>
#include "Common/CommonTypes.h"
enum class APIType;
// Log in two categories, and save three other options in the same byte
#define CONF_LOG 1
#define CONF_PRIMLOG 2
#define CONF_SAVETARGETS 8
#define CONF_SAVESHADERS 16
constexpr int EFB_SCALE_AUTO_INTEGRAL = 0;
enum class AspectMode : int
{
Auto,
AnalogWide,
Analog,
Stretch,
};
enum class StereoMode : int
{
Off,
SBS,
TAB,
Anaglyph,
QuadBuffer,
Passive
};
enum class ShaderCompilationMode : int
{
Synchronous,
SynchronousUberShaders,
AsynchronousUberShaders,
AsynchronousSkipRendering
};
// NEVER inherit from this class.
struct VideoConfig final
{
VideoConfig();
void Refresh();
void VerifyValidity();
// General
bool bVSync;
bool bVSyncActive;
bool bWidescreenHack;
AspectMode aspect_mode;
AspectMode suggested_aspect_mode;
bool bCrop; // Aspect ratio controls.
bool bShaderCache;
// Enhancements
u32 iMultisamples;
bool bSSAA;
int iEFBScale;
bool bForceFiltering;
int iMaxAnisotropy;
std::string sPostProcessingShader;
bool bForceTrueColor;
bool bDisableCopyFilter;
bool bArbitraryMipmapDetection;
float fArbitraryMipmapDetectionThreshold;
// Information
bool bShowFPS;
bool bShowNetPlayPing;
bool bShowNetPlayMessages;
bool bOverlayStats;
bool bOverlayProjStats;
bool bTexFmtOverlayEnable;
bool bTexFmtOverlayCenter;
bool bLogRenderTimeToFile;
// Render
bool bWireFrame;
bool bDisableFog;
// OpenEmu render buffer
int iRenderFBO = 0;
// Utility
bool bDumpTextures;
bool bDumpMipmapTextures;
bool bDumpBaseTextures;
bool bHiresTextures;
bool bCacheHiresTextures;
bool bDumpEFBTarget;
bool bDumpXFBTarget;
bool bDumpFramesAsImages;
bool bUseFFV1;
std::string sDumpCodec;
std::string sDumpEncoder;
std::string sDumpFormat;
std::string sDumpPath;
bool bInternalResolutionFrameDumps;
bool bBorderlessFullscreen;
bool bEnableGPUTextureDecoding;
int iBitrateKbps;
// Hacks
bool bEFBAccessEnable;
bool bEFBAccessDeferInvalidation;
bool bPerfQueriesEnable;
bool bBBoxEnable;
bool bForceProgressive;
bool bEFBEmulateFormatChanges;
bool bSkipEFBCopyToRam;
bool bSkipXFBCopyToRam;
bool bDisableCopyToVRAM;
bool bDeferEFBCopies;
bool bImmediateXFB;
bool bSkipPresentingDuplicateXFBs;
bool bCopyEFBScaled;
int iSafeTextureCache_ColorSamples;
float fAspectRatioHackW, fAspectRatioHackH;
bool bEnablePixelLighting;
bool bFastDepthCalc;
bool bVertexRounding;
int iEFBAccessTileSize;
int iLog; // CONF_ bits
int iSaveTargetId; // TODO: Should be dropped
// Stereoscopy
StereoMode stereo_mode;
int iStereoDepth;
int iStereoConvergence;
int iStereoConvergencePercentage;
bool bStereoSwapEyes;
bool bStereoEFBMonoDepth;
int iStereoDepthPercentage;
// D3D only config, mostly to be merged into the above
int iAdapter;
// VideoSW Debugging
int drawStart;
int drawEnd;
bool bZComploc;
bool bZFreeze;
bool bDumpObjects;
bool bDumpTevStages;
bool bDumpTevTextureFetches;
// Enable API validation layers, currently only supported with Vulkan.
bool bEnableValidationLayer;
// Multithreaded submission, currently only supported with Vulkan.
bool bBackendMultithreading;
// Early command buffer execution interval in number of draws.
// Currently only supported with Vulkan.
int iCommandBufferExecuteInterval;
// Shader compilation settings.
bool bWaitForShadersBeforeStarting;
ShaderCompilationMode iShaderCompilationMode;
// Number of shader compiler threads.
// 0 disables background compilation.
// -1 uses an automatic number based on the CPU threads.
int iShaderCompilerThreads;
int iShaderPrecompilerThreads;
// Static config per API
// TODO: Move this out of VideoConfig
struct
{
APIType api_type;
std::vector<std::string> Adapters; // for D3D
std::vector<u32> AAModes;
// TODO: merge AdapterName and Adapters array
std::string AdapterName; // for OpenGL
u32 MaxTextureSize;
bool bUsesLowerLeftOrigin;
bool bSupportsExclusiveFullscreen;
bool bSupportsDualSourceBlend;
bool bSupportsPrimitiveRestart;
bool bSupportsOversizedViewports;
bool bSupportsGeometryShaders;
bool bSupportsComputeShaders;
bool bSupports3DVision;
bool bSupportsEarlyZ; // needed by PixelShaderGen, so must stay in VideoCommon
bool bSupportsBindingLayout; // Needed by ShaderGen, so must stay in VideoCommon
bool bSupportsBBox;
bool bSupportsGSInstancing; // Needed by GeometryShaderGen, so must stay in VideoCommon
bool bSupportsPostProcessing;
bool bSupportsPaletteConversion;
bool bSupportsClipControl; // Needed by VertexShaderGen, so must stay in VideoCommon
bool bSupportsSSAA;
bool bSupportsFragmentStoresAndAtomics; // a.k.a. OpenGL SSBOs a.k.a. Direct3D UAVs
bool bSupportsDepthClamp; // Needed by VertexShaderGen, so must stay in VideoCommon
bool bSupportsReversedDepthRange;
bool bSupportsLogicOp;
bool bSupportsMultithreading;
bool bSupportsGPUTextureDecoding;
bool bSupportsST3CTextures;
bool bSupportsCopyToVram;
bool bSupportsBitfield; // Needed by UberShaders, so must stay in VideoCommon
bool bSupportsDynamicSamplerIndexing; // Needed by UberShaders, so must stay in VideoCommon
bool bSupportsBPTCTextures;
bool bSupportsFramebufferFetch; // Used as an alternative to dual-source blend on GLES
bool bSupportsBackgroundCompiling;
bool bSupportsLargePoints;
bool bSupportsPartialDepthCopies;
bool bSupportsDepthReadback;
bool bSupportsShaderBinaries;
bool bSupportsPipelineCacheData;
} backend_info;
// Utility
bool MultisamplingEnabled() const { return iMultisamples > 1; }
bool ExclusiveFullscreenEnabled() const
{
return backend_info.bSupportsExclusiveFullscreen && !bBorderlessFullscreen;
}
bool UseGPUTextureDecoding() const
{
return backend_info.bSupportsGPUTextureDecoding && bEnableGPUTextureDecoding;
}
bool UseVertexRounding() const { return bVertexRounding && iEFBScale != 1; }
bool UsingUberShaders() const;
u32 GetShaderCompilerThreads() const;
u32 GetShaderPrecompilerThreads() const;
};
extern VideoConfig g_Config;
extern VideoConfig g_ActiveConfig;
// Called every frame.
void UpdateActiveConfig();
-86
View File
@@ -1,86 +0,0 @@
/* Default visibility */
#define DEFAULT_VISIBILITY __attribute__((visibility("default")))
/* Start with debug message logging enabled */
#undef ENABLE_DEBUG_LOGGING
/* Message logging */
#undef ENABLE_LOGGING
/* Define to 1 if you have the <asm/types.h> header file. */
/* #undef HAVE_ASM_TYPES_H */
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `udev' library (-ludev). */
/* #undef HAVE_LIBUDEV */
/* Define to 1 if you have the <linux/filter.h> header file. */
/* #undef HAVE_LINUX_FILTER_H */
/* Define to 1 if you have the <linux/netlink.h> header file. */
/* #undef HAVE_LINUX_NETLINK_H */
/* Define to 1 if you have the <poll.h> header file. */
#define HAVE_POLL_H 1
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if the system has the type `struct timespec'. */
/* #undef HAVE_STRUCT_TIMESPEC */
/* syslog() function available */
#define HAVE_SYSLOG_FUNC 1
/* Define to 1 if you have the <syslog.h> header file. */
#define HAVE_SYSLOG_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Darwin backend */
#define OS_DARWIN 1
/* Linux backend */
/* #undef OS_LINUX */
/* NetBSD backend */
/* #undef OS_NETBSD */
/* OpenBSD backend */
/* #undef OS_OPENBSD */
/* Windows backend */
/* #undef OS_WINDOWS */
/* type of second poll() argument */
#define POLL_NFDS_TYPE unsigned int
/* Use POSIX Threads */
#define THREADS_POSIX
/* timerfd headers available */
/* #undef USBI_TIMERFD_AVAILABLE */
/* Enable output to system log */
#define USE_SYSTEM_LOGGING_FACILITY 1
/* Use udev for device enumeration/hotplug */
/* #undef USE_UDEV */
/* Use GNU extensions */
#define _GNU_SOURCE
/* Oldest Windows version supported */
#define WINVER 0x0501
-505
View File
@@ -1,505 +0,0 @@
/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */
/* How many MiB of RAM to assume if the real amount cannot be determined. */
#define ASSUME_RAM 128
/* Define to 1 if translation of program messages to the user's native
language is requested. */
/* #undef #define ENABLE_NLS 1 */
/* Define to 1 if bswap_16 is available. */
#define HAVE_BSWAP_16 1
/* Define to 1 if bswap_32 is available. */
#define HAVE_BSWAP_32 1
/* Define to 1 if bswap_64 is available. */
#define HAVE_BSWAP_64 1
/* Define to 1 if you have the <byteswap.h> header file. */
/* #undef HAVE_BYTESWAP_H 1 */
/* Define to 1 if Capsicum is available. */
/* #undef HAVE_CAPSICUM */
/* Define to 1 if the system has the type `CC_SHA256_CTX'. */
/* #undef HAVE_CC_SHA256_CTX */
/* Define to 1 if you have the `CC_SHA256_Init' function. */
/* #undef HAVE_CC_SHA256_INIT */
/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
CoreFoundation framework. */
/* #undef HAVE_CFLOCALECOPYCURRENT */
/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
the CoreFoundation framework. */
/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */
/* Define to 1 if crc32 integrity check is enabled. */
#define HAVE_CHECK_CRC32 1
/* Define to 1 if crc64 integrity check is enabled. */
#define HAVE_CHECK_CRC64 1
/* Define to 1 if sha256 integrity check is enabled. */
#define HAVE_CHECK_SHA256 1
/* Define to 1 if you have the `clock_gettime' function. */
#define HAVE_CLOCK_GETTIME 1
/* Define to 1 if you have the <CommonCrypto/CommonDigest.h> header file. */
/* #undef HAVE_COMMONCRYPTO_COMMONDIGEST_H */
/* Define if the GNU dcgettext() function is already present or preinstalled.
*/
#define HAVE_DCGETTEXT 1
/* Define to 1 if you have the declaration of `CLOCK_MONOTONIC', and to 0 if
you don't. */
#define HAVE_DECL_CLOCK_MONOTONIC 1
/* Define to 1 if you have the declaration of `program_invocation_name', and
to 0 if you don't. */
/* undef HAVE_DECL_PROGRAM_INVOCATION_NAME 1 */
/* Define to 1 if any of HAVE_DECODER_foo have been defined. */
#define HAVE_DECODERS 1
/* Define to 1 if arm decoder is enabled. */
// #define HAVE_DECODER_ARM 1
/* Define to 1 if armthumb decoder is enabled. */
// #define HAVE_DECODER_ARMTHUMB 1
/* Define to 1 if delta decoder is enabled. */
#define HAVE_DECODER_DELTA 1
/* Define to 1 if ia64 decoder is enabled. */
// #define HAVE_DECODER_IA64 1
/* Define to 1 if lzma1 decoder is enabled. */
#define HAVE_DECODER_LZMA1 1
/* Define to 1 if lzma2 decoder is enabled. */
#define HAVE_DECODER_LZMA2 1
/* Define to 1 if powerpc decoder is enabled. */
// #define HAVE_DECODER_POWERPC 1
/* Define to 1 if sparc decoder is enabled. */
// #define HAVE_DECODER_SPARC 1
/* Define to 1 if x86 decoder is enabled. */
// #define HAVE_DECODER_X86 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if any of HAVE_ENCODER_foo have been defined. */
#define HAVE_ENCODERS 1
/* Define to 1 if arm encoder is enabled. */
// #define HAVE_ENCODER_ARM 1
/* Define to 1 if armthumb encoder is enabled. */
// #define HAVE_ENCODER_ARMTHUMB 1
/* Define to 1 if delta encoder is enabled. */
#define HAVE_ENCODER_DELTA 1
/* Define to 1 if ia64 encoder is enabled. */
// #define HAVE_ENCODER_IA64 1
/* Define to 1 if lzma1 encoder is enabled. */
#define HAVE_ENCODER_LZMA1 1
/* Define to 1 if lzma2 encoder is enabled. */
#define HAVE_ENCODER_LZMA2 1
/* Define to 1 if powerpc encoder is enabled. */
// #define HAVE_ENCODER_POWERPC 1
/* Define to 1 if sparc encoder is enabled. */
// #define HAVE_ENCODER_SPARC 1
/* Define to 1 if x86 encoder is enabled. */
// #define HAVE_ENCODER_X86 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1
/* Define to 1 if you have the `futimes' function. */
/* #undef HAVE_FUTIMES */
/* Define to 1 if you have the `futimesat' function. */
/* #undef HAVE_FUTIMESAT */
/* Define to 1 if you have the <getopt.h> header file. */
#define HAVE_GETOPT_H 1
/* Define to 1 if you have the `getopt_long' function. */
#define HAVE_GETOPT_LONG 1
/* Define if the GNU gettext() function is already present or preinstalled. */
/* #undef HAVE_GETTEXT 1 */
/* Define if you have the iconv() function and it works. */
/* #undef HAVE_ICONV */
#ifdef _M_X86
/* Define to 1 if you have the <immintrin.h> header file. */
#define HAVE_IMMINTRIN_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 to enable bt2 match finder. */
#define HAVE_MF_BT2 1
/* Define to 1 to enable bt3 match finder. */
#define HAVE_MF_BT3 1
/* Define to 1 to enable bt4 match finder. */
#define HAVE_MF_BT4 1
/* Define to 1 to enable hc3 match finder. */
#define HAVE_MF_HC3 1
/* Define to 1 to enable hc4 match finder. */
#define HAVE_MF_HC4 1
/* Define to 1 if getopt.h declares extern int optreset. */
/* #undef HAVE_OPTRESET */
/* Define to 1 if you have the `posix_fadvise' function. */
#define HAVE_POSIX_FADVISE 1
/* Define to 1 if you have the `pthread_condattr_setclock' function. */
//#define HAVE_PTHREAD_CONDATTR_SETCLOCK 1
/* Have PTHREAD_PRIO_INHERIT. */
#define HAVE_PTHREAD_PRIO_INHERIT 1
/* Define to 1 if you have the `SHA256Init' function. */
/* #undef HAVE_SHA256INIT */
/* Define to 1 if the system has the type `SHA256_CTX'. */
/* #undef HAVE_SHA256_CTX */
/* Define to 1 if you have the <sha256.h> header file. */
/* #undef HAVE_SHA256_H */
/* Define to 1 if you have the `SHA256_Init' function. */
/* #undef HAVE_SHA256_INIT */
/* Define to 1 if the system has the type `SHA2_CTX'. */
/* #undef HAVE_SHA2_CTX */
/* Define to 1 if you have the <sha2.h> header file. */
/* #undef HAVE_SHA2_H */
/* Define to 1 if optimizing for size. */
/* #undef HAVE_SMALL */
/* Define to 1 if stdbool.h conforms to C99. */
#define HAVE_STDBOOL_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
/* #undef HAVE_STRINGS_H 1 */
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if `st_atimensec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_ATIMENSEC */
/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC */
/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC */
/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1
/* Define to 1 if `st_uatime' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_UATIME */
/* Define to 1 if you have the <sys/byteorder.h> header file. */
/* #undef HAVE_SYS_BYTEORDER_H */
/* Define to 1 if you have the <sys/capsicum.h> header file. */
/* #undef HAVE_SYS_CAPSICUM_H */
/* Define to 1 if you have the <sys/endian.h> header file. */
/* #undef HAVE_SYS_ENDIAN_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
/* #undef HAVE_SYS_TIME_H 1 */
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if the system has the type `uintptr_t'. */
#define HAVE_UINTPTR_T 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `utime' function. */
/* #undef HAVE_UTIME */
/* Define to 1 if you have the `utimes' function. */
/* #undef HAVE_UTIMES */
/* Define to 1 or 0, depending whether the compiler supports simple visibility
declarations. */
#define HAVE_VISIBILITY 1
/* Define to 1 if you have the `wcwidth' function. */
#define HAVE_WCWIDTH 1
/* Define to 1 if the system has the type `_Bool'. */
#define HAVE__BOOL 1
/* Define to 1 if you have the `_futime' function. */
/* #undef HAVE__FUTIME */
/* Define to 1 if _mm_movemask_epi8 is available. */
#define HAVE__MM_MOVEMASK_EPI8 1
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#define LT_OBJDIR ".libs/"
#ifndef _WIN32
/* Define to 1 when using POSIX threads (pthreads). */
#define MYTHREAD_POSIX 1
#else
/* Define to 1 when using Windows Vista compatible threads. This uses features
that are not available on Windows XP. */
#define MYTHREAD_VISTA
#endif
/* Define to 1 when using Windows 95 (and thus XP) compatible threads. This
avoids use of features that were added in Windows Vista. */
/* #undef MYTHREAD_WIN95 */
/* Define to 1 to disable debugging code. */
#define NDEBUG 1
/* Name of package */
#define PACKAGE "xz"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "lasse.collin@tukaani.org"
/* Define to the full name of this package. */
#define PACKAGE_NAME "XZ Utils"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "XZ Utils 5.2.4"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "xz"
/* Define to the home page for this package. */
#define PACKAGE_URL "https://tukaani.org/xz/"
/* Define to the version of this package. */
#define PACKAGE_VERSION "5.2.4"
/* Define to necessary symbol if this constant uses a non-standard name on
your system. */
/* #undef PTHREAD_CREATE_JOINABLE */
/* The size of `size_t', as computed by sizeof. */
#define SIZEOF_SIZE_T 8
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if the number of available CPU cores can be detected with
cpuset(2). */
/* #undef TUKLIB_CPUCORES_CPUSET */
/* Define to 1 if the number of available CPU cores can be detected with
pstat_getdynamic(). */
/* #undef TUKLIB_CPUCORES_PSTAT_GETDYNAMIC */
/* Define to 1 if the number of available CPU cores can be detected with
sched_getaffinity() */
/* #undef TUKLIB_CPUCORES_SCHED_GETAFFINITY */
/* Define to 1 if the number of available CPU cores can be detected with
sysconf(_SC_NPROCESSORS_ONLN) or sysconf(_SC_NPROC_ONLN). */
/* #undef TUKLIB_CPUCORES_SYSCONF */
/* Define to 1 if the number of available CPU cores can be detected with
sysctl(). */
/* #undef TUKLIB_CPUCORES_SYSCTL */
#ifdef _M_X86
/* Define to 1 if the system supports fast unaligned access to 16-bit and
32-bit integers. */
#define TUKLIB_FAST_UNALIGNED_ACCESS 1
#endif
/* Define to 1 if the amount of physical memory can be detected with
_system_configuration.physmem. */
/* #undef TUKLIB_PHYSMEM_AIX */
/* Define to 1 if the amount of physical memory can be detected with
getinvent_r(). */
/* #undef TUKLIB_PHYSMEM_GETINVENT_R */
/* Define to 1 if the amount of physical memory can be detected with
getsysinfo(). */
/* #undef TUKLIB_PHYSMEM_GETSYSINFO */
/* Define to 1 if the amount of physical memory can be detected with
pstat_getstatic(). */
/* #undef TUKLIB_PHYSMEM_PSTAT_GETSTATIC */
/* Define to 1 if the amount of physical memory can be detected with
sysconf(_SC_PAGESIZE) and sysconf(_SC_PHYS_PAGES). */
#define TUKLIB_PHYSMEM_SYSCONF 1
/* Define to 1 if the amount of physical memory can be detected with sysctl().
*/
/* #undef TUKLIB_PHYSMEM_SYSCTL */
/* Define to 1 if the amount of physical memory can be detected with Linux
sysinfo(). */
/* #undef TUKLIB_PHYSMEM_SYSINFO */
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
/* Version number of package */
#define VERSION "5.2.4"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* # undef WORDS_BIGENDIAN */
# endif
#endif
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
/* #undef _UINT32_T */
/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
/* #undef _UINT64_T */
/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
/* #undef _UINT8_T */
/* Define to rpl_ if the getopt replacement functions and variables should be
used. */
/* #undef __GETOPT_PREFIX */
/* Define to the type of a signed integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
/* #undef int32_t */
/* Define to the type of a signed integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
/* #undef int64_t */
/* Define to the type of an unsigned integer type of width exactly 16 bits if
such a type exists and the standard includes do not define it. */
/* #undef uint16_t */
/* Define to the type of an unsigned integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
/* #undef uint32_t */
/* Define to the type of an unsigned integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
/* #undef uint64_t */
/* Define to the type of an unsigned integer type of width exactly 8 bits if
such a type exists and the standard includes do not define it. */
/* #undef uint8_t */
/* Define to the type of an unsigned integer type wide enough to hold a
pointer, if such a type exists, and if the system does not define it. */
/* #undef uintptr_t */
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+182
View File
@@ -0,0 +1,182 @@
[Default]
IRLeft = 266
IRTop = 215
IRWidth = 486
IRHeight = 490
[RSPE] # Wii Sports (NTSC)
IRLeft = 266
IRTop = 215
IRWidth = 486
IRHeight = 490
[RSPP] # Wii Sports (PAL)
IRLeft = 266
IRTop = 215
IRWidth = 486
IRHeight = 490
[RMGE] # Mario Galaxy (NTSC)
IRLeft = 255
IRTop = 278
IRWidth = 452
IRHeight = 456
[RMGP] # Mario Galaxy (PAL)
IRLeft = 255
IRTop = 278
IRWidth = 452
IRHeight = 456
[RMCE] # Mario Kart Wii (NTSC)
IRLeft = 253
IRTop = 272
IRWidth = 454
IRHeight = 455
[RMCP] # Mario Kart Wii (PAL)
IRLeft = 254
IRTop = 278
IRWidth = 451
IRHeight = 448
[R7PE] # Punch Out (NTSC)
IRLeft = 265
IRTop = 289
IRWidth = 408
IRHeight = 416
[R7PP] # Punch Out (PAL)
IRLeft = 265
IRTop = 289
IRWidth = 408
IRHeight = 416
[RZDE] # Zelda - Twilight Princess (NTSC)
IRLeft = 233
IRTop = 181
IRWidth = 559
IRHeight = 409
[RZDP] # Zelda - Twilight Princess (PAL)
IRLeft = 233
IRTop = 181
IRWidth = 559
IRHeight = 409
[RM8E] # Mario Part 8 (NTSC)
IRLeft = 277
IRTop = 273
IRWidth = 460
IRHeight = 394
[RM8P] # Mario Part 8 (PAL)
IRLeft = 277
IRTop = 273
IRWidth = 460
IRHeight = 394
[R8PE] # Super Paper Mario (NTSC)
IRLeft = 399
IRTop = 373
IRWidth = 227
IRHeight = 228
[R8PP] # Super Paper Mario (PAL)
IRLeft = 399
IRTop = 373
IRWidth = 227
IRHeight = 228
[R4QP] # Mario Strikers (NTSC)
IRLeft = 200
IRTop = 54
IRWidth = 615
IRHeight = 657
[R4QP] # Mario Strikers (PAL)
IRLeft = 200
IRTop = 54
IRWidth = 615
IRHeight = 657
[RBUE] # Resident Evil - The Umbrella Chronicles (NTSC)
IRLeft = 335
IRTop = 351
IRWidth = 357
IRHeight = 273
[RBUP] # Resident Evil - The Umbrella Chronicles (PAL)
IRLeft = 335
IRTop = 351
IRWidth = 357
IRHeight = 273
[RB4E] # Resident Evil 4 (NTSC)
IRLeft = 286
IRTop = 256
IRWidth = 450
IRHeight = 455
[RB4P] # Resident Evil 4 (PAL)
IRLeft = 286
IRTop = 256
IRWidth = 450
IRHeight = 455
[R3IJ] # Metroid Prime - Wii De Asobu (JAP)
IRLeft = 228
IRTop = 112
IRWidth = 486
IRHeight = 577
[RM3E] # Metroid Prime 3 (NTSC)
IRLeft = 258
IRTop = 84
IRWidth = 489
IRHeight = 613
[RM3P] # Metroid Prime 3 (PAL)
IRLeft = 258
IRTop = 84
IRWidth = 489
IRHeight = 613
[RSUP] # Sports Party (NTSC)
IRLeft = 391
IRTop = 377
IRWidth = 241
IRHeight = 225
[RSUP] # Sports Party (PAL)
IRLeft = 391
IRTop = 377
IRWidth = 241
IRHeight = 225
[RDZE] # Disaster - Day of Crisis (NTSC)
IRLeft = 253
IRTop = 276
IRWidth = 453
IRHeight = 421
[RDZP] # Disaster - Day of Crisis (PAL)
IRLeft = 253
IRTop = 276
IRWidth = 453
IRHeight = 421
[R4QE] # Mario Strikers (NTSC)
IRLeft = 266
IRTop = 215
IRWidth = 486
IRHeight = 490
[R4QP] # Mario Strikers (PAL)
IRLeft = 266
IRTop = 215
IRWidth = 486
IRHeight = 490
[RPBE] # Pokemon Battle Revolution (NTSC)
IRLeft = 287
IRTop = 261
IRWidth = 451
IRHeight = 449
[RPBP] # Pokemon Battle Revolution (PAL)
IRLeft = 287
IRTop = 261
IRWidth = 451
IRHeight = 449
[R2GJ] # Fragile: Sayonara Tsuki no Haikyo (JAP)
IRLeft = 254
IRTop = 280
IRWidth = 451
IRHeight = 453
[RFNE] # Wii Fit (NTSC)
[RFNP] # Wii Fit (PAL)
[RSBE] # Super Smash Bros. Brawl (NTSC)
[RSBP] # Super Smash Bros. Brawl (PAL)
[R3TE] # Top Spin 3 (NTSC)
[RSBP] # Top Spin 3 (PAL)
[RLBE] # Lego Batman (NTSC)
[RLBP] # Lego Batman (PAL)
##########################################################################
# These games don't use the IR Pointer at any time
##########################################################################
[RSRE] # Sonic and the Secret Rings (NTSC)
[RSRP] # Sonic and the Secret Rings (PAL)
[RWLE] # Wario Land - Shake It (NTSC)
[RWLP] # Wario Land - Shake It (PAL)
[RTNE] # Tenchu: Shadow Assassins (NTSC)
[RTNE] # Tenchu: Shadow Assassins (PAL)
View File
+15
View File
@@ -0,0 +1,15 @@
# D43E01 - ZELDA OCARINA MULTI PACK
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 5
EmulationIssues = Minor video glitches when pausing
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+14
View File
@@ -0,0 +1,14 @@
# D43J01 - ZELDA OCARINA MULTI PACK
[Core]
#Values set here will override the main dolphin settings.
[EmuState]
#The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnLoad]
#Add memory patches to be loaded once on boot here.
[OnFrame]
+$loophack
0x806866E4:word:0x60000000
[ActionReplay]
[Video]
+10
View File
@@ -0,0 +1,10 @@
# D43P01 - The Legend of Zelda: Ocarina of Time
[EmuState]
#The Emulation State.
EmulationStateId = 1
Issues="Dolphin doesn't support soft reset"
EmulationIssues =
[OnFrame]#Add memory patches here.
[ActionReplay]
[Video]
ProjectionHack = 0
+10
View File
@@ -0,0 +1,10 @@
# D43U01 - ZELDA OCARINA MULTI PACK
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
[Gecko]
+9
View File
@@ -0,0 +1,9 @@
# DTLX01 - ACTION REPLAY
[Core]
TLBHack = 1
#Values set here will override the main dolphin settings.
[EmuState]
#The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 0
[OnFrame]
[ActionReplay]
+6
View File
@@ -0,0 +1,6 @@
# DVDXDV - Unknown
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+9
View File
@@ -0,0 +1,9 @@
# FABP01 - Zelda: Link to Past
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationIssues =
EmulationStateId = 4
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
+7
View File
@@ -0,0 +1,7 @@
# FBYE01 - Super Mario Bros. 2
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 3
EmulationIssues = Can't see graphics
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+7
View File
@@ -0,0 +1,7 @@
# G2BE5G - Black & Bruised
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues = No sound/bad sound
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+6
View File
@@ -0,0 +1,6 @@
# G2BP7D - Black & Bruised
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+7
View File
@@ -0,0 +1,7 @@
# G2CE52 - TC2 US
[Core] Values set here will override the main dolphin settings.
TLBHack=1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 3
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+20
View File
@@ -0,0 +1,20 @@
# G2FE78 - Tak 2: The Staff of Dreams
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
$Master Code
C43213D8 0000FF01
$Infinite Health
04112828 48232224
04344A4C D017021C
04344A50 C1B7021C
04344A54 4BDCDDDC
$Max JuJu Elements
00000000 843C58B8
4479C000 00030003
$Have All Cards/All Cards Mixable
00000000 8439A5E0
00000001 001E000A
+6
View File
@@ -0,0 +1,6 @@
# G2GJB2 - MOBILE SUIT GUNDAM GUNDAMvs.ZGUNDAM
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 5
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+158
View File
@@ -0,0 +1,158 @@
# G2ME01 - Metroid Prime 2 Echoes
[EmuState]
#The Emulation State.
EmulationStateId = 4
EmulationIssues =
[Speedhacks]
0x803758bc=400
[OnFrame]
[ActionReplay]
$(M)
C4354E70 0000FF01
C436F000 0000FF02
4D30294C 4E800020
C530294C 0000FF03
0441FD80 00000000
C6004010 000000FF
$This Code Must Be On!
043BC410 906D0000
043BC414 88030004
043BC418 4BC5C1F4
04018608 483A3E08
$Infinite Health
4241FD80 000A44BB
4241FD80 000B6000
$Max Energy Tanks
4241FD80 012B000E
4241FD80 012D000E
$Maximum Missiles
4241FD80 013900FA
$Infinite Missiles
4241FD80 013700FA
$Have Charge Beam
4241FD80 00310001
4241FD80 00330001
$Have Dark Beam
4241FD80 0037000F
4241FD80 0039000F
$Have Light Beam
4241FD80 003D000F
4241FD80 003F000F
$Have Annihilator
4241FD80 0043000F
4241FD80 0045000F
$Have Super Missile
4241FD80 00470001
4241FD80 00490001
$Have Darkburst
4241FD80 004D0001
4241FD80 004F0001
$Have Sunburst
4241FD80 00530001
4241FD80 00550001
$Have Sonic Boom
4241FD80 00590001
4241FD80 005B0001
$Have Combat Visor
4241FD80 005F0001
4241FD80 00610001
$Have Scan Visor
4241FD80 00650001
4241FD80 00670001
$Have Dark Visor
4241FD80 006B0001
4241FD80 006D0001
$Have Echo Visor
4241FD80 00710001
4241FD80 00730001
$Have Varia Suit
4241FD80 00770001
4241FD80 00790001
$Have Dark Suit
4241FD80 007D0001
4241FD80 007F0001
$Have Light Suit
4241FD80 00830001
4241FD80 00850001
$Have Space Jump Boots
4241FD80 00BF0001
4241FD80 00C10001
$Have Grapple Beam
4241FD80 00B90001
4241FD80 00BB0001
$Have Gravity Boost
4241FD80 00C50001
4241FD80 00C70001
$Have Screw Attack
4241FD80 00D10001
4241FD80 00D30001
$Have Seeker Missile
4241FD80 00CB0001
4241FD80 00CD0001
$Have Morph Ball Power Bomb
4241FD80 01310001
4241FD80 01330001
$Have Beam Ammo Expansion
4241FD80 013D000F
4241FD80 013F000F
$Have Sky Temple Key 1
4241FD80 00DD0001
4241FD80 00DF0001
$Have Sky Temple Key 2
4241FD80 00E30001
4241FD80 00E50001
$Have Sky Temple Key 3
4241FD80 00E90001
4241FD80 00EB0001
$Have Agon Temple Key 1
4241FD80 00EF0001
4241FD80 00F10001
$Have Agon Temple Key 2
4241FD80 00F50001
4241FD80 00F70001
$Have Agon Temple Key 3
4241FD80 00FB0001
4241FD80 00FD0001
$Have Torvus Temple Key 1
4241FD80 01010001
4241FD80 01030001
$Have Torvus Temple Key 2
4241FD80 01070001
4241FD80 01090001
$Have Torvus Temple Key 3
4241FD80 010D0001
4241FD80 010F0001
$Have Ing Hive Temple Key 1
4241FD80 01130001
4241FD80 01150001
$Have Ing Hive Temple Key 2
4241FD80 01190001
4241FD80 011B0001
$Have Ing Hive Temple Key 3
4241FD80 011F0001
$One Hit Kill
0403DB68 4BFC539C
04002F04 FFC00090
04002F08 7C1BE050
04002F0C 2C000010
04002F10 41820008
04002F14 EFDEF028
04002F18 4803AC54
$Full Logbook
0421166C 4BDF18CC
04002F38 3BE000FF
04002F3C 9BE50004
04002F40 88050004
04002F44 4820E72C
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
[Video_Hacks]
EFBCopyEnable = True
EFBCopyRAMEnable = True
EFBCopyVirtualEnable = True
+157
View File
@@ -0,0 +1,157 @@
# G2MP01 - Metroid Prime 2 Echoes
[EmuState]
#The Emulation State.
EmulationStateId = 4
EmulationIssues =
[Speedhacks]
#Patch OSYieldThread to take more time - MP2's idle loop is really stupid.
0x80375c68=400
[OnFrame]
[ActionReplay]
$(M)
C43552C8 0000FF01
C436F41C 0000FF02
0D30294C 4E800020
C530294C 0000FF03
$Infinite Health
423DDE0C 000A44BB
423DDE0C 000B6000
$Max Energy Tanks
423DDE0C 012B000E
423DDE0C 012D000E
$Maximum Missiles
423DDE0C 013900FA
$Infinite Missiles
423DDE0C 013700FA
$Moon Jump (Hold B)
3A705F24 00000200
423DDDFC 00D84101
$Have Charge Beam
423DDE0C 00310001
423DDE0C 00330001
$Have Dark Beam
423DDE0C 00370001
423DDE0C 00390001
$Have Light Beam
423DDE0C 003D0001
423DDE0C 003F0001
$Have Annihilator
423DDE0C 00430001
423DDE0C 00450001
$Have Super Missile
423DDE0C 00470001
423DDE0C 00490001
$Have Darkburst
423DDE0C 004D0001
423DDE0C 004F0001
$Have Sunburst
423DDE0C 00530001
423DDE0C 00550001
$Have Sonic Boom
423DDE0C 00590001
423DDE0C 005B0001
$Have Combat Visor
423DDE0C 005F0001
423DDE0C 00610001
$Have Scan Visor
423DDE0C 00650001
423DDE0C 00670001
$Have Dark Visor
423DDE0C 006B0001
423DDE0C 006D0001
$Have Echo Visor
423DDE0C 00710001
423DDE0C 00730001
$Have Varia Suit
423DDE0C 00770001
423DDE0C 00790001
$Have Dark Suit
423DDE0C 007D0001
423DDE0C 007F0001
$Have Light Suit
423DDE0C 00830001
423DDE0C 00850001
$Have Space Jump Boots
423DDE0C 00BF0001
423DDE0C 00C10001
$Have Grapple Beam
423DDE0C 00B90001
423DDE0C 00BB0001
$Have Gravity Boost
423DDE0C 00C50001
423DDE0C 00C70001
$Have Screw Attack
423DDE0C 00D10001
423DDE0C 00D30001
$Have Seeker Missile
423DDE0C 00CB0001
423DDE0C 00CD0001
$Have Morph Ball Power Bomb
423DDE0C 01310001
423DDE0C 01330001
$Have Beam Ammo Expansion
423DDE0C 013D000F
423DDE0C 013F000F
$Have Sky Temple Key 1
423DDE0C 00DD0001
423DDE0C 00DF0001
$Have Sky Temple Key 2
423DDE0C 00E30001
423DDE0C 00E50001
$Have Sky Temple Key 3
423DDE0C 00E90001
423DDE0C 00EB0001
$Have Agon Temple Key 1
423DDE0C 00EF0001
423DDE0C 00F10001
$Have Agon Temple Key 2
423DDE0C 00F50001
423DDE0C 00F70001
$Have Agon Temple Key 3
423DDE0C 00FB0001
423DDE0C 00FD0001
$Have Torvus Temple Key 1
423DDE0C 01010001
423DDE0C 01030001
$Have Torvus Temple Key 2
423DDE0C 01070001
423DDE0C 01090001
$Have Torvus Temple Key 3
423DDE0C 010D0001
423DDE0C 010F0001
$Have Ing Hive Temple Key 1
423DDE0C 01130001
423DDE0C 01150001
$Have Ing Hive Temple Key 2
423DDE0C 01190001
423DDE0C 011B0001
$Have Ing Hive Temple Key 3
423DDE0C 011F0001
423DDE0C 01210001
$One Hit Kill
0403DCB8 4BFC524C
04002F04 FFC00090
04002F08 7C1BE050
04002F0C 2C000010
04002F10 41820008
04002F14 EFDEF028
04002F18 4803ADA4
$Full Logbook
04211974 4BDF15C4
04002F38 3BE000FF
04002F3C 9BE50004
04002F40 88050004
04002F44 4820EA34
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
[Video_Hacks]
EFBCopyEnable = True
EFBCopyRAMEnable = True
EFBCopyVirtualEnable = True
+16
View File
@@ -0,0 +1,16 @@
# G2OE41 - PoP:WW
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+11
View File
@@ -0,0 +1,11 @@
# G2OP41 - PoP:WW
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
[Gecko]
+7
View File
@@ -0,0 +1,7 @@
# G2TE52 - Tony Hawk's Underground 2
[Core] Values set here will override the main dolphin settings.
TLBHack=1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 1
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+18
View File
@@ -0,0 +1,18 @@
# G2VE08 - Viewtiful Joe 2
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues = Needs xfb real for videos to show up.
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
[Video_Settings]
UseXFB = True
UseRealXFB = True
+18
View File
@@ -0,0 +1,18 @@
# G2VP08 - Viewtiful Joe 2
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues = Needs xfb real for videos to show up.
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
[Video_Settings]
UseXFB = True
UseRealXFB = True
+15
View File
@@ -0,0 +1,15 @@
# G2XE8P - SONIC GEMS COLLECTION
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues = Everything playable with minor glitches, except Sonic the Fighters.
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+15
View File
@@ -0,0 +1,15 @@
# G2XP8P - SONIC GEMS COLLECTION
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues = Everything playable with minor glitches, except Sonic the Fighters.
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+16
View File
@@ -0,0 +1,16 @@
# G3AD69 - The Lord of the Rings, The Third Age
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 0
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+17
View File
@@ -0,0 +1,17 @@
# G3AE69 - The Lord of the Rings, The Third Age
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 0
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+16
View File
@@ -0,0 +1,16 @@
# G3AF69 - The Lord of the Rings, The Third Age
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 0
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+16
View File
@@ -0,0 +1,16 @@
# G3AE69 - The Lord of the Rings, The Third Age
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 0
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+6
View File
@@ -0,0 +1,6 @@
# G3DE6L - Carmen Sandiego
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+10
View File
@@ -0,0 +1,10 @@
# G3EE51 - Extreme G3
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 1
EmulationIssues = Black screen. Use an older rev for the game to work like r4727 (r6521 tested)
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
[Gecko]
+21
View File
@@ -0,0 +1,21 @@
# G3FE69 - TimeSplitters Future Perfect
[EmuState]
#The Emulation State.
EmulationStateId = 4
EmulationIssues = Needs mmu to run, and it runs very slow because of it (r6436)
[OnFrame]
[ActionReplay]
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
[Core]
MMU = 1
VBeam = 1
BlockMerging = 1
[Video_Hacks]
DlistCachingEnable = False
+21
View File
@@ -0,0 +1,21 @@
# G3FF69 - TimeSplitters Future Perfect
[EmuState]
#The Emulation State.
EmulationStateId = 4
EmulationIssues = Needs mmu to run, and it runs very slow because of it (r6436)
[OnFrame]
[ActionReplay]
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
[Core]
MMU = 1
VBeam = 1
BlockMerging = 1
[Video_Hacks]
DlistCachingEnable = False
+21
View File
@@ -0,0 +1,21 @@
# G3FP69 - TimeSplitters Future Perfect
[EmuState]
#The Emulation State.
EmulationStateId = 4
EmulationIssues = Needs mmu to run, and it runs very slow because of it (r6436)
[OnFrame]
[ActionReplay]
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
[Core]
MMU = 1
VBeam = 1
BlockMerging = 1
[Video_Hacks]
DlistCachingEnable = False
+7
View File
@@ -0,0 +1,7 @@
# G3JEAF - CuriousGeorge
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationIssues = Stuck at memcard check
EmulationStateId = 1
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+6
View File
@@ -0,0 +1,6 @@
# G3NJDA - NARUTO3
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+7
View File
@@ -0,0 +1,7 @@
# G3QEA4 - TMNT3
[Core] Values set here will override the main dolphin settings.
TLBHack=1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 5
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+10
View File
@@ -0,0 +1,10 @@
# G3SE41 - BUST A MOVE 3000
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 5
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
+6
View File
@@ -0,0 +1,6 @@
# G3VE69 - NBA STREET V3
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 0
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+16
View File
@@ -0,0 +1,16 @@
# G3XE52 - X-Men: The Official Game
[Core] Values set here will override the main dolphin settings.
MMU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+11
View File
@@ -0,0 +1,11 @@
# G3XP52 - X-Men: The Official Game
[Core] Values set here will override the main dolphin settings.
MMU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
[Gecko]
+21
View File
@@ -0,0 +1,21 @@
# G4AEE9 - HARVEST MOON - Magical Melody -
[EmuState]
EmulationStateId = 4
# !!!WARNING!!!
# Time Does NOT flow with current Release.
# !!!WARNING!!!
EmulationIssues =
[OnFrame]#Add memory patches here.
[Video_Enhancements]
PostProcessingShader =
[Video_Hacks]
DlistCachingEnable = False
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[ActionReplay]
[Gecko]
+9
View File
@@ -0,0 +1,9 @@
# G4BE08 - resident evil 4 game disc 1
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
+9
View File
@@ -0,0 +1,9 @@
# G4BP08 - resident evil 4 game disc 1
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
+9
View File
@@ -0,0 +1,9 @@
# G4CE54 - Charlie and The Chocolate Factory
[Core] Values set here will override the main dolphin settings.
TLBHack=1
UseDualCore = 0
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
Issues="Don't try DC because high LOAD CPU!!! and with Optimize Quantizers crash"
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+11
View File
@@ -0,0 +1,11 @@
# G4FD69 - FIFA 07
[Core] Values set here will override the main dolphin settings.
MMU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues = Sound issues need LLE plugin and videos are messed up. Slow due to MMU(r6932)
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
[Gecko]
+12
View File
@@ -0,0 +1,12 @@
# G4FE69 - FIFA 07
[Core] Values set here will override the main dolphin settings.
MMU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 3
EmulationIssues = Sound issues need LLE plugin and videos are messed up. Slow due to MMU(r6932)
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
[Gecko]
+11
View File
@@ -0,0 +1,11 @@
# G4FF69 - FIFA 07
[Core] Values set here will override the main dolphin settings.
MMU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues = Sound issues need LLE plugin and videos are messed up. Slow due to MMU(r6932)
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
[Gecko]
+11
View File
@@ -0,0 +1,11 @@
# G4FE69 - FIFA 07
[Core] Values set here will override the main dolphin settings.
MMU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues = Sound issues need LLE plugin and videos are messed up. Slow due to MMU(r6932)
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
[Gecko]
+67
View File
@@ -0,0 +1,67 @@
# G4GEE9 - Harvest Moon: Another Wonderful Life - NTSC
[EmuState]
# The Emulation State as of r1062; screen text hidden behind background; essentially non-playable. # Even when text was visible, the font was corrupted so the text was unreadable
EmulationStateId = 2
[OnFrame]
#Add memory patches here.
[ActionReplay]
#Add decrypted action replay cheats here.
$(M)
06C2E568 88000000
C41D3578 0000FF01
$Infinite Money
06C2E569 08000000
050943A8 0098967F
$Infinite Fodder In Barn
06C2E56A 08000000
030A3EDC 000003E7
$Chickens Always Have Feed
06C2E56B 08000000
03094E46 00005D8A
$All Tools In Shed
04055934 38000091
04055938 98030008
$All Barn Animals Have Food
06C2E56D 08000000
01094D8F 00000004
01094D93 00000003
01094DA7 00000004
01094DAB 00000003
01094DBF 00000004
01094DC3 00000003
01094DD7 00000004
01094DDB 00000003
01094DEF 00000004
01094DF3 00000003
01094E07 00000004
01094E0B 00000003
01094E1F 00000004
01094E23 00000003
01094E37 00000004
01094E3B 00000003
$Increase Time Speed (D Pad Up)
06C2E56E 08000000
4A3434E6 00000008
1A01245A 00006000
8201245A 00000001
$Decrease Time Speed (D Pad Down)
06C2E56F 08000000
4A3434E6 00000004
2201245A 00000000
8201245A 0000FFFF
$Reset Time Speed (D Pad Right)
06C2E570 08000000
0A3434E6 00000002
04012458 38080014
+17
View File
@@ -0,0 +1,17 @@
# G4ME69 - The Sims: Bustin Out GameCube
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+16
View File
@@ -0,0 +1,16 @@
# G4MP69 - The Sims: Bustin Out GameCube
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+14
View File
@@ -0,0 +1,14 @@
# G4NJDA - NARUTO Gekitou Ninja Taisen! 4
[Core]
#Values set here will override the main dolphin settings.
[EmuState]
#The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
[OnFrame]
Master Code
0FC07078 A8000000
C4175B8C 0000FF00
[ActionReplay]
Everything unlocked
042232F0 00FFFFFF
002232FC 00002FFF
+34
View File
@@ -0,0 +1,34 @@
# G4QE01 - Mario Soccer
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 5
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
$Master Code
C425B280 0000FF01
$Press D-Pad Up - Team 1 Wins
4A32C348 00000008
40371238 00003F32
4037123C 00003F00
$Press D-Pad Down - Team 2 Wins
4A32C348 00000004
40371238 00003F00
4037123C 00003F32
$Press D-Pad Left To End Match
0A32C348 00000001
42371238 FFBC4416
$Press D-Pad Right For More Time
0A32C348 00000002
42371238 FFBC0000
$Have All Milestone Trophies
03535D50 0000012C
03535D52 00000064
03535D54 0000012C
03535D56 000003E8
03535D4E 00000064
[Video]
ProjectionHack = 0
[Gecko]
+12
View File
@@ -0,0 +1,12 @@
# G4QP01 - Mario Smash Football
[Core] Values set here will override the main dolphin settings.
[EmuState]
#The Emulation State.
EmulationStateId = 5
EmulationIssues = Needs TLB Hack
[OnFrame]
[ActionReplay]
[Video]
ProjectionHack = 0
[Core]
TLBHack = 1
+16
View File
@@ -0,0 +1,16 @@
# G4SE01 - The Legend of Zelda: Four Swords FOR NINTENDO GAMECUBE
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+106
View File
@@ -0,0 +1,106 @@
# G4SP01 - The Legend of Zelda: Four Swords FOR NINTENDO GAMECUBE
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay]
$(M)
0658E214 98000000
C404F588 0002FF00
$Infinite Health
0658E215 18000000
04247EDC 80030BF8
04247EE0 90030BFC
04247EE4 4800000C
$Max Health
0658E216 18000000
0425AB40 38000020
$Max/Infinite Force Gems
0658E217 18000000
0423C730 3860270F
$All Adventure Mode Levels Unlocked
0658E218 18000000
0452A2C8 FFFFFFFF
0452A390 FFFFFFFF
0452A548 FFFFFFFF
$Items Always Level 2
0658E22C 18000000
04247BB4 38600002
$Super Jump
0658E219 18000000
0455D684 415CCCCD
$Infinite Force Fairies
0658E21A 18000000
00545660 00000063
0052A390 00000063
$Infinite Air
0658E21B 18000000
04248F40 38030000
04289A44 38030000
$Massive Links
0658E21C 18000000
0426B82C C02200DC
0426B834 C06200DC
0426B844 C00200DC
$Mini Links
0658E21D 18000000
0426B82C C0220108
0426B834 C0620108
0426B844 C0020108
$More Time On Huge Death Bombs(Press Z)
0658E21E 18000000
0434A148 3803FFFF
0A52EA28 00000010
0434A148 38000300
$Item Codes
0658E21F 15008000
$Pegasus Boots(D-Pad Left)
0658E220 14710FC0
0A54BD94 00000001
04247D04 38600001
$Lantern(D-Pad Right)
0658E221 14710FC0
0A54BD94 00000002
04247D04 38600002
$Boomerang(D-Pad Up)
0658E222 14710FC0
0A54BD94 00000008
04247D04 38600003
$Bow & Arrows(D-Pad Down)
0658E223 14710FC0
0A54BD94 00000004
04247D04 38600004
$Magic Hammer(L+D-Pad Left)
0658E224 14710FC0
0A54BD94 00000041
04247D04 38600005
$Fire Rod(L+D-Pad Right)
0658E225 14710FC0
0A54BD94 00000042
04247D04 38600006
$Roc's Feather(L+D-Pad)
0658E226 14710FC0
0A54BD94 00000048
04247D04 38600007
$Bombs(L+D-Pad)
0658E227 14710FC0
0A54BD94 00000044
04247D04 38600008
$Shovel(R Button)
0658E228 14710FC0
0A54BD94 00000020
04247D04 38600009
$Slingshot(Z BUtton)
0658E229 14710FC0
0A54BD94 00000010
04247D04 3860000A
$Have Blue Bracelet
0658E22A 14710FC0
0A54BD94 60000000
$Have Power Bracelet
0658E22B 14710FC0
0A54BD94 60000000
[Video]
ProjectionHack = 0
[Gecko]
+8
View File
@@ -0,0 +1,8 @@
# G4ZE69 - The Sims 2 GameCube
[Core] Values set here will override the main dolphin settings.
TLBHack=1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 2
Issues="Go to menu and select options, then hangs"
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+8
View File
@@ -0,0 +1,8 @@
# G63E41 - RainbowSix3
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationIssues =
EmulationStateId = 1
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+8
View File
@@ -0,0 +1,8 @@
# G63P41 - RainbowSix3
[Core] Values set here will override the main dolphin settings.
TLBHack=1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
Issues="Needs Projection Hack R844 and Copy EFB to GL texture"
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+7
View File
@@ -0,0 +1,7 @@
# G6FE69 - 2006 FIFA World Cup
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 3
EmulationIssues = Sound missing in menus game can crash randomly
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+7
View File
@@ -0,0 +1,7 @@
# G6NE69 - NBA LIVE 06
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+7
View File
@@ -0,0 +1,7 @@
# G6NP69 - NBA LIVE 06
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+7
View File
@@ -0,0 +1,7 @@
# G6QE08 - Megaman Collection
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+17
View File
@@ -0,0 +1,17 @@
# G6TE5G - Teen Titans
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 2
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+17
View File
@@ -0,0 +1,17 @@
# G6TP5G - Teen Titans
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 2
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
PH_SZNear = 0
PH_SZFar = 0
PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+6
View File
@@ -0,0 +1,6 @@
# G89EAF - Pac-Man World Rally
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 5
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+45
View File
@@ -0,0 +1,45 @@
# G8ME01 - Paper Mario
[Core]
[Speedhacks]
0x8029ccf4=600
#Values set here will override the main dolphin settings.
[EmuState]
#The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame]
[ActionReplay]
$(M) Must Be ON
C402F310 0000FF01
$Mario: Max/Infinite Health
04B07BD0 03E703E7
02B07BEE 000003E7
04B32A10 03E703E7
4241EBE0 09A403E7
4241EBE0 09A603E7
$Goombella: Max/Infinite Health
02B07B70 000203E7
4241EBE0 16E403E7
4241EBE0 16E603E7
$Max/Infinite Flower Points
04B07BD4 03E703E7
02B07BF0 000003E7
4241EBE0 09A703E7
4241EBE0 09A903E7
$Non-Mario Party Members Max/Full Health
02B07B70 000203E7
02B07B7E 000203E7
02B07BA8 000203E7
02B07B9A 000203E7
02B07BB6 000203E7
02B07B8C 000203E7
02B07BC4 000203E7
$Max/Infinite Badge Points
026EE2D2 00010063
$Max Gold
026EE2B8 000003E7
$Max Shop Points
026EE7F0 000003E7
[Video]
ProjectionHack = 0
+6
View File
@@ -0,0 +1,6 @@
# G8MP01 - Paper Mario
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+7
View File
@@ -0,0 +1,7 @@
# G8OJ18 - bobobo-bo bo-bobo
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
Issues="Bad Sound, Needs to disable or downlevel"
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
+8
View File
@@ -0,0 +1,8 @@
# G8SJAF - battleGC
[Core]
#Values set here will override the main dolphin settings.
[EmuState]
#The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 5
[OnFrame]
[ActionReplay]
+11
View File
@@ -0,0 +1,11 @@
# G8WE01 - Battalion Wars
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
ProjectionHack = 0
[Gecko]
+16
View File
@@ -0,0 +1,16 @@
# G8WP01 - Battalion Wars
[Core]
#Values set here will override the main dolphin settings.
[EmuState]
#The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
[OnFrame]
[ActionReplay]
$(M)
0752E976 88000000
C41641BC 0000FF01
$Invincible
0752E977 08000000
04338650 00000001
$Infinite Time
0752E978 08000000

Some files were not shown because too many files have changed in this diff Show More