





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 Τߤͭǡ

	 ĤΥӥåȤ̵뤵롣





ʾ塣

