view Renderer/Engine/spe/universe_move.cc @ 839:1001c4bea1a0 draft

if unnecessary
author Yutaka_Kinjyo
date Fri, 28 May 2010 03:24:52 +0900
parents 06302c1dc87d
children
line wrap: on
line source

#include <stdio.h>
#include <string.h>
#include <math.h>
#include "universe_move.h"
#include "Func.h"
#include "types.h"

/* これは必須 */
SchedDefineTask(UniverseTask);

typedef struct {
    float xyz[3];
    float angle[3];
    float stack_xyz[3];
    int property_index;
    int parent_index;
    int have_parent;
    memaddr parent;
    memaddr children;
    memaddr node;
    const char *name;
} *PropertyPtr, Property;

static int
run(SchedTask *s,void *rbuf, void *wbuf)
{
    PropertyPtr	property	= (PropertyPtr)s->get_input(rbuf, 0);
    PropertyPtr	update_property = (PropertyPtr)s->get_output(wbuf, 0);
    int screen_w = 1920;
    int screen_h = 1080;

    property[0].angle[1] += 1.0f;
    if (property[0].angle[1] > 360.0f) {
	property[0].angle[1] = 0.0f;
    }

    property[0].xyz[0] += property[0].stack_xyz[0];
    if ((int)property[0].xyz[0] > screen_w || (int)property[0].xyz[0] < 0) {
	property[0].stack_xyz[0] = -property[0].stack_xyz[0];
    }

    property[0].xyz[1] += property[0].stack_xyz[1];
    if ((int)property[0].xyz[1] > screen_h || (int)property[0].xyz[1] < 0) {
	property[0].stack_xyz[1] = -property[0].stack_xyz[1];
    }

    memcpy((void*)update_property, (void*)property, sizeof(Property)*2);

    return 0;
}