mirror of
https://github.com/Lime3DS/Lime3DS.git
synced 2026-04-09 02:41:26 -06:00
frontend: Revert removal of .3ds support (#1701)
* frontend: Revert removal of .3ds support * Added 3ds extension to Info.plist * Added .3ds extension to org.azahar_emu.Azahar.xml * game_list.h: Removed leftover definitions --------- Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
This commit is contained in:
parent
3703dcec3e
commit
aafd263e4a
1
dist/apple/Info.plist.in
vendored
1
dist/apple/Info.plist.in
vendored
@ -35,6 +35,7 @@
|
||||
<string>cci</string>
|
||||
<string>cxi</string>
|
||||
<string>cia</string>
|
||||
<string>3ds</string>
|
||||
</array>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>Nintendo 3DS File</string>
|
||||
|
||||
1
dist/org.azahar_emu.Azahar.xml
vendored
1
dist/org.azahar_emu.Azahar.xml
vendored
@ -16,6 +16,7 @@
|
||||
<expanded-acronym>CTR Cart Image</expanded-acronym>
|
||||
<icon name="azahar"/>
|
||||
<glob pattern="*.cci"/>
|
||||
<glob pattern="*.3ds"/>
|
||||
<magic><match value="NCSD" type="string" offset="256"/></magic>
|
||||
</mime-type>
|
||||
|
||||
|
||||
@ -7,16 +7,12 @@ package org.citra.citra_emu.fragments
|
||||
import android.annotation.SuppressLint
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.text.method.LinkMovementMethod
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewGroup.MarginLayoutParams
|
||||
import android.widget.TextView
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.text.HtmlCompat
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.core.view.updatePadding
|
||||
@ -50,7 +46,6 @@ class GamesFragment : Fragment() {
|
||||
|
||||
private val gamesViewModel: GamesViewModel by activityViewModels()
|
||||
private val homeViewModel: HomeViewModel by activityViewModels()
|
||||
private var show3DSFileWarning: Boolean = true
|
||||
private lateinit var gameAdapter: GameAdapter
|
||||
|
||||
private val openImageLauncher = registerForActivityResult(
|
||||
@ -224,34 +219,6 @@ class GamesFragment : Fragment() {
|
||||
setInsets()
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
|
||||
if (show3DSFileWarning &&
|
||||
!PreferenceManager.getDefaultSharedPreferences(CitraApplication.appContext)
|
||||
.getBoolean("show_3ds_files_warning", false)) {
|
||||
val message = HtmlCompat.fromHtml(getString(R.string.warning_3ds_files),
|
||||
HtmlCompat.FROM_HTML_MODE_LEGACY)
|
||||
|
||||
context?.let {
|
||||
val alert = MaterialAlertDialogBuilder(it)
|
||||
.setTitle(getString(R.string.important))
|
||||
.setMessage(message)
|
||||
.setPositiveButton(R.string.dont_show_again) { _, _ ->
|
||||
PreferenceManager.getDefaultSharedPreferences(CitraApplication.appContext)
|
||||
.edit() {
|
||||
putBoolean("show_3ds_files_warning", true)
|
||||
}
|
||||
}
|
||||
.show()
|
||||
|
||||
val alertMessage = alert.findViewById<View>(android.R.id.message) as TextView
|
||||
alertMessage.movementMethod = LinkMovementMethod.getInstance()
|
||||
}
|
||||
}
|
||||
show3DSFileWarning = false
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
|
||||
@ -66,7 +66,7 @@ class Game(
|
||||
val allExtensions: Set<String> get() = extensions + badExtensions
|
||||
|
||||
val extensions: Set<String> = HashSet(
|
||||
listOf("3dsx", "app", "axf", "cci", "cxi", "elf", "z3dsx", "zcci", "zcxi")
|
||||
listOf("3dsx", "app", "axf", "cci", "cxi", "elf", "z3dsx", "zcci", "zcxi", "3ds")
|
||||
)
|
||||
|
||||
val badExtensions: Set<String> = HashSet(
|
||||
|
||||
@ -36,7 +36,6 @@
|
||||
<string name="select_citra_user_folder_home_description">Changes the files that Azahar uses to load applications</string>
|
||||
<string name="theme_and_color_description">Modify the look of the app</string>
|
||||
<string name="install_cia_title">Install CIA</string>
|
||||
<string name="warning_3ds_files"><![CDATA[Encrypted files and .3ds files are no longer supported. Decrypting and/or renaming to .cci may be necessary. <a href="https://azahar-emu.org/blog/game-loading-changes/">Learn more.</a>]]></string>
|
||||
|
||||
<!-- GPU driver installation -->
|
||||
<string name="select_gpu_driver">Select GPU driver</string>
|
||||
@ -398,8 +397,6 @@
|
||||
<string name="auto_select">Auto-Select</string>
|
||||
<string name="start">Start</string>
|
||||
<string name="cancelling">Cancelling…</string>
|
||||
<string name="important">Important</string>
|
||||
<string name="dont_show_again">Don\'t show again</string>
|
||||
<string name="visibility">Visibility</string>
|
||||
<string name="information">Information</string>
|
||||
|
||||
|
||||
@ -3168,7 +3168,7 @@ void GMainWindow::OnCompressFile() {
|
||||
|
||||
QStringList filepaths =
|
||||
QFileDialog::getOpenFileNames(this, tr("Load 3DS ROM Files"), UISettings::values.roms_path,
|
||||
tr("3DS ROM Files (*.cia *.cci *.3dsx *.cxi)") +
|
||||
tr("3DS ROM Files (*.cia *.cci *.3dsx *.cxi *.3ds)") +
|
||||
QStringLiteral(";;") + tr("All Files (*.*)"));
|
||||
|
||||
QString out_path;
|
||||
@ -3848,8 +3848,8 @@ static bool IsSingleFileDropEvent(const QMimeData* mime) {
|
||||
return mime->hasUrls() && mime->urls().length() == 1;
|
||||
}
|
||||
|
||||
static const std::array<std::string, 10> AcceptedExtensions = {
|
||||
"cci", "cxi", "bin", "3dsx", "app", "elf", "axf", "zcci", "zcxi", "z3dsx"};
|
||||
static const std::array<std::string, 11> AcceptedExtensions = {
|
||||
"cci", "cxi", "bin", "3dsx", "app", "elf", "axf", "zcci", "zcxi", "z3dsx", "3ds"};
|
||||
|
||||
static bool IsCorrectFileExtension(const QMimeData* mime) {
|
||||
const QString& filename = mime->urls().at(0).toLocalFile();
|
||||
|
||||
@ -846,7 +846,6 @@ void QtConfig::ReadUIGameListValues() {
|
||||
ReadBasicSetting(UISettings::values.game_list_row_2);
|
||||
ReadBasicSetting(UISettings::values.game_list_hide_no_icon);
|
||||
ReadBasicSetting(UISettings::values.game_list_single_line_mode);
|
||||
ReadBasicSetting(UISettings::values.show_3ds_files_warning);
|
||||
|
||||
ReadBasicSetting(UISettings::values.show_compat_column);
|
||||
ReadBasicSetting(UISettings::values.show_region_column);
|
||||
@ -1364,7 +1363,6 @@ void QtConfig::SaveUIGameListValues() {
|
||||
WriteBasicSetting(UISettings::values.game_list_row_2);
|
||||
WriteBasicSetting(UISettings::values.game_list_hide_no_icon);
|
||||
WriteBasicSetting(UISettings::values.game_list_single_line_mode);
|
||||
WriteBasicSetting(UISettings::values.show_3ds_files_warning);
|
||||
|
||||
WriteBasicSetting(UISettings::values.show_compat_column);
|
||||
WriteBasicSetting(UISettings::values.show_region_column);
|
||||
|
||||
@ -391,40 +391,6 @@ GameList::GameList(PlayTime::PlayTimeManager& play_time_manager_, GMainWindow* p
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
layout->setSpacing(0);
|
||||
|
||||
if (UISettings::values.show_3ds_files_warning.GetValue()) {
|
||||
|
||||
warning_layout = new QHBoxLayout;
|
||||
deprecated_3ds_warning = new QLabel;
|
||||
deprecated_3ds_warning->setText(
|
||||
tr("IMPORTANT: Encrypted files and .3ds files are no longer supported. Decrypting "
|
||||
"and/or renaming to .cci may be necessary. <a "
|
||||
"href='https://azahar-emu.org/blog/game-loading-changes/'>Learn more.</a>"));
|
||||
deprecated_3ds_warning->setOpenExternalLinks(true);
|
||||
deprecated_3ds_warning->setStyleSheet(
|
||||
QString::fromStdString("color: black; font-weight: bold;"));
|
||||
|
||||
warning_hide = new QPushButton(tr("Don't show again"));
|
||||
warning_hide->setStyleSheet(
|
||||
QString::fromStdString("color: blue; text-decoration: underline;"));
|
||||
warning_hide->setFlat(true);
|
||||
warning_hide->setCursor(Qt::PointingHandCursor);
|
||||
|
||||
connect(warning_hide, &QPushButton::clicked, [this]() {
|
||||
warning_widget->setVisible(false);
|
||||
UISettings::values.show_3ds_files_warning.SetValue(false);
|
||||
});
|
||||
|
||||
warning_layout->addWidget(deprecated_3ds_warning);
|
||||
warning_layout->addStretch();
|
||||
warning_layout->addWidget(warning_hide);
|
||||
warning_layout->setContentsMargins(3, 3, 3, 3);
|
||||
warning_widget = new QWidget;
|
||||
warning_widget->setStyleSheet(QString::fromStdString("background-color: khaki;"));
|
||||
warning_widget->setLayout(warning_layout);
|
||||
|
||||
layout->addWidget(warning_widget);
|
||||
}
|
||||
|
||||
layout->addWidget(tree_view);
|
||||
layout->addWidget(search_field);
|
||||
setLayout(layout);
|
||||
@ -1107,9 +1073,9 @@ void GameList::LoadInterfaceLayout() {
|
||||
}
|
||||
|
||||
const QStringList GameList::supported_file_extensions = {
|
||||
QStringLiteral("3dsx"), QStringLiteral("elf"), QStringLiteral("axf"),
|
||||
QStringLiteral("cci"), QStringLiteral("cxi"), QStringLiteral("app"),
|
||||
QStringLiteral("z3dsx"), QStringLiteral("zcci"), QStringLiteral("zcxi"),
|
||||
QStringLiteral("3dsx"), QStringLiteral("elf"), QStringLiteral("axf"), QStringLiteral("cci"),
|
||||
QStringLiteral("cxi"), QStringLiteral("app"), QStringLiteral("z3dsx"), QStringLiteral("zcci"),
|
||||
QStringLiteral("zcxi"), QStringLiteral("3ds"),
|
||||
};
|
||||
|
||||
void GameList::RefreshGameDirectory() {
|
||||
|
||||
@ -135,10 +135,6 @@ private:
|
||||
void changeEvent(QEvent*) override;
|
||||
void RetranslateUI();
|
||||
|
||||
QHBoxLayout* warning_layout = nullptr;
|
||||
QWidget* warning_widget = nullptr;
|
||||
QLabel* deprecated_3ds_warning = nullptr;
|
||||
QPushButton* warning_hide = nullptr;
|
||||
GameListSearchField* search_field;
|
||||
GMainWindow* main_window = nullptr;
|
||||
QVBoxLayout* layout = nullptr;
|
||||
|
||||
@ -105,7 +105,6 @@ struct Values {
|
||||
Settings::Setting<GameListText> game_list_row_2{GameListText::FileName, "row2"};
|
||||
Settings::Setting<bool> game_list_hide_no_icon{false, "hideNoIcon"};
|
||||
Settings::Setting<bool> game_list_single_line_mode{false, "singleLineMode"};
|
||||
Settings::Setting<bool> show_3ds_files_warning{true, "show_3ds_files_warning"};
|
||||
|
||||
// Compatibility List
|
||||
Settings::Setting<bool> show_compat_column{true, "show_compat_column"};
|
||||
|
||||
@ -48,7 +48,7 @@ FileType GuessFromExtension(const std::string& extension_) {
|
||||
if (extension == ".elf" || extension == ".axf")
|
||||
return FileType::ELF;
|
||||
|
||||
if (extension == ".cci" || extension == ".zcci")
|
||||
if (extension == ".cci" || extension == ".zcci" || extension == ".3ds")
|
||||
return FileType::CCI;
|
||||
|
||||
if (extension == ".cxi" || extension == ".app" || extension == ".zcxi")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user