Monster Hunter Rise information website

Related tags

Database mhrice
Overview

mhrice

What?

To build http://mhrice.info, and to reverse engineer the game.

Can I use the code and/or the output in my project?

Yes, you can. I open-sourced this because I want to share it.

Although I don't enforce anything beyond the license conditions, I kindly ask you to give attribution to the mhrice project if you use the code or the output from it in another places. Thank you!

License

Licensed under either of

at your option.

Comments
  • Request support for mhrise demo pc version

    Request support for mhrise demo pc version

    when I do path search, it panic (WSL ubuntu)

    0
    100
    200
    thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: Unknown frame descriptor', src/main.rs:653:49
    stack backtrace:
       0: rust_begin_unwind
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:515:5
       1: core::panicking::panic_fmt
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/panicking.rs:92:14
       2: core::result::unwrap_failed
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/result.rs:1355:5
       3: core::result::Result<T,E>::unwrap
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/result.rs:1037:23
       4: mhrice::search_path::{{closure}}
                 at /mnt/c/Users/dtlnor/Documents/GitHub/mhrice/src/main.rs:653:43
       5: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:247:13
       6: core::iter::adapters::map::map_try_fold::{{closure}}
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/iter/adapters/map.rs:89:28
       7: core::iter::adapters::map::map_try_fold::{{closure}}
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/iter/adapters/map.rs:89:21
       8: core::iter::traits::iterator::Iterator::try_fold
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/iter/traits/iterator.rs:1972:21
       9: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/iter/adapters/map.rs:115:9
      10: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/iter/adapters/map.rs:115:9
      11: <core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::try_fold
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/iter/adapters/fuse.rs:448:9
      12: <core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::try_fold
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/iter/adapters/fuse.rs:97:9
      13: <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::try_fold
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/iter/adapters/flatten.rs:316:16
      14: <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::try_fold
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/iter/adapters/flatten.rs:66:9
      15: <core::iter::adapters::take_while::TakeWhile<I,P> as core::iter::traits::iterator::Iterator>::try_fold
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/iter/adapters/take_while.rs:93:13
      16: <core::iter::adapters::take_while::TakeWhile<I,P> as core::iter::traits::iterator::Iterator>::fold
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/iter/adapters/take_while.rs:108:9
      17: <rayon::iter::fold::FoldFolder<C,ID,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/fold.rs:158:20
      18: <rayon::iter::flat_map_iter::FlatMapIterFolder<C,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/flat_map_iter.rs:136:20
      19: <rayon::iter::map::MapFolder<C,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/map.rs:248:21
      20: rayon::iter::plumbing::Producer::fold_with
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:110:9
      21: rayon::iter::plumbing::bridge_producer_consumer::helper
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:438:13
      22: rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:418:21
      23: rayon_core::join::join_context::call_a::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:124:17
      24: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
      25: std::panicking::try::do_call
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
      26: __rust_try
      27: std::panicking::try
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
      28: std::panic::catch_unwind
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
      29: rayon_core::unwind::halt_unwinding
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/unwind.rs:17:5
      30: rayon_core::join::join_context::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:141:24
      31: rayon_core::registry::in_worker
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/registry.rs:875:13
      32: rayon_core::join::join_context
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:132:5
      33: rayon::iter::plumbing::bridge_producer_consumer::helper
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:416:47
      34: rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:418:21
      35: rayon_core::join::join_context::call_a::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:124:17
      36: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
      37: std::panicking::try::do_call
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
      38: __rust_try
      39: std::panicking::try
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
      40: std::panic::catch_unwind
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
      41: rayon_core::unwind::halt_unwinding
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/unwind.rs:17:5
      42: rayon_core::join::join_context::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:141:24
      43: rayon_core::registry::in_worker
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/registry.rs:875:13
      44: rayon_core::join::join_context
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:132:5
      45: rayon::iter::plumbing::bridge_producer_consumer::helper
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:416:47
      46: rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:418:21
      47: rayon_core::join::join_context::call_a::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:124:17
      48: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
      49: std::panicking::try::do_call
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
      50: __rust_try
      51: std::panicking::try
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
      52: std::panic::catch_unwind
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
      53: rayon_core::unwind::halt_unwinding
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/unwind.rs:17:5
      54: rayon_core::join::join_context::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:141:24
      55: rayon_core::registry::in_worker
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/registry.rs:875:13
      56: rayon_core::join::join_context
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:132:5
      57: rayon::iter::plumbing::bridge_producer_consumer::helper
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:416:47
      58: rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:418:21
      59: rayon_core::join::join_context::call_a::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:124:17
      60: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
      61: std::panicking::try::do_call
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
      62: __rust_try
      63: std::panicking::try
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
      64: std::panic::catch_unwind
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
      65: rayon_core::unwind::halt_unwinding
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/unwind.rs:17:5
      66: rayon_core::join::join_context::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:141:24
      67: rayon_core::registry::in_worker
                 at 300/home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/registry.rs
    :875:13
      68: rayon_core::join::join_context
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:132:5
      69: rayon::iter::plumbing::bridge_producer_consumer::helper
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:416:47
      70: rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:418:21
      71: rayon_core::join::join_context::call_a::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:124:17
      72: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
      73: std::panicking::try::do_call
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
      74: __rust_try
      75: std::panicking::try
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
      76: std::panic::catch_unwind
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
      77: rayon_core::unwind::halt_unwinding
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/unwind.rs:17:5
      78: rayon_core::join::join_context::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:141:24
      79: rayon_core::registry::in_worker
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/registry.rs:875:13
      80: rayon_core::join::join_context
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:132:5
      81: rayon::iter::plumbing::bridge_producer_consumer::helper
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:416:47
      82: rayon::iter::plumbing::bridge_producer_consumer::helper::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-1.5.1/src/iter/plumbing/mod.rs:418:21
      83: rayon_core::join::join_context::call_a::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:124:17
      84: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
      85: std::panicking::try::do_call
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
      86: __rust_try
      87: std::panicking::try
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
      88: std::panic::catch_unwind
                 at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
      89: rayon_core::unwind::halt_unwinding
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/unwind.rs:17:5
      90: rayon_core::join::join_context::{{closure}}
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:141:24
      91: rayon_core::registry::in_worker
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/registry.rs:875:13
      92: rayon_core::join::join_context
                 at /home/dtlnor/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.9.1/src/join/mod.rs:132:5
    note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
    400
    500```
    opened by dtlnor 18
  • Get the error with gen-json command.

    Get the error with gen-json command.

    I got an error with gen-json. (Title ver.1.0.0)

    Error: Generating large monsters
    
    Caused by:
        0: enemy/em001/00/user_data/em001_00_datatune.user
        1: Left over data
    
    opened by chetuna 6
  • Identify data type of MsgEntry.attributes

    Identify data type of MsgEntry.attributes

    The number of MsgEntry.attributes in each entry is same as the number of Msg.attribute_headers. The MsgAttributeHeader.j indicating the data type of the value in MsgEntry.attributes Which from what I observe should be: 0 : int64 1 : double 2 : string (a u64 offset pointing to the actual string) which should resovle the TODO at https://github.com/wwylele/mhrice/blob/main/src/msg.rs#L138

    edit: -1 : string (a u64 offset pointing to a actual string), it seems like its always pointing to a null string(0x0000)

    opened by dtlnor 5
  • NPC Textures

    NPC Textures

    NPC textures seem to have some weirdness to them. I've been looking into them separately from this repo, and both my attempts and this repo fail to properly extract the ALBD of most NPCs. Here's the output from "natives/NSW/npc/npc002_00/npc002_00_body/npc002_00_body_ALBD.tex.28". Is there data missing within the file itself, or is it potentially compressed? hinoaTex

    opened by Silvris 5
  • read-tdb error with sunbreak demo.

    read-tdb error with sunbreak demo.

    I got an error when running read-tdb on Sunbreak demo.

    command: mhrice read-tdb -t "F:\SteamLibrary\steamapps\common\MONSTER HUNTER RISE SUNBREAK DEMO\MHRiseSunbreakDemo.exe" > tdb.cs Error: failed to fill whole buffer

    Is there a solution?

    • Win10 (x64)
    • cargo 1.61.0 (a028ae42f 2022-04-29)
    • rustc 1.61.0 (fe5b13d68 2022-05-18)
    • rustup 1.24.3 (ce5817a94 2021-05-31)
    opened by chetuna 4
  • Update suffix version

    Update suffix version

    the following suffix verison was updated in the Latest version of mhrise (the commented one is the old version number)

        m.insert("mmtr", 0x77da5e9d); //0x77a4cbdd
        m.insert("mmtrs", 0x77da5e9d); //0x77a4cbdd
        m.insert("vsdf", 0x77da5e9e); //0x77a4cbde
    opened by dtlnor 4
  • Could not find 'unix' in 'platform' when building on MacOS

    Could not find 'unix' in 'platform' when building on MacOS

    I tried to build the program on MacOS, by first installing rust using brew install rust, then checking version with cargo --version and an output of "cargo 1.53.0", then navigating to the root directory of this project, "mhrice-main", and finally build using cargo build. However, I encountered an error, claiming "could not find `unix` in `platform`". The complete stderr message is this log.txt, in which the error message is as follows:

    error[E0432]: unresolved import glutin::platform::unix --> src/gpu/mod.rs:24:27 | 24 | use glutin::platform::unix::EventLoopExtUnix; | ^^^^ could not find unix in platform

    error[E0599]: no function or associated item named new_any_thread found for struct EventLoop<_> in the current scope --> src/gpu/mod.rs:29:40 | 29 | glutin::event_loop::EventLoop::new_any_thread(); | ^^^^^^^^^^^^^^ function or associated item not found in EventLoop<_>

    error: aborting due to 2 previous errors

    Some errors have detailed explanations: E0432, E0599. For more information about an error, try rustc --explain E0432. error: could not compile mhrice

    To learn more, run the command again with --verbose.

    opened by ericdolphf 4
  • File path error occurred in scan-msg

    File path error occurred in scan-msg

    G:\xci\MHR\demo2>mhrice.exe scan-msg --output G:\xci\MHR\demo2\msg
    Error: ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。 (os error 123)
    

    OS:Windows 10 Pro 20H2 The gen-resources and gen-json commands worked correctly. It may be that the file name contains characters that cannot be used in Windows.

    opened by chetuna 4
  • Support drop_item_info_data

    Support drop_item_info_data

    I guess "enemy/em{0:03}/{1:02}/user_data/em{0:03}_{1:02}_drop_item_info_data.user" this file include drop information of monster

    I tried to parse this file. but i can't understand rsz_struct,

    so could you implement this function or let me know some information rsz files and more detail code for extracting rsz?

    opened by d3vdev 3
  • Missing Data For Weapons

    Missing Data For Weapons

    Everything looks pretty good!

    The only part I've not managed to see,: http://mhrise.mhrice.info/weapon/GreatSword_024.html You've got the cost to craft/buy tags, but the buy cost isn't specified anywhere. The price for crafting is 66% of the "base_val" cost which you're showing, but the 12k cost for buying the item isn't shown.

    I can't see where this is handled though. On the site - you're showing the forge vs upgrade item costs where relevant but not the price. For the first in the tree, you're showing forge price + materials and also just price with no materials but that's not clearly specified either.

    Hoping you can help and clarify? :)

    weapon keys: ['base_data', 'product', 'change', 'process', 'tree', 'name', 'explain']

    Product being the buying info and process being the upgrade?

    opened by Chiyadesu 2
  • [tdb-dump]missing closing bracket on return attribute

    [tdb-dump]missing closing bracket on return attribute

    in the tdb output of PC 3.6.1.1 version in class snow.AgapanthusClient.<>c in method System.ValueTuple`2<System.String,snow.AgapanthusClient.FileInfoData> <onReceiveInfo>b__35_0

    the return attribute is missing the closing bracket

    line 1267060~

        /* returns */[System.Runtime.CompilerServices.TupleElementNamesAttribute(["f","u",]
        /*16896, 0*/ [hid_by_sig]internal  System.ValueTuple`2<System.String,snow.AgapanthusClient.FileInfoData> <onReceiveInfo>b__35_0 (
            /*0*/  snow.AgapanthusClient.FileInfoData u,
            /*0*/  System.String f,
        );
    

    I've tried to change the code of tdb.rs on line 959 print!("]"); to print!("])]"); which seems fine to solve this problem as far as I can see

    opened by dtlnor 2
  • Audit usage of Debug `{:?}` formatting

    Audit usage of Debug `{:?}` formatting

    {:?} in principle should be only used for dev purpose and not in product output. For this project, it should be used in the following situation

    • printing to stderr is fine
    • output to website when a record (monster, item etc.) is not found for a given ID is ok
    • output yet to understand property to website is temporarily ok, but should be continue investigated
    • output already understood enum to website shouldn't go through Debug any more
    • shouldn't be part of any url
    opened by wwylele 0
  • Include computed chances to get monster parts

    Include computed chances to get monster parts

    Hello, I would like to share an idea that help people trying to use the website in order to know the chances of getting a monster part. For example, it would be great to compute the chances of the zinogre claw and show the final chance depending if the player broke his arms, capture/carve it, etc.

    opened by Alathreon 4
  • Armor name weirdness

    Armor name weirdness

    at https://github.com/wwylele/mhrice/blob/cc94a494613d83a9f60996285b6679f53e3802f9/src/extract/gen_pedia.rs#L1513 and https://github.com/wwylele/mhrice/blob/cc94a494613d83a9f60996285b6679f53e3802f9/src/extract/gen_pedia.rs#L1567-L1574 where we look up the armor name from msg, unlike other names, we uses armor ID to match against msg entry index, instead of the msg entry name. This appears to be the correct matching, but why is it? Is this the actually correct method, or there is a hidden armor ID -> msg entry name mapping somewhere? Could we also be wrong about using msg entry name anywhere else?

    opened by wwylele 1
  • Request support for UTF-16 encoded file path search

    Request support for UTF-16 encoded file path search

    From the research of the pfb file, I found that some path(or say file name) contains non-ascii character. Which would be splited by the search path function on that two byte character file path generate by search path function in patch_005:

    099_shell003_breathvacuum.pfb $ []
    099_shell003_breathvacuum.user $ []
    099_shell003_breathvacuum_effect.user $ []
    099_shell003_breathvacuum_hit.user $ []
    099_shell003_breathvacuum_move.user $ []
    099_shell003_lightbulbbreath.pfb $ []
    099_shell003_lightbulbbreath.user $ []
    099_shell003_lightbulbbreath02.pfb $ []
    099_shell003_lightbulbbreath02.user $ []
    099_shell003_lightbulbbreath02_effect.user $ []
    099_shell003_lightbulbbreath02_hit.user $ []
    099_shell003_lightbulbbreath02_move.user $ []
    099_shell003_lightbulbbreath_effect.user $ []
    099_shell003_lightbulbbreath_hit.user $ []
    099_shell003_lightbulbbreath_move.user $ []
    099_shell05_breathvacuum.pfb $ []
    099_shell05_breathvacuum.user $ []
    099_shell05_breathvacuum_effect.user $ []
    099_shell05_breathvacuum_hit.user $ []
    099_shell05_breathvacuum_move.user $ []
    

    the original path should be

    enemy/em099/05/shell/EmShell003/prefab/ex_em099_shell003_breathvacuum.pfb
    enemy/em099/05/shell/EmShell003/prefab/ex_em099_shell003_lightbulbbreath.pfb
    enemy/em099/05/shell/EmShell003/prefab/ex_em099_shell003_lightbulbbreath02.pfb
    enemy/em099/05/shell/EmShell003/user_data/effect/ex_em099_shell003_breathvacuum_effect.user
    enemy/em099/05/shell/EmShell003/user_data/effect/ex_em099_shell003_lightbulbbreath_effect.user
    enemy/em099/05/shell/EmShell003/user_data/effect/ex_em099_shell003_lightbulbbreath02_effect.user
    enemy/em099/05/shell/EmShell003/user_data/ex_em099_shell003_breathvacuum.user
    enemy/em099/05/shell/EmShell003/user_data/ex_em099_shell003_lightbulbbreath.user
    enemy/em099/05/shell/EmShell003/user_data/ex_em099_shell003_lightbulbbreath02.user
    enemy/em099/05/shell/EmShell003/user_data/hit/ex_em099_shell003_breathvacuum_hit.user
    enemy/em099/05/shell/EmShell003/user_data/hit/ex_em099_shell003_lightbulbbreath_hit.user
    enemy/em099/05/shell/EmShell003/user_data/hit/ex_em099_shell003_lightbulbbreath02_hit.user
    enemy/em099/05/shell/EmShell003/user_data/move/ex_em099_shell003_breathvacuum_move.user
    enemy/em099/05/shell/EmShell003/user_data/move/ex_em099_shell003_lightbulbbreath_move.user
    enemy/em099/05/shell/EmShell003/user_data/move/ex_em099_shell003_lightbulbbreath02_move.user
    enemy/em099/05/shell/EmShell005/prefab/ex_em099_shell05_breathvacuum.pfb
    enemy/em099/05/shell/EmShell005/user_data/effect/ex_em099_shell05_breathvacuum_effect.user
    enemy/em099/05/shell/EmShell005/user_data/ex_em099_shell05_breathvacuum.user
    enemy/em099/05/shell/EmShell005/user_data/hit/ex_em099_shell05_breathvacuum_hit.user
    enemy/em099/05/shell/EmShell005/user_data/move/ex_em099_shell05_breathvacuum_move.user
    

    the full width is presented in the path ( so far this is the only case I have seen for the file name using a 2Byte character, also as ref em099 has presented in tdb file as class name too)

    opened by dtlnor 1
  • other game search-path problem

    other game search-path problem

    你好,這是我遇到的錯誤訊息,因為訊息太長,只有擷取部分

    devil may cry D:\BaiduYunDownload\DEVIL MAY CRY 5\Devil May Cry 5\Devil May Cry 5 Vergil>mhrice search-path --pak re_chunk_000.pak > 12345.list thread 'thread 'thread 'thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1' panicked at '' panicked at '' panicked at '', called Result::unwrap() on an Err value: Unsupported format: 1called Result::unwrap() on an Err value: Unsupported format: 1called Result::unwrap() on an Err value: Unsupported format: 1src\main.rs', ', ', :src\main.rssrc\main.rssrc\main.rs508::::50850850849::: 494949note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

    thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread 'thread 'thread '' panicked at '' panicked at '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1called Result::unwrap() on an Err value: Unsupported format: 1called Result::unwrap() on an Err value: Unsupported format: 1', ', ', src\main.rssrc\main.rssrc\main.rs:::508508508:::494949

    thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508thread ':49' panicked at ' thread 'called Result::unwrap() on an Err value: Unsupported format: 1', ' panicked at 'src\main.rscalled Result::unwrap() on an Err value: Unsupported format: 1thread ':', 508src\main.rs' panicked at '::called Result::unwrap() on an Err value: Unsupported format: 149508', src\main.rs:thread ':49508 :' panicked at 'thread '49called Result::unwrap() on an Err value: Unsupported format: 1 ', ' panicked at 'thread 'src\main.rscalled Result::unwrap() on an Err value: Unsupported format: 1:', ' panicked at '508src\main.rscalled Result::unwrap() on an Err value: Unsupported format: 1::', 49508src\main.rs ::49508 :49thread ' thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1' panicked at '', called Result::unwrap() on an Err value: Unsupported format: 1src\main.rs', :src\main.rs508::50849: 49thread ' ' panicked at 'thread 'called Result::unwrap() on an Err value: Unsupported format: 1', ' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1src\main.rs', src\main.rs::508508::4949

    thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49

    Ghosts 'n Goblins Resurrection

    thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1' panicked at '', called Result::unwrap() on an Err value: Unsupported format: 1src\main.rs', :src\main.rs508::50849: 49thread ' thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1' panicked at '', called Result::unwrap() on an Err value: Unsupported format: 1src\main.rs', :src\main.rs508::50849: 49thread ' thread '' panicked at '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1called Result::unwrap() on an Err value: Unsupported format: 1', ', src\main.rssrc\main.rs::508508::4949

    thread 'thread '' panicked at '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1called Result::unwrap() on an Err value: Unsupported format: 1', ', src\main.rssrc\main.rs::508508::4949

    thread 'thread '' panicked at '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1called Result::unwrap() on an Err value: Unsupported format: 1', ', src\main.rssrc\main.rs::508508::4949 thread ' thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1' panicked at '', src\main.rscalled Result::unwrap() on an Err value: Unsupported format: 1:', 508src\main.rs::49508 thread ':49' panicked at ' called Result::unwrap() on an Err value: Unsupported format: 1thread '', src\main.rs' panicked at ':called Result::unwrap() on an Err value: Unsupported format: 1508:', 49src\main.rs thread ':508' panicked at ':called Result::unwrap() on an Err value: Unsupported format: 149', src\main.rsthread ':508' panicked at ':called Result::unwrap() on an Err value: Unsupported format: 149', src\main.rs:thread '508:' panicked at '49called Result::unwrap() on an Err value: Unsupported format: 1 ', thread 'src\main.rs:508' panicked at ':called Result::unwrap() on an Err value: Unsupported format: 149', thread 'src\main.rs:508:49' panicked at ' called Result::unwrap() on an Err value: Unsupported format: 1thread '', src\main.rs' panicked at ':called Result::unwrap() on an Err value: Unsupported format: 1508', :src\main.rs49: thread '508:' panicked at '49called Result::unwrap() on an Err value: Unsupported format: 1 ', thread 'src\main.rs:' panicked at '508called Result::unwrap() on an Err value: Unsupported format: 1:', 49src\main.rs :thread '508:' panicked at '49called Result::unwrap() on an Err value: Unsupported format: 1 ', thread 'src\main.rs:' panicked at '508called Result::unwrap() on an Err value: Unsupported format: 1:', 49src\main.rs :thread '508:' panicked at '49called Result::unwrap() on an Err value: Unsupported format: 1 ', thread 'src\main.rs:' panicked at '508called Result::unwrap() on an Err value: Unsupported format: 1:', 49src\main.rs :thread '508:' panicked at '49called Result::unwrap() on an Err value: Unsupported format: 1 ', thread 'src\main.rs:' panicked at '508called Result::unwrap() on an Err value: Unsupported format: 1:', 49src\main.rs :thread '508' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', :49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49src\main.rs: 508thread ':49 ' panicked at 'thread 'called Result::unwrap() on an Err value: Unsupported format: 1', ' panicked at 'src\main.rscalled Result::unwrap() on an Err value: Unsupported format: 1:', 508src\main.rs::49508 :thread '49 ' panicked at 'thread 'called Result::unwrap() on an Err value: Unsupported format: 1', ' panicked at 'src\main.rscalled Result::unwrap() on an Err value: Unsupported format: 1:', 508src\main.rs::49508 :thread '49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1' panicked at '', src\main.rs:508:49called Result::unwrap() on an Err value: Unsupported format: 1 ', thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49src\main.rs thread ':508' panicked at ':called Result::unwrap() on an Err value: Unsupported format: 149', src\main.rsthread ':508' panicked at ':called Result::unwrap() on an Err value: Unsupported format: 149', src\main.rsthread ':508' panicked at ':called Result::unwrap() on an Err value: Unsupported format: 149', src\main.rsthread ':508' panicked at ':called Result::unwrap() on an Err value: Unsupported format: 149', thread 'src\main.rs:' panicked at '508called Result::unwrap() on an Err value: Unsupported format: 1:', src\main.rs49: 508thread ':49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:', 508src\main.rs::49508 :thread '49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1' panicked at '', called Result::unwrap() on an Err value: Unsupported format: 1src\main.rs', :src\main.rs508::50849: 49thread ' thread '' panicked at '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1called Result::unwrap() on an Err value: Unsupported format: 1', ', src\main.rssrc\main.rs::508508::4949 thread ' thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1' panicked at '', called Result::unwrap() on an Err value: Unsupported format: 1src\main.rs', :src\main.rs508::50849: thread '49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1' panicked at '', called Result::unwrap() on an Err value: Unsupported format: 1src\main.rs:508:49 thread '', src\main.rs' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs::508:508:4949 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49 thread '' panicked at 'called Result::unwrap() on an Err value: Unsupported format: 1', src\main.rs:508:49

    opened by ioritree 9
Releases(pc-base-release)
Are we lang yet? A simple website providing information about the status of Rust's language development ecosystem.

Are We Lang Yet This project answers the question "Is the Rust ecosystem ready to use for language development yet?". arewelangyet.com What is this? C

null 8 Dec 7, 2022
hy-rs, pronounced high rise, provides a unified and portable to the hypervisor APIs provided by various platforms.

Introduction The hy-rs crate, pronounced as high rise, provides a unified and portable interface to the hypervisor APIs provided by various platforms.

S.J.R. van Schaik 12 Nov 1, 2022
Auto Fan Management Utility in Linux Systems for Monster Laptops

Auto Fan Management Utility in Linux Systems for Monster Laptops Monster Laptoplar için Linux Sistemlerde Oto Fan Yönetimi TR Monster laptoplar gömülü

null 2 Aug 22, 2022
Booru software for the 21st century. (Name is supposed to be like Puro, the big monster, but I failed..)

Pooru Booru software for the 21st century. Setup Setup is a little funky, but I hope to fix this funkyness down the road. First and foremost, you will

null 2 May 8, 2022
A static website that allows a user to tap along with a beat, displaying the song's calculated tempo in beats per minute (BPM).

BPM Is A static website that allows a user to tap along with a beat, displaying the song's calculated tempo in beats per minute (BPM). Hosted at https

Blake Johnson 11 Nov 5, 2021
Website about JSON web tokens

Just Web Tokens Web app for JSON Web Token verification also providing a gentle overview of the JWT tech. Dynamic logic is built with the Rust / WASM

Alex Ostrovski 1 Dec 21, 2022
An uploader honeypot designed to look like poor website security.

HoneyUp An uploader honeypot designed to look like poor website security. Requirements Linux server NGiNX Rust toolchain (build only) Installation Bui

Chad Baxter 21 Dec 20, 2022
UpVent Website (Powered by Rust + Svelte & Fernet Branca).

UpVent Website Source Build Status Description This is the source code for the UpVent's website under upvent.codes. Development occurs on the master b

UpVent 3 Dec 2, 2022
The RCOS website and Discord bot.

Telescope - https://rcos.io Telescope is the RCOS website. User Notes If you find issues with Telescope or have a feature you want added, please make

Rensselaer Center for Open Source 18 Dec 21, 2022
Use the osu!direct button on the osu! website to download beatmaps directly to osu

osum!direct-web Use the osu!direct button on the osu! website to download beatmaps directly to osu! - without osu! supporter. Badges Usage Run the app

oSumAtrIX 1 Jan 21, 2022
Pay a lightning email to send an email to the website owner

TODO USE human readable age in encryption (support "e" as backward compatible) go back to referrer or provided option save time taken to send email op

Riccardo Casatta 12 Aug 24, 2022
Website for Microformats Rust parser (using 'microformats-parser'/'mf2')

Website for Microformats Rust parser (using 'microformats-parser'/'mf2')

Microformats 5 Jul 19, 2022
Navigating around TUM with excellence – An API and website to search for rooms, buildings and other places

NavigaTUM NavigaTUM is a non-official tool developed by students for students, that aims to help you get around at TUM. Feel free to contribute. Featu

TUM Developers 21 Dec 22, 2022
📸 website screenshots as a service

website-screenshot ?? website screenshots as a service Features ?? powered by Rust ?? blazing fast ?? ‍‍ built-in ratelimiter ?? built-in storage prov

Tomio 13 Oct 22, 2022
Kalker (or "kalk") is a calculator program/website that supports user-defined variables, functions, derivation, and integration

Kalker (or "kalk") is a calculator program/website that supports user-defined variables, functions, derivation, and integration. It runs on Windows, macOS, Linux, Android, and in web browsers (with WebAssembly).

null 1.2k Dec 27, 2022
A website for the Leptos Web Framework!

Leptos Website A Repo for the public facing Leptos website. Still a WIP. Client Side Rendering This example cannot be built as a trunk standalone CSR-

Leptos 7 May 2, 2023
Leptos Axum Prisma starter with Admin dashboard and SSR/SPA website

LAPA - Leptos Axum Prisma starter with Admin dashboard and SSR/SPA website Motivation I want to have practical full-stack setup to build websites and

Alexi Chepura 2 Jul 10, 2023
🌊 ~ seaward is a crawler which searches for links or a specified word in a website.

?? seaward Installation cargo install seaward On NetBSD a pre-compiled binary is available from the official repositories. To install it, simply run:

null 3 Jul 16, 2023
autogen website (with Deno Core)

Kurit Static website generator ?? Warning WIP: It is still under development, so some of the features may not be developed. Project Structures graph T

null 11 Oct 16, 2023
Basic system information fetcher, with a focus on performance.

Table of Contents: About Changelog Dependencies Benchmarks Features Installation Platform Support About Macchina Macchina lets you view basic system i

null 677 Dec 28, 2022