Aller au contenu

NX-Activity-Log : Transformer les activités console en vues

NX-Activity-Log est un fork d’un visualiseur d’activité homebrew Switch. L’application lit les traces de jeu de la console et présente des résumés par utilisateur et titre. Ces traces proviennent de la console, et non de l’interface.

Matériel et infographie Fork
  • Mis à jour
  • C++ · 92.17%
  • MIT
Crédit amont
Langages du dépôtC++ 92.17%4

Parts calculées à partir des octets GitHub Linguist.

Langage%Octets
C++92.17%394 579
Makefile4.16%17 822
C3.44%14 713
Assembly0.23%978

GitHub · README · Statistiques de langages

Aperçu

Pourquoi il existe

Analyseur télémétrique lisant les journaux de jeu Switch bruts sans risque de bannissement.

Cas d’usage

Suivi précis et analytique du temps de jeu sur Nintendo Switch.

Démarrage

Ces commandes viennent de la documentation du dépôt. Elles n’ont pas été exécutées pendant cette revue.

Références du dépôt

Extraits des guides du dépôt, dans leur langue d’origine. Les liens ouvrent la version du code consultée.

Prérequis et premier essai

Firmware / CFW requirements

README.md

  • HOS 22.0.5 (and 22.x): Atmosphere ≥ 1.11.0 (1.11.2 recommended for 22.5.0). Homebrew launch on 22.0.0+ relies on Atmosphere’s am compatibility patches.
  • HOS 21.0.0+: Rebuild with libnx ≥ 4.10.0 (TLS ABI change). This release targets current libnx (4.11.x / latest).
  • Older firmwares: The same binary is intended to run under current Atmosphere on earlier HOS versions; use title/hbmenu launch rather than User Page if the forwarder path fails. Curious about what’s next? See the original to-do list on Trello
Lire les instructions complètes ↗
Documentation source

2 documents lus parmi 2 candidats.

Fonctions et composants 2

Cycle de vie de l’application
main.cpp crée Main::Application, l’exécute puis le libère. L’arborescence sépare le code console dans nx, l’interface et les utilitaires. Les tâches d’import et d’export possèdent leurs propres fichiers source.
Traces et présentation
Les vues décrites organisent l’activité par utilisateur, jeu et période. L’extraction doit donc rester distincte du regroupement et de l’affichage. Les données exportées sont une sortie supplémentaire, pas un remplacement des traces d’origine.

Architecture

Les composants et leurs liens restent lisibles en texte. Le diagramme ajoute une vue interactive.

Contexte système Contexte
  1. Traces d’activité console
  2. Traitement des traces
  3. Regroupement utilisateur et titre
  4. Vues d’activité
  5. Tâche d’export

Liens vérifiés dans le dépôt.

Mermaid Diagramme interactif (chargement à l’ouverture)

Vue générale des composants et des échanges vérifiés dans le dépôt.

Vue statique de l’architecture de NX-Activity-Log
Aperçu statique. Le diagramme interactif le remplace après le chargement de Mermaid.
flowchart LR
  n0["Traces d’activité console"]
  n1["Traitement des traces"]
  n2["Regroupement utilisateur et titre"]
  n3["Vues d’activité"]
  n4["Tâche d’export"]
  n0 --> n1
  n1 --> n2
  n2 --> n3
  n1 --> n4
Version texte du diagramme
  • Traces d’activité console → Traitement des traces
  • Traitement des traces → Regroupement utilisateur et titre
  • Regroupement utilisateur et titre → Vues d’activité
  • Traitement des traces → Tâche d’export
Suivre un parcours dans le code

Commencez par Main::Application et les modules nx avant les vues. Cela distingue une modification des regroupements d’une modification des traces disponibles sur la console.

Types et structure des fichiers

39 types déclarés, dont 12 dans l’aperçu des relations de base.

Diagramme des types
classDiagram
direction TB
class t4e1a8b16b16a["ExportJob"] {
  work()
}
class t096aa39364ca["ImportJob"] {
  work()
}
class t8e8298b1a9b7["Application"] {
  createScreens()
  deleteScreens()
  checkForUpdate()
  initThreadFunc()
}
class t041c3287dd04["AdjustmentValue"] {
  <<struct>>
}
class t43e8dd03878e["Config"] {
  readConfig()
  writeConfig()
  adjustmentValues()
  hiddenTitles()
}
class t00560be273e6["PlayEvent"] {
  <<struct>>
}
class t9b5b3b925b3c["PlaySession"] {
  <<struct>>
}
class t54fded939917["PlayStatistics"] {
  <<struct>>
}
class t5d5e193ce052["RecentPlayStatistics"] {
  <<struct>>
}
class t7381507fcce0["PD_Session"] {
  <<struct>>
}
class tecf3b954f1c7["PlayData"] {
  getPDSessions()
  readPlayDataFromPdm()
  readPlayDataFromImport()
  setProgressCallback()
}
class teaa6245a0ea3["Title"] {
  titleID()
  isInstalled()
  name()
  imgSize()
}
class b7eaf7d3050ac["Aether::ThreadPool::Job"] {
  <<unresolved_base>>
}
b7eaf7d3050ac <|-- t4e1a8b16b16a
class bea58313e0e40["Aether::ThreadPool::Job"] {
  <<unresolved_base>>
}
bea58313e0e40 <|-- t096aa39364ca

Les bases non résolues restent identifiées; les signatures complètes ne sont pas reconstruites.

Index des types

Référence

90 / 90 fichiers admissibles lus (106 dans l’arbre); 0 trop volumineux, 0 échec de lecture et 3 diagnostic de syntaxe.

Ce que couvre l’analyse

Les dossiers connus de dépendances et de compilation, les fichiers d’identifiants et les binaires sont exclus. La collecte couvre les README, les manifestes reconnus et les fichiers source pris en charge.

Les statistiques Linguist couvrent l’ensemble du dépôt et peuvent inclure d’autres langages.

Carte des fichiers
flowchart TD
  root["NX-Activity-Log"]
  f0["Application/source/Application.ExportJob.cpp"]
  root --> f0
  f1["Application/source/Application.cpp"]
  root --> f1
  f2["Application/source/main.cpp"]
  root --> f2
  f3["Makefile"]
  root --> f3
  f4["README.md"]
  root --> f4
  f5["Application/Makefile"]
  root --> f5
  f6["Forwarder/Makefile"]
  root --> f6
  f7["Forwarder/README.md"]
  root --> f7
  f8["Application/include/Application.ExportJob.hpp"]
  root --> f8
  f9["Application/include/Application.ImportJob.hpp"]
  root --> f9
  f10["Application/include/Application.hpp"]
  root --> f10
  f11["Application/include/Config.hpp"]
  root --> f11
  f12["Application/include/Types.hpp"]
  root --> f12
  f13["Application/source/Application.ImportJob.cpp"]
  root --> f13
  f14["Application/source/Config.cpp"]
  root --> f14
  f15["Application/source/Types.cpp"]
  root --> f15

Fichiers à lire 3

Références