/*

    effect.txt                                             

    Metal Gear Solid 2 - SONS OF LIBERTY-                

    եȻͥ                                   

    2001/10/25 Masafumi Okuta                            

    $Id: effect.txt,v 1.1.1.3 2002/11/19 11:48:11 Yoshizawa1 Exp $                                                 

*/



եѤΥɷ



kmdanna.c 

    ʵʾޤǤΥեȤô

    ˤĤ⤷ϥ饯Ⱦʵեorʵե

    (ѤȽꤢ)ƥ鼫Ȥ˴



        InScreen( FVECTOR *pos );

            ˻ꤵ줿֤Ϥ뤫ɤȽꤹ



        KMMDannaCallBack( TARGET* off,    // ¦

                          TARGET* def,    // ɸ¦

                          void*   work);   // ʵ

            ʵտ路⥿å(¦äȤˤʤʤTHROUGH°)

            ɸ楿åȤä˸ƤӽФ륳Хåؿ

        

        CheckTarget( Work* work );

            ȤȽꤹ٤ι⥿åȤ



        UpdatePacket( DG_PRIM2*	prim,        // ץߥƥ֥

                      FVECTOR* 	pvecCenter,  // 濴

                      FVECTOR*  pvecVertTop, // ĺǡƬ

                      SVECTOR*  psvecRot,    // žǡ

                      float     size);       // 

            ץߥƥֹ



        Act( Work* work );

            ưؿ



        Die( Work* work );

            ˴ؿ

        

        InitPacket( DG_PRIM2* prim,        // ץߥƥ֥

                    DG_TEX*   tex,         // ƥ

                    long64    tagAlpha,    // 

                    int	      nRGBA,       // 

                    FVECTOR*  pvecCenter,  // 濴

                    FVECTOR*  pvecVertTop, // ĺǡƬ

                    SVECTOR*  psvecRot,    // žǡ

                    int       nRaise,      // Zͥ

                    float     size,        // 

                    float     speed );     // ž        

            ץߥƥ֥ѥåȽ



        GetResources( Work*    work,          // 

                      FVECTOR* pvecInitPos ); // ȯ

            ؿ



        NewKamomeDanna( FVECTOR* pvecInitPos )	// ȯ

            ʵƽдؿ



kmdnnfloor.c 

    ˤĤʵ

    NewKamomeDanna줿ʵ餬륨եȡ

    η˹碌ʵեȤĤ롣

    (Υϥɥ˹碌X,ZӤŬˤƤΤǼФϤϤߤǤޤ)



        CalcDirVecXY( FVECTOR *from,   // 

                      FVECTOR *to,     // 

                      SVECTOR *rot );  // žǡ

            fromtoظ٥ȥX,Yžǡ



        CalcFloorRotate( Work*    work,

                         HZX_FLR* floor,    // ϥɥǡ

                         FVECTOR* pvecMove, // ư

                         SVECTOR* pvecRot); // žǡ

            ݥꥴեˡ



        UpdatePacket( DG_PRIM2* prim,       // ץߥƥ֥

                      FVECTOR*  pvecCenter, // 濴

                      FVECTOR*  pvecMove,   // ݥꥴ

                      FVECTOR*  pvecBound,  // Х

                      SVECTOR*  psvecRot,   // žǡ

                      float     size,       // 

                      int       nAlpha);    // ե

            Υץߥƥ֥

        

        UpdatePacket2( DG_PRIM2* prim,       // ץߥƥ֥

                       FVECTOR*  pvecCenter, // 濴

                       FVECTOR*  pvecMove,   // ݥꥴ

                       FVECTOR*  pvecBound,  // Х

                       SVECTOR*  psvecRot,   // žǡ

                       float     size,       // 

                       int       nAlpha);    // ե

            ץߥƥ֥ 

        

        UpdateAlpha( DG_PRIM2*   prim,       // ץߥƥ֥

                     int         nAlpha);    // ե 

            ե͹

                

        Act( Work* work );

            ưؿ



        Die( Work* work );

            ˴ؿ

        

        InitPacket( DG_PRIM2* prim,         // ץߥƥ֥

                    DG_TEX*   tex,          // ƥ

                    long64    tagAlpha,     // 

                    int       nRGBA,        // 

                    FVECTOR*  pvecCenter,   // 濴

                    FVECTOR*  pvecVertTop,  // ĺǡƬ

                    SVECTOR*  psvecRot,     // žǡ

                    int       nRaise,       // Zͥ

                    float     size,         // 

                    float     speed );      // ž        

            Υץߥƥ֥

        

        InitPacket2( DG_PRIM2* prim,        // ץߥƥ֥

                     DG_TEX*   tex,         // ƥ

                     long64    tagAlpha,    // 

                     int       nRGBA,       // 

                     FVECTOR*  pvecCenter,  // 濴

                     FVECTOR*  pvecVertTop, // ĺǡƬ

                     SVECTOR*  psvecRot,    // žǡ

                     int       nRaise,      // Zͥ

                     float     size,        // 

                     float     speed );     // ž        

            ץߥƥ֥

        

        GetResources( Work*     work,           // 

                      FVECTOR*  pvecInitPos,    // ȯ

                      FVECTOR*  pvecBoundary);  // ʿ        

            ؿ



        NewKamomeDannaFloor( FVECTOR* pvecInitPos,   // ȯ

                             FVECTOR* pvecBoundary); // ʿ

            ʵեȸƽ



kmdnncam.c 

    ˤĤʵ

    NewKamomeDanna줿ʵ餬ץ쥤䡼ѥä륨եȡ

    ߷ĺ֤ƥ˿Ф򤷤Ƥ롣(䤬ƸǤޤưʤʤ)

    ѤϤ˴



        Act( Work* work );

            ưؿ



        Die( Work* work );

            ˴ؿ

        

        InitPacket( DG_PRIM2* prim,        // ץߥƥ֥

                    DG_TEX*   tex,         // ƥ

                    int       nFlag);      // Zͥ

            ץߥƥ֥ѥåȽ



        GetResources( Work*    work,          // 

                      FVECTOR* pvecCenter,    // ȯ

                      int      nLife);        // ¸߻

            ؿ



        NewKamomeDannaCamera( FVECTOR* pvecCenter, // 濴

                              int      nLife);     // ɽ

            ʵեȸƽ



kmfeather.c 

    α

    ᤬Ф᡼˽ФΥեȡ

    co-modelѤƤ롣ϡϡϤαƶʤեե롣

    ȤȽ(YͤΤߤȽ)򤪤ʤäƾ˱äư򤹤(ɤ̵)



        KMF_GetRandom( int* pnSeed, int min, int max);

            ॷɸ귿( min  max)



        KMF_Rand( int* pnSeed, int a);

            ॷɸ귿( 0  a)



        KMF_Rnd( int* pnSeed);

            ॷɸ귿( 0.f  1.f)



        DbgDumpExecTime( int nTime);

            ɽ



        KMF_InsertList( Work* pwork);	

            ꥹȤɲ



        KMF_RemoveList( Work* pwork);	

            ꥹȤ鳰



        KMF_GetListNum( void );

            ꥹϿ



        FloorToBoundary( HZX_FLR *flr, FVECTOR *fv );

            ե󤫤Хɾ



        Act( Work* work );

            ưؿ



        Die( Work* work );

            ˴ؿ

        

        GetResources( Work*     work,       // 

                      FVECTOR*  pvecCenter, // 濴

                      FVECTOR*  pvecForce,  // 

                      int       nNum,       // 

                      int       nRandSeed); // ॷ

            ؿ

        

        NewKamomeFeather( FVECTOR* pvecCenter,  // 濴

                          FVECTOR* pvecForce,   // 

                          int      nNum,        // 

                          int      nRandSeed);  // ॷ        

            եȸƽ



parfeather.c 

    α

    αեȤžѤǥǥб

      

powspplit.c 

    Ÿѥͥǥ饤

    ǥץ饤

        Act( Work* work );

            ưؿ



        Die( Work* work );

            ˴ؿ

        

        InitPacket( DG_PRIM2* prim,        // ץߥƥ֥

                    DG_TEX*   tex,         // ƥ

                    int       nFlag);      // Zͥ

            ץߥƥ֥ѥåȽ



        GetResources( DG_PRIM2* prim,       // ץߥƥ֥

                      DG_TEX*   tex,        // ƥ

                      long64    tagAlpha,   // 

                      int       nRGBA,      // 

                      FVECTOR*  pvecCenter, // 濴

                      int       nRaise,     // Zͥ

                      float     fSize );    // 

            ؿ

        

namedetect.c 

    ɥå̾ɽǽ

    פǥƤˢܥ򲡤ĤŤȥɥåŨʼ̾ɽ뵡ǽ

    ޥ͡ϿƤסPS2¢פȥɥåפHappy BirthdayǤ롣



        SetActFunc( Work* work, NDETECT_ACTFUNC actfunc);

            ưؿ



        MonthToDay( int year, int month); 

            ǯ餽ηޤǤ뤫



        NDETECT_InsertList( Work* pwork);

            ޥ͡ɲ



        NDETECT_RemoveList( Work* pwork);

            ޥ͡㤫鳰



        MergeList( Work* a, Work* b);

            ⤵򥭡ˤabޡ



        MergeSortList( Work* x);

            ⤵򥭡ˤΤޡ



        ConvBCD2Day( int* pnYear,  // ǯ

                     int* pnMonth, // 

                     int* pnDay,   // 

                     int  nBCDp);  // BCD

            BCD(0xYYYYMMDD)ǯ򤽤줾ʬ



        ConvByteBCD2Time( u_char ucByte);

            byteñ̤BCD֤̾ľ



        UpdateDate( NDetectManager* ndmng);

            չ



        PosToRet(Work *work, OBJECT* pbody);

            ƩѴ



        InScreen( FVECTOR* ret);

            å



        GetAlpha( Work* work);

            ѥåɤξ֤饢եͤ



        UpdatePoint( Work* work);

            ֹ



        ChickBirthDay(Work *work);

            å򤷤ƳХåɽ



        PrintScreen(Work *work);

            ̾ɽ



        NDT_ActFunc( Work *work);

            ꤵ줿ɥåưؿ

            

        NDT_DieFunc( Work *work);

            ꤵ줿ɥå˴ؿ

            

        Act( NDetectManager* ndmng);

            ޥ͡ưؿ



        Die( NDetectManager* ndmng);

            ޥ͡˴ؿ



        InitNDetect( Work*   work,        

                     OBJECT* body,        // ɥåݻԤΥǥ

                     OBJECT* bodyLod1,    // ɥåݻԤΥǥ[LOD 1]

                     OBJECT* bodyLod2,    // ɥåݻԤΥǥ[LOD 2]

                     char*   str,         // ̾

                     int     tagID,       // ɥåֹ

                     int     nBirthday);  // 

            ؿ



        NewNamePrint( OBJECT*  body, 

                      char*    str,

                      int      tagID,

                      int      nBCD);

            Ͽؿ



        NewNamePrint4Lod( OBJECT* body,

                          OBJECT* bodyLod1,

                          OBJECT* bodyLod2,

                          char *str,

                          int tagID,

                          int nBCD);

            LODбϿؿ



        GetResources( NDetectManager* ndmng);

            ޥ͡ؿ



        NDETECT_Remove( void* pvNDetect);

            鳰٤δؿ



        NewNamePrintManager( int name, int where);

            ޥ͡ؿ



wormcorpse.c 

    ˤĤդʤषλ೼

    ʵΥȤäƺ

        

wdustmng.c 

    楴ߥޥ͡

    waterdust.cο楴ߥ륭

 

        UpdateViewList( WDUST_MNG *work );

            ɽι

            

        UpdatePlayerDataDummy( WDUST_MNG* work );

            ץ쥤䡼δ֤ץ쥤䡼ʤΥߡ(ǥ)

            äƤ



        UpdatePlayerData( WDUST_MNG* work );

            ץ쥤䡼δ֤



        GetPlayerPos( WDUST_MNG* work );

            ץ쥤䡼δ֤VU



        Act( WDUST_MNG *work );

            ưؿ



        Die( WDUST_MNG *work );

            ˴ؿ



        GetResources( WDUST_MNG* work, int name, int map );

            ؿ



        NewWaterDustManager( int name, int where );

            楴ߥޥ͡



waterdust.c 

    楴

        DbgDumpExecTime( int nTime);

            ַ¬



        LoadPlayerNodeData( WATERDUST* work );

            ץ쥤䡼δǡVU˥



        GetPlayerConvection( WATERDUST* work,        

                             float*     pfAffectDist, // ƶΥ

                             FVECTOR*   pvecConv,     // ƶ٥ȥ

                             FVECTOR*   pvecPos);     // 

            ץ쥤䡼αƶ٥ȥ򻻽



        Act( WATERDUST *work );

            ưؿ



        Die( WATERDUST *work );

            ˴ؿ



        InitPacket( WATERDUST*  work,		

                    DG_PRIM2*   prim,     // ץߥƥ֥

                    DG_TEX*     tex,      // ƥ

                    long64      tagAlpha, // 

                    int         nRGBA,    // 

                    int         nRaise);  // Zͥ

            ץߥƥ֥ѥåȽ



        GetResources( WATERDUST* work, int name, int map );

            ꥽ꡧʥꥪƽ

        

        GetResourcesProg( WATERDUST* work,     

                          int        name,     // ̾ID

                          int        map,      // ޥåID

                          int        nPrimNum, // ץߥƥֿ

                          FVECTOR*   pvecPos,  // 

                          FVECTOR*   pvecSize, // 

                          WDUST_MNG* wdmng,    // 楴ߥޥ͡

                          int        nIndex);  // ֹ̤

            ꥽ꡧץƽ



        NewWaterDust( int name, int where );

            楴߸ƽСʥꥪ



        NewWaterDustProg( int           name,

                          int           where,    // ̾ID

                          int           nPrimNum, // ץߥƥֿ

                          FVECTOR*      pvecPos,  // 

                          FVECTOR*      pvecSize, // 

                          WDUST_MNG*    wdmng,    // 楴ߥޥ͡

                          int           index);   // ֹ̤

            楴߸ƽСץ

        

maoparticle.c 

    ѥѡƥ



        Act( Work* work );

            ưؿ



        Die( Work* work );

            ˴ؿ



        InitPacket( DG_PRIM2*   prim,      // ץߥƥ֥

                    DG_TEX*     tex,       // ƥ㥿

                    long64      tagAlpha,  // ALPHA

                    int         nRGBA,     // RGBA

                    FVECTOR*    pvecPos,   // ֥ǡؤΥݥ

                    float*      pfSize,    // ǡؤΥݥ

                    int*        pnRadAng,  // žǡؤΥݥ

                    int         nRaise,    // ͥ

                    int         nRandSeed, // ॷ

                    int         nPrimNum,  // ץߥƥֿ

                    int         nVertNum); // ĺ

            ץߥƥ֥ѥåȽ



        GetResources( Work*      work,       // 

                      int        nRandSeed,  // ॷ

                      FMATRIX*   pmatOrg,    // ȯɸ

                      int        nPrimNum,   // ȯ

                      int        nVertNum,   // ĺ

                      int        nLifeMin,   // ¸ֺǾ

                      int        nLifeMax,   // ¸ֺ

                      int        nAng,       // ϰ

                      float      fInitSpd,   // ®

                      float      fAimSpd,    // ɸ®

                      float      fGravity,   // 

                      float      fInitSize,  // 

                      float      fAimSize,   // ɸ

                      int        texcode,    // ƥ㥳

                      int        nInitRGBA,  // RGBA

                      int        nAimRGBA,   // ɸRGBA

                      float      fRandRate,  // 

                      int        nFlag);     // ĥե饰

            ؿ

        

        NewMAOParticle( int      nRandSeed,   // ॷ

                        FMATRIX* pmatOrg,     // ȯɸ

                        int      nPrimNum,    // ȯ

                        int      nVertNum,    // ĺ

                        int      nLifeMin,    // ¸ֺǾ

                        int      nLifeMax,    // ¸ֺ

                        int      nAng,        // ϰ

                        float    fInitSpd,    // ®

                        float    fAimSpd,     // ɸ®

                        float    fGravity,    // 

                        float    fInitSize,   // 

                        float    fAimSize,    // ɸ

                        int      texcode,     // ƥ㥳

                        int      nInitRGBA,   // RGBA

                        int      nAimRGBA,    // ɸRGBA

                        float    fRandRate,   // 

                        int      nFlag);      // ĥե饰

            ѥѡƥƽ



waterfall.c 

    ѥפή

        CheckMessage( Work* work );

            å



        ResetPos( Work*                work, 

                  FVECTOR*             pvecPos,   // 

                  FVECTOR*             pvecDir,   // 

                  float*               pfSpeed,   // 

                  float*               pfSize,    // 

                  DG_PRIM2_UVRGBWH*    uvrgbwh);  // 

            



        ResetBodyPos( Work*     work, 

                      FVECTOR*  pvecPos,     //  

                      FVECTOR*  pvecDir,     // 

                      float*    pfSpeed,     // 

                      float*    pfSize);     // 

            ήν



        GetFreeBubble( Work* work);

            ̤ˢǥå



        ActBubble( Work* work);

            ˢưؿ

        

        ActRingBody( Work*       work, 

                     int         nNum,       // 

                     DG_PRIM2*   prim_add,   // 

                     DG_PRIM2*   prim_sub,   // 

                     FVECTOR*    pvecPos,    // 

                     FVECTOR*    pvecDir,    // 

                     float*      pfSpeed,    // 

                     float*      pfSize,     // 

                     short*      pnDelay,    // 

                     float       fRad,       // 

                     float       fHeight);   // 

            ưؿ



        Act( Work* work );

            ưؿ

        

        Die( Work* work );

            ˴ؿ

        

        InitPacket( Work*        work,     

                    DG_PRIM2*    prim,     // ץߥƥ֥

                    DG_TEX*      tex);     // ƥ㥿

            ץߥƥֽ



        InitPacketBody( Work*     work,       

                        DG_PRIM2* prim_add,   // û

                        DG_PRIM2* prim_sub,   // 

                        DG_TEX*   tex);       // ƥ㥿

            ήΥץߥƥֽ

        

        GetResources( Work*   work,           // 

                      int     name,           // ̾ID

                      int     map);           // ޥåID        

            ؿ

        

        NewWaterFall( int name, int map );    

            ѥפή

        

waterbubble.c 

    ˢ

        CheckMessage( Work* work );

            åå



        Act( Work *work );

            ưؿ



        Die( Work *work );

            ˴ؿ



        InitPacket( Work*     work, 	 

                    DG_PRIM2* prim,	

                    DG_TEX*   tex, 	

                    int       color);        

            ץߥƥֽ



        GetResources( Work*    work, 

                      int      name,

                      FVECTOR* pvecRefer, 

                      short*   pnLife, 

                      int      nReferNum, 

                      int      col);

            ؿ



        NewWaterBubble( int      name,

                        FVECTOR* pvecRefer, 

                        short*   pnLife, 

                        int      nReferNum, 

                        int      col);

            ˢ



waterspread.c 

    

    ǥ롼פ



        CheckMessage( Work* work );

            åå



        Act( Work *work );

            ưؿ



        Die( Work *work );

            ˴ؿ



        InitPacket( Work*     work, 	 

                    DG_PRIM2* prim,	

                    DG_TEX*   tex, 	

                    int       color);        

            ץߥƥֽ

        

        GetResources( Work*    work,             

                      int      name,                 // ̾ID

                      int      nDemoFlag,            // ǥե饰

                      FMATRIX* pmatOrg,              // ȯ

                      int      nPrims,               // ץߥƥֿ

                      int      nAddNum,              // Ʊȯ

                      float    fRadMin,              // ȾºǾ

                      float    fRadMax,              // Ⱦº

                      int      nLifeMin,             // ¸ֺǾ

                      int      nLifeMax,             // ¸ֺ

                      float    fSizeBase,            // ١

                      float    fSizeAdd,             // 

                      float    fGravity,             // 

                      int      nRGBA,                // 

                      float    fSpreadRadBase,       // ư٥ȥXZʬ:        

                      float    fSpreadRadAdd,        // ư٥ȥXZʬ:

                      float    fSpreadHeightBase,    // ư٥ȥYʬ:

                      float    fSpreadHeightAdd);    // ư٥ȥYʬ:

            ؿ



        NewWaterSpread( int        name,                 // ̾ID

                        FMATRIX*   pmatOrg,              // ȯ

                        int        nPrims,               // ץߥƥֿ

                        int        nAddNum,              // Ʊȯ

                        float      fRadMin,              // ȾºǾ

                        float      fRadMax,              // Ⱦº

                        int        nLifeMin,             // ¸ֺǾ

                        int        nLifeMax,             // ¸ֺ

                        float      fSizeBase,            // ١

                        float      fSizeAdd,             // 

                        float      fGravity,             // 

                        int        nRGBA,                // 

                        float      fSpreadRadBase,       // ư٥ȥXZʬ:    

                        float      fSpreadRadAdd,        // ư٥ȥXZʬ:

                        float      fSpreadHeightBase,    // ư٥ȥYʬ:

                        float      fSpreadHeightAdd);    // ư٥ȥYʬ:

              

        

waterdropmng.c 

    ݥ׼ũޥ͡

    waterdrop.cοũޥ͡㡣ץߥƥ֥ϥޥ͡¸ߤƤȤäƿũư



        GetPlayerBoundIndex( WATERDROP_MNG* work);

            ץ쥤䡼ν°ХɤΥǥå



        Act( WATERDROP_MNG* work );

            ưؿ



        Die( WATERDROP_MNG* work )

            ˴ؿ



        InitPacket( WATERDROP_MNG* work,       

                    DG_PRIM2*      prim,       // ץߥƥ֥

                    DG_TEX*        tex,        // ƥ

                    long64         tagAlpha,   // 

                    u_int          nRGBA,      // 

                    int            nRaise);    // ͥ

            ץߥƥ֥ѥåȽ



        GetResources( WATERDROP_MNG*    work,

                      int               name,  // ̾ID

                      int               map);  // ޥåID

            ؿ



        NewWaterDropManager( int name, int map );    

            ũޥ͡

        

waterdrop.c 

    ݥ׼ũ

    waterdropmng.cΥݥ׼ũޥ͡Ѥũ

    ץߥƥ֤ϥޥ͡ΤΤѤưư˴Τ߹Ԥʤ

        Act( Work *work );

            ưؿ



        Die( Work *work );

            ˴ؿ



        GetResources( WATERDROP* work,

                      FVECTOR*   pvecPos); // ȯ

            ؿ



        NewPipeWaterDrop( WATERDROP_MNG* pWdmng, 

                          FVECTOR* pvecPos ); // ȯ

            ѥ׿ũ



waterlinefall.c 

    嶡ɤή

    waterfall.cήѤ˱ƶȤեɤĴ

        

waterripple.c 

    

        

bloodweep.c 

    ũ

        SetActMode( Work* work, BWEEPACTMODE actmode);

            ưؿ



        ActDrip( Work* work );

            ưؿ:ũե



        ActDrop( Work* work );

            ưؿ:ե



        Act( Work* work );

            ưؿ



        Die( Work* work );

            ˴ؿ



        InitPacket( Work*        work,     

                    DG_PRIM2*    prim,       // 

                    DG_TEX*      tex,        // 

                    long64       tagAlpha,   // 

                    u_int        nRGBA,      // 

                    int          nRaise);    //

            ũΥץߥƥֽ



        InitPacketDrip( Work*     work,     

                        DG_PRIM2* prim,      // 

                        DG_TEX*   tex,       // 

                        long64    tagAlpha,  // 

                        u_int     nRGBA,     // 

                        int       nRaise);   //

            ũʬΥץߥƥֽ



        GetResources( Work*      work,

                      FMATRIX*   pmatOrg,    // ȯɸ    

                      int        nLife,      // ¸

                      int        nDripTime,  // ί

                      float      fFallSpd,   // ®

                      float      fDropSize,  // ũ礭

                      float      fDripRad,   // ίȾ

                      float      fLentor,    // Ǵ

                      int        nRGBA,      // RGBA

                      int        nRandSeed,  // ॷ

                      int        nFlag);     // ե饰

            



        NewBloodWeep( FMATRIX*   pmatOrg,    // ȯɸ

                      int        nLife,      // ¸

                      int        nDripTime,  // ί

                      float      fKillY,     // 

                      float      fFallSpd,   // ®

                      float      fDropSize,  // ũ礭

                      float      fDripRad,   // ίȾ

                      float      fLentor,    // Ǵ

                      int        nRGBA,      // RGBA

                      int        nRandSeed,  // ॷ

                      int        nFlag);     // ե饰

            ũ



bloodfloor.c 

    ί

    ˤĤʵΥեȤѤ

        

forttear.c 

    ե

    ̤

    

ventilatorlit.c 

    ץơŷ뤫θ

        

hexagonal.c 

    ǥѤڤФåե

    kira/effect/floor/floor.c



concspread.c 

    տ

    饯ư˿ũФե

        

charaspread.c 

    տ

    饯μ­ư˿ũФե

        

plasmaevade.c 

    ץ饺޲򥨥ե

    ʬΥץ饺ޥեȤƵŪƻʬ줵롣

    Ρñ̤ưή褦˽Фäꤹ



        SetActMode( PLASMA_NODE* pplsm,    // Ρɥ

                    PLSMACTMODE  actmode); // ưؿ

            Ρɤưؿ

        CheckMessage( Work* work );

            åå

        CalcInitNode( FVECTOR* vec, 

                      int      node_num0, 

                      int      node_num1, 

                      int*     pnRandSeed );

            Ρɥ



        ActDrawOff( PLASMA_NODE* pplsm, int nClock);

            Ρưؿɽ



        ActDrawing( PLASMA_NODE* pplsm, int nClock);

            Ρưؿư



        ActDrawEnd( PLASMA_NODE* pplsm, int nClock);

            Ρưؿ



        UpdateNode( PLASMA_NODE* pplsm,

                    int*         pNum,

                    int          nLevel,

                    int          nClock,

                    float        fAlpha);

            Ρɥ



        SendOff( PLASMA_NODE*    pplsm);

            Ƶɽˤ



        BeginDraw( Work *work );

            賫

            

        Act( Work *work );

            ưؿ



        Die( Work *work );

            ˴ؿ



        MakePlasmaNode( PLASMA_NODE*      pplsmTop,      // ץ饺ޥΡɥƬ

                        DG_TEX*           tex,           // ƥ

                        Work*             work,          // ץ饺޹¤

                        FVECTOR*          pvecPrev,      // Ρɤλ

                        FVECTOR*          pvecPoint,     // Ρɤν

                        float*            pfOffsetRad,   // Ⱦ

                        FVECTOR*          pvecWork1,     // ĺɸǡƬ:

                        FVECTOR*          pvecWork2,     // ĺɸǡƬ:

                        DG_PRIM2_UVRGBWH* puvrgbWork1,   // ĺUVRGBAǡƬ:

                        DG_PRIM2_UVRGBWH* puvrgbWork2,   // ĺUVRGBAǡƬ:

                        int*              pnWorkNum,     // Ͽ

                        int               nLevel,        // Ρɳ

                        int               nAng,          // Ρɤν濴ɤˤ뤫

                        int               nAddAngMin,    // ΡɤϤݤnAng˲û٤κǾ    

                        int               nAddAngMax,    // ΡɤϤݤnAng˲û٤κ

                        float             fSize);        // ץ饤ȤΥ

            ץ饺ޥΡɤ:(Ƶƽ)



        InitPacket( Work*        work,     

                    DG_PRIM2*    prim,     // ץߥƥ֥

                    DG_TEX*      tex);     // ƥ

            ץߥƥ֥



        GetResources( Work*    work);    

            ؿ

            

        NewPlasmaEvade( int        name,          // ̾ID

                        FMATRIX*   pmatOrg,       // ȯɸϡ¨ԡ

                        FMATRIX*   pmatRepel,     // Ƥɸ¨ԡ

                        int        nStraightNode, // ľΡ    

                        int        nBranchNode,   // ʬΡ    

                        float      fOneDist,      // Υ 

                        float      fOneRad,       // Ⱦ 

                        int        nBaseAng,      //     

                        int        nAddAngMin,    // ²û

                        int        nAddAngMax,    // ²û

                        int        nRandSeed);    // ॷ

            ץ饺޲򥨥ե



electrofield.c 

    żȥХꥢե

    plasmaevade.c ץ饺޲򥨥եȤ¦˽Фݥꥴ



        UpdatePacket( Work*        work,       // ż

                      DG_PRIM2*    prim,       // ץߥƥ֥

                      int          nBaseAng,   // 

                      u_int        nRGBA,      // 顼

                      float        u_scale,    // UV:ƥǡ

                      float        v_scale,    // UV:ƥǡ

                      float        u_offset,   // UV:ƥǡ

                      float        v_offset);  // UV:ƥǡ

            ץߥƥ֥



        Act( Work* work );

            ưؿ



        Die( Work* work );

            ˴ؿ



        InitPacket( Work*        work,         // 

                    DG_PRIM2*    prim,         // ץߥƥ

                    DG_TEX*      tex,          // ƥǡ

                    long64       tagAlpha,     // ALPHA

                    u_int        nRGBA,        // 顼

                    int          nRaise);      // ͥ

            ץߥƥ֥



        GetResources( Work*      work,

                      FMATRIX*   pmatOrg);     // ȯɸ    

            ؿ

        

        NewElectroField( FMATRIX* pmatOrg,     // ȯɸ

                         int      nBaseAng,    // ܳ    

                         int      nRandSeed);  // ॷ

            żȥХꥢ



concripple.c 

    տ

    waterripple.cɸɽˤ

    

oneripple.c 

    ñο

    waterripple.c륿פˤ

        

onespread.c 

    ñο

    waterspread.c򣱤륿פˤ

        

drowbubble.c

    Ů줿θǤˢ

    waterbubble.cΥѥ᡼ò



