diff --git a/effects.v b/effects.v index 0896a74..300b52e 100644 --- a/effects.v +++ b/effects.v @@ -14,6 +14,8 @@ fn new_effect() &Effect { e := &Effect{ //in_elem: null, //out_elem: null, + in_elem: &Elem(0), + out_elem: &Elem(0), } return e } diff --git a/elems.v b/elems.v index 525a5e4..cb190dd 100644 --- a/elems.v +++ b/elems.v @@ -62,10 +62,13 @@ mut: } fn new_elem() &Elem { + /* e := &Elem{ //when_crushed_effects: []Effect{}, //when_crushed_out_elems: []Elem{}, //generic_processor0: none, } + */ + e := &Elem{} return e } diff --git a/generic_processor.v b/generic_processor.v index b6bb962..33e4ba3 100644 --- a/generic_processor.v +++ b/generic_processor.v @@ -15,7 +15,7 @@ mut: } fn new_generic_crusher_processor() &GenericCrusherProcessor { - gcp := &GenericCrusherProcessor{} + mut gcp := &GenericCrusherProcessor{} gcp.name = "generic_crusher_processor" return gcp } diff --git a/main.v b/main.v index f0d1f28..a62278e 100644 --- a/main.v +++ b/main.v @@ -44,19 +44,20 @@ fn main() { // Effects // - ef := new_effect() + mut ef := new_effect() ef.name = "melt" ef.in_elem = e2 ef.out_elem = e3 ef.cond_temp = 5000 - println("ef: ${ef}") + // XXX bug: can't print recursive elems? + //println("ef: ${ef}") // // Objects // - ob := new_object() + mut ob := new_object() ob.name = "stone1" ob.dim_x = 2 ob.dim_y = 2 @@ -68,13 +69,14 @@ fn main() { ob.transform.pos_y = 10.0 ob.transform.rot_z = 45.0 - println("ob: ${ob}") + // XXX + //println("ob: ${ob}") // // Processors // - prc := new_processor() + mut prc := new_processor() prc.name = "crushed_stone" prc.in_elem = e4 prc.out_elem = e4 @@ -82,7 +84,8 @@ fn main() { prc.req_electricity = true prc.req_power = 1000 - println("prc: ${prc}") + // XXX + //println("prc: ${prc}") // // Universal Processors? @@ -96,7 +99,7 @@ fn main() { prc2.process(ob) */ - gcp := new_generic_crusher_processor() + mut gcp := new_generic_crusher_processor() gcp.process(ob) //e4.generic_processor0 = gcp @@ -110,7 +113,7 @@ fn main() { // World // - w := new_world() + mut w := new_world() b1 := Bit{ elem_type: .wood, @@ -127,7 +130,7 @@ fn main() { // Complex object // - ob2 := new_object() + mut ob2 := new_object() ob2.name = "pipe" // Reinforced-concrete pipe, a 3d object ob2.elem = e_concrete diff --git a/object.v b/object.v index 36b09c2..3003177 100644 --- a/object.v +++ b/object.v @@ -30,6 +30,7 @@ mut: fn new_object() &Object { o := &Object{ + elem: &Elem(0), transform: new_transform(), } return o diff --git a/processor.v b/processor.v index 5a35455..6f17af0 100644 --- a/processor.v +++ b/processor.v @@ -16,6 +16,9 @@ mut: } fn new_processor() &Processor { - p := &Processor{} + p := &Processor{ + in_elem: &Elem(0), + out_elem: &Elem(0), + } return p } diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..5f24d56 --- /dev/null +++ b/run.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +v run .