Homebrew RELEASE NX Activity Log - View (slightly) more detailed play statistics!

tallbl0nde

Well-Known Member
OP
Member
Joined
Jan 11, 2019
Messages
147
Trophies
0
Age
24
XP
1,538
Country
Australia
Version 1.2.2 fixes the issues related to playtime described in the last few posts, sorry for not realising there was a problem before!
https://github.com/tallbl0nde/NX-Activity-Log/releases/tag/v1.2.2

Also I've got everything set up for translations (I believe so at least :P) so let me know if you're interested in translating the app! So far I have people who have offered to translate it into French and German. I'll make sure to include your username within the app if you wish. :)
You can find me on Twitter, Reddit or here. I have the same username across platforms!
 
  • Like
Reactions: 1basti1

evertonstz

Well-Known Member
Member
Joined
Jan 5, 2019
Messages
209
Trophies
0
Age
29
XP
557
Country
Brazil
Version 1.2.2 fixes the issues related to playtime described in the last few posts, sorry for not realising there was a problem before!
https://github.com/tallbl0nde/NX-Activity-Log/releases/tag/v1.2.2

Also I've got everything set up for translations (I believe so at least :P) so let me know if you're interested in translating the app! So far I have people who have offered to translate it into French and German. I'll make sure to include your username within the app if you wish. :)
You can find me on Twitter, Reddit or here. I have the same username across platforms!

I can translate it to brazilian portuguese, ping me up once everything is ready so I can start working in it.

EDIT: oops, I suppose it's inside "romfs/lang" right? I'll take a look at it and submit a pull request soon! I suppose you're following the iso and the filename will need to be pt-BR.json, right?
 
Last edited by evertonstz,

1basti1

Well-Known Member
Member
Joined
Jun 30, 2019
Messages
215
Trophies
0
Age
33
XP
953
Country
Germany
Oh, German is done already. Hehe. Ehm... I guess you Update the app with these languages in the near future? :)
 

templar701

Active Member
Newcomer
Joined
Jul 20, 2015
Messages
43
Trophies
0
XP
1,013
Country
This is a very cool homebrew
Like what @lordelan said, it would be great to track hombrew NSP play stats.
I enabled the user select screen on some hombrew NSPs hoping to track play stats per user and here’s what I found:

EMUMMC - Firmware 9.0.1 - Atmosphere 10.2 - Hekate

I edited some homebrew NSP’s control.nspd files and enabled the user select screen, and play log policy, hoping that would be enough to activate play stats per user.

<StartupUserAccount>Required</StartupUserAccount>
<PlayLogPolicy>All</PlayLogPolicy>

Unfortunately, only global play stats were enabled (which I confirmed via Goldleaf).
Next, in case I overlooked a setting, I tried to alter a hombrew control.nspd to closely match it to a retail nspd, but no luck. Obviously there is more to it than just simply forcing the user select screen to appear.

I observed a curious difference:

(1) On a retail game, with user select start-up, if you press the home button mid game, you get a message displayed on the game icon stating, “PLAYING” along with a small thumbnail of your user.

(2) On the homebrew NSP I tested, with user select enabled, if you press the home button mid game, you just the “PLAYING” message displayed on the game icon with NO user thumbnail.

Interestingly, in the example of (1) above if you load the retail game using atmosphere homebrew override, when you press the home button, the game icon just has the message “PLAYING” displayed with NO user thumbnail, which is odd because that thumbnail would appear if you booted the retail game normally.
----------
Short answer is: No – even if you enabled user select on a homebrew NSP it seems your play stats are only logged globally at the most (as explained in the piece above), unlike of course retail games.
@The-4n , @re.lax I’ve been using your excellent tools which has made self-isolating a breeze. Don’t suppose you have any pointers on how to get a homebrew NSP running under a user account to achieve per user play logs like a retail game? I have a feeling it's probably more complicated than adjusting a few flags in control files. Thanks
 

tallbl0nde

Well-Known Member
OP
Member
Joined
Jan 11, 2019
Messages
147
Trophies
0
Age
24
XP
1,538
Country
Australia
I can translate it to brazilian portuguese, ping me up once everything is ready so I can start working in it.

EDIT: oops, I suppose it's inside "romfs/lang" right? I'll take a look at it and submit a pull request soon! I suppose you're following the iso and the filename will need to be pt-BR.json, right?
Yep you had it all right, thanks for the translation :)

Oh, German is done already. Hehe. Ehm... I guess you Update the app with these languages in the near future? :)
Yep I've just realised I probably should have added other features before mentioning translations as they'll need to be updated before next release :P

Is there a way to backup / restore this play time data?
Not yet, while it should be trivial to add backup functionality I don't think it would be quite possible to restore within the app as the file is 'locked' (unwritable) by Horizon the whole time the OS is running. But I don't really want to mess around with this on my own switch so I probably won't add it. (Restoring would also be more difficult as everything is tied to user ids, etc)

This is a very cool homebrew
Like what @lordelan said, it would be great to track hombrew NSP play stats.
I enabled the user select screen on some hombrew NSPs hoping to track play stats per user and here’s what I found:


----------
Short answer is: No – even if you enabled user select on a homebrew NSP it seems your play stats are only logged globally at the most (as explained in the piece above), unlike of course retail games.
@The-4n , @re.lax I’ve been using your excellent tools which has made self-isolating a breeze. Don’t suppose you have any pointers on how to get a homebrew NSP running under a user account to achieve per user play logs like a retail game? I have a feeling it's probably more complicated than adjusting a few flags in control files. Thanks
Thanks for looking into it, seems it may be more complex than I had hoped. Maybe it has to do with how the game/nro selects a user. For example I've noticed in Brain Training that everytime you select your user's profile it's counted as a launch. Maybe the user select applet is just used to provide a user to the nsp and whether or not they're "logged in" is up to game/nro?
 

templar701

Active Member
Newcomer
Joined
Jul 20, 2015
Messages
43
Trophies
0
XP
1,013
Country
Thanks for looking into it, seems it may be more complex than I had hoped. Maybe it has to do with how the game/nro selects a user. For example I've noticed in Brain Training that everytime you select your user's profile it's counted as a launch. Maybe the user select applet is just used to provide a user to the nsp and whether or not they're "logged in" is up to game/nro?

Thanks, I think you might be right, hopefully it can be confirmed.

Just going to fire off a curios guess - for the play stat records available , I'm guessing the fields that can be queried are something like - date stamp - title id - user id - app start or exit - For games that don't have user select at start up, e.g. Snipper Clips Demo, is the user id just left blank or is there some other recording method?

Interestingly, I note that Goldleaf title viewer makes a clear distinction between global and user play stats. If you view Snipper Clips Demo in Goldleaf title viewer it will just give you a global statistic play stat as expected since the game doesn't let you log in. BUT if you try to view it while logged into Goldleaf as a user, it will give you a crazy statistic for both user and global stats thinking you played the game 20 years ago (please see attached).
 

Attachments

  • GL - snipper clips demo - crazy stat.jpg
    GL - snipper clips demo - crazy stat.jpg
    95.3 KB · Views: 167

tallbl0nde

Well-Known Member
OP
Member
Joined
Jan 11, 2019
Messages
147
Trophies
0
Age
24
XP
1,538
Country
Australia
Thanks, I think you might be right, hopefully it can be confirmed.

Just going to fire off a curios guess - for the play stat records available , I'm guessing the fields that can be queried are something like - date stamp - title id - user id - app start or exit - For games that don't have user select at start up, e.g. Snipper Clips Demo, is the user id just left blank or is there some other recording method?

Interestingly, I note that Goldleaf title viewer makes a clear distinction between global and user play stats. If you view Snipper Clips Demo in Goldleaf title viewer it will just give you a global statistic play stat as expected since the game doesn't let you log in. BUT if you try to view it while logged into Goldleaf as a user, it will give you a crazy statistic for both user and global stats thinking you played the game 20 years ago (please see attached).
Since it gives a crazy value when a user is selected I'd say it's a Goldleaf issue, as you can either query for a user or the 'system' (and you don't use a user id for the system query). I'm not sure about the system stats yet but the Switch simply saves the timestamp of a launch/exit/etc and a separate user event (which I've used for the recent activity stats). Without having a proper look I'd say it's just not writing that user event to the log and thus it's being ignored.

Attached is a snippet of my play log - you can see the user is selected/'logged in' after the game is launched and then 'logged out' before it's closed:
(if you want to experiment the .nro that generates this file can be found here: https://github.com/tallbl0nde/PlayEventParser)
 

Attachments

  • playlog.png
    playlog.png
    10.5 KB · Views: 137
  • Like
Reactions: templar701

templar701

Active Member
Newcomer
Joined
Jul 20, 2015
Messages
43
Trophies
0
XP
1,013
Country
Since it gives a crazy value when a user is selected I'd say it's a Goldleaf issue, as you can either query for a user or the 'system' (and you don't use a user id for the system query). I'm not sure about the system stats yet but the Switch simply saves the timestamp of a launch/exit/etc and a separate user event (which I've used for the recent activity stats). Without having a proper look I'd say it's just not writing that user event to the log and thus it's being ignored.

Attached is a snippet of my play log - you can see the user is selected/'logged in' after the game is launched and then 'logged out' before it's closed:
(if you want to experiment the .nro that generates this file can be found here: https://github.com/tallbl0nde/PlayEventParser)

That's great, will have a play with this for sure, thanks!
 
  • Like
Reactions: tallbl0nde

phalk

Handheld Maniac
Member
Joined
Apr 23, 2009
Messages
588
Trophies
1
Age
36
XP
2,086
Country
Brazil
Hey @tallbl0nde
I was thinking about coding a replacement for the friends module since we can't access it on CFW due to ban issues.

What I mean is: We can already replace the profile with this app, so I was thinking about developing a homebrew to replace the "friends" module of the original FW so we can add and see when our CFW friends are online and what they are playing.

What do you think about this idea? I don't think it would be too complicated, we would just need a relay to pass information...
 

tallbl0nde

Well-Known Member
OP
Member
Joined
Jan 11, 2019
Messages
147
Trophies
0
Age
24
XP
1,538
Country
Australia
Hey @tallbl0nde
I was thinking about coding a replacement for the friends module since we can't access it on CFW due to ban issues.

What I mean is: We can already replace the profile with this app, so I was thinking about developing a homebrew to replace the "friends" module of the original FW so we can add and see when our CFW friends are online and what they are playing.

What do you think about this idea? I don't think it would be too complicated, we would just need a relay to pass information...
That would be great! Yeah there would need to be some sort of server that manages everything. You could use each person's user ID or generate one for them and then have a sysmodule or something that pings the server every so often to indicate they're online. I'm not sure if just the friends applet (or whatever it is) can be replaced though. I mean you could even go all out and add a messaging feature to improve it over Nintendo's... with homebrew (almost) anything is possible! :P

I'm just chucking ideas out though - but it would be cool and helpful for those of us stuck with using lan-play! :)
 

1basti1

Well-Known Member
Member
Joined
Jun 30, 2019
Messages
215
Trophies
0
Age
33
XP
953
Country
Germany
Hey, another Suggestion. :)

Im on
Default Screen - Recent Activity
Default Sort method - by Most recently Played
Default View type - by month

If I change View on the Mainscreen to by day, it Starts at the 1st of the month, it would be much better If it would be on Today. :)
 

tallbl0nde

Well-Known Member
OP
Member
Joined
Jan 11, 2019
Messages
147
Trophies
0
Age
24
XP
1,538
Country
Australia
Hey, another Suggestion. :)

Im on
Default Screen - Recent Activity
Default Sort method - by Most recently Played
Default View type - by month

If I change View on the Mainscreen to by day, it Starts at the 1st of the month, it would be much better If it would be on Today. :)
I get what you mean - I'll add this before next release if I remember :P
 
  • Like
Reactions: 1basti1

kornjaca200

Well-Known Member
Newcomer
Joined
Mar 2, 2017
Messages
57
Trophies
0
Age
37
XP
982
Country
Netherlands

tallbl0nde

Well-Known Member
OP
Member
Joined
Jan 11, 2019
Messages
147
Trophies
0
Age
24
XP
1,538
Country
Australia
Hey all, apologies for the delay in releasing the update but it's finally here! It most importantly brings support for 10.0.0, but also supports more languages and adds custom theme support among other things. There shouldn't be any major bugs I've missed this time :P

https://github.com/tallbl0nde/NX-Activity-Log/releases/tag/v1.3.0
 

mc6415

Active Member
Newcomer
Joined
Sep 3, 2007
Messages
28
Trophies
0
Website
Visit site
XP
179
Country
I seem to have something funky going on with my game time for some reason it seems to think I'm pretty much maxed out the whole of 2021, and it seems to end in July 2022 after tailing off seemingly halving the hours to 672 for Feb 2022, and the others at 720 and 744.... any ideas what's going on as I'm stumped haha!

J3PgGg2.jpg
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    YT music apps pointless tbh
  • ZeroT21 @ ZeroT21:
    playing old music mostly while browsing/going through comics at archive.org
  • ZeroT21 @ ZeroT21:
    me doin' simple stuff
  • K3Nv2 @ K3Nv2:
    Don't always need a bunch of electronics to enjoy electronics
    +1
  • K3Nv2 @ K3Nv2:
    Issue is we want new and best then it piles up
  • ZeroT21 @ ZeroT21:
    i'm all gud if my browser don't lag
  • K3Nv2 @ K3Nv2:
    I fixed a 2010 netbook for someone and they were happy
  • ZeroT21 @ ZeroT21:
    i did something similar to for a friend, was a old acer netbook, he was over the moon, guess guys are just that simple
  • K3Nv2 @ K3Nv2:
    Still had xp all the works at least got 7 on it
  • ZeroT21 @ ZeroT21:
    even if MS says newer windows works fine on 1 Gb of ram, I'd still go for the default or similar OS
  • K3Nv2 @ K3Nv2:
    It loaded youtube with like a 5 minute lag lol
  • ZeroT21 @ ZeroT21:
    it's a old potato, can't expect much
  • K3Nv2 @ K3Nv2:
    I told her it's not a good porn book
  • ZeroT21 @ ZeroT21:
    it's fine if it work and can watch their fav porn
  • K3Nv2 @ K3Nv2:
    For images maybe
  • ZeroT21 @ ZeroT21:
    it's not a vibrator la, ...that lags
  • K3Nv2 @ K3Nv2:
    No haptic feedback in laptops
  • ZeroT21 @ ZeroT21:
    you ain't paying for that kinda realism with this hardware
  • K3Nv2 @ K3Nv2:
    Need to give apple $600
  • ZeroT21 @ ZeroT21:
    the more you give apple the more features they will take away
  • K3Nv2 @ K3Nv2:
    Apple finally invented folders
  • ZeroT21 @ ZeroT21:
    i still want headphone jacks for my shit
  • ZeroT21 @ ZeroT21:
    i dont want do deal with low on battery earbuds and shit
  • K3Nv2 @ K3Nv2:
    I hate cords but my life is a cord will probably make a noose from cords
  • ZeroT21 @ ZeroT21:
    we'll all croak one day, no need to fuss so much
    ZeroT21 @ ZeroT21: we'll all croak one day, no need to fuss so much