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,694
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,694
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,694
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
  • BigOnYa @ BigOnYa:
    My biggest prob is alcohol, definitely is fattening
  • K3Nv2 @ K3Nv2:
    I know when to stop at least honestly don't get those that go and go with food
  • BigOnYa @ BigOnYa:
    Or those that order 2 big macs , large fry, ice cream sundie, then a diet coke
  • K3Nv2 @ K3Nv2:
    I might get downing two big macs but nah that's it
  • BigOnYa @ BigOnYa:
    Ok that will be $15.99, cash or charge?
  • K3Nv2 @ K3Nv2:
    My go to orders usually a mcdouble and a mcchicken and I'm happy rarely mess with fries
  • K3Nv2 @ K3Nv2:
    Pro tip ask for that clowns jizzmac sauce on your mcdouble
    +1
  • BigOnYa @ BigOnYa:
    Do they charge extra when you add sauce,etc? I know burger king used to not, but don't know nowadays
  • K3Nv2 @ K3Nv2:
    They may squrit it for free if you ask nice
    +1
  • K3Nv2 @ K3Nv2:
    Last time I got bk it was 35c per sauce fuck you king of my nutsack
    +1
  • K3Nv2 @ K3Nv2:
    I'll buy a bottle of baby rays BBQ for $2 and add it from home out of spite
    +1
  • BigOnYa @ BigOnYa:
    I like baby rays, my favorite is KC masterpiece tho. Figured all you could buy is that there.
  • K3Nv2 @ K3Nv2:
    The metro doesn't discriminate good sauce
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Baby Rays isn't that what killed the crocodile hunter?
  • Psionic Roshambo @ Psionic Roshambo:
    If only he had done an endorsement for them....
  • Psionic Roshambo @ Psionic Roshambo:
    Oy mate don't let a bad bbq sauce kill your party! Baby Rays are killing it!! The flavor hits you right in the chest!
    +1
  • Xdqwerty @ Xdqwerty:
    My phone only has 13% battery so i don't have much time left
  • Xdqwerty @ Xdqwerty:
    Now 12%
  • BigOnYa @ BigOnYa:
    Happy birthday, btw
  • Psionic Roshambo @ Psionic Roshambo:
    Time is running out for your phone!
  • Psionic Roshambo @ Psionic Roshambo:
    Sign up with Emperor Phone plan for unlimited power!!! And minutes!!!
  • AdenTheThird @ AdenTheThird:
    https://youtu.be/JmSqorj-EC0?si=vYqR8D7FZeO4N-TH
    At 1 AM, this video is the funniest thing in the world
    +1
  • K3Nv2 @ K3Nv2:
    Notes on Android got some cool new features like dropping a image in
    K3Nv2 @ K3Nv2: Notes on Android got some cool new features like dropping a image in