view ps2util.h @ 95:b0249b856488

change_ps2util
author Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
date Thu, 26 May 2011 18:13:40 +0900
parents cb6c6de125dc
children 0b65ca27f113
line wrap: on
line source

#ifndef PS2UTIL_H
#define PS2UTIL_H


/*
  どう宣言したものか迷う orz
*/
#define ALIGN_16BYTE 64

#include "field.h"
#include "libps2.h"
#include "col.h"

OBJECT *ps2util_obj_Create_fromXML(char *filename);


/*
  ps2utilSprite...
  必要らしいので制作、あっているかは分からないし
  絶対にあっていない。
*/
typedef struct ps2sprite{
  SPRITE* attribute;
} ps2utilSprite;


/*
  引数の int はあっているかどうか知らないけど、
  引数として持ってこられるものの宣言があれだったので
  一応。
  bool もあるかもわからん
*/
void ps2util_obj_Set_effect(OBJECT*, int);

void ps2_vu0_copy_vector(FVECTOR , FVECTOR);
void ps2util_obj_Renew_transMatrix(OBJECT*);

TEXTURE* read_png_file(char *texname);
int ps2util_tex_Set(TEXTURE*);
void ps2util_obj_Set_texture(OBJECT*, TEXTURE*);
void ps2_vu0_unit_matrix(FMATRIX);
void ps2_vu0_rot_matrix_y(FMATRIX , FMATRIX , float);
void ps2_vu0_apply_matrix(FVECTOR , FMATRIX , FVECTOR );

void ps2_vu0_scale_vector(FVECTOR , FVECTOR , float );
void ps2_vu0_add_vector(FVECTOR , FVECTOR , FVECTOR );

void ps2_vu0_outer_product(FVECTOR rotaxis, FVECTOR car_vertical, FVECTOR yd);
float ps2_vu0_inner_product(FVECTOR yd, FVECTOR car_vertical);

void ps2_vu0_mul_matrix(FMATRIX pose1, FMATRIX yrot, FMATRIX pose2);
void ps2_vu0_copy_matrix(FMATRIX car_body_transfer, FMATRIX pose);

void ps2util_tex_Exclude(TEXTURE* t);


void free_texture(TEXTURE *tex);

void ps2util_obj_Free(OBJECT* p_body);



void ps2_vu0_sub_vector(FVECTOR o0, FVECTOR p, FVECTOR p0);
void ps2_vu0_normalize(FVECTOR colface_normal1, FVECTOR colface_normal2);
void xml_free(PolygonInfo xml);

void ps2util_obj_Draw(OBJECT *object);

void gSprite_Init();

void delete_name_dictionary(const char *string);

void ps2util_sprite_Destroy(ps2utilSprite *title_sprite);


void ps2util_sprite_Set_basicAttribute(ps2utilSprite *p,
	unsigned short x, unsigned short y,
	unsigned short sptable_tw1, unsigned short sptable_th1,
	unsigned short sptable_tx, unsigned short sptable_ty,
	unsigned short sptable_tw2, unsigned short sptable_th2,
	int sprite_prio_foreground);
void ps2util_sprite_Request(ps2utilSprite *p);

int ps2util_sprite_Create(ps2utilSprite *sp, TEXTURE *sprite_tex);
void ps2util_sprite_Unuse_alpha(ps2utilSprite *sp);
void ps2util_graphic_Init();

//ps2 依存関係の sprite.c より
inline void sprite_disappear( SPRITE *sprite );





#endif