#nes #game #password #momoden #momotarou #densetsu

momoden-password

NES Momotarou Densetsu (J) password library

1 unstable release

0.1.0 Nov 11, 2022

#384 in Games

GPL-3.0-only

65KB
1.5K SLoC

桃太郎伝説 (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

Dependencies

~1.3–1.8MB
~42K SLoC