view gSprite.h @ 153:0a375e9c4288 gongo tip

close
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 30 Jul 2011 14:45:21 +0900
parents d1ddd095ab03
children
line wrap: on
line source

#ifndef GSPRITE_H
#define GSPRITE_H

#include "Magoroku.h"

//+415.692169
#define TEST_Z_GRID -700 // とりあえず

// enum_SpriteNameの略
// 数値に意味が無いんだったら、普通に0から始めましょう
enum eSpName {
  TITLE	       = 10,
  SELECT       = 17,
  SP_METER     = 23,
  R_ARROW      = 24,
  L_ARROW      = 25,
  KM	       = 26, // Km/h
  RAP	       = 27,
  PLAYER_1     = 28,
  PLAYER_2     = 29,
  
  SELECT_CAR_1 = 51,
  SELECT_CAR_2 = 52,
  SELECT_CAR_3 = 53,
  
  SELECT_CORSE_1 = 81,
  SELECT_CORSE_2 = 82,

  /*
  CAR_ASURADA,
  CAR_KART,
  CAR_ASURADA_GSX,
  CAR_KURUMA,
  */
  CHOICE_CAR, // プレイヤーが選択した車.
  
  COURSE1_1,
  COURSE1_2,
  COURSE1_3,
  
  COURSE2_1,
  COURSE2_2,
  COURSE2_3,

  COURSE3_1,
  COURSE3_2,
  COURSE3_3,

  COURSE4_1,
  COURSE4_2,
  COURSE4_3,
  
  COURSE5_1,
  COURSE5_2,
  COURSE5_3,

  COURSE6_1,
  COURSE6_2,
  COURSE6_3,

  HIT_TEST,

  SP_TABLE_MAX_NUM // spTableの最大数+1になるはず
};



//スプライトの優先順位らしい ?
#define SPRITE_PRIO_FOREGROUND 1

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;
  int tex_id;  // for open gl

} SpriteTable;



// extern とってみたけど、なにか不都合ありますか?:miya
void gSprite_Init();
void gSprite_Draw_Reset();

void gSprite_PutSprite(bool ScreenPos,int number, int x, int y, int z);

void gSprite_PutSpriteEx(bool ScreenPos, int number, int x, int y, int z, float scalex, float scaley, float angle);


void gSprite_DefSprite(int number, const char *name, float w, float h, int color);

#endif

void flip();

// rootのポインターを返す
SceneGraphPtr getRootPtr( void );

/*
  float get_cameraPos(int n);
  n==0 retrun x
  n==1 return y 
  n==2 return z
  n==3 ?
*/
float get_cameraPos( int n );

// 引数の座標にカメラが追従する
void set_cameraPos( FVECTOR, FVECTOR );

void gSprite_PutObject(int number,OBJECT *obj);


// Viewer *drootにxmlファイルを追加
void call_createFromXMLfile( char *filename );

// createScenGraphe()する
/*
OBJECT* call_createSceneGraph( char *filename );
OBJECT* call_createSceneGraph( void );
*/

// テスト用関数
void cameraControl( void );