/*
    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Υѥ᡼ò

