Skip to content

Instantly share code, notes, and snippets.

@noxiousninja
Last active November 21, 2021 10:04
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save noxiousninja/c7969b0028b067335d360f020753ef49 to your computer and use it in GitHub Desktop.
Save noxiousninja/c7969b0028b067335d360f020753ef49 to your computer and use it in GitHub Desktop.
GodMode9 script for managing StreetPass (CECD) files. To install, save file into the /gm9/scripts/ directory on your SD card.
set PREVIEW_MODE "StreetPass2 Inject/Backup/Restore Script\nby Noxious Ninja\n \nInspired by scripts by KiTA"
# Installation:
# - Place this file in the /gm9/scripts/ directory on your SD card.
# - Place any StreetPass2 (CECD) files you want to install in the
# /gm9/in/streetpass/ directory on your SD card. You may need to
# create this directory if it doesn't exist.
#
# Usage:
# 1. Launch GodMode9
# 2. Press the Home button on your 2DS/3DS
# 3. Select Scripts...
# 4. Select StreetPass2
#
# Changelog:
# - v1.0 (2021-08-30)
# - Initial release
#
# Discussions:
# - https://old.reddit.com/r/3dshacks/comments/on4efi/streetpass_2_up_and_running/
# - https://gbatemp.net/threads/streetpass-2-rise-from-the-ashes.526749/
set GM9IN "0:/gm9/in"
if not find $[GM9IN] NULL
mkdir $[GM9IN]
end
set SPIN "$[GM9IN]/streetpass"
if not find $[SPIN] NULL
mkdir $[SPIN]
end
set SYS_CECD_FILE 1:/data/$[SYSID0]/sysdata/00010026/00000000
@sp_menu
set PREVIEW_MODE "StreetPass2 Inject/Backup/Restore Script\nby Noxious Ninja\n \nInspired by scripts by KiTA"
labelsel -s "Select an option." spopt_*
goto sp_menu
@spopt_Install
set PREVIEW_MODE "Install a CECD (StreetPass) data file from\nSDCARD:/gm9/in/streetpass/"
set SUCCESSMSG "Successfully installed StreetPass data"
set ERRORMSG "ERROR! StreetPass data install failed.\nMaybe you forgot to unlock SysNAND?"
if filesel -d -x "Install which CECD file?" $[SPIN]/* CECDFILE
if ask "Install file?\n$[CECDFILE]!"
set PREVIEW_MODE "Installing:\n$[CECDFILE]\n \nPlease unlock SysNAND if prompted"
cp -w -n $[CECDFILE] $[SYS_CECD_FILE]
fixcmac $[SYS_CECD_FILE]
echo "SUCCESS! StreetPass data file installed to:\n$[SYS_CECD_FILE]"
end
else
echo "Installation cancelled."
end
goto sp_menu
@spopt_Backup
set PREVIEW_MODE "Backup current CECD (StreetPass) data to\nSDCARD:/gm9/out/streetpass_???"
set ERRORMSG "ERROR! StreetPass data file backup failed."
if ask "Create StreetPass data file in $[GM9OUT]?"
findnot $[GM9OUT]/streetpass_??? OUTPATH
set PREVIEW_MODE "Saving backup to:\n$[OUTPATH]"
cp $[SYS_CECD_FILE] $[OUTPATH]
echo "SUCCESS! StreetPass data backup created at:\n$[OUTPATH]"
else
echo "Backup cancelled."
end
goto sp_menu
@spopt_Restore
set PREVIEW_MODE "Restore a CECD (StreetPass) data backup from\nSDCARD:/gm9/out/streetpass_???"
set ERRORMSG "ERROR! StreetPass data file restore failed.\nMaybe you forgot to unlock SysNAND?"
if ask "Restore StreetPass data file from $[GM9OUT]?"
if filesel -d -x "Restore which backup?" $[GM9OUT]/streetpass_* COPYPATH
set PREVIEW_MODE "Restoring backup from:\n$[COPYPATH]\n \nPlease unlock SysNAND if prompted!"
cp -w $[COPYPATH] $[SYS_CECD_FILE]
fixcmac $[SYS_CECD_FILE]
echo "SUCCESS! StreetPass data restored from:\n$[COPYPATH]"
end
else
echo "Restore cancelled."
end
goto sp_menu
@spopt_Exit
set SUCCESSMSG "Goodbye"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment