Avatool - Homebrew Tool to Change Avatars

This is a quick tool I threw together in my free time the last two days to make changing avatars to custom ones easier for myself. It works by terminating the account service on your Switch which will lead to a crash. While I have had 0 problems testing it, it does write to system save data, which some might consider risky. Also, guaranteed ban online. You've been warned.

Avatars are 256x256 JPG files. Place them in the folder sdmc:/avatar/. Avatool will only see files with the extension '.jpg'
Once on the main selection screen:
  • L and R change the targeted avatar image
  • Up and Down control the file menu
  • A will overwrite the target with the selected source image
If the write was successful, you will see the target image change. Reboot and it should show on the home menu and profile screens.

Keep in mind this isn't supposed to be anything fancy.

avatool.jpg

https://github.com/J-D-K/Avatool/releases
 
Last edited by JK_,

Lush

Well-Known Member
Member
Joined
Jul 16, 2007
Messages
260
Trophies
0
XP
808
Country
Canada
@JK_ Is it possible to have transparent backgrounds? I know that jpg doesn't support this feature... Any workaround?
 

Mr_Cheeze445

New Member
Newbie
Joined
Jan 8, 2019
Messages
2
Trophies
0
Age
20
Website
ttoffline.com
XP
78
Country
United States
Did you ever manage to find a fix for your issue?
It is a different TitleID when using the HBMenu NSP. I'll give the Avatool NSP a go and see what happens. I also uploaded all of my recent Atmosphere crash reports, I had cleaned out the folder right before I tried this out, so they should all be crashes from Avatool.

--Edit--

Avatool NSP also crashes at the same point
 

Mr_Cheeze445

New Member
Newbie
Joined
Jan 8, 2019
Messages
2
Trophies
0
Age
20
Website
ttoffline.com
XP
78
Country
United States
Nope, I just stuck with DevMenu. I think Goldleaf has the option to edit account icons now.
You see i'm in a bit of an odd place i originally treid to replace it using goldleaf when it did come out but it failed to do so (because it ended up being too big of an icon) and trying to use any app that calls for the icon crashes the switch, i was hoping that this could fix it but it just crashes thanks for the help anyways though!
 

Qwerty5555

Active Member
Newcomer
Joined
Sep 28, 2019
Messages
40
Trophies
0
Age
34
XP
113
Country
Afghanistan
IS this a one time use? I tried changing my pic again but after i press A (to unlink) it goes straight to an error page and reboot.
 

ELY_M

Developer
Developer
Joined
Dec 6, 2007
Messages
710
Trophies
1
XP
1,692
Country
United States
I will fork this app and compile it for you. it will be few mins. I hope I can compile it with out errors

--------------------- MERGED ---------------------------

look at this. need to change few functions.

Code:
M:\switchdev\0wn-switch\Avatool>make
main.cpp
aarch64-none-elf-g++ -MMD -MP -MF /m/switchdev/0wn-switch/Avatool/build/main.d -g -Wall -O2 -ffunction-sections -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE  -I/m/switchdev/0wn-switch/Avatool/inc -I/opt/devkitpro/portlibs/switch/include -I/opt/devkitpro/libnx/include -I/m/switchdev/0wn-switch/Avatool/build -D__SWITCH__ `freetype-config --cflags` -fno-rtti -fno-exceptions -std=gnu++14 -c /m/switchdev/0wn-switch/Avatool/src/main.cpp -o main.o
In file included from D:/devkitPro/libnx/include/switch.h:13,
                 from M:/switchdev/0wn-switch/Avatool/src/main.cpp:1:
M:/switchdev/0wn-switch/Avatool/src/main.cpp: In function 'bool shutdownMount()':
M:/switchdev/0wn-switch/Avatool/src/main.cpp:14:20: error: 'pmshellTerminateProcessByTitleId' was not declared in this scope
     if(R_SUCCEEDED(pmshellTerminateProcessByTitleId(0x010000000000001E)))
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:/devkitPro/libnx/include/switch/result.h:10:30: note: in definition of macro 'R_SUCCEEDED'
 #define R_SUCCEEDED(res)   ((res)==0)
                              ^~~
M:/switchdev/0wn-switch/Avatool/src/main.cpp:14:20: note: suggested alternative: 'pmshellTerminateProcess'
     if(R_SUCCEEDED(pmshellTerminateProcessByTitleId(0x010000000000001E)))
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:/devkitPro/libnx/include/switch/result.h:10:30: note: in definition of macro 'R_SUCCEEDED'
 #define R_SUCCEEDED(res)   ((res)==0)
                              ^~~
M:/switchdev/0wn-switch/Avatool/src/main.cpp:24:24: error: 'fsMount_SystemSaveData' was not declared in this scope
         if(R_SUCCEEDED(fsMount_SystemSaveData(&acc, 0x8000000000000010)))
                        ^~~~~~~~~~~~~~~~~~~~~~
D:/devkitPro/libnx/include/switch/result.h:10:30: note: in definition of macro 'R_SUCCEEDED'
 #define R_SUCCEEDED(res)   ((res)==0)
                              ^~~
M:/switchdev/0wn-switch/Avatool/src/main.cpp:24:24: note: suggested alternative: 'fsdevMountSystemSaveData'
         if(R_SUCCEEDED(fsMount_SystemSaveData(&acc, 0x8000000000000010)))
                        ^~~~~~~~~~~~~~~~~~~~~~
D:/devkitPro/libnx/include/switch/result.h:10:30: note: in definition of macro 'R_SUCCEEDED'
 #define R_SUCCEEDED(res)   ((res)==0)
                              ^~~
make[1]: *** [/opt/devkitpro/devkitA64/base_rules:14: main.o] Error 1
make: *** [Makefile:151: build] Error 2

M:\switchdev\0wn-switch\Avatool>
M:\switchdev\0wn-switch\Avatool>
 
  • Like
Reactions: Lush

ELY_M

Developer
Developer
Joined
Dec 6, 2007
Messages
710
Trophies
1
XP
1,692
Country
United States
can you update your github?

--------------------- MERGED ---------------------------

make sure he dont go online..... or he will be banned.
 
  • Like
Reactions: Lush

Lush

Well-Known Member
Member
Joined
Jul 16, 2007
Messages
260
Trophies
0
XP
808
Country
Canada
make sure he dont go online..... or he will be banned.

Thanks. This system has never been online since 2.x and I've already used this tool early in its release to change my icon to this cassette. The space invader icon for my son looks great too.
 
Last edited by Lush,
  • Like
Reactions: ELY_M

ELY_M

Developer
Developer
Joined
Dec 6, 2007
Messages
710
Trophies
1
XP
1,692
Country
United States
Thanks. This system has never been online since 2.x and I've already used this tool early in its release to change my icon to this cassette. The space invader icon for my son looks great too.


Are you same Lush guy that watch my twitch streams? I talked with Lush guy and I played his Super Mario Maker 2 levels on my stream about 2 or 3 days ago.
 

fennectech

Well-Known Member
Newcomer
Joined
Nov 1, 2016
Messages
66
Trophies
0
Age
30
XP
303
Country
United States
Does this change the avatar online and get you banned? Or just locally on the system.

--------------------- MERGED ---------------------------
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Your dad still got laid +1