Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

I3Dmapper

CLI tool that reads a Farming Simulator .i3d file, walks its <Scene> graph, and prints an <i3dMappings> block you can paste into a vehicle or placeable XML.

  • Drag-and-drop, command-line, or interactive path prompt
  • Prints the block and copies it to the clipboard
  • Maps every named node with correct Farming Simulator scene-graph paths
  • De-duplicates ids and handles iso-8859-1 .i3d files

Build

Requires Go 1.26+.

Quick build

go build -o i3dmapper.exe .

Produces i3dmapper.exe in the project folder.

Release build (recommended)

The build scripts embed Windows version-info metadata (company, product, version, description) into the exe. This removes the "Unknown Publisher" anonymity of a bare Go binary and reduces antivirus false-positives when sharing the tool.

# Windows (PowerShell)
.\build.ps1
# Linux / macOS / WSL / Git Bash
./build.sh

Each script installs goversioninfoversioninfo.json if missing, generates the resource from versioninfo.json, builds a stripped binary (-trimpath -ldflags "-s -w"), and prints the SHA256 checksum for release notes.

Application icon

To give i3dmapper.exe an icon, place a multi-resolution icon.ico (16/32/48/256 px) in the project root before building. The build scripts embed it automatically; if no icon.ico is present they build without one.

Create an .ico from a PNG with ImageMagick:

magick icon.png -define icon:auto-resize=256,48,32,16 icon.ico

Note: this does not replace an Authenticode code-signing certificate. Full SmartScreen trust still requires a signed binary.

Usage

Drag and drop

Drag one or more .i3d files onto i3dmapper.exe. The generated <i3dMappings> block is printed to the terminal and copied to the clipboard for each file. The window stays open until you press Enter.

Command line

i3dmapper.exe path\to\file.i3d [more.i3d ...]

Or run from source without building:

go run . path\to\file.i3d

Interactive

Start i3dmapper.exe with no file. It prompts:

Enter absolute path to .i3d file:

Paste an absolute path (surrounding quotes are stripped) and press Enter.

Output

For every named node in the <Scene> it generates:

<i3dMappings>
    <i3dMapping id="nodeName" node="0>0|1|0" />
    ...
</i3dMappings>

The block is also copied to the clipboard automatically (Windows clip.exe), so you can paste straight into your XML. With multiple input files the blocks are joined with a blank line.

Node path syntax (Giants scene-graph indexing):

  • N> the N-th direct child of <Scene> (a root component)
  • N>a|b|c from that component, descend child index a, then b, then c

Notes

  • Generates a mapping for every named node, a superset of what a mod usually needs. Prune the ones you don't reference.
  • id must be unique. Duplicate node names get a _2, _3, ... suffix and a WARN line. Rename the nodes in Giants Editor for a clean map.
  • Unnamed nodes are skipped with a warning.
  • Handles iso-8859-1 / latin1 encoded .i3d files written by Giants Editor.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages