示例#1
0
    // Token: 0x06001A3A RID: 6714 RVA: 0x000EAE04 File Offset: 0x000E9004
    private void amMotionDraw(uint state, AMS_MOTION motion, NNS_TEXLIST texlist, uint drawflag,
                              NNS_MATERIALCALLBACK_FUNC func)
    {
        int node_num = motion.node_num;
        AMS_PARAM_DRAW_MOTION_TRS ams_PARAM_DRAW_MOTION_TRS = amDrawAlloc_AMS_PARAM_DRAW_MOTION_TRS();
        NNS_MATRIX nns_MATRIX = ams_PARAM_DRAW_MOTION_TRS.mtx = amDrawAlloc_NNS_MATRIX();

        nnCopyMatrix(nns_MATRIX, amMatrixGetCurrent());
        ams_PARAM_DRAW_MOTION_TRS._object       = motion._object;
        ams_PARAM_DRAW_MOTION_TRS.mtx           = nns_MATRIX;
        ams_PARAM_DRAW_MOTION_TRS.sub_obj_type  = 0U;
        ams_PARAM_DRAW_MOTION_TRS.flag          = drawflag;
        ams_PARAM_DRAW_MOTION_TRS.texlist       = texlist;
        ams_PARAM_DRAW_MOTION_TRS.trslist       = new NNS_TRS[node_num];
        ams_PARAM_DRAW_MOTION_TRS.material_func = func;
        for (int i = 0; i < node_num; i++)
        {
            ams_PARAM_DRAW_MOTION_TRS.trslist[i] = amDrawAlloc_NNS_TRS();
            ams_PARAM_DRAW_MOTION_TRS.trslist[i].Assign(motion.data[i]);
        }

        int motion_id = motion.mbuf[0].motion_id;

        ams_PARAM_DRAW_MOTION_TRS.motion = motion.mtnfile[motion_id >> 16].motion[motion_id & 65535];
        ams_PARAM_DRAW_MOTION_TRS.frame  = motion.mbuf[0].frame;
        amDrawRegistCommand(state, -11, ams_PARAM_DRAW_MOTION_TRS);
    }
示例#2
0
    // Token: 0x06001A3D RID: 6717 RVA: 0x000EAF10 File Offset: 0x000E9110
    private void amMotionMaterialDraw(uint state, AMS_MOTION motion, NNS_TEXLIST texlist, uint drawflag,
                                      NNS_MATERIALCALLBACK_FUNC func)
    {
        if (motion.mmobject == null)
        {
            amMotionDraw(state, motion, texlist, drawflag);
            return;
        }

        int node_num = motion.node_num;
        AMS_PARAM_DRAW_MOTION_TRS ams_PARAM_DRAW_MOTION_TRS = new AMS_PARAM_DRAW_MOTION_TRS();
        NNS_MATRIX nns_MATRIX = ams_PARAM_DRAW_MOTION_TRS.mtx = GlobalPool <NNS_MATRIX> .Alloc();

        nnCopyMatrix(nns_MATRIX, amMatrixGetCurrent());
        ams_PARAM_DRAW_MOTION_TRS.mtx           = nns_MATRIX;
        ams_PARAM_DRAW_MOTION_TRS.sub_obj_type  = 0U;
        ams_PARAM_DRAW_MOTION_TRS.flag          = drawflag;
        ams_PARAM_DRAW_MOTION_TRS.texlist       = texlist;
        ams_PARAM_DRAW_MOTION_TRS.trslist       = new NNS_TRS[node_num];
        ams_PARAM_DRAW_MOTION_TRS.material_func = func;
        for (int i = 0; i < node_num; i++)
        {
            ams_PARAM_DRAW_MOTION_TRS.trslist[i] = new NNS_TRS(motion.data[i]);
        }

        ams_PARAM_DRAW_MOTION_TRS._object = motion._object;
        ams_PARAM_DRAW_MOTION_TRS.mmotion = motion.mmtn[motion.mmotion_id];
        ams_PARAM_DRAW_MOTION_TRS.mframe  = motion.mmotion_frame;
        int motion_id = motion.mbuf[0].motion_id;

        if (motion.mtnfile[motion_id >> 16].file != null)
        {
            ams_PARAM_DRAW_MOTION_TRS.motion = motion.mtnfile[motion_id >> 16].motion[motion_id & 65535];
            ams_PARAM_DRAW_MOTION_TRS.frame  = motion.mbuf[0].frame;
        }
        else
        {
            ams_PARAM_DRAW_MOTION_TRS.motion = null;
            ams_PARAM_DRAW_MOTION_TRS.frame  = 0f;
        }

        amDrawRegistCommand(state, -12, ams_PARAM_DRAW_MOTION_TRS);
    }
示例#3
0
    // Token: 0x06001A40 RID: 6720 RVA: 0x000EB068 File Offset: 0x000E9268
    private void amMotionDraw(AMS_MOTION motion, NNS_TEXLIST texlist, uint drawflag, NNS_MATERIALCALLBACK_FUNC func)
    {
        AMS_COMMAND_HEADER        ams_COMMAND_HEADER        = new AMS_COMMAND_HEADER();
        AMS_PARAM_DRAW_MOTION_TRS ams_PARAM_DRAW_MOTION_TRS =
            (AMS_PARAM_DRAW_MOTION_TRS)(ams_COMMAND_HEADER.param = new AMS_PARAM_DRAW_MOTION_TRS());

        ams_COMMAND_HEADER.command_id           = -11;
        ams_COMMAND_HEADER.param                = ams_PARAM_DRAW_MOTION_TRS;
        ams_PARAM_DRAW_MOTION_TRS._object       = motion._object;
        ams_PARAM_DRAW_MOTION_TRS.mtx           = null;
        ams_PARAM_DRAW_MOTION_TRS.sub_obj_type  = 0U;
        ams_PARAM_DRAW_MOTION_TRS.flag          = drawflag;
        ams_PARAM_DRAW_MOTION_TRS.texlist       = texlist;
        ams_PARAM_DRAW_MOTION_TRS.trslist       = motion.data;
        ams_PARAM_DRAW_MOTION_TRS.material_func = func;
        int motion_id = motion.mbuf[0].motion_id;

        ams_PARAM_DRAW_MOTION_TRS.motion = motion.mtnfile[motion_id >> 16].motion[motion_id & 65535];
        ams_PARAM_DRAW_MOTION_TRS.frame  = motion.mbuf[0].frame;
        _amDrawMotionTRS(ams_COMMAND_HEADER, drawflag);
    }
示例#4
0
 // Token: 0x06001A42 RID: 6722 RVA: 0x000EB129 File Offset: 0x000E9329
 private void amMotionMaterialDraw(AMS_MOTION motion, NNS_TEXLIST texlist, uint drawflag)
 {
     amMotionMaterialDraw(motion, texlist, drawflag, null);
 }
示例#5
0
 // Token: 0x06001A41 RID: 6721 RVA: 0x000EB11D File Offset: 0x000E931D
 private void amMotionMaterialDraw(AMS_MOTION motion, NNS_TEXLIST texlist)
 {
     amMotionMaterialDraw(motion, texlist, 0U, null);
 }
示例#6
0
 // Token: 0x06001A39 RID: 6713 RVA: 0x000EADF3 File Offset: 0x000E8FF3
 private void amMotionDraw(uint state, AMS_MOTION motion, NNS_TEXLIST texlist, uint drawflag)
 {
     amMotionDraw(state, motion, texlist, drawflag, null);
 }
示例#7
0
 // Token: 0x06001A38 RID: 6712 RVA: 0x000EADE6 File Offset: 0x000E8FE6
 private void amMotionDraw(uint state, AMS_MOTION motion, NNS_TEXLIST texlist)
 {
     amMotionDraw(state, motion, texlist, 0U, null);
 }