view ps2util.h @ 116:ed702e49cc6c

conpile
author e085768
date Thu, 16 Jun 2011 04:05:33 +0900
parents 31dd5c07f7c1
children b6dc70f6aa7e
line wrap: on
line source

/* ps2util.h */

// 適当に数値当て:miya 
#define JOYPAD_1 1


#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(const char *filename);


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


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

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


//TEXTURE* read_png_file(const char *texname);
OBJECT* read_png_file(const char *texname);

//int ps2util_tex_Set(TEXTURE*);
int ps2util_tex_Set(OBJECT*);


//void ps2util_obj_Set_texture(OBJECT*, TEXTURE*);
void ps2util_obj_Set_texture(OBJECT*, OBJECT*);


void ps2_vu0_unit_matrix( FMATRIX );
void ps2_vu0_rot_matrix_y( FMATRIX , FMATRIX , float);

// マトリックス m0 にベクトル v1 を右から乗算して v0 に与える
//void ps2_vu0_apply_matrix(ps2_vu0_fvector v0, ps2_vu0_fmatrix m0, ps2_vu0_fvector v1)
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 ps2_vu0_copy_matrix(FMATRIX transfer, FMATRIX pose); // 一個目の引数がポインタだとコンパイル通らなかった。なんで?


//void ps2util_tex_Exclude( TEXTURE* t );

//void free_texture(TEXnTURE *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 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();

void ps2util_sprite_Draw();

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

void ps2util_graphic_Finish();

// title.cに書いてた
void ps2util_sprite_Use_alpha( ps2utilSprite *title );

#endif