{"id":50484313,"url":"https://github.com/phts/h3m-resize","last_synced_at":"2026-06-01T20:31:03.031Z","repository":{"id":350943426,"uuid":"1206733995","full_name":"phts/h3m-resize","owner":"phts","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-12T21:23:31.000Z","size":68,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-12T23:22:52.480Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/phts.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-10T07:48:38.000Z","updated_at":"2026-04-12T21:23:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/phts/h3m-resize","commit_stats":null,"previous_names":["phts/h3m-resize"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/phts/h3m-resize","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2Fh3m-resize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2Fh3m-resize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2Fh3m-resize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2Fh3m-resize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phts","download_url":"https://codeload.github.com/phts/h3m-resize/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2Fh3m-resize/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33793032,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2026-06-01T20:31:02.258Z","updated_at":"2026-06-01T20:31:03.027Z","avatar_url":"https://github.com/phts.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# h3m-resize\n\nResize existing HoMM3 map keeping all the terrain, objects and configuration.\n\n## Requirements\n\n- Node.js v22 or higher\n- `gzip` executable available in global `PATH`\n\n## Limitations\n\n- Only HotA maps are supported (tested on v1.8.0)\n\n## Usage\n\nThis script does not have complete parsing of the .h3m structure.\n\nTo make it work you have to make the following customizations in your map\nto be able to properly find the offset in the file structure with the first segment of the land (on coordinates `x=0;y=0`).\n\n1. Place rectangle of Grass from the top left corner (coordinates `x=0;y=0`) to at least `x=5;y=2`\n2. Place two segments of Snow at `x=0;y=0` and `x=1;y=0` (enough single click on `x=1;y=0`)\n3. Place two segments of Lava at `x=2;y=0` and `x=3;y=0` (enough single click on `x=3;y=0`)\n4. Place Lava river from `x=0;y=0` to `x=3;y=0`\n5. Place Dirt road from `x=0;y=0` to `x=3;y=0`\n\nIt has to look like:\n\n![](docs/example.png)\n\nAnd then to execute the script:\n\n```sh\nnpm start -- --src-file=/path/to/source.h3m --out-file=/path/to/out.h3m --new-size=[S|M|L|XL|H|XH|G]\n```\n\nAfter successful conversion open newly created map in the map editor and replace terrain in the left top corner back as it was in your original file.\n\n:warning: When decreasing size from bigger to smaller all objects which were placed on the cropped segments will be still\npresented in the map structure and may cause unpredictable behavior when later adding more objects.\nIn this case recommended before executing the script manually delete/move all objects out from the segments which are going to be cropped.\n\n## References\n\n- [.h3m structure description](https://github.com/potmdehex/homm3tools/blob/master/h3m/h3mlib/h3m_structures/h3m_description.english.txt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphts%2Fh3m-resize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphts%2Fh3m-resize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphts%2Fh3m-resize/lists"}