{"id":34947747,"url":"https://github.com/unknown321/mgsv_path_hasher","last_synced_at":"2026-05-21T08:38:09.762Z","repository":{"id":182351439,"uuid":"71169815","full_name":"unknown321/mgsv_path_hasher","owner":"unknown321","description":null,"archived":false,"fork":false,"pushed_at":"2016-11-23T12:11:40.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-07-19T17:34:06.993Z","etag":null,"topics":["mgsv"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unknown321.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-10-17T18:43:16.000Z","updated_at":"2023-07-19T17:34:17.614Z","dependencies_parsed_at":"2023-07-19T17:44:29.802Z","dependency_job_id":null,"html_url":"https://github.com/unknown321/mgsv_path_hasher","commit_stats":null,"previous_names":["unknown321/mgsv_path_hasher"],"tags_count":2,"template":null,"template_full_name":null,"purl":"pkg:github/unknown321/mgsv_path_hasher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unknown321%2Fmgsv_path_hasher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unknown321%2Fmgsv_path_hasher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unknown321%2Fmgsv_path_hasher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unknown321%2Fmgsv_path_hasher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unknown321","download_url":"https://codeload.github.com/unknown321/mgsv_path_hasher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unknown321%2Fmgsv_path_hasher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33294031,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T02:57:32.698Z","status":"ssl_error","status_checked_at":"2026-05-21T02:57:31.990Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mgsv"],"created_at":"2025-12-26T20:32:05.427Z","updated_at":"2026-05-21T08:38:09.757Z","avatar_url":"https://github.com/unknown321.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mgsv_path_hasher\n\nCreates a filename hash used in fmdl/fv2 files in MGSVTPP (probably .dat files too).\nSee http://forum.xentax.com/viewtopic.php?p=121141#p121141 for more details on fmdl/fv2.\n\nPut filenames you want to hash into 'input.txt', grab hashes from 'output.txt'.\n\n#### Options\n + '/r': re-reverse hashes;\n + '/p': print hashes to console;\n + '/h': supress any messages.\n\n#### Hashes\nHashes are reversed by default so you can just copypaste the output and search for it \nusing your favorite hex editor. Hashes are also truncated to last 12 bytes out of 16 - \nsometimes first 3 bytes differ. Small hashes are padded with zeroes from left ie \nhash `12345` becomes `000000012345` - I am not sure is this the right way. \n\n#### Path length\nGame doesn't recognize long filenames (or filenames with dot in filepath).\n\nExample:\n\n|-         |-            |-   |\n| ------------- |-------------:|-----:|\n| Hex representation in fova |  | 5b ee d2 04 a5 a0 a2 84 |\n| Full filepath | /Assets/tpp/item/ewr/Scenes/gog1_main0_def | 84 a2 a0 a5 04 d2 ee 5b |\n| Trunkated filepath | tpp/item/ewr/Scenes/gog1_main0_def | 2 a0 a5 04 d2 ee 5b |\n\n\nBased on atvaark's tool. https://dotnetfiddle.net/3RBp5V - online version without reversability.\n\n### Compiling\n 1. You will need .NET 4 and CityHash.dll - https://www.nuget.org/packages/CityHash.Net.Legacy/.\n 2. Put CityHash.dll along with main.cs.\n 3. Execute `C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\csc.exe /r:CityHash.dll main.cs`\n 4. Done.\n\nSee also: https://stackoverflow.com/questions/18286855\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funknown321%2Fmgsv_path_hasher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funknown321%2Fmgsv_path_hasher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funknown321%2Fmgsv_path_hasher/lists"}