schematics working

master
Lindsey Handley 2017-12-26 18:25:57 -08:00
parent 7d828f74ae
commit 9d4f08f5af
4 changed files with 388 additions and 44 deletions

View File

@ -66,11 +66,17 @@
"-- This is my mod! It's called "
(mod-struct-name m)
"\n\n\n"))))
;Do all defs first
(map (curry append-to-file (lua-file-for m))
(map compile-v
(map compile-lua-def
(mod-struct-lua-defs m))))
;Then do other assets
(map (curry append-to-file (lua-file-for m))
(map compile-v
(append
(map compile-lua-def
(mod-struct-lua-defs m))
(map compile-item
(mod-struct-items m))
(map compile-block

View File

@ -290,7 +290,7 @@
0 -1 -1 4 1 #"\0"
0 -1 1 #"\0"
1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255
255 0 -1 -1 0 813 0 28 3 12 #"#lang racket"
255 0 -1 -1 0 861 0 28 3 12 #"#lang racket"
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
0 0 17 3 14 #";Housecleaning"
@ -308,15 +308,17 @@
0 0 17 3 44 #"; (crunchy img) -> Adds noise to image."
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
0 0 17 3 55 #";TODO: Support building. (Functional API, not drones.)"
0 0 17 3 30 #";TODO: Schematics almost done!"
0 0 24 29 1 #"\n"
0 0 17 3 74
(
#"; This plus the functional pictures is the really cool thing"
#" here."
) 0 0 24 29 1 #"\n"
0 0 17 3 67
#"; Racket to generate assets. Lua for in-game scripting..."
0 0 17 3 62
#"; Support specifying bottom up intepretation of images?"
0 0 24 29 1 #"\n"
0 0 17 3 48 #"; Round to nearest color (in the supplied"
0 0 17 3 38 #" mapping)? Star was weirdly dithered."
0 0 24 29 1 #"\n"
0 0 17 3 44 #"; Supply a wool mapping as a default."
0 0 24 29 1 #"\n"
0 0 17 3 53 #"; Would work best with a color rounding..."
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
0 0 17 3 55 #";TODO: Write a readme so team can know what's going on."
@ -1529,7 +1531,7 @@
0 0 24 3 7 #" "
0 0 19 3 7 #"\"brown\""
0 0 24 3 1 #" "
0 0 14 3 4 #"wood"
0 0 14 3 9 #"red-block"
0 0 24 29 1 #"\n"
0 0 24 3 7 #" "
0 0 19 3 7 #"\"green\""
@ -1539,32 +1541,75 @@
0 0 24 29 1 #"\n"
0 0 24 3 6 #" ("
0 0 14 3 4 #"list"
0 0 24 3 2 #" ("
0 0 14 3 4 #"star"
0 0 24 3 1 #" "
0 6 4 21 88
0 0 21 3 2 #"10"
0 0 24 3 1 #" "
0 0 19 3 7 #"\"solid\""
0 0 24 3 1 #" "
0 0 19 3 7 #"\"brown\""
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 12 #" ("
0 0 14 3 4 #"star"
0 0 24 3 1 #" "
0 0 21 3 2 #"10"
0 0 24 3 1 #" "
0 0 19 3 7 #"\"solid\""
0 0 24 3 1 #" "
0 0 19 3 7 #"\"brown\""
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 12 #" ("
0 0 14 3 4 #"star"
0 0 24 3 1 #" "
0 0 21 3 2 #"10"
0 0 24 3 1 #" "
0 0 19 3 7 #"\"solid\""
0 0 24 3 1 #" "
0 0 19 3 7 #"\"brown\""
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 12 #" ("
0 0 14 3 4 #"star"
0 0 24 3 1 #" "
0 0 21 3 2 #"10"
0 0 24 3 1 #" "
0 0 19 3 7 #"\"solid\""
0 0 24 3 1 #" "
0 0 19 3 7 #"\"brown\""
0 0 24 3 2 #"))"
0 0 24 29 1 #"\n"
0 0 24 3 5 #" "
0 0 17 3 7 #";(list "
0 6 4 17 88
(
#"(#(struct:translate 5 5 #(struct:ellipse 10 10 0 255 \"brown\")) #(s"
#"truct:bb 10 10 10) #f)"
) 0 0 24 3 1 #" "
0 6 4 21 88
) 0 0 17 3 1 #" "
0 6 4 17 88
(
#"(#(struct:translate 5 5 #(struct:ellipse 10 10 0 255 \"green\")) #(s"
#"truct:bb 10 10 10) #f)"
) 0 0 17 3 1 #" "
0 6 4 17 88
(
#"(#(struct:translate 5 5 #(struct:ellipse 10 10 0 255 \"brown\")) #(s"
#"truct:bb 10 10 10) #f)"
) 0 0 24 3 1 #" "
0 6 4 21 88
) 0 0 17 3 1 #" "
0 6 4 17 88
(
#"(#(struct:translate 5 5 #(struct:ellipse 10 10 0 255 \"green\")) #(s"
#"truct:bb 10 10 10) #f)"
) 0 0 17 3 1 #" "
0 6 4 17 88
(
#"(#(struct:translate 5 5 #(struct:ellipse 10 10 0 255 \"brown\")) #(s"
#"truct:bb 10 10 10) #f)"
) 0 0 24 3 1 #" "
0 6 4 21 88
(
#"(#(struct:translate 5 5 #(struct:ellipse 10 10 0 255 \"brown\")) #(s"
#"truct:bb 10 10 10) #f)"
) 0 0 24 3 1 #" "
0 6 4 21 88
(
#"(#(struct:translate 5 5 #(struct:ellipse 10 10 0 255 \"brown\")) #(s"
#"truct:bb 10 10 10) #f)"
) 0 0 24 3 3 #")))"
) 0 0 17 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 7 #" ))"
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
0 0 24 3 1 #"("

View File

@ -3,6 +3,8 @@
(provide schematics-writer-raw)
(define schematics-writer-raw
"
local _ = {name = 'air', prob = 0}
local mts_save = function(name, schematic)
local s = minetest.serialize_schematic(schematic, 'mts', {})
local path = minetest.get_modpath('my_racket_mod') .. '/schematics'

View File

@ -290,7 +290,7 @@
0 -1 -1 4 1 #"\0"
0 -1 1 #"\0"
1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255
255 0 -1 -1 0 195 0 28 3 12 #"#lang racket"
255 0 -1 -1 0 486 0 28 3 12 #"#lang racket"
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
0 0 24 3 1 #"("
@ -321,17 +321,46 @@
0 0 24 3 1 #"("
0 0 15 3 7 #"require"
0 0 24 3 1 #" "
0 0 19 3 1 #"\""
0 0 19 3 26 #"schematics-writer-raw.rkt\""
0 0 19 3 12 #"\"blocks.rkt\""
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 1 #"("
0 0 15 3 7 #"require"
0 0 24 3 1 #" "
0 0 19 3 1 #"\""
0 0 19 3 14 #"schematics-wri"
0 0 19 3 1 #"t"
0 0 19 3 11 #"er-raw.rkt\""
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
0 0 24 3 1 #"("
0 0 15 3 7 #"require"
0 0 24 3 1 #" "
0 0 14 3 11 #"2htdp/image"
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 1 #"("
0 0 15 3 7 #"require"
0 0 24 3 2 #" ("
0 0 14 3 7 #"only-in"
0 0 24 29 1 #"\n"
0 0 24 3 10 #" "
0 0 14 3 11 #"racket/draw"
0 0 24 29 1 #"\n"
0 0 24 3 10 #" "
0 0 14 3 18 #"the-color-database"
0 0 24 3 2 #"))"
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
0 0 24 3 1 #"("
0 0 15 3 14 #"define-lua-raw"
0 0 24 3 1 #" "
0 0 14 3 9 #"schem-api"
0 0 24 3 1 #" "
0 0 14 3 21 #"schematics-writer-raw"
0 0 14 3 6 #"schema"
0 0 14 3 1 #"t"
0 0 14 3 14 #"ics-writer-raw"
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
@ -1817,27 +1846,255 @@
0 0 24 3 1 #" "
0 0 14 3 4 #"name"
0 0 24 3 1 #" "
0 0 14 3 7 #"mapping"
0 0 14 3 9 #"color-map"
0 0 24 3 1 #" "
0 0 14 3 4 #"imgs"
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 3 #" ("
0 0 14 3 2 #"++"
0 0 15 3 3 #"let"
0 0 24 3 3 #" (["
0 0 14 3 4 #"data"
0 0 24 3 2 #" ("
0 0 14 3 3 #"map"
0 0 24 3 2 #" ("
0 0 14 3 6 #"curryr"
0 0 24 3 1 #" "
0 0 14 3 17 #"color->asset-name"
0 0 24 3 1 #" "
0 0 14 3 9 #"color-map"
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 20 #" ("
0 0 14 3 7 #"flatten"
0 0 24 3 2 #" ("
0 0 14 3 3 #"map"
0 0 24 3 1 #" "
0 0 14 3 17 #"image->color-list"
0 0 24 3 2 #" ("
0 0 14 3 3 #"map"
0 0 24 3 1 #" "
0 0 14 3 10 #"flip-verti"
0 0 4 3 1 #"c"
0 0 14 3 2 #"al"
0 0 24 3 1 #" "
0 0 14 3 4 #"imgs"
0 0 24 3 6 #"))))])"
0 0 24 29 1 #"\n"
0 0 24 3 5 #" ("
0 0 14 3 6 #"format"
0 0 24 3 1 #" "
0 0 19 3 1 #"\""
0 0 19 3 5 #"TODO:"
0 0 19 3 8 #"mts_save"
0 0 19 3 5 #"(~s,{"
0 0 19 29 1 #"\n"
0 1 19 65 1 #"\t"
0 0 19 3 4 #"size"
0 0 19 3 1 #" "
0 0 19 3 7 #"COMPILE"
0 0 19 3 1 #"="
0 0 19 3 2 #" {"
0 0 19 3 1 #"x"
0 0 19 3 1 #" "
0 0 19 3 3 #"THE"
0 0 19 3 1 #"="
0 0 19 3 3 #" ~a"
0 0 19 3 1 #","
0 0 19 3 1 #" "
0 0 19 3 6 #"SCHEM "
0 0 19 3 1 #"\""
0 0 24 3 1 #" "
0 0 19 3 1 #"y"
0 0 19 3 1 #" "
0 0 19 3 1 #"="
0 0 19 3 4 #" ~a,"
0 0 19 3 1 #" "
0 0 19 3 1 #"z"
0 0 19 3 1 #" "
0 0 19 3 1 #"="
0 0 19 3 4 #" ~a}"
0 0 19 3 1 #","
0 0 19 29 1 #"\n"
0 1 19 65 1 #"\t"
0 0 19 3 4 #"data"
0 0 19 3 1 #" "
0 0 19 3 9 #"= {~a}})\""
0 0 24 29 1 #"\n"
0 0 24 3 12 #" "
0 0 14 3 4 #"name"
0 0 24 29 1 #"\n"
0 0 24 3 13 #" ("
0 0 14 3 11 #"image-width"
0 0 24 3 2 #" ("
0 0 14 3 5 #"first"
0 0 24 3 1 #" "
0 0 14 3 4 #"imgs"
0 0 24 3 2 #"))"
0 0 24 29 1 #"\n"
0 0 24 3 12 #" "
0 0 24 29 1 #"\n"
0 0 24 3 13 #" ("
0 0 14 3 12 #"image-height"
0 0 24 3 2 #" ("
0 0 14 3 5 #"first"
0 0 24 3 1 #" "
0 0 14 3 4 #"imgs"
0 0 24 3 2 #"))"
0 0 24 29 1 #"\n"
0 0 24 3 13 #" ("
0 0 14 3 6 #"length"
0 0 24 3 1 #" "
0 0 14 3 4 #"imgs"
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 13 #" ("
0 0 14 3 11 #"string-join"
0 0 24 3 1 #" "
0 0 14 3 4 #"data"
0 0 24 3 1 #" "
0 0 19 3 3 #"\",\""
0 0 24 3 2 #"))"
0 0 24 29 1 #"\n"
0 0 24 3 4 #" ))"
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
0 0 24 3 1 #"("
0 0 15 3 6 #"define"
0 0 24 3 2 #" ("
0 0 14 3 17 #"color->asset-name"
0 0 24 3 1 #" "
0 0 14 3 5 #"color"
0 0 24 3 1 #" "
0 0 14 3 9 #"color-map"
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 3 #" ("
0 0 15 3 3 #"let"
0 0 24 3 3 #" (["
0 0 14 3 3 #"key"
0 0 24 3 2 #" ("
0 0 14 3 8 #"to-color"
0 0 24 3 1 #" "
0 0 14 3 5 #"color"
0 0 24 3 3 #")])"
0 0 24 29 1 #"\n"
0 0 24 3 5 #" ("
0 0 14 3 2 #"if"
0 0 24 3 2 #" ("
0 0 14 3 3 #"not"
0 0 24 3 2 #" ("
0 0 14 3 13 #"hash-has-key?"
0 0 24 3 1 #" "
0 0 14 3 9 #"color-map"
0 0 24 3 1 #" "
0 0 14 3 3 #"key"
0 0 24 3 2 #"))"
0 0 24 29 1 #"\n"
0 0 24 3 8 #" "
0 0 19 3 2 #"\"_"
0 0 19 3 1 #"\""
0 0 24 29 1 #"\n"
0 0 24 3 9 #" ("
0 0 14 3 6 #"format"
0 0 24 3 1 #" "
0 0 19 3 1 #"\""
0 0 19 3 1 #"{"
0 0 19 3 4 #"name"
0 0 19 3 1 #" "
0 0 19 3 1 #"="
0 0 19 3 1 #" "
0 0 19 3 1 #"'"
0 0 19 3 2 #"~a"
0 0 19 3 1 #"'"
0 0 19 3 1 #","
0 0 19 3 1 #" "
0 0 19 3 4 #"prob"
0 0 19 3 1 #" "
0 0 19 3 1 #"="
0 0 19 3 1 #" "
0 0 19 3 24 #"255, force_place = true}"
0 0 19 3 1 #"\""
0 0 24 29 1 #"\n"
0 0 24 3 17 #" ("
0 0 14 3 10 #"asset-name"
0 0 24 3 2 #" ("
0 0 14 3 8 #"hash-ref"
0 0 24 3 1 #" "
0 0 14 3 9 #"color-map"
0 0 24 3 1 #" "
0 0 14 3 3 #"key"
0 0 24 3 6 #"))))))"
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
0 0 24 3 1 #"("
0 0 15 3 6 #"define"
0 0 24 3 2 #" ("
0 0 14 3 8 #"to-color"
0 0 24 3 1 #" "
0 0 14 3 1 #"s"
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 3 #" ("
0 0 14 3 2 #"if"
0 0 24 3 2 #" ("
0 0 14 3 3 #"not"
0 0 24 3 2 #" ("
0 0 14 3 7 #"string?"
0 0 24 3 1 #" "
0 0 14 3 1 #"s"
0 0 24 3 3 #")) "
0 0 14 3 1 #"s"
0 0 24 29 1 #"\n"
0 0 24 3 7 #" ("
0 0 15 3 3 #"let"
0 0 24 3 3 #" (["
0 0 14 3 5 #"color"
0 0 24 3 2 #" ("
0 0 14 3 4 #"send"
0 0 24 3 1 #" "
0 0 14 3 18 #"the-color-database"
0 0 24 3 1 #" "
0 0 14 3 10 #"find-color"
0 0 24 3 1 #" "
0 0 14 3 1 #"s"
0 0 24 3 3 #")])"
0 0 24 29 1 #"\n"
0 0 24 3 9 #" ("
0 0 14 3 10 #"make-color"
0 0 24 3 2 #" ("
0 0 14 3 4 #"send"
0 0 24 3 1 #" "
0 0 14 3 5 #"color"
0 0 24 3 1 #" "
0 0 14 3 3 #"red"
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 21 #" ("
0 0 14 3 4 #"send"
0 0 24 3 1 #" "
0 0 14 3 5 #"color"
0 0 24 3 1 #" "
0 0 14 3 5 #"green"
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 21 #" ("
0 0 14 3 4 #"send"
0 0 24 3 1 #" "
0 0 14 3 5 #"color"
0 0 24 3 1 #" "
0 0 14 3 4 #"blue"
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 21 #" ("
0 0 14 3 14 #"inexact->exact"
0 0 24 3 2 #" ("
0 0 14 3 1 #"*"
0 0 24 3 1 #" "
0 0 21 3 3 #"255"
0 0 24 3 2 #" ("
0 0 14 3 4 #"send"
0 0 24 3 1 #" "
0 0 14 3 5 #"color"
0 0 24 3 1 #" "
0 0 14 3 5 #"alpha"
0 0 24 3 7 #")))))))"
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
0 0 24 29 1 #"\n"
0 0 24 3 1 #"("
@ -1849,7 +2106,7 @@
0 0 24 3 1 #" "
0 0 14 3 4 #"name"
0 0 24 3 1 #" "
0 0 14 3 7 #"mapping"
0 0 14 3 9 #"color-map"
0 0 24 3 1 #" "
0 0 14 3 4 #"imgs"
0 0 24 3 1 #")"
@ -1867,7 +2124,7 @@
0 0 24 3 1 #" "
0 0 14 3 4 #"name"
0 0 24 3 1 #" "
0 0 14 3 7 #"mapping"
0 0 14 3 9 #"color-map"
0 0 24 3 1 #" "
0 0 14 3 4 #"imgs"
0 0 24 3 3 #")))"
@ -1909,7 +2166,7 @@
0 0 24 3 1 #" "
0 0 14 3 4 #"name"
0 0 24 3 1 #" "
0 0 14 3 7 #"mapping"
0 0 14 3 9 #"color-map"
0 0 24 3 1 #" "
0 0 14 3 4 #"imgs"
0 0 24 3 1 #")"
@ -1952,8 +2209,42 @@
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 3 #" ("
0 0 14 3 9 #"make-hash"
0 0 24 29 1 #"\n"
0 0 24 3 4 #" ("
0 0 14 3 3 #"map"
0 0 24 3 2 #" ("
0 0 14 3 5 #"curry"
0 0 24 3 1 #" "
0 0 14 3 5 #"apply"
0 0 24 3 1 #" "
0 0 14 3 4 #"cons"
0 0 24 3 1 #")"
0 0 24 29 1 #"\n"
0 0 24 3 9 #" ("
0 0 14 3 3 #"map"
0 0 24 29 1 #"\n"
0 0 24 3 10 #" ("
0 0 15 3 6 #"lambda"
0 0 24 3 2 #" ("
0 0 14 3 1 #"x"
0 0 24 3 3 #") ("
0 0 14 3 4 #"list"
0 0 24 3 2 #" ("
0 0 14 3 8 #"to-color"
0 0 24 3 2 #" ("
0 0 14 3 5 #"first"
0 0 24 3 1 #" "
0 0 14 3 1 #"x"
0 0 24 3 4 #")) ("
0 0 14 3 6 #"second"
0 0 24 3 1 #" "
0 0 14 3 1 #"x"
0 0 24 3 3 #")))"
0 0 24 29 1 #"\n"
0 0 24 3 10 #" ("
0 0 14 3 8 #"in-pairs"
0 0 24 3 1 #" "
0 0 14 3 14 #"unzipped-pairs"
0 0 24 3 3 #")) "
0 0 24 3 5 #")))))"
0 0