isogen-cd2025/readme.md
2024-05-23 09:39:21 +02:00

2.2 KiB

isogen

License Download Coverage Status

Generate isometric images from ingame builds

Commands

If the worldedit mod is present you can use the following command to render the current we-region to a png-file:

//isogen [filename]

NOTE: larger regions require more memory

Colors

Supported node-colors:

  • colors.txt files in the /colors directory
  • palette-support for unifieddyes_palette_extended
  • mapcolor node definition
  • colors.txt file in the world-directory (if found)

Api

isogen.draw(pos1, pos2, cube_len?)

Renders an isometric image and returns the png data

Example:

local pos1 = vector.new(0,0,0)
local pos2 = vector.new(16,16,16) -- NOTE: larger regions require more memory
local cube_len = 24 -- multiple of 4 and greater than 4 pixels

-- render and save to world-directory
local png = isogen.draw(pos1, pos2, cube_len)
local path = minetest.get_worldpath() .. "/iso.png"
minetest.safe_file_write(path, png)

isogen.draw_map(pos1, pos2)

Renders a map image and returns the png data

Example:

local pos1 = vector.new(0,0,0)
local pos2 = vector.new(16,16,16) -- NOTE: larger regions require more memory

-- render and save to world-directory
local png = isogen.draw_map(pos1, pos2)
local path = minetest.get_worldpath() .. "/map.png"
minetest.safe_file_write(path, png)

isogen.create_canvas(width, height)

Creates a canvas to set and get pixels

Example:

-- create a canvas, draw a pixel on the coords 0,0 and save the png to the world-directory
local c = isogen.create_canvas(240, 160)
c:set_pixel(0, 0, { r=255, g=0, b=0, a=0 })

local png = c:png()
local path = minetest.get_worldpath() .. "/iso.png"
minetest.safe_file_write(path, png)

License

  • Code: MIT