{"id":24915279,"url":"https://github.com/kvpb/cidno","last_synced_at":"2025-09-05T21:34:00.196Z","repository":{"id":91166670,"uuid":"588291717","full_name":"kvpb/cidno","owner":"kvpb","description":"Calculate generation VII, III \u0026 I trainer ID numbers and trainer shiny \u0026 residual values.","archived":false,"fork":false,"pushed_at":"2025-05-29T17:35:33.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-29T18:50:48.722Z","etag":null,"topics":["calculate","calculator","g1","g3","g7","g7id","g7sid","g7tid","generation-i","generation-iii","generation-vii","idno","sid","tid","trainer-id-number","trv","tsv"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kvpb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-01-12T19:26:46.000Z","updated_at":"2025-05-29T17:35:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"a84cd733-a5e9-493d-aeb8-e05d91d59fca","html_url":"https://github.com/kvpb/cidno","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kvpb/cidno","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvpb%2Fcidno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvpb%2Fcidno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvpb%2Fcidno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvpb%2Fcidno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kvpb","download_url":"https://codeload.github.com/kvpb/cidno/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvpb%2Fcidno/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273826170,"owners_count":25175232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["calculate","calculator","g1","g3","g7","g7id","g7sid","g7tid","generation-i","generation-iii","generation-vii","idno","sid","tid","trainer-id-number","trv","tsv"],"created_at":"2025-02-02T07:17:16.235Z","updated_at":"2025-09-05T21:34:00.187Z","avatar_url":"https://github.com/kvpb.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Let the good times roll! --\u003e\n\n\u003cp\u003e\u003cb\u003eCaution.\u003c/b\u003e Using this software might make your penis grow by a few inches, or your breasts by a few cups. Use it at your own risk.\u003cbr\u003e\n\u003cb\u003eAttention.\u003c/b\u003e Utiliser ce logiciel risquerait de faire croître votre pénis de quelques doubles centimètres et quart, ou votre poitrine de quelques bonnets. Servez-vous-en à vos risques et périls.\u003cbr\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://media1.tenor.com/m/fgAa5IuzjPsAAAAd/casino-dice-spin.gif\"\u003e\u003cbr\u003e\n\u003ci\u003eWhat's your number?\u003c/i\u003e \u0026#x1F4AF;\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003e\u003cb\u003eT.G.'s\u003c/b\u003e\u003c/h3\u003e\n\u003ch1 align=\"center\"\u003e\u003cb\u003eCIDNo (IDNo\u003c!-- (TID, SID, TSV, TRV, G7SID \u0026 G7TID)--\u003e Calculator)\u003c/b\u003e\u003c/h1\u003e\n\u003ch3 align=\"center\"\u003e\u003cb\u003eA generation I, III \u0026 VII secret \u0026 trainer ID and trainer shiny \u0026 residual value calculator.\u003c/b\u003e\u003cbr\u003e\n\u003cb\u003eUn calculateur de numéros d'ID \u0026 secret de générations I, III \u0026 VII et valeurs chromatique \u0026 résiduelle.\u003c/b\u003e\u003c/h3\u003e\n\n![version](https://img.shields.io/badge/version-4.21-yellow) ![Rust](https://img.shields.io/badge/-Rust-F46623?style=flat\u0026logo=rust\u0026logoColor=FFF) \u003c!--![C++](https://img.shields.io/badge/-C++-649AD2?style=flat\u0026logo=cplusplus\u0026logoColor=004482)--\u003e \u003c!--![C](https://img.shields.io/badge/-C-1B75B3?style=flat\u0026logo=c\u0026logoColor=A8B9CC)--\u003e \u003c!--![Makefile](https://img.shields.io/badge/-Makefile-848484?style=flat\u0026logo=cmake\u0026logoColor=D2D2D2)--\u003e ![macOS](https://img.shields.io/badge/-macOS-FFF?style=flat\u0026logo=apple\u0026logoColor=A7A9AC) ![Linux](https://img.shields.io/badge/-Linux-0094FF?style=flat\u0026logo=linux\u0026logoColor=003778) ![platform](https://gistcdn.githack.com/kvpb/ed57eb3a03f2b5338fbede97e7cf296b/raw/ea6556bb04f592433023533ddbd931cc7d23e92b/apple-F6F6F6D5E1ED1E72F21AD5FD-madeona-1AD5FD1E72F2-mac-F6F6F6D5E1ED.svg)\n\n\u003cpre align=\"center\"\u003e\ncidno (((-)-c(alculate))                   {n_TID} {n_SID})\n      (((-)-b(ackward(s))||(-)-r(everse))  {n_G7TID})\n        (  -R            ||(-)-random(ly))\n       ((-)-h(elp)       ||(-)-u(se))\n\u003c/pre\u003e\n\n---\n\n# \u0026#x1F1FA;\u0026#x1F1F8; US English\n\nThis software is an UNIX command-line utility currently programmed in [Rust](https://www.rust-lang.org/)\u003c!--, [C++](https://isocpp.org/)--\u003e\u003c!-- and [C](https://www.open-std.org/jtc1/sc22/wg14/)--\u003e. It as such requires an [UNIX](http://opengroup.org/unix)-certified or [POSIX](http://get.posixcertified.ieee.org/)-compliant operating system or operating environment such as [macOS](https://www.apple.com/macos) with [Command Line Tools](https://developer.apple.com/library/archive/technotes/tn2339/_index.html), [FreeBSD](https://www.freebsd.org/), [Arch Linux](https://archlinux.org/), [Fedora Linux](https://fedoraproject.org/), a standard command-line shell like [BASH](https://www.gnu.org/software/bash/), [ZSH](https://www.zsh.org/) or [TCSH](https://www.tcsh.org/) and\u003c!--,--\u003e the official [Rust](https://www.rust-lang.org/) programming language toolchain\u003c!--, the [GNU Compiler Collection](https://gcc.gnu.org/) or [CLANG](https://clang.llvm.org/) standard C--\u003e\u003c!-- and C++--\u003e\u003c!-- optimizing compilers and the [Make](https://www.gnu.org/software/make/) build automation tool--\u003e. The user may set it up and use it from a command-line interface in a graphical user interface via a terminal emulator, e.g. [iTerm2](https://iterm2.com), [Terminator](https://gnome-terminator.org) or [the integrated terminal of Visual Studio Code](https://code.visualstudio.com/docs/editor/integrated-terminal). These instructions assume the user knows how to use an UNIX shell\u003c!--, e.g. [BASH](https://www.gnu.org/software/bash/), [ZSH](https://www.zsh.org/) or [TCSH](https://www.tcsh.org/),--\u003e in a POSIX-compliant development and runtime environment\u003c!--, e.g. [macOS](https://www.apple.com/macos/) or [a Linux-based operating system](https://www.linux.org/pages/download/)--\u003e.\u003cbr\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;The user shall note 'generation N ID number' in this manual refers to all types of numbers from generation I to generation N, e.g. a generation I trainer ID number, a generation III secret ID number, a generation IV trainer shiny value, a generation IV trainer residual value, a generation VII trainer ID number and a generation VII secret ID number by 'generation VII ID number'. The user also may have noticed 'IDNo' originally meant the generation VII trainer ID number in the Japanese versions of the games but means in this source code the full generation VII ID number not split into a generation VII trainer ID number and a generation VII secret ID number.\n\n## Set up\n\nLet us now declare a few functions and variables for the sake of brevity. The user of course can forgo this and do it all by themselves manually, **but if you do so, please do not ask to be helped with this software.**\n\n```sh\npathname()\n{\n\tprintf \"$(cd \"$(dirname \"${1}\")\" \u0026\u0026 pwd -P)/$(basename \"${1}\")\"'\\n'\n}\n\nURL=\"https://github.com/kvpb/cidno\"\ndir=\"${URL%/*}\" \u0026\u0026 dir=\"${dir##*/}\"\nrepo=\"${URL##*/}\"\nprogname=\"cidno\" #progname=\"${repo}\"\nbin=\"$(pathname ${repo})/target/release/${progname}\" #bin=\"$(pathname ${repo})/${progname}\"\nR[0]=$(( ( 1 + $[RANDOM%2] ) * $[RANDOM] )) # n_TID\nR[1]=$(( ( 1 + $[RANDOM%2] ) * $[RANDOM] )) # n_SID\nR[255]=$(( ${R[0]} + ( 2**16 * ${R[1]} ) )) # n_G7ID\nR[2]=$(( ${R[255]} % 10**6 )) # n_G7TID\n```\n\n**The user should avoid setting this software up from a critical location in the file system such as `/` or the parent directory of other software.** I advise doing so from a dedicated, throwaway directory. The user therefore should do thus:\n\n```sh\nmkdir ${dir} # preferably from ${HOME}.\ncd ${dir}\n```\n\nOnce the user has obtained the sources of this software, they may proceed to compile them. They should do thus:\n\n```sh\ngit clone ${URL}\ncd ${repo}\n# preferably from ${dir}/.\ncargo run --release # from ${repo}/.\n```\n\nThe executable file at this point should be in `${repo}/bin/`. The user should be able to execute it.\n\n## Use\n\nThe user at this point may use the software. Simply enter the pathname of the executable file, the option of the chosen mode and the necessary arguments. They can do thus:\n\n```sh\ncd target # from ${repo}/.\ncd release\n```\n\nIf the user wants to calculate a generation VII ID number, they shall do so with or without the (`-`)`-c`(`alculate`) option and `n_TID` and `n_SID` arguments:\n\n```bash\n${bin} --calculate ${R[0]} ${R[1]}\n${bin} -c ${R[0]} ${R[1]}\n${bin} ${R[0]} ${R[1]}\n# from any directory in the file system.\n```\n\nIf the user wants to backward calculate a generation VII ID number from a generation VII trainer ID number, they must do so with the (`-`)`-b`(`ackward`(`s`)) or (`-`)`-r`(`everse`) options and an `n_G7TID` argument:\n\n```zsh\n${bin} --reverse ${R[2]}\n${bin} -r ${R[2]}\n${bin} --backward ${R[2]}\n${bin} -b ${R[2]}\n# from any directory in the file system.\n```\n\nIf the user wants to randomly generate a generation VII ID number, they have to do so with or without the `-R` (`--random`(`ly`)) option but no argument:\n\n```tcsh\n${bin} --randomly\n${bin} --random\n${bin} -R\n${bin}\n# from any directory in the file system.\n```\n\nIf the user desires to know how to use this software, they need to do so with the (`-`)`-h`(`elp`) or (`-`)`-u`(`se`) option and no argument or wrong ones:\n\n```fish\n${bin} --help\n${bin} -h\n${bin} --use\n${bin} -u\n${bin} 0\n${bin} F 0\n${bin} -b 0 0\n${bin} -R 0\n# from any directory in the file system.\n```\n\n# \u0026#x1F1EB;\u0026#x1F1F7; Français FR\n\nCe logiciel est un utilitaire en ligne de commande pour le moment programmé en [Rust](https://www.rust-lang.org/)\u003c!--, [C++](https://isocpp.org/) et [C](https://www.open-std.org/jtc1/sc22/wg14/)--\u003e. Il requiert un système d'exploitation ou environnement d'exploitation certifié [UNIX](http://opengroup.org/unix) ou conforme à [POSIX](http://get.posixcertified.ieee.org/) tel que [macOS](https://www.apple.com/macos) avec [Command Line Tools](https://developer.apple.com/library/archive/technotes/tn2339/_index.html), [FreeBSD](https://www.freebsd.org/), [Arch Linux](https://archlinux.org/), [CRUX](https://crux.nu/) ou [Alpine Linux](https://alpinelinux.org/), un interpréteur de commandes standard comme [BASH](https://www.gnu.org/software/bash/), [ZSH](https://www.zsh.org/) ou [TCSH](https://www.tcsh.org/), la chaîne de compilation officielle du langage de programmation [Rust](https://www.rust-lang.org/)\u003c!--, un compilateur d'optimisation standard du--\u003e\u003c!--es--\u003e\u003c!-- C--\u003e\u003c!-- et C++--\u003e\u003c!-- [GNU Compiler Collection](https://gcc.gnu.org/) ou [CLANG](https://clang.llvm.org/) et le moteur de production [Make](https://www.gnu.org/software/make/)--\u003e. L'utilisateur peut l'installer et utiliser depuis une interface en ligne de commande dans une interface graphique via un terminal virtuel, e.g. [iTerm2](https://iterm2.com), [Terminator](https://gnome-terminator.org) ou [le terminal intégré de Visual Studio Code](https://code.visualstudio.com/docs/editor/integrated-terminal). Ces instructions supposent l'utilisateur savoir se servir d'un interpréteur de commandes pour UNIX dans un environnement de développement et d'exécution conforme à POSIX.\n\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;L'utilisateur doit comprendre 'numéro d'ID de génération N' dans ce manuel sous-entendre tous les types de numéros de la génération I à la génération N, e.g. un numéro d'ID de génération I, un numéro secret de génération III, une valeur de chromatique de génération IV, une valeur résiduelle de chromatique de génération IV, un numéro d'ID de génération VII et un numéro secret de génération VII par 'numéro de génération VII'. L'utilisateur aussi a pu remarquer 'IDNo' initialement signifier dans les versions japonaises le numéro d'ID de génération VII mais vouloir dire dans le source code de ce logiciel le numéro de génération VII entier pas encore scindé en un numéro d'ID de génération VII et un numéro secret de génération VII.\n\n## Installer\n\nDéclarons à présent quelques fonctions et variables par souci de brièveté. L'utilisateur peut bien sûr passer outre et faire tout ceci par lui-même, **mais si vous le faites, veuillez en cas de problème ne pas demander à être aidé avec ce logiciel.**\n\n```sh\npathname()\n{\n\tprintf \"$(cd \"$(dirname \"${1}\")\" \u0026\u0026 pwd -P)/$(basename \"${1}\")\"'\\n'\n}\n\nURL=\"https://github.com/kvpb/cidno\"\ndir=\"${URL%/*}\" \u0026\u0026 dir=\"${dir##*/}\"\nrepo=\"${URL##*/}\"\nprogname=\"cidno\" #progname=\"${repo}\"\nbin=\"$(pathname ${repo})/target/release/${progname}\" #bin=\"$(pathname ${repo})/${progname}\"\nR[0]=$(( ( 1 + $[RANDOM%2] ) * $[RANDOM] )) # n_TID\nR[1]=$(( ( 1 + $[RANDOM%2] ) * $[RANDOM] )) # n_SID\nR[255]=$(( ${R[0]} + ( 2**16 * ${R[1]} ) )) # n_G7ID\nR[2]=$(( ${R[255]} % 10**6 )) # n_G7TID\n```\n\n**L'utilisateur devrait éviter d'installer ce logiciel depuis un point critique du système de fichiers tel que `/` ou le répertoire parent d'un autre logiciel.** Je conseille de le faire depuis un répertoire temporaire dédié. L'utilisateur peut alors procéder ainsi :\n\n```sh\nmkdir ${dir} # de préférence depuis ${HOME}.\ncd ${dir}\n```\n\nLorsque l'utilisateur a obtenu les sources de ce logiciel, il peut en venir à les compiler. Il devrait procéder ainsi :\n\n```sh\ngit clone ${URL}\ncd ${repo}\n# de préférence depuis ${dir}/.\ncargo run --release # depuis ${repo}/.\n```\n\nLe fichier exécutable est censé à ce stade se trouver dans `${repo}/bin/`. L'utilisateur devrait pouvoir le faire s'exécuter.\n\n## Utiliser\n\nL'utilisateur peut désormais utiliser le logiciel. Entrez seulement le chemin d'accès du fichier exécutable, l'option du mode choisi et les arguments nécessaires. Il peut procéder ainsi :\n\n```sh\ncd bin # depuis ${repo}/.\n```\n\nSi l'utilisateur veut calculer un numéro de génération VII, il doit y procéder avec ou sans l'option (`-`)`-c`(`alculate`) et des arguments `n_TID` et `n_SID`:\n\n```sh\n${bin} --calculate ${R[0]} ${R[1]}\n${bin} -c ${R[0]} ${R[1]}\n${bin} ${R[0]} ${R[1]}\n# depuis tout répertoire dans le système de fichiers.\n```\n\nSi l'utilisateur veut inversement calculer un numéro de génération VII à partir d'un numéro d'ID de génération VII, il lui faut y procéder avec les options (`-`)`-b`(`ackward`(`s`)) ou (`-`)`-r`(`everse`) et un argument `n_G7TID`:\n\n```sh\n${bin} --reverse ${R[2]}\n${bin} -r ${R[2]}\n${bin} --backward ${R[2]}\n${bin} -b ${R[2]}\n# depuis tout répertoire dans le système de fichiers.\n```\n\nSi l'utilisateur veut générer au hasard un numéro de génération VII, il a à y procéder avec ou sans l'option `-R` (`--random`(`ly`)) mais sans argument:\n\n```sh\n${bin} --randomly\n${bin} --random\n${bin} -R\n${bin}\n# depuis tout répertoire dans le système de fichiers.\n```\n\nSi l'utilisateur désire savoir comment se servir du logiciel, il lui requiert d'y procéder avec les options (`-`)`-h`(`elp`) ou (`-`)`-u`(`se`) et pas d'argument ou de mauvais:\n\n```sh\n${bin} --help\n${bin} -h\n${bin} --use\n${bin} -u\n${bin} 0\n${bin} F 0\n${bin} -b 0 0\n${bin} -R 0\n# depuis tout répertoire dans le système de fichiers.\n```\n\n---\n\n\u003cp align=\"center\"\u003e\u003cbr\u003e\n\u003ca href=\"http://kvpb.fr\"\u003e\u003cimg src=\"https://gistcdn.githack.com/kvpb/c80594e9079e857c55c36dec49a1a2d7/raw/eec54d5821dc092ad910635141c4e4feebf07565/kvpbssymbol.svg\"\u003e\u003c/a\u003e\u003cbr\u003e\n\u003cb\u003eKarl V. P. B. `\u003ccode\u003ekvpb\u003c/code\u003e`\u003cbr\u003e\nカール・ビンセント・ピエール・ベルティン\u003c/b\u003e\u003cbr\u003e\n\u003cb\u003eAKA\u0026nbsp;\u0026nbsp;Karl \u003c!--\u0026lsquo;T.G.\u0026rsquo;--\u003e Thomas George \u003c!--\u003cspan style=\"font-variant: small-caps;\"\u003e--\u003eWest\u003c!--\u003c/span\u003e--\u003e `\u003ccode\u003ektgw\u003c/code\u003e`\u003cbr\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;カール・トーマス・ジョージ・ウェスト\u003c/b\u003e\u003cbr\u003e\nmedical student\u003cbr\u003e\n\u003cbr\u003e\n\u003cspan style=\"display:block;text-align:center\"\u003e\u003ca href=\"https://x.com/ktgwkvpb\"\u003e\u003cimg src=\"https://gistcdn.githack.com/kvpb/20db04ea32721c7a968f198dbbdf688d/raw/1b2126ef7f572709f8cca49216e0021f324a2639/twitter.svg\" alt=\"X\"\u003e\u003c/a\u003e\u003c/span\u003e\u003cbr\u003e\n\u003cimg src=\"https://gistcdn.githack.com/kvpb/f5f75716dd024cc48f8dc28176c0b642/raw/e5344bebf926b378faeb208724ae97f4e06639ca/kvpbsesrbrating.svg\"\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvpb%2Fcidno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkvpb%2Fcidno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvpb%2Fcidno/lists"}