[Switch] AtmoPackUpdater 0.0.1 disponible !

1612 visiteurs sur le site | S'incrire

Accédez aux coordonnées de l’ensemble des techniciens professionnels recommandés par logic-sunrise 20 derniers dossiers et tutoriaux
Wii / Wii U
[Switch] AtmoPackUpdater 0.0.1 disponible !

Bonjour à tous. Je fais une news aujourd'hui pour vous présenter l'homebrew que j'ai publié. Il permet de mettre à jour le cfw facilement via le pack de notre chère Linkynimes ! L'homebrew est open source donc vous pouvez le modifier à votre guise.

 

Comment l'implémenter pour mon pack ?

 

Pour ce faire il n'y a rien de compliqué. Vous devez cloner le repo github et vous rendre dans includes/download.h et modifier les deux petits define ci dessous avec vos deux liens. Un pour l'app et l'autre pour le pack

#define APP_URL         "https://github.com/PoloNX/AtmoPackUpdater/releases/latest/download/AtmoPackUpdater.nro"
#define CFW_URL         "https://github.com/THZoria/AtmoPack-Vanilla/releases/latest/download/AtmoPack-Vanilla_Latest.zip"

Ensuite il faut rebuild le projet comme expliqué dans mon readme et le tour est joue!
 

 

L'homebrew fonctionne pour le pack de linkynimes comme dis plus haut qui est un très bon pack donc si vous êtes un utilisateur lambda je ne vous conseil pas de faire cette manipulation.

 

Téléchargement : AtmoPackUpdater v0.0.1

 

Jeudi 30 Juin 2022, 07:45 par polo_cha2
Source : github.com
30 juin 2022, 07:46
Approuver ce commentaire (+1)
merci .
Répondre à ce commentaire
30 juin 2022, 08:23
Approuver ce commentaire (+1)
Merci, très utile pour une partie de la communauté
Répondre à ce commentaire
30 juin 2022, 08:50
Approuver ce commentaire (+1)
Plutôt utile mais, l'ayant testé avec notre pack il est trop lent pour des gros packs, la copie sur la SD a duré près de 15 minutes et c'était sur une SD de bonne qualité.

J'ai aussi remarqué des fautes de frappes dans certains "printf" de "main.c".

Et puisque j'y suis petite question codage comme je ne maîtrise pas du tout le C++ et encore moins la Libnx, comment modifier la partie "unzip.c" pour qu'elle ignore le premier répertoire du zip, par exemple si on souhaite utiliser un zip du genre "https://github.com/T...heads/main.zip" (je sais que ce zip ne contient pas le pack mais bon c'est pour donner un exemple de zip avec lequel je souhaite travailler)?
Répondre à ce commentaire
30 juin 2022, 08:59
Approuver ce commentaire (+1)
Il est vrai que cette homebrew fonctionnera sûrement mieux sur mon pack étant lié a ma façons de faire d'avoir un pack le moins lourd possible ^^

Après test de mon côté la mise à jour a pris un peu près 6 minutes sur une SD pas mal corrompu de bidouille en tout genre
Merci Polo pour le travail :D
Répondre à ce commentaire
30 juin 2022, 09:20
Approuver ce commentaire (+1)
Six minutes quand même, du coup peut-être que mon estimation du temps était trop petite mais il est clair que c'était assez long, trop long à notre sens mais peut-être qu'en optimisant un peu le truc ensuite on pourrait raccourcir le temps (augmenter la taille du buffer peut-être).
Répondre à ce commentaire
30 juin 2022, 09:49
Approuver ce commentaire (+1)

Plutôt utile mais, l'ayant testé avec notre pack il est trop lent pour des gros packs, la copie sur la SD a duré près de 15 minutes et c'était sur une SD de bonne qualité.

J'ai aussi remarqué des fautes de frappes dans certains "printf" de "main.c".

Et puisque j'y suis petite question codage comme je ne maîtrise pas du tout le C++ et encore moins la Libnx, comment modifier la partie "unzip.c" pour qu'elle ignore le premier répertoire du zip, par exemple si on souhaite utiliser un zip du genre "https://github.com/T.../heads/main.zip (je sais que ce zip ne contient pas le pack mais bon c'est pour donner un exemple de zip avec lequel je souhaite travailler)?

La partie du zip est lente car je fais en sorte d’éviter les corruptions. Je pourrai ma faire plus rapide mais ça risque d’être risqué. Cet homebrew est adapté au pack de linkynimes qui fait 29Mb.
Et pour modifier ça c’est rien de compliqué. Comme tu vois dans mon unzip.c j’ai un else if qui vérifie si le fichier est package3 (sécurité de atmo) tu copie tout ce if et tu mets à la place de ce fichier une condition qui vérifie que le DEBUT commence par ton répertoire. Si tu préfère envoi moi un message privé je le ferai à ta place.
Répondre à ce commentaire
30 juin 2022, 09:50
Approuver ce commentaire (+1)

Six minutes quand même, du coup peut-être que mon estimation du temps était trop petite mais il est clair que c'était assez long, trop long à notre sens mais peut-être qu'en optimisant un peu le truc ensuite on pourrait raccourcir le temps (augmenter la taille du buffer peut-être).


Je vous laisse faire ça à la communauté. J’ai pas envie de corrompre des sd. Mais je pourrai améliorer ça si c’est vraiment dérangeant
Répondre à ce commentaire
30 juin 2022, 09:51
Approuver ce commentaire (+1)

Plutôt utile mais, l'ayant testé avec notre pack il est trop lent pour des gros packs, la copie sur la SD a duré près de 15 minutes et c'était sur une SD de bonne qualité.J'ai aussi remarqué des fautes de frappes dans certains "printf" de "main.c".Et puisque j'y suis petite question codage comme je ne maîtrise pas du tout le C++ et encore moins la Libnx, comment modifier la partie "unzip.c" pour qu'elle ignore le premier répertoire du zip, par exemple si on souhaite utiliser un zip du genre "https://github.com/T.../heads/main.zip (je sais que ce zip ne contient pas le pack mais bon c'est pour donner un exemple de zip avec lequel je souhaite travailler)?

La partie du zip est lente car je fais en sorte d’éviter les corruptions. Je pourrai ma faire plus rapide mais ça risque d’être risqué. Cet homebrew est adapté au pack de linkynimes qui fait 29Mb. Et pour modifier ça c’est rien de compliqué. Comme tu vois dans mon unzip.c j’ai un else if qui vérifie si le fichier est package3 (sécurité de atmo) tu copie tout ce if et tu mets à la place de ce fichier une condition qui vérifie que le DEBUT commence par ton répertoire. Si tu préfère envoi moi un message privé je le ferai à ta place.

C'est déjà plus rapide que AIO Switch Updaters ou le dl est rapide mais le dezippage mais une plombe avec une mise à jour qui prend 30 minutes...
Répondre à ce commentaire
30 juin 2022, 09:56
Approuver ce commentaire (+1)

Plutôt utile mais, l'ayant testé avec notre pack il est trop lent pour des gros packs, la copie sur la SD a duré près de 15 minutes et c'était sur une SD de bonne qualité.J'ai aussi remarqué des fautes de frappes dans certains "printf" de "main.c".Et puisque j'y suis petite question codage comme je ne maîtrise pas du tout le C++ et encore moins la Libnx, comment modifier la partie "unzip.c" pour qu'elle ignore le premier répertoire du zip, par exemple si on souhaite utiliser un zip du genre "https://github.com/T.../heads/main.zip (je sais que ce zip ne contient pas le pack mais bon c'est pour donner un exemple de zip avec lequel je souhaite travailler)?

La partie du zip est lente car je fais en sorte d’éviter les corruptions. Je pourrai ma faire plus rapide mais ça risque d’être risqué. Cet homebrew est adapté au pack de linkynimes qui fait 29Mb. Et pour modifier ça c’est rien de compliqué. Comme tu vois dans mon unzip.c j’ai un else if qui vérifie si le fichier est package3 (sécurité de atmo) tu copie tout ce if et tu mets à la place de ce fichier une condition qui vérifie que le DEBUT commence par ton répertoire. Si tu préfère envoi moi un message privé je le ferai à ta place.

C'est déjà plus rapide que AIO Switch Updaters ou le dl est rapide mais le dezippage mais une plombe avec une mise à jour qui prend 30 minutes...

Je n’utilise pas la même bibliothèque que lui. Il utilise zipper et moi minizip
Répondre à ce commentaire
30 juin 2022, 10:26
Approuver ce commentaire (+1)

Ouai clairement, je viens de faire le test avec AIO_switch_updater et effectivement c'est pas plus rapide, de mon côté les tests se valent.

Tu as raison, si ta technique limite la corruption de données alors vaut mieux ne pas toucher.

Pour mon souci je ne suis pas certain qu'on se soit compris donc je préfère clarifier pour être certain. Pour faire les tests j'ai créé un repo Github de test donc l'URL de téléchargement est "https://github.com/s.../heads/main.zip". Le téléchargement fonctionne mais se que je souhaite ensuite c'est qu'il ne prenne pas en compte le répertoire "test-main" se trouvant dans le zip (pour çà un simple strcmp dans une condition ajoutée sur le nom du répertoire fait l'affaire pour qu'il ne soit pas créé) et qu'il extrait le contenu de ce seul répertoire se trouvant à la racine de l'archive sur la SD donc à la fin je dois me retrouver avec le fichier "readme.md" à la racine de la SD et c'est là que je coince, j'ai l'impression que si je ne cré pas le premier répertoire alors la suite ne fonctionne plus car ce premier répertoire n'existe pas. Après oui je ne suis pas contre une aide sur ce point si tu le veux bien, tu peux m'envoyer le unzip.c modifié en MP sans souci.

Répondre à ce commentaire
30 juin 2022, 10:29
Approuver ce commentaire (+1)

Ouai clairement, je viens de faire le test avec AIO_switch_updater et effectivement c'est pas plus rapide, de mon côté les tests se valent.

Tu as raison, si ta technique limite la corruption de données alors vaut mieux ne pas toucher.

Pour mon souci je ne suis pas certain qu'on se soit compris donc je préfère clarifier pour être certain. Pour faire les tests j'ai créé un repo Github de test donc l'URL de téléchargement est "https://github.com/s...eads/main.zip". Le téléchargement fonctionne mais se que je souhaite ensuite c'est qu'il ne prenne pas en compte le répertoire "test-main" se trouvant dans le zip (pour çà un simple strcmp dans une condition ajoutée sur le nom du répertoire fait l'affaire pour qu'il ne soit pas créé) et qu'il extrait le contenu de ce seul répertoire se trouvant à la racine de l'archive sur la SD donc à la fin je dois me retrouver avec le fichier "readme.md" à la racine de la SD et c'est là que je coince, j'ai l'impression que si je ne cré pas le premier répertoire alors la suite ne fonctionne plus car ce premier répertoire n'existe pas. Après oui je ne suis pas contre une aide sur ce point si tu le veux bien, tu peux m'envoyer le unzip.c modifié en MP sans souci.

Envoi moi ton pack de test car moi ça me donne une erreur 404. Ça risque d’être difficile de travailler dessus sans pouvoir visualiser
Répondre à ce commentaire
30 juin 2022, 10:44
Approuver ce commentaire (+1)

Je viens de modifier le lien dans mon message précédent, effectivement le parser du bb code a fait n'importe quoi comme j'ai rien indiqué de spécial. J'ai également mis à jour le repository de test pour y ajouter des répertoires et sous-répertoires pour voir si tout fonctionne bien. Merci pour ton aide.

Répondre à ce commentaire
30 juin 2022, 10:46
Approuver ce commentaire (+1)

Je viens de modifier le lien dans mon message précédent, effectivement le parser du bb code a fait n'importe quoi comme j'ai rien indiqué de spécial. J'ai également mis à jour le repository de test pour y ajouter des répertoires et sous-répertoires pour voir si tout fonctionne bien. Merci pour ton aide.

Je regarde ça dans la journée
Répondre à ce commentaire
30 juin 2022, 11:47
Approuver ce commentaire (+1)

Ouai clairement, je viens de faire le test avec AIO_switch_updater et effectivement c'est pas plus rapide, de mon côté les tests se valent.Tu as raison, si ta technique limite la corruption de données alors vaut mieux ne pas toucher.Pour mon souci je ne suis pas certain qu'on se soit compris donc je préfère clarifier pour être certain. Pour faire les tests j'ai créé un repo Github de test donc l'URL de téléchargement est "https://github.com/s.../heads/main.zip". Le téléchargement fonctionne mais se que je souhaite ensuite c'est qu'il ne prenne pas en compte le répertoire "test-main" se trouvant dans le zip (pour çà un simple strcmp dans une condition ajoutée sur le nom du répertoire fait l'affaire pour qu'il ne soit pas créé) et qu'il extrait le contenu de ce seul répertoire se trouvant à la racine de l'archive sur la SD donc à la fin je dois me retrouver avec le fichier "readme.md" à la racine de la SD et c'est là que je coince, j'ai l'impression que si je ne cré pas le premier répertoire alors la suite ne fonctionne plus car ce premier répertoire n'existe pas. Après oui je ne suis pas contre une aide sur ce point si tu le veux bien, tu peux m'envoyer le unzip.c modifié en MP sans souci.

Bon déjà dans un premier temps quand tu mets des espaces dans un dossier ça pars mal. Les dossier ne sont je pense pas supporté et c'est logique. C'est pour ça je pense que ça n'a pas fonctionné pour toi
Répondre à ce commentaire
30 juin 2022, 12:05
Approuver ce commentaire (+1)

Bon OK je voulais aussi voir avec un dossier contenant un espace si ça fonctionnait mais effectivement déjà vaudrait mieux que ça fonctionne sans, je l'ai supprimé.

Répondre à ce commentaire
30 juin 2022, 12:18
Approuver ce commentaire (+1)

Bon OK je voulais aussi voir avec un dossier contenant un espace si ça fonctionnait mais effectivement déjà vaudrait mieux que ça fonctionne sans, je l'ai supprimé.

Dis moi ce que tu veux ne pas extraire. Le test 2 contient un espace encore une fois
Répondre à ce commentaire
30 juin 2022, 12:23
Approuver ce commentaire (+1)

Polo a fait quelque ajustement, maintenant pour update le pack il faut ~ 1m30 en sachant que j'ai des trucs a viré comme AIO Switch Update que j'avais temporairement ajouté dans le pack x)
Répondre à ce commentaire
30 juin 2022, 12:54
Approuver ce commentaire (+1)
Pour ma part ça met 30 secondes environ
Répondre à ce commentaire
30 juin 2022, 12:55
Approuver ce commentaire (+1)
+3
Update 0.0.2 Changelog FR :

Amélioration de la vitesse d'extraction qui passe de 3 minutes à 30 secondes
Ajout de couleurs

download : https://github.com/P...eases/tag/0.0.2
Répondre à ce commentaire
30 juin 2022, 14:13
Approuver ce commentaire (+1)
@polo_cha2 merci msieu pour ton travail. Ca va peut-être me motiver à rallumer ma switch qui prend la poussière.
Répondre à ce commentaire
30 juin 2022, 14:40
Approuver ce commentaire (+1)

Bon j'ai finalement réussi à faire se que je veux (le C++ c'est pas simple de m'y remettre vraiment), maintenant va falloir que je réadapte à ta nouvelle version mais en tous cas j'aime bien et j'ai encore quelques idées d'améliorations pour l'adapter à notre pack.

Répondre à ce commentaire
30 juin 2022, 15:01
Approuver ce commentaire (+1)

Bon j'ai finalement réussi à faire se que je veux (le C++ c'est pas simple de m'y remettre vraiment), maintenant va falloir que je réadapte à ta nouvelle version mais en tous cas j'aime bien et j'ai encore quelques idées d'améliorations pour l'adapter à notre pack.

Bonne nouvelle alors. J'ai pas changé grand chose tu peux regarder le git (Et juste c'est du C pas du C++ je voulais changer sinon j'aurai utilisé des strings ;) )
Répondre à ce commentaire
30 juin 2022, 15:14
Approuver ce commentaire (+1)
Punaise les worflows github c'est une galère... Même le C++ me semble plus simple

Petite question Shadow / NightWolf ce serais possible / intéressent comme pour la plupart de tes projets d'ouvrir un poste sur le forum en rapport au AtmoPack-Vanilla ? Pour évité que je me retrouve encore a 50 MP et que je le vois pas pendant 6 mois mdr
Répondre à ce commentaire
30 juin 2022, 15:31
Approuver ce commentaire (+1)

Bonne nouvelle alors. J'ai pas changé grand chose tu peux regarder le git (Et juste c'est du C pas du C++ je voulais changer sinon j'aurai utilisé des strings ;) )

Oui j'ai vu, la modif a été faite. J'ai publier çà sur Github, ainsi tu pourras voir comment je m'y suis pris. En gros on configure une variable dans "sources/unzip.c" qui indique le premier sub-folder où se trouve la racine du projet puis le programme gère tout comme il faut; si la variable est laissée vide alors ça se comporte comme ton programme original, je tenais aussi à pouvoir revenir à ce comportement très facilement. C'est sûrement pas la plus belle façon de faire mais déjà j'y suis arrivé, c'est un petit miracle en soi...
 

 

Petite question Shadow / NightWolf ce serais possible / intéressent comme pour la plupart de tes projets d'ouvrir un poste sur le forum en rapport au AtmoPack-Vanilla ? Pour évité que je me retrouve encore a 50 MP et que je le vois pas pendant 6 mois mdr

Sans souci, tu peux ouvrir un sujet sur le forum comme je l'ai fait pour mon Ultimate-Switch-Hack-Script, rien ne t'en empêche et c'est vrai que ça simplifie les choses pour centraliser les choses.

Répondre à ce commentaire
30 juin 2022, 16:26
Approuver ce commentaire (+1)

Oui j'ai vu, la modif a été faite. J'ai publier çà sur Github, ainsi tu pourras voir comment je m'y suis pris. En gros on configure une variable dans "sources/unzip.c" qui indique le premier sub-folder où se trouve la racine du projet puis le programme gère tout comme il faut; si la variable est laissée vide alors ça se comporte comme ton programme original, je tenais aussi à pouvoir revenir à ce comportement très facilement. C'est sûrement pas la plus belle façon de faire mais déjà j'y suis arrivé, c'est un petit miracle en soi...
 

 

Sans souci, tu peux ouvrir un sujet sur le forum comme je l'ai fait pour mon Ultimate-Switch-Hack-Script, rien ne t'en empêche et c'est vrai que ça simplifie les choses pour centraliser les choses.

Du coup vous pouvez retrouvé les dernières information sur le sujet que je vient de créer mais également s'entraidé pour faire fonctionné ce dernier

Répondre à ce commentaire
30 juin 2022, 21:31
Approuver ce commentaire (+1)
Bonsoir , ou peut on suivre la suite de la discutions svp , j'ai check le forums mais pas vu , peut-être je n'ai pas était au bon endroit
Répondre à ce commentaire
30 juin 2022, 21:57
Approuver ce commentaire (+1)
+1

Bonsoir , ou peut on suivre la suite de la discutions svp , j'ai check le forums mais pas vu , peut-être je n'ai pas était au bon endroit

unknown.png

Répondre à ce commentaire
30 juin 2022, 23:25
Approuver ce commentaire (+1)

Bonsoir , ou peut on suivre la suite de la discutions svp , j'ai check le forums mais pas vu , peut-être je n'ai pas était au bon endroit

Merci , je pensais que vous aviez ouvert un fil de discussions diffèrent pour la continuité de ce que vous aviez écrit plus haut
Répondre à ce commentaire
30 juin 2022, 23:56
Approuver ce commentaire (+1)
ça peut être pas mal . Par contre, faut que je regarde si ça écrase ma config de Hekate ou pas, parce que j'ai ajouté des entrées ( Sysnand stock, Emunand Atmo, Sysnand Atmo ) . le pack de base n'a qu'atmo classique
Répondre à ce commentaire
01 juillet 2022, 00:37
Approuver ce commentaire (+1)

ça peut être pas mal . Par contre, faut que je regarde si ça écrase ma config de Hekate ou pas, parce que j'ai ajouté des entrées ( Sysnand stock, Emunand Atmo, Sysnand Atmo ) . le pack de base n'a qu'atmo classique


Fais un test et préviens nous. Si il faut je peux faire une option pour garder la config
Répondre à ce commentaire
01 juillet 2022, 08:12
Approuver ce commentaire (+1)

ça peut être pas mal . Par contre, faut que je regarde si ça écrase ma config de Hekate ou pas, parce que j'ai ajouté des entrées ( Sysnand stock, Emunand Atmo, Sysnand Atmo ) . le pack de base n'a qu'atmo classique


Par défaut ça va écrasé ta config vu qu'elle est sauvegarder dans le hekate_ipl.ini présent dans le dossier bootloader, a voir on peu toujours proposé une configuration qui l'ignore.
Personnellement j'ai toujours eu du mal avec les configurations fss0, la preuve j'arrive pas a fusionné mes 2 packs en un car quand je boot en fss0 j'ai un jeu qui passe pas...
Répondre à ce commentaire
02 juillet 2022, 10:30
Approuver ce commentaire (+1)
Du bon boulot merci
Répondre à ce commentaire
15 juillet 2022, 13:52
Approuver ce commentaire (+1)
Bonjour, Merci beaucoup pour ce pack. Etant totalement novice, la facilité d'installation est top ! Par contre grande question ( je vous ai prévenu je suis novice ), avant j'utilisais des jeux en fichier XCI, je mettais sur la carte SD et hop j'avais le jeu. Comment dois je faire maintenant ? Je dois les mettre dans un dossier en particulier ? Merci à tous
Répondre à ce commentaire
Cliquer ici pour continuer sur le forum
Envoyer