view tcollision.cc @ 1:b4c797eee72a

task dandy base
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Mon, 13 Dec 2010 04:56:23 +0900
parents
children 6382d8f6a973
line wrap: on
line source

#include <stdio.h>
#include <stdlib.h>
#include <SDL.h>
#include "SDL_opengl.h"
#include "object.h"
#include "Character.h"
#include "Character_state.h"
#include "tokuten.h"
#include "collision.h"
#include "bom.h"
#include "count2.h"
#include "sgoex.h"
#include "TaskManager.h"
#include "Func.h"
#include "task_dandy.h"

extern SpriteTable sptable[DEFOBJ];

CHARACTER * atari(CHARACTER *p)
{
    int w, h, charno;

    charno = p->charano;
    w = sptable[charno].w;
    h = sptable[charno].h;

    HTaskPtr collision = tmanager->create_task(Atari);
    collision->set_param(0,(memaddr)w);
    collision->set_param(1,(memaddr)h);
    collision->set_param(2,(memaddr)enemycount);
    collision->set_param(3,(memaddr)bomend);
    collision->set_param(4,(memaddr)tama_lv1_end);
    collision->set_param(5,(memaddr)tama_lv2_end);
    collision->set_param(6,(memaddr)laser_lv1_end);
    collision->set_param(7,(memaddr)infg_level);
    
    collision->add_inData(&jiki, sizeof(player));
    collision->add_inData(tama_lv1, sizeof(tama1)*tama_lv1_end);
    collision->add_inData(tama_lv2, sizeof(tama2)*tama_lv2_end);
    collision->add_inData(&tlv3[0], sizeof(tama1));
    collision->add_inData(laser_lv1, sizeof(laser)*laser_lv1_end);
    collision->add_inData(&laser_lv2[0], sizeof(laser));
    collision->add_inData(laser_lv3, sizeof(laser)*128);
    collision->add_inData(&bchar[0], sizeof(bomchar));
    collision->add_inData(&p, sizeof(CHARACTER));
    collision->add_inData(&lg, sizeof(stge));
    collision->add_inData(&infg, sizeof(stge));

    collision->add_outData(&jiki, sizeof(player));
    collision->add_outData(tama_lv1, sizeof(tama1)*tama_lv1_end);
    collision->add_outData(tama_lv2, sizeof(tama2)*tama_lv2_end);
    collision->add_outData(&tlv3[0], sizeof(tama1));
    collision->add_outData(laser_lv1, sizeof(laser)*laser_lv1_end);
    collision->add_outData(&laser_lv2[0], sizeof(laser));
    collision->add_outData(laser_lv3, sizeof(laser)*128);
    collision->add_outData(&bchar[0], sizeof(bomchar));
    collision->add_outData(&p, sizeof(CHARACTER));
    collision->add_outData(&lg, sizeof(stge));
    collision->add_outData(&infg, sizeof(stge));

    collision->set_cpu(SPE_ANY);
    collision->spawn();

    return p;
}