Code Monkey home page Code Monkey logo

mhrice's Introduction

mhrice

⚠️ This project mainly targets the steam version. It might or might not work for the other versions

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!

Platform and dependency

  • Actively tested on linux and Windows. Might work on macOS. (If not please open an issue)
  • Rust, cargo
  • OpenGL 3.3 if running any model-related command

Credits

License

Licensed under either of

at your option.

mhrice's People

Contributors

dependabot[bot] avatar dtlnor avatar wwylele avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mhrice's Issues

Guild Card Special Investigation Medal Icon

Have you managed to extract the aforementioned icon from the game files? The one that appears by each monster on your guild card after you complete a special investigation for them. I've been making and updating a "completionist" tracker spreadsheet on Google Sheets ever since i started playing base Rise, and i think that's one of the few icons i still need.

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.

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

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?

Error in read-tdb ’failed to fill whole buffer’.

I don't know which version this is happening from, but now I get an error when I use the read-tdb command. It used to be usable.

read-tdb -t MonsterHunterRise.exe Error: failed to fill whole buffer

This can be predicted to be due to the fact that TDB_ANCHOR is now not accurate and is beyond its end position.
Thanks for the long-term development.

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

How to properly build the website

Sorry if this is a dumb question, I've been reading and re-reading the README and wiki but I can't seem to manage to build the website.
I managed to build the mhrice.exe and even generated an TDB file ... but how can I generate the website? Or even generate the "database" that the website will use.
When I try to run gen-website I get Error: No matching hash for data/Define/Common/HunterNote/MonsterListBossData_MR.user. Is there a place where I need to specify the path to the game files?

monster id for ?

I looked at the Hitzone data

Monster 001 == Rathian
Monster 060 == Arzuros
Monster 082 == Mizutsune
Monster 098 == Great Izuchi

Right?

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)

how i can use this in my iOS app?

now i download the *.json file and read it in iOS app, i wonder if there is other way to fetch the info such as armors、skills and so on?

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.

Armor name weirdness

at

.get(armor_series.armor_series.0 as usize); // ?!
and
let name = msg
.entries
.get(id)
.with_context(|| format!("Cannot find name for armor {:?}", armor.pl_armor_id))?; // ?!
let explain = explain_msg
.entries
.get(id)
.with_context(|| format!("Cannot find name for armor {:?}", armor.pl_armor_id))?; // ?!

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?

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)

Pre-emptive TDB fix

Was looking at the tdb for the RE8 demo that came out on PC, and it uses version 0x45. One thing I noticed though is that in the fields, several of the name offsets would be way higher than the file allowed, so I changed line 557 (of the old code supporting version 0x45) to let (name_offset,unkn2) = file.read_u32()?.bit_split((22,10)); and it seems to have worked. It might not be important now for MHRise, but given that the two formats are rather close otherwise, it may be useful to know later.

Casual TODO list

I'll put whatever small items to do that I come up with here....

Improve nav menu

Current problems:

  • activate sub-menu by hovering isn't great and doesn't work on some devices
  • on certain screen sizes (e.g. 1024x768) it doesn't fold while also can't display every element
  • the experience of a long menu on mobile is not the best - consider panel / buttons instead of one element per line

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

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)

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?

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

getting "Segmentation fault" error when running commands

hi, I'm getting "Segmentation fault" when running gen-resources. Does anyone know why?
This is my log:
gen-resources Segmentation fault.log
error:

thread '<unnamed>' panicked at src/gpu/mod.rs:47:10:
Failed to create GL context
stack backtrace:
   0:     0x55667c790c46 - std::backtrace_rs::backtrace::libunwind::trace::hbee8a7973eeb6c93
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x55667c790c46 - std::backtrace_rs::backtrace::trace_unsynchronized::hc8ac75eea3aa6899
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x55667c790c46 - std::sys_common::backtrace::_print_fmt::hc7f3e3b5298b1083
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x55667c790c46 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbb235daedd7c6190
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x55667c7c0b50 - core::fmt::rt::Argument::fmt::h76c38a80d925a410
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/rt.rs:142:9
   5:     0x55667c7c0b50 - core::fmt::write::h3ed6aeaa977c8e45
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/mod.rs:1120:17
   6:     0x55667c78d9af - std::io::Write::write_fmt::h78b18af5775fedb5
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/io/mod.rs:1810:15
   7:     0x55667c790a24 - std::sys_common::backtrace::_print::h5d645a07e0fcfdbb
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x55667c790a24 - std::sys_common::backtrace::print::h85035a511aafe7a8
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x55667c7922a7 - std::panicking::default_hook::{{closure}}::hcce8cea212785a25
  10:     0x55667c792009 - std::panicking::default_hook::hf5fcb0f213fe709a
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:292:9
  11:     0x55667c792738 - std::panicking::rust_panic_with_hook::h095fccf1dc9379ee
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:779:13
  12:     0x55667c792612 - std::panicking::begin_panic_handler::{{closure}}::h032ba12139b353db
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:657:13
  13:     0x55667c791146 - std::sys_common::backtrace::__rust_end_short_backtrace::h9259bc2ff8fd0f76
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:171:18
  14:     0x55667c792370 - rust_begin_unwind
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
  15:     0x55667a6b67e5 - core::panicking::panic_fmt::h784f20a50eaab275
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
  16:     0x55667a6b67a3 - core::panicking::panic_display::h251010ce5e0560d5
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:196:5
  17:     0x55667a6b67a3 - core::panicking::panic_str::h6f89534c81f0edc4
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:171:5
  18:     0x55667a6b67a3 - core::option::expect_failed::hc85eb6037a3050f7
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/option.rs:1980:5
  19:     0x55667be933cf - mhrice::gpu::gpu_thread::h0b58cfc70e8b7d8b
  20:     0x55667bccec86 - std::sys_common::backtrace::__rust_begin_short_backtrace::h484b0571a3bb35de
  21:     0x55667b6c84f6 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h4d474c70c784e45c
  22:     0x55667c797775 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h12de4fc57affb195
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
  23:     0x55667c797775 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3c619f45059d5cf1
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
  24:     0x55667c797775 - std::sys::unix::thread::Thread::new::thread_start::hbac657605e4b7389
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys/unix/thread.rs:108:17
  25:     0x7f9fcb671609 - start_thread
  26:     0x7f9fcb447353 - clone
  27:                0x0 - <unknown>
thread '<unnamed>' panicked at src/gpu/mod.rs:79:14:
called `Result::unwrap()` on an `Err` value: SendError { .. }
stack backtrace:
   0:     0x55667c790c46 - std::backtrace_rs::backtrace::libunwind::trace::hbee8a7973eeb6c93
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x55667c790c46 - std::backtrace_rs::backtrace::trace_unsynchronized::hc8ac75eea3aa6899
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x55667c790c46 - std::sys_common::backtrace::_print_fmt::hc7f3e3b5298b1083
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x55667c790c46 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbb235daedd7c6190
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x55667c7c0b50 - core::fmt::rt::Argument::fmt::h76c38a80d925a410
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/rt.rs:142:9
   5:     0x55667c7c0b50 - core::fmt::write::h3ed6aeaa977c8e45
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/mod.rs:1120:17
   6:     0x55667c78d9af - std::io::Write::write_fmt::h78b18af5775fedb5
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/io/mod.rs:1810:15
   7:     0x55667c790a24 - std::sys_common::backtrace::_print::h5d645a07e0fcfdbb
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x55667c790a24 - std::sys_common::backtrace::print::h85035a511aafe7a8
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x55667c7922a7 - std::panicking::default_hook::{{closure}}::hcce8cea212785a25
  10:     0x55667c792009 - std::panicking::default_hook::hf5fcb0f213fe709a
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:292:9
  11:     0x55667c792738 - std::panicking::rust_panic_with_hook::h095fccf1dc9379ee
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:779:13
  12:     0x55667c792612 - std::panicking::begin_panic_handler::{{closure}}::h032ba12139b353db
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:657:13
  13:     0x55667c791146 - std::sys_common::backtrace::__rust_end_short_backtrace::h9259bc2ff8fd0f76
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:171:18
  14:     0x55667c792370 - rust_begin_unwind
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
  15:     0x55667a6b67e5 - core::panicking::panic_fmt::h784f20a50eaab275
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
  16:     0x55667a6b6d33 - core::result::unwrap_failed::h03d8a5018196e1cd
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
  17:     0x55667be91272 - mhrice::gpu::monster_hitzone::gen_hitzone_diagram::hf1a3c7d17cf13e35
  18:     0x55667b310d7e - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once::hdecbe36647aebfbe
  19:     0x55667bc0b942 - rayon::iter::plumbing::bridge_producer_consumer::helper::h53ca11f5359cac06
  20:     0x55667aeb58c6 - rayon_core::join::join_context::{{closure}}::hd668b248cacb9294
  21:     0x55667aeb66e7 - rayon_core::registry::in_worker::h64e698b52d0332e0
  22:     0x55667bc0bb12 - rayon::iter::plumbing::bridge_producer_consumer::helper::h53ca11f5359cac06
  23:     0x55667aefcc8f - <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute::h2cb97ec158eab404
  24:     0x55667a6b1418 - rayon_core::registry::WorkerThread::wait_until_cold::ha3129239b01c8e1f
  25:     0x55667c6fb9e2 - rayon_core::registry::ThreadBuilder::run::hd6a5eab9becb441b
  26:     0x55667c700e7a - std::sys_common::backtrace::__rust_begin_short_backtrace::hcf46d2ddab80f0d7
  27:     0x55667c6ff06f - core::ops::function::FnOnce::call_once{{vtable.shim}}::h7809fa4e94fa04f4
  28:     0x55667c797775 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h12de4fc57affb195
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
  29:     0x55667c797775 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3c619f45059d5cf1
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
  30:     0x55667c797775 - std::sys::unix::thread::Thread::new::thread_start::hbac657605e4b7389
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys/unix/thread.rs:108:17
  31:     0x7f9fcb671609 - start_thread
  32:     0x7f9fcb447353 - clone
  33:                0x0 - <unknown>

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.

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

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```

[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

Update checklist

  • Verify whether PAK has new format
  • Verify whether TDB has new format
  • Run all known format scan
  • Update suffix version numbers
  • Dump tree
  • Verify RSZ formats against new TDB
  • Dump new json

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.