mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-11-23 22:45:38 +00:00
LIME3DS: migrated from Citra (removed Akai Ponzu)
This commit is contained in:
parent
2fdff96b67
commit
77b1414ba6
|
@ -25,4 +25,4 @@ hash^RETRODECKSOLARUSLATEST^https://github.com/RetroDECK/org.solarus_games.solar
|
|||
hash^RETRODECKGZDOOMLATEST^https://github.com/RetroDECK/org.zdoom.GZDoom/releases/latest/download/RetroDECK-gzdoom-Artifact.tar.gz
|
||||
hash^RETRODECKMAMELATEST^https://github.com/RetroDECK/MAME/releases/latest/download/RetroDECK-MAME-Artifact.tar.gz
|
||||
hash^PORTMASTERLATESTSHA^https://github.com/PortsMaster/PortMaster-GUI/releases/latest/download/retrodeck.portmaster.zip
|
||||
hash^RETRODECKLIME3DSLATEST^https://github.com/RetroDECK/io.github.lime3ds.Lime3DS/releases/latest/download/RetroDECK-lime3ds-Artifact.tar.gz
|
||||
#hash^RETRODECKLIME3DSLATEST^https://github.com/RetroDECK/io.github.lime3ds.Lime3DS/releases/latest/download/RetroDECK-lime3ds-Artifact.tar.gz
|
|
@ -3,6 +3,8 @@ audio_emulation=0
|
|||
audio_emulation\default=true
|
||||
enable_audio_stretching=true
|
||||
enable_audio_stretching\default=true
|
||||
enable_realtime_audio=false
|
||||
enable_realtime_audio\default=true
|
||||
input_device=auto
|
||||
input_device\default=true
|
||||
input_type=0
|
||||
|
@ -112,9 +114,9 @@ use_cpu_jit=true
|
|||
use_cpu_jit\default=true
|
||||
|
||||
[Data%20Storage]
|
||||
nand_directory=RETRODECKHOMEDIR/saves/n3ds/citra/nand/
|
||||
nand_directory=RETRODECKHOMEDIR/saves/n3ds/lime3ds/nand/
|
||||
nand_directory\default=false
|
||||
sdmc_directory=RETRODECKHOMEDIR/saves/n3ds/citra/sdmc/
|
||||
sdmc_directory=RETRODECKHOMEDIR/saves/n3ds/lime3ds/sdmc/
|
||||
sdmc_directory\default=false
|
||||
use_custom_storage=true
|
||||
use_custom_storage\default=false
|
||||
|
@ -430,10 +432,10 @@ Shortcuts\Main%20Window\Decrease%20Speed%20Limit\Context=2
|
|||
Shortcuts\Main%20Window\Decrease%20Speed%20Limit\Context\default=true
|
||||
Shortcuts\Main%20Window\Decrease%20Speed%20Limit\KeySeq=Ctrl+2
|
||||
Shortcuts\Main%20Window\Decrease%20Speed%20Limit\KeySeq\default=false
|
||||
Shortcuts\Main%20Window\Exit%20Citra\Context=1
|
||||
Shortcuts\Main%20Window\Exit%20Citra\Context\default=true
|
||||
Shortcuts\Main%20Window\Exit%20Citra\KeySeq=Ctrl+Q
|
||||
Shortcuts\Main%20Window\Exit%20Citra\KeySeq\default=true
|
||||
Shortcuts\Main%20Window\Exit%20Lime3DS\Context=1
|
||||
Shortcuts\Main%20Window\Exit%20Lime3DS\Context\default=true
|
||||
Shortcuts\Main%20Window\Exit%20Lime3DS\KeySeq=Ctrl+Q
|
||||
Shortcuts\Main%20Window\Exit%20Lime3DS\KeySeq\default=true
|
||||
Shortcuts\Main%20Window\Exit%20Fullscreen\Context=1
|
||||
Shortcuts\Main%20Window\Exit%20Fullscreen\Context\default=true
|
||||
Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq=Ctrl+O
|
||||
|
@ -614,9 +616,9 @@ video_encoder_options="quality:realtime,speed:6,tile-columns:4,frame-parallel:1,
|
|||
video_encoder_options\default=true
|
||||
|
||||
[WebService]
|
||||
citra_token=
|
||||
citra_username=RetroDECK
|
||||
lime3ds_token=
|
||||
lime3ds_username=RetroDECK
|
||||
enable_telemetry=false
|
||||
enable_telemetry\default=false
|
||||
web_api_url=
|
||||
web_api_url\default=false
|
||||
web_api_url=https://api.citra-emu.org
|
||||
web_api_url\default=true
|
|
@ -969,20 +969,6 @@
|
|||
],
|
||||
"launch": "mame"
|
||||
},
|
||||
"citra": {
|
||||
"description": "Citra Nintendo 3DS Emulator (via Ponzu)",
|
||||
"name": "Citra (via Ponzu)",
|
||||
"url": "https://retrodeck.readthedocs.io/en/latest/wiki_about/what-is-retrodeck/",
|
||||
"system": "n3ds",
|
||||
"ponzu": true,
|
||||
"launch": "citra-qt",
|
||||
"properties": [
|
||||
{
|
||||
"abxy_button": true,
|
||||
"ask_to_exit": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"ruffle": {
|
||||
"description": "Flash Games emulator",
|
||||
"name": "Ruffle",
|
||||
|
|
|
@ -30,7 +30,6 @@ ask_default_user=true
|
|||
default_user=
|
||||
developer_options=false
|
||||
kiroi_ponzu=false
|
||||
akai_ponzu=false
|
||||
steam_sync=false
|
||||
sound_effects=true
|
||||
volume_effects=10
|
||||
|
|
|
@ -679,16 +679,12 @@ ponzu() {
|
|||
log d "Checking for Ponzu"
|
||||
|
||||
local tmp_folder="/tmp/extracted"
|
||||
local ponzu_files=("$rdhome"/ponzu/Citra*.AppImage "$rdhome"/ponzu/citra*.AppImage "$rdhome"/ponzu/Yuzu*.AppImage "$rdhome"/ponzu/yuzu*.AppImage)
|
||||
local ponzu_files=("$rdhome"/ponzu/Yuzu*.AppImage "$rdhome"/ponzu/yuzu*.AppImage)
|
||||
local data_dir
|
||||
local appimage
|
||||
local executable
|
||||
|
||||
# if the binaries are found, ponzu should be set as true into the retrodeck config
|
||||
if [ -f "/var/data/ponzu/Citra/bin/citra-qt" ]; then
|
||||
log d "Citra binaries has already been installed, checking for updates and forcing the setting as true."
|
||||
set_setting_value $rd_conf "akai_ponzu" "true" retrodeck "options"
|
||||
fi
|
||||
if [ -f "/var/data/ponzu/Yuzu/bin/yuzu" ]; then
|
||||
log d "Yuzu binaries has already been installed, checking for updates and forcing the setting as true."
|
||||
set_setting_value $rd_conf "kiroi_ponzu" "true" retrodeck "options"
|
||||
|
@ -698,11 +694,7 @@ ponzu() {
|
|||
for ponzu_file in "${ponzu_files[@]}"; do
|
||||
# Check if the current ponzu file exists
|
||||
if [ -f "$ponzu_file" ]; then
|
||||
if [[ "$ponzu_file" == *itra* ]]; then
|
||||
log i "Found akai ponzu! Elaborating it"
|
||||
data_dir="/var/data/ponzu/Citra"
|
||||
local message="Akai ponzu is served, enjoy"
|
||||
elif [[ "$ponzu_file" == *uzu* ]]; then
|
||||
if [[ "$ponzu_file" == *uzu* ]]; then
|
||||
log i "Found kiroi ponzu! Elaborating it"
|
||||
data_dir="/var/data/ponzu/Yuzu"
|
||||
local message="Kiroi ponzu is served, enjoy"
|
||||
|
@ -725,15 +717,7 @@ ponzu() {
|
|||
log d "Cleaning up"
|
||||
cp -r squashfs-root/* "$tmp_folder"
|
||||
rm -rf *
|
||||
if [[ "$ponzu_file" == *itra* ]]; then
|
||||
mv "$tmp_folder/usr/"** .
|
||||
executable="$data_dir/bin/citra"
|
||||
log d "Making $executable and $executable-qt executable"
|
||||
chmod +x "$executable"
|
||||
chmod +x "$executable-qt"
|
||||
prepare_component "reset" "citra"
|
||||
set_setting_value $rd_conf "akai_ponzu" "true" retrodeck "options"
|
||||
elif [[ "$ponzu_file" == *uzu* ]]; then
|
||||
if [[ "$ponzu_file" == *uzu* ]]; then
|
||||
mv "$tmp_folder/usr/"** .
|
||||
executable="$data_dir/bin/yuzu"
|
||||
log d "Making $executable executable"
|
||||
|
@ -754,14 +738,7 @@ ponzu_remove() {
|
|||
|
||||
# Call me with yuzu or citra and I will remove them
|
||||
|
||||
if [[ "$1" == "citra" ]]; then
|
||||
if [[ $(configurator_generic_question_dialog "Ponzu - Remove Citra" "Do you really want to remove Citra binaries?\n\nYour games and saves will not be deleted.") == "true" ]]; then
|
||||
log i "Ponzu: removing Citra"
|
||||
rm -rf "/var/data/ponzu/Citra"
|
||||
set_setting_value $rd_conf "akai_ponzu" "false" retrodeck "options"
|
||||
configurator_generic_dialog "Ponzu - Remove Citra" "Done, Citra is now removed from RetroDECK"
|
||||
fi
|
||||
elif [[ "$1" == "yuzu" ]]; then
|
||||
if [[ "$1" == "yuzu" ]]; then
|
||||
if [[ $(configurator_generic_question_dialog "Ponzu - Remove Yuzu" "Do you really want to remove Yuzu binaries?\n\nYour games and saves will not be deleted.") == "true" ]]; then
|
||||
log i "Ponzu: removing Yuzu"
|
||||
rm -rf "/var/data/ponzu/Yuzu"
|
||||
|
|
|
@ -442,6 +442,9 @@ post_update() {
|
|||
update_rd_conf
|
||||
prepare_component "reset" "steam-rom-manager"
|
||||
|
||||
# migrating from Citra to Lime3DS
|
||||
mv "$saves_folder/n3ds/citra" "$saves_folder/n3ds/lime3ds"
|
||||
|
||||
# TODO: check this
|
||||
# rm /var/config/emulationstation/.emulationstation # remving the old symlink to .emulationstation as it might be not needed anymore
|
||||
# TODO: change <mlc_path>RETRODECKHOMEDIR/bios/cemu</mlc_path> in config/cemu/settings.xml into <mlc_path>RETRODECKHOMEDIR/bios/cemu/mlc</mlc_path>
|
||||
|
|
|
@ -232,49 +232,49 @@ prepare_component() {
|
|||
fi
|
||||
fi
|
||||
|
||||
if [[ "$component" =~ ^(citra|citra-emu|all)$ ]]; then
|
||||
component_found="true"
|
||||
if [[ "$component" =~ ^(lime3ds|all)$ ]]; then
|
||||
component_found="true"
|
||||
if [[ "$action" == "reset" ]]; then # Run reset-only commands
|
||||
log i "------------------------"
|
||||
log i "Prepearing CITRA"
|
||||
log i "Prepearing Lime3DS"
|
||||
log i "------------------------"
|
||||
if [[ $multi_user_mode == "true" ]]; then # Multi-user actions
|
||||
create_dir -d "$multi_user_data_folder/$SteamAppUser/config/citra-emu"
|
||||
cp -fv $config/citra/qt-config.ini "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini"
|
||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" "nand_directory" "$saves_folder/n3ds/citra/nand/" "citra" "Data%20Storage"
|
||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" "sdmc_directory" "$saves_folder/n3ds/citra/sdmc/" "citra" "Data%20Storage"
|
||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "citra" "UI"
|
||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" "Paths\screenshotPath" "$screenshots_folder" "citra" "UI"
|
||||
dir_prep "$multi_user_data_folder/$SteamAppUser/config/citra-emu" "/var/config/citra-emu"
|
||||
create_dir -d "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu"
|
||||
cp -fv $config/lime3ds/qt-config.ini "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu/qt-config.ini"
|
||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu/qt-config.ini" "nand_directory" "$saves_folder/n3ds/lime3ds/nand/" "lime3ds" "Data%20Storage"
|
||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu/qt-config.ini" "sdmc_directory" "$saves_folder/n3ds/lime3ds/sdmc/" "lime3ds" "Data%20Storage"
|
||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu/qt-config.ini" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "lime3ds" "UI"
|
||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu/qt-config.ini" "Paths\screenshotPath" "$screenshots_folder" "lime3ds" "UI"
|
||||
dir_prep "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu" "/var/config/lime3ds-emu"
|
||||
else # Single-user actions
|
||||
create_dir -d /var/config/citra-emu/
|
||||
cp -f $config/citra/qt-config.ini /var/config/citra-emu/qt-config.ini
|
||||
set_setting_value "$citraconf" "nand_directory" "$saves_folder/n3ds/citra/nand/" "citra" "Data%20Storage"
|
||||
set_setting_value "$citraconf" "sdmc_directory" "$saves_folder/n3ds/citra/sdmc/" "citra" "Data%20Storage"
|
||||
set_setting_value "$citraconf" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "citra" "UI"
|
||||
set_setting_value "$citraconf" "Paths\screenshotPath" "$screenshots_folder" "citra" "UI"
|
||||
create_dir -d /var/config/lime3ds-emu/
|
||||
cp -f $config/lime3ds/qt-config.ini /var/config/lime3ds-emu/qt-config.ini
|
||||
set_setting_value "$lime3dsconf" "nand_directory" "$saves_folder/n3ds/lime3ds/nand/" "lime3ds" "Data%20Storage"
|
||||
set_setting_value "$lime3dsconf" "sdmc_directory" "$saves_folder/n3ds/lime3ds/sdmc/" "lime3ds" "Data%20Storage"
|
||||
set_setting_value "$lime3dsconf" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "lime3ds" "UI"
|
||||
set_setting_value "$lime3dsconf" "Paths\screenshotPath" "$screenshots_folder" "lime3ds" "UI"
|
||||
fi
|
||||
# Shared actions
|
||||
create_dir "$saves_folder/n3ds/citra/nand/"
|
||||
create_dir "$saves_folder/n3ds/citra/sdmc/"
|
||||
dir_prep "$bios_folder/citra/sysdata" "/var/data/citra-emu/sysdata"
|
||||
dir_prep "$logs_folder/citra" "/var/data/citra-emu/log"
|
||||
dir_prep "$mods_folder/Citra" "/var/data/citra-emu/load/mods"
|
||||
dir_prep "$texture_packs_folder/Citra" "/var/data/citra-emu/load/textures"
|
||||
create_dir "$saves_folder/n3ds/lime3ds/nand/"
|
||||
create_dir "$saves_folder/n3ds/lime3ds/sdmc/"
|
||||
dir_prep "$bios_folder/lime3ds/sysdata" "/var/data/lime3ds-emu/sysdata"
|
||||
dir_prep "$logs_folder/lime3ds" "/var/data/lime3ds-emu/log"
|
||||
dir_prep "$mods_folder/lime3ds" "/var/data/lime3ds-emu/load/mods"
|
||||
dir_prep "$texture_packs_folder/lime3ds" "/var/data/lime3ds-emu/load/textures"
|
||||
|
||||
# Reset default preset settings
|
||||
set_setting_value "$rd_conf" "citra" "$(get_setting_value "$rd_defaults" "citra" "retrodeck" "abxy_button_swap")" "retrodeck" "abxy_button_swap"
|
||||
set_setting_value "$rd_conf" "citra" "$(get_setting_value "$rd_defaults" "citra" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
|
||||
set_setting_value "$rd_conf" "lime3ds" "$(get_setting_value "$rd_defaults" "lime3ds" "retrodeck" "abxy_button_swap")" "retrodeck" "abxy_button_swap"
|
||||
set_setting_value "$rd_conf" "lime3ds" "$(get_setting_value "$rd_defaults" "lime3ds" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
|
||||
fi
|
||||
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
|
||||
dir_prep "$bios_folder/citra/sysdata" "/var/data/citra-emu/sysdata"
|
||||
dir_prep "$rdhome/logs/citra" "/var/data/citra-emu/log"
|
||||
dir_prep "$mods_folder/Citra" "/var/data/citra-emu/load/mods"
|
||||
dir_prep "$texture_packs_folder/Citra" "/var/data/citra-emu/load/textures"
|
||||
set_setting_value "$citraconf" "nand_directory" "$saves_folder/n3ds/citra/nand/" "citra" "Data%20Storage"
|
||||
set_setting_value "$citraconf" "sdmc_directory" "$saves_folder/n3ds/citra/sdmc/" "citra" "Data%20Storage"
|
||||
set_setting_value "$citraconf" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "citra" "UI"
|
||||
set_setting_value "$citraconf" "Paths\screenshotPath" "$screenshots_folder" "citra" "UI"
|
||||
dir_prep "$bios_folder/lime3ds/sysdata" "/var/data/lime3ds-emu/sysdata"
|
||||
dir_prep "$rdhome/logs/lime3ds" "/var/data/lime3ds-emu/log"
|
||||
dir_prep "$mods_folder/lime3ds" "/var/data/lime3ds-emu/load/mods"
|
||||
dir_prep "$texture_packs_folder/lime3ds" "/var/data/lime3ds-emu/load/textures"
|
||||
set_setting_value "$lime3dsconf" "nand_directory" "$saves_folder/n3ds/lime3ds/nand/" "lime3ds" "Data%20Storage"
|
||||
set_setting_value "$lime3dsconf" "sdmc_directory" "$saves_folder/n3ds/lime3ds/sdmc/" "lime3ds" "Data%20Storage"
|
||||
set_setting_value "$lime3dsconf" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "lime3ds" "UI"
|
||||
set_setting_value "$lime3dsconf" "Paths\screenshotPath" "$screenshots_folder" "lime3ds" "UI"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -660,23 +660,20 @@ modules:
|
|||
sha256: 5ab0fc46b07d022d4b0ff355e88175cd77b8bb1663612f31d160f8001dc472bb
|
||||
|
||||
# Lime3DS
|
||||
# why from source: AppImage not provided, only Flatpak
|
||||
# https://github.com/RetroDECK/io.github.lime3ds.Lime3DS
|
||||
|
||||
- name: retrodeck-lime3ds
|
||||
- name: lime3ds
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
- chmod +x *.AppImage
|
||||
- ./*.AppImage --appimage-extract
|
||||
- mkdir -p "${FLATPAK_DEST}/retrodeck/tmplib" "${FLATPAK_DEST}/retrodeck/tmplib/debug"
|
||||
- cp -r "files/lib/debug" "${FLATPAK_DEST}/retrodeck/tmplib"
|
||||
- rm -rf "files/lib/debug"
|
||||
- cp -rL "files/lib/"* "${FLATPAK_DEST}/retrodeck/tmplib"
|
||||
- rm -rf "files/lib"
|
||||
- cp -r files/* "${FLATPAK_DEST}"
|
||||
- chmod +x "${FLATPAK_DEST}/bin/"*
|
||||
- mv "squashfs-root/usr/lib/"* "${FLATPAK_DEST}/retrodeck/tmplib"
|
||||
- cp -r squashfs-root/usr/* "${FLATPAK_DEST}"
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://github.com/RetroDECK/io.github.lime3ds.Lime3DS/releases/latest/download/RetroDECK-dolphin-Artifact.tar.gz
|
||||
sha256: RETRODECKLIME3DSLATEST
|
||||
url: https://github.com/Lime3DS/Lime3DS/releases/download/2119/lime3ds-2119-linux-appimage.tar.gz
|
||||
sha256: e5efc4acfbcc9005001990fdf50ae021c188650a63f90daec17c9964c93faa03
|
||||
|
||||
- name: fetch-missing-libs
|
||||
buildsystem: simple
|
||||
|
|
|
@ -457,9 +457,6 @@ configurator_open_emulator_dialog() {
|
|||
if [[ $(get_setting_value "$rd_conf" "kiroi_ponzu" "retrodeck" "options") == "true" ]]; then
|
||||
emulator_list+=("Yuzu" "Open the Switch emulator Yuzu")
|
||||
fi
|
||||
if [[ $(get_setting_value "$rd_conf" "akai_ponzu" "retrodeck" "options") == "true" ]]; then
|
||||
emulator_list+=("Citra" "Open the 3DS emulator Citra")
|
||||
fi
|
||||
|
||||
emulator=$(rd_zenity --list \
|
||||
--title "RetroDECK Configurator Utility - Open Emulator" --cancel-label="Back" \
|
||||
|
@ -572,9 +569,6 @@ configurator_retrodeck_tools_dialog() {
|
|||
if [[ $(get_setting_value "$rd_conf" "kiroi_ponzu" "retrodeck" "options") == "true" ]]; then
|
||||
choices+=("Ponzu - Remove Yuzu" "Run Ponzu to remove Yuzu from RetroDECK. Configurations and saves will be mantained.")
|
||||
fi
|
||||
if [[ $(get_setting_value "$rd_conf" "akai_ponzu" "retrodeck" "options") == "true" ]]; then
|
||||
choices+=("Ponzu - Remove Citra" "Run Ponzu to remove Citra from RetroDECK. Configurations and saves will be mantained.")
|
||||
fi
|
||||
|
||||
choice=$(rd_zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Tools" --cancel-label="Back" \
|
||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
|
||||
|
@ -1097,13 +1091,10 @@ configurator_reset_dialog() {
|
|||
"XEMU" "Reset the XBOX emulator XEMU to default settings"
|
||||
)
|
||||
|
||||
# Check if any ponzu is true before adding Yuzu or Citra to the list
|
||||
# Check if any ponzu is true before adding Yuzu to the list
|
||||
if [[ $(get_setting_value "$rd_conf" "kiroi_ponzu" "retrodeck" "options") == "true" ]]; then
|
||||
emulator_list+=("Yuzu" "Reset the Switch emulator Yuzu")
|
||||
fi
|
||||
if [[ $(get_setting_value "$rd_conf" "akai_ponzu" "retrodeck" "options") == "true" ]]; then
|
||||
emulator_list+=("Citra" "Reset the 3DS emulator Citra")
|
||||
fi
|
||||
|
||||
case $choice in
|
||||
|
||||
|
|
|
@ -36,7 +36,6 @@
|
|||
"retroarch": false
|
||||
},
|
||||
"options": {
|
||||
"akai_ponzu": false,
|
||||
"ask_default_user": true,
|
||||
"branch": "",
|
||||
"cloud_saves": false,
|
||||
|
|
Loading…
Reference in a new issue