momoden-password

Crates.iomomoden-password
lib.rsmomoden-password
version0.1.0
sourcesrc
created_at2022-11-11 07:17:05.807266
updated_at2022-11-11 07:17:05.807266
descriptionNES Momotarou Densetsu (J) password library
homepagehttps://github.com/taotao54321/momoden-password
repositoryhttps://github.com/taotao54321/momoden-password
max_upload_size
id712710
size106,959
(taotao54321)

documentation

https://docs.rs/momoden-password

README

桃太郎伝説 (FC) パスワードライブラリ

パスワードとゲーム状態の相互変換を行う。

Example

//! パスワード「ふ」をロードする。

use momoden_password::*;

fn main() {
    let password = Password::parse("ふ").unwrap();
    let bytes = SerializedBytes::from_password(&password);

    if let Some(savedata) = bytes.to_savedata() {
        // 生のセーブデータ(装備インデックスが不正なまま)を出力する。
        println!("raw: {savedata:?}");
        // 実際にロードされるセーブデータ(装備が変化した後)を出力する。
        let savedata_norm = savedata.normalize();
        println!("normalized: {savedata_norm:?}");
    } else {
        // チェックサムが一致しない場合、to_savedata() は失敗する。
        println!("checksum mismatch");
    }
}
//! パスワード「ふ」をロードした直後の状態をパスワード化する。

use momoden_password::*;

fn main() {
    // パスワード「ふ」をロードし、実際にロードされるセーブデータを得る。
    let password = Password::parse("ふ").unwrap();
    let bytes = SerializedBytes::from_password(&password);
    let savedata = bytes.to_savedata().unwrap();
    let savedata = savedata.normalize();

    // このセーブデータに対応するパスワードを得る。
    // (パスワード「ふ」で始めてすぐ神主に話しかけたときのパスワードと一致するはず)
    let bytes = SerializedBytes::from_savedata(&savedata);
    let password = bytes.to_password();

    println!("{}", password.display_pretty());
}

License

GPLv3

Commit count: 2

cargo fmt