


2D ɽϻͰ


							Aug. 7, 2000 Ver.0.8
							Sep.27, 2000 Ver.0.9.5
							Oct.17, 2000 Ver.0.9.6
							Dec. 4, 2000 Ver.0.9.7
							 



  ܥɥȤϡ᥿륮å2 (ʲ MGS2) ΥץȤ߹
ȤȤ2D ɽϥƥλͤˤĤƽҤ٤뤳ȤŪȤ
Ǥ롣


---------------------------------------------------------------------------

* Index


1.0  ɽϳ

  1.1  
  1.2  ɸ
  1.3  ֥Ȥγز


2.0  2D ֥ȵǽ

  2.1  ֥ȼ

    2.1.1  ۥ֥(Empty)
    2.1.2  (Point)
    2.1.3  ʬ(Line)
    2.1.4  ޤ(LineStrip)
    2.1.5  Ĺ(Box)
    2.1.6  ӥåȥޥå(Sprite)
    2.1.7  гѻӥåȥޥå(Zoom Sprite)
    2.1.8  žӥåȥޥå(Spin Sprite)
    2.1.9  Ǥ4ĺӥåȥޥå(Poly)

3.0  2D ֥ȥ⥸塼ե

  3.1  ǡ

    3.1.1  SPR_FIX                   꾮
    3.1.2  SPR_COLOR		     RGBA
    3.1.3  SPR_TEX		     ƥ
    3.1.4  SPR_ID		     2D ֥ȼ ID
    3.1.5  SPR_PRI		     ץ饤ƥ
    3.1.6  SPR_POS		     ɸ
    3.1.7  SPR_RECT		     ΰ
    3.1.8  SPR_HEADER		     2D ֥ȴإå
    3.1.9  SPR_HEADER_EX	     2D ֥ȴإåĥ
    3.1.10 SPR_EMPTY		     ۥ֥
    3.1.11 SPR_POINT		     
    3.1.12 SPR_LINE		     ʬ
    3.1.13 SPR_LINESTRIP	     ޤ
    3.1.14 SPR_BOX		     Ĺ
    3.1.15 SPR_SPRITE		     ӥåȥޥå
    3.1.16 SPR_ZOOM		     гѻӥåȥޥå
    3.1.17 SPR_SPIN		     žӥåȥޥå
    3.1.18 SPR_POLY                  Ǥ4ĺӥåȥޥå
    3.1.19 SPR_OBJ                   2D֥ȥץߥƥִ¤



  3.2  ޥ

    3.2.1  SPR_FIXED                 ɸѸ꾮Ѵޥ
    3.2.2  SPR_FLAG_*                ɽ°
    3.2.3  SPR_SHOW                  2D֥ɽ
    3.2.4  SPR_HIDE                  2D֥ɽػ
    3.2.5  SPR_PIX_X / SPR_PIX_Y     ʪԥɸɽͤؤѴ
    3.2.6  SPR_PIX_X / SPR_PIX_Y     ɸͤʪԥɸͤؤѴ

  3.3  ץ।󥿥ե

    3.3.1  SPR_Init2D_ObjectDriver()       2D֥ȥɥ饤н
    3.3.2  SPR_Create_2D_Object()          2D֥
    3.3.3  SPR_Destroy_2D_Object()         2D֥˴
    3.3.4  SPR_LoadTexture()               ƥǡΥ
    3.3.5  SPR_KillTexture()               ƥǡγ
    3.3.6  SPR_ObjSetTexture()             ƥ
    3.3.7  SPR_SetColor*()                 /ʬ/Ĺο
    3.3.8  SPR_SetPos*()                   ɽɸ
    3.3.9  SPR_SetSize*()                  ɽ
    3.3.10 SPR_SetCenterSpin()             ž濴
    3.3.11 SPR_SetRollSpin()               žѻ
    3.3.12 SPR_SetLineStripVertexNumber()  ޤĺ
    3.3.13 SPR_SetPriority()               ץ饤ƥ


    
---------------------------------------------------------------------------

1.0  ɽϳ

  3D ΥˤƤ⡢桼󥿥ե濴Ȥʤʬ
  ɬפȤ뵡ǽ 2D ǤѤƤɽϤǤ롣

  MGS2 ˤƤϡԤΥƥˤƤ 2D ɽԤäƤ뤬
  νԤäƤսǤϡPS2  GS  DMA ѥåȤ
  Ƥꡢǥ󥰼ˡ줵Ƥ餺٤Ȥ
  褷ƤȻפ롣

  ܥ⥸塼ϸ¸ߤƥ⥸塼ѹ뤳Ȥʤɲä
  2D ɽϤɬפȤ⥸塼Фơ줵줿 2D ɽΥץ
  󥿥ե󶡤ΤǤ롣



  1.1  

    ܥ⥸塼ϡ¾Υץ⥸塼Ʊ͡MGS2 ץॷƥ
    Actor ȤƼ롣

    ܥ⥸塼Ѥ뤿Υإåե뤬󶡤졢ǲफ
    2D֥Ȥ򤢤魯¤ΤƤ롣

    ¤Τϡ 2D ֥ȤɬפȤ롢Ūʺ¤ξΤߤ
    DMAѥåΰʪŪϴޤޤʤ

    ⥸塼ˤä󶡤ؿƤ֤Ȥǡ桼׵ᤷ 2D 
    ֥Ȥι¤Τӡб DMA ѥåȤ롣

    ⥸塼¦ǤϤΤ褦ˤƺ줿 DMA ѥåΰƤ
    桼¦¤ΤƤȿǤե졼๹뤳Ȥǡºݤɽ
    Ԥ

    ιˤꡢ桼ϿѤι¤ΰƤѹ
    2D ɽԤȤǤκݤ DMA ѥåȤβùԤɤ
    񤯹ڸǤ롣

    ޤܥ⥸塼 Actor ȤƼ뤿ᡢΥץȤ
    ⤯ޤǽ񤫤줿ץ(餯)礹뤳Ȥʤ
    ư롣


	:

		     桼¦
		ץ⥸塼
			|
			|
			v
		+--------------+(ȿ) +-------------------------+
		|¤|- - - >|бDMAѥåȹ¤|--> DMAPACK
		+--------------+       +-------------------------+
			^				^
		   ƻ	|   +------------------------+	|ù
	    (ե졼)+---|2D֥ȥ⥸塼|--+(ե졼)
			    +------------------------+



  1.2  ɸ

    ܥ⥸塼ˤƴ 2D ֥ȤɽɸϤϡʲΤ褦
    ΤǤ롣


                 0      --->x                  512.0
		0 +----------------------------+
		  |                            |
		  |                            |
		| |                            |
		| |                            |
		v |                            |
		y |                            |
		  |                            |
		  |                            |
		  |                            |
	    384.0 +----------------------------+


     ɽΰ躸Ȥ¦ x y 
     Ȥ롣ɽΰκ򤽤줾 512.0, 384.0 Ȥ
     ɽɸ¿ɽɸϤǤ롣

     ȺɸͤȲ̥ԥ뤬̩бʤʤ뤬NTSC,PAL,
     VGAʪŪʲ٤˺ʤʤ뤿ᡢץܿݤ
     ǡιڸǤȻפ롣

     ͥΰˤƤϡκɸϤ2DɽɸϡפȤ
     ŬѤ롣ƥͥɽΰ躸Ȥ(512.0, 384.0)
     ȤɽԤ롣



  1.3  ֥Ȥγز

     ܥ⥸塼Ǥϡ2D ֥Ȥγز򥵥ݡȤ롣
     ֥Ȥγزˤäʣ 2D ֥ȤϢդ뤳Ȥǡ
     ΰִط2D֥Ȥά뤳ȤǤ롣

     ز줿֥Ȥϸߤ˿ƻҴطǷФ졢ƥ֥Ȥɽ
     °ɽ֤ҥ֥Ȥ˷Ѿ롣

     ҥ֥ȤѾƥ֥Ȥ°ϡʲλĤǤ롣

     1: ɽɸ

	ҥ֥Ȥϡɽ־ƥ֥ȤδФ
	кɸݻ롣Τᡢƥ֥Ȥɽ֤ѹ줿
	Ǥ⡢ƻҴطˤ륪֥ȤŪʰִطϰǤ롣


     2: ɽ°

	ܥ⥸塼ϡ֥Ȥɽ̤˵/ػߤ뵡ǽĤ
	륪֥Ȥɽػߤ줿硢λ¹Ȥƺ줿
	Υ֥Ȥɽػߤ롣

     3: ɽͥ

        륪֥ȤλҤȤƺ줿֥ȤͿ줿ɽ
	ͥϰ̣ƥ֥ȤɽƤͥ
	褵롣ɽͥϡƤʤǾ̤Υ֥Ȥ
	ФƤΤ̣߰ġ


     °Ѿ뤳ȤˤꡢʣΥ֥ȤĤοƤΤȤ
     롼ײĤΥ֥ȤǤ뤫Τ褦˰Ȥǽ
     롣

     

---------------------------------------------------------------------------

2.0  2D ֥ȵǽ

     ܥ⥸塼Ǥϡ2D֥Ȥɽʬषб
     Ǵ롣ܥ⥸塼ǰȤǤ 2D ֥Ȥʬ
     ޤĹӥåȥޥå(4)ȡۥ֥Ȥޤ9Ǥ롣


  2.1  ֥ȼ

       ܥ⥸塼ǰȤǤ2D ֥Ȥϰʲ5ˤʤ롣

    2.1.1  ۥ֥(Empty)

	 Υ֥Ȥϰڤȼʤɸɽ°Τߤ
	 ֥ȤǤ롣ز줿ƥ֥ȤȤ
	 ҤȤƴϢդ줿ϢΥ֥Ȥδɸ֥ȤȤ
	 Ѥ뤳ȤꤷƤ롣


    2.1.2  (Point)

	 Ǥպɸˡꤵ줿 RGB ͤ褹롣


    2.1.3  ʬ(Line)

	 Ǥ2ʬ褹롣

    2.1.4  ޤ(LineStrip)

	 ʣκɸϢ³Ʒޤ褹


    2.1.5  Ĺ(Box)

	 ꤵ줿2гѤȤƻĹΥ饤褹롣
	 

    2.1.6  ӥåȥޥå(Sprite)

	 ̺ɸϤˤǤ򺸾Ȥơꤷӥåȥޥåפ̾
	 ɽ롣ɽġγΩƻꤹ뤳ȤǤ롣
	 ɽλϡɽΰȹ⤵Ф뷸(¿)ǻꤹ롣


    2.1.7  гѻӥåȥޥå(Zoom Sprite)

    	 ӥåȥޥåפκȱĺɸǤդ˻Ǥӥåȥޥåס


    2.1.8  žӥåȥޥå(Spin Sprite)

	 ӥåȥޥåפǤ濴Ȥ٤žɽ
	 롣ɽ֤ϲž濴֤̺ɸǻꤹ롣
	 ɽλϥӥåȥޥåפƱ

	 ʤž濴ȤʤϡӥåȥޥåפγˤäƤɤ



    2.1.9  Ǥ4ĺӥåȥޥå(Poly)

	 ӥåȥޥåפ4Ĥĺб̺ɸϾˤɸǤդ
	 ꤷ4ĺ4鹽ͳѷη˥ӥåȥޥå
	 ѷɽ롣


---------------------------------------------------------------------------

3.0  2D ֥ȥ⥸塼ե

     ʲǤϡܥ⥸塼˴ޤޤޥ¤ΡؿˤĤƲ⤹롣

  3.1  ǡ

    3.1.1  SPR_FIX                   꾮

	   typedef int SPR_FIX;

	 Τ int  bit0bit3 򾮿Ȥbit4ʾ
	 ư GS κɸͤƥ UV ͻȤʤͤ
	 롣

	 ⥸塼λ;塢ɸ float ǻꤹ뤿ᡢ桼ľ
	 륱Ϥޤʤ


    3.1.2  SPR_COLOR		     RGBA

	   typedef struct SPR_COLOR {
	     unsigned char r, g, b, a;
	   } SPR_COLOR;
    
	 ʬ褹ݤοꤹ롣迧 RGB ͤȥեͤ
	 äƻꤵ롣

    
    3.1.3  SPR_TEX		     ƥ

	   typedef struct SPR_TEX {
	     SPR_FIX      u, v;
	     SPR_FIX      w, h;
	     int          flags;
	     int          pabe;   /* PABE 쥸ž */
	     DG_TEX     * dgtex;
	   } SPR_TEX;

	 ӥåȥޥåפѤ 2D ֥ȤǻѤƥ
	 ̾ƥȤ߹ޤ줿 .tri ե뤫⥸塼
	 ؿѤꤹ뤿ᡢι¤Τξ桼뤳Ȥ
	 ޤʤ


    3.1.4  SPR_ID		     2D ֥ȼ ID

	   typedef enum {
	     SP_EMPTY,	   /* ۥ֥ */
	     SP_POINT,     /*                */
	     SP_LINE,      /* ʬ             */
	     SP_LINESTRIP, /* ޤ           */
	     SP_BOX,       /* Ĺ           */
	     SP_SPRITE,    /* ӥåȥޥå */
	     SP_ZOOM,      /* гѻӥåȥޥå   */
	     SP_SPIN,      /* žӥåȥޥå           */
	     SP_POLY       /* Ǥջĺӥåȥޥå     */
	   } SPR_ID;

	 2D ֥Ȥμ̤򤢤魯 ID͡



    3.1.5  SPR_PRI		     ץ饤ƥ

    	   typedef int SPR_PRI;

	 2D֥ȤΥץ饤ƥͤ򤢤魯

	 2D֥Ȥϡƥͥ 07 Υץ饤ƥ
	 ͤ⤤褵롣



    3.1.6  SPR_POS		     ɸ

	   typedef struct SPR_POS {
	     float x;
	     float y;
	   } SPR_POS;

	 2D֥ȺɽϤˤɸͤ򤢤魯


    3.1.7  SPR_RECT		     ΰ

	   typedef struct SPR_RECT {
	     SPR_POS  begin;
	     SPR_POS  end;
	   } SPR_RECT;

	 begin  end Ǥ蘆ɸгѤȤ롢ΰɽ롣




    3.1.8  SPR_HEADER		     2D ֥ȴإå

	   typedef struct SPR_HEADER {
	     struct SPR_OBJ * parent;  /* ƥ֥         */
	     struct SPR_OBJ * child;   /* ҥ֥Ȥü   */
	     struct SPR_OBJ * next;    /* η索֥   */
	     struct SPR_OBJ * prev;    /* ľη索֥ */

	     SPR_ID       id;     /* 2D֥ȼȽ ID ե */
	     SPR_PRI      pri;    /* ץ饤ƥ                       */
	     int          chanl;  /* ɽͥ(root objectΤ̣߰)*/
	     int          flags;  /* γƼե饰                     */
	     unsigned long alpha; /* ALPHA 쥸 */
	     
	     /* DMA žѥѥ᥿ΰ */
	     DG_DMAPACK * dmapack;
	     void       * packet;
	   } SPR_HEADER;

	 Ƥ2D֥ȹ¤ΤƬ˥ФȤ빽¤Ρ
	 2D֥ȤδѾ礷ưι¤ñΤѤ
	 Ȥ̵

	 parent, child, next, prev ϡ2D֥ȤγزѤ
	 ݥ󥿤Ǥ롣parent Ͽƥ֥ȤΥݥ󥿡child ϻҥ
	 ȤΥ󥯳ϥݥ󥿤ǤꡢΥݥ󥿤Ǽ륪֥
	  next 򤿤ɤ뤳ȤˤäơƤλҤ򥢥뤳ȤǤ롣
	 next  prev ϡƱƤķ索֥ȤؤΥݥ󥿤Ȥʤ롣
	 鳬زݥ󥿤ϡNULL νü򤢤魯

	 ҥ֥ȤκɸϡοƤȤʤ륪֥Ȥˤִפ
	 кɸФ륪եåȤȤʤ롣

	 id ˤä2D֥Ȥμ(ʬetc.)̤졢
	 񤤤Ѥ롣

	 pri  2D ֥Ȥɽ̤ͥꤵ롣 GS Zͤ
	 ƱΤǤ롣

	 chanl  2D ֥ȤɽͥλǤ롣

	 flags  2D֥ɽκݤγƼ°ꤵ졢°˱
	 ξɽԤ

	 dmapack  packet ϡ 2D ֥Ȥб DMA ѥåȤ
	  Actor Ѥݥ󥿤Ǥꡢ2D֥ȹ¤Τ
	 ݥ󥿤ȤϿؿƤ֤Ȥͤꤹ롣桼
	 Υݥ󥿤ƤϤʤʤ


    3.1.9  SPR_HEADER_EX	     2D ֥ȴإåĥ

	   typedef struct SPR_HEADER_EX {
	     SPR_HEADER      head;
	     SPR_TEX         tex;
	   } SPR_HEADER_EX;

	 ӥåȥޥåƥѤ 2D ֥Ȥ˻Ѥ
	 ɲäإå


    3.1.10 SPR_EMPTY		     ۥ֥

           typedef struct SPR_EMPTY {
	     SPR_HEADER  head;   /* ǡ */  
	     SPR_POS     pos;    /* ɸ     */
	   } SPR_EMPTY;

	 ɽϲ褵ʤ2D֥ȡɸΤߤ
	 ĺƥڻʤ

	 ز֥Ȥˤ롢ƥ֥ȤȤƻѤ뤿
	 ߤƤ롣


    3.1.11 SPR_POINT		     

	   typedef struct SPR_POINT {
	     SPR_HEADER  head;   /*  */
	     SPR_POS     pos;    /* ɸ   */
	     SPR_COLOR   col;    /*    */
	   } SPR_POINT;

	 pos Ǽɸˡcol ǻꤵ뿧褹롣
	 ҥ֥ȤФƤϡ(x, y) ˤʤ롣


    3.1.12 SPR_LINE		     ʬ

	   typedef struct SPR_LINE {
	     SPR_HEADER  head;         /*            */
	     SPR_POS     pos[2];       /* ɸ() */
	     SPR_COLOR   col[2];       /* () */
	   } SPR_LINE;

	 pos[0] ǤϤޤꡢpos[1] ǽʬ褹롣
	 ʬο col[0]col[1] ǻꤵ졢줾줬б롣
	 δ˾ȤƤʬο齪ޤǥ֤
	 ܺ٤̤ꡣ

	 ҥ֥ȤФƤϡpos[0] Ȥʤ롣


    3.1.13 SPR_LINESTRIP	     ޤ

	   typedef struct SPR_LINESTRIP {
	     SPR_HEADER          head;   /* ǡ           */
	     int                 pcnt;   /* ĺο             */

	     /* ĺȤοΥꥹ */
	     struct spr_lstrip_pos {
	       SPR_POS   pos;    /* ĺɸ */
	       SPR_COLOR col;    /* ĺο */
	     } * plist;
	   } SPR_LINESTRIP;

	 plist[0].pos  plist[pcnt - 1].pos ޤǤĺʬǷ
	 ޤ(LineStrip) 褹롣ĺˤRGBAǽ

	 ֥ľĺ 0 ȤʤäƤꡢ褵ʤ
	 API ȤѰդ줿ؿƤ֤Ȥǡ֥Ȥĺꤵ졢
	 ĺΰ褬ݤ롣



    3.1.14 SPR_BOX		     Ĺ

	   typedef struct SPR_BOX {
	     SPR_HEADER    head;
	     SPR_RECT      rect;   /* ΰ   */
	     SPR_COLOR     col;    /*  */
	   } SPR_BOX;

	  rect Ϳ줿ΰդ˱äĹ褹롣


    3.1.15 SPR_SPRITE		     ӥåȥޥå

	   typedef struct SPR_SPRITE {
	     SPR_HEADER_EX head;        /*            */
	     SPR_POS       pos;         /* κɸ       */
	     float         dw, dh;      /* ɽΥ     */
	   } SPR_SPRITE;

	 pos ǻꤵ줿ɸ򺸾ȤơƥȤͿ줿
	 ӥåȥޥåפ dw, dh ǻꤵ줿ˤɽ롣

	 ҥ֥ȤФƤϡpos Ȥʤ롣

	 
    3.1.16 SPR_ZOOM		     гѻӥåȥޥå

	   typedef struct SPR_ZOOM {
	     SPR_HEADER_EX head;        /*  */
	     SPR_RECT      rect;        /* ΰ     */
	   } SPR_ZOOM;

	 rect ǻؼ줿ΰˡƥȤͿ줿
	 ӥåȥޥåפɽ롣
	 
	 ҥ֥ȤФƤϡrect.begin Ȥʤ롣

    
    3.1.17 SPR_SPIN		     žӥåȥޥå

	   typedef struct SPR_SPIN {
	     SPR_HEADER_EX head;         /*            */
	     SPR_POS       pos;          /* 濴ɽɸ       */
	     SPR_POS       center;       /* ž濴       */
	     float         dw, dh;       /* ɽ         */
	     float         spin;         /* ž             */
	   } SPR_SPIN;

	 ӥåȥޥå׺Ȥ center ǻꤵ줿濴Ȥ
	 spin ž򡢤βž濴 pos 褦
	 ɽ롣žѤϥ饸ǻꤷžϲ̾ˤ
	 ײȤʤ롣
	 
	 ҥ֥ȤФƤϡpos Ȥʤ롣



    3.1.18 SPR_POLY                  Ǥ4ĺӥåȥޥå

	   typedef struct SPR_POLY {
	     SPR_HEADER_EX head;            /*            */
	     SPR_POS       vert[4];         /* ĺɸ         */
	   } SPR_POLY;

	 tex Ǽƥ4Ĥĺvert[0]vert[3]
	 бѷɽ롣

	 ĺλϡƥκ夫ײ˳Ƥ롣

		0          1
		 +--------+
		 |        |
		 |        |
		 +--------+
		3          2

	 ҥ֥ȤФƤϡvert[0] Ȥʤ롣


    3.1.19 SPR_OBJ                   2D֥ȥץߥƥִ¤

	   typedef union SPR_OBJ {
	     SPR_HEADER    head;    /*        */
	     SPR_HEADER_EX ex_hd;   /* ĥإå     */
	     SPR_EMPTY     empty;   /*            */
	     SPR_POINT     point;   /*              */
	     SPR_LINE      line;    /* ʬ           */
	     SPR_LINESTRIP linestr; /* ޤ         */
	     SPR_SPRITE    sprite;  /*  */
	     SPR_ZOOM      zoom;    /* гѻ   */
	     SPR_SPIN      spin;    /* ž           */
	     SPR_POLY      poly;    /* 4ĺǤջ  */
	   } SPR_OBJ;


	 3.1.83.1.18 ޤǤ˲⤵줿2D֥Ȥ򡢶̤ηΥݥ
	 Ȥưι¤ݥ󥿷줹뤿Ǥ뤿ᡢ
	 ׻ˤι¤ΤѤƤϤʤʤ

	  SPR_POINTŪ˹äΤѤ뤳



  3.2  ޥ

    3.2.1  SPR_FIXED                 ɸѸ꾮Ѵޥ

	   SPR_FIXED(n)

	 n ͤʸ꾮(SPR_FIX)Ѵ롣
	 SPR_FIX ˤĤƤϡ3.1.1򻲾ȤΤȡ


    3.2.2  SPR_FLAG_*                ɽ°

	   SPR_FLAG_HIDDEN   ɽե饰
	   SPR_FLAG_PRIV     ø⡼ɽե饰
	   SPR_FLAG_H_REV    ʿȿž(ȿž)
	   SPR_FLAG_V_REV    ľȿž(岼ȿž)
	   SPR_FLAG_ALPHA    ե֥ǥͭ

	 spr_Prim ¤Τ flags Фꤹ°Υӥåͤ줿
	 ޥʣ°Ʊ˻¤뤳Ȥɽ
	 Ǥ롣

	 ǼƤΤ SPR_FLAG_HIDDEN, SPR_FLAG_ALPHA,
	 SPR_FLAG_PRIV λġ


    3.2.3  SPR_SHOW                  2D֥ɽ

	   SPR_SHOW(prim)

	 prim Ǽݥ󥿤ؤ2D֥Ȥɽ°򥯥ꥢ롣
	 ʸ塢оݤ 2D ֥Ȥ̤ȿǤ褦ˤʤ롣


    3.2.4  SPR_HIDE                  2D֥ɽػ

	   SPR_HIDE(prim)

	 prim Ǽݥ󥿤ؤ2D֥Ȥɽ°򥻥åȤ롣
	 ʸ塢оݤ 2D ֥ȤȡλҤȤƴϢդ
	 륪֥Ȥϲ̤ɽʤʤ롣



    3.2.5  SPR_PIX_X / SPR_PIX_Y     ʪԥɸɽͤؤѴ

	   SPR_PIX_X(chanl, x)
	   SPR_PIX_Y(chanl, y)

	 chanl ǻꤵ줿ɽͥˤԥɸ x ⤷ y 
	 ΥͥɽΰɸͤѴ롣

	  Υޥ¿ѤȡɽĶ¸ˤʤ뤿ա



    3.2.6  SPR_SCALE_X / SPR_SCALE_Y ɸͤʪԥɸͤؤѴ

	   SPR_SCALE_X(chanl, x)
	   SPR_SCALE_Y(chanl, y)

	 chanl ǻꤵ줿ɽͥˤɸ x ⤷ y 
	 ΥͥɽΰΥԥɸͤѴ롣



  3.3  ץ।󥿥ե

    3.3.1  SPR_Init2D_ObjectDriver()       2D֥ȥɥ饤н

	   void * SPR_Init2D_ObjectDriver(void)

	 2D֥ȥɥ饤ФΥ⥸塼ץϿ롣
	 δؿ¹ԤǤʤС2D ֥ȥɥ饤Фεǽ
	 Ѥ뤳ȤϤǤʤ

	 ͤȤơ2D֥ȥɥ饤ФѤƤ Work Υݥ󥿤
	 ֤Υݥ󥿤 GV_DestroyActor() ϤȤˤꡢ2D֥
	 ȥɥ饤мΤ˴뤳ȤǤ롣

	 ˴줿硢2D ֥ȥɥ饤Фϡ2D ֥Ȥ
	 DMAžߤϿƤ륪֥ȡDMAѥåΰ
	 Ƥ롣



    3.3.2  SPR_Create_2D_Object()          2D֥

	   SPR_OBJ * SPR_Create_2D_Object(SPR_ID id,
					  int chanl,
					  SPR_OBJ * parent)

		id       2D ֥ȤΥ
		chanl    2D ֥Ȥɽͥ
		parent  ƥ֥ȤȤ 2D ֥ȤΥݥ


	  ꤵ줿 2D ֥Ȥ롣
	  parent  NULL ꤵ줿硢ƤʤǾ̤Υ֥
	  롣



    3.3.3  SPR_Destroy_2D_Object()         2D֥˴

	   int SPR_Destroy_2D_Object(SPR_OBJ * obj)

	         obj   ˴ 2D ֥ȤΥݥ


	 ꤵ줿 2D ֥Ȥ˴ΰ롣



    3.3.4  SPR_LoadTexture()               ƥǡΥ

	   int SPR_LoadTexture(int code)

	         code   2D ֥ȤΥƥȤƻѤ
			.tri ե StrCode

	 code ǻꤵ줿 .tri եƤ2D ֥Ѥ
	 ƥȤϿ롣ꤷ .tri ̤뤿
	 ƥϥɥ֤顼ξ֤ͤ

	 ϿƤƥ㤬ꤵ줿ϡϿ줿
	 Ʊƥϥɥ֤



    3.3.5  SPR_KillTexture()               ƥǡγ

	   int SPR_KillTexture(int handle)

	         handle  SPR_KillTexture() ֤줿ƥϥɥ


	 SPR_LoadTexture() ؿꤵ줿ƥϿä롣
	 
	 ƥȤƥɤ롣ꤷ .tri ̤뤿
	 ƥϥɥ֤顼ξ֤ͤ

	 ʣ SPR_LoadTexture() Ԥ줿ƥФƻѤ
	 硢SPR_LoadTexture() ƤӽФƱƤФޤǡ
	 ƥϿäʤ



    3.3.6  SPR_ObjSetTexture()             ƥ

	   int SPR_ObjSetTexture(SPR_OBJ * obj, int code, int handle)

	         obj    ƥꤹ 2D ֥
		 code   Ѥƥ StrCode
		 handle Ѥ .tri Υϥɥ

	 SPR_LoadTexture() ǥɤ줿 .tri ˴ޤޤ롢code ǻꤵ줿
	 ƥ prim ΥƥȤƳƤ롣
	 .tri ϡSPR_LoadTexture() ֤줿ͤ handle ȤͿ뤳Ȥ
	 ̤롣


    3.3.7  SPR_SetColor*()                 /ʬ/Ĺο

	   int SPR_SetColorPoint(SPR_OBJ * point, int r, int g, int b, int a)
	   int SPR_SetColorLine(SPR_OBJ * line,
				int p, int r, int g, int b, int a)
	   int SPR_SetColorLineStrip(SPR_OBJ * lstrip,								     int p, int r, int g, int b, int a)
	   int SPR_SetColorBox(SPR_OBJ * box, int r, int g, int b, int a)

		 point    ꤹ֥
		 line     ꤷʬ֥
		 lstrip   ꤷޤ֥
		 box      ꤷĹ֥
		 p        ʬˤƿꤷֹ(0: / 1:)
		 r,g,b,a  RGBAͤγʬ

	 ʬĹ֥Ȥοꤹ롣



    3.3.8  SPR_SetPos*()                   ɽɸ

	   int SPR_SetPosEmpty(SPR_OBJ * empty, SPR_POS * pos)
	   int SPR_SetPosPoint(SPR_OBJ * point, SPR_POS * pos)
	   int SPR_SetPosLine(SPR_OBJ * line, SPR_POS * begin, SPR_POS *end)
	   int SPR_SetPosLineStrip(SPR_OBJ * lstrip,
				   int base, int num, SPR_POS * pos)
	   int SPR_SetPosBox(SPR_OBJ * box, SPR_RECT * rect) 
	   int SPR_SetPosSprite(SPR_OBJ * sprite, SPR_POS * pos)
	   int SPR_SetPosZoom(SPR_OBJ * zoom, SPR_RECT * rect)
	   int SPR_SetPosSpin(SPR_OBJ * spin, SPR_POS * pos)
	   int SPR_SetPosPoly(SPR_OBJ * poly, SPR_POS * pos)

	         empty    ۥ֥
		 point    ֥
		 line     ʬ֥
		 lstrip   ޤ֥
		 sprite   ӥåȥޥåץ֥
		 zoom     гѻӥåȥޥåץ֥
		 spin     žӥåȥޥåץ֥
		 poly	  Ǥ4ĺӥåȥޥåץ֥
 
		 pos      ɸ򤢤魯 SPR_POS Υݥ
			   SPR_SetPosPoly() ξϡĺ4ʬ
			     SPR_POS ¤Τؤݥ󥿡

		 rect     ΰ򤢤魯 SPR_RECT Υݥ
		 begin    ɸ򤢤魯 SPR_POS Υݥ
		 end      ɸ򤢤魯 SPR_POS Υݥ

		 base     ɸꤹĺκǽĺֹ
		 num      ɸꤹĺο


	 ֥Ȥκɸꤹ롣ƥ֥ȤʤǾ
	 ֥Ȥϲ̺ɸƤĥ֥ȤϡƤδФ
	 кɸǻꤹ롣



    3.3.9  SPR_SetSize*()                  ɽ

	   int SPR_SetSizeSprite(SPR_OBJ * sprite, float w, float h)
	   int SPR_SetSizeSpin(SPR_OBJ * spin, float w, float h)

	         sprite   ӥåȥޥåץ֥
		 spin     žӥåȥޥåץ֥
		 w        ɽ
		 h        ɽι⤵

	 ֥Ȥβ̾ˤɽꤹ롣



    3.3.10  SPR_SetCenterSpin()             ž濴

	   int SPR_SetCenterSpin(SPR_OBJ * spin, SPR_POS * center)

	         spin     žӥåȥޥåץ֥
		 center   ž濴Ȥ롢ӥåȥޥå׶夫
			  եåȺɸ

	 žӥåȥޥåץ֥ȤΡž濴ꤹ롣
	 ž濴־֤ˤ뺸кɸǻꤷ
	 ӥåȥޥå̤γ¦֤뤳ȤǽǤ롣



    3.3.11 SPR_SetRollSpin()               žѻ

	   int SPR_SetRollSpin(SPR_OBJ * spin, float roll)

	         spin     žӥåȥޥåץ֥
		 roll     βž(ñ: 饸)


	 žӥåȥޥåץ֥ȤβžѤꤹ롣



    3.3.12 SPR_SetLineStripVertexNumber()  ޤĺ

	   int SPR_SetLineStripVertexNumber(SPR_OBJ * lstrip, int num)

	         lstrip   ޤ֥
		 num      ޤĺ

	 ޤ֥Ȥĺꤹ롣
	 δؿĺꤹ뤳Ȥǡĺΰ褪 DMA ѥåȤ
	 ݤ롣

	 ĺꤷƤޤ֥ȤФѤ硢
	 ŤĺΤ DMA ѥåȤ˴졢ĺΰ褪
	 DMA ѥåΰ褬ݤ롣

	 κݡĺϿĺΰ˼ޤ¤¸롣
	 Ťĺĺ¿ϡϤ߽ФʬڤΤƤ졢
	 ĺΤۤ¿СޤĺΰƤȤʤ롣


    3.3.13 SPR_SetPriority()               ץ饤ƥ

	   int SPR_SetPriority(SPR_OBJ * obj, SPR_PRI pri);

	         pri     ץ饤ƥ

	 2D ֥ȤΥץ饤ƥͤꤹ롣

	 ץ饤ƥͤϡpri ˻ꤵ줿Τβ3bit Τߤͭǡ
	 ĤΥӥåȤ̵뤵롣


ʾ塣
