Caution. 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.
Attention. 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.
A generation I, III & VII secret & trainer ID and trainer shiny & residual value calculator.
Un calculateur de numéros d'ID & secret de générations I, III & VII et valeurs chromatique & résiduelle.
cidno (((-)-c(alculate)) {i_TID} {i_SID}) (((-)-b(ackward)||(-)-r(everse)) {i_G7TID}) (-R||--random(ly)) ((-)-h(elp)||(-)-u(se))
This software is an UNIX command-line utility currently programmed in Rust. It as such requires an UNIX-certified or POSIX-compliant operating system or operating environment such as macOS with Command Line Tools, FreeBSD, Arch Linux, Fedora Linux, a standard command-line shell like BASH, ZSH or TCSH and the official Rust programming language toolchain and the Make build automation tool. 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, Terminator or the integrated terminal of Visual Studio Code. These instructions assume the user knows how to use an UNIX shell in a POSIX-compliant development and runtime environment.
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.
Let 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.
pathname()
{
printf "$(cd "$(dirname "${1}")" && pwd -P)/$(basename "${1}")"'\n'
}
URL="https://github.com/kvpb/idnoc"
dir="${URL%/*}" && dir="${dir##*/}"
repo="${URL##*/}"
progname="${repo}"
bin="$(pathname ${repo})/${progname}"
R[0]=$(( ( 1 + $[RANDOM%2] ) * $[RANDOM] )) # n_TID
R[1]=$(( ( 1 + $[RANDOM%2] ) * $[RANDOM] )) # n_SID
R[255]=$(( ${R[0]} + ( 2**16 * ${R[1]} ) )) # n_G7ID
R[2]=$(( ${R[255]} % 10**6 )) # n_G7TID
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:
mkdir ${dir} # preferably from ${HOME}.
cd ${dir}
Once the user has obtained the sources of this software, they may proceed to compile them. They should do thus:
git clone ${URL}
cd ${repo}
# preferably from ${dir}/.
make # from ${repo}/.
The executable file at this point should be in ${repo}/bin/
. The user should be able to execute it.
The 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:
cd bin # from ${repo}/.
If the user wants to calculate a generation VII ID number, they shall do so with or without the (-
)-c
(alculate
) option and i_TID
and i_SID
arguments:
./${bin} --calculate ${R[0]} ${R[1]}
./${bin} -c ${R[0]} ${R[1]}
./${bin} ${R[0]} ${R[1]}
# from any directory in the file system.
If 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
) or (-
)-r
(everse
) options and an n_G7TID
argument:
./${bin} --reverse ${R[2]}
./${bin} -r ${R[2]}
./${bin} --backward ${R[2]}
./${bin} -b ${R[2]}
# from any directory in the file system.
If 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:
./${bin} --randomly
./${bin} --random
./${bin} -R
./${bin}
# from any directory in the file system.
If 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:
./${bin} --help
./${bin} -h
./${bin} --use
./${bin} -u
./${bin} 0
./${bin} F 0
./${bin} -b 0 0
./${bin} -R 0
# from any directory in the file system.
Ce logiciel est un utilitaire en ligne de commande pour le moment programmé en Rust. Il requiert un système d'exploitation ou environnement d'exploitation certifié UNIX ou conforme à POSIX tel que macOS avec Command Line Tools, FreeBSD, Arch Linux, CRUX ou Alpine Linux, un interpréteur de commandes standard comme BASH, ZSH ou TCSH, la chaîne de compilation officielle du langage de programmation Rust et le moteur de production Make. 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, Terminator ou le terminal intégré de Visual Studio Code. 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.
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.
Dé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.
pathname()
{
printf "$(cd "$(dirname "${1}")" && pwd -P)/$(basename "${1}")"'\n'
}
URL="https://github.com/kvpb/idnoc"
dir="${URL%/*}" && dir="${dir##*/}"
repo="${URL##*/}"
progname="${repo}"
bin="$(pathname ${repo})/${progname}"
R[0]=$(( ( 1 + $[RANDOM%2] ) * $[RANDOM] )) # R_TID
R[1]=$(( ( 1 + $[RANDOM%2] ) * $[RANDOM] )) # R_SID
R[255]=$(( ${R[0]} + ( 2**16 * ${R[1]} ) )) # R_G7ID
R[2]=$(( ${R[255]} % 10**6 )) # R_G7TID
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 :
mkdir ${dir} # de preference depuis ${HOME}.
cd ${dir}
Lorsque l'utilisateur a obtenu les sources de ce logiciel, il peut en venir à les compiler. Il devrait procéder ainsi :
git clone ${URL}
cd ${repo}
# de preference depuis ${dir}/.
make # depuis ${repo}/.
Le fichier exécutable est censé à ce stade se trouver dans ${repo}/bin/
. L'utilisateur devrait pouvoir le faire s'exécuter.
L'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 :
cd bin # depuis ${repo}/.
Si 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 i_TID
et i_SID
:
./${bin} --calculate ${R[0]} ${R[1]}
./${bin} -c ${R[0]} ${R[1]}
./${bin} ${R[0]} ${R[1]}
# depuis tout repertoire dans le systeme de fichiers.
Si 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
) ou (-
)-r
(everse
) et un argument n_G7TID
:
./${bin} --reverse ${R[2]}
./${bin} -r ${R[2]}
./${bin} --backward ${R[2]}
./${bin} -b ${R[2]}
# depuis tout repertoire dans le systeme de fichiers.
Si 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:
./${bin} --randomly
./${bin} --random
./${bin} -R
./${bin}
# depuis tout repertoire dans le systeme de fichiers.
Si 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:
./${bin} --help
./${bin} -h
./${bin} --use
./${bin} -u
./${bin} 0
./${bin} F 0
./${bin} -b 0 0
./${bin} -R 0
# depuis tout repertoire dans le systeme de fichiers.
Karl V. P. B. `kvpb
`
AKA Karl Thomas George West `ktgw
`
software engineer