Repository navigation
HD2Runtime ModBuilder v1.5.0
HD2Runtime ModBuilder 1.5.0
Set up how HD2Arsenal presents your mod (its description and icon) and attach additional files once, and every export includes them in the mod ZIP. The Arsenal description and icon are generated into the exported manifest.json, which is where Arsenal reads them: an image added as an additional file alone is not shown as the icon. These are ModBuilder features only: they add no HD2Runtime capability, and the generated Lua and game files are unchanged.
Download: HD2Runtime-ModBuilder-v1.5.0-win-x64.zip (Windows 10/11 x64). Extract it and run HD2RuntimeModBuilder.exe, or use Install update from any earlier version.
New projects require HD2Runtime 0.28.1, the same as 1.4.2 and 1.4.3. The bundled SDK is unchanged. Projects bound to an older SDK keep requiring that SDK's Runtime until you rebind them.
Arsenal presentation
- Build / Export has a new Arsenal presentation section, separate from the gameplay edits. Set it once; every export writes it.
- Arsenal description: plain text, line breaks kept. HD2Arsenal shows it in its library, followed by the dependency line ModBuilder writes in every manifest. Leave it empty to show only the dependency line, as before.
- Icon: Select image… picks a PNG, JPG, GIF or WebP image, the types Arsenal's own Manifest Builder accepts. Each export packages it at the ZIP root under its own name and sets
manifest.json'sIconPathto it, which is how Arsenal finds a mod's icon. The image is read at every export, byte for byte. - This is what HD2Arsenal 0.36.2 reads when it imports a mod:
manifest.json'sDescriptionandIconPath. An image packaged only as an additional file is not used as the icon, because Arsenal shows an icon only whenIconPathnames it. Arsenal does not need to be installed to export, and it deploys only themod/game files; the icon stays in its library. - Problems are shown in the section and refuse the export: a missing or unreadable image, a file that is not the image type its name says, an unsupported type, or a description Arsenal would alter. Arsenal removes anything that looks like an HTML tag (text between
<and a later>), so ModBuilder asks you to reword it. - Example
manifest.jsonwith both set:"Name": "My Mod 1.0.0", "Description": "Faster Liberator: 720 RPM.\n\nRequires Bingus Shared Loader v15+ / API 1 and HD2Runtime 0.28.1+ / API 1; install dependencies separately.", "IconPath": "thumbnail.png",
Additional files
- Build / Export has a new Additional files section. Add file… picks any file on your computer. It goes to the ZIP root under its own name. Change its Path in ZIP to put it in a folder (for example
images/thumbnail.png), and × removes it from the export. The file itself is never changed or deleted. - The project saves where each file is on your computer and where it goes in the ZIP. ModBuilder reads the file at every export, so the ZIP always carries its current contents, byte for byte.
- ModBuilder does not rename, convert or interpret these files. Use them for files a site or tool expects in the ZIP (a preview image for a mod page, for example); the Arsenal icon is set under Arsenal presentation. An additional file cannot take the Arsenal icon's path in the ZIP.
- A ZIP path is relative and uses
/between folders (a typed\becomes/). Absolute paths, drives,.and..folders and names Windows cannot extract are refused.mod/is reserved for the generated files your mod manager installs into the game. A path may not be a file ModBuilder generates (manifest.json,README.md,src/addon.lua, …) or the path of another additional file, ignoring case. - A problem is shown on the file's row, where you fix it: a file that was moved or deleted, an invalid path, or a path that clashes with another file. Until it is fixed, the export is refused with a message naming the file, for example:
ModBuilder never skips a file and never overwrites a generated file.
Cannot package additional file: thumbnail.png Source file does not exist: C:\Users\me\Pictures\thumbnail.png - Example ZIP of a project with an Arsenal icon
thumbnail.pngand an additional file atimages/preview.png:README.md build-report.json hd2runtime.json images/preview.png manifest.json mod/9ba626afa44a3aa3.patch_0 mod/9ba626afa44a3aa3.patch_0.gpu_resources mod/9ba626afa44a3aa3.patch_0.stream src/addon.lua thumbnail.png - Duplicating a project keeps its Arsenal presentation and additional files. A project can have up to 32 additional files of at most 64 MiB each.
Project format and compatibility
- Existing projects stay compatible. They open, save and export as before, keep their SDK binding and format, and do not gain the new sections until you use them. This was checked with projects saved by ModBuilder 1.4.2 itself: opened, saved and exported by 1.5.0, they produce the same ZIPs as 1.4.2 did, apart from the builder version in
build-report.json. Projects that never use the new sections also stay readable by earlier versions. - A project with an Arsenal presentation or additional files saves in format 12. Older ModBuilder versions do not silently downgrade it: every earlier version refuses to open, export, duplicate or rename it, showing The JSON property 'arsenal' (or 'packagedFiles') could not be mapped to any .NET member…, and leaves the project file untouched. Like earlier formats, a project stays in format 12 after both are removed.
- ModBuilder builds each export from the project. It does not open or edit existing mod ZIPs.
Unchanged
- Exports of projects without an Arsenal presentation or additional files are byte-identical to 1.4.3's, apart from the ModBuilder version recorded in
build-report.json(as in every release). The icon and additional files get the same fixed timestamp as the generated files, so repeated exports of an unchanged project with unchanged files are identical. - The generated Lua, the gameplay archive,
hd2runtime.json, the bundled HD2Runtime 0.28.1 SDK, project SDK bindings and the import of projects are unchanged.manifest.jsonchanges only where you set an Arsenal presentation.