X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fmain.cc;h=4ef90c0ab38b5fc18e9d5138deb47b0a712a49af;hp=772b63c71f06f6a7d0862ee41fd1e0641080e070;hb=a58455a92c7ecab980cbe1b7e282aeb6bfe7e889;hpb=ccc1a688b59e25bb934a0d3e2bbf477960068d4f diff --git a/src/main.cc b/src/main.cc index 772b63c..4ef90c0 100644 --- a/src/main.cc +++ b/src/main.cc @@ -13,6 +13,7 @@ #include "texture.h" #include "machine.h" #include "meshgen.h" +#include "mparser.h" static bool init(); static void cleanup(); @@ -56,7 +57,7 @@ int main(int argc, char **argv) glutInitWindowSize(1024, 768); glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE | GLUT_MULTISAMPLE); - glutCreateWindow("Antikythera"); + glutCreateWindow("demo"); glutDisplayFunc(display); glutIdleFunc(idle); @@ -88,39 +89,10 @@ static bool init() Mesh::use_custom_sdr_attr = false; machine = new Machine; - - const float pitch = 10.0f; - - Gear *gear1 = new Gear; - gear1->pos = Vec3(-50, 0, 0); - gear1->set_teeth(16, pitch); - gear1->gen_mesh(); - gear1->color = Vec3(0.35, 0.6, 0.8); - machine->add_gear(gear1); - - Gear *gear2 = new Gear; - gear2->set_teeth(32, pitch); - gear2->pos = gear1->pos + Vec3(gear1->radius + gear2->radius - gear1->teeth_length * 0.75, 0, 0); - gear2->thickness = 5; - gear2->gen_mesh(); - machine->add_gear(gear2); - - Gear *gear3 = new Gear; - gear3->set_teeth(8, pitch); - gear3->pos = gear2->pos + Vec3(0, gear2->radius + gear3->radius - gear2->teeth_length * 0.75, 0); - gear3->gen_mesh(); - machine->add_gear(gear3); - gear3->color = Vec3(0.5, 0.8, 0.6); - - Gear *subgear = new Gear; - subgear->set_teeth(10, pitch); - subgear->pos = Vec3(0, 0, (gear2->thickness + subgear->thickness) / 2 + 1); - subgear->gen_mesh(); - gear2->attach(subgear); - machine->add_gear(subgear); - subgear->color = Vec3(0.8, 0.7, 0.5); - - machine->add_motor(0, 1.0); + if(!parse_machine(machine, "data/test.machine")) { + fprintf(stderr, "failed to parse machine\n"); + return false; + } // shadows init_shadow(2048);