view sgoex.h @ 0:01387a2e419e

initial version
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 07 Dec 2010 15:39:45 +0900
parents
children 6541f0bebb81
line wrap: on
line source


#define DEFOBJ    320		// sprite definition max num
#define MAXOBJ    320		// sprite drawing max num
#define BOOL      char		// define bool
#define TRUE      1		// TRUE value
#define FALSE     0		// FALSE value

/*PS2_PAD*/
#define PS2_CROSS 0
#define PS2_CIRCLE 1
#define PS2_SQUARE 2
#define PS2_TRIANGLE 3
#define PS2_L1 4
#define PS2_R1 5
#define PS2_L2 6
#define PS2_R2 7
#define PS2_START 8
#define PS2_SELECT 9
#define PS2_L3 10
#define PS2_R3 11

/*PS3_PAD*/
/*
#define PS2_CROSS 14
#define PS2_CIRCLE 13
#define PS2_SQUARE 15
#define PS2_TRIANGLE 12
#define PS2_L1 10
#define PS2_R1 11
#define PS2_L2 8
#define PS2_R2 9
#define PS2_START 3
#define PS2_SELECT 0
#define PS2_L3 1
#define PS2_R3 2
*/

typedef struct SGO_PAD {
    short up;
    short down;
    short right;
    short left;
    short k0;
    short k1;
    short k3;
    short k4;
    short r1;
    short r2;
    short r3;
    short l1;
    short l2;
    short l3;
    short se;
    short st;

    // 勝手に付けた
    short quit;
} SGO_PAD;

typedef struct SpriteView {
    int x;
    int y;
    BOOL extend;
    short scalex;
    short scaley;
    long rotate;
    int no;
} SpriteView;

typedef struct SpriteTable {
  short dx;
  short dy;
  short w;
  short h;
  short mx;
  short my;
  int color;
  int page;
  int tex_w;
  int tex_h;
  int *texture;
} SpriteTable;

//extern GsSPRITE sprite[MAXOBJ];
extern SpriteTable sptable[DEFOBJ];


void Ginit();
void Gfinish(void);
void Gdraw(void);
void *init_png(char *png_file);
void PutSprite(int zorder, short x, short y, int number);
//void PutSprite();
void DefSprite(int number, char *name, float w, float h, int color, OBJECT *obj);
void DefSpriteEx(int number, short middlex, short middley);
void sound_init(void);
void view_init(int p);
void view_move(int x, int y, int z, int rx, int ry, int rz);
void model_init(int model_no, unsigned long *dop, int m1_x, int m1_y,
		int m1_z, int m2_x, int m2_y, int m2_z);
char xml_model_init(int model_no, void *template_obj, int m1_x, int m1_y,
		    int m1_z, int m2_x, int m2_y, int m2_z);
void m2move(int model_no, int x, int y, int z, int rx, int ry, int rz);
void PutPolygon(int number);
void PutSpriteEx(int number, int x, int y, float scalex, float scaley, float angle);
//void PutSpriteEx(int zorder, short scalex, short scaley, long rotate);

void sgoex_ps2_Set_camera(void);
void sgoex_ps2_Put_sprite(int num, float x, float y);
char sgoex_ps2_Create_sprites(void);
char sgoex_ps2_Init_xmlCube(char *redCube_file,
			    char *blueCube_file,
			    char *greenCube_file, char *yellowCube_file);
char sgoex_ps2_Init_xmlFloor(char *file_name);
void *sgoex_ps2_Get_redCube(void);
void *sgoex_ps2_Get_blueCube(void);
void *sgoex_ps2_Get_greenCube(void);
void *sgoex_ps2_Get_yellowCube(void);
void *sgoex_ps2_Get_xmlFloor(void);
void xml_floor_Finish(void);


/* Joypad - Below member are implemented in sgoex_ps2.c */
extern SGO_PAD pad[2];
//void Pad(void);
void Pad();
void keybord();
//void Pad1(SGO_PAD * padls);
//void Pad2(SGO_PAD * padls);

//void GsSortBoxFill(GsBOXF * bp, GsOT * otp, unsigned int pri);

/* dummies */
// void init_tim( int tim_addr );