wwylele / mhrice

Monster Hunter Rise information website
http://mhrice.info
Apache License 2.0
111 stars 8 forks source link

Request support for UTF-16 encoded file path search #12

Open dtlnor opened 3 years ago

dtlnor commented 3 years ago

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)

wwylele commented 3 years ago

:rofl: Capcom please what the hell is this